This commit was manufactured by cvs2svn to create tag
'R3_6_api_cleanup_v20091209'.

Sprout from R3_6_api_cleanup 2009-12-09 20:38:15 UTC John Arthorne <johna> 'fix for move of IProfile to API package'
Cherrypick from master 2009-12-09 16:33:40 UTC Pascal Rapicault <prapicau> 'Adding qualifier to the version':
    bundles/org.eclipse.equinox.p2.ql/.classpath
    bundles/org.eclipse.equinox.p2.ql/.project
    bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.ql/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.ql/about.html
    bundles/org.eclipse.equinox.p2.ql/build.properties
    bundles/org.eclipse.equinox.p2.ql/model/p2ql.bnf
    bundles/org.eclipse.equinox.p2.ql/plugin.properties
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/All.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/And.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Array.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ArrayIterator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/At.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Binary.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndex.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndexFunction.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ClassFunction.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Collect.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectIterator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectionFilter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Compare.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Condition.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Constant.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ContextExpression.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/EachVariable.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Equals.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Exists.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Expression.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionContext.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionParser.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FilterFunction.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/First.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Flatten.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FlattenIterator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Function.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IRepeatableIterator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IndexedParameter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemExpression.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemVariable.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/KeyedParameter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LambdaExpression.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Latest.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Limit.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedKeys.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedMap.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedProperty.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MatchIteratorFilter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Matches.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Member.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MultiVariableScope.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/NAry.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Not.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Or.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Parameter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QLActivator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QueryParseException.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RangeFunction.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Reject.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RepeatableIterator.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RootVariableScope.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Select.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SetConstructor.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SimplePattern.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SingleVariableScope.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Traverse.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unary.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/UnaryCollectionFilter.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unique.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Variable.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VariableScope.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VersionFunction.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/WrappedIQuery.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/ExpressionQuery.java
    bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/PredicateQuery.java
Delete:
    bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
    bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
    bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.equinox/OSGI-INF/fwadmin.xml
    bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
    bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
    bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
    bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
    bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
    bundles/org.eclipse.equinox.frameworkadmin.test/.project
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
    bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.test/about.html
    bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_2/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/dummy.frameworkextension_1.0.0.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.launcher.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi_3.4.0.jar
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/conf/config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/eclipse.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/configuration/config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/eclipse.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/conf/config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/eclipse.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/conf/config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/eclipse.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-noshare-config.ini
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AbstractFwkAdminTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Activator.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug196525.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug258370.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/CleanupTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FrameworkExtensionTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FwkAdminAndSimpleConfiguratorTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherConfigLocationTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/MacOSLikeSetup.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ManipulatorTests.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoConfigurationValueInEclipseIni.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoRenamingLauncherIni.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/OSGiVersionChange.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest1.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest2.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest3.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest4.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest5.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug267850.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug285935.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RelativePathTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingABundle.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingAllBundles.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RenamingLauncherIni.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SharedConfigurationTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorComingAndGoing.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorTest.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestEclipseDataArea.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestRunningInstance.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestVMArg.java
    bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/UtilsTest.java
    bundles/org.eclipse.equinox.frameworkadmin/.classpath
    bundles/org.eclipse.equinox.frameworkadmin/.project
    bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.frameworkadmin/about.html
    bundles/org.eclipse.equinox.frameworkadmin/build.properties
    bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
    bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.project
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.artifact.optimizers/about.html
    bundles/org.eclipse.equinox.p2.artifact.optimizers/build.properties
    bundles/org.eclipse.equinox.p2.artifact.optimizers/optimizer.launch
    bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.properties
    bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.xml
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/AbstractDeltaStep.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/Activator.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Application.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/DeltaComputer.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/JarDeltaOptimizerStep.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Optimizer.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Application.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffStep.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffZipStep.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Optimizer.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
    bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/messages.properties
    bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
    bundles/org.eclipse.equinox.p2.artifact.processors/.project
    bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.artifact.processors/about.html
    bundles/org.eclipse.equinox.p2.artifact.processors/build.properties
    bundles/org.eclipse.equinox.p2.artifact.processors/plugin.properties
    bundles/org.eclipse.equinox.p2.artifact.processors/plugin.xml
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/AbstractDeltaProcessorStep.java
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/Activator.java
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/DeltaApplier.java
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/JarDeltaProcessorStep.java
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchStep.java
    bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchZipStep.java
    bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
    bundles/org.eclipse.equinox.p2.artifact.repository/.cvsignore
    bundles/org.eclipse.equinox.p2.artifact.repository/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch
    bundles/org.eclipse.equinox.p2.artifact.repository/.project
    bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.artifact.repository/OSGI-INF/repositoryManager.xml
    bundles/org.eclipse.equinox.p2.artifact.repository/about.html
    bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml
    bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
    bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactComparators.exsd
    bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
    bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5ArtifactComparator.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5Verifier.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/Messages.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/messages.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryComponent.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/RawMirrorRequest.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactDescriptor.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactComparatorFactory.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactComparator.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/ArtifactRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/MappedCollectionIterator.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java
    bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java
    bundles/org.eclipse.equinox.p2.common/.classpath
    bundles/org.eclipse.equinox.p2.common/.cvsignore
    bundles/org.eclipse.equinox.p2.common/.project
    bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.api.tools.prefs
    bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.common/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.common/about.html
    bundles/org.eclipse.equinox.p2.common/build.properties
    bundles/org.eclipse.equinox.p2.common/plugin.properties
    bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/internal/p2/common/Activator.java
    bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/LicenseManager.java
    bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/TranslationSupport.java
    bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/package.html
    bundles/org.eclipse.equinox.p2.console/.classpath
    bundles/org.eclipse.equinox.p2.console/.project
    bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
    bundles/org.eclipse.equinox.p2.console/about.html
    bundles/org.eclipse.equinox.p2.console/build.properties
    bundles/org.eclipse.equinox.p2.console/plugin.properties
    bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
    bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
    bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
    bundles/org.eclipse.equinox.p2.core/.classpath
    bundles/org.eclipse.equinox.p2.core/.options
    bundles/org.eclipse.equinox.p2.core/.project
    bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.api.tools.prefs
    bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.core/OSGI-INF/agentProvider.xml
    bundles/org.eclipse.equinox.p2.core/OSGI-INF/eventBus.xml
    bundles/org.eclipse.equinox.p2.core/about.html
    bundles/org.eclipse.equinox.p2.core/build.properties
    bundles/org.eclipse.equinox.p2.core/plugin.properties
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/AgentLocation.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/DefaultAgentProvider.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/EventBusComponent.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/StringHelper.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarEntry.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarException.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarInputStream.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IAgentLocation.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgentProvider.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/package.html
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/IAgentServiceFactory.java
    bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/package.html
    bundles/org.eclipse.equinox.p2.director.app/.classpath
    bundles/org.eclipse.equinox.p2.director.app/.cvsignore
    bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
    bundles/org.eclipse.equinox.p2.director.app/.project
    bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.launching.prefs
    bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.director.app/about.html
    bundles/org.eclipse.equinox.p2.director.app/build.properties
    bundles/org.eclipse.equinox.p2.director.app/config.ini
    bundles/org.eclipse.equinox.p2.director.app/director app.launch
    bundles/org.eclipse.equinox.p2.director.app/director.product
    bundles/org.eclipse.equinox.p2.director.app/plugin.properties
    bundles/org.eclipse.equinox.p2.director.app/plugin.xml
    bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
    bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
    bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
    bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
    bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
    bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
    bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
    bundles/org.eclipse.equinox.p2.director/.classpath
    bundles/org.eclipse.equinox.p2.director/.cvsignore
    bundles/org.eclipse.equinox.p2.director/.project
    bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.director/OSGI-INF/director.xml
    bundles/org.eclipse.equinox.p2.director/OSGI-INF/planner.xml
    bundles/org.eclipse.equinox.p2.director/about.html
    bundles/org.eclipse.equinox.p2.director/build.properties
    bundles/org.eclipse.equinox.p2.director/plugin.properties
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/AttachmentHelper.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorComponent.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/InfiniteProgress.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PlannerComponent.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlanExecutionHelper.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
    bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/RequestStatus.java
    bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
    bundles/org.eclipse.equinox.p2.directorywatcher/.project
    bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.directorywatcher/about.html
    bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
    bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/EntryAdvice.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
    bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
    bundles/org.eclipse.equinox.p2.engine/.classpath
    bundles/org.eclipse.equinox.p2.engine/.options
    bundles/org.eclipse.equinox.p2.engine/.project
    bundles/org.eclipse.equinox.p2.engine/.settings/.api_filters
    bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.engine/ExtensionWizardPage.java
    bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.engine/OSGI-INF/engine.xml
    bundles/org.eclipse.equinox.p2.engine/OSGI-INF/profileRegistry.xml
    bundles/org.eclipse.equinox.p2.engine/about.html
    bundles/org.eclipse.equinox.p2.engine/build.properties
    bundles/org.eclipse.equinox.p2.engine/plugin.properties
    bundles/org.eclipse.equinox.p2.engine/plugin.xml
    bundles/org.eclipse.equinox.p2.engine/schema/actions.exsd
    bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ActionManager.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DebugHelper.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Engine.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineComponent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineSession.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstallableUnitPhase.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Phase.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/PhaseSet.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileLock.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepository.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfilePreferences.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileRegistryComponent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CertificateChecker.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CheckTrust.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Collect.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Configure.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Property.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Sizing.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Unconfigure.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Uninstall.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IEngine.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IPhaseSet.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfile.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProvisioningPlan.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ISurrogateProfileHandler.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitOperand.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitPropertyOperand.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingAction.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingActionsException.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileScope.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PropertyOperand.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningPlan.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/package.html
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/IUProfilePropertyQuery.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/UserVisibleRootQuery.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/ProvisioningAction.java
    bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Touchpoint.java
    bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
    bundles/org.eclipse.equinox.p2.exemplarysetup/.project
    bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
    bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
    bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
    bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
    bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
    bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
    bundles/org.eclipse.equinox.p2.extensionlocation/.project
    bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.extensionlocation/about.html
    bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
    bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
    bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
    bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
    bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
    bundles/org.eclipse.equinox.p2.garbagecollector/.cvsignore
    bundles/org.eclipse.equinox.p2.garbagecollector/.options
    bundles/org.eclipse.equinox.p2.garbagecollector/.project
    bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.garbagecollector/about.html
    bundles/org.eclipse.equinox.p2.garbagecollector/build.properties
    bundles/org.eclipse.equinox.p2.garbagecollector/plugin.properties
    bundles/org.eclipse.equinox.p2.garbagecollector/plugin.xml
    bundles/org.eclipse.equinox.p2.garbagecollector/schema/GarbageCollector.exsd
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Application.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/CoreGarbageCollector.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GCActivator.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GarbageCollector.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSet.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSetProvider.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Messages.java
    bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/messages.properties
    bundles/org.eclipse.equinox.p2.installer/.classpath
    bundles/org.eclipse.equinox.p2.installer/.project
    bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.installer/README.txt
    bundles/org.eclipse.equinox.p2.installer/about.html
    bundles/org.eclipse.equinox.p2.installer/build.properties
    bundles/org.eclipse.equinox.p2.installer/installer.product
    bundles/org.eclipse.equinox.p2.installer/installer.properties
    bundles/org.eclipse.equinox.p2.installer/plugin.properties
    bundles/org.eclipse.equinox.p2.installer/plugin.xml
    bundles/org.eclipse.equinox.p2.installer/product_lg.gif
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/ProxiesDialog.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
    bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
    bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
    bundles/org.eclipse.equinox.p2.jarprocessor/.externalToolBuilders/AntTaskBuilder.launch
    bundles/org.eclipse.equinox.p2.jarprocessor/.project
    bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.jarprocessor/about.html
    bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
    bundles/org.eclipse.equinox.p2.jarprocessor/lib/.cvsignore
    bundles/org.eclipse.equinox.p2.jarprocessor/localbuild.xml
    bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
    bundles/org.eclipse.equinox.p2.jarprocessor/plugin.xml
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessorJob.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/UnsignCommand.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/Unsigner.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntBasedProcessorExecutor.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntSignCommand.java
    bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
    bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
    bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
    bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
    bundles/org.eclipse.equinox.p2.metadata.generator/.project
    bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
    bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
    bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
    bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.2.profile
    bundles/org.eclipse.equinox.p2.metadata.generator/about.html
    bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
    bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
    bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
    bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
    bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
    bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
    bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
    bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
    bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
    bundles/org.eclipse.equinox.p2.metadata.repository/.cvsignore
    bundles/org.eclipse.equinox.p2.metadata.repository/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch
    bundles/org.eclipse.equinox.p2.metadata.repository/.project
    bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.metadata.repository/OSGI-INF/repositoryManager.xml
    bundles/org.eclipse.equinox.p2.metadata.repository/about.html
    bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
    bundles/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml
    bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
    bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
    bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
    bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepository.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryComponent.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/MetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java
    bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java
    bundles/org.eclipse.equinox.p2.metadata/.classpath
    bundles/org.eclipse.equinox.p2.metadata/.project
    bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.metadata/about.html
    bundles/org.eclipse.equinox.p2.metadata/build.properties
    bundles/org.eclipse.equinox.p2.metadata/plugin.properties
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Copyright.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/IRequiredCapability.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/LDAPQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/License.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ProvidedCapability.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequiredCapability.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequirementChange.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointData.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointInstruction.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointType.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormatParser.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionVector.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionFormatException.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionedId.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/Collector.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQueryable.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ContextQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ICompositeQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IMatchQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IQueryable.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LatestIUVersionQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LimitQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/MatchQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/PipedQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/QueryHelpers.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IArtifactKey.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/ICopyright.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IInstallableUnit.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IRequirement.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IVersionedId.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryMemberQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/FragmentQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/GroupQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/IQuery.java
    bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/PatchQuery.java
    bundles/org.eclipse.equinox.p2.operations/.classpath
    bundles/org.eclipse.equinox.p2.operations/.cvsignore
    bundles/org.eclipse.equinox.p2.operations/.project
    bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.operations/about.html
    bundles/org.eclipse.equinox.p2.operations/build.properties
    bundles/org.eclipse.equinox.p2.operations/plugin.properties
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Activator.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/DownloadPhaseSet.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/IStatusCodes.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Messages.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlanAnalyzer.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlannerResolutionJob.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/ResolutionResult.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/SizingPhaseSet.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/messages.properties
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/IProfileChangeJob.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/InstallOperation.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileChangeOperation.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileModificationJob.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningJob.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningSession.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RepositoryTracker.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UninstallOperation.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/Update.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UpdateOperation.java
    bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/package.html
    bundles/org.eclipse.equinox.p2.publisher/.classpath
    bundles/org.eclipse.equinox.p2.publisher/.cvsignore
    bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
    bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Publisher Ant Tasks.launch
    bundles/org.eclipse.equinox.p2.publisher/.project
    bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.publisher/Eclipse install publisher.launch
    bundles/org.eclipse.equinox.p2.publisher/Features and Bundles Publisher.launch
    bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.publisher/about.html
    bundles/org.eclipse.equinox.p2.publisher/ant_tasks/.cvsignore
    bundles/org.eclipse.equinox.p2.publisher/build.properties
    bundles/org.eclipse.equinox.p2.publisher/plugin.properties
    bundles/org.eclipse.equinox.p2.publisher/plugin.xml
    bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.0_Foundation-1.0.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.1_Foundation-1.1.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.2.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.3.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.4.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.5.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/JRE-1.1.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/JavaSE-1.6.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.0.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.1.profile
    bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.2.profile
    bundles/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Activator.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/FileSetDescriptor.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Messages.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/QuotedTokenizer.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/DataLoader.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureManifestParser.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureParser.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/GeneratorBundleInfo.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/IProductDescriptor.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/messages.properties
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/swt/tools/IconExe.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherInfo.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherResult.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherInfo.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherResult.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IAdditionalInstallableUnitAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFeatureRootAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFilterAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ILicenseAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IPropertyAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootFilesAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootIUAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ITouchpointAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IVersionAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/MergeResultsAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/QueryableFilterAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUResultFilterAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/VersionAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AccumulateConfigDataAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ApplicationLauncherAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundleShapeAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/DefaultCUsAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EclipseInstallAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxLauncherCUAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/Feature.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeatureEntry.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAndBundlesPublisherApplication.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBrandingAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBundleShapeAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IConfigAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IExecutableAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/InstallPublisherApplication.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/LaunchingAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductAction.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductFileAdvice.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductPublisherApplication.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/URLEntry.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/LocalizationHelper.java
    bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/FeaturesAndBundlesPublisherTask.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/ProductPublisherTask.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/PublisherTask.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/TaskMessages.java
    bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/messages.properties
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
    bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
    bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
    bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
    bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
    bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
    bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
    bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
    bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
    bundles/org.eclipse.equinox.p2.repository.tools/.classpath
    bundles/org.eclipse.equinox.p2.repository.tools/.cvsignore
    bundles/org.eclipse.equinox.p2.repository.tools/.externalToolBuilders/Build Repository Tools JARs.launch
    bundles/org.eclipse.equinox.p2.repository.tools/.project
    bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.repository.tools/about.html
    bundles/org.eclipse.equinox.p2.repository.tools/build.properties
    bundles/org.eclipse.equinox.p2.repository.tools/lib/.cvsignore
    bundles/org.eclipse.equinox.p2.repository.tools/plugin.properties
    bundles/org.eclipse.equinox.p2.repository.tools/plugin.xml
    bundles/org.eclipse.equinox.p2.repository.tools/schema/org.eclipse.equinox.p2.repository.tools.verifier.exsd
    bundles/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Annotation.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponent.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponentValue.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationDefaultAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AttributeNamesConstants.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CharOperation.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileReader.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileStruct.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFormatException.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CodeAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPool.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolConstant.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolEntry.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantValueAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/DefaultBytecodeVisitor.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Disassembler.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/EnclosingMethodAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionTableEntry.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/FieldInfo.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IModifierConstants.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IOpcodeMnemonics.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttributeEntry.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/JarComparator.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Messages.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/MethodInfo.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/OpcodeStringValues.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ParameterAnnotation.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleAnnotationsAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleParameterAnnotationsAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleAnnotationsAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleParameterAnnotationsAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Signature.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SignatureAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SourceFileAttribute.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/TypeConstants.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Utility.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/messages.properties
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/FileMirrorLog.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/IArtifactMirrorLog.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/XMLMirrorLog.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Activator.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Messages.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryAnalyzerApplication.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryUtilities.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/CopyrightAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/HostCheckAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/IUCounting.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/LicenseAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UniqueIUAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UnzipFeatureJarAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/messages.properties
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IIUAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IUAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/RepositoryAnalyzer.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AntMirrorLog.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ComparatorDescription.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/CompositeRepositoryTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/DestinationRepository.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/IUDescription.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorArtifactsTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/Repo2RunnableTask.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryFileSet.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryList.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java
    bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/TaskHelper.java
    bundles/org.eclipse.equinox.p2.repository/.classpath
    bundles/org.eclipse.equinox.p2.repository/.project
    bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.repository/about.html
    bundles/org.eclipse.equinox.p2.repository/build.properties
    bundles/org.eclipse.equinox.p2.repository/plugin.properties
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeParser.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryIO.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryState.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeWriter.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Activator.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/AuthenticationFailedException.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Credentials.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/DownloadStatus.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfo.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileReader.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/JREHttpClientRequiredException.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Messages.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/ProgressStatistics.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryPreferences.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatus.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatusHelper.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTracing.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTransport.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Transport.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/DebugHelper.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/Messages.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/RepositoryHelper.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/messages.properties
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/messages.properties
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/IStateful.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryCreationException.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryEvent.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/repository/AbstractRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/ICompositeRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepositoryManager.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactDescriptorQuery.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactKeyQuery.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepositoryManager.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRequest.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IFileArtifactRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ProcessingStepDescriptor.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/spi/ArtifactDescriptor.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepository.java
    bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepositoryManager.java
    bundles/org.eclipse.equinox.p2.sar/.classpath
    bundles/org.eclipse.equinox.p2.sar/.project
    bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.sar/about.html
    bundles/org.eclipse.equinox.p2.sar/build.properties
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/DirectByteArrayOutputStream.java
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarConstants.java
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarEntry.java
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarInputStream.java
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarOutputStream.java
    bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarUtil.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/.classpath
    bundles/org.eclipse.equinox.p2.tests.optimizers/.project
    bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.tests.optimizers/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests.optimizers/build.properties
    bundles/org.eclipse.equinox.p2.tests.optimizers/plugin.xml
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Bug209233Test.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffStepTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffZipStepTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JarDeltaOptimizerTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Pack200OptimizerTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchStepTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchZipStepTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JarDeltaProcessorTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/AutomatedTests.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestActivator.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestData.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/DirectByteArrayOutputStreamTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarEntryTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarTest.java
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/jarprocessor.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2-3.3.jbdiff
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2.exe
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.3.exe
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1-2.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.2.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/alien.zip
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.sar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.jar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.sar
    bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/test.zip
    bundles/org.eclipse.equinox.p2.tests.ui/.classpath
    bundles/org.eclipse.equinox.p2.tests.ui/.project
    bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
    bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests.ui/about.html
    bundles/org.eclipse.equinox.p2.tests.ui/build.properties
    bundles/org.eclipse.equinox.p2.tests.ui/plugin.properties
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AbstractProvisioningUITest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AutomatedTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ColocatedRepositoryActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ElementUtilsTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/InstallActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ProfileModificationActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/RemoveColocatedRepositoryActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UninstallActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UpdateActionTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/IUPropertyPagesTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallWizardTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallationHistoryPageTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstalledSoftwarePageTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InvokeByHandlerTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/PreferencePagesTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/RepositoryManipulationPageTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UninstallWizardTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UpdateWizardTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/WizardTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/SizingTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/UpdatePlanning.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AbstractQueryTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AvailableIUWrapperTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementWrapperTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/LatestIUVersionElementWrapperTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/MockQueryProvider.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryDescriptorTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableArtifactRepositoryManagerTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableMetadataRepositoryManagerTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/TranslationSupportTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/AllTests.java
    bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/SiteImportExportTest.java
    bundles/org.eclipse.equinox.p2.tests.ui/test.xml
    bundles/org.eclipse.equinox.p2.tests.verifier/.classpath
    bundles/org.eclipse.equinox.p2.tests.verifier/.project
    bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.tests.verifier/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests.verifier/build.properties
    bundles/org.eclipse.equinox.p2.tests.verifier/plugin.xml
    bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/Activator.java
    bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/VerifierApplication.java
    bundles/org.eclipse.equinox.p2.tests/.classpath
    bundles/org.eclipse.equinox.p2.tests/.project
    bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.tests/All p2 Tests.launch
    bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
    bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
    bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
    bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
    bundles/org.eclipse.equinox.p2.tests/about.html
    bundles/org.eclipse.equinox.p2.tests/build.properties
    bundles/org.eclipse.equinox.p2.tests/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/plugin.xml
    bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
    bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
    bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractAntProvisioningTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/FailingMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/IUPropertyUtils.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/MockQueryable.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestRepositoryListener.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/CompositeRepositoryTaskTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/MirrorTaskTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/RepoTasksTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryManagerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryMissingSizeData.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryWithReferenceDescriptors.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug252308.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug265577.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CompositeArtifactRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CorruptedJar.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MD5Tests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorRequestTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferExceptionsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/BackupTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/FileUtilsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/OrderedPropertiesTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery1.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorAppTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ActionManagerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/CertificateCheckerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DownloadManagerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseApplicabilityTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileMetadataRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfilePreferencesTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SimpleFileLockerApp.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SurrogateProfileHandlerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointManagerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/35_to_36_tests.txt
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/From35to36.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/Install36from35.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/InstallDescriptionParserTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LatestIUTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ProvidedCapabilityTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllServerTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AuthTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/CompositeMetadataRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/HttpStatusTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLMetadataRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerExceptionsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/NoFailOver.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ResumeDownloadTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ServerBasedTestCase.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/TimeoutTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactRepositoryCleanupTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataMirrorApplicationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataRepositoryCleanupTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationMetadataTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatSTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/IntersectionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/MultiplicityTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AdditionalConstraints.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstance.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstanceForCohostedMode.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInRunningInstance.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllExplanation.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug249605.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252638.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252682.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet1.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug255984.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug262580.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270656.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270683.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271067.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271954.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug272251.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug278668.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DisabledExplanation.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationDeepConflict.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForOptionalDependencies.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForPartialInstallation.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationLargeConflict.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationSeveralConflictingRoots.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/FindingPatchesThroughUpdates.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PermissiveSlicerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ProvisioningPlanQueryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SWTFragment.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies4.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies5.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimulatedSharedInstallTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TopLevelFilterTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UpdateQueryTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/GeneralPublisherTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/DefaultCUsActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalizationTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MD5GenerationTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MultiCapture.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/VersionAdviceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/EvaluatorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/PerformanceTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/TestQueryReimplementation.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/BasicTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ConfigurationTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/FeaturePatchTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ReconcilerTestSuite.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/SharedInstallTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTestServerTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileInfoReaderTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileReaderTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/NTLMTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/RepositoryHelperTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/TimeoutTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/SmokeTestSAT4J.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/AbstractSimpleConfiguratorTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/NonExclusiveMode.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorUtilsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtilsTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerClientCase.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerSuite.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/TestServerController.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddJVMArgumentActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddProgramArgumentActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddSourceBundleActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CheckTrustActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/ChmodActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CollectActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/EclipseTouchpointTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallBundleActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallFeatureActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/JVMArgumentActionLogicTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/LinkActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/MarkStartedActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveJVMArgumentActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveProgramArgumentActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveRepositoryActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveSourceBundleActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkDependentPropertyActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkIndependentPropertyActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetProgramPropertyActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetStartLevelActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallBundleActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallFeatureActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/ChmodActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CleanupzipActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CollectActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CopyActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/LinkActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/MkdirActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/NativeTouchpointTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RemoveActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RmdirActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/UnzipActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/TestUpdateListener.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/DoesNotCacheStaleData.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/LocalUpdatesiteTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/SiteXMLActionTest.java
    bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
    bundles/org.eclipse.equinox.p2.tests/test.xml
    bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/level2/config.ini
    bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.exe
    bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.ini
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/BundleMeUp.txt
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/p2.inf
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/subFolder/BundleMeUpToo.txt
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar
    bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/CertificateChecker/unsigned.jar
    bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/level2/config.ini
    bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/run.ini
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse.ini
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Info.plist
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse.ini
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Resources/eclipse.icns
    bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/win/eclipse.exe
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/b.txt
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/p2.inf
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/plugin_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.4/J2SE-1.4.profile
    bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.5/J2SE-1.5.profile
    bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.6/JavaSE-1.6.profile
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/boundedVersionConfigurations.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/about.gif
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/branded.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/brando.gif
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/eclipse.ico
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/contextRepos/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoText.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoURL.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/platform.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productFileActionTest.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/p2.inf
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/productWithAdvice.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/sample.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/uidproduct.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithLicense.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithNoLicense.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/startLevel.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/unboundedVersionConfigurations.product
    bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with(invalid)chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.prefs
    bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with(invalid)chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with(invalid)chars/p2/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/.eclipseproduct
    bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/file1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/level3/file1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/simpleconfigurator.source.jar
    bundles/org.eclipse.equinox.p2.tests/testData/VerifierBundle35/org.eclipse.equinox.p2.tests.verifier_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/broken/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/missingRequiredAttribute/compositeArtifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/syntaxError/compositeArtifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/compositeArtifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.remote/compositeArtifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/duplicateElement/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/features/HelloWorldFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirror-two/plugins/HelloWorldText_1.0.0.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirrors.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/HelloWorldText_1.0.0.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusbbPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusccPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers2_3.4.0.v20080603-2000.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers3_3.4.0.v20080603-2000.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers4_3.4.0.v20080603-2000.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/bug252682/Bug252682.profile/1225298886572.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/profileRegistry/bootprofile.profile/1225902890582.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/profileRegistry/bootProfile.profile/1225995122953.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233157854281.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233246815484.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug265577/zipRepo.zip
    bundles/org.eclipse.equinox.p2.tests/testData/bug271067/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug271067/profileRegistry/bootProfile.profile/1239159926745.profile
    bundles/org.eclipse.equinox.p2.tests/testData/bug271954/SDKProfile.profile/1239721066843.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug272251/profileRegistry/PlatformProfile.profile/1239828520733.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/bug272251/repo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/bug278668/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/core/a.tar.gz
    bundles/org.eclipse.equinox.p2.tests/testData/core/a.zip
    bundles/org.eclipse.equinox.p2.tests/testData/core/a/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/core/a2.tar.gz
    bundles/org.eclipse.equinox.p2.tests/testData/core/a2.zip
    bundles/org.eclipse.equinox.p2.tests/testData/core/a2/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/core/a2/b/b.txt
    bundles/org.eclipse.equinox.p2.tests/testData/core/x/y/plugins/bundle.txt
    bundles/org.eclipse.equinox.p2.tests/testData/core/z/features/feature.txt
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
    bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/directoryBased.jar
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/plugin.xml
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleFileLockerApp.jar
    bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleRegistry/Simple.profile/1221176498721.profile
    bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/1221176498721.profile
    bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/foo.bar
    bundles/org.eclipse.equinox.p2.tests/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
    bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
    bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
    bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
    bundles/org.eclipse.equinox.p2.tests/testData/galileoM7/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/installer/bad.properties
    bundles/org.eclipse.equinox.p2.tests/testData/installer/empty.properties
    bundles/org.eclipse.equinox.p2.tests/testData/installer/good.properties
    bundles/org.eclipse.equinox.p2.tests/testData/installer/sdk-installer.properties
    bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle2/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle2/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.properties
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site_de.properties
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/bad/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/missingRequiredAttribute/compositeContent.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/syntaxError/compositeContent.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/compositeContent.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/one/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/two/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.remote/compositeContent.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/readme.txt
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good with spaces/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/goodNonSystem/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions1/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions2/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/unencodedreporeferences/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/wsdlTestRepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/invalidPackedMissingCanonical.zip
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/artifacts.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/features/helloworldfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/plugins/helloworld_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/features/helloworldfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/features/helloworldfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/plugins/helloworld_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/features/anotherfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/plugins/anotherplugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/helloworldfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/yetanotherfeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/helloworld_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/yetanotherplugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/features/helloworldfeature_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/plugins/helloworld_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/mirror/zippedRepo.zip
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.zip
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/b.txt
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/bcFolder/b.txt
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/x.txt
    bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/y.txt
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/artifacts.jar
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/nonMinimalState/NonMinimalState.profile/1242143600128.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
    bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/permissiveSlicer/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicebar.prop
    bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicefoo.prop
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/.eclipseextension
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/features/bbb.feature_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/bbb_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/ccc_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/A_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/B_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/features/zFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/plugins/zzz_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/features/zFeature_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/plugins/zzz_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/.eclipseextension
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/features/bbb.feature_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/bbb_1.0.0/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/ccc_1.0.0/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/.eclipseextension
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/features/bbb.feature_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/bbb_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/ccc_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_2.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_1.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_2.0.0/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/.eclipseextension
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/bbb_1.0.0.jar.off
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/ccc_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/directoryBased.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/plugin.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_2.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_2.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/referenceArtifactRepo/test1 Reference.jar
    bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
    bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
    bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
    bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
    bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247567.opb
    bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247638.opb
    bundles/org.eclipse.equinox.p2.tests/testData/sdkpatchingtest/SDKPatchingTest.profile/1228337371455.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/3.4.bundles.info
    bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
    bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/myBundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/siteBookmarks/siteexport33.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/profileRegistry/SDKProfile.profile/1235623122589.profile.gz
    bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo1/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo2/content.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/binary/f_root_1.0.0
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/plugins/aBundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/plugins/aBundle_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff.nested_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/aaa_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/ccc_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/artifacts.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/content.xml
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Better Undo_Example_1.0.2.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_2.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Jobs_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Multi_Page_Editor_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/RCP_Browser_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Readme_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Undo_Example_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.fieldassist_1.1.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.job_3.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.multipageeditor_3.2.100.200810301029.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.rcp.browser_3.3.0.200810301035.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.readmetool_3.3.0.200810301029.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200810301029.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200901051626.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/associateSites.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/category.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/associateSites.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.zip
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/features/test.featurewithmissingupdateurl_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/mirrors.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.txt
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.zip
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa.zip
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa2.zip
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.equinox.p2.updatechecker.source_1.0.0.v20080427-2136.jar.pack.gz
    bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.mylyn.bugzilla.core_2.3.2.v20080402-2100.jar
    bundles/org.eclipse.equinox.p2.testserver/.classpath
    bundles/org.eclipse.equinox.p2.testserver/.project
    bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.testserver/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.testserver/build.properties
    bundles/org.eclipse.equinox.p2.testserver/p2 test server.launch
    bundles/org.eclipse.equinox.p2.testserver/plugin.xml
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/Activator.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/AlwaysFailContext.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/FlipFlopFailContext.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/HttpConstants.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/LinearChange.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/MimeLookup.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureAction.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureContext.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecuredArtifactsContext.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/BasicResourceDelivery.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ChopAndDelay.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ContentLengthLier.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/FileMolester.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/HelloWorld.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/LastModifiedLier.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Redirector.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/StatusCodeResponse.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/TimeOut.java
    bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Truncator.java
    bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/artifacts.xml
    bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/features/aaFeature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/plugins/aaPlugin_1.0.0.jar
    bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/readme.txt
    bundles/org.eclipse.equinox.p2.testserver/webfiles/index.html
    bundles/org.eclipse.equinox.p2.testserver/webfiles/index.xml
    bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/compositeContent.xml
    bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/one/content.xml
    bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/two/content.xml
    bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/features/test.feature_1.0.0.jar
    bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.bundle_1.0.0.jar
    bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.fragment_1.0.0.jar
    bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/site.xml
    bundles/org.eclipse.equinox.p2.tools/.project
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/DirectorUtil.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseMarkSetProvider.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PublisherUtil.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddRepositoryAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveRepositoryAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RepositoryAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationCache.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/PathUtil.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/OSGiBundleQuery.java
    bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/package.html
    bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
    bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
    bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
    bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
    bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
    bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupStore.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/ClosedBackupStoreException.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/IBackupStore.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/LazyBackupStore.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ActionConstants.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ChmodAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupcopyAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupzipAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CollectAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CopyAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/MkdirAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RemoveAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RmdirAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/UnzipAction.java
    bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/splash.bmp
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
    bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.classpath
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.cvsignore
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/about.html
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close.gif
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close_hot.gif
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update.gif
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update_problems.gif
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.properties
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateMessages.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatePlugin.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateScheduler.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdater.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPopup.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPreferencePage.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/DownloadPhaseSet.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/IAutomaticUpdaterHelpContextIds.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceConstants.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceInitializer.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/StatusLineCLabelContribution.java
    bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/messages.properties
    bundles/org.eclipse.equinox.p2.ui.sdk/.classpath
    bundles/org.eclipse.equinox.p2.ui.sdk/.cvsignore
    bundles/org.eclipse.equinox.p2.ui.sdk/.project
    bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.ui.sdk/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/licenseManager_component.xml
    bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/policy_component.xml
    bundles/org.eclipse.equinox.p2.ui.sdk/about.html
    bundles/org.eclipse.equinox.p2.ui.sdk/build.properties
    bundles/org.eclipse.equinox.p2.ui.sdk/plugin.properties
    bundles/org.eclipse.equinox.p2.ui.sdk/plugin.xml
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/IProvSDKHelpContextIds.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/InstallNewSoftwareHandler.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKMessages.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKUIActivator.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SDKPolicy.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SimpleLicenseManager.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/UpdateHandler.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/messages.properties
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceConstants.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceInitializer.java
    bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/ProvisioningPreferencePage.java
    bundles/org.eclipse.equinox.p2.updatechecker/.classpath
    bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
    bundles/org.eclipse.equinox.p2.updatechecker/.project
    bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.updatechecker/about.html
    bundles/org.eclipse.equinox.p2.updatechecker/build.properties
    bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
    bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
    bundles/org.eclipse.equinox.p2.updatesite/.classpath
    bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
    bundles/org.eclipse.equinox.p2.updatesite/.project
    bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.launching.prefs
    bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
    bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.p2.updatesite/UpdateSite Publisher.launch
    bundles/org.eclipse.equinox.p2.updatesite/about.html
    bundles/org.eclipse.equinox.p2.updatesite/build.properties
    bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
    bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryPublisherApplication.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSitePublisherApplication.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/Messages.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
    bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/messages.properties
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/OSGI-INF/configurator.xml
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/provisional/simpleconfigurator/manipulator/SimpleConfiguratorManipulator.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
    bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtils.java
    bundles/org.eclipse.equinox.simpleconfigurator/.classpath
    bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
    bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
    bundles/org.eclipse.equinox.simpleconfigurator/.project
    bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
    bundles/org.eclipse.equinox.simpleconfigurator/about.html
    bundles/org.eclipse.equinox.simpleconfigurator/build.properties
    bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
    bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/URIUtil.java
    bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.cvsignore
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.project
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/Build Cloud Example.launch
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml
    examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/readme.txt
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/.classpath
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/.project
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/META-INF/MANIFEST.MF
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/cloud.product
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/mail.ico
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.gif
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.icns
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample2.gif
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample3.gif
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/p2.inf
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.properties
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.xml
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/product_lg.gif
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/splash.bmp
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Activator.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Application.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationActionBarAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchWindowAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ICommandIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/MessagePopupAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/NavigationView.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Perspective.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/View.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/CloudPolicy.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/InstallNewSoftwareHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/PreloadingRepositoryHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/UpdateHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/.project
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/Build PrestartUpdate Example.launch
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/readme.txt
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.classpath
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.project
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/META-INF/MANIFEST.MF
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/mail.ico
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.gif
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.icns
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample2.gif
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample3.gif
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/p2.inf
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/plugin.xml
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/prestartupdate.product
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/product_lg.gif
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/splash.bmp
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Activator.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Application.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationActionBarAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchWindowAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ICommandIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/MessagePopupAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/NavigationView.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/OpenViewAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/P2Util.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Perspective.java
    examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/View.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.classpath
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.project
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/META-INF/MANIFEST.MF
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/OSGI-INF/policy_component.xml
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/mail.ico
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.icns
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample2.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample3.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/p2.inf
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.properties
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.xml
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/product_lg.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/sdkbundlevisibility.product
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/splash.bmp
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Activator.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Application.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationActionBarAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchWindowAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ICommandIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/MessagePopupAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/NavigationView.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/OpenViewAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Perspective.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/View.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/AllIUsAreVisiblePolicy.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/IProvSDKHelpContextIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/InstallNewSoftwareHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/Messages.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceConstants.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceInitializer.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreloadingRepositoryHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/ProvisioningPreferencePage.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/UpdateHandler.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/messages.properties
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.classpath
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.project
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/META-INF/MANIFEST.MF
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/mail.ico
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.icns
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample2.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample3.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/p2.inf
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/plugin.xml
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/product_lg.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/sdknoautoupdates.product
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/splash.bmp
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Activator.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Application.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationActionBarAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchWindowAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ICommandIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/MessagePopupAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/NavigationView.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/OpenViewAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Perspective.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/View.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.classpath
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.project
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/META-INF/MANIFEST.MF
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/build.properties
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/mail.ico
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.icns
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample2.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample3.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/p2.inf
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/plugin.xml
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/product_lg.gif
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/sdkui.product
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/splash.bmp
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Activator.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Application.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationActionBarAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchWindowAdvisor.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ICommandIds.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/MessagePopupAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/NavigationView.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/OpenViewAction.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Perspective.java
    examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/View.java
    features/org.eclipse.equinox.p2.sdk/.project
    features/org.eclipse.equinox.p2.sdk/build.properties
    features/org.eclipse.equinox.p2.sdk/epl-v10.html
    features/org.eclipse.equinox.p2.sdk/feature.properties
    features/org.eclipse.equinox.p2.sdk/feature.xml
    features/org.eclipse.equinox.p2.sdk/license.html
    org.eclipse.equinox.p2.releng/.project
    org.eclipse.equinox.p2.releng/HOW TO RUN.txt
    org.eclipse.equinox.p2.releng/Provisioning base.target
    org.eclipse.equinox.p2.releng/R3_6_api_cleanup_projectSet.psf
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/epl-v10.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/license.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/epl-v10.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/license.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/epl-v10.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/license.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/.project
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/build.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/eclipse_update_120.jpg
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/epl-v10.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.xml
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/license.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/build.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/eclipse_update_120.jpg
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/epl-v10.html
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/feature.properties
    org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/license.html
    org.eclipse.equinox.p2.releng/ecf.psf
    org.eclipse.equinox.p2.releng/mylyn-discovery.psf
    org.eclipse.equinox.p2.releng/p2_users_R_3_6_api_cleanup_projectSet.psf
    org.eclipse.equinox.p2.releng/projectSet-extssh.psf
    org.eclipse.equinox.p2.releng/projectSet.psf
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
deleted file mode 100644
index 256472c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.frameworkadmin.equinox</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f847166..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Wed Jan 23 10:00:41 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ad9b6dd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:33 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 51a3350..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Nov 21 00:29:05 EST 2006
-eclipse.preferences.version=1
-pluginProject.equinox=false
-pluginProject.extensions=false
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
deleted file mode 100644
index 40cd58e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox;singleton:=true
-Bundle-Version: 1.0.200.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Import-Package: org.eclipse.core.runtime.internal.adaptor,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.provisional.configuratormanipulator,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.osgi.framework.internal.core,
- org.eclipse.osgi.service.datalocation;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.environment;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.resolver;version="1.1.0";resolution:=optional,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.log;version="1.3.0",
- org.osgi.service.startlevel;version="1.0.0",
- org.osgi.util.tracker;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.frameworkadmin.equinox;x-friends:="org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.metadata.generator",
- org.eclipse.equinox.internal.frameworkadmin.equinox.utils;x-internal:=true
-Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Service-Component: OSGI-INF/fwadmin.xml
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/OSGI-INF/fwadmin.xml b/bundles/org.eclipse.equinox.frameworkadmin.equinox/OSGI-INF/fwadmin.xml
deleted file mode 100644
index e3f045a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/OSGI-INF/fwadmin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.frameworkadmin.equinox">
-   <implementation class="org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwAdminImpl"/>
-   <service>
-      <provide interface="org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin"/>
-   </service>
-   <property name="org.eclipse.equinox.frameworkhandler.framework.name" type="String" value="Equinox"/>
-   <property name="org.eclipse.equinox.frameworkhandler.framework.version" type="String" value="3.3"/>
-   <property name="org.eclipse.equinox.frameworkhandler.launcher.name" type="String" value="Eclipse.exe"/>
-   <property name="org.eclipse.equinox.frameworkhandler.launcher.version" type="String" value="3.2"/>
-   <reference bind="setStartLevel" cardinality="1..1" interface="org.osgi.service.startlevel.StartLevel" name="StartLevel" policy="static"/>
-   <reference bind="setPlatformAdmin" cardinality="1..1" interface="org.eclipse.osgi.service.resolver.PlatformAdmin" name="PlatformAdmin" policy="static"/>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html b/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
deleted file mode 100644
index db8ea72..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               OSGI-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
deleted file mode 100644
index 121a7e4..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-pluginName = Equinox Framework Admin for Equinox
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
deleted file mode 100644
index 8058023..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.service.log.LogService;
-
-public class EclipseLauncherImpl {
-	static String getStringOfCmd(String[] cmdarray) {
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < cmdarray.length; i++) {
-			sb.append(cmdarray[i]);
-			sb.append(" "); //$NON-NLS-1$
-		}
-		return sb.toString();
-	}
-
-	EquinoxFwAdminImpl fwAdmin = null;
-
-	EclipseLauncherImpl(EquinoxFwAdminImpl fwAdmin) {
-		this.fwAdmin = fwAdmin;
-	}
-
-	public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, IOException, FrameworkAdminRuntimeException {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		Log.log(LogService.LOG_DEBUG, this, "launch(Manipulator , File )", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		LauncherData launcherData = manipulator.getLauncherData();
-		if (launcherData.getLauncher() == null)
-			return launchInMemory(manipulator, cwd);
-		return launchByLauncher(manipulator, cwd);
-	}
-
-	private Process launchByLauncher(Manipulator manipulator, File cwd) throws IOException {
-		LauncherData launcherData = manipulator.getLauncherData();
-
-		if (launcherData.getLauncher() == null)
-			throw new IllegalStateException(Messages.exception_launcherLocationNotSet);
-		String[] cmdarray = new String[] {launcherData.getLauncher().getAbsolutePath()};
-		if (cwd == null)
-			cwd = launcherData.getLauncher().getParentFile();
-		Process process = Runtime.getRuntime().exec(cmdarray, null, cwd);
-		Log.log(LogService.LOG_DEBUG, "\t" + getStringOfCmd(cmdarray)); //$NON-NLS-1$
-		return process;
-	}
-
-	private Process launchInMemory(Manipulator manipulator, File cwd) throws IOException {
-		LauncherData launcherData = manipulator.getLauncherData();
-		Utils.checkAbsoluteFile(launcherData.getFwJar(), "fwJar"); //$NON-NLS-1$
-		Utils.checkAbsoluteDir(cwd, "cwd"); //$NON-NLS-1$
-
-		List cmdList = new LinkedList();
-		if (launcherData.getJvm() != null)
-			cmdList.add(launcherData.getJvm().getAbsolutePath());
-		else
-			cmdList.add("java"); //$NON-NLS-1$
-
-		if (launcherData.getJvmArgs() != null)
-			for (int i = 0; i < launcherData.getJvmArgs().length; i++)
-				cmdList.add(launcherData.getJvmArgs()[i]);
-
-		cmdList.add("-jar"); //$NON-NLS-1$
-		cmdList.add(Utils.getRelativePath(launcherData.getFwJar(), cwd));
-
-		EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-		cmdList.add(EquinoxConstants.OPTION_CONFIGURATION);
-		cmdList.add(Utils.getRelativePath(launcherData.getFwPersistentDataLocation(), cwd));
-
-		if (launcherData.isClean())
-			cmdList.add(EquinoxConstants.OPTION_CLEAN);
-
-		String[] cmdarray = new String[cmdList.size()];
-		cmdList.toArray(cmdarray);
-		Log.log(LogService.LOG_DEBUG, "In CWD = " + cwd + "\n\t" + getStringOfCmd(cmdarray)); //$NON-NLS-1$ //$NON-NLS-2$
-		Process process = Runtime.getRuntime().exec(cmdarray, null, cwd);
-		return process;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
deleted file mode 100644
index d1ac79d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminRuntimeException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.log.LogService;
-
-public class EclipseLauncherParser {
-	private static final String MAC_OS_APP_FOLDER = ".app/Contents/MacOS"; //$NON-NLS-1$
-	private static final String CONFIGURATION_FOLDER = "configuration"; //$NON-NLS-1$
-
-	//this figures out the location of the data area on partial data read from the <eclipse>.ini
-	private URI getOSGiInstallArea(List lines, URI base) {
-		File osgiInstallArea = ParserUtils.getOSGiInstallArea(lines, null, base);
-		if (osgiInstallArea != null)
-			return URIUtil.makeAbsolute(osgiInstallArea.toURI(), base);
-		return null;
-	}
-
-	private void setInstall(List lines, LauncherData launcherData, File launcherFolder) {
-		if (launcherData.getFwConfigLocation() == null || launcherData.getFwJar() == null) {
-			ParserUtils.removeArgument(EquinoxConstants.OPTION_INSTALL, lines);
-			return;
-		}
-		String launcherString = launcherFolder.getAbsolutePath().replace('\\', '/');
-		if (launcherString.endsWith(MAC_OS_APP_FOLDER)) {
-			//We can do 3 calls to getParentFile without checking because
-			launcherFolder = launcherFolder.getParentFile().getParentFile().getParentFile();
-		}
-		if (!ParserUtils.fromOSGiJarToOSGiInstallArea(launcherData.getFwJar().getAbsolutePath()).equals(launcherFolder)) {
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_INSTALL, launcherFolder.getAbsolutePath().replace('\\', '/'), lines);
-		}
-	}
-
-	void read(File launcherConfigFile, LauncherData launcherData) throws IOException {
-		if (!launcherConfigFile.exists())
-			return;
-
-		List lines = FileUtils.loadFile(launcherConfigFile);
-
-		URI launcherFolder = launcherData.getLauncher().getParentFile().toURI();
-		getStartup(lines, launcherFolder);
-		getFrameworkJar(lines, launcherFolder, launcherData);
-		URI osgiInstallArea = getOSGiInstallArea(lines, launcherFolder);
-		if (osgiInstallArea == null) {
-			osgiInstallArea = launcherData.getFwJar() != null ? ParserUtils.fromOSGiJarToOSGiInstallArea(launcherData.getFwJar().getAbsolutePath()).toURI() : launcherFolder;
-		}
-		URI configArea = getConfigurationLocation(lines, osgiInstallArea, launcherData);
-		if (configArea == null)
-			throw new FrameworkAdminRuntimeException(Messages.exception_nullConfigArea, ""); //$NON-NLS-1$
-		getPersistentDataLocation(lines, osgiInstallArea, configArea, launcherData);
-		getLauncherLibrary(lines, launcherFolder);
-		getJVMArgs(lines, launcherData);
-		getProgramArgs(lines, launcherData);
-		getVM(lines, launcherFolder, launcherData);
-
-		Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_configFile, launcherConfigFile.getAbsolutePath()));
-	}
-
-	private void getFrameworkJar(List lines, URI launcherFolder, LauncherData launcherData) {
-		File fwJar = launcherData.getFwJar();
-		if (fwJar != null)
-			return;
-		URI location = ParserUtils.getFrameworkJar(lines, launcherFolder);
-		if (location != null)
-			launcherData.setFwJar(URIUtil.toFile(location));
-	}
-
-	private void getPersistentDataLocation(List lines, URI osgiInstallArea, URI configArea, LauncherData launcherData) {
-		//TODO The setting of the -clean could only do properly once config.ini has been read
-		if (launcherData.getFwPersistentDataLocation() == null) {
-			launcherData.setFwPersistentDataLocation(URIUtil.toFile(configArea), ParserUtils.isArgumentSet(EquinoxConstants.OPTION_CLEAN, lines));
-		}
-	}
-
-	private void getVM(List lines, URI launcherFolder, LauncherData launcherData) {
-		String vm = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_VM, lines);
-		if (vm == null)
-			return;
-
-		URI VMFullPath;
-		try {
-			VMFullPath = URIUtil.makeAbsolute(FileUtils.fromPath(vm), launcherFolder);
-			launcherData.setJvm(URIUtil.toFile(VMFullPath));
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_VM, VMFullPath.toString(), lines);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_absolute, vm));
-			return;
-		}
-	}
-
-	private void setVM(List lines, File vm, URI launcherFolder) {
-		if (vm == null) {
-			ParserUtils.removeArgument(EquinoxConstants.OPTION_VM, lines);
-			return;
-		}
-		URI VMRelativePath = launcherFolder.relativize(vm.toURI());
-		ParserUtils.setValueForArgument(EquinoxConstants.OPTION_VM, FileUtils.toPath(VMRelativePath).replace('\\', '/'), lines);
-	}
-
-	private void getJVMArgs(List lines, LauncherData launcherData) {
-		ArrayList vmargs = new ArrayList(lines.size());
-		boolean foundVmArgs = false;
-		for (Iterator iterator = lines.iterator(); iterator.hasNext();) {
-			String line = (String) iterator.next();
-			if (!foundVmArgs) {
-				if (EquinoxConstants.OPTION_VMARGS.equals(line))
-					foundVmArgs = true;
-				continue;
-			}
-			vmargs.add(line);
-		}
-
-		launcherData.setJvmArgs(null);
-		launcherData.setJvmArgs((String[]) vmargs.toArray(new String[vmargs.size()]));
-	}
-
-	private void setJVMArgs(List lines, LauncherData launcherData) {
-		ParserUtils.removeArgument(EquinoxConstants.OPTION_VMARGS, lines);
-		if (launcherData.getJvmArgs() == null || launcherData.getJvmArgs().length == 0)
-			return;
-		String[] args = launcherData.getJvmArgs();
-		lines.add(EquinoxConstants.OPTION_VMARGS);
-		for (int i = 0; i < args.length; i++) {
-			lines.add(args[i]);
-		}
-	}
-
-	private void getProgramArgs(List lines, LauncherData launcherData) {
-		ArrayList args = new ArrayList(lines.size());
-		for (Iterator iterator = lines.iterator(); iterator.hasNext();) {
-			String line = (String) iterator.next();
-			if (EquinoxConstants.OPTION_VMARGS.equals(line))
-				break;
-			args.add(line);
-		}
-		launcherData.setProgramArgs(null);
-		launcherData.setProgramArgs((String[]) args.toArray(new String[args.size()]));
-	}
-
-	private URI getLauncherLibrary(List lines, URI launcherFolder) {
-		String launcherLibrary = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_LAUNCHER_LIBRARY, lines);
-		if (launcherLibrary == null)
-			return null;
-		URI result = null;
-		try {
-			result = URIUtil.makeAbsolute(FileUtils.fromPath(launcherLibrary), launcherFolder);
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_LAUNCHER_LIBRARY, result.toString(), lines);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_absolute, launcherLibrary));
-			return null;
-		}
-		return result;
-	}
-
-	private void setLauncherLibrary(List lines, URI launcherFolder) {
-		String launcherLibrary = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_LAUNCHER_LIBRARY, lines);
-		if (launcherLibrary == null)
-			return;
-
-		try {
-			URI result = URIUtil.makeRelative(FileUtils.fromPath(launcherLibrary), launcherFolder);
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_LAUNCHER_LIBRARY, FileUtils.toPath(result).replace('\\', '/'), lines);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_absolute, launcherLibrary));
-			return;
-		}
-	}
-
-	private URI getConfigurationLocation(List lines, URI osgiInstallArea, LauncherData data) {
-		String configuration = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_CONFIGURATION, lines);
-		if (configuration == null)
-			try {
-				return URIUtil.makeAbsolute(new URI(CONFIGURATION_FOLDER), osgiInstallArea);
-			} catch (URISyntaxException e1) {
-				//ignore
-			}
-
-		URI result = null;
-		try {
-			result = URIUtil.makeAbsolute(FileUtils.fromPath(configuration), osgiInstallArea);
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_CONFIGURATION, result.toString(), lines);
-			data.setFwConfigLocation(URIUtil.toFile(result));
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_absolute, configuration));
-			return null;
-		}
-		return result;
-	}
-
-	private void setConfigurationLocation(List lines, URI osgiInstallArea, LauncherData data) {
-		String result = FileUtils.toPath(URIUtil.makeRelative(data.getFwConfigLocation().toURI(), osgiInstallArea));
-		//We don't write the default
-		if (CONFIGURATION_FOLDER.equals(result)) {
-			if (ParserUtils.getValueForArgument(EquinoxConstants.OPTION_CONFIGURATION, lines) != null)
-				ParserUtils.removeArgument(EquinoxConstants.OPTION_CONFIGURATION, lines);
-			return;
-		}
-
-		if (ParserUtils.getValueForArgument(EquinoxConstants.OPTION_CONFIGURATION, lines) == null) {
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_CONFIGURATION, result.replace('\\', '/'), lines);
-		}
-		return;
-	}
-
-	private URI getStartup(List lines, URI launcherFolder) {
-		String startup = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_STARTUP, lines);
-		if (startup == null)
-			return null;
-
-		URI result = null;
-		try {
-			result = URIUtil.makeAbsolute(FileUtils.fromPath(startup), launcherFolder);
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_STARTUP, result.toString(), lines);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_absolute, startup));
-			return null;
-		}
-		return result;
-	}
-
-	private void setStartup(List lines, URI launcherFolder) {
-		String startup = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_STARTUP, lines);
-		if (startup == null)
-			return;
-
-		try {
-			URI result = URIUtil.makeRelative(FileUtils.fromPath(startup), launcherFolder);
-			ParserUtils.setValueForArgument(EquinoxConstants.OPTION_STARTUP, FileUtils.toPath(result).replace('\\', '/'), lines);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.log_failed_make_relative, startup));
-			return;
-		}
-	}
-
-	void save(EquinoxLauncherData launcherData, boolean backup) throws IOException {
-		File launcherConfigFile = EquinoxManipulatorImpl.getLauncherConfigLocation(launcherData);
-
-		if (launcherConfigFile == null)
-			throw new IllegalStateException(Messages.exception_launcherLocationNotSet);
-		if (!Utils.createParentDir(launcherConfigFile)) {
-			throw new IllegalStateException(Messages.exception_failedToCreateDir);
-		}
-		//Tweak all the values to make them relative
-		File launcherFolder = launcherData.getLauncher().getParentFile();
-		List newlines = new ArrayList();
-		newlines.addAll(Arrays.asList(launcherData.getProgramArgs()));
-
-		setStartup(newlines, launcherFolder.toURI());
-		setInstall(newlines, launcherData, launcherFolder);
-		//Get the osgi install area
-		File osgiInstallArea = ParserUtils.getOSGiInstallArea(newlines, null, launcherData);
-		//setInstall(lines, osgiInstallArea, launcherFolder);
-		setConfigurationLocation(newlines, osgiInstallArea.toURI(), launcherData);
-		setLauncherLibrary(newlines, launcherFolder.toURI());
-		//		setFrameworkJar(newlines, launcherData.getFwJar());
-		setVM(newlines, launcherData.getJvm(), launcherFolder.toURI());
-
-		//We are done, let's update the program args in the launcher data
-		launcherData.setProgramArgs(null);
-		launcherData.setProgramArgs((String[]) newlines.toArray(new String[newlines.size()]));
-
-		//append jvm args
-		setJVMArgs(newlines, launcherData);
-
-		// backup file if exists.		
-		if (backup)
-			if (launcherConfigFile.exists()) {
-				File dest = Utils.getSimpleDataFormattedFile(launcherConfigFile);
-				if (!launcherConfigFile.renameTo(dest))
-					throw new IOException(NLS.bind(Messages.exception_failedToRename, launcherConfigFile, dest));
-				Log.log(LogService.LOG_INFO, this, "save()", NLS.bind(Messages.log_renameSuccessful, launcherConfigFile, dest)); //$NON-NLS-1$
-			}
-
-		BufferedWriter bw = null;
-		try {
-			bw = new BufferedWriter(new FileWriter(launcherConfigFile));
-			for (int j = 0; j < newlines.size(); j++) {
-				String arg = (String) newlines.get(j);
-				if (arg == null)
-					continue;
-				bw.write(arg);
-				bw.newLine();
-			}
-			bw.flush();
-			Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_launcherConfigSave, launcherConfigFile));
-		} finally {
-			if (bw != null)
-				bw.close();
-			File previousLauncherIni = launcherData.getPreviousLauncherIni();
-			if (previousLauncherIni != null && !previousLauncherIni.equals(launcherConfigFile))
-				previousLauncherIni.delete();
-		}
-		launcherData.setLauncherConfigLocation(launcherConfigFile);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
deleted file mode 100644
index 9aed538..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxBundlesState.java
+++ /dev/null
@@ -1,729 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.framework.internal.core.FrameworkProperties;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.log.LogService;
-
-public class EquinoxBundlesState implements BundlesState {
-	static final long DEFAULT_TIMESTAMP = 0L;
-	private static final boolean DEBUG = false;
-	// While we recognize the amd64 architecture, we change
-	// this internally to be x86_64.
-	private static final String INTERNAL_AMD64 = "amd64"; //$NON-NLS-1$
-	private static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
-	public static final String[] PROPS = {"osgi.os", "osgi.ws", "osgi.nl", "osgi.arch", Constants.FRAMEWORK_SYSTEMPACKAGES, "osgi.resolverMode", Constants.FRAMEWORK_EXECUTIONENVIRONMENT, "osgi.resolveOptional", "osgi.genericAliases"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
-	static boolean checkFullySupported() {
-		//TODO - This was previously doing a bogus check by attempting to instantiate a particular class - it's not clear what this is trying to do
-		return true;
-	}
-
-	/**
-	 * eclipse.exe will launch a fw where plugins/org.eclipse.osgi_*.*.*.*.jar
-	 * is an implementation of fw.
-	 * 
-	 * @param launcherData
-	 * @param configData
-	 * @return File of fwJar to be used.
-	 */
-	static File getFwJar(LauncherData launcherData, ConfigData configData) {
-		return getFwJar(launcherData, configData, true);
-		//
-		// // EclipseLauncherParser launcherParser = new
-		// EclipseLauncherParser(launcherData);
-		// // launcherParser.read();
-		// if (launcherData.getFwJar() != null)
-		// return launcherData.getFwJar();
-		//
-		// // check -D arguments of jvmArgs ?
-		// String[] jvmArgs = launcherData.getJvmArgs();
-		// String location = null;
-		// for (int i = 0; i < jvmArgs.length; i++) {
-		// if (jvmArgs[i].endsWith("-D" + "osgi.framework=")) {
-		// location = jvmArgs[i].substring(("-D" + "osgi.framework=").length());
-		// }
-		// }
-		// if (location != null)
-		// return new File(location);
-		//
-		// File ret = getSystemBundleFromBundleInfos(launcherData, configData);
-		// if (ret != null)
-		// return ret;
-		// return getSystemBundleBySearching(launcherData);
-	}
-
-	private static File getFwJar(LauncherData launcherData, ConfigData configData, boolean checkBundleInfos) {
-		if (launcherData.getFwJar() != null) {
-			return launcherData.getFwJar();
-		}
-
-		// check -D arguments of jvmArgs ?
-		String[] jvmArgs = launcherData.getJvmArgs();
-		String location = null;
-		for (int i = 0; i < jvmArgs.length; i++) {
-			if (jvmArgs[i].endsWith("-D" + "osgi.framework=")) { //$NON-NLS-1$ //$NON-NLS-2$
-				location = jvmArgs[i].substring(("-D" + "osgi.framework=").length()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (location != null) {
-			return new File(location);
-		}
-
-		if (checkBundleInfos) {
-			File ret = getSystemBundleFromBundleInfos(configData);
-			if (ret != null) {
-				return ret;
-			}
-		}
-		return null;
-		//		return getSystemBundleBySearching(launcherData);
-	}
-
-	private static long getMaxId(State state) {
-		BundleDescription[] bundleDescriptions = state.getBundles();
-		long maxId = DEFAULT_TIMESTAMP;
-		for (int i = 0; i < bundleDescriptions.length; i++)
-			if (maxId < bundleDescriptions[i].getBundleId()) {
-				maxId = bundleDescriptions[i].getBundleId();
-			}
-		return maxId;
-	}
-
-	private static File getSystemBundleFromBundleInfos(BundleInfo[] bundleInfos) {
-		for (int i = 0; i < bundleInfos.length; i++) {
-			File match = isSystemBundle(bundleInfos[i]);
-			if (match != null)
-				return match;
-		}
-		return null;
-	}
-
-	protected static File getSystemBundleFromBundleInfos(ConfigData configData) {
-		BundleInfo[] bundleInfos = configData.getBundles();
-		return getSystemBundleFromBundleInfos(bundleInfos);
-	}
-
-	static long getTimeStamp(File fwPersistentDataLocation) {
-		if (fwPersistentDataLocation == null)
-			return DEFAULT_TIMESTAMP;
-
-		File file = new File(fwPersistentDataLocation, EquinoxConstants.PERSISTENT_DIR_NAME);
-		if (!file.exists() || !file.isDirectory())
-			return DEFAULT_TIMESTAMP;
-		long ret = file.lastModified();
-		File[] lists = file.listFiles();
-		if (lists == null)
-			return ret;
-		for (int i = 0; i < lists.length; i++)
-			if (ret < lists[i].lastModified())
-				ret = lists[i].lastModified();
-		return ret;
-	}
-
-	public static File isSystemBundle(BundleInfo bundleInfo) {
-		if (bundleInfo == null || bundleInfo.getLocation() == null)
-			return null;
-		URI bundleLocation = bundleInfo.getLocation();
-		try {
-			String[] clauses = Utils.getClausesManifestMainAttributes(bundleLocation, Constants.BUNDLE_SYMBOLICNAME);
-			if (bundleLocation.getPath().indexOf(EquinoxConstants.FW_SYMBOLIC_NAME) > 0)
-				if (EquinoxConstants.PERSISTENT_DIR_NAME.equals(Utils.getPathFromClause(clauses[0])))
-					return new File(bundleLocation);
-		} catch (RuntimeException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	// "osgi.os", "osgi.ws", "osgi.nl", "osgi.arch",
-	// Constants.FRAMEWORK_SYSTEMPACKAGES, "osgi.resolverMode",
-	// Constants.FRAMEWORK_EXECUTIONENVIRONMENT, "osgi.resolveOptional"
-	static Properties setDefaultPlatformProperties() {
-		Properties platformProperties = new Properties();
-		// set default value
-
-		String nl = Locale.getDefault().toString();
-		platformProperties.setProperty("osgi.nl", nl); //$NON-NLS-1$
-
-		// TODO remove EclipseEnvironmentInfo
-		String os = EclipseEnvironmentInfo.guessOS(System.getProperty("os.name"));//$NON-NLS-1$);
-		platformProperties.setProperty("osgi.os", os); //$NON-NLS-1$
-
-		String ws = EclipseEnvironmentInfo.guessWS(os);
-		platformProperties.setProperty("osgi.ws", ws); //$NON-NLS-1$
-
-		// if the user didn't set the system architecture with a command line
-		// argument then use the default.
-		String arch = null;
-		String name = FrameworkProperties.getProperty("os.arch");//$NON-NLS-1$
-		// Map i386 architecture to x86
-		if (name.equalsIgnoreCase(INTERNAL_ARCH_I386))
-			arch = org.eclipse.osgi.service.environment.Constants.ARCH_X86;
-		// Map amd64 architecture to x86_64
-		else if (name.equalsIgnoreCase(INTERNAL_AMD64))
-			arch = org.eclipse.osgi.service.environment.Constants.ARCH_X86_64;
-		else
-			arch = name;
-		platformProperties.setProperty("osgi.arch", arch); //$NON-NLS-1$			
-
-		platformProperties.setProperty(Constants.FRAMEWORK_SYSTEMPACKAGES, FrameworkProperties.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES));
-		platformProperties.setProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, FrameworkProperties.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT));
-		platformProperties.setProperty("osgi.resolveOptional", "" + "true".equals(FrameworkProperties.getProperty("osgi.resolveOptional"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		return platformProperties;
-	}
-
-	EquinoxFwAdminImpl fwAdmin = null;
-	BundleContext context;
-	Manipulator manipulator = null;
-	Properties platfromProperties = new Properties();
-	long maxId = DEFAULT_TIMESTAMP;
-	StateObjectFactory soFactory = null;
-	State state = null;
-
-	/**
-	 * Map of String->BundleDescription, where the key is the bundle location.
-	 */
-	private HashMap locationStateIndex = new HashMap();
-
-	/**
-	 * Map of String->BundleDescription, where the key is the bundle name
-	 * and version as defined by the {@link #getKey(BundleDescription)} method.
-	 */
-	private HashMap nameVersionStateIndex = new HashMap();
-	private final PlatformAdmin platformAdmin;
-
-	/**
-	 * If useFwPersistentData flag equals false, this constructor will not take
-	 * a framework persistent data into account. Otherwise, it will.
-	 * 
-	 * @param context
-	 * @param fwAdmin
-	 * @param manipulator
-	 * @param useFwPersistentData
-	 */
-	EquinoxBundlesState(BundleContext context, EquinoxFwAdminImpl fwAdmin, Manipulator manipulator, PlatformAdmin admin, boolean useFwPersistentData) {
-		this.context = context;
-		this.fwAdmin = fwAdmin;
-		this.platformAdmin = admin;
-		// copy manipulator object for avoiding modifying the parameters of the
-		// manipulator.
-		this.manipulator = fwAdmin.getManipulator();
-		this.manipulator.setConfigData(manipulator.getConfigData());
-		this.manipulator.setLauncherData(manipulator.getLauncherData());
-		initialize(useFwPersistentData);
-	}
-
-	/**
-	 * This constructor does NOT take a framework persistent data into account.
-	 * It will create State object based on the specified platformProperties.
-	 * 
-	 * @param context
-	 * @param fwAdmin
-	 * @param manipulator
-	 * @param platformProperties
-	 */
-	EquinoxBundlesState(BundleContext context, EquinoxFwAdminImpl fwAdmin, Manipulator manipulator, PlatformAdmin admin, Properties platformProperties) {
-		super();
-		this.context = context;
-		this.fwAdmin = fwAdmin;
-		this.platformAdmin = admin;
-		// copy manipulator object for avoiding modifying the parameters of the
-		// manipulator.
-		this.manipulator = fwAdmin.getManipulator();
-		this.manipulator.setConfigData(manipulator.getConfigData());
-		this.manipulator.setLauncherData(manipulator.getLauncherData());
-		LauncherData launcherData = manipulator.getLauncherData();
-		ConfigData configData = manipulator.getConfigData();
-		BundleInfo[] bInfos = configData.getBundles();
-		this.composeNewState(launcherData, configData, platformProperties, bInfos);
-	}
-
-	/**
-	 * compose new state without reading framework persistent data. The
-	 * configData.getFwDependentProps() is used for the composition.
-	 * 
-	 * @param launcherData
-	 * @param configData
-	 * @param bInfos
-	 */
-	private void composeNewState(LauncherData launcherData, ConfigData configData, BundleInfo[] bInfos) {
-		this.composeNewState(launcherData, configData, configData.getProperties(), bInfos);
-	}
-
-	/**
-	 * compose new state without reading framework persistent data. The given
-	 * properties is used for the composition. If system bundle is not included
-	 * in the given bInfos, the fw jar launcherData contains will be used.
-	 * 
-	 * @param launcherData
-	 * @param configData
-	 * @param properties
-	 * @param bInfos
-	 */
-	private void composeNewState(LauncherData launcherData, ConfigData configData, Properties properties, BundleInfo[] bInfos) {
-		//Note, there use to be a lot more code in this method
-		File fwJar = getSystemBundleFromBundleInfos(configData);
-		launcherData.setFwJar(fwJar);
-		this.setFwJar(fwJar);
-		composeState(configData.getBundles(), properties, null);
-		resolve(true);
-	}
-
-	/**
-	 * compose state. If it cannot compose it by somehow, false is returned.
-	 * 
-	 * @param bInfos
-	 * @param props
-	 * @param fwPersistentDataLocation
-	 * @return if it cannot compose it by somehow, false is returned.
-	 * @throws IllegalArgumentException
-	 * @throws FrameworkAdminRuntimeException
-	 */
-	private boolean composeState(BundleInfo[] bInfos, Dictionary props, File fwPersistentDataLocation) throws IllegalArgumentException, FrameworkAdminRuntimeException {
-		BundleInfo[] infos = manipulator.getConfigData().getBundles();
-		this.manipulator.getConfigData().setBundles(null);
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		this.setStateObjectFactory();
-		state = null;
-		boolean flagNewState = false;
-		if (fwPersistentDataLocation != null) {
-			//NOTE Here there was a big chunk of code reading the framework state persisted on disk
-			// and I removed it because it was causing various problems. See in previous revision
-			this.manipulator.getConfigData().setBundles(infos);
-			return false;
-		}
-		state = soFactory.createState(true);
-		createStateIndexes();
-		flagNewState = true;
-		if (props == null) {
-			this.manipulator.getConfigData().setBundles(infos);
-			return false;
-		}
-		setPlatformPropertiesToState(props);
-		setPlatformProperties(state);
-
-		try {
-			maxId = state.getHighestBundleId();
-		} catch (NoSuchMethodError e) {
-			maxId = getMaxId(state);
-		}
-		if (DEBUG) {
-			System.out.println(""); //$NON-NLS-1$
-			Log.log(LogService.LOG_DEBUG, this, "composeExpectedState()", "installBundle():"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (flagNewState) {
-			int indexSystemBundle = -1;
-			for (int j = 0; j < bInfos.length; j++)
-				if (isSystemBundle(bInfos[j]) != null) {
-					indexSystemBundle = j;
-					break;
-				}
-
-			if (indexSystemBundle > 0) {
-				BundleInfo[] newBundleInfos = new BundleInfo[bInfos.length];
-				newBundleInfos[0] = bInfos[indexSystemBundle];
-				System.arraycopy(bInfos, 0, newBundleInfos, 1, indexSystemBundle);
-				if (indexSystemBundle < bInfos.length - 1)
-					System.arraycopy(bInfos, indexSystemBundle + 1, newBundleInfos, indexSystemBundle + 1, bInfos.length - indexSystemBundle - 1);
-				bInfos = newBundleInfos;
-			}
-		}
-		for (int j = 0; j < bInfos.length; j++) {
-			if (DEBUG)
-				Log.log(LogService.LOG_DEBUG, this, "composeExpectedState()", "bInfos[" + j + "]=" + bInfos[j]); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			try {
-				this.installBundle(bInfos[j]);
-				// System.out.println("install bInfos[" + j + "]=" + bInfos[j]);
-			} catch (RuntimeException e) {
-				//catch the exception and continue
-				Log.log(LogService.LOG_ERROR, this, "composeExpectedState()", "BundleInfo:" + bInfos[j], e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return true;
-	}
-
-	private BundleInfo convertSystemBundle(BundleDescription toConvert) {
-		// Converting the System Bundle
-		boolean markedAsStarted = false;
-		int sl = BundleInfo.NO_LEVEL;
-
-		URI location = null;
-		String symbolicNameTarget = toConvert.getSymbolicName();
-		Version versionTarget = toConvert.getVersion();
-		try {
-			File fwJar = manipulator.getLauncherData().getFwJar();
-			if (fwJar != null) {
-				URI fwJarLocation = fwJar.toURI();
-				String[] clauses = Utils.getClausesManifestMainAttributes(fwJarLocation, Constants.BUNDLE_SYMBOLICNAME);
-				String fwJarSymbolicName = Utils.getPathFromClause(clauses[0]);
-				String fwJarVersionSt = Utils.getManifestMainAttributes(fwJarLocation, Constants.BUNDLE_VERSION);
-				if (fwJarSymbolicName.equals(symbolicNameTarget) && fwJarVersionSt.equals(versionTarget.toString())) {
-					location = fwJarLocation;
-					markedAsStarted = true;
-				}
-			}
-		} catch (FrameworkAdminRuntimeException e1) {
-			Log.log(LogService.LOG_ERROR, "", e1); //$NON-NLS-1$
-		}
-		return createBundleInfo(toConvert, markedAsStarted, sl, location, null);
-	}
-
-	private BundleInfo createBundleInfo(BundleDescription toConvert, boolean markedAsStarted, int sl, URI location, String fragmentHost) {
-		BundleInfo result = new BundleInfo();
-		result.setSymbolicName(toConvert.getSymbolicName());
-		result.setVersion(toConvert.getVersion().toString());
-		result.setLocation(location);
-		result.setResolved(toConvert.isResolved());
-		result.setMarkedAsStarted(markedAsStarted);
-		result.setStartLevel(sl);
-		result.setBundleId(toConvert.getBundleId());
-		result.setFragmentHost(fragmentHost);
-		return result;
-	}
-
-	public BundleInfo[] convertState(BundleDescription[] bundles) {
-		BundleInfo[] originalBInfos = manipulator.getConfigData().getBundles();
-		Map bundleInfoMap = new HashMap();
-		for (int i = 0; i < originalBInfos.length; i++) {
-			bundleInfoMap.put(originalBInfos[i].getLocation(), originalBInfos[i]);
-		}
-
-		BundleInfo[] result = new BundleInfo[bundles.length];
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].getBundleId() == 0 && EquinoxConstants.FW_SYMBOLIC_NAME.equals(bundles[i].getSymbolicName())) {
-				result[i] = convertSystemBundle(bundles[i]);
-				continue;
-			}
-
-			boolean markedAsStarted = false;
-			int sl = BundleInfo.NO_LEVEL;
-
-			//URI location = FileUtils.getEclipseRealLocation(manipulator, bundles[i].getLocation());
-			//TODO: I believe this is always an absolute URI
-			URI location;
-			try {
-				location = new URI(bundles[i].getLocation());
-			} catch (URISyntaxException e) {
-				e.printStackTrace();
-				throw new IllegalStateException("BundleDescription conversion problem" + e.getMessage()); //$NON-NLS-1$ //TODO path_fun
-			}
-			String fragmentHost = null;
-			BundleInfo original = (BundleInfo) bundleInfoMap.get(location);
-			if (original != null) {
-				markedAsStarted = original.isMarkedAsStarted();
-				sl = getStartLevel(original.getStartLevel());
-				fragmentHost = original.getFragmentHost();
-			}
-			result[i] = createBundleInfo(bundles[i], markedAsStarted, sl, location, fragmentHost);
-		}
-		return result;
-	}
-
-	public BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		return convertState(state.getBundles());
-	}
-
-	Properties getPlatformProperties() {
-		return platfromProperties;
-	}
-
-	public BundleInfo[] getPrerequisteBundles(BundleInfo bInfo) {
-		Set set = new HashSet();
-		URI realLocation = bInfo.getLocation();
-		BundleDescription bundle = getBundleByLocation(realLocation);
-		ImportPackageSpecification[] imports = bundle.getImportPackages();
-		for (int i = 0; i < imports.length; i++) {
-			BaseDescription supplier = imports[i].getSupplier();
-			if (supplier == null) {
-				if (!imports[i].getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL))
-					throw new IllegalStateException("Internal error: import supplier should not be null"); //$NON-NLS-1$
-			} else
-				set.add(supplier.getSupplier());
-		}
-		BundleDescription[] requires = bundle.getResolvedRequires();
-		for (int i = 0; i < requires.length; i++) {
-			set.add(requires[i]);
-		}
-		BundleDescription[] bundles = new BundleDescription[set.size()];
-		set.toArray(bundles);
-		return convertState(bundles);
-	}
-
-	private int getStartLevel(int startLevel) {
-		return (startLevel == BundleInfo.NO_LEVEL ? manipulator.getConfigData().getInitialBundleStartLevel() : startLevel);
-	}
-
-	public BundleInfo getSystemBundle() {
-		BundleDescription bundle = this.getSystemBundleDescription();
-		return (bundle != null ? convertSystemBundle(bundle) : null);
-	}
-
-	private BundleDescription getSystemBundleDescription() {
-		BundleDescription bundle = state.getBundle(0);
-		if (bundle == null || bundle.getHost() != null) { // null or a
-			// fragment bundle.
-			return null;
-		}
-		return (EquinoxConstants.FW_SYMBOLIC_NAME.equals(bundle.getSymbolicName()) ? bundle : null);
-	}
-
-	public BundleInfo[] getSystemFragmentedBundles() {
-		BundleDescription bundle = this.getSystemBundleDescription();
-		if (bundle == null)
-			return null;
-		return convertState(bundle.getFragments());
-	}
-
-	public String[] getUnsatisfiedConstraints(BundleInfo bInfo) {
-		URI realLocation = bInfo.getLocation();
-		BundleDescription description = getBundleByLocation(realLocation);
-		StateHelper helper = platformAdmin.getStateHelper();
-		VersionConstraint[] constraints = helper.getUnsatisfiedConstraints(description);
-		String[] ret = new String[constraints.length];
-		for (int i = 0; i < constraints.length; i++)
-			ret[i] = constraints[i].toString();
-		return ret;
-	}
-
-	private void initialize(boolean useFwPersistentData) {
-		LauncherData launcherData = manipulator.getLauncherData();
-		ConfigData configData = manipulator.getConfigData();
-		BundleInfo[] bInfos = configData.getBundles();
-
-		if (!useFwPersistentData) {
-			composeNewState(launcherData, configData, bInfos);
-			return;
-		}
-
-		EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-		if (launcherData.isClean()) {
-			composeNewState(launcherData, configData, bInfos);
-		} else {
-			if (manipulator.getLauncherData().getFwPersistentDataLocation() == null) {
-				File installArea = ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configData.getProperties(), launcherData);
-				if (DEBUG)
-					Log.log(LogService.LOG_DEBUG, this, "initialize(useFwPersistentDat)", "installArea=" + installArea); //$NON-NLS-1$ //$NON-NLS-2$
-				if (installArea == null)
-					throw new IllegalStateException(Messages.exception_noInstallArea);
-				File fwPersistentDataLocation = new File(installArea, "configuration"); //$NON-NLS-1$
-				manipulator.getLauncherData().setFwPersistentDataLocation(fwPersistentDataLocation, false);
-			}
-			if (!composeState(bInfos, null, manipulator.getLauncherData().getFwPersistentDataLocation()))
-				composeNewState(launcherData, configData, bInfos);
-			resolve(true);
-		}
-	}
-
-	public void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-
-		URI realLocation = bInfo.getLocation();
-		if (getBundleByLocation(realLocation) != null)
-			return;
-
-		Dictionary manifest = Utils.getOSGiManifest(realLocation);
-		if (manifest == null)
-			return;
-
-		String newSymbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
-		int position = newSymbolicName.indexOf(";"); //$NON-NLS-1$
-		if (position >= 0)
-			newSymbolicName = newSymbolicName.substring(0, position).trim();
-		String newVersion = (String) manifest.get(Constants.BUNDLE_VERSION);
-
-		if (getBundleByNameVersion(newSymbolicName, newVersion) != null)
-			return;
-
-		try {
-			bInfo.setBundleId(++maxId);
-			BundleDescription newBundleDescription = soFactory.createBundleDescription(state, manifest, realLocation.toString(), bInfo.getBundleId());
-			addBundleToState(newBundleDescription);
-			manipulator.getConfigData().addBundle(bInfo);
-		} catch (BundleException e) {
-			Log.log(LogService.LOG_WARNING, this, "installBundle(BundleInfo)", e); //$NON-NLS-1$
-		}
-	}
-
-	public boolean isFullySupported() {
-		return true;
-	}
-
-	public boolean isResolved() {
-		return state.isResolved();
-	}
-
-	public boolean isResolved(BundleInfo bInfo) {
-		URI realLocation = bInfo.getLocation();
-		BundleDescription description = getBundleByLocation(realLocation);
-		if (description == null)
-			return false;
-		return description.isResolved();
-	}
-
-	public void resolve(boolean increment) {
-		state.resolve(increment);
-	}
-
-	void setFwJar(File fwJar) {
-		manipulator.getLauncherData().setFwJar(fwJar);
-	}
-
-	/**
-	 * get platforme properties from the given state.
-	 * 
-	 * @param state
-	 */
-	private void setPlatformProperties(State state) {
-		Dictionary platformProperties = state.getPlatformProperties()[0];
-		platfromProperties.clear();
-		if (platformProperties != null) {
-			for (Enumeration enumeration = platformProperties.keys(); enumeration.hasMoreElements();) {
-				String key = (String) enumeration.nextElement();
-				Object value = platformProperties.get(key);
-				platfromProperties.setProperty(key, (String) value);
-			}
-		}
-		if (DEBUG)
-			Utils.printoutProperties(System.out, "PlatformProperties[0]", platfromProperties); //$NON-NLS-1$
-	}
-
-	/**
-	 * set platfromProperties required to compose state object into
-	 * platformProperties of this state.
-	 * 
-	 * @param props
-	 */
-	private void setPlatformPropertiesToState(Dictionary props) {
-		Properties platformProperties = setDefaultPlatformProperties();
-
-		for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-			String key = (String) enumeration.nextElement();
-			for (int i = 0; i < PROPS.length; i++) {
-				if (key.equals(PROPS[i])) {
-					platformProperties.put(key, props.get(key));
-					break;
-				}
-			}
-		}
-		state.setPlatformProperties(platformProperties);
-	}
-
-	private void setStateObjectFactory() {
-		if (soFactory == null)
-			soFactory = platformAdmin.getFactory();
-	}
-
-	public String toString() {
-		if (state == null)
-			return null;
-		StringBuffer sb = new StringBuffer();
-		BundleDescription[] bundleDescriptions = state.getBundles();
-		for (int i = 0; i < bundleDescriptions.length; i++) {
-			sb.append(bundleDescriptions[i].getBundleId() + ":"); //$NON-NLS-1$
-			sb.append(bundleDescriptions[i].toString() + "("); //$NON-NLS-1$
-			sb.append(bundleDescriptions[i].isResolved() + ")"); //$NON-NLS-1$
-			String[] ees = bundleDescriptions[i].getExecutionEnvironments();
-			for (int j = 0; j < ees.length; j++)
-				sb.append(ees[j] + " "); //$NON-NLS-1$
-			sb.append("\n"); //$NON-NLS-1$
-		}
-		sb.append("PlatformProperties:\n"); //$NON-NLS-1$
-		Dictionary[] dics = state.getPlatformProperties();
-		for (int i = 0; i < dics.length; i++) {
-			for (Enumeration enumeration = dics[i].keys(); enumeration.hasMoreElements();) {
-				String key = (String) enumeration.nextElement();
-				String value = (String) dics[i].get(key);
-				sb.append(" (" + key + "," + value + ")\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-		}
-		sb.append("\n"); //$NON-NLS-1$
-		return sb.toString();
-	}
-
-	public void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		long id = DEFAULT_TIMESTAMP;
-		URI realLocation = bInfo.getLocation();
-		BundleDescription bundle = getBundleByLocation(bInfo.getLocation());
-		if (bundle != null)
-			id = bundle.getBundleId();
-
-		if (id != DEFAULT_TIMESTAMP) {
-			try {
-				Dictionary manifest = Utils.getOSGiManifest(bInfo.getLocation());
-				if (manifest == null) {
-					Log.log(LogService.LOG_WARNING, this, "uninstallBundle(BundleInfo)", NLS.bind(Messages.exception_bundleManifest, bInfo.getLocation())); //$NON-NLS-1$
-					return;
-				}
-				BundleDescription bundleDescription = soFactory.createBundleDescription(state, manifest, realLocation.toString(), id);
-				removeBundleFromState(bundleDescription);
-				manipulator.getConfigData().removeBundle(bInfo);
-			} catch (BundleException e) {
-				Log.log(LogService.LOG_WARNING, this, "uninstallBundle(BundleInfo)", e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private BundleDescription getBundleByLocation(URI location) {
-		if (location == null)
-			return null;
-		return (BundleDescription) locationStateIndex.get(location);
-	}
-
-	private BundleDescription getBundleByNameVersion(String bundleSymbolicName, String bundleVersion) {
-		return (BundleDescription) nameVersionStateIndex.get(bundleSymbolicName + ";" + bundleVersion); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a key for a bundle description containing the bundle name and version,
-	 * for use in the name/version state index map.
-	 */
-	private String getKey(BundleDescription bundle) {
-		return bundle.getSymbolicName() + ';' + bundle.getVersion();
-	}
-
-	private void createStateIndexes() {
-		BundleDescription[] currentInstalledBundles = state.getBundles();
-		for (int i = 0; i < currentInstalledBundles.length; i++) {
-			URI location = FileUtils.getRealLocation(manipulator, currentInstalledBundles[i].getLocation());
-			locationStateIndex.put(location, currentInstalledBundles[i]);
-			nameVersionStateIndex.put(getKey(currentInstalledBundles[i]), currentInstalledBundles[i]);
-		}
-	}
-
-	private void addBundleToState(BundleDescription bundleDescription) {
-		state.addBundle(bundleDescription);
-		URI location = FileUtils.getRealLocation(manipulator, bundleDescription.getLocation());
-		locationStateIndex.put(location, bundleDescription);
-		nameVersionStateIndex.put(getKey(bundleDescription), bundleDescription);
-	}
-
-	private void removeBundleFromState(BundleDescription bundleDescription) {
-		URI location = FileUtils.getRealLocation(manipulator, bundleDescription.getLocation());
-		locationStateIndex.remove(location);
-		nameVersionStateIndex.remove(getKey(bundleDescription));
-		state.removeBundle(bundleDescription);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
deleted file mode 100644
index d9623ab..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxConstants.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-public class EquinoxConstants {
-
-	/**
-	 * If BundleContext#getProperty(PROP_KEY_USE_REFERENCE) does not equal "false", 
-	 * Manipulator#save() will add "reference:" to any bundle location specified osgi.bundles in order to avoid
-	 * caching its bundle jar.  Otherwise, it will add nothing to any bundle location.
-	 */
-	public static final String PROP_KEY_USE_REFERENCE = "org.eclipse.equinox.frameworkadmin.equinox.useReference"; //$NON-NLS-1$
-
-	public static final String PLUGINS_DIR = "plugins"; //$NON-NLS-1$
-	public final static String FW_SYMBOLIC_NAME = "org.eclipse.osgi"; //$NON-NLS-1$
-	public static final String DEFAULT_CONFIGURATION = "configuration"; //$NON-NLS-1$
-	public static final String CONFIG_INI = "config.ini"; //$NON-NLS-1$
-
-	public final static String FW_VERSION = "3.3"; //$NON-NLS-1$
-	public final static String FW_NAME = "Equinox"; //$NON-NLS-1$
-	public final static String LAUNCHER_VERSION = "3.2"; //$NON-NLS-1$
-	public final static String LAUNCHER_NAME = "Eclipse.exe"; //$NON-NLS-1$
-
-	public static final String OPTION_CONFIGURATION = "-configuration"; //$NON-NLS-1$
-	public static final String OPTION_FW = "-framework"; //$NON-NLS-1$
-	public static final String OPTION_VM = "-vm"; //$NON-NLS-1$
-	public static final String OPTION_VMARGS = "-vmargs"; //$NON-NLS-1$
-	public static final String OPTION_CLEAN = "-clean"; //$NON-NLS-1$
-	public static final String OPTION_STARTUP = "-startup"; //$NON-NLS-1$
-	public static final String OPTION_INSTALL = "-install"; //$NON-NLS-1$
-	public static final String OPTION_LAUNCHER_LIBRARY = "--launcher.library"; //$NON-NLS-1$
-
-	// System properties
-	public static final String PROP_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
-	public static final String PROP_BUNDLES_STARTLEVEL = "osgi.bundles.defaultStartLevel"; //$NON-NLS-1$ //The start level used to install the bundles
-	public static final String PROP_INITIAL_STARTLEVEL = "osgi.startLevel"; //$NON-NLS-1$ //The start level when the fwl start
-	public static final String PROP_INSTALL = "osgi.install"; //$NON-NLS-1$
-	public static final String PROP_ECLIPSE_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-	public static final String PROP_FW_EXTENSIONS = "osgi.framework.extensions"; //$NON-NLS-1$
-	public static final String PROP_OSGI_FW = "osgi.framework"; //$NON-NLS-1$
-	public static final String PROP_OSGI_SYSPATH = "osgi.syspath"; //$NON-NLS-1$
-	public static final String PROP_LAUNCHER_PATH = "osgi.launcherPath"; //$NON-NLS-1$
-	public static final String PROP_LAUNCHER_NAME = "osgi.launcherIni"; //$NON-NLS-1$
-	public static final String PROP_SHARED_CONFIGURATION_AREA = "osgi.sharedConfiguration.area"; //$NON-NLS-1$	
-
-	public static final String INI_EXTENSION = ".ini"; //$NON-NLS-1$
-	public static final String EXE_EXTENSION = ".exe"; //$NON-NLS-1$
-
-	public static final String PROP_EQUINOX_DEPENDENT_PREFIX = "osgi."; //$NON-NLS-1$
-	static final String REFERENCE = "reference:"; //$NON-NLS-1$
-	public static final String PERSISTENT_DIR_NAME = "org.eclipse.osgi"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
deleted file mode 100644
index 7298905..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFrameworkAdminFactoryImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminFactory;
-
-public class EquinoxFrameworkAdminFactoryImpl extends FrameworkAdminFactory {
-	public FrameworkAdmin createFrameworkAdmin() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-		String className = System.getProperty(ConfiguratorManipulatorFactory.SYSTEM_PROPERTY_KEY);
-		if (className == null)
-			return new EquinoxFwAdminImpl();
-		return new EquinoxFwAdminImpl(className);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
deleted file mode 100644
index 39d2937..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwAdminImpl.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Dictionary;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.service.resolver.PlatformAdmin;
-import org.osgi.framework.*;
-import org.osgi.service.startlevel.StartLevel;
-
-public class EquinoxFwAdminImpl implements FrameworkAdmin {
-
-	boolean active = false;
-
-	private ConfiguratorManipulator configuratorManipulator = null;
-
-	BundleContext context = null;
-
-	private boolean runningFw = false;
-
-	private PlatformAdmin platformAdmin;
-	private StartLevel startLevelService;
-
-	public EquinoxFwAdminImpl() {
-		this(null, false);
-	}
-
-	//	private String configuratorManipulatorFactoryName = null;
-
-	EquinoxFwAdminImpl(BundleContext context) {
-		this(context, false);
-	}
-
-	EquinoxFwAdminImpl(BundleContext context, boolean runningFw) {
-		this.context = context;
-		this.active = true;
-		this.runningFw = runningFw;
-	}
-
-	EquinoxFwAdminImpl(String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-		this.context = null;
-		this.active = true;
-		this.runningFw = false;
-		//		this.configuratorManipulatorFactoryName = configuratorManipulatorFactoryName;
-		loadConfiguratorManipulator(configuratorManipulatorFactoryName);
-	}
-
-	/**
-	 * DS component activator
-	 * @param aContext The bundle context
-	 */
-	public void activate(BundleContext aContext) {
-		this.context = aContext;
-		this.runningFw = isRunningFw();
-		Log.init(aContext);
-	}
-
-	void deactivate() {
-		active = false;
-		Log.dispose();
-	}
-
-	public ConfiguratorManipulator getConfiguratorManipulator() {
-		return configuratorManipulator;
-	}
-
-	public Manipulator getManipulator() {
-		return new EquinoxManipulatorImpl(context, this, platformAdmin, startLevelService, false);
-	}
-
-	public Manipulator getRunningManipulator() {
-		if (!this.runningFw)
-			return null;
-		return new EquinoxManipulatorImpl(context, this, platformAdmin, startLevelService, true);
-	}
-
-	public boolean isActive() {
-		return active;
-	}
-
-	/**
-	 * If both the vendor and the Bundle-Version in the manifest match, 
-	 * return true. Otherwise false.
-	 *  
-	 * @return flag true if the ManipulatorAdmin object can handle currently running fw launch. 
-	 */
-	boolean isRunningFw() {
-		//TODO implementation for Eclipse.exe and for Equinox
-		String fwVendor = context.getProperty(Constants.FRAMEWORK_VENDOR);
-		if (!"Eclipse".equals(fwVendor)) //$NON-NLS-1$
-			return false;
-		//TODO decide if this version can be supported by this bundle.
-		Dictionary header = context.getBundle(0).getHeaders();
-		String versionSt = (String) header.get(Constants.BUNDLE_VERSION);
-		Version version = new Version(versionSt);
-		int value = version.compareTo(new Version(EquinoxConstants.FW_VERSION));
-		if (value > 0) {
-			return true;
-		}
-		// TODO need to identify the version of eclipse.exe used for this launch, if used. 
-		return false;
-	}
-
-	public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, FrameworkAdminRuntimeException, IOException {
-		//return new EclipseLauncherImpl(context, this).launch(manipulator, cwd);
-		return new EclipseLauncherImpl(this).launch(manipulator, cwd);
-	}
-
-	private void loadConfiguratorManipulator(String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-		if (configuratorManipulatorFactoryName == null)
-			this.configuratorManipulator = null;
-		else
-			this.configuratorManipulator = ConfiguratorManipulatorFactory.getInstance(configuratorManipulatorFactoryName);
-		return;
-	}
-
-	public void setPlatformAdmin(PlatformAdmin admin) {
-		this.platformAdmin = admin;
-	}
-
-	public void setStartLevel(StartLevel sl) {
-		this.startLevelService = sl;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
deleted file mode 100644
index aa14afe..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.service.log.LogService;
-
-public class EquinoxFwConfigFileParser {
-	private static final Set KNOWN_PROPERTIES = new HashSet(Arrays.asList(new String[] {EquinoxConstants.PROP_BUNDLES, EquinoxConstants.PROP_FW_EXTENSIONS, EquinoxConstants.PROP_INITIAL_STARTLEVEL, EquinoxConstants.PROP_BUNDLES_STARTLEVEL}));
-	private static final String CONFIG_DIR = "@config.dir/"; //$NON-NLS-1$
-	private static final String KEY_ECLIPSE_PROV_DATA_AREA = "eclipse.p2.data.area"; //$NON-NLS-1$
-	private static final String KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-	private static final String REFERENCE_SCHEME = "reference:"; //$NON-NLS-1$
-	private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-	private static boolean DEBUG = false;
-
-	public EquinoxFwConfigFileParser(BundleContext context) {
-		//Empty
-	}
-
-	private static StringBuffer toOSGiBundleListForm(BundleInfo bundleInfo, URI location) {
-		StringBuffer locationString = new StringBuffer(REFERENCE_SCHEME);
-		if (URIUtil.isFileURI(location))
-			locationString.append(URIUtil.toUnencodedString(location));
-		else if (location.getScheme() == null)
-			locationString.append(FILE_PROTOCOL).append(URIUtil.toUnencodedString(location));
-		else
-			locationString = new StringBuffer(URIUtil.toUnencodedString(location));
-
-		int startLevel = bundleInfo.getStartLevel();
-		boolean toBeStarted = bundleInfo.isMarkedAsStarted();
-
-		StringBuffer sb = new StringBuffer();
-		sb.append(locationString);
-		if (startLevel == BundleInfo.NO_LEVEL && !toBeStarted)
-			return sb;
-		sb.append('@');
-		if (startLevel != BundleInfo.NO_LEVEL)
-			sb.append(startLevel);
-		if (toBeStarted)
-			sb.append(":start"); //$NON-NLS-1$
-		return sb;
-	}
-
-	private static boolean getMarkedAsStartedFormat(String startInfo) {
-		if (startInfo == null)
-			return false;
-		startInfo = startInfo.trim();
-		int colon = startInfo.indexOf(':');
-		if (colon > -1) {
-			return startInfo.substring(colon + 1).equals("start"); //$NON-NLS-1$
-		}
-		return startInfo.equals("start"); //$NON-NLS-1$
-	}
-
-	private static int getStartLevel(String startInfo) {
-		if (startInfo == null)
-			return BundleInfo.NO_LEVEL;
-		startInfo = startInfo.trim();
-		int colon = startInfo.indexOf(":"); //$NON-NLS-1$
-		if (colon > 0) {
-			try {
-				return Integer.parseInt(startInfo.substring(0, colon));
-			} catch (NumberFormatException e) {
-				return BundleInfo.NO_LEVEL;
-			}
-		}
-		return BundleInfo.NO_LEVEL;
-	}
-
-	private void readBundlesList(Manipulator manipulator, URI osgiInstallArea, Properties props) throws NumberFormatException {
-		ConfigData configData = manipulator.getConfigData();
-
-		BundleInfo[] fwExtensions = parseBundleList(manipulator, props.getProperty(EquinoxConstants.PROP_FW_EXTENSIONS));
-		if (fwExtensions != null) {
-			for (int i = 0; i < fwExtensions.length; i++) {
-				fwExtensions[i].setFragmentHost(Constants.SYSTEM_BUNDLE_SYMBOLICNAME);
-				configData.addBundle(fwExtensions[i]);
-			}
-		}
-
-		BundleInfo[] bundles = parseBundleList(manipulator, props.getProperty(EquinoxConstants.PROP_BUNDLES));
-		if (bundles != null) {
-			for (int i = 0; i < bundles.length; i++) {
-				configData.addBundle(bundles[i]);
-			}
-		}
-	}
-
-	private BundleInfo[] parseBundleList(Manipulator manipulator, String value) {
-		if (value == null || value.length() == 0)
-			return null;
-
-		List bundles = new ArrayList();
-		String[] bInfoStrings = Utils.getTokens(value, ","); //$NON-NLS-1$
-		for (int i = 0; i < bInfoStrings.length; i++) {
-			String entry = bInfoStrings[i].trim();
-			entry = FileUtils.removeEquinoxSpecificProtocols(entry);
-
-			int indexStartInfo = entry.indexOf('@');
-			String location = (indexStartInfo == -1) ? entry : entry.substring(0, indexStartInfo);
-			URI realLocation = null;
-			if (manipulator.getLauncherData().getFwJar() != null) {
-				File parentFile = manipulator.getLauncherData().getFwJar().getParentFile();
-				try {
-					realLocation = URIUtil.makeAbsolute(FileUtils.fromFileURL(location), parentFile.toURI());
-				} catch (URISyntaxException e) {
-					// try searching as a simple location
-					realLocation = FileUtils.getEclipsePluginFullLocation(location, parentFile);
-				}
-			}
-			String slAndFlag = (indexStartInfo > -1) ? entry.substring(indexStartInfo + 1) : null;
-
-			boolean markedAsStarted = getMarkedAsStartedFormat(slAndFlag);
-			int startLevel = getStartLevel(slAndFlag);
-
-			if (realLocation != null) {
-				bundles.add(new BundleInfo(realLocation, startLevel, markedAsStarted));
-				continue;
-			}
-			if (location != null && location.startsWith(FILE_PROTOCOL))
-				try {
-					bundles.add(new BundleInfo(FileUtils.fromFileURL(location), startLevel, markedAsStarted));
-					continue;
-				} catch (URISyntaxException e) {
-					//Ignore
-				}
-
-			//Fallback case, we use the location as a string
-			bundles.add(new BundleInfo(location, null, null, startLevel, markedAsStarted));
-		}
-		return (BundleInfo[]) bundles.toArray(new BundleInfo[bundles.size()]);
-	}
-
-	private void writeBundlesList(File fwJar, Properties props, URI base, BundleInfo[] bundles) {
-		StringBuffer osgiBundlesList = new StringBuffer();
-		StringBuffer osgiFrameworkExtensionsList = new StringBuffer();
-		for (int j = 0; j < bundles.length; j++) {
-			BundleInfo bundle = bundles[j];
-
-			//framework jar does not get stored on the bundle list, figure out who that is.
-			if (fwJar != null) {
-				if (URIUtil.sameURI(fwJar.toURI(), bundle.getLocation()))
-					continue;
-			} else if (EquinoxConstants.FW_SYMBOLIC_NAME.equals(bundle.getSymbolicName()))
-				continue;
-
-			URI location = fwJar != null ? URIUtil.makeRelative(bundle.getLocation(), fwJar.getParentFile().toURI()) : bundle.getLocation();
-
-			String fragmentHost = bundle.getFragmentHost();
-			boolean isFrameworkExtension = fragmentHost != null && (fragmentHost.startsWith(EquinoxConstants.FW_SYMBOLIC_NAME) || fragmentHost.startsWith(Constants.SYSTEM_BUNDLE_SYMBOLICNAME));
-
-			if (isFrameworkExtension) {
-				bundle.setStartLevel(BundleInfo.NO_LEVEL);
-				bundle.setMarkedAsStarted(false);
-				osgiFrameworkExtensionsList.append(toOSGiBundleListForm(bundle, location));
-				osgiFrameworkExtensionsList.append(',');
-			} else {
-				osgiBundlesList.append(toOSGiBundleListForm(bundle, location));
-				osgiBundlesList.append(',');
-			}
-		}
-		if (osgiFrameworkExtensionsList.length() > 0)
-			osgiFrameworkExtensionsList.deleteCharAt(osgiFrameworkExtensionsList.length() - 1);
-		props.setProperty(EquinoxConstants.PROP_FW_EXTENSIONS, osgiFrameworkExtensionsList.toString());
-
-		if (osgiBundlesList.length() > 0)
-			osgiBundlesList.deleteCharAt(osgiBundlesList.length() - 1);
-		props.setProperty(EquinoxConstants.PROP_BUNDLES, osgiBundlesList.toString());
-	}
-
-	/**
-	 * inputFile must be not a directory but a file.
-	 *
-	 * @param manipulator
-	 * @param inputFile
-	 * @throws IOException
-	 */
-	public void readFwConfig(Manipulator manipulator, File inputFile) throws IOException, URISyntaxException {
-		if (inputFile.isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.exception_inputFileIsDirectory, inputFile));
-
-		//Initialize data structures
-		ConfigData configData = manipulator.getConfigData();
-		LauncherData launcherData = manipulator.getLauncherData();
-		configData.initialize();
-		configData.setBundles(null);
-
-		String launcherName = null;
-		String launcherPath = null;
-
-		// load configuration properties
-		Properties props = loadProperties(inputFile);
-
-		// load shared configuration properties
-		Properties sharedConfigProperties = getSharedConfiguration(props.getProperty(EquinoxConstants.PROP_SHARED_CONFIGURATION_AREA), ParserUtils.getOSGiInstallArea(Arrays.asList(manipulator.getLauncherData().getProgramArgs()), props, manipulator.getLauncherData()));
-		if (sharedConfigProperties != null) {
-			sharedConfigProperties.putAll(props);
-			props = sharedConfigProperties;
-		}
-
-		//Start figuring out stuffs
-		URI rootURI = launcherData.getLauncher() != null ? launcherData.getLauncher().getParentFile().toURI() : null;
-
-		readFwJarLocation(configData, launcherData, props);
-		URI configArea = inputFile.getParentFile().toURI();
-		readLauncherPath(props, rootURI);
-		readp2DataArea(props, configArea);
-		readSimpleConfiguratorURL(props, configArea);
-		readBundlesList(manipulator, ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), props, launcherData).toURI(), props);
-		readInitialStartLeve(configData, props);
-		readDefaultStartLevel(configData, props);
-
-		for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-			String key = (String) enumeration.nextElement();
-			if (KNOWN_PROPERTIES.contains(key))
-				continue;
-			String value = props.getProperty(key);
-			configData.setProperty(key, value);
-		}
-		if (launcherName != null && launcherPath != null) {
-			launcherData.setLauncher(new File(launcherPath, launcherName + EquinoxConstants.EXE_EXTENSION));
-		}
-		Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_configFile, inputFile.getAbsolutePath()));
-	}
-
-	private void readDefaultStartLevel(ConfigData configData, Properties props) {
-		if (props.getProperty(EquinoxConstants.PROP_BUNDLES_STARTLEVEL) != null)
-			configData.setInitialBundleStartLevel(Integer.parseInt(props.getProperty(EquinoxConstants.PROP_BUNDLES_STARTLEVEL)));
-	}
-
-	private void writeDefaultStartLevel(ConfigData configData, Properties props) {
-		if (configData.getInitialBundleStartLevel() != BundleInfo.NO_LEVEL)
-			props.setProperty(EquinoxConstants.PROP_BUNDLES_STARTLEVEL, Integer.toString(configData.getInitialBundleStartLevel()));
-	}
-
-	private void readInitialStartLeve(ConfigData configData, Properties props) {
-		if (props.getProperty(EquinoxConstants.PROP_INITIAL_STARTLEVEL) != null)
-			configData.setBeginningFwStartLevel(Integer.parseInt(props.getProperty(EquinoxConstants.PROP_INITIAL_STARTLEVEL)));
-	}
-
-	private void writeInitialStartLevel(ConfigData configData, Properties props) {
-		if (configData.getBeginingFwStartLevel() != BundleInfo.NO_LEVEL)
-			props.setProperty(EquinoxConstants.PROP_INITIAL_STARTLEVEL, Integer.toString(configData.getBeginingFwStartLevel()));
-	}
-
-	private File readFwJarLocation(ConfigData configData, LauncherData launcherData, Properties props) throws URISyntaxException {
-		File fwJar = null;
-		if (props.getProperty(EquinoxConstants.PROP_OSGI_FW) != null) {
-			URI absoluteFwJar = null;
-			absoluteFwJar = URIUtil.makeAbsolute(FileUtils.fromFileURL(props.getProperty(EquinoxConstants.PROP_OSGI_FW)), ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configData.getProperties(), launcherData).toURI());
-
-			props.setProperty(EquinoxConstants.PROP_OSGI_FW, absoluteFwJar.toString());
-			String fwJarString = props.getProperty(EquinoxConstants.PROP_OSGI_FW);
-			if (fwJarString != null) {
-				fwJar = URIUtil.toFile(absoluteFwJar);
-				if (fwJar == null)
-					throw new IllegalStateException(Messages.exception_noFrameworkLocation);
-				//Here we overwrite the value read from eclipse.ini, because the value of osgi.framework always takes precedence.
-				launcherData.setFwJar(fwJar);
-			} else {
-				throw new IllegalStateException(Messages.exception_noFrameworkLocation);
-			}
-		}
-		if (launcherData.getFwJar() != null)
-			configData.addBundle(new BundleInfo(launcherData.getFwJar().toURI()));
-		return launcherData.getFwJar();
-	}
-
-	private void writeFwJarLocation(ConfigData configData, LauncherData launcherData, Properties props) {
-		if (launcherData.getFwJar() == null)
-			return;
-		props.setProperty(EquinoxConstants.PROP_OSGI_FW, FileUtils.toFileURL(URIUtil.makeRelative(launcherData.getFwJar().toURI(), ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configData.getProperties(), launcherData).toURI())));
-	}
-
-	private static Properties loadProperties(File inputFile) throws FileNotFoundException, IOException {
-		Properties props = new Properties();
-		InputStream is = null;
-		try {
-			is = new FileInputStream(inputFile);
-			props.load(is);
-		} finally {
-			try {
-				is.close();
-			} catch (IOException e) {
-				Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_failed_reading_properties, inputFile));
-			}
-			is = null;
-		}
-		return props;
-	}
-
-	private File findSharedConfigIniFile(URL rootURL, String sharedConfigurationArea) {
-		URL sharedConfigurationURL = null;
-		try {
-			sharedConfigurationURL = new URL(sharedConfigurationArea);
-		} catch (MalformedURLException e) {
-			// unexpected since this was written by the framework
-			Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_url, sharedConfigurationArea));
-			return null;
-		}
-
-		// check for a relative URL
-		if (!sharedConfigurationURL.getPath().startsWith("/")) { //$NON-NLS-1$
-			if (!rootURL.getProtocol().equals(sharedConfigurationURL.getProtocol())) {
-				Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_relative_url, rootURL.toExternalForm(), sharedConfigurationArea));
-				return null;
-			}
-			try {
-				sharedConfigurationURL = new URL(rootURL, sharedConfigurationArea);
-			} catch (MalformedURLException e) {
-				// unexpected since this was written by the framework
-				Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_relative_url, rootURL.toExternalForm(), sharedConfigurationArea));
-				return null;
-			}
-		}
-		File sharedConfigurationFolder = new File(sharedConfigurationURL.getPath());
-		if (!sharedConfigurationFolder.isDirectory()) {
-			Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_file_missing, sharedConfigurationFolder));
-			return null;
-		}
-
-		File sharedConfigIni = new File(sharedConfigurationFolder, EquinoxConstants.CONFIG_INI);
-		if (!sharedConfigIni.exists()) {
-			Log.log(LogService.LOG_WARNING, NLS.bind(Messages.log_shared_config_file_missing, sharedConfigIni));
-			return null;
-		}
-
-		return sharedConfigIni;
-	}
-
-	private void readp2DataArea(Properties props, URI configArea) throws URISyntaxException {
-		if (props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA) != null) {
-			String url = props.getProperty(KEY_ECLIPSE_PROV_DATA_AREA);
-			if (url != null) {
-				if (url.startsWith(CONFIG_DIR))
-					url = "file:" + url.substring(CONFIG_DIR.length()); //$NON-NLS-1$
-				props.setProperty(KEY_ECLIPSE_PROV_DATA_AREA, URIUtil.makeAbsolute(FileUtils.fromFileURL(url), configArea).toString());
-			}
-		}
-	}
-
-	private void writep2DataArea(ConfigData configData, Properties props, URI configArea) throws URISyntaxException {
-		String dataArea = getFwProperty(configData, KEY_ECLIPSE_PROV_DATA_AREA);
-		if (dataArea != null) {
-			if (dataArea.startsWith(CONFIG_DIR)) {
-				props.setProperty(KEY_ECLIPSE_PROV_DATA_AREA, dataArea);
-				return;
-			}
-			URI dataAreaURI = new URI(dataArea);
-			URI relative = URIUtil.makeRelative(dataAreaURI, configArea);
-			if (dataAreaURI.equals(relative)) {
-				props.setProperty(KEY_ECLIPSE_PROV_DATA_AREA, FileUtils.toFileURL(dataAreaURI));
-				return;
-			}
-			String result = URIUtil.toUnencodedString(relative);
-			//We only relativize up to the level where the p2 and config folder are siblings (e.g. foo/p2 and foo/config)
-			if (result.startsWith("../..")) //$NON-NLS-1$
-				result = dataArea;
-			else if (!result.equals(dataArea)) {
-				props.setProperty(KEY_ECLIPSE_PROV_DATA_AREA, CONFIG_DIR + result);
-				return;
-			}
-			props.setProperty(KEY_ECLIPSE_PROV_DATA_AREA, FileUtils.toFileURL(new URI(result)));
-		}
-	}
-
-	private void readLauncherPath(Properties props, URI root) throws URISyntaxException {
-		if (props.getProperty(EquinoxConstants.PROP_LAUNCHER_PATH) != null)
-			props.setProperty(EquinoxConstants.PROP_LAUNCHER_PATH, URIUtil.makeAbsolute(URIUtil.fromString(props.getProperty(EquinoxConstants.PROP_LAUNCHER_PATH)), root).toString());
-	}
-
-	private void writeLauncherPath(ConfigData configData, Properties props, URI root) throws URISyntaxException {
-		String value = getFwProperty(configData, EquinoxConstants.PROP_LAUNCHER_PATH);
-		if (value != null) {
-			URI launcherPathURI = FileUtils.fromPath(value);
-			String launcherPath = URIUtil.toUnencodedString(URIUtil.makeRelative(launcherPathURI, root));
-			if ("/".equals(launcherPath) || "".equals(launcherPath)) //$NON-NLS-1$ //$NON-NLS-2$
-				launcherPath = "."; //$NON-NLS-1$
-			props.setProperty(EquinoxConstants.PROP_LAUNCHER_PATH, launcherPath);
-		}
-	}
-
-	private void readSimpleConfiguratorURL(Properties props, URI configArea) throws URISyntaxException {
-		if (props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL) != null)
-			props.setProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, URIUtil.makeAbsolute(FileUtils.fromFileURL(props.getProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL)), configArea).toString());
-	}
-
-	private void writeSimpleConfiguratorURL(ConfigData configData, Properties props, URI configArea) throws URISyntaxException {
-		//FIXME How would someone set such a value.....
-		String value = getFwProperty(configData, KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL);
-		if (value != null)
-			props.setProperty(KEY_ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, FileUtils.toFileURL(URIUtil.makeRelative(URIUtil.fromString(value), configArea)));
-	}
-
-	private String getFwProperty(ConfigData data, String key) {
-		return data.getProperty(key);
-	}
-
-	public void saveFwConfig(BundleInfo[] bInfos, Manipulator manipulator, boolean backup, boolean relative) throws IOException {//{
-		ConfigData configData = manipulator.getConfigData();
-		LauncherData launcherData = manipulator.getLauncherData();
-		//Get the OSGi jar from the bundle.info
-		File fwJar = EquinoxBundlesState.getSystemBundleFromBundleInfos(configData);
-		launcherData.setFwJar(fwJar);
-
-		File outputFile = launcherData.getFwConfigLocation();
-		if (outputFile.exists()) {
-			if (outputFile.isFile()) {
-				if (!outputFile.getName().equals(EquinoxConstants.CONFIG_INI))
-					throw new IllegalStateException(NLS.bind(Messages.exception_fwConfigLocationName, outputFile.getAbsolutePath(), EquinoxConstants.CONFIG_INI));
-			} else { // Directory
-				outputFile = new File(outputFile, EquinoxConstants.CONFIG_INI);
-			}
-		} else {
-			if (!outputFile.getName().equals(EquinoxConstants.CONFIG_INI)) {
-				if (!outputFile.mkdir())
-					throw new IOException(NLS.bind(Messages.exception_failedToCreateDir, outputFile));
-				outputFile = new File(outputFile, EquinoxConstants.CONFIG_INI);
-			}
-		}
-		String header = "This configuration file was written by: " + this.getClass().getName(); //$NON-NLS-1$
-
-		Properties configProps = new Properties();
-		URI rootURI = launcherData.getLauncher() != null ? launcherData.getLauncher().getParentFile().toURI() : null;
-
-		writeFwJarLocation(configData, launcherData, configProps);
-		try {
-			writeLauncherPath(configData, configProps, rootURI);
-			URI configArea = manipulator.getLauncherData().getFwConfigLocation().toURI();
-			writep2DataArea(configData, configProps, configArea);
-			writeSimpleConfiguratorURL(configData, configProps, configArea);
-			writeBundlesList(launcherData.getFwJar(), configProps, ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configProps, launcherData).toURI(), bInfos);
-			writeInitialStartLevel(configData, configProps);
-			writeDefaultStartLevel(configData, configProps);
-		} catch (URISyntaxException e) {
-			throw new FrameworkAdminRuntimeException(e, Messages.exception_errorSavingConfigIni);
-		}
-
-		Properties original = configData.getProperties();
-		original.putAll(configProps);
-		configProps = original;
-
-		//Deal with the fw jar and ensure it is not set.
-		//TODO This can't be done before because of the previous calls to appendProperties
-
-		if (configProps == null || configProps.size() == 0) {
-			Log.log(LogService.LOG_WARNING, this, "saveFwConfig() ", Messages.log_configProps); //$NON-NLS-1$
-			return;
-		}
-		if (!Utils.createParentDir(outputFile)) {
-			throw new IllegalStateException(Messages.exception_failedToCreateDir);
-		}
-
-		if (DEBUG)
-			Utils.printoutProperties(System.out, "configProps", configProps); //$NON-NLS-1$
-
-		if (backup)
-			if (outputFile.exists()) {
-				File dest = Utils.getSimpleDataFormattedFile(outputFile);
-				if (!outputFile.renameTo(dest))
-					throw new IOException(NLS.bind(Messages.exception_failedToRename, outputFile, dest));
-				Log.log(LogService.LOG_INFO, this, "saveFwConfig()", NLS.bind(Messages.log_renameSuccessful, outputFile, dest)); //$NON-NLS-1$
-			}
-
-		FileOutputStream out = null;
-		try {
-			out = new FileOutputStream(outputFile);
-			//			configProps = makeRelative(configProps, launcherData.getLauncher().getParentFile().toURI(), fwJar, outputFile.getParentFile(), getOSGiInstallArea(manipulator.getLauncherData()));
-			filterPropertiesFromSharedArea(configProps, manipulator);
-			configProps.store(out, header);
-			Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_fwConfigSave, outputFile));
-		} finally {
-			try {
-				out.flush();
-				out.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			out = null;
-		}
-	}
-
-	private void filterPropertiesFromSharedArea(Properties configProps, Manipulator manipulator) {
-		LauncherData launcherData = manipulator.getLauncherData();
-		//Remove from the config file that we are about to write the properties that are unchanged compared to what is in the base
-		Properties sharedConfigProperties = getSharedConfiguration(configProps.getProperty(EquinoxConstants.PROP_SHARED_CONFIGURATION_AREA), ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configProps, launcherData));
-		if (sharedConfigProperties == null)
-			return;
-		Enumeration keys = configProps.propertyNames();
-		while (keys.hasMoreElements()) {
-			String key = (String) keys.nextElement();
-			String sharedValue = sharedConfigProperties.getProperty(key);
-			if (sharedValue == null)
-				continue;
-			String value = configProps.getProperty(key);
-			if (equalsIgnoringSeparators(sharedValue, value)) {
-				configProps.remove(key);
-				continue;
-			}
-
-			if (key.equals(EquinoxConstants.PROP_BUNDLES) && equalBundleLists(manipulator, value, sharedValue)) {
-				configProps.remove(key);
-				continue;
-			}
-
-			if (key.equals(EquinoxConstants.PROP_FW_EXTENSIONS) && equalBundleLists(manipulator, value, sharedValue)) {
-				configProps.remove(key);
-				continue;
-			}
-		}
-	}
-
-	private boolean equalBundleLists(Manipulator manipulator, String value, String sharedValue) {
-		BundleInfo[] bundles = parseBundleList(manipulator, value);
-		BundleInfo[] sharedBundles = parseBundleList(manipulator, sharedValue);
-		if (bundles == null || sharedBundles == null || bundles.length != sharedBundles.length)
-			return false;
-
-		List compareList = new ArrayList(Arrays.asList(bundles));
-		compareList.removeAll(Arrays.asList(sharedBundles));
-		return compareList.isEmpty();
-	}
-
-	private boolean equalsIgnoringSeparators(String s1, String s2) {
-		if (s1 == null && s2 == null)
-			return true;
-		if (s1 == null || s2 == null)
-			return false;
-		StringBuffer sb1 = new StringBuffer(s1);
-		StringBuffer sb2 = new StringBuffer(s2);
-		canonicalizePathsForComparison(sb1);
-		canonicalizePathsForComparison(sb2);
-		return sb1.toString().equals(sb2.toString());
-	}
-
-	private void canonicalizePathsForComparison(StringBuffer s) {
-		final String[] tokens = new String[] {"\\\\", "\\", "//", "/"}; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
-		for (int t = 0; t < tokens.length; t++) {
-			int idx = s.length();
-			for (int i = s.length(); i != 0 && idx != -1; i--) {
-				idx = s.toString().lastIndexOf(tokens[t], idx);
-				if (idx != -1)
-					s.replace(idx, idx + tokens[t].length(), "^"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private Properties getSharedConfiguration(String sharedConfigurationArea, File baseFile) {
-		if (sharedConfigurationArea == null)
-			return null;
-		File sharedConfigIni;
-		try {
-			sharedConfigIni = findSharedConfigIniFile(baseFile.toURL(), sharedConfigurationArea);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-		if (sharedConfigIni != null && sharedConfigIni.exists())
-			try {
-				return loadProperties(sharedConfigIni);
-			} catch (FileNotFoundException e) {
-				return null;
-			} catch (IOException e) {
-				return null;
-			}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
deleted file mode 100644
index 869115b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxLauncherData.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-
-public class EquinoxLauncherData extends LauncherData {
-	File previousLauncher = null;
-
-	public EquinoxLauncherData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
-		super(fwName, fwVersion, launcherName, launcherVersion);
-	}
-
-	public void setLauncher(File launcherFile) {
-		if (previousLauncher == null && launcherFile != null && !launcherFile.equals(getLauncher()))
-			previousLauncher = EquinoxManipulatorImpl.getLauncherConfigLocation(this);
-		super.setLauncher(launcherFile);
-	}
-
-	File getPreviousLauncherIni() {
-		return previousLauncher;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
deleted file mode 100644
index e82df42..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java
+++ /dev/null
@@ -1,662 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.utils.SimpleBundlesState;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.resolver.PlatformAdmin;
-import org.osgi.framework.*;
-import org.osgi.service.log.LogService;
-import org.osgi.service.startlevel.StartLevel;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- *
- */
-public class EquinoxManipulatorImpl implements Manipulator {
-	private static final long DEFAULT_LASTMODIFIED = 0L;
-	private static final boolean LOG_ILLEGALSTATEEXCEPTION = false;
-	private static final String COMMA = ","; //$NON-NLS-1$
-	private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-	private static final String IGNORED = "ignored"; //$NON-NLS-1$
-
-	/**
-	 * If the fwConfigLocation is a file and its name does not equal "config.ini",
-	 * throw an IllegaStateException.
-	 * If the fwConfigLocation is a file and its name equals "config.ini",
-	 * fwConfigLocation will be updated by its parent directory.
-	 *
-	 * Then, reset fwConfigLocation and fwPersistentDataLocation to be matched.
-	 *
-	 * @param launcherData
-	 */
-	static void checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(LauncherData launcherData) {
-		File fwConfigLocation = launcherData.getFwConfigLocation();
-		File fwPersistentDataLocation = launcherData.getFwPersistentDataLocation();
-
-		if (fwConfigLocation != null) {
-			if (fwConfigLocation.isFile()) {
-				if (fwConfigLocation.getName().equals(EquinoxConstants.CONFIG_INI))
-					fwConfigLocation = fwConfigLocation.getParentFile();
-				else
-					throw new IllegalStateException("fwConfigLocation is not a directory but its name does NOT equal \"" + EquinoxConstants.CONFIG_INI + "\"!\n" + "\tfwConfigLocation=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwPersistentDataLocation=" + fwPersistentDataLocation.getAbsolutePath());
-				launcherData.setFwConfigLocation(fwConfigLocation);
-			}
-			if (fwPersistentDataLocation != null) {
-				//				Log.log(LogService.LOG_DEBUG, "fwConfigLocation=" + fwConfigLocation.getAbsolutePath() + ",\n\tfwInstancePrivateArea=" + fwPersistentDataLocation.getAbsolutePath());
-				//if (!fwConfigLocation.getParentFile().equals(fwPersistentDataLocation))
-				//throw new IllegalStateException("!configFile.getParentFile().equals(fwInstancePrivateArea)\n" + "\tconfigFile=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwInstancePrivateArea=" + fwPersistentDataLocation.getAbsolutePath());
-				if (!fwConfigLocation.equals(fwPersistentDataLocation))
-					throw new IllegalStateException("!fwConfigLocation.equals(fwPersistentDataLocation)\n" + "\t!fwConfigLocation=" + fwConfigLocation.getAbsolutePath() + "\n\t,fwPersistentDataLocation=" + fwPersistentDataLocation.getAbsolutePath());
-			} else
-				launcherData.setFwPersistentDataLocation(fwConfigLocation, launcherData.isClean());
-			//launcherData.setFwPersistentDataLocation(fwConfigLocation.getParentFile(), launcherData.isClean());
-		} else {
-			if (fwPersistentDataLocation != null) {
-				launcherData.setFwConfigLocation(fwPersistentDataLocation);
-				//launcherData.setFwConfigLocation(new File(fwPersistentDataLocation, EquinoxConstants.CONFIG_INI));
-			} else {
-				File home = launcherData.getHome();
-				if (home == null)
-					throw new IllegalStateException("All of fwConfigLocation, fwPersistentDataLocation, and home are not set");
-				fwConfigLocation = new File(home, "configuration");
-				launcherData.setFwPersistentDataLocation(fwConfigLocation, launcherData.isClean());
-				launcherData.setFwConfigLocation(fwConfigLocation);
-			}
-		}
-	}
-
-	//This returns the location of the <eclipse>.ini file
-	static File getLauncherConfigLocation(LauncherData launcherData) {
-		File launcherIni = launcherData.getLauncherConfigLocation();
-		if (launcherIni != null)
-			return launcherIni;
-
-		File launcher = launcherData.getLauncher();
-		if (launcher == null)
-			return null;
-		String launcherName = launcher.getName();
-		int dotLocation = launcherName.lastIndexOf('.');
-		if (dotLocation != -1)
-			launcherName = launcherName.substring(0, dotLocation);
-		File result = new File(launcher.getParentFile(), launcherName + EquinoxConstants.INI_EXTENSION);
-		return result;
-	}
-
-	ConfigData configData = new ConfigData(EquinoxConstants.FW_NAME, EquinoxConstants.FW_VERSION, EquinoxConstants.LAUNCHER_NAME, EquinoxConstants.LAUNCHER_VERSION);
-	EquinoxLauncherData launcherData = new EquinoxLauncherData(EquinoxConstants.FW_NAME, EquinoxConstants.FW_VERSION, EquinoxConstants.LAUNCHER_NAME, EquinoxConstants.LAUNCHER_VERSION);
-	BundleContext context = null;
-	private Properties platformProperties = new Properties();
-
-	ServiceTracker cmTracker;
-	int trackingCount = -1;
-	private final PlatformAdmin platformAdmin;
-	private final StartLevel startLevelService;
-
-	//	private final boolean runtime;
-
-	ConfiguratorManipulator configuratorManipulator;
-
-	EquinoxFwAdminImpl fwAdmin = null;
-
-	EquinoxManipulatorImpl(BundleContext context, EquinoxFwAdminImpl fwAdmin, PlatformAdmin admin, StartLevel slService, boolean runtime) {
-		this.context = context;
-		this.fwAdmin = fwAdmin;
-		this.platformAdmin = admin;
-		this.startLevelService = slService;
-		if (context != null) {
-			cmTracker = new ServiceTracker(context, ConfiguratorManipulator.class.getName(), null);
-			cmTracker.open();
-		}
-		//		this.runtime = runtime;
-		if (runtime)
-			initializeRuntime();
-		// XXX For Equinox, default value of Initial Bundle Start Level is 4.
-		// Precisely speaking, it's not correct.
-		// Equinox doesn't support setting initial bundle start level as an OSGi terminology.
-		// Only bundles installed by config.ini and updateconfigurator will have that start level(4).
-		// Others has a start level of 1.
-		configData.setInitialBundleStartLevel(4);
-	}
-
-	public BundlesState getBundlesState() throws FrameworkAdminRuntimeException {
-		if (context == null)
-			return new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
-
-		if (!EquinoxBundlesState.checkFullySupported())
-			return new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
-
-		EquinoxBundlesState state;
-		if (platformProperties.isEmpty())
-			return new EquinoxBundlesState(context, fwAdmin, this, platformAdmin, false);
-		// XXX checking if fwDependent or fwIndependent platformProperties are updated after the platformProperties was created might be required for better implementation.
-		return new EquinoxBundlesState(context, fwAdmin, this, platformAdmin, platformProperties);
-	}
-
-	public ConfigData getConfigData() throws FrameworkAdminRuntimeException {
-		return configData;
-	}
-
-	public BundleInfo[] getExpectedState() throws IllegalArgumentException, FrameworkAdminRuntimeException {
-		//Log.log(LogService.LOG_DEBUG, this, "getExpectedState()", "BEGIN");
-		SimpleBundlesState.checkAvailability(fwAdmin);
-
-		BundlesState bundleState = this.getBundlesState();
-		if (bundleState instanceof SimpleBundlesState)
-			return new BundleInfo[0];
-		bundleState.resolve(true);
-
-		return bundleState.getExpectedState();
-	}
-
-	public LauncherData getLauncherData() throws FrameworkAdminRuntimeException {
-		return launcherData;
-	}
-
-	/**
-	 * Return the configuration location.
-	 *
-	 * @see Location
-	 */
-	private File getRunningConfigurationLocation() {
-		ServiceTracker tracker = null;
-		Filter filter = null;
-		try {
-			filter = context.createFilter(Location.CONFIGURATION_FILTER);
-		} catch (InvalidSyntaxException e) {
-			// ignore this. It should never happen as we have tested the above format.
-		}
-		tracker = new ServiceTracker(context, filter, null);
-		tracker.open();
-		Location location = (Location) tracker.getService();
-		URL url = location.getURL();
-		if (!url.getProtocol().equals("file"))
-			return null;
-		return new File(url.getFile());
-	}
-
-	private File getRunningLauncherFile() {
-		File launcherFile = null;
-		String eclipseCommandsSt = context.getProperty(EquinoxConstants.PROP_ECLIPSE_COMMANDS);
-		if (eclipseCommandsSt == null)
-			return null;
-
-		StringTokenizer tokenizer = new StringTokenizer(eclipseCommandsSt, "\n");
-		boolean found = false;
-		String launcherSt = null;
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (found) {
-				launcherSt = token;
-				break;
-			}
-			if (token.equals("-launcher"))
-				found = true;
-		}
-		if (launcherSt != null)
-			launcherFile = new File(launcherSt);
-		return launcherFile;
-	}
-
-	private Properties getRunningPlatformProperties() {
-		Properties props = new Properties();
-		for (int i = 0; i < EquinoxBundlesState.PROPS.length; i++) {
-			String value = context.getProperty(EquinoxBundlesState.PROPS[i]);
-			if (value != null)
-				props.setProperty(EquinoxBundlesState.PROPS[i], value);
-		}
-		return props;
-	}
-
-	public long getTimeStamp() {
-		long ret = this.getTimeStampWithoutFwPersistentData();
-		if (this.launcherData.isClean())
-			return ret;
-		long lastModifiedFwPersistent = EquinoxBundlesState.getTimeStamp(launcherData.getFwPersistentDataLocation());
-		return Math.max(ret, lastModifiedFwPersistent);
-	}
-
-	private long getTimeStampWithoutFwPersistentData() {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		File launcherConfigFile = getLauncherConfigLocation(launcherData);
-		long lastModifiedLauncherConfigFile = DEFAULT_LASTMODIFIED;
-		long lastModifiedFwConfigFile = DEFAULT_LASTMODIFIED;
-		if (launcherConfigFile != null) {
-			// use launcher. -- > load from LaucnherConfig file.
-			lastModifiedLauncherConfigFile = launcherConfigFile.lastModified();
-		}
-		checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
-		if (launcherData.getFwConfigLocation() != null) {
-			File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
-			lastModifiedFwConfigFile = fwConfigFile.lastModified();
-		}
-		long ret = Math.max(lastModifiedLauncherConfigFile, lastModifiedFwConfigFile);
-		return ret;
-	}
-
-	//	//
-	//	public void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
-	//		this.load(true);
-	//	}
-
-	public void initialize() {
-		Log.log(LogService.LOG_DEBUG, this, "initialize()", "BEGIN");
-		configData.initialize();
-		launcherData.initialize();
-	}
-
-	private void initializeRuntime() {
-		//TODO refine the implementation. using some MAGIC dependent on Eclipse.exe and Equinox implementation,
-		// set parameters according to the current running fw.
-
-		// 1. retrieve location data from Location services registered by equinox fw.
-		String fwJarLocation = context.getProperty(EquinoxConstants.PROP_OSGI_FW);
-		if (!fwJarLocation.startsWith("file:"))
-			throw new IllegalStateException("Current implementation assume that property value keyed by " + EquinoxConstants.PROP_OSGI_FW + " must start with \"file:\". But it was not:" + fwJarLocation);
-		File fwJar = new File(fwJarLocation.substring("file:".length()));
-		//System.out.println("fwJar=" + fwJar);
-		File fwConfigLocation = getRunningConfigurationLocation();
-		File launcherFile = getRunningLauncherFile();
-		launcherData.setFwJar(fwJar);
-		launcherData.setFwPersistentDataLocation(fwConfigLocation, false);
-		launcherData.setLauncher(launcherFile);
-		launcherData.setOS(context.getProperty("osgi.os")); //$NON-NLS-1$
-		try {
-			this.loadWithoutFwPersistentData();
-		} catch (IOException e1) {
-			// TODO Auto-generated catch block
-			e1.printStackTrace();
-		}
-		// 2. Create a Manipulator object fully initialized to the current running fw.
-
-		ServiceReference reference = context.getServiceReference(StartLevel.class.getName());
-		StartLevel startLevel = (StartLevel) context.getService(reference);
-		Bundle[] bundles = context.getBundles();
-		BundleInfo[] bInfos = new BundleInfo[bundles.length];
-		for (int i = 0; i < bundles.length; i++) {
-			//			System.out.println("bundles[" + i + "]=" + bundles[i]);
-			try {
-				if (bundles[i].getBundleId() == 0) // SystemBundle
-					bInfos[i] = new BundleInfo(bundles[i].getSymbolicName(), (String) bundles[i].getHeaders().get(Constants.BUNDLE_VERSION), FileLocator.getBundleFile(bundles[i]).getAbsoluteFile().toURI(), -1, true);
-				else {
-					bInfos[i] = new BundleInfo(bundles[i].getSymbolicName(), (String) bundles[i].getHeaders().get(Constants.BUNDLE_VERSION), FileLocator.getBundleFile(bundles[i]).getAbsoluteFile().toURI(), startLevel.getBundleStartLevel(bundles[i]), startLevel.isBundlePersistentlyStarted(bundles[i]));
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-		configData.setBundles(bInfos);
-		platformProperties = this.getRunningPlatformProperties();
-
-		// copy system properties to ConfigData
-		Properties props = System.getProperties();
-		for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-			String key = (String) enumeration.nextElement();
-			String value = props.getProperty(key);
-			if (toBeEliminated(key))
-				continue;
-			configData.setProperty(key, value);
-		}
-
-		// update initialBundleStartLevel
-		int initialBSL = configData.getInitialBundleStartLevel();
-		if (initialBSL != startLevelService.getInitialBundleStartLevel())
-			configData.setInitialBundleStartLevel(startLevelService.getInitialBundleStartLevel());
-
-		//		for (int j = 0; j < bInfos.length; j++)
-		//			configData.addBundle(bInfos[j]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator#load()
-	 */
-	public void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
-		Log.log(LogService.LOG_DEBUG, this, "load()", "BEGIN");
-		loadWithoutFwPersistentData();
-
-		BundlesState bundlesState = null;
-		if (EquinoxBundlesState.checkFullySupported()) {
-			bundlesState = new EquinoxBundlesState(context, fwAdmin, this, platformAdmin, !launcherData.isClean());
-			platformProperties = ((EquinoxBundlesState) bundlesState).getPlatformProperties();
-		} else {
-			bundlesState = new SimpleBundlesState(fwAdmin, this, EquinoxConstants.FW_SYMBOLIC_NAME);
-			platformProperties.clear();
-		}
-		updateAccordingToExpectedState(bundlesState);
-		//		if (!useConfigurator)
-		//			return;
-		setConfiguratorManipulator();
-		if (this.configuratorManipulator == null)
-			return;
-		configuratorManipulator.updateBundles(this);
-		return;
-	}
-
-	private void loadWithoutFwPersistentData() throws IOException {
-		SimpleBundlesState.checkAvailability(fwAdmin);
-		File launcherConfigFile = getLauncherConfigLocation(launcherData);
-		if (launcherConfigFile != null && !launcherConfigFile.getName().endsWith(IGNORED)) {
-			// use launcher. -- > load from LaucnherConfig file.
-			// the parameters in memory will be updated.
-			EclipseLauncherParser parser = new EclipseLauncherParser();
-			parser.read(launcherConfigFile, launcherData);
-		}
-		checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
-		File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
-		EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(context);
-		if (fwConfigFile.exists())
-			try {
-				parser.readFwConfig(this, fwConfigFile);
-			} catch (URISyntaxException e) {
-				throw new FrameworkAdminRuntimeException(e, "loading");
-			}
-	}
-
-	// Save all parameter in memory into proper config files.
-	public void save(boolean backup) throws IOException, FrameworkAdminRuntimeException {
-		Log.log(LogService.LOG_DEBUG, this, "save()", "BEGIN");
-		SimpleBundlesState.checkAvailability(fwAdmin);
-
-		try {
-			updateAccordingToExpectedState(this.getBundlesState());
-		} catch (IllegalStateException e) {
-			// ignore.
-		}
-
-		boolean stateIsEmpty = configData.getBundles().length == 0;
-
-		File launcherConfigFile = getLauncherConfigLocation(launcherData);
-		if (launcherConfigFile != null) {
-			if (!stateIsEmpty) {
-				// Use launcher. -- > save LauncherConfig file.
-				EclipseLauncherParser launcherParser = new EclipseLauncherParser();
-				launcherParser.save(launcherData, backup);
-			} else {
-				// No bundles in configuration, so delete the launcher config file
-				launcherConfigFile.delete();
-			}
-		}
-
-		checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(launcherData);
-
-		ConfiguratorManipulator previousConfigurator = setConfiguratorManipulator();
-		if (previousConfigurator != null)
-			previousConfigurator.cleanup(this);
-
-		BundleInfo[] newBInfos = null;
-		if (configuratorManipulator != null) { // Optimize BundleInfo[]
-			try {
-				newBInfos = configuratorManipulator.save(this, backup);
-			} catch (IllegalStateException e) {
-				if (LOG_ILLEGALSTATEEXCEPTION)
-					Log.log(LogService.LOG_WARNING, this, "save()", e); //$NON-NLS-1$
-				newBInfos = configData.getBundles();
-			}
-		} else {
-			newBInfos = configData.getBundles();
-		}
-
-		if (!stateIsEmpty) {
-			// Save FwConfigFile
-			EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(context);
-			parser.saveFwConfig(newBInfos.length != 0 ? newBInfos : getConfigData().getBundles(), this, backup, false);
-		} else {
-			File configDir = launcherData.getFwConfigLocation();
-			File outputFile = new File(configDir, EquinoxConstants.CONFIG_INI);
-			if (outputFile != null && outputFile.exists()) {
-				outputFile.delete();
-			}
-			if (configDir != null && configDir.exists()) {
-				configDir.delete();
-			}
-		}
-	}
-
-	public void setConfigData(ConfigData configData) {
-		this.configData.initialize();
-		this.configData.setInitialBundleStartLevel(configData.getInitialBundleStartLevel());
-		this.configData.setBeginningFwStartLevel(configData.getBeginingFwStartLevel());
-		BundleInfo[] bInfos = configData.getBundles();
-		for (int i = 0; i < bInfos.length; i++)
-			this.configData.addBundle(bInfos[i]);
-		this.configData.setProperties(configData.getProperties());
-		if (this.configData.getFwName().equals(configData.getFwName()))
-			if (this.configData.getFwVersion().equals(configData.getFwVersion())) {
-				// TODO refine the algorithm to copying fw dependent props.
-				//  configData.getFwName()/getFwVersion()/
-				//	getLauncherName()/getLauncherVersion() might be taken into consideration.
-				this.configData.setProperties(configData.getProperties());
-			}
-	}
-
-	/**
-	 * 1. get all ServiceReferences of ConfiguratorManipulator.
-	 * 2. Check if there any ConfiguratorBundle in the Bundles list that can be manipulated by
-	 * 	the available ConfiguratorManipulators.
-	 * 3. Choose the one that will be firstly started among them.
-	 * 4. set the object that corresponds to the chosen ConfiguratorBundle.
-	 *
-	 */
-	private ConfiguratorManipulator setConfiguratorManipulator() {
-		if (context == null) {
-			this.configuratorManipulator = this.fwAdmin.getConfiguratorManipulator();
-			return null;
-		}
-		ServiceReference[] references = cmTracker.getServiceReferences();
-		if (references == null)
-			return null;
-
-		//		int count = cmTracker.getTrackingCount();
-		//		if (count == this.trackingCount)
-		//			return;
-		//		this.trackingCount = count;
-
-		BundleInfo[] bInfos = configData.getBundles();
-		int initialBSL = configData.getInitialBundleStartLevel();
-		bInfos = Utils.sortBundleInfos(bInfos, initialBSL);
-		//int index = -1;
-		ConfiguratorManipulator previousConfiguratorManipulator = configuratorManipulator;
-		configuratorManipulator = null;
-		for (int i = 0; i < bInfos.length; i++) {
-			URI location = bInfos[i].getLocation();
-			if (!bInfos[i].isMarkedAsStarted())
-				continue;
-			for (int j = 0; j < references.length; j++)
-				if (references[j].getProperty(ConfiguratorManipulator.SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME).equals(Utils.getPathFromClause(Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME)))) {
-					configuratorManipulator = (ConfiguratorManipulator) cmTracker.getService(references[j]);
-					break;
-				}
-			if (configuratorManipulator != null)
-				break;
-		}
-		if (configuratorManipulator != previousConfiguratorManipulator)
-			return previousConfiguratorManipulator;
-		return null;
-	}
-
-	public void setLauncherData(LauncherData value) {
-		launcherData.initialize();
-		launcherData.setFwConfigLocation(value.getFwConfigLocation());
-		launcherData.setFwPersistentDataLocation(value.getFwPersistentDataLocation(), value.isClean());
-		launcherData.setJvm(value.getJvm());
-		launcherData.setJvmArgs(value.getJvmArgs());
-		launcherData.setOS(value.getOS());
-		if (launcherData.getFwName().equals(value.getFwName()))
-			if (launcherData.getFwVersion().equals(value.getFwVersion())) {
-				// TODO launcherData.getFwName()/getFwVersion()/
-				//	getLauncherName()/getLauncherVersion() might be taken into consideration
-				//  for copying .
-				launcherData.setFwJar(value.getFwJar());
-				launcherData.setHome(value.getHome());
-				launcherData.setLauncher(value.getLauncher());
-				launcherData.setLauncherConfigLocation(value.getLauncherConfigLocation());
-			}
-	}
-
-	/**
-	 * Temporal implementation.
-	 *
-	 * If a property of the given key should be eliminated
-	 *  from FwDependentProperties and FwIndependentProperties,
-	 *  return true. Otherwise false.
-	 *
-	 * @param key
-	 * @return true if it should be elimineted from FwDependentProperties and FwIndependentProperties,
-	 */
-	private boolean toBeEliminated(String key) {
-		if (key.startsWith("java."))
-			return true;
-		return false;
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append("++++++++++++++++++++++++++++++++++++++++++\n" + "Class:" + this.getClass().getName() + "\n");
-		sb.append("------------- LauncherData -----------\n");
-		sb.append(launcherData.toString());
-		sb.append("------------- ConfigData -----------\n");
-		sb.append(configData.toString());
-		sb.append("\n" + Utils.toStringProperties("platformProperties", this.platformProperties));
-		sb.append("++++++++++++++++++++++++++++++++++++++++++\n");
-		return sb.toString();
-	}
-
-	private void updateAccordingToExpectedState(BundlesState bundlesState) {
-		//		File newFwJar = EquinoxBundlesState.getFwJar(launcherData, configData);
-		//		if (bundlesState instanceof EquinoxBundlesState)
-		//			((EquinoxBundlesState) bundlesState).setFwJar(newFwJar);
-		//
-		//		if (launcherData.getFwJar() == null && newFwJar != null)
-		//			launcherData.setFwJar(newFwJar);
-		BundleInfo[] newBundleInfos = bundlesState.getExpectedState();
-		configData.setBundles(newBundleInfos);
-	}
-
-	public static String makeRelative(String original, String rootPath) {
-		IPath path = new Path(original);
-		// ensure we have an absolute path to start with
-		if (!path.isAbsolute())
-			return original;
-
-		//Returns the original string if no relativization has been done
-		IPath result = path.makeRelativeTo(new Path(rootPath));
-		return path.equals(result) ? original : result.toString();
-	}
-
-	public static String makeRelative(String urlString, URL rootURL) {
-		// we only traffic in file: URLs
-		int index = urlString.indexOf(FILE_PROTOCOL);
-		if (index == -1)
-			return urlString;
-		index = index + 5;
-
-		// ensure we have an absolute path to start with
-		boolean done = false;
-		URL url = null;
-		String file = urlString;
-		while (!done) {
-			try {
-				url = new URL(file);
-				file = url.getFile();
-			} catch (java.net.MalformedURLException e) {
-				done = true;
-			}
-		}
-		if (url == null || !new File(url.getFile()).isAbsolute())
-			return urlString;
-
-		String rootString = rootURL.toExternalForm();
-		IPath one = new Path(urlString.substring(index));
-		IPath two = new Path(rootString.substring(rootString.indexOf(FILE_PROTOCOL) + 5));
-		String deviceOne = one.getDevice();
-		String deviceTwo = two.getDevice();
-		// do checking here because we want to return the exact string we got initially if
-		// we are unable to make it relative.
-		if (deviceOne != deviceTwo && (deviceOne == null || !deviceOne.equalsIgnoreCase(two.getDevice())))
-			return urlString;
-
-		return urlString.substring(0, index) + one.makeRelativeTo(two);
-	}
-
-	public static String makeArrayRelative(String array, URL rootURL) {
-		StringBuffer buffer = new StringBuffer();
-		for (StringTokenizer tokenizer = new StringTokenizer(array, COMMA); tokenizer.hasMoreTokens();) {
-			String token = tokenizer.nextToken();
-			String absolute = makeRelative(token, rootURL);
-			buffer.append(absolute);
-			if (tokenizer.hasMoreTokens())
-				buffer.append(',');
-		}
-		return buffer.toString();
-	}
-
-	public static String makeArrayAbsolute(String array, URL rootURL) {
-		StringBuffer buffer = new StringBuffer();
-		for (StringTokenizer tokenizer = new StringTokenizer(array, COMMA); tokenizer.hasMoreTokens();) {
-			String token = tokenizer.nextToken();
-			String absolute = makeAbsolute(token, rootURL);
-			buffer.append(absolute);
-			if (tokenizer.hasMoreTokens())
-				buffer.append(',');
-		}
-		return buffer.toString();
-	}
-
-	/*
-	 * Make the given path absolute to the specified root, if applicable. If not, then
-	 * return the path as-is.
-	 *
-	 * TODO: can we use URIUtil in these #make* methods?
-	 */
-	public static String makeAbsolute(String original, String rootPath) {
-		IPath path = new Path(original);
-		// ensure we have a relative path to start with
-		if (path.isAbsolute())
-			return original;
-		IPath root = new Path(rootPath);
-		return root.addTrailingSeparator().append(original.replace(':', '}')).toOSString().replace('}', ':');
-	}
-
-	public static String makeAbsolute(String urlString, URL rootURL) {
-		// we only traffic in file: URLs
-		int index = urlString.indexOf(FILE_PROTOCOL);
-		if (index == -1)
-			return urlString;
-		index = index + 5;
-
-		// ensure we have a relative path to start with
-		boolean done = false;
-		URL url = null;
-		String file = urlString;
-		while (!done) {
-			try {
-				url = new URL(file);
-				file = url.getFile();
-			} catch (java.net.MalformedURLException e) {
-				done = true;
-			}
-		}
-		if (url == null || new File(url.getFile()).isAbsolute())
-			return urlString;
-
-		return urlString.substring(0, index - 5) + makeAbsolute(urlString.substring(index), rootURL.toExternalForm());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
deleted file mode 100644
index e83b920..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Log.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * Utility class with static methods for logging to LogService, if available 
- */
-public class Log {
-	static private ServiceTracker logTracker;
-	static private boolean useLog = false;
-
-	public static void dispose() {
-		if (logTracker != null) {
-			logTracker.close();
-		}
-		logTracker = null;
-	}
-
-	public static void init(BundleContext bc) {
-		logTracker = new ServiceTracker(bc, LogService.class.getName(), null);
-		logTracker.open();
-	}
-
-	public static void log(int level, Object obj, String method, String message) {
-		log(level, obj, method, message, null);
-	}
-
-	public static void log(int level, Object obj, String method, String message, Throwable e) {
-		LogService logService = null;
-		String msg = "";
-		if (method == null) {
-			if (obj != null)
-				msg = "(" + obj.getClass().getName() + ")";
-		} else if (obj == null)
-			msg = "[" + method + "]" + message;
-		else
-			msg = "[" + method + "](" + obj.getClass().getName() + ")";
-		msg += message;
-		if (logTracker != null)
-			logService = (LogService) logTracker.getService();
-
-		if (logService != null) {
-			logService.log(level, msg, e);
-		} else {
-			String levelSt = null;
-			if (level == LogService.LOG_DEBUG)
-				levelSt = "DEBUG";
-			else if (level == LogService.LOG_INFO)
-				levelSt = "INFO";
-			else if (level == LogService.LOG_WARNING)
-				levelSt = "WARNING";
-			else if (level == LogService.LOG_ERROR) {
-				levelSt = "ERROR";
-				useLog = true;
-			}
-			if (useLog) {
-				System.err.println("[" + levelSt + "]" + msg);
-				if (e != null)
-					e.printStackTrace();
-			}
-		}
-	}
-
-	public static void log(int level, Object obj, String method, Throwable e) {
-		log(level, obj, method, null, e);
-	}
-
-	public static void log(int level, String message) {
-		log(level, null, null, message, null);
-	}
-
-	public static void log(int level, String message, Throwable e) {
-		log(level, null, null, message, e);
-	}
-
-	private Log() {
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
deleted file mode 100644
index de7c16b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2008 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 - Initial API and implementation
- **********************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.frameworkadmin.equinox.messages";//$NON-NLS-1$
-
-	public static String exception_inputFileIsDirectory;
-	public static String exception_fwConfigLocationName;
-	public static String exception_failedToCreateDir;
-	public static String exception_failedToRename;
-	public static String exception_launcherLocationNotSet;
-	public static String exception_noInstallArea;
-	public static String exception_fileURLExpected;
-	public static String exception_bundleManifest;
-	public static String exception_createAbsoluteURI;
-	public static String exception_nullConfigArea;
-	public static String exception_noFrameworkLocation;
-	public static String exception_errorSavingConfigIni;
-
-	public static String log_configFile;
-	public static String log_configProps;
-	public static String log_renameSuccessful;
-	public static String log_fwConfigSave;
-	public static String log_launcherConfigSave;
-	public static String log_shared_config_url;
-	public static String log_shared_config_relative_url;
-	public static String log_shared_config_file_missing;
-	public static String log_failed_reading_properties;
-	public static String log_failed_make_absolute;
-	public static String log_failed_make_relative;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
deleted file mode 100644
index 973795a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.log.LogService;
-
-public class ParserUtils {
-	private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-
-	public static File getOSGiInstallArea(List programArgs, Properties properties, LauncherData launcherData) {
-		if (launcherData == null)
-			return null;
-
-		//TODO This is not enough because if you only have -startup then osgi.install.area from the config.ini is used
-		File result = getOSGiInstallArea(programArgs, properties, launcherData.getLauncher() == null ? null : launcherData.getLauncher().getParentFile().toURI());
-		if (result != null)
-			return result;
-
-		if (launcherData.getFwJar() != null)
-			return fromOSGiJarToOSGiInstallArea(launcherData.getFwJar().getAbsolutePath());
-
-		File launcherFile = launcherData.getLauncher();
-		if (launcherFile != null) {
-			if (Constants.OS_MACOSX.equals(launcherData.getOS())) {
-				//the equinox launcher will look 3 levels up on the mac when going from executable to launcher.jar
-				//see org.eclipse.equinox.executable/library/eclipse.c : findStartupJar();
-				IPath launcherPath = new Path(launcherFile.getAbsolutePath());
-				if (launcherPath.segmentCount() > 4) {
-					//removing "Eclipse.app/Contents/MacOS/eclipse"
-					launcherPath = launcherPath.removeLastSegments(4);
-					return launcherPath.toFile();
-				}
-			}
-			return launcherFile.getParentFile();
-		}
-		return null;
-	}
-
-	public static URI getFrameworkJar(List lines, URI launcherFolder) {
-		String fwk = ParserUtils.getValueForArgument(EquinoxConstants.OPTION_FW, lines);
-		if (fwk == null) {
-			//Search the file system using the default location
-			URI location = FileUtils.getEclipsePluginFullLocation(EquinoxConstants.FW_SYMBOLIC_NAME, new File(URIUtil.toFile(launcherFolder), EquinoxConstants.PLUGINS_DIR));
-			if (location != null)
-				return location;
-			return null;
-		}
-		try {
-			return URIUtil.makeAbsolute(URIUtil.fromString(fwk), launcherFolder);
-		} catch (URISyntaxException e) {
-			Log.log(LogService.LOG_ERROR, NLS.bind(Messages.exception_createAbsoluteURI, fwk, launcherFolder));
-			return null;
-		}
-	}
-
-	//This method should only be used to determine the osgi install area when reading the eclipse.ini
-	public static File getOSGiInstallArea(List args, Properties properties, URI base) {
-		if (args == null)
-			return null;
-		String install = getValueForArgument(EquinoxConstants.OPTION_INSTALL, args);
-		if (install == null && properties != null)
-			install = properties.getProperty("osgi.install.area"); //$NON-NLS-1$
-
-		if (install != null) {
-			if (install.startsWith(FILE_PROTOCOL))
-				install = install.substring(FILE_PROTOCOL.length() + 1);
-			File installFile = new File(install);
-			if (installFile.isAbsolute())
-				return installFile;
-			return URIUtil.toFile(URIUtil.makeAbsolute(installFile.toURI(), base));
-		}
-
-		String startup = getValueForArgument(EquinoxConstants.OPTION_STARTUP, args);
-		if (startup != null && base != null) {
-			if (startup.startsWith(FILE_PROTOCOL)) {
-				try {
-					URI startupURI = new URI(startup);
-					startup = new File(startupURI).getAbsolutePath();
-				} catch (URISyntaxException e) {
-					startup = startup.substring(FILE_PROTOCOL.length() + 1);
-				}
-			}
-
-			File osgiInstallArea = fromOSGiJarToOSGiInstallArea(startup);
-			if (osgiInstallArea.isAbsolute())
-				return osgiInstallArea;
-
-			File baseFile = new File(base);
-			return new File(baseFile, osgiInstallArea.getPath());
-		}
-		return null;
-	}
-
-	public static File fromOSGiJarToOSGiInstallArea(String path) {
-		IPath parentFolder = new Path(path).removeLastSegments(1);
-		if (parentFolder.lastSegment().equalsIgnoreCase("plugins")) //$NON-NLS-1$
-			return parentFolder.removeLastSegments(1).toFile();
-		return parentFolder.toFile();
-	}
-
-	public static boolean isArgumentSet(String arg, List args) {
-		if (arg == null || args == null)
-			return false;
-		for (int i = 0; i < args.size(); i++) {
-			if (args.get(i) == null)
-				continue;
-			if (((String) args.get(i)).equalsIgnoreCase(arg)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public static String getValueForArgument(String arg, List args) {
-		if (arg == null || args == null)
-			return null;
-		for (int i = 0; i < args.size(); i++) {
-			if (args.get(i) == null)
-				continue;
-			if (((String) args.get(i)).equalsIgnoreCase(arg)) {
-				if (i + 1 < args.size() && args.get(i + 1) != null && ((String) args.get(i + 1)).charAt(0) != '-')
-					return (String) args.get(i + 1);
-			}
-		}
-		return null;
-	}
-
-	public static boolean setValueForArgument(String arg, String value, List args) {
-		if (arg == null || args == null)
-			return false;
-
-		for (int i = 0; i < args.size(); i++) {
-			if (args.get(i) == null)
-				continue;
-			String currentArg = ((String) args.get(i)).trim();
-			if (currentArg.equalsIgnoreCase(arg)) {
-				if (i + 1 < args.size()) {
-					String nextArg = (String) args.get(i + 1);
-					if (nextArg == null || nextArg.charAt(0) != '-') {
-						args.set(i + 1, value);
-					} else {
-						args.add(i + 1, value);
-					}
-					return true;
-				}
-				// else just append the value on the end
-				args.add(value);
-				return true;
-			}
-		}
-		args.add(arg);
-		args.add(value);
-		return true;
-	}
-
-	public static boolean removeArgument(String arg, List args) {
-		if (arg == null || args == null)
-			return false;
-		for (int i = 0; i < args.size(); i++) {
-			if (args.get(i) == null)
-				continue;
-			String currentArg = ((String) args.get(i)).trim();
-			if (currentArg.equalsIgnoreCase(arg)) {
-				args.set(i, null);
-				while (i + 1 < args.size() && args.get(i + 1) != null && ((String) args.get(i + 1)).charAt(0) != '-') {
-					args.set(i + 1, null);
-					i++;
-				}
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
deleted file mode 100644
index 6614607..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/messages.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-
-exception_inputFileIsDirectory= Illegal Argument: inputFile {0} must not be a directory.
-exception_fwConfigLocationName = Illegal State: Framework Configuration location "{0}" does not match {1}.
-exception_failedToCreateDir = Failed to create directory {0}.
-exception_failedToRename=Failed to rename {0} to {1}.
-exception_launcherLocationNotSet=The launcher location has not been set.
-exception_noInstallArea=Unable to determine osgi.install.area.
-exception_fileURLExpected= The property {0} = {1} is expected to be a \"file:\" URL.
-exception_bundleManifest= Unable to get bundle manifest for: {0}
-exception_createAbsoluteURI=Failed to create absolute URI from \"{0}\" and \"{1}\".
-exception_nullConfigArea=The configuration area is not set.
-exception_noFrameworkLocation = Unable to determinate the osgi.framework location.
-exception_errorSavingConfigIni = Error saving config.ini.
-
-log_configFile= Configuration file ({0}) has been read successfully.
-log_configProps= Configuration properties is empty.
-log_renameSuccessful= Successfully renamed {0} to {1}.
-log_fwConfigSave= Framework Configuration was saved successfully in {0}.
-log_launcherConfigSave= Launcher Configuration was saved successfully in {0}.
-log_shared_config_url=Failed creating shared configuration url for {0}.
-log_shared_config_relative_url=Failed creating shared configuration url for root: {0} and sharedConfiguration: {1}.
-log_shared_config_file_missing=Failed creating shared configuration. File missing: {0}.
-log_failed_reading_properties=Failed reading properties from file: {0}.
-log_failed_make_absolute=Failed to create absolute path for {0}.
-log_failed_make_relative=Failed to create relative path for {0}.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
deleted file mode 100644
index e5a439f..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/utils/FileUtils.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.equinox.utils;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxConstants;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.osgi.service.environment.Constants;
-import org.osgi.framework.Version;
-
-public class FileUtils {
-	private static String FILE_SCHEME = "file"; //$NON-NLS-1$
-	private static String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-	private static String REFERENCE_PROTOCOL = "reference:"; //$NON-NLS-1$
-	private static String INITIAL_PREFIX = "initial@"; //$NON-NLS-1$
-
-	// based on org.eclipse.core.runtime.adaptor.EclipseStarter#searchForBundle
-	public static URI getEclipseRealLocation(Manipulator manipulator, String location) {
-		//if this is some form of URL just return it
-		try {
-			new URL(location);
-			return URIUtil.makeAbsolute(new URI(location), ParserUtils.getOSGiInstallArea(Arrays.asList(manipulator.getLauncherData().getProgramArgs()), manipulator.getConfigData().getProperties(), manipulator.getLauncherData()).toURI());
-		} catch (URISyntaxException e) {
-			// expected
-		} catch (MalformedURLException e) {
-			// expected
-		}
-
-		File base = new File(location);
-		if (!base.isAbsolute()) {
-			String pluginsDir = getSysPath(manipulator);
-			if (pluginsDir == null)
-				return null;
-			base = new File(pluginsDir, location);
-		}
-
-		return getEclipsePluginFullLocation(base.getName(), base.getParentFile());
-	}
-
-	//This mimics the logic of EclipseStarter#getSysPath();
-	private static String getSysPath(final Manipulator manipulator) {
-		Properties properties = manipulator.getConfigData().getProperties();
-		String path = (String) properties.get(EquinoxConstants.PROP_OSGI_SYSPATH);
-		if (path != null)
-			return path;
-		path = (String) properties.get(EquinoxConstants.PROP_OSGI_FW);
-		if (path != null) {
-			if (path.startsWith(FILE_PROTOCOL))
-				path = path.substring(FILE_PROTOCOL.length());
-			File file = new File(path);
-			return file.getParentFile().getAbsolutePath();
-		}
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		File home = launcherData.getHome();
-		File pluginsDir = null;
-		if (home != null)
-			pluginsDir = new File(home, EquinoxConstants.PLUGINS_DIR);
-		else if (launcherData.getFwJar() != null)
-			pluginsDir = launcherData.getFwJar().getParentFile();
-		else if (launcherData.getLauncher() != null) {
-			File launcherDir = null;
-			if (Constants.OS_MACOSX.equals(launcherData.getOS())) {
-				IPath launcherPath = new Path(launcherData.getLauncher().getAbsolutePath());
-				if (launcherPath.segmentCount() > 4) {
-					launcherPath = launcherPath.removeLastSegments(4);
-					launcherDir = launcherPath.toFile();
-				}
-			} else
-				launcherDir = launcherData.getLauncher().getParentFile();
-			pluginsDir = new File(launcherDir, EquinoxConstants.PLUGINS_DIR);
-		}
-		if (pluginsDir != null)
-			return pluginsDir.getAbsolutePath();
-		return null;
-	}
-
-	public static String removeEquinoxSpecificProtocols(String location) {
-		if (location == null)
-			return null;
-		String ret = location;
-		if (location.startsWith(REFERENCE_PROTOCOL))
-			ret = location.substring(REFERENCE_PROTOCOL.length());
-		else if (location.startsWith(INITIAL_PREFIX))
-			ret = location.substring(INITIAL_PREFIX.length());
-		return ret;
-	}
-
-	public static URI getRealLocation(Manipulator manipulator, final String location) {
-		return FileUtils.getEclipseRealLocation(manipulator, removeEquinoxSpecificProtocols(location));
-	}
-
-	/**
-	 * If a bundle of the specified location is in the Eclipse plugin format (either plugin-name_version.jar 
-	 * or as a folder named plugin-name_version ), return version string.Otherwise, return null;
-	 * 
-	 * @return version string. If invalid format, return null. 
-	 */
-	private static Version getVersion(String version) {
-		if (version.length() == 0)
-			return Version.emptyVersion;
-
-		if (version.endsWith(".jar")) //$NON-NLS-1$
-			version = version.substring(0, version.length() - 4);
-
-		try {
-			return new Version(version);
-		} catch (IllegalArgumentException e) {
-			// bad format
-			return null;
-		}
-	}
-
-	/**
-	 * Find the named plugin in the given bundlesDir
-	 * @param pluginName
-	 * @param bundlesDir
-	 * @return a URL string for the found plugin, or null
-	 */
-	// Based on org.eclipse.core.runtime.adaptor.EclipseStarter#searchFor
-	public static URI getEclipsePluginFullLocation(String pluginName, File bundlesDir) {
-		if (bundlesDir == null)
-			return null;
-		File[] candidates = bundlesDir.listFiles();
-		if (candidates == null)
-			return null;
-
-		File result = null;
-		Version maxVersion = null;
-
-		for (int i = 0; i < candidates.length; i++) {
-			String candidateName = candidates[i].getName();
-			if (!candidateName.startsWith(pluginName))
-				continue;
-
-			if (candidateName.length() > pluginName.length() && candidateName.charAt(pluginName.length()) != '_') {
-				// allow jar file with no _version tacked on the end
-				if (!candidates[i].isFile() || (candidateName.length() != 4 + pluginName.length()) || !candidateName.endsWith(".jar")) //$NON-NLS-1$
-					continue;
-			}
-
-			String candidateVersion = ""; //$NON-NLS-1$
-			if (candidateName.length() > pluginName.length() + 1 && candidateName.charAt(pluginName.length()) == '_')
-				candidateVersion = candidateName.substring(pluginName.length() + 1);
-
-			Version currentVersion = getVersion(candidateVersion);
-			if (currentVersion == null)
-				continue;
-
-			if (maxVersion == null || maxVersion.compareTo(currentVersion) < 0) {
-				maxVersion = currentVersion;
-				result = candidates[i];
-			}
-		}
-		return result != null ? result.getAbsoluteFile().toURI() : null;
-	}
-
-	public static URI fromPath(String path) throws URISyntaxException {
-		if (path.startsWith(FILE_PROTOCOL)) {
-			try {
-				return new URI(path);
-			} catch (URISyntaxException e) {
-				path = path.substring(FILE_PROTOCOL.length() + 1);
-			}
-		}
-
-		File f = new File(path);
-		if (f.isAbsolute())
-			return f.toURI();
-		return URIUtil.fromString(FILE_PROTOCOL + path);
-	}
-
-	public static String toPath(URI uri) {
-		if (!FILE_SCHEME.equalsIgnoreCase(uri.getScheme()))
-			return new File(URIUtil.toUnencodedString(uri)).getPath();
-		return URIUtil.toFile(uri).getAbsolutePath();
-	}
-
-	public static String toFileURL(URI uri) {
-		if (uri.getScheme() != null)
-			return URIUtil.toUnencodedString(uri);
-		return FILE_PROTOCOL + URIUtil.toUnencodedString(uri);
-	}
-
-	public static URI fromFileURL(String url) throws URISyntaxException {
-		if (url.startsWith(FILE_PROTOCOL)) {
-			return URIUtil.fromString(new File(url.substring(FILE_PROTOCOL.length())).isAbsolute() ? url : url.substring(FILE_PROTOCOL.length()));
-		}
-		throw new URISyntaxException(url, "Not a file url");
-	}
-
-	/**
-	 * Loads an ini file, returning a list of all non-blank lines in the file.
-	 */
-	public static List loadFile(File file) throws IOException {
-		BufferedReader br = null;
-		try {
-			br = new BufferedReader(new FileReader(file));
-
-			String line;
-			List list = new ArrayList();
-			while ((line = br.readLine()) != null) {
-				//skip whitespace
-				if (line.trim().length() > 0)
-					list.add(line);
-			}
-			return list;
-		} finally {
-			if (br != null)
-				try {
-					br.close();
-				} catch (IOException e) {
-					//Ignore
-				}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.project b/bundles/org.eclipse.equinox.frameworkadmin.test/.project
deleted file mode 100644
index 3f88654..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.frameworkadmin.test</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index acf51d1..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,346 +0,0 @@
-#Mon Oct 20 11:38:02 EDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ac0fd9e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Wed Oct 24 10:14:02 EDT 2007
-eclipse.preferences.version=1
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index c231f4e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Oct 24 10:11:19 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch b/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
deleted file mode 100644
index c9e9787..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/Framework Admin Test.launch
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.equinox.p2.ui.sdk,ie.wombat.jbdiff.test,org.eclipse.equinox.p2.tools,org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.selfhosting"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/IBM-1.6.0-20090519-SR5"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.frameworkadmin.tests.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.frameworkadmin.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.equinox.p2.director.app.product"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.swt.win32.win32.x86@default:false,org.mortbay.jetty.util@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.jface.databinding@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.http.registry@default:default,javax.servlet@default:default,org.eclipse.equinox.common@2:true,org.eclipse.ui.navigator@default:default,org.eclipse.text@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.apache.lucene.analysis@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.apache.ant@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.osgi.services@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.core.commands@default:default,org.apache.commons.el@default:default,org.eclipse.team.core@default:default,org.eclipse.search@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.security@default:default,org.eclipse.jdt.core@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.app@default:default,com.ibm.icu@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.compare@default:default,org.apache.commons.logging@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.jface.text@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.osgi@-1:true,org.eclipse.core.net@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.equinox.security.ui@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.ecf.identity@default:default,org.junit@default:default,org.eclipse.core.variables@default:default,javax.servlet.jsp@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.update.core@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.ide.application@default:default,org.apache.lucene@default:default,org.eclipse.team.ui@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.help.ui@default:default,org.eclipse.ui.console@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.http.servlet@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.ui.editors@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.help.base@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.ant.core@default:default,org.eclipse.ui.win32@default:false,org.eclipse.debug.ui@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.jobs@default:default,org.eclipse.debug.core@default:default,org.eclipse.help@default:default,org.eclipse.ui@default:default,org.eclipse.core.expressions@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.update.configurator@3:true,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.compare.core@default:default,org.mortbay.jetty.server@default:default,org.apache.jasper@default:default,org.eclipse.update.ui@default:default,org.eclipse.ui.views@default:default,org.eclipse.core.resources@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.equinox.p2.testserver@default:default,org.eclipse.equinox.p2.tests@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.core.tests.harness@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.jdt.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.p2.tests.verifier@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.tests.ui@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.http@default:default,org.eclipse.sdk@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.director.app@default:default,aniefer.preferences.synchronizer@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.equinox.frameworkadmin.test@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.installer@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,ie.wombat.jbdiff@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.sar@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.pde.core@default:default,org.easymock@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.sat4j.core@default:default,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.equinox.p2.artifact.processors@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.ant.core@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.swt.tools@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.p2.tests.optimizers@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.pde.build.tests@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,rcp@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.pde.doc.user@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.test.performance@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
deleted file mode 100644
index 3a0c6d8..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Test Plug-in for Framework Admin
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.test
-Bundle-Version: 1.1.0.qualifier
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.frameworkadmin.equinox;bundle-version="1.0.100",
- org.junit;bundle-version="3.8.0"
-Bundle-Activator: org.eclipse.equinox.frameworkadmin.tests.Activator
-Import-Package: org.osgi.framework;version="1.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.frameworkadmin.tests
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/about.html b/bundles/org.eclipse.equinox.frameworkadmin.test/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties b/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
deleted file mode 100644
index 7023dcd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               dataFile/,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
deleted file mode 100644
index 3a535b6..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bundle 1
-Bundle-SymbolicName: bundle_1
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_2/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_2/META-INF/MANIFEST.MF
deleted file mode 100644
index f46d7f1..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/bundle_2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bundle 2
-Bundle-SymbolicName: bundle_2
-Bundle-Version: 1.0.0
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/dummy.frameworkextension_1.0.0.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/dummy.frameworkextension_1.0.0.jar
deleted file mode 100644
index e693114..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/dummy.frameworkextension_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.launcher.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.launcher.jar
deleted file mode 100644
index 5947c8d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.launcher.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
deleted file mode 100644
index 8a631d8..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.equinox.simpleconfigurator.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
deleted file mode 100644
index 20ca269..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi_3.4.0.jar b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi_3.4.0.jar
deleted file mode 100644
index 793ad70..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/org.eclipse.osgi_3.4.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/conf/config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/conf/config.ini
deleted file mode 100644
index c9f0304..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/conf/config.ini
+++ /dev/null
@@ -1 +0,0 @@
-foo=bar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/eclipse.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/eclipse.ini
deleted file mode 100644
index 4f54e62..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest1/eclipse.ini
+++ /dev/null
@@ -1,2 +0,0 @@
--configuration
-conf
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/configuration/config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/configuration/config.ini
deleted file mode 100644
index c9f0304..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/configuration/config.ini
+++ /dev/null
@@ -1 +0,0 @@
-foo=bar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/eclipse.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/eclipse.ini
deleted file mode 100644
index fbcc881..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTest3/eclipse.ini
+++ /dev/null
@@ -1 +0,0 @@
--foobar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/conf/config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/conf/config.ini
deleted file mode 100644
index c9f0304..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/conf/config.ini
+++ /dev/null
@@ -1 +0,0 @@
-foo=bar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/eclipse.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/eclipse.ini
deleted file mode 100644
index b31688c..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/eclipse.ini
+++ /dev/null
@@ -1,11 +0,0 @@
--startup
-plugins\org.eclipse.equinox.launcher_1.0.200.v20090306-1900.jar
---launcher.library
-plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090306-1900
--showsplash
-org.eclipse.platform
---launcher.XXMaxPermSize
-256m
--vmargs
--Xms40m
--Xmx356m
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/conf/config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/conf/config.ini
deleted file mode 100644
index c9f0304..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/conf/config.ini
+++ /dev/null
@@ -1 +0,0 @@
-foo=bar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/eclipse.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/eclipse.ini
deleted file mode 100644
index 06e5db0..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug285935/eclipse.ini
+++ /dev/null
@@ -1,5 +0,0 @@
--startup
-
-plugins/org.eclipse.equinox.launcher_1.0.300.v20090720.jar
--configuration
-conf
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/config.ini
deleted file mode 100644
index 7a8f3fa..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/config.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-config.shared=false
-from.parent=true
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-config.ini
deleted file mode 100644
index f46e725..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-config.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-osgi.sharedConfiguration.area=file\:configuration/
-config.shared=true
-
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-noshare-config.ini b/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-noshare-config.ini
deleted file mode 100644
index dd1498b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/dataFile/sharedconfiguration/user-noshare-config.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-config.shared=false
-
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AbstractFwkAdminTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AbstractFwkAdminTest.java
deleted file mode 100644
index f328d96..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AbstractFwkAdminTest.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URL;
-import java.util.List;
-import java.util.Properties;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public abstract class AbstractFwkAdminTest extends TestCase {
-	private ServiceTracker fwAdminTracker;
-	private File testFolder;
-
-	public AbstractFwkAdminTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Copy an input stream to an output stream.
-	 * Optionally close the streams when done.
-	 * Return the number of bytes written.
-	 */
-	public static int copyStream(InputStream in, boolean closeIn, OutputStream out, boolean closeOut) throws IOException {
-		try {
-			int written = 0;
-			byte[] buffer = new byte[16 * 1024];
-			int len;
-			while ((len = in.read(buffer)) != -1) {
-				out.write(buffer, 0, len);
-				written += len;
-			}
-			return written;
-		} finally {
-			try {
-				if (closeIn) {
-					in.close();
-				}
-			} finally {
-				if (closeOut) {
-					out.close();
-				}
-			}
-		}
-	}
-
-	public static boolean delete(File file) {
-		if (!file.exists())
-			return true;
-		if (file.isDirectory()) {
-			File[] children = file.listFiles();
-			for (int i = 0; i < children.length; i++)
-				delete(children[i]);
-		}
-		return file.delete();
-	}
-
-	public FrameworkAdmin getEquinoxFrameworkAdmin() throws BundleException {
-		final String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")";
-		final String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)";
-		final String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)";
-		final String filterFwAdmin = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")";
-
-		String FWK_ADMIN_EQ = "org.eclipse.equinox.frameworkadmin.equinox";
-		Bundle b = Platform.getBundle(FWK_ADMIN_EQ);
-		if (b == null)
-			throw new IllegalStateException("Bundle: " + FWK_ADMIN_EQ + " is required for this test");
-		b.start();
-
-		if (fwAdminTracker == null) {
-			Filter filter;
-			try {
-				filter = Activator.getContext().createFilter(filterFwAdmin);
-				fwAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
-				fwAdminTracker.open();
-			} catch (InvalidSyntaxException e) {
-				// never happens
-				e.printStackTrace();
-			}
-		}
-		return (FrameworkAdmin) fwAdminTracker.getService();
-	}
-
-	protected File getTestFolder(String name) {
-		Location instanceLocation = Platform.getInstanceLocation();
-		URL url = instanceLocation != null ? instanceLocation.getURL() : null;
-		if (instanceLocation == null || !instanceLocation.isSet() || url == null) {
-			testFolder = Activator.getContext().getDataFile(name);
-		} else {
-			testFolder = new File(url.getFile(), name);
-		}
-
-		if (testFolder.exists())
-			delete(testFolder);
-		testFolder.mkdirs();
-		return testFolder;
-	}
-
-	protected void runTest() throws Throwable {
-		super.runTest();
-
-		//clean up after success
-		if (testFolder != null && testFolder.exists()) {
-			delete(testFolder);
-			testFolder = null;
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (fwAdminTracker != null) {
-			fwAdminTracker.close();
-		}
-	}
-
-	public void assertIsFile(File file) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		if (!file.isFile())
-			fail("File: " + file.toString() + " is expected to be a file.");
-	}
-
-	public void assertIsDirectory(File file) {
-		if (!file.exists())
-			fail("Directory: " + file.toString() + " can't be found.");
-		if (!file.isDirectory())
-			fail("Directory: " + file.toString() + " is expected to be a directory.");
-	}
-
-	public void assertNothing(File file) {
-		if (file.exists())
-			fail("No file or directory should be there: " + file);
-	}
-
-	public void assertNotContent(File file, String search) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		try {
-			BufferedReader reader = null;
-			try {
-				reader = new BufferedReader(new FileReader(file));
-				while (reader.ready()) {
-					String line = reader.readLine();
-					if (line.indexOf(search) >= 0)
-						fail("The string: " + search + " was not expected in this file: " + file.getAbsolutePath());
-				}
-			} finally {
-				if (reader != null)
-					reader.close();
-			}
-		} catch (FileNotFoundException e) {
-			//ignore, caught before
-		} catch (IOException e) {
-			fail("String: " + search + " not found in " + file.getAbsolutePath());
-		}
-	}
-
-	public void assertIniFileNotContain(File file, String argument, String value) {
-		List args = null;
-		try {
-			args = FileUtils.loadFile(file);
-		} catch (IOException e) {
-			fail("Can't read file " + file);
-		}
-		String tmp = ParserUtils.getValueForArgument(argument, args);
-		if (tmp == null)
-			return;
-
-		assertTrue(tmp.indexOf(value) == -1);
-	}
-
-	private String getProperty(File file, String property) {
-		Properties p = new Properties();
-		FileInputStream fis = null;
-		try {
-			fis = new FileInputStream(file);
-			p.load(fis);			
-		} catch (FileNotFoundException e) {
-			fail("Can't find file " + file);
-		} catch (IOException e) {
-			fail("Error reading " + file);
-		} finally {
-			if (fis != null)
-				try {
-					fis.close();
-				} catch (IOException e) {
-					//ignore
-				}
-		}
-		return p.getProperty(property);
-	}
-	
-	public void assertPropertyContains(File file, String property, String text) {
-		String value = getProperty(file, property);
-		if (value == null)
-			fail("property: " + property + " not found in: " +file);
-		
-		int index = value.indexOf(text);
-		if (index == -1)
-			fail(text + " not found in property:" + property + " for file: " +file);
-	}
-
-	public void assertNotPropertyContains(File file, String property, String text) {
-		String value = getProperty(file, property);
-		if (value == null)
-			return;
-		
-		int index = value.indexOf(text);
-		if (index != -1)
-			fail(text + " found in property:" + property + " for file: " +file);
-	}
-
-	public void assertEquals(String[] array1, String[] array2) {
-		if (array1 == null || array2 == null) {
-			if (array1 == array2)
-				return;
-			fail(array1 + " not equal to " + array2);
-		}
-		assertEquals(array1.length, array2.length);
-		for (int i = 0; i < array1.length; i++) {
-			assertEquals(array1[i], array2[i]);
-		}
-	}
-
-	public void assertContent(File file, String search) {
-		assertContents(file, new String [] { search } );
-	}
-	public void assertContents(File file, String [] lines) {
-		if (!file.exists())
-			fail("File: " + file.toString() + " can't be found.");
-		int idx = 0;
-		try {
-			BufferedReader reader = null;
-			try {
-				reader = new BufferedReader(new FileReader(file));
-				while (reader.ready()) {
-					String line = reader.readLine();
-					if (line.indexOf(lines[idx]) >= 0) {
-						if(++idx >= lines.length)
-							return;
-					}
-				}
-			} finally {
-				if (reader != null)
-					reader.close();
-			}
-		} catch (FileNotFoundException e) {
-			//ignore, caught before
-		} catch (IOException e) {
-			fail("String: " + lines[idx] + " not found in " + file.getAbsolutePath());
-		}
-		fail("String:" + lines[idx] + " not found");
-	}
-
-	public void startSimpleConfiguratorManipulator() {
-		final String SIMPLECONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator";
-		Bundle manipulatorBundle = Platform.getBundle(SIMPLECONFIGURATOR_MANIPULATOR);
-		if (manipulatorBundle == null)
-			fail("Bundle: " + SIMPLECONFIGURATOR_MANIPULATOR + " is required for this test");
-		try {
-			manipulatorBundle.start();
-		} catch (BundleException e) {
-			fail("Exception while starting up " + SIMPLECONFIGURATOR_MANIPULATOR + ' ' + e.getMessage());
-		}
-	}
-
-	public void stopSimpleConfiguratorManipulator() {
-		final String SIMPLECONFIGURATOR_MANIPULATOR = "org.eclipse.equinox.simpleconfigurator.manipulator";
-		Bundle manipulatorBundle = Platform.getBundle(SIMPLECONFIGURATOR_MANIPULATOR);
-		if (manipulatorBundle == null)
-			return;
-		try {
-			manipulatorBundle.stop();
-		} catch (BundleException e) {
-			fail("Exception while starting up " + SIMPLECONFIGURATOR_MANIPULATOR + ' ' + e.getMessage());
-		}
-	}
-
-	/*
-	 * Copy
-	 * - if we have a file, then copy the file
-	 * - if we have a directory then merge
-	 */
-	public static void copy(String message, File source, File target) {
-		if (!source.exists())
-			return;
-		target.getParentFile().mkdirs();
-		if (source.isDirectory()) {
-			if (target.exists() && target.isFile())
-				target.delete();
-			if (!target.exists())
-				target.mkdirs();
-			File[] children = source.listFiles();
-			for (int i = 0; i < children.length; i++)
-				copy(message, children[i], new File(target, children[i].getName()));
-			return;
-		}
-		InputStream input = null;
-		OutputStream output = null;
-		try {
-			input = new BufferedInputStream(new FileInputStream(source));
-			output = new BufferedOutputStream(new FileOutputStream(target));
-
-			byte[] buffer = new byte[8192];
-			int bytesRead = 0;
-			while ((bytesRead = input.read(buffer)) != -1)
-				output.write(buffer, 0, bytesRead);
-		} catch (IOException e) {
-			fail(message + ": " + e);
-		} finally {
-			if (input != null) {
-				try {
-					input.close();
-				} catch (IOException e) {
-					System.err.println("Exception while trying to close input stream on: " + source.getAbsolutePath());
-					e.printStackTrace();
-				}
-			}
-			if (output != null) {
-				try {
-					output.close();
-				} catch (IOException e) {
-					System.err.println("Exception while trying to close output stream on: " + target.getAbsolutePath());
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/*
-	 * Look up and return a file handle to the given entry in the bundle.
-	 */
-	protected File getTestData(String message, String entry) {
-		if (entry == null)
-			fail(message + " entry is null.");
-		URL base = Activator.getContext().getBundle().getEntry(entry);
-		if (base == null)
-			fail(message + " entry not found in bundle: " + entry);
-		try {
-			String osPath = new Path(FileLocator.toFileURL(base).getPath()).toOSString();
-			File result = new File(osPath);
-			if (!result.getCanonicalPath().equals(result.getPath()))
-				fail(message + " result path: " + result.getPath() + " does not match canonical path: " + result.getCanonicalFile().getPath());
-			return result;
-		} catch (IOException e) {
-			fail(message + ": " + e);
-		}
-		// avoid compile error... should never reach this code
-		return null;
-	}
-
-	protected Manipulator getFrameworkManipulator(File configuration, File launcher) throws BundleException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configuration);
-		launcherData.setLauncher(launcher);
-
-		return manipulator;
-	}
-
-	//This is a dumb helper writing out the values as they have been passed to it.
-	protected void writeEclipseIni(File location, String[] lines) {
-		location.getParentFile().mkdirs();
-		BufferedWriter bw = null;
-		try {
-			bw = new BufferedWriter(new FileWriter(location));
-			for (int j = 0; j < lines.length; j++) {
-				bw.write(lines[j]);
-				bw.newLine();
-			}
-			bw.flush();
-
-		} catch (IOException e) {
-			fail("Fail writing eclipse.ini file");
-		} finally {
-			if (bw != null)
-				try {
-					bw.close();
-				} catch (IOException e) {
-					fail("Fail writing eclipse.ini file in " + location);
-				}
-		}
-	}
-
-	//This is a dumb helper writing out the values as they have been passed to it
-	protected void writeConfigIni(File location, Properties properties) {
-		location.getParentFile().mkdirs();
-		FileOutputStream out = null;
-		try {
-			out = new FileOutputStream(location);
-			properties.store(out, "#header");
-		} catch (IOException e) {
-			fail("Faile writing config.ini in" + location);
-		} finally {
-			try {
-				out.flush();
-				out.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			out = null;
-		}
-	}
-
-	public void assertContains(String message, BundleInfo[] bundles, URI location) {
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].getLocation().equals(location))
-				return;
-		}
-		fail(message + " Can't find the bundle info " + location);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Activator.java
deleted file mode 100644
index bed2838..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	private static BundleContext ctx;
-
-	public void start(BundleContext context) throws Exception {
-		ctx = context; 
-
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		ctx = null;
-	}
-
-	public static BundleContext getContext() {
-		return ctx;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java
deleted file mode 100644
index b6ab89d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(Bug196525.class);
-		suite.addTestSuite(Bug258370.class);
-		suite.addTestSuite(CleanupTest.class);
-		suite.addTestSuite(FrameworkExtensionTest.class);
-		suite.addTestSuite(LauncherConfigLocationTest.class);
-		suite.addTestSuite(LauncherDataTest.class);
-		suite.addTestSuite(ManipulatorTests.class);
-		suite.addTestSuite(NoConfigurationValueInEclipseIni.class);
-		suite.addTestSuite(NoRenamingLauncherIni.class);
-		suite.addTestSuite(OSGiVersionChange.class);
-		suite.addTestSuite(ReaderTest1.class);
-		suite.addTestSuite(ReaderTest2.class);
-		suite.addTestSuite(ReaderTest3.class);
-		suite.addTestSuite(ReaderTest4.class);
-		suite.addTestSuite(ReaderTest5.class);
-		suite.addTestSuite(ReaderTestBug267850.class);
-		suite.addTestSuite(ReaderTestBug285935.class);
-		suite.addTestSuite(RelativePathTest.class);
-		suite.addTestSuite(RemovingABundle.class);
-		suite.addTestSuite(RemovingAllBundles.class);
-		suite.addTestSuite(RenamingLauncherIni.class);
-		suite.addTestSuite(SharedConfigurationTest.class);
-		suite.addTestSuite(SimpleConfiguratorComingAndGoing.class);
-		suite.addTestSuite(SimpleConfiguratorTest.class);
-		suite.addTestSuite(TestEclipseDataArea.class);
-		suite.addTestSuite(TestRunningInstance.class);
-		suite.addTestSuite(TestVMArg.class);
-		suite.addTestSuite(UtilsTest.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug196525.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug196525.java
deleted file mode 100644
index 88f3eb0..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug196525.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class Bug196525 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private File configurationFolder = null;
-	private String launcherName = "eclipse";
-	private File bundleTXT;
-	private File configINI;
-
-	public Bug196525(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		startSimpleConfiguratorManipulator();
-		//create a configuration with osgi and simpleconfigurator in it
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = Activator.getContext().getDataFile(Bug196525.class.getName());
-		configurationFolder = new File(installFolder, "configuration");
-
-		bundleTXT = new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info");
-		configINI = new File(configurationFolder, "config.ini");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-	}
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		try {
-			assertContains("1.0", manipulator.getConfigData().getBundles(), URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))));
-			assertContains("2.0", manipulator.getConfigData().getBundles(), URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))));
-		} catch (URISyntaxException e) {
-			fail("Unexpected failure while creating URI");
-		}
-		BundleInfo bundle1Bi = new BundleInfo("bundle_1", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 2, true);
-
-		manipulator.getConfigData().addBundle(bundle1Bi);
-
-		manipulator.save(false);
-
-		assertContent(bundleTXT, "org.eclipse.osgi");
-		assertContent(configINI, "org.eclipse.osgi");
-		assertContent(bundleTXT, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(configINI, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(bundleTXT, "bundle_1");
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug258370.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug258370.java
deleted file mode 100644
index 8cc373a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/Bug258370.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class Bug258370 extends FwkAdminAndSimpleConfiguratorTest {
-	public Bug258370(String name) {
-		super(name);
-		// TODO Auto-generated constructor stub
-	}
-
-	public void testComma() {
-		FrameworkAdmin fwkAdmin = null;
-		try {
-			fwkAdmin = getEquinoxFrameworkAdmin();
-		} catch (BundleException e1) {
-			fail("0.0");
-		}
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SimpleConfiguratorTest.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			try {
-				manipulator.load();
-			} catch (FrameworkAdminRuntimeException e) {
-				fail("1.0");
-			} catch (IOException e) {
-				fail("2.0");
-			}
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = null;
-		BundleInfo bundle1Bi = null;
-		BundleInfo bundle2Bi = null;
-
-		try {
-			osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-			bundle1Bi = new BundleInfo("bundle_1", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 2, true);
-			bundle2Bi = new BundleInfo("bundle_2", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_2"))), 2, true);
-		} catch (URISyntaxException e) {
-			fail("3.0");
-		} catch (IOException e) {
-			fail("4.0");
-		}
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(bundle1Bi);
-		manipulator.getConfigData().addBundle(bundle2Bi);
-		try {
-			manipulator.save(false);
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("5.0");
-		} catch (IOException e) {
-			fail("6.0");
-		}
-
-		File configINI = new File(configurationFolder, "config.ini");
-		assertContent(configINI, "org.eclipse.osgi");
-		assertContent(configINI, "bundle_1");
-		assertContent(configINI, "bundle_2");
-		assertContent(configINI, "start,reference");	//This test for the presence of the comma.
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/CleanupTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/CleanupTest.java
deleted file mode 100644
index 4b6e483..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/CleanupTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-
-public class CleanupTest extends FwkAdminAndSimpleConfiguratorTest {
-
-	public CleanupTest(String name) {
-		super(name);
-	}
-
-	Manipulator m = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		m = createMinimalConfiguration(CleanupTest.class.getName());
-	}
-
-	public void testSimpleConfiguratorRemoval() {
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator"));
-		assertIsDirectory(getConfigurationFolder());
-
-		//Now remove osgi
-		bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.osgi"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(getConfigurationFolder());
-		assertNothing(new File(getInstallFolder(), getLauncherName() + ".ini"));
-	}
-
-	public void testOSGiRemoval() {
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.osgi"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertIsDirectory(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator"));
-		assertIsDirectory(getConfigurationFolder());
-		assertNotContent(new File(getConfigurationFolder(), "org.eclipse.equinox.simpleconfigurator/bundles.info"), "org.eclipse.osgi");
-
-		bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		try {
-			m.save(false);
-		} catch (IOException e) {
-			fail("Error while saving");
-		}
-		assertNothing(getConfigurationFolder());
-		assertNothing(new File(getInstallFolder(), getLauncherName() + ".ini"));
-	}
-
-	public void testWithMutipleBundles() throws IOException, URISyntaxException {
-		BundleInfo bi = new BundleInfo(URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 2);
-		m.getConfigData().addBundle(bi);
-		m.save(false);
-
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		m.save(false);
-
-		assertNothing(getBundleTxt());
-		assertContent(getConfigIni(), "bundle_1");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FrameworkExtensionTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FrameworkExtensionTest.java
deleted file mode 100644
index 33f4a0d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FrameworkExtensionTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.osgi.framework.Constants;
-
-public class FrameworkExtensionTest extends FwkAdminAndSimpleConfiguratorTest {
-
-	public FrameworkExtensionTest(String name) {
-		super(name);
-	}
-	
-	public void testAddRemoveFrameworkExtension() throws Exception  {
-		Manipulator manipulator = createMinimalConfiguration(FrameworkExtensionTest.class.getName());
-		BundleInfo bundleInfo = new BundleInfo("dummy.frameworkextension", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/dummy.frameworkextension_1.0.0.jar"))), 4, false);
-		bundleInfo.setFragmentHost(Constants.SYSTEM_BUNDLE_SYMBOLICNAME);
-		manipulator.getConfigData().addBundle(bundleInfo);
-		manipulator.save(false);
-		assertContent(getBundleTxt(), "dummy.frameworkextension");
-		assertPropertyContains(getConfigIni(),"osgi.framework.extensions", "dummy.frameworkextension");
-		assertNotPropertyContains(getConfigIni(),"osgi.bundles", "dummy.frameworkextension");
-		
-		BundleInfo basicBundleInfo = new BundleInfo("dummy.frameworkextension", "1.0.0", null, -1, false);
-		manipulator.getConfigData().removeBundle(basicBundleInfo);
-		manipulator.save(false);		
-		assertNotContent(getBundleTxt(), "dummy.frameworkextension");
-		assertNotPropertyContains(getConfigIni(),"osgi.framework.extensions", "dummy.frameworkextension");
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FwkAdminAndSimpleConfiguratorTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FwkAdminAndSimpleConfiguratorTest.java
deleted file mode 100644
index bf95063..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/FwkAdminAndSimpleConfiguratorTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public abstract class FwkAdminAndSimpleConfiguratorTest extends AbstractFwkAdminTest {
-	private File installFolder;
-	private File configurationFolder;
-	private String launcherName;
-
-	public FwkAdminAndSimpleConfiguratorTest(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		startSimpleConfiguratorManipulator();
-	}
-
-	protected Manipulator getNewManipulator(String workArea) throws FrameworkAdminRuntimeException, IOException, BundleException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = Activator.getContext().getDataFile(workArea);
-		configurationFolder = new File(installFolder, "configuration");
-		launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		return manipulator;
-	}
-
-	protected Manipulator createMinimalConfiguration(String workArea) throws Exception {
-		Manipulator manipulator = getNewManipulator(workArea);
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		try {
-			manipulator.save(false);
-		} catch (IOException e) {
-			fail("Error while persisting");
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("Error while persisting");
-		}
-		return manipulator;
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (installFolder != null)
-			delete(installFolder);
-	}
-
-	public File getInstallFolder() {
-		return installFolder;
-	}
-
-	public File getConfigurationFolder() {
-		return configurationFolder;
-	}
-
-	public File getBundleTxt() {
-		return new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info");
-	}
-
-	public File getConfigIni() {
-		return new File(configurationFolder, "config.ini");
-	}
-
-	public String getLauncherName() {
-		return launcherName;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherConfigLocationTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherConfigLocationTest.java
deleted file mode 100644
index 1e336a4..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherConfigLocationTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class LauncherConfigLocationTest extends AbstractFwkAdminTest {
-
-	public LauncherConfigLocationTest(String name) {
-		super(name);
-	}	
-	
-	public void testCustomLauncherConfig() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(LauncherConfigLocationTest.class.getName());
-		if(installFolder.exists())
-			delete(installFolder);
-		
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		assertNotNull("Null launcher data" + launcherData, launcherData);
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		
-		File defaultlaunchConfig = new File(installFolder, launcherName + ".ini");
-		assertEquals(defaultlaunchConfig.exists(), false);
-		File launchConfig = new File(installFolder, "mylaunch.ini");
-		assertEquals(launchConfig.exists(), false);
-		launcherData.setLauncherConfigLocation(launchConfig);
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		assertEquals(launchConfig.exists(), true);
-		assertEquals(defaultlaunchConfig.exists(), false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java
deleted file mode 100644
index 021b5a8..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-
-/**
- * @since 1.0
- */
-public class LauncherDataTest extends TestCase {
-
-	/*
-	 * Constructor for the class.
-	 */
-	public LauncherDataTest(String name) {
-		super(name);
-	}
-
-	public void testRemoveProgramArg() {
-		LauncherData data = new LauncherData("equinox", "1.0", "eclipse", "1.0");
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo"});
-		data.removeProgramArg("-startup");
-		assertEquals("1.0", new String[] {"-console"}, data.getProgramArgs());
-
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "-bar"});
-		data.removeProgramArg("-startup");
-		assertEquals("2.0", new String[] {"-console", "-bar"}, data.getProgramArgs());
-
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-startup", "foo"});
-		data.removeProgramArg("-startup");
-		assertEquals("3.0", new String[0], data.getProgramArgs());
-
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar"});
-		data.removeProgramArg("-startup");
-		assertEquals("4.0", new String[] {"-console"}, data.getProgramArgs());
-
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"});
-		data.removeProgramArg("-startup");
-		assertEquals("5.0", new String[] {"-console", "-xxx"}, data.getProgramArgs());
-
-		// arg which doesn't start with a dash - dont' consume anything but that specific arg
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"});
-		data.removeProgramArg("foo");
-		assertEquals("6.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs());
-
-		// non-matching arg
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"});
-		data.removeProgramArg("zzz");
-		assertEquals("7.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs());
-
-		// empty string
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"});
-		data.removeProgramArg("foo");
-		assertEquals("8.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs());
-
-		// just whitespace
-		data.setProgramArgs(null);
-		data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"});
-		data.removeProgramArg(" ");
-		assertEquals("9.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs());
-
-	}
-
-	/*
-	 * Compare the give 2 arrays and assert whether or not they should be considered equal.
-	 */
-	public static void assertEquals(String message, String[] one, String[] two) {
-		if (one == null)
-			assertNull(message, two);
-		if (two == null)
-			fail(message);
-		assertEquals(message, one.length, two.length);
-		for (int i = 0; i < one.length; i++)
-			assertEquals(message, one[i], two[i]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/MacOSLikeSetup.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/MacOSLikeSetup.java
deleted file mode 100644
index d805e5a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/MacOSLikeSetup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxConstants;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.osgi.service.environment.Constants;
-import org.osgi.framework.BundleException;
-
-public class MacOSLikeSetup extends FwkAdminAndSimpleConfiguratorTest {
-
-	public MacOSLikeSetup(String name) {
-		super(name);
-	}
-
-	public void testMacOSSetup() throws FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = new File(Activator.getContext().getDataFile(MacOSLikeSetup.class.getName()), "eclipse");
-		File configurationFolder = new File(installFolder, "configuration");
-		File launcherFolder = new File(installFolder, "Eclipse.app/Contents/MacOS/"); 
-		File launcherName = new File(launcherFolder, "eclipse");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(launcherName);
-		launcherData.setLauncherConfigLocation(new File(launcherFolder, "eclipse.ini"));
-		launcherData.setOS(Constants.OS_MACOSX);
-
-		//Setup the plugins as they should
-		File osgiJar = new File(installFolder, "plugins/org.eclipse.osgi.jar");
-		File scJar = new File(installFolder, "plugins/org.eclipse.equinox.simpleconfigurator.jar");
-		File launcherJar = new File(installFolder, "plugins/org.eclipse.equinox.launcher.jar");
-		copy("OSGi", new File(FileLocator.toFileURL(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar")).getPath()), osgiJar);
-		copy("SC", new File(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).getPath()), scJar);
-		copy("Startup", new File(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.launcher.jar")).getPath()), launcherJar);
-		
-		manipulator.getConfigData().addBundle(new BundleInfo(osgiJar.toURI()));
-		manipulator.getConfigData().addBundle(new BundleInfo(scJar.toURI(), 1, true));
-		manipulator.getConfigData().addBundle(new BundleInfo(launcherJar.toURI()));
-		
-		manipulator.getLauncherData().addProgramArg(EquinoxConstants.OPTION_STARTUP);
-		manipulator.getLauncherData().addProgramArg(launcherJar.toURI().toString());
-		
-		manipulator.getLauncherData().setFwJar(osgiJar);
-		
-		try {
-			manipulator.save(false);
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		File launcherIni = new File(launcherFolder, "eclipse.ini");
-		assertNotContent(launcherIni, "-configuration");
-		assertNotContent(launcherIni, "-install");
-		assertContent(launcherIni, "-startup");
-		assertContent(launcherIni, "../../../plugins/org.eclipse.equinox.launcher.jar");
-		assertNotContent(launcherIni, MacOSLikeSetup.class.getName());
-		assertNotContent(new File(configurationFolder, "config.ini"), MacOSLikeSetup.class.getName());
-		assertTrue("bundles.info missing", new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info").exists());
-		
-	}
-	
-	public void testMacWithoutStartupOrFw() throws Exception {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = new File(Activator.getContext().getDataFile(MacOSLikeSetup.class.getName()), "eclipse");
-		File configurationFolder = new File(installFolder, "configuration");
-		File launcherFolder = new File(installFolder, "Eclipse.app/Contents/MacOS/"); 
-		File launcherName = new File(launcherFolder, "eclipse");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(launcherName);
-		launcherData.setOS(Constants.OS_MACOSX);
-		
-		File osgiJar = new File(installFolder, "plugins/org.eclipse.osgi.jar");
-		File scJar = new File(installFolder, "plugins/org.eclipse.equinox.simpleconfigurator.jar");
-		File bundle = new File(installFolder, "plugins/bundle_1");
-		copy("OSGi", new File(FileLocator.toFileURL(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar")).getPath()), osgiJar);
-		copy("SC", new File(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar")).getPath()), scJar);
-		copy("bundle", new File(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).getPath()), bundle);
-		
-		manipulator.getConfigData().addBundle(new BundleInfo(osgiJar.toURI()));
-		manipulator.getConfigData().addBundle(new BundleInfo(scJar.toURI(), 1, true));
-		manipulator.getConfigData().addBundle(new BundleInfo(bundle.toURI()));
-		manipulator.save(false);
-		
-		File launcherIni = new File(launcherFolder, "eclipse.ini");
-		File bundleInfo = new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info");
-		assertNotContent(launcherIni, "-configuration");
-		assertNotContent(launcherIni, "../../../configuration");
-		assertContent(bundleInfo, "file:plugins/bundle_1/");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ManipulatorTests.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ManipulatorTests.java
deleted file mode 100644
index e8897ef..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ManipulatorTests.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-public class ManipulatorTests extends AbstractFwkAdminTest {
-
-	public ManipulatorTests(String name) {
-		super(name);
-	}
-
-	public void testBug212361_osgiInBundlesList() throws Exception {
-		File installFolder = Activator.getContext().getDataFile("212361");
-		File configurationFolder = new File(installFolder, "configuration");
-		Manipulator manipulator = getFrameworkManipulator(configurationFolder, new File(installFolder, "foo"));
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		Properties configIni = new Properties();
-		InputStream in = new BufferedInputStream(new FileInputStream(new File(configurationFolder, "config.ini")));
-		configIni.load(in);
-		in.close();
-
-		String bundles = (String) configIni.get("osgi.bundles");
-		assertTrue(bundles.indexOf("org.eclipse.osgi") == -1);
-	}
-
-	public void testBug277553_installAreaFromFwJar() throws Exception {
-		File folder = getTestFolder("installAreaFromFwJar");
-		File fwJar = new File(folder, "plugins/org.eclipse.osgi.jar");
-		fwJar.getParentFile().mkdirs();
-
-		copyStream(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar").openStream(), true, new FileOutputStream(fwJar), true);
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", fwJar.toURI(), 0, true);
-		
-		File ini = new File(folder, "eclipse.ini");
-		writeEclipseIni(ini, new String[] {"-foo", "bar", "-vmargs", "-Xmx256m"});
-		
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		manipulator.getConfigData().addBundle(osgiBi);
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwJar(fwJar);
-		launcherData.setLauncher(new File(folder, "eclipse"));
-
-		manipulator.load();
-		
-		assertEquals(manipulator.getLauncherData().getFwPersistentDataLocation(), new File(folder, "configuration"));
-	}
-	
-	public void testBug258126_ProgramArgs_VMArgs() throws Exception {
-		File installFolder = getTestFolder("258126");
-		File ini = new File(installFolder, "eclipse.ini");
-		writeEclipseIni(ini, new String[] {"-foo", "bar", "-vmargs", "-Xmx256m"});
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, "eclipse"));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		assertEquals(launcherData.getJvmArgs(), new String[] {"-Xmx256m"});
-		assertEquals(launcherData.getProgramArgs(), new String[] {"-foo", "bar"});
-
-		launcherData.addJvmArg("-Xms64m");
-		launcherData.addProgramArg("-console");
-
-		//eclipse.ini won't save unless we actually have something in the configuration
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.save(false);
-
-		assertContents(ini, new String[] {"-foo", "bar", "-console", "-vmargs", "-Xmx256m", "-Xms64m"});
-	}
-	
-	public void testParserUtils_removeArgument() throws Exception {
-		String [] args = new String [] { "-bar", "-foo", "-other"};
-		ParserUtils.removeArgument("-foo", Arrays.asList(args));
-		assertEquals(args, new String [] {"-bar", null, "-other"});
-		
-		args = new String [] { "-bar", "-foo", "other"};
-		ParserUtils.removeArgument("-foo", Arrays.asList(args));
-		assertEquals(args, new String [] {"-bar", null, null});
-		
-		args = new String [] { "-bar", "-foo", "s-pecial"};
-		ParserUtils.removeArgument("-foo", Arrays.asList(args));
-		assertEquals(args, new String [] {"-bar", null, null});
-	}
-	
-	public void testParserUtils_setValueForArgument() throws Exception {
-		List args = new ArrayList();
-		ParserUtils.setValueForArgument("-foo", "bar", args);
-		assertTrue(args.size() == 2);
-		assertEquals(args.get(0), "-foo");
-		assertEquals(args.get(1), "bar");
-		
-		args.add("-other");
-		args.set(1, "s-pecial");
-		ParserUtils.setValueForArgument("-foo", "bas", args);
-		assertTrue(args.size() == 3);
-		assertEquals(args.get(0), "-foo");
-		assertEquals(args.get(1), "bas");
-		assertEquals(args.get(2), "-other");
-		
-		args.remove(1);
-		ParserUtils.setValueForArgument("-foo", "bas", args);
-		assertTrue(args.size() == 3);
-		assertEquals(args.get(0), "-foo");
-		assertEquals(args.get(1), "bas");
-		assertEquals(args.get(2), "-other");
-	}
-	
-	public void testParserUtils_getValueForArgument() throws Exception {
-		List args = new ArrayList();
-		args.add("-foo");
-		args.add("bar");
-		assertEquals( "bar", ParserUtils.getValueForArgument("-foo", args));
-		
-		args.set(1, "-bar");
-		assertEquals(null, ParserUtils.getValueForArgument("-foo", args));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoConfigurationValueInEclipseIni.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoConfigurationValueInEclipseIni.java
deleted file mode 100644
index 453038a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoConfigurationValueInEclipseIni.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class NoConfigurationValueInEclipseIni extends FwkAdminAndSimpleConfiguratorTest {
-
-	public NoConfigurationValueInEclipseIni(String name) {
-		super(name);
-	}
-
-	public void testAbsenceOfConfigurationInEclipseINI() throws Exception {
-		createMinimalConfiguration(NoConfigurationValueInEclipseIni.class.getName());
-		File launcherIni = new File(getInstallFolder(), getLauncherName() + ".ini");
-		assertNotContent(launcherIni, "-configuration");
-	}
-
-	public void testPresenceOfConfigurationInEclipseINI() throws FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile("bis" + NoConfigurationValueInEclipseIni.class.getName());
-		File configurationFolder = new File(installFolder, "config2");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		try {
-			manipulator.save(false);
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		File launcherIni = new File(installFolder, launcherName + ".ini");
-		assertContent(launcherIni, "-configuration");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoRenamingLauncherIni.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoRenamingLauncherIni.java
deleted file mode 100644
index a8c5038..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/NoRenamingLauncherIni.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class NoRenamingLauncherIni extends AbstractFwkAdminTest {
-
-	public NoRenamingLauncherIni(String name) {
-		super(name);
-	}
-
-	public void testConfigFiles() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(NoRenamingLauncherIni.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		File fooINI = new File(installFolder, "foo.ini");
-		assertEquals(fooINI.exists(), true);
-
-		Manipulator m2 = fwkAdmin.getManipulator();
-
-		LauncherData launcherData2 = m2.getLauncherData();
-		launcherData2.setFwConfigLocation(configurationFolder);
-		launcherData2.setLauncher(new File(installFolder, launcherName));
-
-		try {
-			m2.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		launcherData2.setLauncher(new File(installFolder, "bar"));
-		m2.save(false);
-
-		assertEquals(fooINI.exists(), false);
-		assertEquals(new File(installFolder, "bar.ini").exists(), true);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/OSGiVersionChange.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/OSGiVersionChange.java
deleted file mode 100644
index 293a680..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/OSGiVersionChange.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class OSGiVersionChange extends FwkAdminAndSimpleConfiguratorTest {
-	private Manipulator defaultManipulator = null;
-	private String workArea = OSGiVersionChange.class.getName();
-
-	public OSGiVersionChange(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		defaultManipulator = createMinimalConfiguration(workArea);
-	}
-
-	public void testRemovalUsingSameManipulator() throws IllegalStateException, FrameworkAdminRuntimeException, IOException {
-		BundleInfo[] infos = defaultManipulator.getConfigData().getBundles();
-		BundleInfo osgi = null;
-		for (int i = 0; i < infos.length; i++) {
-			if ("org.eclipse.osgi".equals(infos[i].getSymbolicName())) {
-				osgi = infos[i];
-				break;
-			}
-		}
-		assertEquals(true, defaultManipulator.getConfigData().removeBundle(osgi));
-		defaultManipulator.save(false);
-		assertNotContent(getBundleTxt(), "org.eclipse.osgi");
-		assertNotPropertyContains(getConfigIni(),"osgi.bundles", "org.eclipse.osgi");
-	}
-
-	public void testRemovalUsingOtherManipulator() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		Manipulator newManipulator = getNewManipulator(workArea);
-		BundleInfo[] infos = newManipulator.getConfigData().getBundles();
-		BundleInfo osgi = null;
-		for (int i = 0; i < infos.length; i++) {
-			if ("org.eclipse.osgi".equals(infos[i].getSymbolicName())) {
-				osgi = infos[i];
-				break;
-			}
-		}
-		newManipulator.getConfigData().removeBundle(osgi);
-		newManipulator.save(false);
-		assertNotContent(getBundleTxt(), "org.eclipse.osgi");
-		assertNotPropertyContains(getConfigIni(),"osgi.bundles", "org.eclipse.osgi");
-	}
-
-	public void testAdditionUsingOtherManipulator() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		BundleInfo[] infos = defaultManipulator.getConfigData().getBundles();
-		BundleInfo osgi = null;
-		for (int i = 0; i < infos.length; i++) {
-			if ("org.eclipse.osgi".equals(infos[i].getSymbolicName())) {
-				osgi = infos[i];
-				break;
-			}
-		}
-		assertEquals(true, defaultManipulator.getConfigData().removeBundle(osgi));
-		defaultManipulator.save(false);
-
-		Manipulator newManipulator = getNewManipulator(workArea);
-
-		newManipulator.getConfigData().addBundle(osgi);
-		newManipulator.save(false);
-		assertContent(getBundleTxt(), "org.eclipse.osgi");
-		assertNotPropertyContains(getConfigIni(),"osgi.bundles", "org.eclipse.osgi");
-	}
-
-	public void testChangeVersion() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, URISyntaxException {
-		BundleInfo[] infos = defaultManipulator.getConfigData().getBundles();
-		BundleInfo osgi = null;
-		for (int i = 0; i < infos.length; i++) {
-			if ("org.eclipse.osgi".equals(infos[i].getSymbolicName())) {
-				osgi = infos[i];
-				break;
-			}
-		}
-		defaultManipulator.getConfigData().removeBundle(osgi);
-		defaultManipulator.save(false);
-
-		//These two constants describe the data file used in the test
-		final String FILENAME = "org.eclipse.osgi_3.4.0.jar";
-		final String VERSION = "3.4.0.v20071105";
-		BundleInfo newOSGi = new BundleInfo("org.eclipse.osgi", "3.4.0.v20071105", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/" + FILENAME))), 0, true);
-		defaultManipulator.getConfigData().addBundle(newOSGi);
-		defaultManipulator.save(false);
-		assertContent(getBundleTxt(), VERSION);
-		assertContent(getConfigIni(), FILENAME);
-	}
-
-	public void testReadConfigWithoutOSGi() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		//First Create a configuration that does not contain OSGi
-		BundleInfo[] infos = defaultManipulator.getConfigData().getBundles();
-		BundleInfo osgi = null;
-		for (int i = 0; i < infos.length; i++) {
-			if ("org.eclipse.osgi".equals(infos[i].getSymbolicName())) {
-				osgi = infos[i];
-				break;
-			}
-		}
-		defaultManipulator.getConfigData().removeBundle(osgi);
-		defaultManipulator.save(false);
-		assertNotContent(getBundleTxt(), "org.eclipse.osgi");
-		assertNotPropertyContains(getConfigIni(),"osgi.bundles", "org.eclipse.osgi");
-
-		Manipulator newManipulator = getNewManipulator(workArea);
-		assertEquals(1, newManipulator.getConfigData().getBundles().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest1.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest1.java
deleted file mode 100644
index d0fb715..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest1.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTest1 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTest1(String name) {
-		super(name);
-	}
-
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = getTestData(ReaderTest1.class.getName(),"dataFile/readerTest1");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		assertEquals(new File(installFolder, "conf"), manipulator.getLauncherData().getFwConfigLocation()); 
-		assertEquals("bar", manipulator.getConfigData().getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest2.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest2.java
deleted file mode 100644
index fac583e..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest2.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Properties;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTest2 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private File configurationFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTest2(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		startSimpleConfiguratorManipulator();
-
-		installFolder = Activator.getContext().getDataFile(ReaderTest2.class.getName());
-		configurationFolder = new File(installFolder, "conf");
-		writeEclipseIni(new File(installFolder, "eclipse.ini"), new String[] { "-configuration", configurationFolder.getAbsolutePath() });
-		Properties properties = new Properties();
-		properties.setProperty("foo", "bar");
-		writeConfigIni(new File(configurationFolder, "config.ini"), properties);
-	}
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals(new File(installFolder, "conf"), manipulator.getLauncherData().getFwConfigLocation());  
-		assertEquals("bar", manipulator.getConfigData().getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest3.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest3.java
deleted file mode 100644
index 4def4fd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest3.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTest3 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTest3(String name) {
-		super(name);
-	}
-
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = getTestData(ReaderTest3.class.getName(),"dataFile/readerTest3");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		assertEquals(new File(installFolder, "configuration"), manipulator.getLauncherData().getFwConfigLocation()); 
-		assertEquals("bar", manipulator.getConfigData().getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest4.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest4.java
deleted file mode 100644
index dd08dcc..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest4.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Properties;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTest4 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private File configurationFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTest4(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		startSimpleConfiguratorManipulator();
-
-		installFolder = Activator.getContext().getDataFile(ReaderTest4.class.getName());
-		configurationFolder = new File(installFolder, "conf");
-		writeEclipseIni(new File(installFolder, "eclipse.ini"), new String[] { "-install", installFolder.getAbsolutePath(), "-configuration", URIUtil.toUnencodedString(URIUtil.makeRelative(configurationFolder.toURI(), installFolder.toURI())) });
-		Properties properties = new Properties();
-		properties.setProperty("foo", "bar");
-		writeConfigIni(new File(configurationFolder, "config.ini"), properties);
-	}
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals(new File(installFolder, "conf"), manipulator.getLauncherData().getFwConfigLocation());  
-		assertEquals("bar", manipulator.getConfigData().getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest5.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest5.java
deleted file mode 100644
index 8363f41..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTest5.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Properties;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTest5 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private File configurationFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTest5(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		startSimpleConfiguratorManipulator();
-
-		installFolder = Activator.getContext().getDataFile(ReaderTest5.class.getName());
-		configurationFolder = new File(installFolder, "configuration");
-		writeEclipseIni(new File(installFolder, "eclipse.ini"), new String[] { "-install", installFolder.getAbsolutePath()});
-		Properties properties = new Properties();
-		properties.setProperty("foo", "bar");
-		writeConfigIni(new File(configurationFolder, "config.ini"), properties);
-	}
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals(configurationFolder, manipulator.getLauncherData().getFwConfigLocation());  
-		assertEquals("bar", manipulator.getConfigData(). getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug267850.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug267850.java
deleted file mode 100644
index f41cc5d..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug267850.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTestBug267850 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTestBug267850(String name) {
-		super(name);
-	}
-
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = getTestData(ReaderTestBug267850.class.getName(),"dataFile/readerTestBug267850");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		LauncherData data = manipulator.getLauncherData();
-		String[] args = data.getProgramArgs();
-		assertEquals("-startup", args[0]);
-//		assertEquals("file:/C:/1target/provmiddle/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/plugins/org.eclipse.equinox.launcher_1.0.200.v20090306-1900.jar", args[1]);
-		assertEquals("--launcher.library", args[2]);
-//		assertEquals("file:/C:/1target/provmiddle/org.eclipse.equinox.frameworkadmin.test/dataFile/readerTestBug267850/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090306-1900", args[3]);
-		assertEquals("-showsplash", args[4]);
-		assertEquals("org.eclipse.platform", args[5]);
-		assertEquals("--launcher.XXMaxPermSize", args[6]);
-		assertEquals("256m", args[7]);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug285935.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug285935.java
deleted file mode 100644
index 2c1f0dd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/ReaderTestBug285935.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class ReaderTestBug285935 extends AbstractFwkAdminTest {
-	private File installFolder = null;
-	private String launcherName = "eclipse";
-
-	public ReaderTestBug285935(String name) {
-		super(name);
-	}
-
-
-	public void testConfigContent() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		installFolder = getTestData(ReaderTestBug285935.class.getName(),"dataFile/readerTestBug285935");
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		assertEquals(new File(installFolder, "conf"), manipulator.getLauncherData().getFwConfigLocation()); 
-		assertEquals("bar", manipulator.getConfigData().getProperty("foo"));
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RelativePathTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RelativePathTest.java
deleted file mode 100644
index 481dfe7..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RelativePathTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-public class RelativePathTest extends FwkAdminAndSimpleConfiguratorTest {
-	/** Constant value indicating if the current platform is Windows */
-	private static final boolean WINDOWS = java.io.File.separatorChar == '\\';
-
-	public RelativePathTest(String name) throws Exception {
-		super(name);
-	}
-
-	public void testRelativePaths() throws Exception {
-		File installFolder = Activator.getContext().getDataFile(RelativePathTest.class.getName());
-
-		//First we copy some jars into a well
-		File osgiJar = new File(installFolder, "plugins/org.eclipse.osgi.jar");
-		osgiJar.getParentFile().mkdirs();
-		File scJar = new File(installFolder, "plugins/org.eclipse.equinox.simpleconfigurator.jar");
-
-		copyStream(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar").openStream(), true, new FileOutputStream(osgiJar), true);
-		copyStream(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar").openStream(), true, new FileOutputStream(scJar), true);
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", osgiJar.toURI(), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", scJar.toURI(), 1, true);
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-		try {
-			manipulator.save(false);
-		} catch (IOException e) {
-			fail("Error while persisting");
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("Error while persisting");
-		}
-
-		//":path.jar" is a  poor man approach to test relative paths 
-		assertNotContent(new File(configurationFolder, "config.ini"), installFolder.getAbsolutePath());
-		assertNotContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), installFolder.getAbsolutePath());
-		assertContent(new File(configurationFolder, "config.ini"), ":org.eclipse.equinox.simpleconfigurator.jar");
-		//Note: This is testing for old style bundle locations
-		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), "file:plugins/org.eclipse.equinox.simpleconfigurator.jar");
-		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), "file:plugins/org.eclipse.osgi.jar");
-
-		BundleInfo bi = new BundleInfo(URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 2);
-		manipulator.getConfigData().addBundle(bi);
-		manipulator.save(false);
-		//		assertContent(new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1")).toExternalForm());
-
-		Manipulator newManipulator = fwkAdmin.getManipulator();
-		LauncherData newLauncherData = newManipulator.getLauncherData();
-		newLauncherData.setFwConfigLocation(configurationFolder);
-		newLauncherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-	}
-
-	public void testMakeRelative_NonWindows() {
-		if (WINDOWS)
-			return;
-		URL base = null;
-		try {
-			base = new URL("file:/eclipse/");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-			fail("0.98");
-		}
-		// data - [0] is the test data and [1] is the expected result
-		String[][] data = new String[][] { //
-		new String[] {"file:/home/eclipse/foo.jar", "file:../home/eclipse/foo.jar"}, //
-				new String[] {"file:///home/eclipse/foo.jar", "file:../home/eclipse/foo.jar"}, //
-		};
-		for (int i = 0; i < data.length; i++)
-			assertEquals("1." + i, data[i][1], EquinoxManipulatorImpl.makeRelative(data[i][0], base));
-	}
-
-	public void testMakeRelative_Windows() {
-		if (!WINDOWS)
-			return;
-		URL base = null;
-		// platform specific data
-		try {
-			base = new URL("file:/c:/a/eclipse/");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-			fail("0.99");
-		}
-		// data - [0] is the test data and [1] is the expected result
-		String[][] data = new String[][] {new String[] {"file:c:/b/shared/plugins/bar.jar", "file:../../b/shared/plugins/bar.jar"}, //
-				new String[] {"file:d:/b/shared/plugins/bar.jar", "file:d:/b/shared/plugins/bar.jar"}, //
-				new String[] {"file:/c:/a/eclipse/plugins/bar.jar", "file:plugins/bar.jar"}, //
-				new String[] {"file:c:/a/eclipse/plugins/bar.jar", "file:plugins/bar.jar"}, //
-				new String[] {"file:/c:/a/shared/plugins/bar.jar", "file:../shared/plugins/bar.jar"}, //
-				new String[] {"file:/d:/a/eclipse/plugins/bar.jar", "file:/d:/a/eclipse/plugins/bar.jar"}, //
-				new String[] {"file:/c:/x/eclipse/plugins/bar.jar", "file:../../x/eclipse/plugins/bar.jar"}, //
-		};
-		for (int i = 0; i < data.length; i++)
-			assertEquals("2." + i, data[i][1], EquinoxManipulatorImpl.makeRelative(data[i][0], base));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingABundle.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingABundle.java
deleted file mode 100644
index c60f934..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingABundle.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class RemovingABundle extends FwkAdminAndSimpleConfiguratorTest {
-
-	public RemovingABundle(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		Manipulator manipulator = createMinimalConfiguration(RemovingABundle.class.getName());
-		manipulator.getConfigData().addBundle(new BundleInfo("bundle_1", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 4, false));
-		manipulator.save(false);
-
-		File fooINI = new File(getInstallFolder(), getLauncherName() +".ini");
-		assertEquals(fooINI.exists(), true);
-		assertContent(getBundleTxt(), "bundle_1");
-	}
-	
-	public void testRemoveBundleWithoutURL() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		Manipulator m2 = getEquinoxFrameworkAdmin().getManipulator();
-
-		LauncherData launcherData2 = m2.getLauncherData();
-		launcherData2.setFwConfigLocation(getConfigurationFolder());
-		launcherData2.setLauncher(new File(getInstallFolder(), "eclipse"));
-
-		try {
-			m2.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		BundleInfo info = new BundleInfo("bundle_1", "1.0.0", null, 0, false);
-		m2.getConfigData().removeBundle(info);
-		m2.save(false);
-
-		assertNotContent(getBundleTxt(), "bundle_1");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingAllBundles.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingAllBundles.java
deleted file mode 100644
index c91be84..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RemovingAllBundles.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class RemovingAllBundles extends AbstractFwkAdminTest {
-
-	public RemovingAllBundles(String name) {
-		super(name);
-	}
-
-	public void testConfigFiles() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(RemovingAllBundles.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		File fooINI = new File(installFolder, "foo.ini");
-		assertEquals(fooINI.exists(), true);
-
-		Manipulator m2 = fwkAdmin.getManipulator();
-
-		LauncherData launcherData2 = m2.getLauncherData();
-		launcherData2.setFwConfigLocation(configurationFolder);
-		launcherData2.setLauncher(new File(installFolder, launcherName));
-
-		try {
-			m2.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo[] infos = m2.getConfigData().getBundles();
-		for (int i = 0; i < infos.length; i++) {
-			m2.getConfigData().removeBundle(infos[i]);
-		}
-		m2.save(false);
-
-		assertEquals(new File(configurationFolder + "/org.eclipse.equinox.simpleconfigurator", "bundles.info").exists(), false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RenamingLauncherIni.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RenamingLauncherIni.java
deleted file mode 100644
index 2ce33f9..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/RenamingLauncherIni.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class RenamingLauncherIni extends AbstractFwkAdminTest {
-
-	public RenamingLauncherIni(String name) {
-		super(name);
-	}
-
-	public void testConfigFiles() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(RenamingLauncherIni.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		File fooINI = new File(installFolder, "foo.ini");
-		assertEquals(fooINI.exists(), true);
-
-		Manipulator m2 = fwkAdmin.getManipulator();
-
-		LauncherData launcherData2 = m2.getLauncherData();
-		launcherData2.setFwConfigLocation(configurationFolder);
-		launcherData2.setLauncher(new File(installFolder, launcherName));
-
-		try {
-			m2.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		launcherData2.setLauncher(new File(installFolder, "foo"));
-		m2.save(false);
-
-		assertEquals(new File(installFolder, "foo.ini").exists(), true);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SharedConfigurationTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SharedConfigurationTest.java
deleted file mode 100644
index 0bbf5e7..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SharedConfigurationTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class SharedConfigurationTest extends AbstractFwkAdminTest {
-
-	public SharedConfigurationTest(String name) {
-		super(name);
-	}
-	
-	public void testDefaultConfiguration() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SharedConfigurationTest.class.getName());
-		File defaultConfigurationFolder = new File(installFolder, "configuration");
-		defaultConfigurationFolder.mkdirs();
-		copy("creating shared config.ini", getTestData("", "dataFile/sharedconfiguration/config.ini"), new File(defaultConfigurationFolder, "config.ini"));
-		
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(defaultConfigurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals("false", manipulator.getConfigData().getProperty("config.shared"));
-		assertEquals("true", manipulator.getConfigData().getProperty("from.parent"));
-	}
-
-	public void testSharedConfiguration() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SharedConfigurationTest.class.getName());
-		File defaultConfigurationFolder = new File(installFolder, "configuration");
-		defaultConfigurationFolder.mkdirs();
-		copy("creating shared config.ini", getTestData("", "dataFile/sharedconfiguration/config.ini"), new File(defaultConfigurationFolder, "config.ini"));
-		File userConfigurationFolder = new File(installFolder, "user/configuration");
-		userConfigurationFolder.mkdirs();
-		copy("creating shared config.ini", getTestData("", "dataFile/sharedconfiguration/user-config.ini"), new File(userConfigurationFolder, "config.ini"));
-		
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(userConfigurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals("true", manipulator.getConfigData().getProperty("config.shared"));
-		assertEquals("true", manipulator.getConfigData().getProperty("from.parent"));
-	}
-	
-	public void testNotSharedConfiguration() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SharedConfigurationTest.class.getName());
-		File defaultConfigurationFolder = new File(installFolder, "configuration");
-		defaultConfigurationFolder.mkdirs();
-		copy("creating shared config.ini", getTestData("", "dataFile/sharedconfiguration/config.ini"), new File(defaultConfigurationFolder, "config.ini"));
-		File userConfigurationFolder = new File(installFolder, "user/configuration");
-		userConfigurationFolder.mkdirs();
-		copy("creating shared config.ini", getTestData("", "dataFile/sharedconfiguration/user-noshare-config.ini"), new File(userConfigurationFolder, "config.ini"));
-		
-		String launcherName = "foo";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(userConfigurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-		
-		assertEquals("false", manipulator.getConfigData().getProperty("config.shared"));
-		assertEquals(null, manipulator.getConfigData().getProperty("from.parent"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorComingAndGoing.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorComingAndGoing.java
deleted file mode 100644
index 736a32b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorComingAndGoing.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class SimpleConfiguratorComingAndGoing extends FwkAdminAndSimpleConfiguratorTest {
-	Manipulator m = null;
-
-	public SimpleConfiguratorComingAndGoing(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		m = createMinimalConfiguration(SimpleConfiguratorComingAndGoing.class.getName());
-	}
-
-	public void testWithMutipleBundles() throws IOException, BundleException, URISyntaxException {
-		BundleInfo bi = new BundleInfo(URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/bundle_1"))), 2);
-		m.getConfigData().addBundle(bi);
-		m.save(false);
-
-		BundleInfo[] bis = m.getConfigData().getBundles();
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals("org.eclipse.equinox.simpleconfigurator"))
-				m.getConfigData().removeBundle(bis[i]);
-		}
-		m.save(false);
-
-		assertNothing(getBundleTxt());
-		assertContent(getConfigIni(), "bundle_1");
-		assertContent(getConfigIni(), "org.eclipse.osgi");
-
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator newManipulator = fwkAdmin.getManipulator();
-
-		LauncherData launcherData = newManipulator.getLauncherData();
-		launcherData.setFwConfigLocation(getConfigurationFolder());
-		launcherData.setLauncher(new File(getInstallFolder(), getLauncherName()));
-		try {
-			newManipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		newManipulator.getConfigData().addBundle(new BundleInfo(URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true));
-		newManipulator.save(false);
-
-		assertContent(getBundleTxt(), "org.eclipse.osgi");
-		assertContent(getBundleTxt(), "bundle_1");
-		assertContent(getBundleTxt(), "org.eclipse.equinox.simpleconfigurator");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorTest.java
deleted file mode 100644
index 10af760..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/SimpleConfiguratorTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.BundleException;
-
-public class SimpleConfiguratorTest extends AbstractFwkAdminTest {
-
-	public SimpleConfiguratorTest(String name) {
-		super(name);
-	}
-
-	public void testConfigFiles() throws IllegalStateException, FrameworkAdminRuntimeException, IOException, BundleException, URISyntaxException {
-		startSimpleConfiguratorManipulator();
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-
-		File installFolder = Activator.getContext().getDataFile(SimpleConfiguratorTest.class.getName());
-		File configurationFolder = new File(installFolder, "configuration");
-		String launcherName = "eclipse";
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(configurationFolder);
-		launcherData.setLauncher(new File(installFolder, launcherName));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//TODO We ignore the framework JAR location not set exception
-		}
-
-		BundleInfo osgiBi = new BundleInfo("org.eclipse.osgi", "3.3.1", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.osgi.jar"))), 0, true);
-		BundleInfo configuratorBi = new BundleInfo("org.eclipse.equinox.simpleconfigurator", "1.0.0", URIUtil.toURI(FileLocator.resolve(Activator.getContext().getBundle().getEntry("dataFile/org.eclipse.equinox.simpleconfigurator.jar"))), 1, true);
-
-		manipulator.getConfigData().addBundle(osgiBi);
-		manipulator.getConfigData().addBundle(configuratorBi);
-
-		manipulator.save(false);
-
-		File bundleTXT = new File(configurationFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info");
-		File configINI = new File(configurationFolder, "config.ini");
-		assertContent(bundleTXT, "org.eclipse.osgi");
-		assertContent(configINI, "org.eclipse.osgi");
-		assertContent(bundleTXT, "org.eclipse.equinox.simpleconfigurator");
-		assertContent(configINI, "org.eclipse.equinox.simpleconfigurator");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestEclipseDataArea.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestEclipseDataArea.java
deleted file mode 100644
index 9a0babf..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestEclipseDataArea.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-
-public class TestEclipseDataArea extends FwkAdminAndSimpleConfiguratorTest {
-	Manipulator m = null;
-
-	public TestEclipseDataArea(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		m = createMinimalConfiguration(TestEclipseDataArea.class.getName());
-	}
-
-	public void testp2DataArea() throws IOException {
-		m.getConfigData().setProperty("eclipse.p2.data.area", "@config.dir/../p2");
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/../p2");
-		m.load();
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/../p2");
-
-		m.getConfigData().setProperty("eclipse.p2.data.area", new File(getConfigurationFolder(), "p2").getAbsoluteFile().toURI().toString());
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/p2");
-		m.load();
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/p2");
-
-		m.getConfigData().setProperty("eclipse.p2.data.area", new File(getConfigurationFolder(), "../p2").getAbsoluteFile().toURI().toString());
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/../p2");
-		m.load();
-		m.save(false);
-		assertContent(getConfigIni(), "@config.dir/../p2");
-
-		m.getConfigData().setProperty("eclipse.p2.data.area", "file:/d:/tmp/fo%20o/bar/p2");
-		m.save(false);
-		assertContent(getConfigIni(), "/tmp/fo o/bar/p2");
-		assertNotContent(getConfigIni(), "@config.dir");
-		m.load();
-		m.save(false);
-		assertContent(getConfigIni(), "/tmp/fo o/bar/p2");
-		assertNotContent(getConfigIni(), "@config.dir");
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestRunningInstance.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestRunningInstance.java
deleted file mode 100644
index d723d04..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestRunningInstance.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.*;
-
-public class TestRunningInstance extends AbstractFwkAdminTest {
-
-	public TestRunningInstance(String name) {
-		super(name);
-	}
-
-	public void testRunningInstance() throws BundleException {
-		//TODO Commented out due to NPE failure on Windows on test machines only
-		if (Platform.OS_WIN32.equals(Platform.getOS()))
-			return;
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator m = fwkAdmin.getRunningManipulator();
-		BundleInfo[] infos = m.getConfigData().getBundles();
-		
-		Bundle[] bundles = Activator.getContext().getBundles();
-		
-		assertEquals(bundles.length, infos.length);
-		for (int i = 0; i < bundles.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < infos.length && found == false; j++) {
-				found = same(infos[j], bundles[i]);
-			}
-			if (found == false) {
-				fail("Can't find: " + bundles[i]);
-			}
-		}
-	}
-	
-	private boolean same(BundleInfo info, Bundle bundle) {
-		if (info.getSymbolicName().equals(bundle.getSymbolicName())) {
-			if (new Version((String) bundle.getHeaders().get(Constants.BUNDLE_VERSION)).equals(new Version(info.getVersion())))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestVMArg.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestVMArg.java
deleted file mode 100644
index c0c6228..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/TestVMArg.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminRuntimeException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-
-public class TestVMArg  extends FwkAdminAndSimpleConfiguratorTest {
-	private Manipulator m;
-
-	public TestVMArg(String name) {
-		super(name);
-	}
-
-	protected void setUp() throws  Exception {
-		super.setUp();
-		m = createMinimalConfiguration(TestEclipseDataArea.class.getName());
-	}
-	
-	public void testVMInsideInstall() throws FrameworkAdminRuntimeException, IOException {
-		//Test VM path in the install folder
-		File jreLocation = new File(m.getLauncherData().getLauncher().getParentFile(), "jre");
-		m.getLauncherData().setJvm(jreLocation);
-		m.save(false);
-		assertNotContent(new File(getInstallFolder(), "eclipse.ini"), jreLocation.getAbsolutePath());
-		assertContent(new File(getInstallFolder(), "eclipse.ini"), "jre");
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), "-vm");
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), "jre");
-		assertNotContent(m.getLauncherData().getLauncherConfigLocation(), "file:");
-		m.load();
-		assertEquals(jreLocation, m.getLauncherData().getJvm());
-		
-		m.getLauncherData().setJvm(null);
-		m.save(false);
-		assertNotContent(m.getLauncherData().getLauncherConfigLocation(), "-vm");
-		assertNotContent(m.getLauncherData().getLauncherConfigLocation(), "jre");
-	}
-	
-	public void testVMOutsideInstall() throws FrameworkAdminRuntimeException, IOException {
-		//Test VM path in the install folder
-		File jreLocation = new File(m.getLauncherData().getLauncher().getParentFile(), "../../jre").getCanonicalFile();
-		m.getLauncherData().setJvm(jreLocation);
-		m.save(false);
-		assertContent(new File(getInstallFolder(), "eclipse.ini"), jreLocation.getAbsolutePath().replace('\\','/'));
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), "-vm");
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), "jre");
-		assertNotContent(m.getLauncherData().getLauncherConfigLocation(), "file:");
-		m.load();
-		assertEquals(jreLocation, m.getLauncherData().getJvm());
-	}
-	
-	public void test269502() throws FrameworkAdminRuntimeException, IOException {
-		//Test VM path in the install folder
-		String winPath = "c:/ibm5sr3/bin";
-		String linuxPath = "/Users/Pascal/ibm5sr3/bin";
-		String chosenPath = Platform.getOS().equals("win32") ? winPath : linuxPath; 
-		File jreLocation =  new File(chosenPath);
-		m.getLauncherData().setJvm(jreLocation);
-		m.save(false);
-		assertContent(new File(getInstallFolder(), "eclipse.ini"), chosenPath);
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), "-vm");
-		assertContent(m.getLauncherData().getLauncherConfigLocation(), chosenPath);
-		assertNotContent(m.getLauncherData().getLauncherConfigLocation(), "file:");
-		m.load();
-		assertEquals(jreLocation, m.getLauncherData().getJvm());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/UtilsTest.java b/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/UtilsTest.java
deleted file mode 100644
index 0841eb4..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/UtilsTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.frameworkadmin.tests;
-
-import java.io.File;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.utils.FileUtils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.osgi.service.environment.Constants;
-
-public class UtilsTest extends AbstractFwkAdminTest {
-
-	/**
-	 * @param name
-	 */
-	public UtilsTest(String name) {
-		super(name);
-	}
-
-	public void test_getEclipseRealLocation() throws Exception {
-		File installFolder = Activator.getContext().getDataFile("212361");
-
-		File plugins = new File(installFolder, "plugins");
-		File foo1 = new File(plugins, "org.foo_1.2.3.abc");
-		File foo2 = new File(plugins, "org.foo_1.2.4.xyz");
-		File foo_64 = new File(plugins, "org.foo.x86_64_1.2.3");
-		File fooWithSpaces = new File(plugins, "alotof/s p a c e s/org.foo_1.2.3.abc");
-		foo1.mkdirs();
-		foo2.mkdirs();
-		foo_64.mkdirs();
-		fooWithSpaces.mkdirs();
-
-		Manipulator manipulator = getFrameworkManipulator(new File(installFolder, "configuration"), new File(installFolder, "eclipse"));
-
-		
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, "org.foo"), foo2.toURI());
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, "org.foo_1.2.3.abc"), foo1.toURI());
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, "org.foo.x86_64"), foo_64.toURI());
-			
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, plugins.toURI().toString() + "alotof/s%20p%20a%20c%20e%20s/org.foo_1.2.3.abc/"), fooWithSpaces.toURI());
-
-		File other = new File(installFolder, "other/org.foo_1.2.4");
-		other.mkdirs();
-		manipulator.getConfigData().setProperty("osgi.syspath", other.getParentFile().getAbsolutePath());
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, "org.foo"), other.toURI());
-	}
-	
-	public void testMacRealLocation() throws Exception {
-		File installFolder = Activator.getContext().getDataFile("280007");
-
-		File plugins = new File(installFolder, "plugins");
-		File foo = new File(plugins, "org.foo_1.2.3.abc");
-		foo.mkdirs();
-
-		Manipulator manipulator = getFrameworkManipulator(new File(installFolder, "configuration"), new File(installFolder, "Eclipse.app/Contents/MacOS/eclipse"));
-		manipulator.getLauncherData().setOS(Constants.OS_MACOSX);
-		assertEquals(FileUtils.getEclipseRealLocation(manipulator, "org.foo"), foo.toURI());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.classpath b/bundles/org.eclipse.equinox.frameworkadmin/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.project b/bundles/org.eclipse.equinox.frameworkadmin/.project
deleted file mode 100644
index 20c6cbd..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.frameworkadmin</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index fd68207..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,265 +0,0 @@
-#Mon Aug 24 11:50:51 EDT 2009
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 283b95a..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:26 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
deleted file mode 100644
index d898c01..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true
-Bundle-Version: 1.0.200.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Import-Package: org.eclipse.osgi.service.pluginconversion;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.frameworkadmin.utils;
-  x-friends:="org.eclipse.equinox.frameworkadmin.equinox,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.simpleconfigurator.manipulator",
- org.eclipse.equinox.internal.provisional.configuratormanipulator;x-friends:="org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.simpleconfigurator.manipulator",
- org.eclipse.equinox.internal.provisional.frameworkadmin;
-  x-friends:="org.eclipse.equinox.frameworkadmin.equinox,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.simpleconfigurator.manipulator,
-   org.eclipse.pde.core,
-   org.eclipse.pde.ui"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.frameworkadmin.utils.Activator
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/about.html b/bundles/org.eclipse.equinox.frameworkadmin/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/build.properties b/bundles/org.eclipse.equinox.frameworkadmin/build.properties
deleted file mode 100644
index b0b12db..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties b/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
deleted file mode 100644
index 5ceaadc..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-pluginName = Equinox Framework Admin
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
deleted file mode 100644
index 733bdcb..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Activator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.osgi.framework.*;
-
-/**
- * @since 1.0
- */
-public class Activator implements BundleActivator {
-
-	private static BundleContext bundleContext;
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-
-	/*
-	 * Acquire the plug-in conversion service or return <code>null</code> if it is not available.
-	 */
-	public static PluginConverter acquirePluginConverter() {
-		if (bundleContext == null)
-			return null;
-		ServiceReference reference = bundleContext.getServiceReference(PluginConverter.class.getName());
-		if (reference == null)
-			return null;
-		PluginConverter result = (PluginConverter) bundleContext.getService(reference);
-		bundleContext.ungetService(reference);
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
deleted file mode 100644
index 9a479d6..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/SimpleBundlesState.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.osgi.framework.Constants;
-
-/**
- * This implementation of BundlesState doesn't support any of
- * - resolving bundles,
- * - retrieving fw persistent data. 
- * 
- * This implementation can be used for those cases.
- *
- */
-
-public class SimpleBundlesState implements BundlesState {
-	public static final BundleInfo[] NULL_BUNDLEINFOS = new BundleInfo[0];
-
-	/**
-	 * Check if the specified FrameworkAdmin is available.
-	 * 
-	 * @param fwAdmin
-	 * @throws FrameworkAdminRuntimeException
-	 */
-	public static void checkAvailability(FrameworkAdmin fwAdmin) throws FrameworkAdminRuntimeException {
-		if (!fwAdmin.isActive())
-			throw new FrameworkAdminRuntimeException("FrameworkAdmin creates this object is no more available.", FrameworkAdminRuntimeException.FRAMEWORKADMIN_UNAVAILABLE);
-	}
-
-	/**
-	 *  
-	 * @param launcherData
-	 * @return File of fwJar to be used.
-	 * @throws IOException 
-	 */
-	static File getFwJar(LauncherData launcherData) {
-		if (launcherData.getFwJar() != null)
-			return launcherData.getFwJar();
-		return null;
-	}
-
-	private final String systemBundleSymbolicName;
-
-	private final String systemBundleName;
-
-	private final String systemBundleVendor;
-	List bundleInfosList = new LinkedList();
-
-	FrameworkAdmin fwAdmin = null;
-
-	Manipulator manipulator = null;
-
-	/**
-	 * If the manifest of the target fw implementation has Constants.BUNDLE_SYMBOLICNAME header,
-	 * this constructor should be used. 
-	 * 
-	 * @param ManipulatorAdmin
-	 * @param Manipulator
-	 * @param systemBundleSymbolicName
-	 */
-	public SimpleBundlesState(FrameworkAdmin ManipulatorAdmin, Manipulator Manipulator, String systemBundleSymbolicName) {
-		super();
-		this.fwAdmin = ManipulatorAdmin;
-		//		 copy Manipulator object for avoiding modifying the parameters of the Manipulator.
-		this.manipulator = ManipulatorAdmin.getManipulator();
-		this.manipulator.setConfigData(Manipulator.getConfigData());
-		this.manipulator.setLauncherData(Manipulator.getLauncherData());
-		this.systemBundleSymbolicName = systemBundleSymbolicName;
-		this.systemBundleName = null;
-		this.systemBundleVendor = null;
-		initialize();
-	}
-
-	/**
-	 * If the manifest of the target fw implementation has not Constants.BUNDLE_SYMBOLICNAME header
-	 * but , Constants.BUNDLE_NAME and BUNDLE_VERSION, 
-	 * this constructor should be used. 
-	 * 
-	 * @param ManipulatorAdmin
-	 * @param Manipulator
-	 * @param systemBundleName
-	 * @param systemBundleVender
-	 */
-	public SimpleBundlesState(FrameworkAdmin ManipulatorAdmin, Manipulator Manipulator, String systemBundleName, String systemBundleVender) {
-		super();
-		this.fwAdmin = ManipulatorAdmin;
-		//		 copy Manipulator object for avoiding modifying the parameters of the Manipulator.
-		this.manipulator = ManipulatorAdmin.getManipulator();
-		this.manipulator.setConfigData(Manipulator.getConfigData());
-		this.manipulator.setLauncherData(Manipulator.getLauncherData());
-		this.systemBundleSymbolicName = null;
-		this.systemBundleName = systemBundleName;
-		this.systemBundleVendor = systemBundleVender;
-		initialize();
-	}
-
-	public BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException {
-		if (!fwAdmin.isActive())
-			throw new FrameworkAdminRuntimeException("FrameworkAdmin creates this object is no more available.", FrameworkAdminRuntimeException.FRAMEWORKADMIN_UNAVAILABLE);
-		return Utils.getBundleInfosFromList(this.bundleInfosList);
-	}
-
-	/* 
-	 * Just return required bundles.
-	 * 
-	 * @see org.eclipse.equinox.internal.provisional.frameworkadmin.BundlesState#getPrerequisteBundles(org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo)
-	 */
-	public BundleInfo[] getPrerequisteBundles(BundleInfo bInfo) {
-		URI location = bInfo.getLocation();
-		final String requiredBundles = Utils.getManifestMainAttributes(location, Constants.REQUIRE_BUNDLE);
-		if (requiredBundles == null)
-			return new BundleInfo[] {this.getSystemBundle()};
-
-		String[] clauses = Utils.getClauses(requiredBundles);
-		List list = new LinkedList();
-		for (int i = 0; i < clauses.length; i++)
-			list.add(Utils.getPathFromClause(clauses[i]));
-
-		List ret = new LinkedList();
-		ret.add(this.getSystemBundle());
-		for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-			BundleInfo currentBInfo = (BundleInfo) ite.next();
-			URI currentLocation = currentBInfo.getLocation();
-			String currentSymbolicName = Utils.getManifestMainAttributes(currentLocation, Constants.BUNDLE_SYMBOLICNAME);
-			if (currentSymbolicName == null)
-				continue;
-			currentSymbolicName = Utils.getPathFromClause(currentSymbolicName);
-			for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
-				String symbolicName = (String) ite2.next();
-				if (symbolicName.equals(currentSymbolicName)) {
-					ret.add(currentBInfo);
-					break;
-				}
-			}
-		}
-		return Utils.getBundleInfosFromList(ret);
-	}
-
-	public BundleInfo getSystemBundle() {
-		if (this.systemBundleSymbolicName == null) {
-			for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-				BundleInfo bInfo = (BundleInfo) ite.next();
-				//			if (bInfo.getStartLevel() != 1)
-				//				return null;;
-				URI location = bInfo.getLocation();
-				String bundleName = Utils.getManifestMainAttributes(location, Constants.BUNDLE_NAME);
-				if (systemBundleName.equals(bundleName)) {
-					String bundleVendor = Utils.getManifestMainAttributes(location, Constants.BUNDLE_VENDOR);
-					if (systemBundleVendor.equals(bundleVendor))
-						return bInfo;
-				}
-			}
-			return null;
-		}
-		for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-			BundleInfo bInfo = (BundleInfo) ite.next();
-			URI location = bInfo.getLocation();
-			String symbolicName = Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME);
-			symbolicName = Utils.getPathFromClause(symbolicName);
-			if (this.systemBundleSymbolicName.equals(symbolicName))
-				return bInfo;
-		}
-		return null;
-	}
-
-	public BundleInfo[] getSystemFragmentedBundles() {
-		BundleInfo systemBInfo = this.getSystemBundle();
-		if (systemBInfo == null)
-			return NULL_BUNDLEINFOS;
-
-		List list = new LinkedList();
-		for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-			BundleInfo bInfo = (BundleInfo) ite.next();
-			URI location = bInfo.getLocation();
-			String manifestVersion = Utils.getManifestMainAttributes(location, Constants.BUNDLE_MANIFESTVERSION);
-			if (manifestVersion == null)
-				continue;
-			if (manifestVersion.equals("1") || manifestVersion.equals("1.0"))
-				continue;
-
-			String fragmentHost = Utils.getManifestMainAttributes(location, Constants.FRAGMENT_HOST);
-			if (fragmentHost == null)
-				continue;
-			int index = fragmentHost.indexOf(";");
-			if (index == -1)
-				continue;
-			String symbolicName = fragmentHost.substring(0, index).trim();
-			String parameter = fragmentHost.substring(index + 1).trim();
-			// TODO What to do ,in case of alias name of system bundle is not used ?
-			if (symbolicName.equals(Constants.SYSTEM_BUNDLE_SYMBOLICNAME))
-				if (parameter.equals(Constants.EXTENSION_DIRECTIVE + ":=" + Constants.EXTENSION_FRAMEWORK)) {
-					list.add(location);
-					break;
-				}
-		}
-		return Utils.getBundleInfosFromList(list);
-	}
-
-	public String[] getUnsatisfiedConstraints(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-		throw new FrameworkAdminRuntimeException("getUnsatisfiedConstraints(BundleInfo bInfo) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
-	}
-
-	private void initialize() {
-		this.bundleInfosList.clear();
-		LauncherData launcherData = manipulator.getLauncherData();
-		ConfigData configData = manipulator.getConfigData();
-		File fwJar = getFwJar(launcherData);;
-
-		if (fwJar == null)
-			throw new IllegalStateException("launcherData.getLauncherConfigFile() == null && fwJar is not set.");
-		// No fw persistent data location is taken into consideration.
-
-		BundleInfo[] bInfos = configData.getBundles();
-		for (int j = 0; j < bInfos.length; j++)
-			this.installBundle(bInfos[j]);
-
-		if (getSystemBundle() == null) {
-			BundleInfo sysBInfo = new BundleInfo(launcherData.getFwJar().toURI(), 0, true, 0);
-			this.installBundle(sysBInfo);
-		}
-	}
-
-	public void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-
-		URI newLocation = bInfo.getLocation();
-		Dictionary newManifest = Utils.getOSGiManifest(newLocation);
-		if (newManifest == null) {
-			// TODO log something here
-			return;
-		}
-		String newSymbolicName = (String) newManifest.get(Constants.BUNDLE_SYMBOLICNAME);
-		String newVersion = (String) newManifest.get(Constants.BUNDLE_VERSION);
-		//System.out.println("> currentInstalledBundles.length=" + currentInstalledBundles.length);
-		boolean found = false;
-		for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-			BundleInfo currentBInfo = (BundleInfo) ite.next();
-			URI location = currentBInfo.getLocation();
-			if (newLocation.equals(location)) {
-				found = true;
-				break;
-			}
-			Dictionary manifest = Utils.getOSGiManifest(location);
-			String symbolicName = (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME);
-			String version = (String) manifest.get(Constants.BUNDLE_VERSION);
-			if (newSymbolicName != null && newVersion != null)
-				if (newSymbolicName.equals(symbolicName) && newVersion.equals(version)) {
-					found = true;
-					break;
-				}
-		}
-		if (!found) {
-			this.bundleInfosList.add(bInfo);
-		}
-	}
-
-	//	public String toString() {
-	//		if (state == null)
-	//			return null;
-	//		StringBuffer sb = new StringBuffer();
-	//		BundleDescription[] bundleDescriptions = state.getBundles();
-	//		for (int i = 0; i < bundleDescriptions.length; i++) {
-	//			sb.append(bundleDescriptions[i].getBundleId() + ":");
-	//			sb.append(bundleDescriptions[i].toString() + "(");
-	//			sb.append(bundleDescriptions[i].isResolved() + ")");
-	//			String[] ees = bundleDescriptions[i].getExecutionEnvironments();
-	//			for (int j = 0; j < ees.length; j++)
-	//				sb.append(ees[j] + " ");
-	//			sb.append("\n");
-	//		}
-	//		sb.append("PlatformProperties:\n");
-	//		Dictionary[] dics = state.getPlatformProperties();
-	//		for (int i = 0; i < dics.length; i++) {
-	//			for (Enumeration enum = dics[i].keys(); enum.hasMoreElements();) {
-	//				String key = (String) enum.nextElement();
-	//				String value = (String) dics[i].get(key);
-	//				sb.append(" (" + key + "," + value + ")\n");
-	//			}
-	//		}
-	//		sb.append("\n");
-	//		return sb.toString();
-	//	}
-
-	public boolean isFullySupported() {
-		return false;
-	}
-
-	public boolean isResolved() throws FrameworkAdminRuntimeException {
-		throw new FrameworkAdminRuntimeException("isResolved() is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
-	}
-
-	public boolean isResolved(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-		throw new FrameworkAdminRuntimeException("isResolved(BundleInfo bInfo) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
-	}
-
-	public void resolve(boolean increment) throws FrameworkAdminRuntimeException {
-		throw new FrameworkAdminRuntimeException("resolve(boolean increment) is not supported in this implementation", FrameworkAdminRuntimeException.UNSUPPORTED_OPERATION);
-	}
-
-	public void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException {
-		URI targetLocation = bInfo.getLocation();
-		int index = -1;
-		for (Iterator ite = this.bundleInfosList.iterator(); ite.hasNext();) {
-			index++;
-			BundleInfo currentBInfo = (BundleInfo) ite.next();
-			URI location = currentBInfo.getLocation();
-			if (targetLocation.equals(location)) {
-				break;
-			}
-		}
-		if (index != -1)
-			this.bundleInfosList.remove(index);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
deleted file mode 100644
index a6d3ef7..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/frameworkadmin/utils/Utils.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.frameworkadmin.utils;
-
-import java.io.*;
-import java.net.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class Utils {
-	private static final String FEATURE_MANIFEST = "feature.xml"; //$NON-NLS-1$
-	private static final String FILE_SCHEME = "file"; //$NON-NLS-1$
-	private static final String FRAGMENT_MANIFEST = "fragment.xml"; //$NON-NLS-1$
-	private static final String PATH_SEP = "/"; //$NON-NLS-1$
-	private static final String PLUGIN_MANIFEST = "plugin.xml"; //$NON-NLS-1$
-
-	/**
-	 * Overwrite all properties of from to the properties of to. Return the result of to.
-	 * 
-	 * @param to Properties whose keys and values of other Properties will be appended to.
-	 * @param from Properties whose keys and values will be set to the other properties.
-	 * @return Properties as a result of this method. 
-	 */
-	public static Properties appendProperties(Properties to, Properties from) {
-		if (from != null) {
-			if (to == null)
-				to = new Properties();
-			//			printoutProperties(System.out, "to", to);
-			//			printoutProperties(System.out, "from", from);
-
-			for (Enumeration enumeration = from.keys(); enumeration.hasMoreElements();) {
-				String key = (String) enumeration.nextElement();
-				to.setProperty(key, from.getProperty(key));
-			}
-		}
-		//		printoutProperties(System.out, "to", to);
-		return to;
-	}
-
-	//Return a dictionary representing a manifest. The data may result from plugin.xml conversion  
-	private static Dictionary basicLoadManifest(File bundleLocation) {
-		InputStream manifestStream = null;
-		ZipFile jarFile = null;
-		try {
-			try {
-				String fileExtention = bundleLocation.getName();
-				fileExtention = fileExtention.substring(fileExtention.lastIndexOf('.') + 1);
-				// Handle a JAR'd bundle
-				if ("jar".equalsIgnoreCase(fileExtention) && bundleLocation.isFile()) { //$NON-NLS-1$
-					jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-					ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
-					if (manifestEntry != null) {
-						manifestStream = jarFile.getInputStream(manifestEntry);
-					}
-				} else {
-					// we have a directory-based bundle
-					File bundleManifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
-					if (bundleManifestFile.exists())
-						manifestStream = new BufferedInputStream(new FileInputStream(new File(bundleLocation, JarFile.MANIFEST_NAME)));
-				}
-			} catch (IOException e) {
-				//ignore
-			}
-			// we were unable to get an OSGi manifest file so try and convert an old-style manifest
-			if (manifestStream == null)
-				return convertPluginManifest(bundleLocation, true);
-
-			try {
-				Map manifest = ManifestElement.parseBundleManifest(manifestStream, null);
-				// add this check to handle the case were we read a non-OSGi manifest
-				if (manifest.get(Constants.BUNDLE_SYMBOLICNAME) == null)
-					return convertPluginManifest(bundleLocation, true);
-				return manifestToProperties(manifest);
-			} catch (IOException ioe) {
-				return null;
-			} catch (BundleException e) {
-				return null;
-			}
-		} finally {
-			try {
-				if (manifestStream != null)
-					manifestStream.close();
-			} catch (IOException e1) {
-				//Ignore
-			}
-			try {
-				if (jarFile != null)
-					jarFile.close();
-			} catch (IOException e2) {
-				//Ignore
-			}
-		}
-	}
-
-	public static void checkAbsoluteDir(File file, String dirName) throws IllegalArgumentException {
-		if (file == null)
-			throw new IllegalArgumentException(dirName + " is null");
-		if (!file.isAbsolute())
-			throw new IllegalArgumentException(dirName + " is not absolute path. file=" + file.getAbsolutePath());
-		if (!file.isDirectory())
-			throw new IllegalArgumentException(dirName + " is not directory. file=" + file.getAbsolutePath());
-	}
-
-	public static void checkAbsoluteFile(File file, String dirName) {//throws ManipulatorException {
-		if (file == null)
-			throw new IllegalArgumentException(dirName + " is null");
-		if (!file.isAbsolute())
-			throw new IllegalArgumentException(dirName + " is not absolute path. file=" + file.getAbsolutePath());
-		if (file.isDirectory())
-			throw new IllegalArgumentException(dirName + " is not file but directory");
-	}
-
-	public static URL checkFullUrl(URL url, String urlName) throws IllegalArgumentException {//throws ManipulatorException {
-		if (url == null)
-			throw new IllegalArgumentException(urlName + " is null");
-		if (!url.getProtocol().endsWith("file"))
-			return url;
-		File file = new File(url.getFile());
-		if (!file.isAbsolute())
-			throw new IllegalArgumentException(urlName + "(" + url + ") does not have absolute path");
-		if (file.getAbsolutePath().startsWith(PATH_SEP))
-			return url;
-		try {
-			return getUrl("file", null, PATH_SEP + file.getAbsolutePath());
-		} catch (MalformedURLException e) {
-			throw new IllegalArgumentException(urlName + "(" + "file:" + PATH_SEP + file.getAbsolutePath() + ") is not fully quallified");
-		}
-	}
-
-	/*
-	 * Copied from BundleDescriptionFactory in the metadata generator.
-	 */
-	private static Dictionary convertPluginManifest(File bundleLocation, boolean logConversionException) {
-		PluginConverter converter;
-		try {
-			converter = org.eclipse.equinox.internal.frameworkadmin.utils.Activator.acquirePluginConverter();
-			if (converter == null) {
-				new RuntimeException("Unable to aquire PluginConverter service during generation for: " + bundleLocation).printStackTrace(); //$NON-NLS-1$
-				return null;
-			}
-			return converter.convertManifest(bundleLocation, false, null, true, null);
-		} catch (PluginConversionException convertException) {
-			// only log the exception if we had a plugin.xml or fragment.xml and we failed conversion
-			if (bundleLocation.getName().equals(FEATURE_MANIFEST))
-				return null;
-			if (!new File(bundleLocation, PLUGIN_MANIFEST).exists() && !new File(bundleLocation, FRAGMENT_MANIFEST).exists())
-				return null;
-			if (logConversionException) {
-				IStatus status = new Status(IStatus.WARNING, "org.eclipse.equinox.frameworkadmin", 0, "Error converting bundle manifest.", convertException);
-				System.out.println(status);
-				//TODO Need to find a way to get a logging service to log
-			}
-			return null;
-		}
-	}
-
-	public static boolean createParentDir(File file) {
-		File parent = file.getParentFile();
-		if (parent == null)
-			return false;
-		if (parent.exists())
-			return true;
-		return parent.mkdirs();
-	}
-
-	public static BundleInfo[] getBundleInfosFromList(List list) {
-		if (list == null)
-			return new BundleInfo[0];
-		BundleInfo[] ret = new BundleInfo[list.size()];
-		list.toArray(ret);
-		return ret;
-	}
-
-	public static String[] getClauses(String header) {
-		StringTokenizer token = new StringTokenizer(header, ",");
-		List list = new LinkedList();
-		while (token.hasMoreTokens()) {
-			list.add(token.nextToken());
-		}
-		String[] ret = new String[list.size()];
-		list.toArray(ret);
-		return ret;
-	}
-
-	public static String[] getClausesManifestMainAttributes(URI location, String name) {
-		return getClauses(getManifestMainAttributes(location, name));
-	}
-
-	public static String getManifestMainAttributes(URI location, String name) {
-		Dictionary manifest = Utils.getOSGiManifest(location);
-		if (manifest == null)
-			throw new RuntimeException("Unable to locate bundle manifest: " + location);
-		return (String) manifest.get(name);
-	}
-
-	public static Dictionary getOSGiManifest(URI location) {
-		if (location == null)
-			return null;
-		// if we have a file-based URL that doesn't end in ".jar" then...
-		if (FILE_SCHEME.equals(location.getScheme()))
-			return basicLoadManifest(URIUtil.toFile(location));
-
-		try {
-			URL url = new URL("jar:" + location.toString() + "!/");
-			JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
-			ZipFile jar = jarConnection.getJarFile();
-
-			try {
-				ZipEntry entry = jar.getEntry(JarFile.MANIFEST_NAME);
-				if (entry == null)
-					return null;
-
-				Map manifest = ManifestElement.parseBundleManifest(jar.getInputStream(entry), null);
-				// if we have a JAR'd bundle that has a non-OSGi manifest file (like
-				// the ones produced by Ant, then try and convert the plugin.xml
-				if (manifest.get(Constants.BUNDLE_SYMBOLICNAME) == null) {
-					String jarName = jar.getName();
-					File file = jarName != null ? new File(jarName) : null;
-					if (file != null && file.exists()) {
-						return convertPluginManifest(file, true);
-					}
-					return null;
-				}
-				return manifestToProperties(manifest);
-			} catch (BundleException e) {
-				return null;
-			} finally {
-				jar.close();
-			}
-		} catch (IOException e) {
-			if (System.getProperty("osgi.debug") != null) {
-				System.err.println("location=" + location);
-				e.printStackTrace();
-			}
-		}
-		return null;
-	}
-
-	public static String getPathFromClause(String clause) {
-		if (clause == null)
-			return null;
-		if (clause.indexOf(";") != -1)
-			clause = clause.substring(0, clause.indexOf(";"));
-		return clause.trim();
-	}
-
-	public static String getRelativePath(File target, File from) {
-
-		String targetPath = Utils.replaceAll(target.getAbsolutePath(), File.separator, PATH_SEP);
-		String fromPath = Utils.replaceAll(from.getAbsolutePath(), File.separator, PATH_SEP);
-
-		String[] targetTokens = Utils.getTokens(targetPath, PATH_SEP);
-		String[] fromTokens = Utils.getTokens(fromPath, PATH_SEP);
-		int index = -1;
-		for (int i = 0; i < fromTokens.length; i++)
-			if (fromTokens[i].equals(targetTokens[i]))
-				index = i;
-			else
-				break;
-
-		StringBuffer sb = new StringBuffer();
-		for (int i = index + 1; i < fromTokens.length; i++)
-			sb.append(".." + PATH_SEP);
-
-		for (int i = index + 1; i < targetTokens.length; i++)
-			if (i != targetTokens.length - 1)
-				sb.append(targetTokens[i] + PATH_SEP);
-			else
-				sb.append(targetTokens[i]);
-		return sb.toString();
-	}
-
-	/**
-	 * This method will be called for create a backup file.
-	 * 
-	 * @param file target file
-	 * @return File backup file whose filename consists of "hogehoge.yyyyMMddHHmmss.ext" or 
-	 * 	"hogehoge.yyyyMMddHHmmss".
-	 */
-	public static File getSimpleDataFormattedFile(File file) {
-		SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
-		String date = df.format(new Date());
-		String filename = file.getName();
-		int index = filename.lastIndexOf(".");
-		if (index != -1)
-			filename = filename.substring(0, index) + "." + date + "." + filename.substring(index + 1);
-		else
-			filename = filename + "." + date;
-		File dest = new File(file.getParentFile(), filename);
-		return dest;
-	}
-
-	public static String[] getTokens(String msg, String delim) {
-		return getTokens(msg, delim, false);
-	}
-
-	public static String[] getTokens(String msg, String delim, boolean returnDelims) {
-		StringTokenizer targetST = new StringTokenizer(msg, delim, returnDelims);
-		String[] tokens = new String[targetST.countTokens()];
-		ArrayList list = new ArrayList(targetST.countTokens());
-		while (targetST.hasMoreTokens()) {
-			list.add(targetST.nextToken());
-		}
-		list.toArray(tokens);
-		return tokens;
-	}
-
-	public static URL getUrl(String protocol, String host, String file) throws MalformedURLException {// throws ManipulatorException {
-		file = Utils.replaceAll(file, File.separator, "/");
-		return new URL(protocol, host, file);
-	}
-
-	public static URL getUrlInFull(String path, URL from) throws MalformedURLException {//throws ManipulatorException {
-		Utils.checkFullUrl(from, "from");
-		path = Utils.replaceAll(path, File.separator, "/");
-		//System.out.println("from.toExternalForm()=" + from.toExternalForm());
-		String fromSt = Utils.removeLastCh(from.toExternalForm(), '/');
-		//System.out.println("fromSt=" + fromSt);
-		if (path.startsWith("/")) {
-			String fileSt = from.getFile();
-			return new URL(fromSt.substring(0, fromSt.lastIndexOf(fileSt) - 1) + path);
-		}
-		return new URL(fromSt + "/" + path);
-	}
-
-	private static Properties manifestToProperties(Map d) {
-		Iterator iter = d.keySet().iterator();
-		Properties result = new Properties();
-		while (iter.hasNext()) {
-			String key = (String) iter.next();
-			result.put(key, d.get(key));
-		}
-		return result;
-	}
-
-	/**
-	 * Just used for debug.
-	 * 
-	 * @param ps printstream
-	 * @param name name of properties 
-	 * @param props properties whose keys and values will be printed out.
-	 */
-	public static void printoutProperties(PrintStream ps, String name, Properties props) {
-		if (props == null || props.size() == 0) {
-			ps.println("Props(" + name + ") is empty");
-			return;
-		}
-		ps.println("Props(" + name + ")=");
-		for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-			String key = (String) enumeration.nextElement();
-			ps.print("\tkey=" + key);
-			ps.println("\tvalue=" + props.getProperty(key));
-		}
-	}
-
-	public static String removeLastCh(String target, char ch) {
-		while (target.charAt(target.length() - 1) == ch) {
-			target = target.substring(0, target.length() - 1);
-		}
-		return target;
-	}
-
-	public static String replaceAll(String st, String oldSt, String newSt) {
-		if (oldSt.equals(newSt))
-			return st;
-		int index = -1;
-		while ((index = st.indexOf(oldSt)) != -1) {
-			st = st.substring(0, index) + newSt + st.substring(index + oldSt.length());
-		}
-		return st;
-	}
-
-	/**
-	 * Sort by increasing order of startlevels.
-	 * 
-	 * @param bInfos array of BundleInfos to be sorted.
-	 * @param initialBSL initial bundle start level to be used.
-	 * @return sorted array of BundleInfos
-	 */
-	public static BundleInfo[] sortBundleInfos(BundleInfo[] bInfos, int initialBSL) {
-		SortedMap bslToList = new TreeMap();
-		for (int i = 0; i < bInfos.length; i++) {
-			Integer sL = new Integer(bInfos[i].getStartLevel());
-			if (sL.intValue() == BundleInfo.NO_LEVEL)
-				sL = new Integer(initialBSL);
-			List list = (List) bslToList.get(sL);
-			if (list == null) {
-				list = new LinkedList();
-				bslToList.put(sL, list);
-			}
-			list.add(bInfos[i]);
-		}
-
-		// bslToList is sorted by the key (StartLevel).
-		List bundleInfoList = new LinkedList();
-		for (Iterator ite = bslToList.keySet().iterator(); ite.hasNext();) {
-			Integer sL = (Integer) ite.next();
-			List list = (List) bslToList.get(sL);
-			for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
-				BundleInfo bInfo = (BundleInfo) ite2.next();
-				bundleInfoList.add(bInfo);
-			}
-		}
-		return getBundleInfosFromList(bundleInfoList);
-	}
-
-	/**
-	 * get String representing the given properties.
-	 * 
-	 * @param name name of properties 
-	 * @param props properties whose keys and values will be printed out.
-	 */
-	public static String toStringProperties(String name, Properties props) {
-		if (props == null || props.size() == 0) {
-			return "Props(" + name + ") is empty\n";
-		}
-		StringBuffer sb = new StringBuffer();
-		sb.append("Props(" + name + ") is \n");
-		for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-			String key = (String) enumeration.nextElement();
-			sb.append("\tkey=" + key + "\tvalue=" + props.getProperty(key) + "\n");
-		}
-		return sb.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
deleted file mode 100644
index f400e35..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configuratormanipulator;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-/**
- * 
- * This interface provides methods that enable client bundles to 
- * manipulate the corresponding ConfiguratorBundle.
- * 
- *  @see Configurator
- */
-
-public interface ConfiguratorManipulator {
-	String SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME = "org.eclipse.equinox.configurator.BundleSymbolicName";
-
-	/**
-	 * Save configuration for the corresponding Configurator Bundle so that 
-	 * Bundles kept by the specified {@link Manipulator} would be installed after completion of a launch.
-	 * The location of a configuration file is determined by the parameters set to the Manipulator object
-	 * and it depends on the corresponding ConfiguratorBundle implementation.
-	 * 
-	 * While some parameters of the {@link Manipulator} object will be modified (for setting info about the 
-	 * location the ConfiguratorBundle would be able to refer in a future launch), 
-	 * the Bundles kept by the {@link Manipulator} object should not be modified.
-	 * 
-	 * Instead, it will return BundleInfo[] to be managed not by the ConfiguratorBundle.
-	 * These values are supposed to be saved into fw config files.
-	 * 
-	 * If backup flag is true, a file have existed already under the same name
-	 * will be renamed into another name as a backup. 
-	 * 
-	 * We assume that the implementation of {@link Manipulator#save(boolean)} will call this method.
-	 *  
-	 * @return array of BundleInfo to be saved as installing bundles in fw config files.
-	 * @param manipulator {@link Manipulator} object which contains the bundles to be installed finally.
-	 * @param backup if files exists at the location to save, it will be copied as a backup.
-	 * @throws IOException - If fail to save configuration for the corresponding Configurator Bundle.
-	 */
-	BundleInfo[] save(Manipulator manipulator, boolean backup) throws IOException;
-
-	/**
-	 * Update bundles kept by the specified {@link Manipulator} object into installed bundles
-	 * if {@link FrameworkAdmin#launch(Manipulator, File)} with the specified 
-	 * {@link Manipulator} is called taking the corresponding ConfiguratorBundle behaivior into account.
-	 * 
-	 * If there is no corresponding ConfiguratorBundle in Manipulator.getConfigData().getBundles(),
-	 * just return.
-	 * 
-	 * The BundleInfo[] of the specified Manipulator object will be modified.
-	 *
-	 * This method is assumed to be called from {@link Manipulator#load()}.
-	 *  
-	 * @param manipulator {@link Manipulator} object to be used and updated.
-	 * @throws IOException - If fail to read configuration for the corresponding Configurator Bundle.
-	 */
-	void updateBundles(Manipulator manipulator) throws IOException;
-
-	void cleanup(Manipulator manipulator);
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
deleted file mode 100644
index 1112455..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/configuratormanipulator/ConfiguratorManipulatorFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configuratormanipulator;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdmin;
-
-/**
- * Factory class for creating ConfiguratorManipulator object from Java programs.
- * 
- *  @see FrameworkAdmin
- */
-public abstract class ConfiguratorManipulatorFactory {
-	public final static String SYSTEM_PROPERTY_KEY = "org.eclipse.equinox.configuratorManipulatorFactory";
-
-	abstract protected ConfiguratorManipulator createConfiguratorManipulator();
-
-	public static ConfiguratorManipulator getInstance(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-		ConfiguratorManipulatorFactory factory = (ConfiguratorManipulatorFactory) Class.forName(className).newInstance();
-		return factory.createConfiguratorManipulator();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
deleted file mode 100644
index 48e8903..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundleInfo.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.net.URI;
-import org.eclipse.core.runtime.URIUtil;
-
-/**
- * This object represents information of a bundle. This class is a copy of the BundleInfo
- * class in org.eclipse.equinox.simpleconfigurator
- *
- */
-public class BundleInfo {
-	public static final int NO_LEVEL = -1;
-	public static final int NO_BUNDLEID = -1;
-
-	private String symbolicName = null;
-	private String version = null;
-	private URI baseLocation;
-	private URI location;
-	private long bundleId = NO_BUNDLEID;
-
-	private boolean markedAsStarted = false;
-	private int startLevel = NO_LEVEL;
-	private boolean resolved = false;
-
-	private String manifest;
-	private String fragmentHost;
-
-	public BundleInfo() {
-	}
-
-	public BundleInfo(URI location) {
-		this.location = location;
-	}
-
-	public BundleInfo(URI location, boolean started) {
-		this.location = location;
-		this.markedAsStarted = started;
-	}
-
-	public BundleInfo(URI location, int startLevel) {
-		this.location = location;
-		this.startLevel = startLevel;
-	}
-
-	public BundleInfo(URI location, int startLevel, boolean started) {
-		this.location = location;
-		this.startLevel = startLevel;
-		this.markedAsStarted = started;
-	}
-
-	public BundleInfo(URI location, int startLevel, boolean started, long bundleId) {
-		this.location = location;
-		this.startLevel = startLevel;
-		this.markedAsStarted = started;
-		this.bundleId = bundleId;
-	}
-
-	public BundleInfo(String symbolic, String version, URI location, int startLevel, boolean started) {
-		this.symbolicName = symbolic;
-		this.version = version;
-		this.location = location;
-		this.markedAsStarted = started;
-		this.startLevel = startLevel;
-	}
-
-	public long getBundleId() {
-		return bundleId;
-	}
-
-	public URI getBaseLocation() {
-		return baseLocation;
-	}
-
-	public URI getLocation() {
-		return location;
-	}
-
-	public String getManifest() {
-		return manifest;
-	}
-
-	public int getStartLevel() {
-		return startLevel;
-	}
-
-	public String getSymbolicName() {
-		return symbolicName;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String getFragmentHost() {
-		return fragmentHost;
-	}
-
-	public boolean isMarkedAsStarted() {
-		return markedAsStarted;
-	}
-
-	public boolean isResolved() {
-		return resolved;
-	}
-
-	public void setBundleId(long bundleId) {
-		this.bundleId = bundleId;
-	}
-
-	public void setBaseLocation(URI baseLocation) {
-		this.baseLocation = baseLocation;
-	}
-
-	public void setLocation(URI location) {
-		this.location = location;
-	}
-
-	public void setManifest(String manifest) {
-		this.manifest = manifest;
-	}
-
-	public void setMarkedAsStarted(boolean markedAsStarted) {
-		this.markedAsStarted = markedAsStarted;
-	}
-
-	public void setResolved(boolean resolved) {
-		this.resolved = resolved;
-	}
-
-	public void setStartLevel(int level) {
-		this.startLevel = level;
-	}
-
-	public void setSymbolicName(String symbolicName) {
-		this.symbolicName = symbolicName;
-	}
-
-	public void setVersion(String value) {
-		this.version = value;
-	}
-
-	public void setFragmentHost(String fragmentHost) {
-		this.fragmentHost = fragmentHost;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("BundleInfo("); //$NON-NLS-1$
-		if (symbolicName != null)
-			buffer.append(symbolicName);
-		buffer.append(", "); //$NON-NLS-1$
-		if (version != null)
-			buffer.append(version);
-
-		if (fragmentHost != null) {
-			buffer.append(", fragmentHost="); //$NON-NLA-1$
-			buffer.append(fragmentHost);
-		}
-
-		if (baseLocation != null) {
-			buffer.append(", baseLocation="); //$NON-NLS-1$
-			buffer.append(baseLocation);
-		}
-		buffer.append(", location="); //$NON-NLS-1$
-		buffer.append(location);
-		buffer.append(", startLevel="); //$NON-NLS-1$
-		buffer.append(startLevel);
-		buffer.append(", toBeStarted="); //$NON-NLS-1$
-		buffer.append(markedAsStarted);
-		buffer.append(", resolved="); //$NON-NLS-1$
-		buffer.append(resolved);
-		buffer.append(", id="); //$NON-NLS-1$
-		buffer.append(this.bundleId);//		buffer.append(',').append(manifest == null ? "no manifest" : "manifest available");
-		buffer.append(',').append(manifest == null ? "no manifest" : "manifest available"); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.append(')');
-		return buffer.toString();
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((symbolicName == null) ? 0 : symbolicName.hashCode());
-		result = prime * result + ((version == null) ? 0 : version.hashCode());
-		return result;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null)
-			return false;
-
-		if (getClass() != obj.getClass())
-			return false;
-
-		BundleInfo other = (BundleInfo) obj;
-		if (symbolicName == null) {
-			if (other.symbolicName != null)
-				return false;
-		} else if (!symbolicName.equals(other.symbolicName))
-			return false;
-
-		if (version == null) {
-			if (other.version != null)
-				return false;
-		} else if (!version.equals(other.version))
-			return false;
-
-		if (location == null || other.location == null)
-			return true;
-
-		//compare absolute location URIs
-		URI absoluteLocation = baseLocation == null ? location : URIUtil.append(baseLocation, location.toString());
-		URI otherAbsoluteLocation = other.baseLocation == null ? other.location : URIUtil.append(other.baseLocation, other.location.toString());
-		return URIUtil.sameURI(absoluteLocation, otherAbsoluteLocation);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
deleted file mode 100644
index 971373b..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/BundlesState.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-/**
- * This API is used for expecting bundles state virtually.
- * 
- * This object is instantiated by {@link Manipulator#getBundlesState()}.
- * At its instantiation, state of the bundles will be created in this object 
- * according to the parameters which the calling {@link Manipulator} object has.
- * For its creation, information in the fw persistent data will be taken into account. 
- * 
- * Modification of this object after its instantiation never affects the parameters
- * in the calling {@link Manipulator} object.  
- *  
- * XXX Implementation of Simple ConfiguratorManipulator needs the functions.   
- *  
- * @see Manipulator
- */
-public interface BundlesState {
-
-	/** Return expected bundles state currently kept in this object. 
-	 * 
-	 * The implementation of this method will try to resolve the state
-	 * if resolving a state is supported.
-	 * 
-	 * @return bundle array of BundleInfo currently composed in this object.
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered. 
-	 */
-	BundleInfo[] getExpectedState() throws FrameworkAdminRuntimeException;
-
-	/**	
-	 * Return required bundles to be resolve the specified bInfo
-	 * under the state currently composed.  
-	 * 
-	 * The implementation of this method will try to resolve the state
-	 * if resolving a state is supported. 
-	 * 
-	 * @param bInfo bundleinfo whose prerequisite bundles will be searched.
-	 * @return bundle array of BundleInfos required for the specified bInfo to be resolved. 
-	 */
-	BundleInfo[] getPrerequisteBundles(BundleInfo bInfo);
-
-	/**
-	 * Return a bundle to be used as a framework under the state currently composed.  
-	 * @return a bundle to be used as a framework under the state currently composed. 
-	 */
-	public BundleInfo getSystemBundle();
-
-	/**
-	 * Return bundles which are fragment bundles of the framework under the state currently composed.  
-	 * @return array of BundleInfos which are fragment bundles of the framework.
-	 */
-	public BundleInfo[] getSystemFragmentedBundles();
-
-	/**
-	 * Return array of Strings which tells the unsatisfied constaints
-	 * to resolve the specified bInfo under the state currently composed.  
-	 * 
-	 * If this implementation doesn't support resolving state,
-	 * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
-	 * will be thrown.
-	 * 
-	 * XXX this method is prepared mainly for debugging. 
-	 * 
-	 * @param bInfo
-	 * @return array of Strings which tells the unsatisfied constaints.
-	 * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}  will be thrown.
-	 */
-	public String[] getUnsatisfiedConstraints(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Install the specified bInfo as a installed bundle to the current state virtually.
-	 * Note that resolve this bundle is not done in this implementation.
-	 * 
-	 * @param bInfo BundleInfo to be installed
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered. 
-	 */
-	void installBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Return true if this implementation supports full functions,
-	 *  such as resolving bundles and .
-	 * Otherwise false will be returend.
-	 * @return  true if this implementation supports resolving state. Otherwise false.
-	 */
-	boolean isFullySupported();
-
-	/**
-	 * Return true if the state currently composed is resolved after the last change of the state.
-	 * Otherwise false. 
-	 * 
-	 * If this implementation doesn't support resolving state,
-	 * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
-	 * will be thrown.
-	 * 
-	 * @return true if the state currently composed is resolved after the last change of the state. Otherwise false. 
-	 * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}  will be thrown.
-	 */
-	public boolean isResolved() throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Return true if the specified bundle is resolved.
-	 * Otherwise false. 
-	 * 
-	 * If this implementation doesn't support resolving state,
-	 * FwLauncherException with a cause of {@value FwLauncherException#UNSUPPORTED_OPERATION}
-	 * will be thrown.
-	 * 
-	 * @return true if the specified bundle is resolved. Otherwise false. 
-	 * @throws FrameworkAdminRuntimeException if this implementation doesn't support resolving state, FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}  will be thrown.
-	 */
-	public boolean isResolved(BundleInfo bInfo) throws FrameworkAdminRuntimeException;
-
-	/**	
-	 * Resolves the constraints contained in this state.
-	 * 
-	 * If this implementation doesn't support resolving state,
-	 * FrameworkAdminRuntimeException with a cause of {@value FrameworkAdminRuntimeException#UNSUPPORTED_OPERATION}
-	 * will be thrown.
-	 * 	 
-	 * @param incremental a flag controlling whether resolution should be incremental
-	 * @throws FrameworkAdminRuntimeException 
-	 */
-	void resolve(boolean increment) throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Uninstall the specified bInfo from the current state virtually. 
-	 * 
-	 * @param bInfo BundleInfo to be uninstalled
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created the parent {@link Manipulator} is unregistered. 
-	 */
-	void uninstallBundle(BundleInfo bInfo) throws FrameworkAdminRuntimeException;;
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
deleted file mode 100644
index 7f888f7..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/ConfigData.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.util.*;
-
-/**
- * This object is instantiated by {@link Manipulator#getConfigData()};
- * The class that keeps some parameters of the {@link Manipulator}
- * created this object. The manipulating of the parameters will affect
- * the  {@link Manipulator}.
- *   
- * @see Manipulator
- */
-public class ConfigData {
-	final private String fwName;
-	final private String fwVersion;
-	final private String launcherName;
-	final private String launcherVersion;
-	private int beginningFwStartLevel = BundleInfo.NO_LEVEL;
-	private int initialBundleStartLevel = BundleInfo.NO_LEVEL;
-	// List of BundleInfo
-	private LinkedHashSet bundlesList = new LinkedHashSet();
-
-	private Properties properties = new Properties();
-
-	public ConfigData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
-		this.fwName = fwName;
-		this.fwVersion = fwVersion;
-		this.launcherName = launcherName;
-		this.launcherVersion = launcherVersion;
-		this.initialize();
-	}
-
-	public void addBundle(BundleInfo bundleInfo) {
-		bundlesList.add(bundleInfo);
-	}
-
-	public int getBeginingFwStartLevel() {
-		return beginningFwStartLevel;
-	}
-
-	public BundleInfo[] getBundles() {
-		if (bundlesList.size() == 0)
-			return new BundleInfo[0];
-		BundleInfo[] ret = new BundleInfo[bundlesList.size()];
-		bundlesList.toArray(ret);
-		return ret;
-	}
-
-	public String getProperty(String key) {
-		return properties.getProperty(key);
-	}
-
-	public Properties getProperties() {
-		Properties ret = new Properties();
-		ret.putAll(properties);
-		return ret;
-	}
-
-	public String getFwName() {
-		return fwName;
-	}
-
-	public String getFwVersion() {
-		return fwVersion;
-	}
-
-	public int getInitialBundleStartLevel() {
-		return initialBundleStartLevel;
-	}
-
-	public String getLauncherName() {
-		return launcherName;
-	}
-
-	public String getLauncherVersion() {
-		return launcherVersion;
-	}
-
-	public void initialize() {
-		beginningFwStartLevel = BundleInfo.NO_LEVEL;
-		initialBundleStartLevel = BundleInfo.NO_LEVEL;
-		bundlesList.clear();
-		properties.clear();
-		properties.clear();
-	}
-
-	public boolean removeBundle(BundleInfo bundleInfo) {
-		if (bundleInfo == null)
-			throw new IllegalArgumentException("Bundle info can't be null:" + bundleInfo); //$NON-NLS-1$
-		return bundlesList.remove(bundleInfo);
-	}
-
-	public void setBeginningFwStartLevel(int startLevel) {
-		beginningFwStartLevel = startLevel;
-	}
-
-	public void setBundles(BundleInfo[] bundleInfos) {
-		bundlesList.clear();
-		if (bundleInfos != null)
-			for (int i = 0; i < bundleInfos.length; i++)
-				bundlesList.add(bundleInfos[i]);
-	}
-
-	public void setProperty(String key, String value) {
-		if (value == null)
-			properties.remove(key);
-		else
-			properties.setProperty(key, value);
-	}
-
-	public void appendProperties(Properties props) {
-		properties.putAll(props);
-	}
-
-	public void setProperties(Properties props) {
-		properties.clear();
-		properties.putAll(props);
-	}
-
-	public void setInitialBundleStartLevel(int startLevel) {
-		initialBundleStartLevel = startLevel;
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append("Class:" + getClass().getName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("============Independent===============\n"); //$NON-NLS-1$
-		sb.append("fwName=" + fwName + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("fwVersion=" + fwVersion + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("launcherName=" + launcherName + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("launcherVersion=" + launcherVersion + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("beginningFwStartLevel=" + beginningFwStartLevel + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append("initialBundleStartLevel=" + initialBundleStartLevel + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (this.bundlesList.size() == 0)
-			sb.append("bundlesList=null\n"); //$NON-NLS-1$
-		else {
-			sb.append("bundlesList=\n"); //$NON-NLS-1$
-			int i = 0;
-			for (Iterator iter = bundlesList.iterator(); iter.hasNext();) {
-				sb.append("\tbundlesList[" + i + "]=" + iter.next().toString() + "\n"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-				i++;
-			}
-		}
-
-		sb.append("============ Properties ===============\n"); //$NON-NLS-1$
-		sb.append("fwIndependentProps="); //$NON-NLS-1$
-		setPropsStrings(sb, properties);
-		return sb.toString();
-	}
-
-	private static void setPropsStrings(StringBuffer sb, Properties props) {
-		if (props.size() > 0) {
-			sb.append("\n");
-			for (Enumeration enumeration = props.keys(); enumeration.hasMoreElements();) {
-				String key = (String) enumeration.nextElement();
-				String value = props.getProperty(key);
-				if (value == null || value.equals(""))
-					continue;
-				sb.append("\t{" + key + " ,\t" + value + "}\n");
-			}
-		} else
-			sb.append("empty\n");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
deleted file mode 100644
index a145750..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdmin.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * The implementation of this API will be registered to the service 
- * registry as an OSGi service.
- * 
- * *****************************************************************
- * 1. For developers who implement bundles that register this service.
- * 
- * Upon registration, the following service properties must be set to allow clients to 
- * search the FrameworkAdmin object, which will create BundlesState / ConfigData / LauncherData objects.
- * 
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_FW_NAME}: String; name of the framework 
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_FW_VERSION}: String; version of the framework
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_LAUNCHER_NAME}: String; name of the launcher 
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_LAUNCHER_VERSION}: String; version of the launcher 
- *
- * Bundles that register this service will check if the currently running system can be manipulated by 
- * this FrameworkAdmin. If yes and this implementation can create an initialized Manipulator object
- * according to the running framework and launcher, add the service property keyed by 
- * 
- * {@link FrameworkAdmin#SERVICE_PROP_KEY_RUNNING_SYSTEM_FLAG}: String; if "true", 
- * the service that will be returned by getRunningManipulator() is fully initialized to 
- * represent the state of the running system.
- *     
- * It is recommended to implement Manipulator objects created by calling methods of this interface
- * so that they cannot be used after this service is unregistered.  
- *     
- * *****************************************************************
- * 2. For developers who implement client bundles that use this service.
- * 
- * A client of this service can obtain a Manipulator object by calling the {@link #getManipulator()} method.
- * 
- * A client can search among services registered in a service registry to find the 
- * desired FrameworkAdmin implementation that matches the desired framework 
- * type, framework version, launcher type, and launcher version.
- * 
- * In order for a client bundle to manipulate the {@link Manipulator} object 
- * of the running framework and launcher, the service filter (FrameworkAdmin#SERVICE_PROP_KEY_RUNNING_FW_FLAG=true) 
- * should be used.   
- * 
- * As with all OSGi services, the client bundle should track this service state.
- * If the service is unregistered, it should stop using any of the objects obtained from this service and 
- * release them. If it continues to use them, {@link FrameworkAdminRuntimeException} might 
- * be thrown. 
- * 
- * *****************************************************************
- * In addition, FrameworkAdminFactory will create this object. This is used by Java programs.
- * 
- * @see FrameworkAdminFactory
- *    
- */
-public interface FrameworkAdmin {
-
-	String SERVICE_PROP_KEY_FW_NAME = "org.eclipse.equinox.frameworkhandler.framework.name";
-	String SERVICE_PROP_KEY_FW_VERSION = "org.eclipse.equinox.frameworkhandler.framework.version";
-
-	String SERVICE_PROP_KEY_LAUNCHER_NAME = "org.eclipse.equinox.frameworkhandler.launcher.name";
-	String SERVICE_PROP_KEY_LAUNCHER_VERSION = "org.eclipse.equinox.frameworkhandler.launcher.version";
-	String SERVICE_PROP_KEY_RUNNING_SYSTEM_FLAG = "org.eclipse.equinox.frameworkhandler.runningfwflag";
-
-	/**
-	 * Create new instance of {@link Manipulator} and return it.
-	 * 
-	 * @return new instance of Manipulator.
-	 */
-	public Manipulator getManipulator();
-
-	/**
-	 * Create new instance of {@link Manipulator} for running system 
-	 * and return it. The instance must be initialized fully according to the 
-	 * running environment. If this implementation cannot provide it, return null.
-	 * 
-	 * @return new instance of Manipulator.
-	 */
-	public Manipulator getRunningManipulator();
-
-	/**
-	 * Launch a framework instance under the specified current working directory. 
-	 * 
-	 * @param manipulator {@link Manipulator} object to be launched.
-	 * @param cwd current working directory to be used for launching.
-	 * @return process
-	 * @throws IllegalArgumentException if specified arguments are null.
-	 * @throws IOException if any error relate with IO occurs
-	 * @throws FrameworkAdminRuntimeException if the FrameworkAdmin service object
-	 * 		 that created the specified Manipulator object is unregistered.
-	 */
-	public Process launch(Manipulator manipulator, File cwd) throws IllegalArgumentException, IOException, FrameworkAdminRuntimeException;
-
-	/**
-	 * 	
-	 * @return true if this object is active. false otherwise.
-	 */
-	public boolean isActive();
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
deleted file mode 100644
index 07fcec8..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-/**
- * Factory class for creating FrameworkAdmin object from Java programs.
- * 
- *  @see FrameworkAdmin
- */
-public abstract class FrameworkAdminFactory {
-	abstract protected FrameworkAdmin createFrameworkAdmin() throws InstantiationException, IllegalAccessException, ClassNotFoundException;
-
-	// proposed method: only for ConfiguratorManipulatorFactory, magic system property is used.
-	public static FrameworkAdmin getInstance(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-		FrameworkAdminFactory factory = (FrameworkAdminFactory) Class.forName(className).newInstance();
-		return factory.createFrameworkAdmin();
-	}
-
-	//  // method 3: two magic system properties are used.
-	//	public static FrameworkAdmin getInstance() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-	//		String className = System.getProperty("org.eclipse.equinox.internal.provisional.frameworkadmin.frameworkAdminFactory");
-	//		if (className == null)
-	//			throw new ClassNotFoundException("System property keyed by \"org.eclipse.equinox.internal.provisional.frameworkadmin.frameworkAdminFactory\" is not set.");
-	//		FrameworkAdminFactory factory = (FrameworkAdminFactory) Class.forName(className).newInstance();
-	//		return (FrameworkAdmin) factory.createFrameworkAdmin();
-	//	}
-
-	//  // method 1: no magic system properties are used.
-	//
-	//	public static FrameworkAdmin getInstance(String className, String configuratorManipulatorFactoryName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-	//		ExtendedFrameworkAdminFactory factory = (ExtendedFrameworkAdminFactory) Class.forName(className).newInstance();
-	//		return (FrameworkAdmin) factory.createFrameworkAdmin(configuratorManipulatorFactoryName);
-	//	}
-
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
deleted file mode 100644
index 0e99605..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/FrameworkAdminRuntimeException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-public class FrameworkAdminRuntimeException extends RuntimeException {
-
-	private static final long serialVersionUID = -2292498677000772317L;
-	public static final String FRAMEWORKADMIN_UNAVAILABLE = "FrameworkAdmin service created this object is not available any more";
-	public static final String UNSUPPORTED_OPERATION = "This implementation doesn't support this method.";
-
-	private final String reason;
-	private Throwable cause;
-
-	/**
-	 * @param message
-	 */
-	public FrameworkAdminRuntimeException(String message, String reason) {
-		super(message);
-		this.reason = reason;
-		this.cause = null;
-	}
-
-	/**
-	 * @param message
-	 * @param cause
-	 */
-	public FrameworkAdminRuntimeException(String message, Throwable cause, String reason) {
-		super(message);
-		this.reason = reason;
-		this.cause  = cause;
-	}
-
-	/**
-	 * @param cause
-	 */
-	public FrameworkAdminRuntimeException(Throwable cause, String reason) {
-		super(cause.getLocalizedMessage());
-		this.reason = reason;
-		this.cause = cause;
-	}
-
-	public String getReason() {
-		return reason;
-	}
-
-	public Throwable getCause() {
-		return cause;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
deleted file mode 100644
index 4a8bd51..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.util.*;
-
-/**
- * This object is instantiated by {@link Manipulator#getLauncherData()};
- * The class that keeps some parameters of the {@link Manipulator}
- *  created this object. The manipulating of the parameters will affect
- *  the  {@link Manipulator}.
- *  
- * 
- * @see Manipulator
- */
-public class LauncherData {
-	private File fwPersistentDataLocation = null;
-	private File jvm = null;
-	private List jvmArgs = new LinkedList();
-	private List programArgs = new LinkedList();
-
-	private boolean clean;
-	private File fwConfigLocation;
-	private File home = null;
-	private File fwJar = null;
-
-	private File launcher = null;
-	private File launcherConfigLocation = null;
-
-	private String fwName;
-	private String fwVersion;
-	private String launcherName;
-	private String launcherVersion;
-	private String os;
-
-	public LauncherData(String fwName, String fwVersion, String launcherName, String launcherVersion) {
-		this.fwName = fwName;
-		this.fwVersion = fwVersion;
-		this.launcherName = launcherName;
-		this.launcherVersion = launcherVersion;
-		this.initialize();
-	}
-
-	public void addJvmArg(String arg) {
-		if (arg == null)
-			return;
-		jvmArgs.add(arg);
-	}
-
-	public void addProgramArg(String arg) {
-		if (arg == null)
-			return;
-		programArgs.add(arg);
-	}
-
-	public File getFwConfigLocation() {
-		return fwConfigLocation;
-	}
-
-	public File getFwJar() {
-		return fwJar;
-	}
-
-	public String getFwName() {
-		return fwName;
-	}
-
-	public File getFwPersistentDataLocation() {
-		return fwPersistentDataLocation;
-	}
-
-	public String getFwVersion() {
-		return fwVersion;
-	}
-
-	public File getHome() {
-		return home;
-	}
-
-	public File getJvm() {
-		return jvm;
-	}
-
-	public String[] getJvmArgs() {
-		String[] args = new String[jvmArgs.size()];
-		jvmArgs.toArray(args);
-		return args;
-	}
-
-	public File getLauncher() {
-		return launcher;
-	}
-
-	public File getLauncherConfigLocation() {
-		return launcherConfigLocation;
-	}
-
-	public String getLauncherName() {
-		return launcherName;
-	}
-
-	public String getLauncherVersion() {
-		return launcherVersion;
-	}
-
-	public String[] getProgramArgs() {
-		String[] args = new String[programArgs.size()];
-		programArgs.toArray(args);
-		return args;
-	}
-
-	public void initialize() {
-		fwPersistentDataLocation = null;
-		jvm = null;
-		jvmArgs.clear();
-		programArgs.clear();
-		clean = false;
-		fwConfigLocation = null;
-		fwJar = null;
-		launcher = null;
-	}
-
-	public boolean isClean() {
-		return clean;
-	}
-
-	public void removeJvmArg(String arg) {
-		jvmArgs.remove(arg);
-	}
-
-	public void removeProgramArg(String arg) {
-		// We want to handle program args as key/value pairs subsequently 
-		// a key MUST start with a "-", all other args are ignored. For 
-		// backwards compatibility we remove all program args until the 
-		// next program arg key 
-		// (see bug 253862)
-		if (!arg.startsWith("-"))
-			return;
-
-		int index = programArgs.indexOf(arg);
-		if (index == -1)
-			return;
-
-		programArgs.remove(index);
-		while (index < programArgs.size()) {
-			String next = (String) programArgs.get(index);
-			if (next.charAt(0) == '-')
-				return;
-			programArgs.remove(index);
-		}
-	}
-
-	public void setFwConfigLocation(File fwConfigLocation) {
-		this.fwConfigLocation = fwConfigLocation;
-	}
-
-	public void setFwJar(File fwJar) {
-		this.fwJar = fwJar;
-	}
-
-	public void setFwPersistentDataLocation(File fwPersistentDataLocation, boolean clean) {
-		this.fwPersistentDataLocation = fwPersistentDataLocation;
-		this.clean = clean;
-	}
-
-	public void setHome(File home) {
-		this.home = home;
-	}
-
-	public void setJvm(File file) {
-		this.jvm = file;
-	}
-
-	public void setJvmArgs(String[] args) {
-		if (args == null || args.length == 0) {
-			jvmArgs.clear();
-			return;
-		}
-		for (int i = 0; i < args.length; i++)
-			this.addJvmArg(args[i]);
-	}
-
-	public void setLauncher(File launcherFile) {
-		launcher = launcherFile;
-	}
-
-	public void setLauncherConfigLocation(File launcherConfigLocation) {
-		this.launcherConfigLocation = launcherConfigLocation;
-	}
-
-	public void setOS(String os) {
-		this.os = os;
-	}
-
-	public String getOS() {
-		return os;
-	}
-
-	public void setProgramArgs(String[] args) {
-		if (args == null || args.length == 0) {
-			programArgs.clear();
-			return;
-		}
-		for (int i = 0; i < args.length; i++)
-			this.addProgramArg(args[i]);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append("Class:" + this.getClass().getName() + "\n");
-		sb.append("fwName=" + this.fwName + "\n");
-		sb.append("fwVersion=" + this.fwVersion + "\n");
-		sb.append("launcherName=" + this.launcherName + "\n");
-		sb.append("launcherVersion=" + this.launcherVersion + "\n");
-
-		sb.append("jvm=" + this.jvm + "\n");
-		if (this.jvmArgs.size() == 0)
-			sb.append("jvmArgs = null\n");
-		else {
-			sb.append("jvmArgs=\n");
-			int i = 0;
-			for (Iterator iterator = jvmArgs.iterator(); iterator.hasNext(); iterator.next())
-				sb.append("\tjvmArgs[" + i++ + "]=" + iterator + "\n");
-
-		}
-		if (this.programArgs.size() == 0)
-			sb.append("programArgs = null\n");
-		else {
-			sb.append("programArgs=\n");
-			int i = 0;
-			for (Iterator iterator = programArgs.iterator(); iterator.hasNext(); iterator.next())
-				sb.append("\tprogramArgs[" + i++ + "]=" + iterator + "\n");
-		}
-		sb.append("fwConfigLocation=" + this.fwConfigLocation + "\n");
-		sb.append("fwJar=" + this.fwJar + "\n");
-		sb.append("fwPersistentDataLocation=" + this.fwPersistentDataLocation + "\n");
-		sb.append("home=" + this.home + "\n");
-		sb.append("launcher=" + this.launcher + "\n");
-		sb.append("launcherConfigLocation=" + this.launcherConfigLocation + "\n");
-		sb.append("clean=" + this.isClean() + "\n");
-
-		return sb.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java b/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
deleted file mode 100644
index 4159132..0000000
--- a/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/Manipulator.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.frameworkadmin;
-
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-
-/**
- * A manipulator is used to query and modify the state of a framework instance. 
- * A manipulator instance is obtained by calling {@link FrameworkAdmin#getManipulator()}.
- * 
- * The typical use-cases of this interface:
- * 
- * Usecase 1: set parameters, check the expected state, save them into configuration files, and launch. 
- * 	A. create a {@link Manipulator} object from a {@link FrameworkAdmin}.
- *  B. set parameters to the {@link Manipulator} object.
- *  C. getExpectedState() and check what bundle state will be realized.
- *     If it is not same as you desire, repeat B and C until it becomes as you desire.
- *  D. save parameters into configuration files by {@link Manipulator#save(boolean)}.
- *  E. launch the framework by {@link FrameworkAdmin#launch(Manipulator, File)}.
- *     
- * Usecase 2: set parameters required for loading, load parameters from configuration files,
- * 		  check the expected state, and launch. 
- * 	A. create a {@link Manipulator} object from a {@link FrameworkAdmin}.
- *  B. set parameters about launcher or framework configuration file to the {@link Manipulator} object.
- *  C. load parameters from configuration files by {@link Manipulator#load()};
- *  D. getExpectedState() and check what bundle state will be realized.
- *  E. launch the framework by {@link FrameworkAdmin#launch(Manipulator, File)}.
- * @see FrameworkAdmin
- * @see ConfigData
- * @see LauncherData
- */
-public interface Manipulator {
-
-	/**
-	 * Return the newly created BundldsState object,
-	 * according to the parameters set to this object "in memory".
-	 * 
-	 * None of launcher config file, framework config file and configurator config file
-	 * will be read by this method. However, the framework persistent data location should be
-	 * taken into consideration. In other words, this method will return 
-	 * the expected {@link BundlesState} object assuming that the current parameters were saved and 
-	 * {@link FrameworkAdmin#launch(Manipulator, File)} with an argument of this object 
-	 * were called. (It would read the framework persistent data location if required).
-	 *  
-	 * This method should not modify the parameters in this {@link Manipulator} object.
-	 * 
-	 * @return framework bundle state object created according to he current parameters set.
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method. 
-	 */
-	BundlesState getBundlesState() throws FrameworkAdminRuntimeException;
-
-	/**
-	 * The reference of {@link ConfigData} object representing configuration information related with framework settings will be returned.
-	 * Remind that manipulating returned object will affect this Manipulator behavior.
-	 *  
-	 * @return ConfigData object representing configuration information related with framework setting 
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method. 
-	 * @see ConfigData
-	 */
-	ConfigData getConfigData() throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Return the expected BundleInfo array representing state of bundles,
-	 * according to the parameters set to this object "in memory".
-	 * 
-	 * None of launcher config file, framework config file and configurator config file
-	 * will be read by this method. However, the framework persistent data location should be
-	 * taken into consideration. In other words, this method will return 
-	 * the expected bundles state assuming that the current parameters were saved and 
-	 * {@link FrameworkAdmin#launch(Manipulator, File)} with an argument of this object 
-	 * were called. (It would read the framework persistent data location if required).
-	 * 
-	 * Returned BundleInfos must have resolved flag set.
-	 * This method should not modify the parameters in this {@link Manipulator} object. 
-	 * 
-	 * cf. getConfigData().getBundles() will return array of BundleInfo too.
-	 * 	However the resolved flag of returned BundleInfos might not be reliable.
-	 * 
-	 * This method is equivalent to calling getBundlesState().getExpectedState().
-	 *  
-	 * @return array of BundleInfo representing expected state of all bundles installed.
-	 * @throws IllegalArgumentException - If either of fwJar or cwd doesn't exist.
-	 * @throws IOException - If reading fw configuration file or reading persistently recorded information 
-	 *   of fw fails. 
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method. 
-	 */
-	BundleInfo[] getExpectedState() throws IllegalStateException, IOException, FrameworkAdminRuntimeException;
-
-	/**
-	 * The reference of {@link LauncherData} object representing configuration information
-	 * related with launcher settings will be returned. 
-	 * Remember that manipulating returned object will affect this Manipulator object behavior.
-	 * 
-	 * @return LauncherData object representing configuration information related with launcher setting 
-	 * @throws FrameworkAdminRuntimeException - If the ManipulatorAdmin service created this object is unregistered or this implementation doesn't support this method. 
-	 * @see LauncherData
-	 */
-	LauncherData getLauncherData() throws FrameworkAdminRuntimeException;
-
-	/**
-	 * Return timestamp of configurations which will be loaded by load() method
-	 * according to the parameters set to this manipulator in long value.
-	 * 
-	 * This method will check last modified time of all launcher configuration file, framework configuration file,
-	 * and framework persistent storage according to the parameters set.
-	 * @return
-	 */
-	long getTimeStamp();
-
-	/**
-	 * Initialize all information that this object keeps at that time.
-	 */
-	void initialize();
-
-	/**
-	 * load configs from appropriate config files, 
-	 * including launcher config file, fw config file, and configurator config files, 
-	 * whose locations are determined by the current setting. In addition, 
-	 * the fw persistent data location should be taken into consideration. 
-	 * 
-	 * The following procedure contains the matters of implementation detail.
-	 * However, it is an example how it works.
-	 * 
-	 * 1. if launcher object is set, corresponding launcher config file will be read.
-	 * According to the information retrieved, setting of this object will be updated.
-	 * including fw config file.
-	 * 
-	 * 2. If fw config file is not specified, IllegalStateException will be thrown. 
-	 * Otherwise, the information will be retrieved from the fw config file.
-	 * 
-	 * 3. If any ConfiguratorBundle is included in the bundle list,
-	 * read appropriate configurator config file by 
-	 * {@link ConfiguratorManipulator#updateBundles(Manipulator)},
-	 *  which will update the parameter about installed bundles in its 
-	 *  {@link Manipulator#getConfigData()} object.
-	 *  
-	 * Most old parameters will be updated by this method call. 
-	 * 
-	 * @throws IOException - If reading info from configuration files fails. 
-	 * @throws IllegalStateException - If config files cannot be determined.
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method. 
-	 */
-	void load() throws IllegalStateException, IOException, FrameworkAdminRuntimeException;
-
-	/**
-	 * Save parameters that this object keeps at that time into appropriate configuration files, 
-	 * which include launcher configuration file, framework configuration file, and configurator configuration files
-	 * (if required and implementation of this object supports), according to the current setting and situation. 
-	 * 
-	 * The following procedure contains the matters of implementation detail.
-	 * However, it is an example how it works.
-	 * 
-	 * 1. if a launcher file is set,
-	 * the parameters to be saved into a LauncherConfigFile will be saved into the default LauncherConfigFile
-	 * that is determined by the location of the launcher file.
-	 * 
-	 * 
-	 * 2. if there are any {@link ConfiguratorManipulator} objects available whose corresponding ConfiguratorBundle
-	 * is set to be started, choose the ConfiguratorBudnle that starts the first among them and go to next step.
-	 * Otherwise, save the BundleInfo[] set to this object into a FwConfigFile that is determined
-	 * by the parameters set. 
-	 *  
-	 * 3. call {@link ConfiguratorManipulator#save(Manipulator, boolean)} of 
-	 * the ConfiguratorManipulator that can manipulate the chosen ConfiguratorBudnle. 
-	 * This method will save configurations for ConfiguratorBundle to read appropriately  
-	 * and return BundleInfo[] to be saved in the FwConfigFile, which is determined by the parameters set.
-	 * 
-	 * 4. Save the returned BundleInfo[] in the FwConfigFile, which is determined by the parameters set.
-	 * 	   
-	 * @param backup - if true, keep old file by renaming if exists. 
-	 * @throws IOException - If writing info into configuration files fails. 
-	 * @throws FrameworkAdminRuntimeException - If the {@link FrameworkAdmin} service created this object is unregistered or this implementation doesn't support this method. 
-	 */
-	void save(boolean backup) throws IOException, FrameworkAdminRuntimeException;
-
-	/**
-	 * Copy all information the specified {@link ConfigData} contains into this object.
-	 * All of old settings will be initialized and replaced.
-	 * 
-	 * @param configData fw config data to be set to this object.
-	 */
-	void setConfigData(ConfigData configData);
-
-	/**
-	 * Copy all information the specified {@link LauncherData} contains into this object.
-	 * All of old settings will be initialized and replaced.
-	 * 
-	 * @param launcherData launcher config data to be set to this object.
-	 */
-	void setLauncherData(LauncherData launcherData);
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.project b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.project
deleted file mode 100644
index 28e367d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.artifact.optimizers</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c9dc95d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Nov 14 12:49:29 EST 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d1e9ee3..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,342 +0,0 @@
-#Mon Nov 05 16:53:31 EST 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 900e4e1..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Mon Nov 05 16:53:31 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
deleted file mode 100644
index e5b8e6b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,33 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.optimizers;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.optimizers.Activator
-Import-Package: ie.wombat.jbdiff,
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.sar,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.artifact.optimizers;x-friends:="org.eclipse.equinox.p2.artifact.processors",
- org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/about.html b/bundles/org.eclipse.equinox.p2.artifact.optimizers/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/build.properties b/bundles/org.eclipse.equinox.p2.artifact.optimizers/build.properties
deleted file mode 100644
index 48a852f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/optimizer.launch b/bundles/org.eclipse.equinox.p2.artifact.optimizers/optimizer.launch
deleted file mode 100644
index 65bf933..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/optimizer.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/optimizer"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.6.0"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.artifact.optimizers.pack200optimizer&#13;&#10;-artifactRepository file:d:/prov/repo&#13;&#10;-console"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.runtime.compatibility.registry@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.eclipse.update.configurator@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="ie.wombat.jbdiff@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.sar@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.properties b/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.properties
deleted file mode 100644
index fe0fea6..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox p2 Artifact Optimizers
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.xml b/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.xml
deleted file mode 100644
index fb0e4f6..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension id="jardeltaoptimizer" point="org.eclipse.core.runtime.applications"> 
-      <application> 
-         <run class="org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta.Application"/> 
-      </application> 
-   </extension>
-
-	<extension id="pack200optimizer" point="org.eclipse.core.runtime.applications"> 
-      <application> 
-         <run class="org.eclipse.equinox.internal.p2.artifact.optimizers.pack200.Application"/> 
-      </application> 
-   </extension>
-
-	<extension id="jbdiffoptimizer" point="org.eclipse.core.runtime.applications"> 
-      <application> 
-         <run class="org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff.Application"/> 
-      </application> 
-   </extension>
-
-	<extension id="Pack200Optimizer" point="org.eclipse.equinox.p2.artifact.repository.processingSteps">
-		<step class="org.eclipse.equinox.internal.p2.artifact.optimizers.pack200.Pack200OptimizerStep"/>
-	</extension>
-
-	<extension id="JarDeltaOptimizer" point="org.eclipse.equinox.p2.artifact.repository.processingSteps">
-		<step class="org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta.JarDeltaOptimizerStep"/>
-	</extension>
-
-	<extension id="JBDiffStep" point="org.eclipse.equinox.p2.artifact.repository.processingSteps">
-		<step class="org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff.JBDiffStep"/>
-	</extension>
-
-	<extension id="JBDiffZipStep" point="org.eclipse.equinox.p2.artifact.repository.processingSteps">
-		<step class="org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff.JBDiffZipStep"/>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/AbstractDeltaStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/AbstractDeltaStep.java
deleted file mode 100644
index a29e882..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/AbstractDeltaStep.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *   IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.processing.AbstractBufferingStep;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * The <code>AbstractDeltaDiffStep</code> is an abstract processing step that
- * retrieves a local artifact repository containing the serialized/encoded
- * artifact key. It assumes that the artifact key is stored within the data property
- * of the processing step descriptor and that is encoded with the <code>ArtifactKeySerializer</code>.
- */
-public abstract class AbstractDeltaStep extends AbstractBufferingStep {
-
-	protected IArtifactKey key;
-	protected IArtifactRepository repository;
-
-	public AbstractDeltaStep() {
-		this(null);
-	}
-
-	protected AbstractDeltaStep(IArtifactRepository repository) {
-		super();
-		this.repository = repository;
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		readArtifactKey(descriptor);
-	}
-
-	protected void readArtifactKey(ProcessingStepDescriptor descriptor) {
-		try {
-			key = ArtifactKey.parse(descriptor.getData());
-		} catch (IllegalArgumentException e) {
-			setStatus(new Status(IStatus.ERROR, Activator.ID, "Predecessor artifact key for delta could not be deserialized. Serialized key is " + descriptor.getData(), e));
-		}
-	}
-
-	protected File fetchPredecessor(ArtifactDescriptor descriptor) {
-		if (repository instanceof IFileArtifactRepository)
-			return ((IFileArtifactRepository) repository).getArtifactFile(descriptor);
-		File result = null;
-		OutputStream resultStream = null;
-		try {
-			try {
-				result = File.createTempFile(PREDECESSOR_ROOT, JAR_SUFFIX);
-				resultStream = new BufferedOutputStream(new FileOutputStream(result));
-				setStatus(repository.getArtifact(descriptor, resultStream, getProgressMonitor()));
-				return result;
-			} finally {
-				if (resultStream != null)
-					resultStream.close();
-			}
-		} catch (IOException e) {
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/Activator.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/Activator.java
deleted file mode 100644
index 4d0ea17..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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 http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * 	IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.artifact.optimizers;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.artifact.optimizers"; //$NON-NLS-1$
-	private static BundleContext context = null;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		Activator.context = context;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
deleted file mode 100644
index 15e341c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *   IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers;
-
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-public class VersionlessArtifactKey extends ArtifactKey {
-
-	public VersionlessArtifactKey(String classifier, String id) {
-		super(classifier, id, Version.emptyVersion);
-	}
-
-	public VersionlessArtifactKey(IArtifactKey base) {
-		super(base.getClassifier(), base.getId(), Version.emptyVersion);
-	}
-
-	public int hashCode() {
-		int hash = getId().hashCode();
-		hash = 17 * hash + getClassifier().hashCode();
-		return hash;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof IArtifactKey))
-			return false;
-		IArtifactKey ak = (IArtifactKey) obj;
-		return ak.getId().equals(getId()) && ak.getClassifier().equals(getClassifier());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Application.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Application.java
deleted file mode 100644
index 00ec528..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Application.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * The optimizer <code>Application</code> for JBDiff based optimizations. 
- */
-public class Application implements IApplication {
-
-	private URI artifactRepositoryLocation;
-	private int width = 1;
-	private int depth = 1;
-
-	public Object start(IApplicationContext context) throws Exception {
-		Map args = context.getArguments();
-		initializeFromArguments((String[]) args.get("application.args")); //$NON-NLS-1$
-		IArtifactRepository repository = setupRepository(artifactRepositoryLocation);
-		new Optimizer(repository, width, depth).run();
-		return null;
-	}
-
-	private IArtifactRepository setupRepository(URI location) throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		return manager.loadRepository(location, null);
-	}
-
-	public void stop() {
-		// nothing to do yet
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-			//			if (args[i].equals("-pack"))
-			//				pack = true;
-
-			// check for args with parameters. If we are at the last argument or 
-			// if the next one has a '-' as the first character, then we can't have 
-			// an arg with a param so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase("-artifactRepository") || args[i - 1].equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$
-				artifactRepositoryLocation = new URI(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-depth")) //$NON-NLS-1$
-				depth = Integer.parseInt(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-width")) //$NON-NLS-1$
-				width = Integer.parseInt(arg);
-
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/DeltaComputer.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/DeltaComputer.java
deleted file mode 100644
index 099283b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/DeltaComputer.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-
-public class DeltaComputer {
-	private File target;
-	private File base;
-	private File destination;
-	private ZipFile baseJar;
-	private ZipFile targetJar;
-	private Set baseEntries;
-	private ArrayList additions;
-	private ArrayList changes;
-	private ZipFile manifestJar = null;
-
-	public DeltaComputer(File base, File target, File destination) {
-		this.base = base;
-		this.target = target;
-		this.destination = destination;
-	}
-
-	public void run() throws IOException {
-		try {
-			if (!openJars())
-				return;
-			computeDelta();
-			writeDelta();
-		} finally {
-			closeJars();
-		}
-	}
-
-	private void writeDelta() {
-		ZipOutputStream result = null;
-		try {
-			try {
-				result = new ZipOutputStream(new FileOutputStream(destination));
-				// if the delta includes the manifest, be sure to write it first
-				if (manifestJar != null)
-					writeEntry(result, manifestJar.getEntry("META-INF/MANIFEST.MF"), manifestJar, true);
-				// write out the removals.  These are all the entries left in the baseEntries
-				// since they were not seen in the targetJar.  Here just write out an empty
-				// entry with a name that signals the delta processor to delete.
-				for (Iterator i = baseEntries.iterator(); i.hasNext();)
-					writeEntry(result, new ZipEntry(((String) i.next()) + ".delete"), null, false);
-				// write out the additions.
-				for (Iterator i = additions.iterator(); i.hasNext();)
-					writeEntry(result, (ZipEntry) i.next(), targetJar, false);
-				// write out the changes.
-				for (Iterator i = changes.iterator(); i.hasNext();)
-					writeEntry(result, (ZipEntry) i.next(), targetJar, false);
-			} finally {
-				if (result != null)
-					result.close();
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-			return;
-		}
-	}
-
-	private void writeEntry(ZipOutputStream result, ZipEntry entry, ZipFile sourceJar, boolean manifest) throws IOException {
-		if (!manifest && entry.getName().equalsIgnoreCase("META-INF/MANIFEST.MF"))
-			return;
-		// add the entry
-		result.putNextEntry(entry);
-		try {
-			// if there is a sourceJar copy over the content for the entry into the result
-			if (sourceJar != null) {
-				InputStream contents = sourceJar.getInputStream(entry);
-				try {
-					transferStreams(contents, result);
-				} finally {
-					contents.close();
-				}
-			}
-		} finally {
-			result.closeEntry();
-		}
-	}
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given
-	 * output stream. Does not close either stream.
-	 * 
-	 * @param source
-	 * @param destination
-	 * @throws IOException
-	 */
-	public static void transferStreams(InputStream source, OutputStream destination) throws IOException {
-		source = new BufferedInputStream(source);
-		destination = new BufferedOutputStream(destination);
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				if ((bytesRead = source.read(buffer)) == -1)
-					break;
-				destination.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			destination.flush();
-		}
-	}
-
-	private void computeDelta() throws IOException {
-		changes = new ArrayList();
-		additions = new ArrayList();
-		// start out assuming that all the base entries are being removed
-		baseEntries = getEntries(baseJar);
-		for (Enumeration e = targetJar.entries(); e.hasMoreElements();)
-			check((ZipEntry) e.nextElement(), targetJar);
-	}
-
-	private boolean openJars() {
-		try {
-			baseJar = new ZipFile(base);
-			targetJar = new ZipFile(target);
-		} catch (IOException e) {
-			return false;
-		}
-		return true;
-	}
-
-	private void closeJars() {
-		if (baseJar != null)
-			try {
-				baseJar.close();
-			} catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		if (targetJar != null)
-			try {
-				targetJar.close();
-			} catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-	}
-
-	/** 
-	 * Compare the given entry against the base JAR to see if/how it differs.  Update the appropriate set
-	 * based on the discovered difference.
-	 * @param entry the entry to test
-	 * @throws IOException 
-	 */
-	private void check(ZipEntry entry, ZipFile file) throws IOException {
-		ZipEntry baseEntry = baseJar.getEntry(entry.getName());
-
-		// remember the manifest if we see it
-		checkForManifest(entry, file);
-		// if there is no entry then this is an addition.  remember the addition and return;
-		if (baseEntry == null) {
-			additions.add(entry);
-			return;
-		}
-		// now we know each JAR has an entry for the name, compare and see how/if they differ
-		boolean changed = !equals(entry, baseEntry);
-		if (changed)
-			changes.add(entry);
-		baseEntries.remove(baseEntry.getName());
-	}
-
-	// compare the two entries.  We already know that they have the same name.
-	private boolean equals(ZipEntry entry, ZipEntry baseEntry) {
-		if (entry.getSize() != baseEntry.getSize())
-			return false;
-		// make sure the entries are of the same type
-		if (entry.isDirectory() != baseEntry.isDirectory())
-			return false;
-		// if the entries are files then compare the times.
-		if (!entry.isDirectory())
-			if (entry.getTime() != baseEntry.getTime())
-				return false;
-		return true;
-	}
-
-	private Set getEntries(ZipFile jar) {
-		HashSet result = new HashSet(jar.size());
-		for (Enumeration e = jar.entries(); e.hasMoreElements();) {
-			ZipEntry entry = (ZipEntry) e.nextElement();
-			checkForManifest(entry, jar);
-			result.add(entry.getName());
-		}
-		return result;
-	}
-
-	/**
-	 * Check to see if the given entry is the manifest.  If so, remember it for use when writing
-	 * the resultant JAR.
-	 * @param entry
-	 * @param jar
-	 */
-	private void checkForManifest(ZipEntry entry, ZipFile jar) {
-		if (entry.getName().equalsIgnoreCase("META-INF/MANIFEST.MF"))
-			manifestJar = jar;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/JarDeltaOptimizerStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/JarDeltaOptimizerStep.java
deleted file mode 100644
index b238be7..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/JarDeltaOptimizerStep.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.AbstractDeltaStep;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * The JAR delta expects an input containing normal ".jar" data.   
- */
-public class JarDeltaOptimizerStep extends AbstractDeltaStep {
-
-	private File incoming;
-
-	protected JarDeltaOptimizerStep(IArtifactRepository repository) {
-		super(repository);
-	}
-
-	protected OutputStream createIncomingStream() throws IOException {
-		incoming = File.createTempFile(INCOMING_ROOT, JAR_SUFFIX);
-		return new BufferedOutputStream(new FileOutputStream(incoming));
-	}
-
-	protected void cleanupTempFiles() {
-		super.cleanupTempFiles();
-		if (incoming != null)
-			incoming.delete();
-	}
-
-	protected void performProcessing() throws IOException {
-		File resultFile = null;
-		try {
-			resultFile = optimize();
-			// now write the optimized content to the destination
-			if (resultFile.length() > 0) {
-				InputStream resultStream = new BufferedInputStream(new FileInputStream(resultFile));
-				FileUtils.copyStream(resultStream, true, getDestination(), false);
-			} else {
-				setStatus(new Status(IStatus.ERROR, Activator.ID, "Empty optimized file: " + resultFile)); //$NON-NLS-1$
-			}
-		} finally {
-			if (resultFile != null)
-				resultFile.delete();
-		}
-	}
-
-	protected File optimize() throws IOException {
-		File predecessor = null;
-		try {
-			File resultFile = File.createTempFile(RESULT_ROOT, JAR_SUFFIX);
-			// get the predecessor and perform the optimization into a temp file
-			predecessor = fetchPredecessor(new ArtifactDescriptor(key));
-			new DeltaComputer(predecessor, incoming, resultFile).run();
-			return resultFile;
-		} finally {
-			// if we have a predecessor and it is our temp file then clean up the file
-			if (predecessor != null && predecessor.getAbsolutePath().indexOf(PREDECESSOR_ROOT) > -1)
-				predecessor.delete();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Optimizer.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Optimizer.java
deleted file mode 100644
index bb01b68..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jardelta/Optimizer.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - adaptation to JAR deltas and on-going development
-*******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public class Optimizer {
-
-	private IArtifactRepository repository;
-	private int width;
-	private int depth;
-
-	private static final String JAR_DELTA_FORMAT = "jarDelta"; //$NON-NLS-1$
-	private static final String JAR_DELTA_PATCH_STEP = "org.eclipse.equinox.p2.processing.JarDeltaPatchStep"; //$NON-NLS-1$
-
-	private static final Comparator ARTIFACT_DESCRIPTOR_VERSION_COMPARATOR = new ArtifactDescriptorVersionComparator();
-	private static final Comparator ARTIFACT_KEY_VERSION_COMPARATOR = new ArtifactKeyVersionComparator();
-
-	/**
-	 * This optimizer performs delta generation based on (currently) jbdiff. 
-	 * The optimization can be controlled with the ´width´ and the ´depth´ parameter.
-	 * ´width´ defines for how many ´related´ artifact keys a delta should be generated,
-	 * starting from the most up-to-date.
-	 * ´depth´ defines to how many predecessor a delta should be generated.
-	 * 
-	 * With AK(c-v) : AK - artifact key, c - artifact id, v - artifact version
-	 * the ´repository content´ can be viewed a two dimensional array, where the
-	 * artifact keys for the same component are in order of their version: 
-	 * <pre><code>
-	 *     w=1       w=2
-	 *      |        |
-	 *      | +------.------------+ d=2
-	 *      | | +----.---+ d=1    |
-	 *      | | |    |   |        v
-	 * [    v | |    v   v        v
-	 * [ AK(x,2.0) AK(x,1.5) AK(x,1.1) ]
-	 * [ AK(y,2.0) AK(y,1.9) ]
-	 * [ AK(z,2.0) AK(z,1.5) AK(z,1.3) AK(z,1.0) ]
-	 * ]
-	 * </code></pre>  
-	 * E.g: with a ´width´ of one and a ´depth´ of two the optimizer would
-	 * create two deltas for component ´x´ from 1.5 to 2.0 and from 1.1 to 2.0.    
-	 * 
-	 * @param repository
-	 * @param width
-	 * @param depth
-	 */
-	public Optimizer(IArtifactRepository repository, int width, int depth) {
-		this.repository = repository;
-		this.width = width;
-		this.depth = depth;
-	}
-
-	public void run() {
-		System.out.println("Starting delta (jardelta) optimizations (width=" + width + ", depth=" + depth + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		Collector collector = repository.query(ArtifactKeyQuery.ALL_KEYS, null);
-		IArtifactKey[][] keys = getSortedRelatedArtifactKeys((IArtifactKey[]) collector.toArray(IArtifactKey.class));
-		for (int i = 0; i < keys.length; i++) {
-			if (keys[i].length < 2)
-				// Nothing to diff here!
-				continue;
-			int minWidth = Math.min(width, keys[i].length);
-			for (int j = 0; j < minWidth; j++) {
-				IArtifactKey key = keys[i][j];
-				boolean isArchive = key.getClassifier().equals("plugin"); //$NON-NLS-1$
-				optimize(keys[i], key);
-			}
-		}
-		System.out.println("Done."); //$NON-NLS-1$
-
-	}
-
-	private void optimize(IArtifactKey[] keys, IArtifactKey key) {
-		IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-		IArtifactDescriptor canonical = null;
-		for (int k = 0; k < descriptors.length; k++) {
-			IArtifactDescriptor descriptor = descriptors[k];
-			boolean optimized = false;
-			if (isCanonical(descriptor))
-				canonical = descriptor;
-			else
-				optimized |= isOptimized(descriptor);
-			if (!optimized)
-				optimize(canonical, keys);
-		}
-	}
-
-	private IArtifactKey getVersionlessKey(IArtifactKey key) {
-		return new ArtifactKey(key.getClassifier(), key.getId(), Version.emptyVersion);
-	}
-
-	/**
-	 * This method retrieves a list of list of IArtifactKeys. The artifact keys in the
-	 * list of artifact keys are all ´strongly related´ to each other such that are  
-	 * equal but not considering the versions. This list is sorted such that the 
-	 * newer versions are first in the list.<p>
-	 * With AK(c-v) : AK - artifact key, c - artifact id, v - artifact version
-	 * the result is than, e.g.
-	 * <pre><code>
-	 * [
-	 * [ AK(x,2.0) AK(x,1.5) AK(x,1.1) ]
-	 * [ AK(y,2.0) AK(y,1.9) ]
-	 * [ AK(z,2.0) AK(z,1.5) AK(z,1.3) AK(z,1.0) ]
-	 * ]
-	 * </code></pre>  
-	 * @param artifactKeys
-	 * @return the sorted artifact keys
-	 */
-	private IArtifactKey[][] getSortedRelatedArtifactKeys(IArtifactKey[] artifactKeys) {
-		Map map = new HashMap();
-		for (int i = 0; i < artifactKeys.length; i++) {
-			IArtifactKey freeKey = getVersionlessKey(artifactKeys[i]);
-			List values = (List) map.get(freeKey);
-			if (values == null) {
-				values = new ArrayList();
-				map.put(freeKey, values);
-			}
-			values.add(artifactKeys[i]);
-		}
-		IArtifactKey[][] lists = new IArtifactKey[map.size()][];
-		int i = 0;
-		for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
-			List artifactKeyList = (List) iterator.next();
-			IArtifactKey[] relatedArtifactKeys = (IArtifactKey[]) artifactKeyList.toArray(new IArtifactKey[artifactKeyList.size()]);
-			Arrays.sort(relatedArtifactKeys, ARTIFACT_KEY_VERSION_COMPARATOR);
-			lists[i++] = relatedArtifactKeys;
-		}
-		int candidates = 0;
-		for (int ii = 0; ii < lists.length; ii++) {
-			for (int jj = 0; jj < lists[ii].length; jj++) {
-				System.out.println(lists[ii][jj] + ", "); //$NON-NLS-1$
-			}
-			System.out.println(""); //$NON-NLS-1$
-			if (lists[ii].length > 1)
-				candidates++;
-		}
-		System.out.println("Candidates found: " + candidates); //$NON-NLS-1$
-		return lists;
-	}
-
-	private void optimize(IArtifactDescriptor canonical, IArtifactKey[] relatedArtifactKeys) {
-		System.out.println("Optimizing " + canonical); //$NON-NLS-1$
-
-		IArtifactDescriptor[] descriptors = getSortedCompletePredecessors(canonical.getArtifactKey(), relatedArtifactKeys);
-
-		int minDepth = Math.min(depth, descriptors.length);
-		for (int i = 0; i < minDepth; i++) {
-			System.out.println("\t with jar delta against " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-			String predecessorData = descriptors[i].getArtifactKey().toExternalForm();
-			ArtifactDescriptor newDescriptor = new ArtifactDescriptor(canonical);
-			ProcessingStepDescriptor patchStep = new ProcessingStepDescriptor(JAR_DELTA_PATCH_STEP, predecessorData, true);
-			ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {patchStep};
-			newDescriptor.setProcessingSteps(steps);
-			newDescriptor.setProperty(IArtifactDescriptor.FORMAT, JAR_DELTA_FORMAT);
-			OutputStream repositoryStream = null;
-			try {
-				repositoryStream = repository.getOutputStream(newDescriptor);
-
-				// Add in all the processing steps needed to optimize (e.g., pack200, ...)
-				ProcessingStep optimizerStep = new JarDeltaOptimizerStep(repository);
-				optimizerStep.initialize(patchStep, newDescriptor);
-				ProcessingStepHandler handler = new ProcessingStepHandler();
-				OutputStream destination = handler.link(new ProcessingStep[] {optimizerStep}, repositoryStream, null);
-
-				// Do the actual work by asking the repo to get the artifact and put it in the destination.
-				IStatus status = repository.getArtifact(canonical, destination, new NullProgressMonitor());
-				if (!status.isOK()) {
-					System.out.println("Getting the artifact is not ok."); //$NON-NLS-1$
-					System.out.println(status);
-				}
-			} catch (ProvisionException e) {
-				System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-				System.out.println(e.getMessage());
-				e.printStackTrace();
-			} finally {
-				if (repositoryStream != null)
-					try {
-						repositoryStream.close();
-						IStatus status = ProcessingStepHandler.checkStatus(repositoryStream);
-						if (!status.isOK()) {
-							System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-							System.out.println(status.toString());
-						}
-					} catch (IOException e) {
-						System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-						System.out.println(e.getMessage());
-						e.printStackTrace();
-					}
-			}
-		}
-	}
-
-	private IArtifactDescriptor[] getSortedCompletePredecessors(IArtifactKey artifactKey, IArtifactKey[] relatedArtifactKeys) {
-		// get all artifact keys
-		List completeDescriptors = new ArrayList(relatedArtifactKeys.length);
-		for (int i = 0; i < relatedArtifactKeys.length; i++) {
-			// if we find ´our self´ skip
-			if (relatedArtifactKeys[i].equals(artifactKey))
-				continue;
-			// look for a complete artifact descriptor of the current key  
-			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(relatedArtifactKeys[i]);
-			for (int j = 0; j < descriptors.length; j++) {
-				if (isCanonical(descriptors[j])) {
-					completeDescriptors.add(descriptors[j]);
-					break;
-				}
-			}
-		}
-
-		IArtifactDescriptor[] completeSortedDescriptors = (IArtifactDescriptor[]) completeDescriptors.toArray(new IArtifactDescriptor[completeDescriptors.size()]);
-		// Sort, so to allow a depth lookup!
-		Arrays.sort(completeSortedDescriptors, ARTIFACT_DESCRIPTOR_VERSION_COMPARATOR);
-		return completeSortedDescriptors;
-	}
-
-	private boolean isOptimized(IArtifactDescriptor descriptor) {
-		if (descriptor.getProcessingSteps().length != 1)
-			return false;
-		return JAR_DELTA_FORMAT.equals(descriptor.getProperty(IArtifactDescriptor.FORMAT));
-	}
-
-	private boolean isCanonical(IArtifactDescriptor descriptor) {
-		// TODO length != 0 is not necessarily an indicator for not being canonical!   
-		return descriptor.getProcessingSteps().length == 0;
-	}
-
-	static final class ArtifactDescriptorVersionComparator implements Comparator {
-		public int compare(Object artifactDescriptor0, Object artifactDescriptor1) {
-			return -1 * ((IArtifactDescriptor) artifactDescriptor0).getArtifactKey().getVersion().compareTo(((IArtifactDescriptor) artifactDescriptor1).getArtifactKey().getVersion());
-		}
-	}
-
-	static final class ArtifactKeyVersionComparator implements Comparator {
-		public int compare(Object artifactKey0, Object artifactKey1) {
-			return -1 * ((IArtifactKey) artifactKey0).getVersion().compareTo(((IArtifactKey) artifactKey1).getVersion());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Application.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Application.java
deleted file mode 100644
index 45496da..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Application.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * The optimizer <code>Application</code> for JBDiff based optimizations. 
- */
-public class Application implements IApplication {
-
-	private URI artifactRepositoryLocation;
-	private int width = 1;
-	private int depth = 1;
-	private boolean nosar;
-
-	public Object start(IApplicationContext context) throws Exception {
-		Map args = context.getArguments();
-		initializeFromArguments((String[]) args.get("application.args")); //$NON-NLS-1$
-		IArtifactRepository repository = setupRepository(artifactRepositoryLocation);
-		new Optimizer(repository, width, depth, nosar).run();
-		return null;
-	}
-
-	private IArtifactRepository setupRepository(URI location) throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		return manager.loadRepository(location, null);
-	}
-
-	public void stop() {
-		// nothing to do yet
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-			//			if (args[i].equals("-pack"))
-			//				pack = true;
-
-			if (args[i].equals("-nosar")) //$NON-NLS-1$
-				nosar = true;
-
-			// check for args with parameters. If we are at the last argument or 
-			// if the next one has a '-' as the first character, then we can't have 
-			// an arg with a param so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase("-artifactRepository") || args[i - 1].equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$
-				artifactRepositoryLocation = new URI(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-depth")) //$NON-NLS-1$
-				depth = Integer.parseInt(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-width")) //$NON-NLS-1$
-				width = Integer.parseInt(arg);
-
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffStep.java
deleted file mode 100644
index d8c726c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffStep.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff;
-
-import ie.wombat.jbdiff.JBDiff;
-import java.io.*;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.AbstractDeltaStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.sar.DirectByteArrayOutputStream;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- *
- */
-public class JBDiffStep extends AbstractDeltaStep {
-
-	public JBDiffStep() {
-		super();
-	}
-
-	// TODO We need a different way of injecting the base artifacts.  This approach forces
-	// the target and base to live in the same repo.  Typical but not really required.
-	protected JBDiffStep(IArtifactRepository repository) {
-		super(repository);
-	}
-
-	protected OutputStream createIncomingStream() throws IOException {
-		return new DirectByteArrayOutputStream();
-	}
-
-	protected void performProcessing() throws IOException {
-		DirectByteArrayOutputStream predecessor = fetchPredecessorBytes(new ArtifactDescriptor(key));
-		DirectByteArrayOutputStream current = (DirectByteArrayOutputStream) incomingStream;
-		byte[] diff = JBDiff.bsdiff(predecessor.getBuffer(), predecessor.getBufferLength(), current.getBuffer(), current.getBufferLength());
-		// free up the memory as soon as possible.
-		predecessor = null;
-		current = null;
-		incomingStream = null;
-
-		// copy the result of the optimization to the destination.
-		FileUtils.copyStream(new ByteArrayInputStream(diff), true, getDestination(), false);
-	}
-
-	private DirectByteArrayOutputStream fetchPredecessorBytes(ArtifactDescriptor artifactDescriptor) throws IOException {
-		DirectByteArrayOutputStream result = new DirectByteArrayOutputStream();
-		setStatus(repository.getArtifact(artifactDescriptor, result, getProgressMonitor()));
-		if (!getStatus().isOK())
-			throw (IOException) new IOException(getStatus().getMessage()).initCause(getStatus().getException());
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffZipStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffZipStep.java
deleted file mode 100644
index 2b926fd..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/JBDiffZipStep.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- *  	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff;
-
-import ie.wombat.jbdiff.JBDiff;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.sar.DirectByteArrayOutputStream;
-import org.eclipse.equinox.internal.p2.sar.SarUtil;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public class JBDiffZipStep extends JBDiffStep {
-
-	public JBDiffZipStep() {
-		super();
-	}
-
-	// TODO We need a different way of injecting the base artifacts.  This approach forces
-	// the target and base to live in the same repo.  Typical but not really required.
-	protected JBDiffZipStep(IArtifactRepository repository) {
-		super(repository);
-	}
-
-	protected void performProcessing() throws IOException {
-		DirectByteArrayOutputStream sarredCurrent = new DirectByteArrayOutputStream();
-		SarUtil.zipToSar(((DirectByteArrayOutputStream) incomingStream).getInputStream(), sarredCurrent);
-		incomingStream = null;
-		DirectByteArrayOutputStream predecessor = fetchPredecessorBytes(new ArtifactDescriptor(key));
-		byte[] diff = JBDiff.bsdiff(predecessor.getBuffer(), predecessor.getBufferLength(), sarredCurrent.getBuffer(), sarredCurrent.getBufferLength());
-		// free up the memory as soon as possible.
-		predecessor = null;
-		incomingStream = null;
-		sarredCurrent = null;
-
-		// copy the result of the optimization to the destination.
-		FileUtils.copyStream(new ByteArrayInputStream(diff), true, getDestination(), false);
-	}
-
-	private DirectByteArrayOutputStream fetchPredecessorBytes(ArtifactDescriptor artifactDescriptor) throws IOException {
-		DirectByteArrayOutputStream zippedPredecessor = new DirectByteArrayOutputStream();
-
-		setStatus(repository.getArtifact(artifactDescriptor, zippedPredecessor, getProgressMonitor()));
-		if (!getStatus().isOK())
-			throw (IOException) new IOException(getStatus().getMessage()).initCause(getStatus().getException());
-
-		DirectByteArrayOutputStream result = new DirectByteArrayOutputStream();
-		SarUtil.zipToSar(zippedPredecessor.getInputStream(), result);
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Optimizer.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Optimizer.java
deleted file mode 100644
index 344bf09..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/jbdiff/Optimizer.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- *  	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.VersionlessArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public class Optimizer {
-
-	private IArtifactRepository repository;
-	private int width;
-	private int depth;
-	private boolean nosar;
-
-	private static final String JBPATCH_STEP_ID = "org.eclipse.equinox.p2.repository.JBPatchStep"; //$NON-NLS-1$
-	private static final String JBPATCH_STEP_ZIP_ID = "org.eclipse.equinox.p2.repository.JBPatchZipStep"; //$NON-NLS-1$
-
-	private static final Comparator ARTIFACT_DESCRIPTOR_VERSION_COMPARATOR = new ArtifactDescriptorVersionComparator();
-	private static final Comparator ARTIFACT_KEY_VERSION_COMPARATOR = new ArtifactKeyVersionComparator();
-
-	/**
-	 * This optimizer performs delta generation based on (currently) jbdiff. 
-	 * The optimization can be controlled with the ´width´ and the ´depth´ parameter.
-	 * ´width´ defines for how many ´related´ artifact keys a delta should be generated,
-	 * starting from the most up-to-date.
-	 * ´depth´ defines to how many predecessor a delta should be generated.
-	 * 
-	 * With AK(c-v) : AK - artifact key, c - artifact id, v - artifact version
-	 * the ´repository content´ can be viewed a two dimensional array, where the
-	 * artifact keys for the same component are in order of their version: 
-	 * <pre><code>
-	 *     w=1       w=2
-	 *      |        |
-	 *      | +------.------------+ d=2
-	 *      | | +----.---+ d=1    |
-	 *      | | |    |   |        v
-	 * [    v | |    v   v        v
-	 * [ AK(x,2.0) AK(x,1.5) AK(x,1.1) ]
-	 * [ AK(y,2.0) AK(y,1.9) ]
-	 * [ AK(z,2.0) AK(z,1.5) AK(z,1.3) AK(z,1.0) ]
-	 * ]
-	 * </code></pre>  
-	 * E.g: with a ´width´ of one and a ´depth´ of two the optimizer would
-	 * create two deltas for component ´x´ from 1.5 to 2.0 and from 1.1 to 2.0.    
-	 * 
-	 * @param repository
-	 * @param width
-	 * @param depth
-	 * @param nosar 
-	 */
-	public Optimizer(IArtifactRepository repository, int width, int depth, boolean nosar) {
-		this.repository = repository;
-		this.width = width;
-		this.depth = depth;
-		this.nosar = nosar;
-	}
-
-	public void run() {
-		System.out.println("Starting delta (jbdiff) optimizations (width=" + width + ", depth=" + depth + ", nosar=" + nosar + ")");
-		Collector collector = repository.query(ArtifactKeyQuery.ALL_KEYS, null);
-		IArtifactKey[][] keys = getSortedRelatedArtifactKeys((IArtifactKey[]) collector.toArray(IArtifactKey.class));
-		for (int i = 0; i < keys.length; i++) {
-			if (keys[i].length < 2)
-				// Nothing to diff here!
-				continue;
-			int minWidth = Math.min(width, keys[i].length);
-			for (int j = 0; j < minWidth; j++) {
-				IArtifactKey key = keys[i][j];
-				boolean isArchive = key.getClassifier().equals("plugin"); //$NON-NLS-1$
-				String proposedStrategy = isArchive && !nosar ? JBPATCH_STEP_ZIP_ID : JBPATCH_STEP_ID;
-				optimize(keys[i], key, proposedStrategy);
-			}
-		}
-		System.out.println("Done.");
-
-	}
-
-	private void optimize(IArtifactKey[] keys, IArtifactKey key, String proposedStrategy) throws OutOfMemoryError {
-		boolean retry;
-		do {
-			retry = false;
-			try {
-				IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-				IArtifactDescriptor complete = null;
-				for (int k = 0; k < descriptors.length; k++) {
-					IArtifactDescriptor descriptor = descriptors[k];
-					if (isCanonical(descriptor))
-						complete = descriptor;
-					else if (isOptimized(descriptor, proposedStrategy)) {
-						proposedStrategy = null;
-						break;
-					}
-				}
-				if (proposedStrategy != null && complete != null)
-					optimize(complete, proposedStrategy, keys);
-			} catch (OutOfMemoryError e) {
-				if (JBPATCH_STEP_ID.equals(proposedStrategy))
-					throw e;
-				proposedStrategy = JBPATCH_STEP_ID;
-				System.out.println("Retry with " + proposedStrategy);
-				retry = true;
-			}
-		} while (retry);
-	}
-
-	/**
-	 * This method retrieves a list of list of IArtifactKeys. The artifact keys in the
-	 * list of artifact keys are all ´strongly related´ to each other such that are  
-	 * equal but not considering the versions. This list is sorted such that the 
-	 * newer versions are first in the list.<p>
-	 * With AK(c-v) : AK - artifact key, c - artifact id, v - artifact version
-	 * the result is than, e.g.
-	 * <pre><code>
-	 * [
-	 * [ AK(x,2.0) AK(x,1.5) AK(x,1.1) ]
-	 * [ AK(y,2.0) AK(y,1.9) ]
-	 * [ AK(z,2.0) AK(z,1.5) AK(z,1.3) AK(z,1.0) ]
-	 * ]
-	 * </code></pre>  
-	 * @param artifactKeys
-	 * @return the sorted artifact keys
-	 */
-	private IArtifactKey[][] getSortedRelatedArtifactKeys(IArtifactKey[] artifactKeys) {
-		Map map = new HashMap();
-		for (int i = 0; i < artifactKeys.length; i++) {
-			IArtifactKey freeKey = new VersionlessArtifactKey(artifactKeys[i]);
-			List values = (List) map.get(freeKey);
-			if (values == null) {
-				values = new ArrayList();
-				map.put(freeKey, values);
-			}
-			values.add(artifactKeys[i]);
-		}
-		IArtifactKey[][] lists = new IArtifactKey[map.size()][];
-		int i = 0;
-		for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
-			List artifactKeyList = (List) iterator.next();
-			IArtifactKey[] relatedArtifactKeys = (IArtifactKey[]) artifactKeyList.toArray(new IArtifactKey[artifactKeyList.size()]);
-			Arrays.sort(relatedArtifactKeys, ARTIFACT_KEY_VERSION_COMPARATOR);
-			lists[i++] = relatedArtifactKeys;
-		}
-		int candidates = 0;
-		for (int ii = 0; ii < lists.length; ii++) {
-			for (int jj = 0; jj < lists[ii].length; jj++) {
-				System.out.println(lists[ii][jj] + ", ");
-			}
-			System.out.println("");
-			if (lists[ii].length > 1)
-				candidates++;
-		}
-		System.out.println("Candidates found: " + candidates);
-		return lists;
-	}
-
-	private void optimize(IArtifactDescriptor complete, String strategy, IArtifactKey[] relatedArtifactKeys) {
-		System.out.println("Optimizing " + complete);
-
-		IArtifactDescriptor[] descriptors = getSortedCompletePredecessors(complete.getArtifactKey(), relatedArtifactKeys);
-
-		int minDepth = Math.min(depth, descriptors.length);
-		for (int i = 0; i < minDepth; i++) {
-
-			System.out.println("\t with " + strategy + " against " + descriptors[i].getArtifactKey());
-			String predecessorData = descriptors[i].getArtifactKey().toExternalForm();
-			ArtifactDescriptor newDescriptor = new ArtifactDescriptor(complete);
-			ProcessingStepDescriptor patchStep = new ProcessingStepDescriptor(strategy, predecessorData, true);
-			ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {patchStep};
-			newDescriptor.setProcessingSteps(steps);
-			newDescriptor.setProperty(IArtifactDescriptor.FORMAT, strategy);
-			OutputStream repositoryStream = null;
-			try {
-				repositoryStream = repository.getOutputStream(newDescriptor);
-
-				// Add in all the processing steps needed to optimize (e.g., pack200, ...)
-				ProcessingStep diffStep = getProcessingStep(strategy);
-				diffStep.initialize(patchStep, newDescriptor);
-				ProcessingStepHandler handler = new ProcessingStepHandler();
-				OutputStream destination = handler.link(new ProcessingStep[] {diffStep}, repositoryStream, null);
-
-				// Do the actual work by asking the repo to get the artifact and put it in the destination.
-				IStatus status = repository.getArtifact(complete, destination, new NullProgressMonitor());
-				if (!status.isOK()) {
-					System.out.println("Getting the artifact is not ok."); //$NON-NLS-1$
-					System.out.println(status);
-				}
-			} catch (ProvisionException e) {
-				System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-				System.out.println(e.getMessage());
-				e.printStackTrace();
-			} finally {
-				if (repositoryStream != null)
-					try {
-						repositoryStream.close();
-						IStatus status = ProcessingStepHandler.checkStatus(repositoryStream);
-						if (!status.isOK()) {
-							System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-							System.out.println(status.toString());
-						}
-					} catch (IOException e) {
-						System.out.println("Skipping optimization of: " + descriptors[i].getArtifactKey()); //$NON-NLS-1$
-						System.out.println(e.getMessage());
-						e.printStackTrace();
-					}
-			}
-		}
-	}
-
-	private ProcessingStep getProcessingStep(String strategy) {
-		if (strategy.equals(JBPATCH_STEP_ID))
-			return new JBDiffStep(repository);
-		return new JBDiffZipStep(repository);
-	}
-
-	private IArtifactDescriptor[] getSortedCompletePredecessors(IArtifactKey artifactKey, IArtifactKey[] relatedArtifactKeys) {
-		// get all artifact keys
-		List completeDescriptors = new ArrayList(relatedArtifactKeys.length);
-		for (int i = 0; i < relatedArtifactKeys.length; i++) {
-			// if we find ´our self´ skip
-			if (relatedArtifactKeys[i].equals(artifactKey))
-				continue;
-			// look for a complete artifact descriptor of the current key  
-			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(relatedArtifactKeys[i]);
-			for (int j = 0; j < descriptors.length; j++) {
-				if (isCanonical(descriptors[j])) {
-					completeDescriptors.add(descriptors[j]);
-					break;
-				}
-			}
-		}
-
-		IArtifactDescriptor[] completeSortedDescriptors = (IArtifactDescriptor[]) completeDescriptors.toArray(new IArtifactDescriptor[completeDescriptors.size()]);
-		// Sort, so to allow a depth lookup!
-		Arrays.sort(completeSortedDescriptors, ARTIFACT_DESCRIPTOR_VERSION_COMPARATOR);
-		return completeSortedDescriptors;
-	}
-
-	private boolean isOptimized(IArtifactDescriptor descriptor, String stepId) {
-		if (descriptor.getProcessingSteps().length != 1)
-			return false;
-		return stepId.equals(descriptor.getProcessingSteps()[0].getProcessorId());
-	}
-
-	private boolean isCanonical(IArtifactDescriptor descriptor) {
-		// TODO length != 0 is not necessarily an indicator for not being complete!   
-		return descriptor.getProcessingSteps().length == 0;
-	}
-
-	static final class ArtifactDescriptorVersionComparator implements Comparator {
-		public int compare(Object artifactDescriptor0, Object artifactDescriptor1) {
-			return -1 * ((IArtifactDescriptor) artifactDescriptor0).getArtifactKey().getVersion().compareTo(((IArtifactDescriptor) artifactDescriptor1).getArtifactKey().getVersion());
-		}
-	}
-
-	static final class ArtifactKeyVersionComparator implements Comparator {
-		public int compare(Object artifactKey0, Object artifactKey1) {
-			return -1 * ((IArtifactKey) artifactKey0).getVersion().compareTo(((IArtifactKey) artifactKey1).getVersion());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
deleted file mode 100644
index c67ae68..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-public class Application implements IApplication {
-	//Application return code
-	private static final Integer NON_WRITTABLE_REPOSITORY = new Integer(-1);
-
-	//Application arguments
-	private static final String ARTIFACT_REPOSITORY_ARG = "-artifactRepository"; //$NON-NLS-1$
-	private static final String ARTIFACT_REPOSITORY_SHORT_ARG = "-ar"; //$NON-NLS-1$
-
-	private URI artifactRepositoryLocation;
-
-	public Object start(IApplicationContext context) throws Exception {
-		Map args = context.getArguments();
-		initializeFromArguments((String[]) args.get("application.args")); //$NON-NLS-1$
-		IArtifactRepository repository = setupRepository(artifactRepositoryLocation);
-		if (!repository.isModifiable())
-			return NON_WRITTABLE_REPOSITORY;
-		new Optimizer(repository).run();
-		return null;
-	}
-
-	private IArtifactRepository setupRepository(URI location) throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		return manager.loadRepository(location, null);
-	}
-
-	public void stop() {
-		//nothing to do
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args with parameters. If we are at the last argument or 
-			// if the next one has a '-' as the first character, then we can't have 
-			// an arg with a param so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase(ARTIFACT_REPOSITORY_ARG) || args[i - 1].equalsIgnoreCase(ARTIFACT_REPOSITORY_SHORT_ARG))
-				artifactRepositoryLocation = new URI(arg);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
deleted file mode 100644
index 85dc7fa..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.optimizers.pack200.messages"; //$NON-NLS-1$
-	public static String failed_getting_artifact;
-	public static String skip_optimization;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
deleted file mode 100644
index d62ddb2..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-public class Optimizer {
-	private static final String PACKED_FORMAT = "packed"; //$NON-NLS-1$
-	private IArtifactRepository repository;
-
-	public Optimizer(IArtifactRepository repository) {
-		this.repository = repository;
-	}
-
-	public void run() {
-		Collector keys = repository.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			if (!key.getClassifier().equals("plugin")) //$NON-NLS-1$
-				continue;
-			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-			IArtifactDescriptor canonical = null;
-			boolean optimized = false;
-			for (int j = 0; j < descriptors.length; j++) {
-				IArtifactDescriptor descriptor = descriptors[j];
-				if (isCanonical(descriptor))
-					canonical = descriptor;
-				optimized |= isOptimized(descriptor);
-			}
-			if (!optimized)
-				optimize(canonical);
-		}
-	}
-
-	private boolean isCanonical(IArtifactDescriptor descriptor) {
-		// TODO length != 0 is not necessarily an indicator for not being complete!
-		String format = descriptor.getProperty(IArtifactDescriptor.FORMAT);
-		if (format == null)
-			return true;
-		return false;
-	}
-
-	private void optimize(IArtifactDescriptor descriptor) {
-		ArtifactDescriptor newDescriptor = new ArtifactDescriptor(descriptor);
-		ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-		newDescriptor.setProcessingSteps(steps);
-		newDescriptor.setProperty(IArtifactDescriptor.FORMAT, PACKED_FORMAT);
-		OutputStream repositoryStream = null;
-		try {
-			repositoryStream = repository.getOutputStream(newDescriptor);
-
-			// Add in all the processing steps needed to optimize (e.g., pack200, ...)
-			ProcessingStepHandler handler = new ProcessingStepHandler();
-			OutputStream destination = handler.link(new ProcessingStep[] {new Pack200OptimizerStep()}, repositoryStream, null);
-
-			// Do the actual work by asking the repo to get the artifact and put it in the destination.
-			IStatus status = repository.getArtifact(descriptor, destination, new NullProgressMonitor());
-			if (!status.isOK()) {
-				System.out.println(NLS.bind(Messages.failed_getting_artifact, descriptor.getArtifactKey()));
-				System.out.println(status);
-			}
-		} catch (ProvisionException e) {
-			System.out.println(NLS.bind(Messages.skip_optimization, descriptor.getArtifactKey()));
-			System.out.println(e.getMessage());
-			e.printStackTrace();
-		} finally {
-			if (repositoryStream != null)
-				try {
-					repositoryStream.close();
-					IStatus status = ProcessingStepHandler.checkStatus(repositoryStream);
-					if (!status.isOK()) {
-						System.out.println(NLS.bind(Messages.skip_optimization, descriptor.getArtifactKey()));
-						System.out.println(status.toString());
-					}
-				} catch (IOException e) {
-					System.out.println(NLS.bind(Messages.skip_optimization, descriptor.getArtifactKey()));
-					System.out.println(e.getMessage());
-					e.printStackTrace();
-				}
-		}
-	}
-
-	private boolean isOptimized(IArtifactDescriptor descriptor) {
-		return PACKED_FORMAT.equals(descriptor.getProperty(IArtifactDescriptor.FORMAT));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
deleted file mode 100644
index f950b5d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- *  	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.Activator;
-import org.eclipse.equinox.internal.p2.artifact.processing.AbstractBufferingStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
-
-/**
- * The Pack200Packer expects an input containing normal ".jar" data.   
- */
-public class Pack200OptimizerStep extends AbstractBufferingStep {
-	private static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
-	private File incoming;
-	private static boolean pack200Available;
-
-	static {
-		try {
-			// TODO This is not very elegant. But there is currently no other way to 
-			//      find it out. PackStep.canPack() is not visible due to restrictions.
-			JarProcessor.getPackProcessor(null);
-			pack200Available = true;
-		} catch (UnsupportedOperationException e) {
-			pack200Available = false;
-		}
-	}
-
-	protected OutputStream createIncomingStream() throws IOException {
-		incoming = File.createTempFile(INCOMING_ROOT, JAR_SUFFIX);
-		return new BufferedOutputStream(new FileOutputStream(incoming));
-	}
-
-	protected void cleanupTempFiles() {
-		super.cleanupTempFiles();
-		if (incoming != null)
-			incoming.delete();
-	}
-
-	protected void performProcessing() throws IOException {
-		File resultFile = null;
-		try {
-			resultFile = process();
-			// now write the optimized content to the destination
-			if (resultFile.length() > 0) {
-				InputStream resultStream = new BufferedInputStream(new FileInputStream(resultFile));
-				FileUtils.copyStream(resultStream, true, getDestination(), false);
-			} else {
-				setStatus(new Status(IStatus.ERROR, Activator.ID, "Empty intermediate file: " + resultFile)); //$NON-NLS-1$
-			}
-		} finally {
-			if (resultFile != null)
-				resultFile.delete();
-		}
-	}
-
-	protected File process() throws IOException {
-		if (!pack200Available)
-			// TODO Slightly abused API!!
-			throw new FileNotFoundException("Could not find pack200 command.");
-		// unpack
-		Options options = new Options();
-		options.pack = true;
-		// TODO use false here assuming that all content is conditioned.  Need to revise this
-		options.processAll = false;
-		options.input = incoming;
-		options.outputDir = getWorkDir().getPath();
-		options.verbose = true;
-		new JarProcessorExecutor().runJarProcessor(options);
-		return new File(getWorkDir(), incoming.getName() + PACKED_SUFFIX);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/messages.properties
deleted file mode 100644
index 4970a32..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008 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
-###############################################################################
-failed_getting_artifact=Failed getting the artifact {0}.
-skip_optimization=Skipping optimization of {0}. 
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath b/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.project b/bundles/org.eclipse.equinox.p2.artifact.processors/.project
deleted file mode 100644
index 88c78e7..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.artifact.processors</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c973c13..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Nov 14 12:49:38 EST 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b503d85..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,342 +0,0 @@
-#Tue Nov 06 20:46:54 EST 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 57ebea5..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Nov 05 21:23:42 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
deleted file mode 100644
index 6665826..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.processors;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.p2.artifact.repository
-Import-Package: ie.wombat.jbdiff,
- org.eclipse.equinox.internal.p2.artifact.optimizers,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.sar,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.osgi.framework;version="1.4.0"
-Bundle-Vendor: %providerName
-Export-Package: org.eclipse.equinox.internal.p2.artifact.processors;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.processors.jardelta;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.processors.jbdiff;x-internal:=true
-Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.processors.Activator
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/about.html b/bundles/org.eclipse.equinox.p2.artifact.processors/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/build.properties b/bundles/org.eclipse.equinox.p2.artifact.processors/build.properties
deleted file mode 100644
index ad40ab4..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.properties b/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.properties
deleted file mode 100644
index 9bb3b44..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox p2 Artifact Processing Support
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.xml b/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.xml
deleted file mode 100644
index 2b08361..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.JarDeltaPatchStep">
-		<step class="org.eclipse.equinox.internal.p2.artifact.processors.jardelta.JarDeltaProcessorStep"/>
-	</extension>
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.JBPatchStep">
-		<step class="org.eclipse.equinox.internal.p2.artifact.processors.jbdiff.JBPatchStep"/>
-	</extension>
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.JBPatchZipStep">
-		<step class="org.eclipse.equinox.internal.p2.artifact.processors.jbdiff.JBPatchZipStep"/>
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/AbstractDeltaProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/AbstractDeltaProcessorStep.java
deleted file mode 100644
index 5f4ff51..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/AbstractDeltaProcessorStep.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.AbstractDeltaStep;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-/**
- * The <code>AbstractDeltaPatchStep</code> is an abstract processing step that
- * retrieves a local artifact repository containing the serialized/encoded
- * artifact key. It assumes that the artifact key is stored within the data property
- * of the processing step descriptor encoding the artifact key of the base artifact.
- */
-public abstract class AbstractDeltaProcessorStep extends AbstractDeltaStep {
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		if (!getStatus().isOK())
-			return;
-		fetchLocalArtifactRepository();
-	}
-
-	/**
-	 * Fetch a local artifact repository containing the fetched artifact key.
-	 */
-	private void fetchLocalArtifactRepository() {
-		if (repository != null)
-			return;
-		IArtifactRepositoryManager repoMgr = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (repoMgr == null) {
-			setStatus(new Status(IStatus.ERROR, Activator.ID, "Could not get artifact repository manager."));
-			return;
-		}
-
-		URI[] repositories = repoMgr.getKnownRepositories(IRepositoryManager.REPOSITORIES_LOCAL);
-		for (int i = 0; i < repositories.length; i++) {
-			try {
-				IArtifactRepository currentRepo = repoMgr.loadRepository(repositories[i], null);
-				if (currentRepo.contains(key)) {
-					repository = currentRepo;
-					return;
-				}
-			} catch (ProvisionException e) {
-				//just skip unreadable repositories
-			}
-		}
-		setStatus(new Status(IStatus.ERROR, Activator.ID, "No repository available containing key " + key));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/Activator.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/Activator.java
deleted file mode 100644
index f11af99..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/Activator.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.artifact.processors;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public static final String ID = "org.eclipse.equinox.p2.artifact.processors"; //$NON-NLS-1$
-	private static BundleContext context = null;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		Activator.context = context;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/DeltaApplier.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/DeltaApplier.java
deleted file mode 100644
index d5f4d16..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/DeltaApplier.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.jardelta;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-
-public class DeltaApplier {
-	private static final String DELETE_SUFFIX = ".delete"; //$NON-NLS-1$
-	private static final String MANIFEST_ENTRY_NAME = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
-	private File delta;
-	private File base;
-	private File destination;
-	private ZipFile baseJar;
-	private ZipFile deltaJar;
-	private Set baseEntries;
-	private ZipFile manifestJar;
-
-	public DeltaApplier(File base, File delta, File destination) {
-		this.base = base;
-		this.delta = delta;
-		this.destination = destination;
-	}
-
-	public void run() {
-		try {
-			if (!openJars())
-				return;
-			applyDelta();
-			writeResult();
-		} finally {
-			closeJars();
-		}
-	}
-
-	private void applyDelta() {
-		// start out assuming that all the base entries will be moved over.  
-		baseEntries = getEntries(baseJar);
-		// remove from the base all the entries that appear in the delta
-		for (Enumeration e = deltaJar.entries(); e.hasMoreElements();) {
-			ZipEntry entry = ((ZipEntry) e.nextElement());
-			checkForManifest(entry, deltaJar);
-			String name = entry.getName();
-			if (name.endsWith(DELETE_SUFFIX)) {
-				name = name.substring(0, name.length() - DELETE_SUFFIX.length());
-				// if the manifest is being deleted, forget anyone who might have a manifest
-				if (name.equalsIgnoreCase(MANIFEST_ENTRY_NAME))
-					manifestJar = null;
-			}
-			baseEntries.remove(name);
-		}
-	}
-
-	private void writeResult() {
-		ZipOutputStream result = null;
-		try {
-			try {
-				result = new ZipOutputStream(new FileOutputStream(destination));
-				// if the delta includes the manifest, be sure to write it first
-				if (manifestJar != null)
-					writeEntry(result, manifestJar.getEntry(MANIFEST_ENTRY_NAME), manifestJar, true);
-				// write out the things we know are staying from the base JAR
-				for (Iterator i = baseEntries.iterator(); i.hasNext();) {
-					ZipEntry entry = baseJar.getEntry((String) i.next());
-					writeEntry(result, entry, baseJar, false);
-				}
-				// write out the changes/additions from the delta.
-				for (Enumeration e = deltaJar.entries(); e.hasMoreElements();) {
-					ZipEntry entry = (ZipEntry) e.nextElement();
-					if (!entry.getName().endsWith(DELETE_SUFFIX))
-						writeEntry(result, entry, deltaJar, false);
-				}
-			} finally {
-				if (result != null)
-					result.close();
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-			return;
-		}
-	}
-
-	private void writeEntry(ZipOutputStream result, ZipEntry entry, ZipFile sourceJar, boolean manifest) throws IOException {
-		if (!manifest && entry.getName().equalsIgnoreCase(MANIFEST_ENTRY_NAME))
-			return;
-		// add the entry
-		result.putNextEntry(entry);
-		try {
-			// if there is a sourceJar copy over the content for the entry into the result
-			if (sourceJar != null) {
-				InputStream contents = sourceJar.getInputStream(entry);
-				try {
-					transferStreams(contents, result);
-				} finally {
-					contents.close();
-				}
-			}
-		} finally {
-			result.closeEntry();
-		}
-	}
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given
-	 * output stream. Does not close either stream.
-	 * 
-	 * @param source
-	 * @param destination
-	 * @throws IOException
-	 */
-	public static void transferStreams(InputStream source, OutputStream destination) throws IOException {
-		source = new BufferedInputStream(source);
-		destination = new BufferedOutputStream(destination);
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				if ((bytesRead = source.read(buffer)) == -1)
-					break;
-				destination.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			destination.flush();
-		}
-	}
-
-	private boolean openJars() {
-		try {
-			baseJar = new ZipFile(base);
-			deltaJar = new ZipFile(delta);
-		} catch (IOException e) {
-			return false;
-		}
-		return true;
-	}
-
-	private void closeJars() {
-		if (baseJar != null)
-			try {
-				baseJar.close();
-			} catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		if (deltaJar != null)
-			try {
-				deltaJar.close();
-			} catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-	}
-
-	private Set getEntries(ZipFile jar) {
-		HashSet result = new HashSet(jar.size());
-		for (Enumeration e = jar.entries(); e.hasMoreElements();) {
-			ZipEntry entry = (ZipEntry) e.nextElement();
-			checkForManifest(entry, jar);
-			result.add(entry.getName());
-		}
-		return result;
-	}
-
-	/**
-	 * Check to see if the given entry is the manifest.  If so, remember it for use when writing
-	 * the resultant JAR.
-	 * @param entry
-	 * @param jar
-	 */
-	private void checkForManifest(ZipEntry entry, ZipFile jar) {
-		if (entry.getName().equalsIgnoreCase(MANIFEST_ENTRY_NAME))
-			manifestJar = jar;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/JarDeltaProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/JarDeltaProcessorStep.java
deleted file mode 100644
index 8c07924..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jardelta/JarDeltaProcessorStep.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.jardelta;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.processors.AbstractDeltaProcessorStep;
-import org.eclipse.equinox.internal.p2.artifact.processors.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * Processor that takes a JAR delta and applies it.
- */
-public class JarDeltaProcessorStep extends AbstractDeltaProcessorStep {
-
-	private File incoming;
-
-	public JarDeltaProcessorStep() {
-		super();
-	}
-
-	protected OutputStream createIncomingStream() throws IOException {
-		incoming = File.createTempFile(INCOMING_ROOT, JAR_SUFFIX);
-		return new BufferedOutputStream(new FileOutputStream(incoming));
-	}
-
-	protected void cleanupTempFiles() {
-		super.cleanupTempFiles();
-		if (incoming != null)
-			incoming.delete();
-	}
-
-	protected void performProcessing() throws IOException {
-		File resultFile = null;
-		try {
-			resultFile = process();
-			// now write the optimized content to the destination
-			if (resultFile.length() > 0) {
-				InputStream resultStream = new BufferedInputStream(new FileInputStream(resultFile));
-				FileUtils.copyStream(resultStream, true, getDestination(), false);
-			} else {
-				setStatus(new Status(IStatus.ERROR, Activator.ID, "Empty optimized file: " + resultFile)); //$NON-NLS-1$
-			}
-		} finally {
-			if (resultFile != null)
-				resultFile.delete();
-		}
-	}
-
-	protected File process() throws IOException {
-		File predecessor = null;
-		try {
-			File resultFile = File.createTempFile(RESULT_ROOT, JAR_SUFFIX);
-			// get the predecessor and perform the optimization into a temp file
-			predecessor = fetchPredecessor(new ArtifactDescriptor(key));
-			new DeltaApplier(predecessor, incoming, resultFile).run();
-			return resultFile;
-		} finally {
-			// if we have a predecessor and it is our temp file then clean up the file
-			if (predecessor != null && predecessor.getAbsolutePath().indexOf(PREDECESSOR_ROOT) > -1)
-				predecessor.delete();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchStep.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchStep.java
deleted file mode 100644
index c31b423..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchStep.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.jbdiff;
-
-import ie.wombat.jbdiff.JBPatch;
-import java.io.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.AbstractDeltaProcessorStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.sar.DirectByteArrayOutputStream;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * The JBPatchStep patches a JBDiff based data.   
- */
-public class JBPatchStep extends AbstractDeltaProcessorStep {
-
-	public JBPatchStep() {
-		super();
-	}
-
-	protected OutputStream createIncomingStream() throws IOException {
-		return new DirectByteArrayOutputStream();
-	}
-
-	protected void performProcessing() throws IOException {
-		DirectByteArrayOutputStream predecessor = fetchPredecessorBytes(new ArtifactDescriptor(key));
-		DirectByteArrayOutputStream current = (DirectByteArrayOutputStream) incomingStream;
-		byte[] result = JBPatch.bspatch(predecessor.getBuffer(), predecessor.getBufferLength(), current.getBuffer(), current.getBufferLength());
-		// free up the memory as soon as possible.
-		predecessor = null;
-		current = null;
-		incomingStream = null;
-
-		// copy the result of the optimization to the destination.
-		FileUtils.copyStream(new ByteArrayInputStream(result), true, getDestination(), false);
-	}
-
-	private DirectByteArrayOutputStream fetchPredecessorBytes(ArtifactDescriptor artifactDescriptor) throws IOException {
-		DirectByteArrayOutputStream result = new DirectByteArrayOutputStream();
-		setStatus(repository.getArtifact(artifactDescriptor, result, getProgressMonitor()));
-		if (!getStatus().isOK())
-			throw (IOException) new IOException(getStatus().getMessage()).initCause(getStatus().getException());
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchZipStep.java b/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchZipStep.java
deleted file mode 100644
index de4ff46..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/src/org/eclipse/equinox/internal/p2/artifact/processors/jbdiff/JBPatchZipStep.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.jbdiff;
-
-import ie.wombat.jbdiff.JBPatch;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.sar.DirectByteArrayOutputStream;
-import org.eclipse.equinox.internal.p2.sar.SarUtil;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * The <code>JBPatchZipStep</code> patches a JBDiff based diff of zips/jars.   
- */
-public class JBPatchZipStep extends JBPatchStep {
-
-	public JBPatchZipStep() {
-		super();
-	}
-
-	protected void performProcessing() throws IOException {
-		DirectByteArrayOutputStream predecessor = fetchPredecessorBytes(new ArtifactDescriptor(key));
-		DirectByteArrayOutputStream current = (DirectByteArrayOutputStream) incomingStream;
-		byte[] result = JBPatch.bspatch(predecessor.getBuffer(), predecessor.getBufferLength(), current.getBuffer(), current.getBufferLength());
-		// free up the memory as soon as possible.
-		predecessor = null;
-		current = null;
-		incomingStream = null;
-
-		// copy the result of the optimization to the destination.
-		SarUtil.sarToZip(new ByteArrayInputStream(result), true, getDestination(), false);
-	}
-
-	private DirectByteArrayOutputStream fetchPredecessorBytes(ArtifactDescriptor artifactDescriptor) throws IOException {
-		DirectByteArrayOutputStream zippedPredecessor = new DirectByteArrayOutputStream();
-		setStatus(repository.getArtifact(artifactDescriptor, zippedPredecessor, getProgressMonitor()));
-		if (!getStatus().isOK())
-			throw (IOException) new IOException(getStatus().getMessage()).initCause(getStatus().getException());
-
-		DirectByteArrayOutputStream result = new DirectByteArrayOutputStream();
-		SarUtil.zipToSar(zippedPredecessor.getInputStream(), result);
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath b/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.cvsignore b/bundles/org.eclipse.equinox.p2.artifact.repository/.cvsignore
deleted file mode 100644
index 3101cbf..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-bin_ant
-ant_tasks
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch b/bundles/org.eclipse.equinox.p2.artifact.repository/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch
deleted file mode 100644
index c2ad0a0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.artifact.repository"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.project b/bundles/org.eclipse.equinox.p2.artifact.repository/.project
deleted file mode 100644
index ad19a34..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.project
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.artifact.repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.equinox.p2.artifact.repository buildAntTasks.xml.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index fc844dc..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,346 +0,0 @@
-#Tue Dec 09 10:24:31 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1546d82..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Tue Aug 21 11:27:48 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 979e4e8..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
deleted file mode 100644
index 401f48a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,95 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.artifact.processing;x-friends:="org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers",
- org.eclipse.equinox.internal.p2.artifact.processors.md5;x-internal:=true,
- org.eclipse.equinox.internal.p2.artifact.processors.pack200;x-friends:="org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers",
- org.eclipse.equinox.internal.p2.artifact.repository;
-  x-friends:="org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.p2.artifact.repository.simple;
-  x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.tests,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.publisher",
- org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-  x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.garbagecollector,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.pde.ui,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.pde.core",
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-  x-friends:="org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.updatesite",
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-  x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.directorywatcher"
-Import-Package: javax.xml.parsers,
- org.eclipse.core.runtime.jobs,
- org.eclipse.equinox.app;version="1.0.0";resolution:=optional,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.jarprocessor,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.p2.repository,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.spi,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor;resolution:=optional,
- org.eclipse.osgi.framework.log;version="1.0.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.4.0",
- org.w3c.dom,
- org.xml.sax;resolution:=optional
-Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.repository.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.equinox.registry,
- org.eclipse.equinox.p2.metadata
-Service-Component: OSGI-INF/repositoryManager.xml
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/OSGI-INF/repositoryManager.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/OSGI-INF/repositoryManager.xml
deleted file mode 100644
index 62a650e..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/OSGI-INF/repositoryManager.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.artifact.repository">
-   <implementation class="org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/about.html b/bundles/org.eclipse.equinox.p2.artifact.repository/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
deleted file mode 100644
index 6a66d4e..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               ant_tasks/artifactRepository-ant.jar,\
-               OSGI-INF/
-jars.compile.order = .,\
-                     ant_tasks/artifactRepository-ant.jar
-output.ant_tasks/artifactRepository-ant.jar = bin_ant/
-src.includes = about.html,\
-               schema/
-source.. = src/
-source.ant_tasks/artifactRepository-ant.jar = src_ant/
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml
deleted file mode 100644
index 78fb71d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/buildAntTasks.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.equinox.p2.artifact.repository" default="default" basedir=".">
-
-	<target name="default" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="${basedir}/ant_tasks" />
-		<delete file="${basedir}/ant_tasks/artifactRepository-ant.jar" failonerror="false"/>
-		<jar destfile="${basedir}/ant_tasks/artifactRepository-ant.jar" basedir="${basedir}/bin_ant"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
deleted file mode 100644
index f33a49b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Artifact Repository Support
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
deleted file mode 100644
index 041c5d3..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="artifactRepositories" name="Artifact Repositories" schema="schema/artifactRepositories.exsd"/>
-   <extension-point id="processingSteps" name="Processing Steps" schema="schema/processingSteps.exsd"/>
-   <extension-point id="artifactComparators" name="Artifact Comparators" schema="schema/artifactComparators.exsd"/>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.Pack200Unpacker">
-		<step class="org.eclipse.equinox.internal.p2.artifact.processors.pack200.Pack200ProcessorStep"/>
-	</extension>
-
-   <extension id="simpleRepository"  point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
-		<filter suffix="artifacts.xml"/>
-		<factory class="org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory"/>
-   </extension>
-   
-   <extension id="compositeRepository"  point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
-        <filter suffix="compositeArtifacts.xml"/>
-        <factory class="org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepositoryFactory"/>
-   </extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.SignatureVerifier">
-		<step class="org.eclipse.equinox.internal.p2.artifact.repository.SignatureVerifier"/>
-	</extension>
-
-   	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.MD5Verifier">
-		<step class="org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5Verifier"/>
-	</extension>
-	
-	<extension point="org.eclipse.equinox.p2.artifact.repository.artifactComparators">
-		<artifactComparator class="org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5ArtifactComparator"
-		id="org.eclipse.equinox.artifact.md5.comparator"/>
-	</extension>
-	
-	<extension point="org.eclipse.ant.core.antTasks">
-		
-		<antTask
-			library="ant_tasks/artifactRepository-ant.jar"
-			name="p2.composite.artifact.repository.add"
-			class="org.eclipse.equinox.internal.p2.artifact.repository.ant.AddChildTask">
-		</antTask>
-		
-		<antTask
-			library="ant_tasks/artifactRepository-ant.jar"
-			name="p2.composite.artifact.repository.create"
-			class="org.eclipse.equinox.internal.p2.artifact.repository.ant.CreateCompositeArtifactRepositoryTask">
-		</antTask>
-		
-		<antTask
-			library="ant_tasks/artifactRepository-ant.jar"
-			name="p2.composite.artifact.repository.remove"
-			class="org.eclipse.equinox.internal.p2.artifact.repository.ant.RemoveChildTask">
-		</antTask>
-		
-		<antTask
-			library="ant_tasks/artifactRepository-ant.jar"
-			name="p2.composite.artifact.repository.validate"
-			class="org.eclipse.equinox.internal.p2.artifact.repository.ant.ValidateTask">
-		</antTask>
-
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactComparators.exsd b/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactComparators.exsd
deleted file mode 100644
index a2295df..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactComparators.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.artifact.repository" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.artifact.repository" id="artifactComparators" name="Artifact Comparators"/>
-      </appinfo>
-      <documentation>
-         This extension point is used to provide IArtifactDescriptor verification capabilities
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="artifactComparator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="artifactComparator">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd b/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
deleted file mode 100644
index 003ec59..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/artifactRepositories.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.artifact.repository" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.artifact.repository" id="artifactRepositories" name="Artifact Repositories"/>
-      </appinfo>
-      <documentation>
-         This extension point is used to provide artifact repository implementations
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="factory"/>
-            <element ref="filter" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="factory">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the fully-qualified name of a class which implements 
-&lt;samp&gt;org.eclipse.equinox.p2.artifact.repository.IArtifactRepository&lt;/samp&gt;.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.IArtifactRepository"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <complexType>
-         <attribute name="suffix" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         org.eclipse.equinox.p2.artifact.repository 1.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiInfo"/>
-      </appinfo>
-      <documentation>
-         The value of the class attribute must represent a subclass of &lt;tt&gt;org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory&lt;/tt&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         This bundle provides an artifact repository factory for the IArtifactRepositoryManager#TYPE_SIMPLE_REPOSITORY repository type.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2007, 2008 IBM Corporation and others.&lt;br&gt;
-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 &lt;a 
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd b/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
deleted file mode 100644
index 40786b8..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/schema/processingSteps.exsd
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.artifact.repository" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.artifact.repository" id="processingSteps" name="Processing Steps"/>
-      </appinfo>
-      <documentation>
-         This extension point is used to provide processing step implementations
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="step"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="step">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.processing.ProcessingStep:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         org.eclipse.equinox.p2.artifact.repository ?.?.?
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiInfo"/>
-      </appinfo>
-      <documentation>
-         The value of the class attribute must represent an 
-implementor of &lt;tt&gt;org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep&lt;/tt&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2007, 2008 compeople AG and others.&lt;br&gt;
-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 &lt;a 
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
deleted file mode 100644
index 17e7b41..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/AbstractBufferingStep.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processing;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class AbstractBufferingStep extends ProcessingStep {
-	private static final String WORK_DIR_PREFIX = "work"; //$NON-NLS-1$
-	private static final String WORK_DIR_SUFFIX = ""; //$NON-NLS-1$
-	protected static final String JAR_SUFFIX = ".jar"; //$NON-NLS-1$
-	protected static final String INCOMING_ROOT = "p2.optimizers.incoming"; //$NON-NLS-1$
-	protected static final String RESULT_ROOT = "p2.optimizers.result"; //$NON-NLS-1$
-	protected static final String PREDECESSOR_ROOT = "p2.optimizers.predecessor"; //$NON-NLS-1$
-
-	protected OutputStream incomingStream;
-	private File workDir;
-
-	protected AbstractBufferingStep() {
-		super();
-	}
-
-	public void write(int b) throws IOException {
-		OutputStream stream = getOutputStream();
-		stream.write(b);
-	}
-
-	protected OutputStream getOutputStream() throws IOException {
-		if (incomingStream != null)
-			return incomingStream;
-		// if buffering, store input stream in temporary file
-		incomingStream = createIncomingStream();
-		return incomingStream;
-	}
-
-	protected abstract OutputStream createIncomingStream() throws IOException;
-
-	public void close() throws IOException {
-		// When we go to close we must have seen all the content we are going to see.
-		// If no one wrote to the temp stream then we return an error. If there is 
-		// content then close the temporary stream and perform the processing.
-		// Performing the step should result in the new content being written to 
-		// the destination.  Make sure we delete the temporary file if any.
-		try {
-			if (incomingStream != null) {
-				incomingStream.close();
-				// if canceled then skip processing
-				if (getStatus() != null && getStatus().getSeverity() != IStatus.CANCEL)
-					performProcessing();
-			} else {
-				setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.Empty_stream));
-			}
-		} finally {
-			incomingStream = null;
-			cleanupTempFiles();
-			cleanupWorkDir();
-		}
-
-		super.close();
-		// TODO need to get real status here.  sometimes the optimizers do not give 
-		// any reasonable return status
-		// COMMENT status is initially set to OK!
-	}
-
-	protected abstract void performProcessing() throws IOException;
-
-	protected void cleanupTempFiles() {
-	}
-
-	private void cleanupWorkDir() throws IOException {
-		if (workDir != null) {
-			FileUtils.deleteAll(workDir);
-			// TODO try twice since there seems to be some cases where the dir is not 
-			// deleted the first time.  At least on Windows...
-			FileUtils.deleteAll(workDir);
-		}
-	}
-
-	protected File getWorkDir() throws IOException {
-		if (workDir != null)
-			return workDir;
-		workDir = File.createTempFile(WORK_DIR_PREFIX, WORK_DIR_SUFFIX);
-		if (!workDir.delete())
-			throw new IOException(NLS.bind(Messages.Can_not_delete_temp_dir, workDir));
-		if (!workDir.mkdirs())
-			throw new IOException(NLS.bind(Messages.Can_not_create_temp_dir, workDir));
-		return workDir;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
deleted file mode 100644
index 52285b0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/Messages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processing;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.processing.messages"; //$NON-NLS-1$
-
-	public static String Can_not_create_temp_dir;
-	public static String Can_not_delete_temp_dir;
-	public static String Empty_stream;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
deleted file mode 100644
index b95da02..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processing/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2008 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
-###############################################################################
-Can_not_create_temp_dir=Cannot create temporary working directory {0}.
-Can_not_delete_temp_dir=Cannot create temporary working directory {1}.
-Empty_stream=Empty intermediate incoming stream. Probably zero length input.
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5ArtifactComparator.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5ArtifactComparator.java
deleted file mode 100644
index abb4a52..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5ArtifactComparator.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.artifact.processors.md5;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactComparator;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class MD5ArtifactComparator implements IArtifactComparator {
-
-	public static String MD5_COMPARATOR_ID = "org.eclipse.equinox.artifact.md5.comparator"; //$NON-NLS-1$
-
-	public IStatus compare(IArtifactRepository source, IArtifactDescriptor sourceDescriptor, IArtifactRepository destination, IArtifactDescriptor destDescriptor) {
-		String sourceMD5 = sourceDescriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5);
-		String destMD5 = destDescriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5);
-
-		if (sourceMD5 == null && destMD5 == null)
-			return new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.info_noMD5Infomation, sourceDescriptor));
-
-		if (sourceMD5 == null)
-			return new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.info_noMD5InRepository, source, sourceDescriptor));
-
-		if (destMD5 == null)
-			return new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.info_noMD5InRepository, destination, destDescriptor));
-
-		if (sourceMD5.equals(destMD5))
-			return Status.OK_STATUS;
-
-		return new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(sourceDescriptor.getRepository().getLocation()), URIUtil.toUnencodedString(destDescriptor.getRepository().getLocation()), sourceDescriptor}));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5Verifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5Verifier.java
deleted file mode 100644
index 6eac04d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/MD5Verifier.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.md5;
-
-import java.io.IOException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-public class MD5Verifier extends ProcessingStep {
-
-	protected String expectedMD5;
-	private MessageDigest md5;
-
-	public MD5Verifier() {
-		super();
-	}
-
-	public MD5Verifier(String expected) {
-		super();
-		this.expectedMD5 = expected;
-		basicInitialize(null);
-	}
-
-	//This handle the case where the MD5 verification is initiated by a processing step
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		String data = descriptor.getData();
-		if (IArtifactDescriptor.DOWNLOAD_MD5.equals(data))
-			expectedMD5 = context.getProperty(IArtifactDescriptor.DOWNLOAD_MD5);
-		else if (IArtifactDescriptor.ARTIFACT_MD5.equals(data))
-			expectedMD5 = context.getProperty(IArtifactDescriptor.ARTIFACT_MD5);
-		else
-			expectedMD5 = data;
-		basicInitialize(descriptor);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		int code = (descriptor == null) ? IStatus.ERROR : descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		if (expectedMD5 == null || expectedMD5.length() != 32)
-			setStatus(new Status(code, Activator.ID, NLS.bind(Messages.Error_invalid_hash, expectedMD5)));
-		try {
-			md5 = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			setStatus(new Status(code, Activator.ID, Messages.Error_MD5_unavailable, e));
-		}
-	}
-
-	public void write(int b) throws IOException {
-		md5.update((byte) b);
-		getDestination().write(b);
-	}
-
-	public void close() throws IOException {
-		byte[] digest = md5.digest();
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < digest.length; i++) {
-			if ((digest[i] & 0xFF) < 0x10)
-				buf.append('0');
-			buf.append(Integer.toHexString(digest[i] & 0xFF));
-		}
-
-		// if the hashes don't line up set the status to error.
-		if (!buf.toString().equals(expectedMD5))
-			setStatus(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Error_unexpected_hash, expectedMD5, buf)));
-		super.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/Messages.java
deleted file mode 100644
index b7e113c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.artifact.processors.md5;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.processors.md5.messages"; //$NON-NLS-1$
-
-	public static String Error_invalid_hash;
-	public static String Error_MD5_unavailable;
-	public static String Error_unexpected_hash;
-	public static String info_noMD5Infomation;
-	public static String info_noMD5InRepository;
-	public static String warning_differentMD5;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//empty
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/messages.properties
deleted file mode 100644
index 736b651..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/md5/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-
-Error_invalid_hash=MD5 value not available or incorrect size, {0}.
-Error_MD5_unavailable=Could not create MD5 algorithm.
-Error_unexpected_hash=MD5 hash is not as expected. Expected: {0} and found {1}.
-
-info_noMD5Infomation=No MD5 information available for the artifact [{0}].
-info_noMD5InRepository=The repository {0} does not contain MD5 information for artifact [{1}].
-
-warning_differentMD5=The repositories {0} and {1} have different MD5 sums for the artifact [{2}].
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
deleted file mode 100644
index 33f77a7..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.processors.pack200;
-
-import java.io.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.processing.AbstractBufferingStep;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
-
-/**
- * The Pack200Unpacker expects an input containing ".jar.pack.gz" data.   
- */
-public class Pack200ProcessorStep extends AbstractBufferingStep {
-	public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
-
-	private File incoming;
-
-	protected OutputStream createIncomingStream() throws IOException {
-		incoming = File.createTempFile(INCOMING_ROOT, JAR_SUFFIX + PACKED_SUFFIX);
-		return new BufferedOutputStream(new FileOutputStream(incoming));
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		if (!UnpackStep.canUnpack())
-			setStatus(new Status(IStatus.ERROR, Activator.ID, "Unpack facility not configured")); //$NON-NLS-1$
-	}
-
-	protected void cleanupTempFiles() {
-		super.cleanupTempFiles();
-		if (incoming != null)
-			incoming.delete();
-	}
-
-	protected void performProcessing() throws IOException {
-		File resultFile = null;
-		try {
-			resultFile = process();
-			// now write the processed content to the destination
-			if (resultFile.length() > 0) {
-				InputStream resultStream = new BufferedInputStream(new FileInputStream(resultFile));
-				FileUtils.copyStream(resultStream, true, getDestination(), false);
-			} else {
-				setStatus(new Status(IStatus.ERROR, Activator.ID, "Unpacking fails because intermediate file is empty: " + resultFile)); //$NON-NLS-1$
-			}
-		} finally {
-			if (resultFile != null)
-				resultFile.delete();
-		}
-	}
-
-	protected File process() throws IOException {
-		Options options = new Options();
-		options.unpack = true;
-		// TODO use false here assuming that all content is conditioned.  Need to revise this
-		options.processAll = false;
-		options.input = incoming;
-		options.outputDir = getWorkDir().getPath();
-		options.verbose = false;
-		new JarProcessorExecutor().runJarProcessor(options);
-		return new File(getWorkDir(), incoming.getName().substring(0, incoming.getName().length() - PACKED_SUFFIX.length()));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
deleted file mode 100644
index 2dd357f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Activator.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.util.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator, ServiceTrackerCustomizer {
-	public static final String ID = "org.eclipse.equinox.p2.artifact.repository"; //$NON-NLS-1$
-	public static final String REPO_PROVIDER_XPT = ID + '.' + "artifactRepositories"; //$NON-NLS-1$
-
-	private static BundleContext context;
-	private ServiceRegistration repositoryManagerRegistration;
-	private static final Map createdManagers = new HashMap();
-	private ServiceTracker agentTracker;
-
-	public static BundleContext getContext() {
-		return Activator.context;
-	}
-
-	/**
-	 * Remember an artifact repository manager so we can shut it down when the bundle stops
-	 */
-	static void addManager(ArtifactRepositoryManager manager, IProvisioningAgent agent) {
-		synchronized (createdManagers) {
-			createdManagers.put(manager, agent);
-		}
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		Activator.context = aContext;
-		// need to track agent so we can register global artifact repository manager
-		String filter = "(&(objectClass=" + IProvisioningAgent.SERVICE_NAME + ")(agent.current=true))"; //$NON-NLS-1$ //$NON-NLS-2$
-		agentTracker = new ServiceTracker(context, aContext.createFilter(filter), this);
-		agentTracker.open();
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		Activator.context = null;
-		if (repositoryManagerRegistration != null)
-			repositoryManagerRegistration.unregister();
-		repositoryManagerRegistration = null;
-		synchronized (createdManagers) {
-			for (Iterator it = createdManagers.keySet().iterator(); it.hasNext();) {
-				ArtifactRepositoryManager manager = (ArtifactRepositoryManager) it.next();
-				manager.shutdown();
-				IProvisioningAgent agent = (IProvisioningAgent) createdManagers.get(manager);
-				agent.unregisterService(IArtifactRepositoryManager.SERVICE_NAME, manager);
-			}
-			createdManagers.clear();
-		}
-		agentTracker.close();
-	}
-
-	public Object addingService(ServiceReference reference) {
-		//when someone registers the agent service, register a repository manager service
-		IProvisioningAgent agent = (IProvisioningAgent) context.getService(reference);
-		repositoryManagerRegistration = context.registerService(IArtifactRepositoryManager.SERVICE_NAME, agent.getService(IArtifactRepositoryManager.SERVICE_NAME), null);
-		return agent;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// ignored
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		//the agent is going away so withdraw our service
-		if (repositoryManagerRegistration != null) {
-			repositoryManagerRegistration.unregister();
-			repositoryManagerRegistration = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryComponent.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryComponent.java
deleted file mode 100644
index 8d1c3d7..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryComponent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * Service factory providing {@link IArtifactRepositoryManager} instances.
- */
-public class ArtifactRepositoryComponent implements IAgentServiceFactory {
-
-	public Object createService(IProvisioningAgent agent) {
-		final ArtifactRepositoryManager manager = new ArtifactRepositoryManager();
-		manager.setEventBus((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME));
-		manager.setAgentLocation((IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME));
-		Activator.addManager(manager, agent);
-		return manager;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
deleted file mode 100644
index 9227c5f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *   Genuitec LLC - various bug fixes
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-/**
- * Default implementation of {@link IArtifactRepositoryManager}.
- * 
- * TODO the current assumption that the "location" is the dir/root limits us to 
- * having just one repository in a given URL..  
- */
-public class ArtifactRepositoryManager extends AbstractRepositoryManager implements IArtifactRepositoryManager {
-
-	public ArtifactRepositoryManager() {
-		super();
-	}
-
-	public void addRepository(IArtifactRepository repository) {
-		super.addRepository(repository, true, null);
-	}
-
-	public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination, Properties destinationDescriptorProperties, Properties destinationRepositoryProperties) {
-		return new MirrorRequest(key, destination, destinationDescriptorProperties, destinationRepositoryProperties);
-	}
-
-	public IArtifactRepository createRepository(URI location, String name, String type, Map properties) throws ProvisionException {
-		return (IArtifactRepository) doCreateRepository(location, name, type, properties);
-	}
-
-	public IArtifactRepository getRepository(URI location) {
-		return (IArtifactRepository) basicGetRepository(location);
-	}
-
-	protected IRepository factoryCreate(URI location, String name, String type, Map properties, IExtension extension) throws ProvisionException {
-		ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
-		if (factory == null)
-			return null;
-		return factory.create(location, name, type, properties);
-	}
-
-	protected IRepository factoryLoad(URI location, IExtension extension, int flags, SubMonitor monitor) throws ProvisionException {
-		ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
-		if (factory == null)
-			return null;
-		return factory.load(location, flags, monitor.newChild(10));
-	}
-
-	protected String getBundleId() {
-		return Activator.ID;
-	}
-
-	protected String getDefaultSuffix() {
-		return "artifacts.xml"; //$NON-NLS-1$
-	}
-
-	protected String getRepositoryProviderExtensionPointId() {
-		return Activator.REPO_PROVIDER_XPT;
-	}
-
-	/**
-	 * Restores metadata repositories specified as system properties.
-	 */
-	protected String getRepositorySystemProperty() {
-		return "eclipse.p2.artifactRepository"; //$NON-NLS-1$
-	}
-
-	protected int getRepositoryType() {
-		return IRepository.TYPE_ARTIFACT;
-	}
-
-	public IArtifactRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		return loadRepository(location, 0, monitor);
-	}
-
-	public IArtifactRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		return (IArtifactRepository) loadRepository(location, monitor, null, flags);
-	}
-
-	public IArtifactRepository refreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		return (IArtifactRepository) basicRefreshRepository(location, monitor);
-	}
-
-	/**
-	 * Restore the download cache
-	 */
-	protected void restoreSpecialRepositories() {
-		// TODO while recreating, we may want to have proxies on repo instead of the real repo object to limit what is activated.
-		IAgentLocation location = (IAgentLocation) ServiceHelper.getService(Activator.getContext(), IAgentLocation.class.getName());
-		if (location == null)
-			// TODO should do something here since we are failing to restore.
-			return;
-		URI cacheLocation = URIUtil.append(location.getDataArea("org.eclipse.equinox.p2.core"), "cache/"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		try {
-			loadRepository(cacheLocation, null);
-			return;
-		} catch (ProvisionException e) {
-			// log but still continue and try to create a new one
-			if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while loading download cache.", e)); //$NON-NLS-1$
-		}
-		try {
-			Map properties = new HashMap(1);
-			properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-			createRepository(cacheLocation, "download cache", TYPE_SIMPLE_REPOSITORY, properties); //$NON-NLS-1$
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
deleted file mode 100644
index 106da88..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRequest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-
-/**
- * Base class for all requests on an {@link IArtifactRepository}.
- */
-public abstract class ArtifactRequest implements IArtifactRequest {
-	private static final Status DEFAULT_STATUS = new Status(IStatus.ERROR, Activator.ID, "default"); //$NON-NLS-1$
-	protected IArtifactKey artifact;
-	protected String resolvedKey;
-	protected IArtifactRepository source;
-	protected IStatus result = DEFAULT_STATUS;
-
-	public ArtifactRequest(IArtifactKey key) {
-		artifact = key;
-		// TODO do we need to make this configurable? for now set default request handler to ECF
-	}
-
-	public IArtifactKey getArtifactKey() {
-		return artifact;
-	}
-
-	/**
-	 * Returns the result of the previous call to {@link #perform(IProgressMonitor)},
-	 * or <code>null</code> if perform has never been called.
-	 * 
-	 * @return The result of the previous perform call.
-	 */
-	public IStatus getResult() {
-		if (result == DEFAULT_STATUS)
-			return new Status(IStatus.ERROR, Activator.ID, "No repository found containing: " + getArtifactKey().toString());
-
-		return result;
-	}
-
-	protected IArtifactRepository getSourceRepository() {
-		return source;
-	}
-
-	/**
-	 * Performs the artifact request, and sets the result status.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	abstract public void perform(IProgressMonitor monitor);
-
-	/**
-	 * Sets the result of an invocation of {@link #perform(IProgressMonitor)}.
-	 * This method is called by subclasses to set the result status for
-	 * this request.
-	 * 
-	 * @param value The result status
-	 */
-	protected void setResult(IStatus value) {
-		result = value;
-	}
-
-	public void setSourceRepository(IArtifactRepository value) {
-		source = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java
deleted file mode 100644
index 4943dfe..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepository.java
+++ /dev/null
@@ -1,523 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryIO;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.ArtifactComparatorFactory;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactComparator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.ICompositeRepository;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.util.NLS;
-
-public class CompositeArtifactRepository extends AbstractArtifactRepository implements IArtifactRepository, ICompositeRepository {
-
-	static final public String REPOSITORY_TYPE = CompositeArtifactRepository.class.getName();
-	static final private Integer REPOSITORY_VERSION = new Integer(1);
-	static final public String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	static final public String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	static final public String CONTENT_FILENAME = "compositeArtifacts"; //$NON-NLS-1$
-	public static final String PI_REPOSITORY_TYPE = "compositeArtifactRepository"; //$NON-NLS-1$
-
-	// keep a list of the child URIs. they can be absolute or relative. they may or may not point
-	// to a valid reachable repo
-	private List childrenURIs = new ArrayList();
-	// keep a list of the repositories that we have successfully loaded
-	private List loadedRepos = new ArrayList();
-
-	/**
-	 * Create a Composite repository in memory.
-	 * @return the repository or null if unable to create one
-	 */
-	public static CompositeArtifactRepository createMemoryComposite() {
-		IArtifactRepositoryManager manager = getManager();
-		if (manager == null)
-			return null;
-		try {
-			//create a unique URI
-			long time = System.currentTimeMillis();
-			URI repositoryURI = new URI("memory:" + String.valueOf(time)); //$NON-NLS-1$
-			while (manager.contains(repositoryURI))
-				repositoryURI = new URI("memory:" + String.valueOf(++time)); //$NON-NLS-1$
-
-			CompositeArtifactRepository result = (CompositeArtifactRepository) manager.createRepository(repositoryURI, repositoryURI.toString(), IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-			manager.removeRepository(repositoryURI);
-			return result;
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-			// just return null
-		} catch (URISyntaxException e) {
-			// just return null
-		}
-		return null;
-	}
-
-	static private IArtifactRepositoryManager getManager() {
-		return (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	/*
-	 * This is only called by the parser when loading a repository.
-	 */
-	public CompositeArtifactRepository(CompositeRepositoryState state) {
-		super(state.getName(), state.getType(), state.getVersion(), state.getLocation(), state.getDescription(), state.getProvider(), state.getProperties());
-		for (int i = 0; i < state.getChildren().length; i++)
-			addChild(state.getChildren()[i], false);
-	}
-
-	public CompositeArtifactRepository(URI location, String repositoryName, Map properties) {
-		super(repositoryName, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties);
-		save();
-	}
-
-	/*
-	 * Create and return a new repository state object which represents this repository.
-	 * It will be used while persisting the repository to disk.
-	 */
-	public CompositeRepositoryState toState() {
-		CompositeRepositoryState result = new CompositeRepositoryState();
-		result.setName(getName());
-		result.setType(getType());
-		result.setVersion(getVersion());
-		result.setLocation(getLocation());
-		result.setDescription(getDescription());
-		result.setProvider(getProvider());
-		result.setProperties(getProperties());
-		// it is important to directly access the field so we have the relative URIs
-		result.setChildren((URI[]) childrenURIs.toArray(new URI[childrenURIs.size()]));
-		return result;
-	}
-
-	/*
-	 * Add the given object to the specified list if it doesn't already exist
-	 * in it. Return a boolean value indicating whether or not the object was 
-	 * actually added.
-	 */
-	private static boolean add(List list, Object obj) {
-		return list.contains(obj) ? false : list.add(obj);
-	}
-
-	public static URI getActualLocation(URI base, boolean compress) {
-		return getActualLocation(base, compress ? JAR_EXTENSION : XML_EXTENSION);
-	}
-
-	private static URI getActualLocation(URI base, String extension) {
-		final String name = CONTENT_FILENAME + extension;
-		String spec = base.toString();
-		if (spec.endsWith(name))
-			return base;
-		if (spec.endsWith("/")) //$NON-NLS-1$
-			spec += name;
-		else
-			spec += "/" + name; //$NON-NLS-1$
-		try {
-			return new URI(spec);
-		} catch (URISyntaxException e) {
-			return null;
-		}
-	}
-
-	private boolean isLocal() {
-		return "file".equalsIgnoreCase(location.getScheme()); //$NON-NLS-1$
-	}
-
-	public boolean isModifiable() {
-		return isLocal();
-	}
-
-	public void addChild(URI childURI) {
-		addChild(childURI, true);
-	}
-
-	private void addChild(URI childURI, boolean save) {
-		URI absolute = URIUtil.makeAbsolute(childURI, location);
-		if (childrenURIs.contains(childURI) || childrenURIs.contains(absolute))
-			return;
-		childrenURIs.add(childURI);
-		if (save)
-			save();
-		try {
-			IArtifactRepository repo = load(childURI);
-			loadedRepos.add(new ChildInfo(repo));
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-		}
-	}
-
-	public boolean addChild(URI childURI, String comparatorID) {
-		try {
-			IArtifactRepository repo = load(childURI);
-			if (isSane(repo, comparatorID)) {
-				addChild(childURI);
-				//Add was successful
-				return true;
-			}
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-		}
-
-		//Add was not successful
-		return false;
-	}
-
-	public void removeChild(URI childURI) {
-		boolean removed = childrenURIs.remove(childURI);
-		// if the child wasn't there make sure and try the other permutation
-		// (absolute/relative) to see if it really is in the list.
-		URI other = childURI.isAbsolute() ? URIUtil.makeRelative(childURI, location) : URIUtil.makeAbsolute(childURI, location);
-		if (!removed)
-			childrenURIs.remove(other);
-
-		if (removed) {
-			// we removed the child from the list so remove the associated repo object as well
-			ChildInfo found = null;
-			for (Iterator iter = loadedRepos.iterator(); found == null && iter.hasNext();) {
-				ChildInfo current = (ChildInfo) iter.next();
-				URI repoLocation = current.repo.getLocation();
-				if (URIUtil.sameURI(childURI, repoLocation))
-					found = current;
-				else if (URIUtil.sameURI(other, repoLocation))
-					found = current;
-			}
-			if (found != null)
-				loadedRepos.remove(found);
-			save();
-		}
-	}
-
-	public void removeAllChildren() {
-		childrenURIs.clear();
-		loadedRepos.clear();
-		save();
-	}
-
-	public List getChildren() {
-		List result = new ArrayList();
-		for (Iterator iter = childrenURIs.iterator(); iter.hasNext();)
-			result.add(URIUtil.makeAbsolute((URI) iter.next(), location));
-		return result;
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories
-	 */
-	public synchronized void addDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedAddToComposite);
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories
-	 */
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedAddToComposite);
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories
-	 */
-	public void removeDescriptor(IArtifactKey key) {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories
-	 */
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories
-	 */
-	public synchronized void removeAll() {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedRemoveFromComposite);
-	}
-
-	/**
-	 * Composite repositories should be unable to directly modify their child repositories,
-	 * Composite repositories should not have their own content.
-	 * Therefore, they should not be allowed to have OutputStreams
-	 */
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException(Messages.exception_unsupportedGetOutputStream);
-	}
-
-	public boolean contains(IArtifactKey key) {
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext();) {
-			ChildInfo current = (ChildInfo) repositoryIterator.next();
-			if (current.isGood() && current.repo.contains(key))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext();) {
-			ChildInfo current = (ChildInfo) repositoryIterator.next();
-			if (current.isGood() && current.repo.contains(descriptor))
-				return true;
-		}
-		return false;
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		ArrayList result = new ArrayList();
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext();) {
-			ChildInfo current = (ChildInfo) repositoryIterator.next();
-			if (current.isGood()) {
-				IArtifactDescriptor[] tempResult = current.repo.getArtifactDescriptors(key);
-				for (int i = 0; i < tempResult.length; i++)
-					add(result, tempResult[i]);
-			}
-		}
-		return (IArtifactDescriptor[]) result.toArray(new IArtifactDescriptor[result.size()]);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
-		MultiStatus multiStatus = new MultiStatus(Activator.ID, IStatus.OK, Messages.message_childrenRepos, null);
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext() && requests.length > 0;) {
-			IArtifactRepository current = ((ChildInfo) repositoryIterator.next()).repo;
-			IArtifactRequest[] applicable = getRequestsForRepository(current, requests);
-			IStatus dlStatus = current.getArtifacts(applicable, subMonitor.newChild(requests.length));
-			multiStatus.add(dlStatus);
-			if (dlStatus.getSeverity() == IStatus.CANCEL)
-				return multiStatus;
-			requests = filterUnfetched(requests);
-			subMonitor.setWorkRemaining(requests.length);
-
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-		}
-		return multiStatus;
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return getRawOrNormalArtifact(descriptor, destination, monitor, false);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return getRawOrNormalArtifact(descriptor, destination, monitor, true);
-	}
-
-	private IStatus getRawOrNormalArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor, boolean raw) {
-		for (Iterator childIterator = loadedRepos.iterator(); childIterator.hasNext();) {
-			ChildInfo current = (ChildInfo) childIterator.next();
-			if (current.isGood() && current.repo.contains(descriptor)) {
-				// Child hasn't failed & contains descriptor
-				IStatus status = raw ? current.repo.getRawArtifact(descriptor, destination, monitor) : current.repo.getArtifact(descriptor, destination, monitor);
-				if (!status.isOK()) {
-					// Download failed
-					if (status.getCode() == CODE_RETRY || status.getCode() == IStatus.CANCEL)
-						// Child has mirrors & wants to be retried, or we were canceled
-						return status;
-					// Child has failed us, mark it bad
-					current.setBad();
-					if (childIterator.hasNext())
-						// More children are available, set retry
-						return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {status}, NLS.bind(Messages.retryRequest, current.repo.getLocation(), descriptor.getArtifactKey()), null);
-					// Nothing that can be done, pass child's failure on
-					return status;
-				}
-				return Status.OK_STATUS;
-			}
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-		}
-		return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, descriptor));
-	}
-
-	private IArtifactRequest[] filterUnfetched(IArtifactRequest[] requests) {
-		ArrayList filteredRequests = new ArrayList();
-		for (int i = 0; i < requests.length; i++) {
-			if (requests[i].getResult() == null || !requests[i].getResult().isOK()) {
-				filteredRequests.add(requests[i]);
-			}
-		}
-
-		IArtifactRequest[] filteredArtifactRequests = new IArtifactRequest[filteredRequests.size()];
-		filteredRequests.toArray(filteredArtifactRequests);
-		return filteredArtifactRequests;
-	}
-
-	private IArtifactRequest[] getRequestsForRepository(IArtifactRepository repository, IArtifactRequest[] requests) {
-		ArrayList applicable = new ArrayList();
-		for (int i = 0; i < requests.length; i++) {
-			if (repository.contains(requests[i].getArtifactKey()))
-				applicable.add(requests[i]);
-		}
-		return (IArtifactRequest[]) applicable.toArray(new IArtifactRequest[applicable.size()]);
-	}
-
-	private void save() {
-		if (!isModifiable())
-			return;
-		boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
-		OutputStream os = null;
-		try {
-			URI actualLocation = getActualLocation(location, false);
-			File artifactsFile = URIUtil.toFile(actualLocation);
-			File jarFile = URIUtil.toFile(getActualLocation(location, true));
-			if (!compress) {
-				if (jarFile.exists()) {
-					jarFile.delete();
-				}
-				if (!artifactsFile.exists()) {
-					// create parent folders
-					artifactsFile.getParentFile().mkdirs();
-				}
-				os = new FileOutputStream(artifactsFile);
-			} else {
-				if (artifactsFile.exists()) {
-					artifactsFile.delete();
-				}
-				if (!jarFile.exists()) {
-					if (!jarFile.getParentFile().exists())
-						jarFile.getParentFile().mkdirs();
-					jarFile.createNewFile();
-				}
-				JarOutputStream jOs = new JarOutputStream(new FileOutputStream(jarFile));
-				jOs.putNextEntry(new JarEntry(new Path(artifactsFile.getAbsolutePath()).lastSegment()));
-				os = jOs;
-			}
-			super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
-			new CompositeRepositoryIO().write(toState(), os, PI_REPOSITORY_TYPE);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, NLS.bind(Messages.io_failedWrite, location), e));
-		}
-	}
-
-	private IArtifactRepository load(URI repoURI) throws ProvisionException {
-		// make sure we are dealing with an absolute location
-		repoURI = URIUtil.makeAbsolute(repoURI, location);
-		boolean loaded = getManager().contains(repoURI);
-		IArtifactRepository repo = getManager().loadRepository(repoURI, null);
-		if (!loaded) {
-			//set enabled to false so repositories do not get polled twice
-			getManager().setEnabled(repoURI, false);
-			//set repository to system to hide from users
-			getManager().setRepositoryProperty(repoURI, IRepository.PROP_SYSTEM, String.valueOf(true));
-		}
-		return repo;
-	}
-
-	/**
-	 * A method to check if the content of a repository is consistent with the other children by
-	 * comparing content using the artifactComparator specified by the comparatorID
-	 * @param toCheckRepo the repository to check
-	 * @param comparatorID
-	 * @return <code>true</code> if toCheckRepo is consistent, <code>false</code> if toCheckRepo 
-	 * contains an equal descriptor to that of a child and they refer to different artifacts on disk.
-	 */
-	private boolean isSane(IArtifactRepository toCheckRepo, String comparatorID) {
-		IArtifactComparator comparator = ArtifactComparatorFactory.getArtifactComparator(comparatorID);
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext();) {
-			IArtifactRepository current = ((ChildInfo) repositoryIterator.next()).repo;
-			if (!current.equals(toCheckRepo)) {
-				if (!isSane(toCheckRepo, current, comparator))
-					return false;
-			}
-		}
-		return true;
-	}
-
-	/*
-	 * Check the two given repositories against each other using the given comparator.
-	 */
-	private boolean isSane(IArtifactRepository one, IArtifactRepository two, IArtifactComparator comparator) {
-		Collector toCheckKeys = one.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = toCheckKeys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			if (!two.contains(key))
-				continue;
-			IArtifactDescriptor[] toCheckDescriptors = one.getArtifactDescriptors(key);
-			IArtifactDescriptor[] currentDescriptors = two.getArtifactDescriptors(key);
-			for (int j = 0; j < toCheckDescriptors.length; j++) {
-				if (!two.contains(toCheckDescriptors[j]))
-					continue;
-				for (int k = 0; k < currentDescriptors.length; k++) {
-					if (currentDescriptors[k].equals(toCheckDescriptors[j])) {
-						IStatus compareResult = comparator.compare(two, currentDescriptors[k], two, toCheckDescriptors[j]);
-						if (!compareResult.isOK()) {
-							LogHelper.log(compareResult);
-							return false;
-						}
-						break;
-					}
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * A method that verifies that all children with matching artifact descriptors contain the same set of bytes
-	 * The verification is done using the artifactComparator specified by comparatorID
-	 * Assumes more valuable logging and output is the responsibility of the artifactComparator implementation.
-	 * @param comparatorID
-	 * @returns true if the repository is consistent, false if two equal descriptors refer to different artifacts on disk.
-	 */
-	public boolean validate(String comparatorID) {
-		IArtifactComparator comparator = ArtifactComparatorFactory.getArtifactComparator(comparatorID);
-		ChildInfo[] repos = (ChildInfo[]) loadedRepos.toArray(new ChildInfo[loadedRepos.size()]);
-		for (int outer = 0; outer < repos.length; outer++) {
-			for (int inner = outer + 1; inner < repos.length; inner++) {
-				if (!isSane(repos[outer].repo, repos[inner].repo, comparator))
-					return false;
-			}
-		}
-		return true;
-	}
-
-	private static class ChildInfo {
-		IArtifactRepository repo;
-		boolean good = true;
-
-		ChildInfo(IArtifactRepository IArtifactRepository) {
-			this.repo = IArtifactRepository;
-		}
-
-		void setBad() {
-			good = false;
-		}
-
-		boolean isGood() {
-			return good;
-		}
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		// Query all the all the repositories this composite repo contains
-		List repos = new ArrayList();
-		for (Iterator repositoryIterator = loadedRepos.iterator(); repositoryIterator.hasNext();) {
-			ChildInfo info = (ChildInfo) repositoryIterator.next();
-			if (info.isGood())
-				repos.add(info.repo);
-		}
-		CompoundQueryable queryable = new CompoundQueryable((IQueryable[]) repos.toArray(new IQueryable[repos.size()]));
-		return queryable.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepositoryFactory.java
deleted file mode 100644
index 8d33d91..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/CompositeArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryIO;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.internal.p2.repository.Transport;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class CompositeArtifactRepositoryFactory extends ArtifactRepositoryFactory {
-
-	public IArtifactRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-		long time = 0;
-		final String debugMsg = "Restoring artifact repository "; //$NON-NLS-1$
-		if (Tracing.DEBUG_METADATA_PARSING) {
-			Tracing.debug(debugMsg + location);
-			time = -System.currentTimeMillis();
-		}
-		File localFile = null;
-		boolean local = false;
-		try {
-			SubMonitor sub = SubMonitor.convert(monitor, 300);
-			OutputStream artifacts = null;
-			// try with compressed
-			boolean compress = true;
-			if (PROTOCOL_FILE.equals(location.getScheme())) {
-				local = true;
-				localFile = URIUtil.toFile(CompositeArtifactRepository.getActualLocation(location, true));
-				if (!localFile.exists()) {
-					localFile = URIUtil.toFile(CompositeArtifactRepository.getActualLocation(location, false));
-					compress = false;
-				}
-			} else {
-				//not local, return null if the caller wanted a modifiable repo
-				if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-					return null;
-				}
-
-				//download to local temp file
-				localFile = File.createTempFile(CompositeArtifactRepository.CONTENT_FILENAME, CompositeArtifactRepository.XML_EXTENSION);
-				try {
-					artifacts = new BufferedOutputStream(new FileOutputStream(localFile));
-					IStatus status = getTransport().download(CompositeArtifactRepository.getActualLocation(location, compress), artifacts, sub.newChild(100));
-					if (!status.isOK()) {
-						// retry uncompressed
-						compress = false;
-						status = getTransport().download(CompositeArtifactRepository.getActualLocation(location, compress), artifacts, sub.newChild(100));
-						if (!status.isOK())
-							throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, status.getMessage(), null));
-					}
-				} finally {
-					if (artifacts != null)
-						artifacts.close();
-				}
-			}
-			InputStream descriptorStream = null;
-			try {
-				descriptorStream = new BufferedInputStream(new FileInputStream(localFile));
-				if (compress) {
-					URI actualLocation = CompositeArtifactRepository.getActualLocation(location, false);
-					JarInputStream jInStream = new JarInputStream(descriptorStream);
-					JarEntry jarEntry = jInStream.getNextJarEntry();
-					String filename = URIUtil.lastSegment(actualLocation);
-					while (jarEntry != null && filename != null && !(filename.equals(jarEntry.getName()))) {
-						jarEntry = jInStream.getNextJarEntry();
-					}
-					if (jarEntry == null) {
-						//there is a jar but the entry is missing or invalid, so treat this as an invalid repository
-						throw new IOException(NLS.bind(Messages.io_invalidLocation, actualLocation.getPath()));
-					}
-					descriptorStream = jInStream;
-				}
-				CompositeRepositoryIO io = new CompositeRepositoryIO();
-				CompositeRepositoryState resultState = io.read(localFile.toURL(), descriptorStream, CompositeArtifactRepository.PI_REPOSITORY_TYPE, sub.newChild(100));
-				if (resultState.getLocation() == null)
-					resultState.setLocation(location);
-				CompositeArtifactRepository result = new CompositeArtifactRepository(resultState);
-				if (Tracing.DEBUG_METADATA_PARSING) {
-					time += System.currentTimeMillis();
-					Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$ 
-				}
-				return result;
-			} finally {
-				if (descriptorStream != null)
-					descriptorStream.close();
-			}
-		} catch (FileNotFoundException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			if (!local && localFile != null && !localFile.delete())
-				localFile.deleteOnExit();
-		}
-	}
-
-	public IArtifactRepository create(URI location, String name, String type, Map properties) {
-		return new CompositeArtifactRepository(location, name, properties);
-	}
-
-	private Transport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
deleted file mode 100644
index 1353e18..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/Messages.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.repository.messages"; //$NON-NLS-1$
-
-	public static String artifact_not_found;
-	public static String available_already_in;
-	public static String no_location;
-	public static String downloading;
-	public static String error_closing_stream;
-	public static String io_failedRead;
-	public static String io_failedWrite;
-	public static String io_incompatibleVersion;
-	public static String io_invalidLocation;
-	public static String SignatureVerification_failedRead;
-	public static String SignatureVerification_invalidContent;
-	public static String SignatureVerification_invalidFileContent;
-
-	public static String SignatureVerifier_OutOfMemory;
-	public static String io_parseError;
-	public static String mirroring;
-	public static String repoMan_internalError;
-	public static String repoFailedWrite;
-
-	public static String sar_downloading;
-	public static String sar_downloadJobName;
-	public static String sar_failedMkdir;
-	public static String sar_reportStatus;
-
-	public static String mirror_alreadyExists;
-	public static String message_mirroringStatus;
-	public static String message_childrenRepos;
-	public static String exception_comparatorNotFound;
-	public static String exception_noComparators;
-	public static String exception_destinationNotModifiable;
-	public static String exception_needSourceDestination;
-	public static String exception_malformedRepoURI;
-	public static String exception_unsupportedAddToComposite;
-
-	public static String exception_unsupportedGetOutputStream;
-	public static String exception_unsupportedRemoveFromComposite;
-
-	public static String Mirroring_NO_MATCHING_DESCRIPTOR;
-	public static String Mirroring_MISSING_DESCRIPTOR;
-	public static String Mirroring_DIFFERENT_DESCRIPTOR_PROPERTY;
-
-	public static String Mirroring_ValidationError;
-	public static String Mirroring_compareAndDownload;
-
-	public static String MirrorLog_Console_Log;
-	public static String MirrorLog_Exception_Occurred;
-
-	public static String MirrorRequest_multipleDownloadProblems;
-
-	public static String exception_unableToCreateParentDir;
-
-	public static String folder_artifact_not_file_repo;
-
-	public static String retryRequest;
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
deleted file mode 100644
index bdcdf0d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorRequest.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *  	Compeople AG (Stefan Liebig) - various ongoing maintenance
- *   	Genuitec LLC - various bug fixes
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.util.Properties;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A request to mirror (copy) an artifact into a given destination artifact repository.
- */
-public class MirrorRequest extends ArtifactRequest {
-	protected final IArtifactRepository target;
-
-	private final Properties targetDescriptorProperties;
-	private final Properties targetRepositoryProperties;
-	protected IArtifactDescriptor descriptor;
-
-	public MirrorRequest(IArtifactKey key, IArtifactRepository targetRepository, Properties targetDescriptorProperties, Properties targetRepositoryProperties) {
-		super(key);
-		target = targetRepository;
-		if (targetDescriptorProperties == null || targetDescriptorProperties.isEmpty()) {
-			this.targetDescriptorProperties = null;
-		} else {
-			this.targetDescriptorProperties = new Properties();
-			this.targetDescriptorProperties.putAll(targetDescriptorProperties);
-		}
-
-		if (targetRepositoryProperties == null || targetRepositoryProperties.isEmpty()) {
-			this.targetRepositoryProperties = null;
-		} else {
-			this.targetRepositoryProperties = new Properties();
-			this.targetRepositoryProperties.putAll(targetRepositoryProperties);
-		}
-	}
-
-	public void perform(IProgressMonitor monitor) {
-		monitor.subTask(NLS.bind(Messages.downloading, getArtifactKey().getId()));
-		// Do we already have the artifact in the target?
-		if (target.contains(getArtifactKey())) {
-			setResult(new Status(IStatus.OK, Activator.ID, NLS.bind(Messages.available_already_in, getArtifactKey())));
-			return;
-		}
-
-		// if the request does not have a descriptor then try to fill one in by getting
-		// the list of all and randomly picking one that appears to be optimized.
-		IArtifactDescriptor optimized = null;
-		IArtifactDescriptor canonical = null;
-		if (descriptor == null) {
-			IArtifactDescriptor[] descriptors = source.getArtifactDescriptors(getArtifactKey());
-			if (descriptors.length > 0) {
-				for (int i = 0; i < descriptors.length; i++) {
-					if (descriptors[i].getProperty(IArtifactDescriptor.FORMAT) == null)
-						canonical = descriptors[i];
-					else if (ProcessingStepHandler.canProcess(descriptors[i]))
-						optimized = descriptors[i];
-				}
-				boolean chooseCanonical = source.getLocation().getScheme().equals("file"); //$NON-NLS-1$
-				// If the source repo is local then look for a canonical descriptor so we don't waste processing time.
-				descriptor = chooseCanonical ? canonical : optimized;
-				// if the descriptor is still null then we could not find our first choice of format so switch the logic.
-				if (descriptor == null)
-					descriptor = !chooseCanonical ? canonical : optimized;
-			}
-		}
-
-		// if the descriptor is not set now then the repo does not have the requested artifact
-		// TODO improve the reporting here.  It may be the case that the repo has the artifact
-		// but the client does not have a processor
-		if (descriptor == null) {
-			setResult(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, getArtifactKey())));
-			return;
-		}
-
-		IArtifactDescriptor destinationDescriptor = getDestinationDescriptor(descriptor);
-		IStatus status = transfer(destinationDescriptor, descriptor, monitor);
-		// if ok, cancelled or transfer has already been done with the canonical form return with status set 
-		if (status.getSeverity() == IStatus.CANCEL) {
-			setResult(status);
-			return;
-		}
-		if (monitor.isCanceled()) {
-			setResult(Status.CANCEL_STATUS);
-			return;
-		}
-		if (status.isOK()) {
-			setResult(status);
-			return;
-		}
-
-		// failed, first remove possibly erroneously added descriptor
-		if (target.contains(destinationDescriptor))
-			target.removeDescriptor(destinationDescriptor);
-
-		if (descriptor == canonical || canonical == null) {
-			setResult(status);
-			return;
-		}
-
-		IStatus canonicalStatus = transfer(getDestinationDescriptor(canonical), canonical, monitor);
-		// To prevent the optimized transfer status severity from dominating the canonical, only merge 
-		// if the canonical severity is equal to or higher than the optimized transfer severity.   
-		if (canonicalStatus.getSeverity() < status.getSeverity())
-			setResult(canonicalStatus);
-		else
-			setResult(new MultiStatus(Activator.ID, canonicalStatus.getCode() != 0 ? canonicalStatus.getCode() : status.getCode(), new IStatus[] {status, canonicalStatus}, Messages.MirrorRequest_multipleDownloadProblems, null));
-	}
-
-	private IArtifactDescriptor getDestinationDescriptor(IArtifactDescriptor sourceDescriptor) {
-		// Get the descriptor to use to store the artifact
-		// Since we are mirroring, ensure we clear out data from the original descriptor that may
-		// not apply in the new repo location.
-		// TODO this is brittle.  perhaps the repo itself should do this?  there are cases where
-		// we really do need to give the repo the actual descriptor to use however...
-		IArtifactDescriptor destinationDescriptor = target.createArtifactDescriptor(sourceDescriptor.getArtifactKey());
-		//		destinationDescriptor.setProcessingSteps(EMPTY_STEPS);
-		//		destinationDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, null);
-		//		destinationDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, null);
-		//		destinationDescriptor.setProperty(IArtifactDescriptor.FORMAT, null);
-		if (targetDescriptorProperties != null && destinationDescriptor instanceof ArtifactDescriptor)
-			((ArtifactDescriptor) destinationDescriptor).addProperties(targetDescriptorProperties);
-		if (targetRepositoryProperties != null && destinationDescriptor instanceof SimpleArtifactDescriptor)
-			((SimpleArtifactDescriptor) destinationDescriptor).addRepositoryProperties(targetRepositoryProperties);
-		return destinationDescriptor;
-	}
-
-	/**
-	 * Keep retrying the source repository until it reports back that it will be impossible
-	 * to get the artifact from it.
-	 * @param destinationDescriptor
-	 * @param sourceDescriptor
-	 * @param monitor
-	 * @return the status of the transfer operation
-	 */
-	protected IStatus transfer(IArtifactDescriptor destinationDescriptor, IArtifactDescriptor sourceDescriptor, IProgressMonitor monitor) {
-		IStatus status = Status.OK_STATUS;
-		// go until we get one (OK), there are no more mirrors to consider or the operation is cancelled.
-		// TODO this needs to be redone with a much better mirror management scheme.
-		do {
-			status = transferSingle(destinationDescriptor, sourceDescriptor, monitor);
-		} while (status.getSeverity() == IStatus.ERROR && status.getCode() == IArtifactRepository.CODE_RETRY);
-		return status;
-	}
-
-	private IStatus transferSingle(IArtifactDescriptor destinationDescriptor, IArtifactDescriptor sourceDescriptor, IProgressMonitor monitor) {
-		OutputStream destination;
-		try {
-			destination = target.getOutputStream(destinationDescriptor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-
-		IStatus status = null;
-		// Do the actual transfer
-		try {
-			status = getArtifact(sourceDescriptor, destination, monitor);
-			if (destination instanceof IStateful && status != null && !status.isOK()) {
-				IStatus destStatus = ((IStateful) destination).getStatus();
-				IStatus root = extractRootCause(status);
-				Throwable e = root != null ? root.getException() : null;
-				((IStateful) destination).setStatus(new MultiStatus(Activator.ID, status.getCode(), new IStatus[] {status, destStatus}, status.getMessage(), e));
-			}
-		} finally {
-			try {
-				destination.close();
-			} catch (IOException e) {
-				if (status != null && status.getSeverity() == IStatus.ERROR && status.getCode() == IArtifactRepository.CODE_RETRY)
-					return new MultiStatus(Activator.ID, status.getCode(), new IStatus[] {status}, NLS.bind(Messages.error_closing_stream, getArtifactKey(), target.getLocation()), e);
-				return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.error_closing_stream, getArtifactKey(), target.getLocation()), e);
-			}
-			if (status != null && status.getSeverity() == IStatus.ERROR) {
-				IStatus root = extractRootCause(status);
-				if (root != null && FileNotFoundException.class == root.getException().getClass())
-					return new Status(IStatus.ERROR, Activator.ID, status.getCode(), NLS.bind(Messages.artifact_not_found, getArtifactKey()), root.getException());
-			}
-		}
-		return status;
-	}
-
-	protected IStatus getArtifact(IArtifactDescriptor sourceDescriptor, OutputStream destination, IProgressMonitor monitor) {
-		return getSourceRepository().getArtifact(sourceDescriptor, destination, monitor);
-	}
-
-	/**
-	 * Extract the root cause. The root cause is the first severe non-MultiStatus status 
-	 * containing an exception when searching depth first otherwise null.
-	 * @param status
-	 * @return root cause
-	 */
-	private static IStatus extractRootCause(IStatus status) {
-		if (status == null)
-			return null;
-		if (!status.isMultiStatus())
-			return constraintStatus(status);
-
-		IStatus[] children = ((MultiStatus) status).getChildren();
-		if (children == null)
-			return constraintStatus(status);
-
-		for (int i = 0; i < children.length; i++) {
-			IStatus deeper = extractRootCause(children[i]);
-			if (deeper != null)
-				return deeper;
-		}
-
-		return constraintStatus(status);
-	}
-
-	private static IStatus constraintStatus(IStatus status) {
-		return status.getSeverity() == IStatus.ERROR && status.getException() != null ? status : null;
-	}
-
-	public String toString() {
-		return Messages.mirroring + getArtifactKey() + " into " + target; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
deleted file mode 100644
index 77b0f05..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/MirrorSelector.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Cloudsmith Inc - bug fixes
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.repository.DownloadStatus;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.w3c.dom.*;
-import org.xml.sax.InputSource;
-
-/**
- * Mirror support class for repositories. This class implements
- * mirror support equivalent to the mirroring of update manager sites. A repository 
- * optionally provides a mirror URL via the {@link IRepository#PROP_MIRRORS_URL} key. 
- * The contents of the file at this URL is expected to be an XML document 
- * containing a list of <mirror> elements. The mirrors are assumed to be already 
- * sorted geographically with closer mirrors first.
- */
-public class MirrorSelector {
-	private static final double LOG2 = Math.log(2);
-
-	/**
-	 * Encapsulates information about a single mirror
-	 */
-	public static class MirrorInfo implements Comparable {
-		long bytesPerSecond;
-		int failureCount;
-		private final int initialRank;
-		String locationString;
-
-		public MirrorInfo(String location, int initialRank) {
-			this.initialRank = initialRank;
-			this.locationString = location;
-			if (!locationString.endsWith("/")) //$NON-NLS-1$
-				locationString = locationString + "/"; //$NON-NLS-1$
-			failureCount = 0;
-			bytesPerSecond = DownloadStatus.UNKNOWN_RATE;
-		}
-
-		/**
-		 * Comparison used to sort mirrors.
-		 */
-		public int compareTo(Object o) {
-			if (!(o instanceof MirrorInfo))
-				return 0;
-			MirrorInfo that = (MirrorInfo) o;
-			//less failures is better
-			if (this.failureCount != that.failureCount)
-				return this.failureCount - that.failureCount;
-			//faster is better
-			if (this.bytesPerSecond != that.bytesPerSecond)
-				return (int) (that.bytesPerSecond - this.bytesPerSecond);
-			//trust that initial rank indicates geographical proximity
-			return this.initialRank - that.initialRank;
-		}
-
-		public void incrementFailureCount() {
-			this.failureCount++;
-		}
-
-		public void setBytesPerSecond(long newValue) {
-			this.bytesPerSecond = newValue;
-		}
-
-		public String toString() {
-			return "Mirror(" + locationString + ',' + failureCount + ',' + bytesPerSecond + ')'; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * The URI of the base repository being mirrored.
-	 */
-	URI baseURI;
-
-	MirrorInfo[] mirrors;
-
-	private final IRepository repository;
-
-	private final Random random = new Random();
-
-	/**
-	 * Constructs a mirror support class for the given repository. Mirrors are
-	 * not contacted and the mirrorsURL document is not parsed until a
-	 * mirror location request is sent.
-	 */
-	public MirrorSelector(IRepository repository) {
-		this.repository = repository;
-		try {
-			String base = (String) repository.getProperties().get(IRepository.PROP_MIRRORS_BASE_URL);
-			if (base != null) {
-				this.baseURI = new URI(base);
-			} else {
-				URI repositoryLocation = repository.getLocation();
-				if (repositoryLocation != null)
-					this.baseURI = repositoryLocation;
-			}
-		} catch (URISyntaxException e) {
-			log("Error initializing mirrors for: " + repository.getLocation(), e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Parses the given mirror URL to obtain the list of mirrors. Returns the mirrors,
-	 * or null if mirrors could not be computed.
-	 * 
-	 * Originally copied from DefaultSiteParser.getMirrors in org.eclipse.update.core
-	 */
-	private MirrorInfo[] computeMirrors(String mirrorsURL, IProgressMonitor monitor) {
-		try {
-			String countryCode = Activator.getContext().getProperty("eclipse.p2.countryCode"); //$NON-NLS-1$
-			if (countryCode == null || countryCode.trim().length() == 0)
-				countryCode = Locale.getDefault().getCountry().toLowerCase();
-			String timeZone = Activator.getContext().getProperty("eclipse.p2.timeZone"); //$NON-NLS-1$
-			if (timeZone == null || timeZone.trim().length() == 0)
-				timeZone = Integer.toString(new GregorianCalendar().get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000));
-
-			if (mirrorsURL.indexOf('?') != -1) {
-				mirrorsURL = mirrorsURL + '&';
-			} else {
-				mirrorsURL = mirrorsURL + '?';
-			}
-			mirrorsURL = mirrorsURL + "countryCode=" + countryCode + "&timeZone=" + timeZone + "&format=xml"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-			DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder builder = domFactory.newDocumentBuilder();
-			Document document = null;
-			// Use Transport to read the mirrors list (to benefit from proxy support, authentication, etc)
-			RepositoryTransport transport = RepositoryTransport.getInstance();
-			InputSource input = new InputSource(mirrorsURL);
-			input.setByteStream(transport.stream(URIUtil.fromString(mirrorsURL), monitor));
-			document = builder.parse(input);
-			if (document == null)
-				return null;
-			NodeList mirrorNodes = document.getElementsByTagName("mirror"); //$NON-NLS-1$
-			int mirrorCount = mirrorNodes.getLength();
-			MirrorInfo[] infos = new MirrorInfo[mirrorCount + 1];
-			for (int i = 0; i < mirrorCount; i++) {
-				Element mirrorNode = (Element) mirrorNodes.item(i);
-				String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
-				infos[i] = new MirrorInfo(infoURL, i);
-			}
-			//p2: add the base site as the last resort mirror so we can track download speed and failure rate
-			infos[mirrorCount] = new MirrorInfo(baseURI.toString(), mirrorCount);
-			return infos;
-		} catch (Exception e) {
-			// log if absolute url
-			if (mirrorsURL != null && (mirrorsURL.startsWith("http://") //$NON-NLS-1$
-					|| mirrorsURL.startsWith("https://") //$NON-NLS-1$
-					|| mirrorsURL.startsWith("file://") //$NON-NLS-1$
-					|| mirrorsURL.startsWith("ftp://") //$NON-NLS-1$
-			|| mirrorsURL.startsWith("jar://"))) //$NON-NLS-1$
-				log("Error processing mirrors URL: " + mirrorsURL, e); //$NON-NLS-1$
-			return null;
-		}
-	}
-
-	/**
-	 * Returns an equivalent location for the given artifact location in the base 
-	 * repository.  Always falls back to the given input location in case of failure
-	 * to compute mirrors. Never returns null.
-	 */
-	public synchronized URI getMirrorLocation(URI inputLocation, IProgressMonitor monitor) {
-		Assert.isNotNull(inputLocation);
-		if (baseURI == null)
-			return inputLocation;
-		URI relativeLocation = baseURI.relativize(inputLocation);
-		//if we failed to relativize the location, we can't select a mirror
-		if (relativeLocation == null || relativeLocation.isAbsolute())
-			return inputLocation;
-		MirrorInfo selectedMirror = selectMirror(monitor);
-		if (selectedMirror == null)
-			return inputLocation;
-		if (Tracing.DEBUG_MIRRORS)
-			Tracing.debug("Selected mirror for artifact " + inputLocation + ": " + selectedMirror); //$NON-NLS-1$ //$NON-NLS-2$
-		try {
-			return new URI(selectedMirror.locationString + relativeLocation.getPath());
-		} catch (URISyntaxException e) {
-			log("Unable to make location " + inputLocation + " relative to mirror " + selectedMirror.locationString, e); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return inputLocation;
-	}
-
-	/**
-	 * Returns the mirror locations for this repository, or <code>null</code> if
-	 * they could not be computed.
-	 */
-	private MirrorInfo[] initMirrors(IProgressMonitor monitor) {
-		if (mirrors != null)
-			return mirrors;
-		String mirrorsURL = (String) repository.getProperties().get(IRepository.PROP_MIRRORS_URL);
-		if (mirrorsURL != null)
-			mirrors = computeMirrors(mirrorsURL, monitor);
-		return mirrors;
-	}
-
-	private void log(String message, Throwable exception) {
-		LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, exception));
-	}
-
-	/**
-	 * Reports the result of a mirror download
-	 */
-	public synchronized void reportResult(String toDownload, IStatus result) {
-		if (mirrors == null)
-			return;
-		for (int i = 0; i < mirrors.length; i++) {
-			MirrorInfo mirror = mirrors[i];
-			if (toDownload.startsWith(mirror.locationString)) {
-				if (!result.isOK() && result.getSeverity() != IStatus.CANCEL)
-					mirror.incrementFailureCount();
-				if (result instanceof DownloadStatus) {
-					long oldRate = mirror.bytesPerSecond;
-					long newRate = ((DownloadStatus) result).getTransferRate();
-					//average old and new rate so one slow download doesn't ruin the mirror's reputation
-					if (oldRate > 0)
-						newRate = (oldRate + newRate) / 2;
-					mirror.setBytesPerSecond(newRate);
-				}
-				if (Tracing.DEBUG_MIRRORS)
-					Tracing.debug("Updated mirror " + mirror); //$NON-NLS-1$
-				Arrays.sort(mirrors);
-				return;
-			}
-		}
-	}
-
-	/** 
-	 * Return whether or not all the mirrors for this selector have proven to be invalid
-	 * @return whether or not there is a valid mirror in this selector.
-	 */
-	public synchronized boolean hasValidMirror() {
-		// return true if there is a mirror and it has not failed.  Since the mirrors
-		// list is sorted with failures last, we only have to test the first element for failure.
-		return mirrors != null && mirrors.length > 0 && mirrors[0].failureCount == 0;
-	}
-
-	/**
-	 * Selects a mirror from the given list of mirrors. Returns null if a mirror
-	 * could not be found.
-	 */
-	private MirrorInfo selectMirror(IProgressMonitor monitor) {
-		initMirrors(monitor);
-		int mirrorCount;
-		if (mirrors == null || (mirrorCount = mirrors.length) == 0)
-			return null;
-		//this is a function that randomly selects a mirror based on a logarithmic
-		//distribution. Mirror 0 has a 1/2 chance of being selected, mirror 1 has a 1/4 chance, 
-		// mirror 2 has a 1/8 chance, etc. This introduces some variation in the mirror 
-		//selection, while still heavily favoring better mirrors
-		//the algorithm computes the most significant digit in a binary number by computing the base 2 logarithm
-		//if the first digit is most significant, mirror 0 is selected, if the second is most significant, mirror 1 is selected, etc
-		int highestMirror = Math.min(15, mirrorCount);
-		int result = (int) (Math.log(random.nextInt(1 << highestMirror) + 1) / LOG2);
-		if (result >= highestMirror || result < 0)
-			result = highestMirror - 1;
-		MirrorInfo selected = mirrors[highestMirror - 1 - result];
-		//if we selected a mirror that has failed in the past, revert to best available mirror
-		if (selected.failureCount > 0)
-			selected = mirrors[0];
-		//for now, don't tolerate failing mirrors
-		if (selected.failureCount > 0)
-			return null;
-		return selected;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/RawMirrorRequest.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/RawMirrorRequest.java
deleted file mode 100644
index 3c24325..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/RawMirrorRequest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.OutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5Verifier;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class RawMirrorRequest extends MirrorRequest {
-	protected IArtifactDescriptor sourceDescriptor, targetDescriptor;
-
-	public RawMirrorRequest(IArtifactDescriptor sourceDescriptor, IArtifactDescriptor targetDescriptor, IArtifactRepository targetRepository) {
-		super(sourceDescriptor.getArtifactKey(), targetRepository, null, null);
-		this.sourceDescriptor = sourceDescriptor;
-		this.targetDescriptor = targetDescriptor;
-	}
-
-	public void perform(IProgressMonitor monitor) {
-		monitor.subTask(NLS.bind(Messages.downloading, getArtifactKey().getId()));
-		// Do we already have the descriptor in the target?
-		if (target.contains(targetDescriptor)) {
-			setResult(new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.mirror_alreadyExists, targetDescriptor, target)));
-			return;
-		}
-		// Does the source actually have the descriptor?
-		if (!source.contains(getArtifactDescriptor())) {
-			setResult(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, getArtifactKey())));
-			return;
-		}
-		IStatus status = transfer(targetDescriptor, sourceDescriptor, monitor);
-
-		// if ok, cancelled or transfer has already been done with the canonical form return with status set 
-		if (status.getSeverity() == IStatus.CANCEL) {
-			setResult(status);
-			return;
-		}
-		if (monitor.isCanceled()) {
-			setResult(Status.CANCEL_STATUS);
-			return;
-		}
-		if (status.isOK()) {
-			setResult(status);
-			return;
-		}
-
-		// failed, first remove possibly erroneously added descriptor
-		if (target.contains(targetDescriptor))
-			target.removeDescriptor(targetDescriptor);
-
-		setResult(status);
-	}
-
-	public IArtifactDescriptor getArtifactDescriptor() {
-		return sourceDescriptor;
-	}
-
-	// Perform the mirror operation without any processing steps
-	protected IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ProcessingStepHandler handler = new ProcessingStepHandler();
-		if (SimpleArtifactRepository.MD5_CHECK_ENABLED && descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5) != null)
-			destination = handler.link(new ProcessingStep[] {new MD5Verifier(descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5))}, destination, monitor);
-		return getSourceRepository().getRawArtifact(descriptor, destination, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
deleted file mode 100644
index 5533067..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/SignatureVerifier.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2008 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository;
-
-import java.io.*;
-import java.security.GeneralSecurityException;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.osgi.signedcontent.*;
-
-/**
- * Processing step validating the signature of the artifact being downloaded  
- */
-public class SignatureVerifier extends ProcessingStep {
-	private File inputFile;
-	private OutputStream tempStream;
-
-	public boolean areRequirementsSatisfied() {
-		return true;
-	}
-
-	public void write(int b) throws IOException {
-		getOutputStream().write(b);
-	}
-
-	public void write(byte[] bytes, int off, int len) throws IOException {
-		getOutputStream().write(bytes, off, len);
-	}
-
-	private OutputStream getOutputStream() throws IOException {
-		if (tempStream != null)
-			return tempStream;
-		// store input stream in temporary file
-		inputFile = File.createTempFile("signatureFile", ".jar"); //$NON-NLS-1$ //$NON-NLS-2$
-		tempStream = new BufferedOutputStream(new FileOutputStream(inputFile));
-		return tempStream;
-	}
-
-	private void verify() throws IOException {
-		BufferedInputStream resultStream = null;
-		try {
-			if (tempStream == null)
-				// hmmm, no one wrote to this stream so there is nothing to pass on
-				return;
-			// Ok, so there is content, close the tempStream
-			tempStream.close();
-			setStatus(verifyContent());
-
-			// now write the  content to the final destination
-			resultStream = new BufferedInputStream(new FileInputStream(inputFile));
-			FileUtils.copyStream(resultStream, true, getDestination(), false);
-			resultStream = null;
-		} finally {
-			if (inputFile != null)
-				inputFile.delete();
-			if (resultStream != null)
-				resultStream.close();
-		}
-	}
-
-	private IStatus verifyContent() throws IOException {
-		SignedContentFactory verifierFactory = (SignedContentFactory) ServiceHelper.getService(Activator.getContext(), SignedContentFactory.class.getName());
-		SignedContent signedContent;
-		try {
-			signedContent = verifierFactory.getSignedContent(inputFile);
-		} catch (GeneralSecurityException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerification_failedRead + inputFile, e);
-		}
-		ArrayList allStatus = new ArrayList(0);
-		SignedContentEntry[] entries = signedContent.getSignedEntries();
-		for (int i = 0; i < entries.length; i++)
-			try {
-				entries[i].verify();
-			} catch (InvalidContentException e) {
-				allStatus.add(new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerification_invalidContent + entries[i].getName(), e));
-			} catch (OutOfMemoryError e) {
-				allStatus.add(new Status(IStatus.ERROR, Activator.ID, Messages.SignatureVerifier_OutOfMemory, e));
-				break;
-			}
-		if (allStatus.size() > 0)
-			return new MultiStatus(Activator.ID, IStatus.ERROR, (IStatus[]) allStatus.toArray(new IStatus[allStatus.size()]), Messages.SignatureVerification_invalidFileContent + inputFile, null);
-		return Status.OK_STATUS;
-	}
-
-	public void close() throws IOException {
-		// When we go to close we must have seen all the content we are going to see
-		// So before closing, verify and write the result to the destination
-		verify();
-		super.close();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
deleted file mode 100644
index eed154d..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/messages.properties
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-artifact_not_found=Artifact not found: {0}.
-available_already_in=The artifact is already available in the repository {0}.
-no_location=No location for {0}.
-downloading=Downloading {0}
-error_closing_stream=Error closing the output stream for {0} on repository {1}.
-
-io_failedRead=Unable to read repository at {0}.
-io_parseError=Error parsing simple artifact repository.
-io_incompatibleVersion=Simple artifact repository has incompatible version {0}; expected {1}.
-io_invalidLocation=Invalid repository location: {0}.
-mirroring=Mirroring:
-io_failedWrite=Error occurred while writing repository at {0}.
-
-repoFailedWrite=Unable to write to repository: {0}.
-
-repoMan_internalError=Internal error.
-
-SignatureVerification_failedRead=Error reading signed content:
-SignatureVerification_invalidContent=Invalid content:
-SignatureVerification_invalidFileContent=File has invalid content:
-SignatureVerifier_OutOfMemory=Out of memory: Cannot verify signed content.
-
-sar_downloading=Download {0} artifacts
-sar_downloadJobName=Install download
-sar_failedMkdir=Failed to create directory {0}.
-sar_reportStatus=Problems downloading artifact: {0}.
-
-mirror_alreadyExists=Artifact: {0} already exists in repository: {1}.
-
-message_mirroringStatus = Messages while mirroring artifact descriptors.
-message_childrenRepos = Messages while trying children repositories.
-
-exception_comparatorNotFound = The Artifact Comparator {0} was not found.
-exception_noComparators = No Artifact Comparators are available.
-exception_destinationNotModifiable = The destination repository must be modifiable: {0}.
-exception_needSourceDestination = Must specify a source and destination.
-exception_malformedRepoURI = The repository location ({0}) must be a URI.
-Mirroring_NO_MATCHING_DESCRIPTOR=Could not match descriptor for compare
-Mirroring_MISSING_DESCRIPTOR=Missing descriptor: {0}.
-Mirroring_DIFFERENT_DESCRIPTOR_PROPERTY=Descriptor {0} has different properties for {1}, source: {2}, destination: {3}. 
-Mirroring_ValidationError=Error occurred while validating mirror.
-Mirroring_compareAndDownload=Compare and download of {0} from baseline.
-MirrorLog_Console_Log=Logging to the console instead.
-MirrorLog_Exception_Occurred=An exception occurred while writing to the log:
-MirrorRequest_multipleDownloadProblems=Multiple problems occurred while downloading.
-
-exception_unsupportedAddToComposite = Cannot add descriptors to a composite repository.
-exception_unsupportedGetOutputStream=Cannot write artifacts to a composite repository.
-exception_unsupportedRemoveFromComposite = Cannot remove descriptors from a composite repository.
-
-exception_unableToCreateParentDir = Unable to create parent directory.
-folder_artifact_not_file_repo=Artifact {0} is a folder but the repository is an archive or remote location.
-retryRequest=Download of {0} failed on repository {1}. Retrying. 
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
deleted file mode 100644
index e3697cb..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/BlobStore.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Iterator;
-import java.util.Set;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.URIUtil;
-
-/**
- * Blob store which maps UUIDs to blobs on disk. The UUID is mapped
- * to a file in the file-system and the blob is the file contents. For scalability,
- * the blobs are split among 255 directories with the names 00 to FF.
- */
-public class BlobStore {
-	protected URI store;
-
-	protected boolean fileBased;
-	/** Limits the range of directories' names. */
-	protected byte mask;
-
-	//private static short[] randomArray = {213, 231, 37, 85, 211, 29, 161, 175, 187, 3, 147, 246, 170, 30, 202, 183, 242, 47, 254, 189, 25, 248, 193, 2, 119, 133, 125, 12, 76, 213, 219, 79, 69, 133, 202, 80, 150, 190, 157, 190, 80, 190, 219, 150, 169, 117, 95, 10, 77, 214, 233, 70, 5, 188, 44, 91, 165, 149, 177, 93, 17, 112, 4, 41, 230, 148, 188, 107, 213, 31, 52, 60, 111, 246, 226, 121, 129, 197, 144, 248, 92, 133, 96, 116, 104, 67, 74, 144, 185, 141, 96, 34, 182, 90, 36, 217, 28, 205, 107, 52, 201, 14, 8, 1, 27, 216, 60, 35, 251, 194, 7, 156, 32, 5, 145, 29, 96, 61, 110, 145, 50, 56, 235, 239, 170, 138, 17, 211, 56, 98, 101, 126, 27, 57, 211, 144, 206, 207, 179, 111, 160, 50, 243, 69, 106, 118, 155, 159, 28, 57, 11, 175, 43, 173, 96, 181, 99, 169, 171, 156, 246, 243, 30, 198, 251, 81, 77, 92, 160, 235, 215, 187, 23, 71, 58, 247, 127, 56, 118, 132, 79, 188, 42, 188, 158, 121, 255, 65, 154, 118, 172, 217, 4, 47, 105, 204, 135, 27, 43, 90, 9, 31, 59, 115, 193, 28, 55, 101, 9, 117, 211, 112, 61, 55, 23, 235, 51, 104, 123, 138, 76, 148, 115, 119, 81, 54, 39, 46, 149, 191, 79, 16, 222, 69, 219, 136, 148, 181, 77, 250, 101, 223, 140, 194, 141, 44, 195, 217, 31, 223, 207, 149, 245, 115, 243, 183};
-	private static byte[] randomArray = {-43, -25, 37, 85, -45, 29, -95, -81, -69, 3, -109, -10, -86, 30, -54, -73, -14, 47, -2, -67, 25, -8, -63, 2, 119, -123, 125, 12, 76, -43, -37, 79, 69, -123, -54, 80, -106, -66, -99, -66, 80, -66, -37, -106, -87, 117, 95, 10, 77, -42, -23, 70, 5, -68, 44, 91, -91, -107, -79, 93, 17, 112, 4, 41, -26, -108, -68, 107, -43, 31, 52, 60, 111, -10, -30, 121, -127, -59, -112, -8, 92, -123, 96, 116, 104, 67, 74, -112, -71, -115, 96, 34, -74, 90, 36, -39, 28, -51, 107, 52, -55, 14, 8, 1, 27, -40, 60, 35, -5, -62, 7, -100, 32, 5, -111, 29, 96, 61, 110, -111, 50, 56, -21, -17, -86, -118, 17, -45, 56, 98, 101, 126, 27, 57, -45, -112, -50, -49, -77, 111, -96, 50, -13, 69, 106, 118, -101, -97, 28, 57, 11, -81, 43, -83, 96, -75, 99, -87, -85, -100, -10, -13, 30,
-			-58, -5, 81, 77, 92, -96, -21, -41, -69, 23, 71, 58, -9, 127, 56, 118, -124, 79, -68, 42, -68, -98, 121, -1, 65, -102, 118, -84, -39, 4, 47, 105, -52, -121, 27, 43, 90, 9, 31, 59, 115, -63, 28, 55, 101, 9, 117, -45, 112, 61, 55, 23, -21, 51, 104, 123, -118, 76, -108, 115, 119, 81, 54, 39, 46, -107, -65, 79, 16, -34, 69, -37, -120, -108, -75, 77, -6, 101, -33, -116, -62, -115, 44, -61, -39, 31, -33, -49, -107, -11, 115, -13, -73,};
-
-	/**
-	 * The limit is the maximum number of directories managed by this store.
-	 * This number must be power of 2 and do not exceed 256. The location
-	 * should be an existing valid directory.
-	 */
-	public BlobStore(URI store, int limit) {
-		Assert.isNotNull(store);
-		this.store = store;
-		fileBased = "file".equalsIgnoreCase(store.getScheme()); //$NON-NLS-1$
-		if (fileBased)
-			Assert.isTrue(!URIUtil.toFile(store).isFile());
-		Assert.isTrue(limit == 256 || limit == 128 || limit == 64 || limit == 32 || limit == 16 || limit == 8 || limit == 4 || limit == 2 || limit == 1);
-		mask = (byte) (limit - 1);
-	}
-
-	public OutputStream getOutputStream(byte[] uuid) throws IOException {
-		if (!fileBased)
-			return null;
-		new File(folderFor(uuid)).mkdir();
-		return new FileOutputStream(URIUtil.toFile(fileFor(uuid)));
-	}
-
-	/* (non-Javadoc)
-	 * @see UniversalUniqueIdentifier#appendByteString(StringBuffer, byte)
-	 */
-	private void appendByteString(StringBuffer buffer, byte value) {
-		String hexString;
-		if (value < 0)
-			hexString = Integer.toHexString(256 + value);
-		else
-			hexString = Integer.toHexString(value);
-		if (hexString.length() == 1)
-			buffer.append("0"); //$NON-NLS-1$
-		buffer.append(hexString);
-	}
-
-	/* (non-Javadoc)
-	 * Converts an array of bytes into a String.
-	 *
-	 * @see UniversalUniqueIdentifier#toString()
-	 */
-	private String bytesToHexString(byte[] b) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < b.length; i++)
-			appendByteString(buffer, b[i]);
-		return buffer.toString();
-	}
-
-	/**
-	 * Deletes a blobFile.
-	 */
-	public void deleteBlob(byte[] uuid) {
-		Assert.isNotNull(uuid);
-		if (fileBased)
-			new File(fileFor(uuid)).delete();
-	}
-
-	/**
-	 * Delete all of the blobs in the given set.
-	 */
-	public void deleteBlobs(Set set) {
-		for (Iterator i = set.iterator(); i.hasNext();)
-			deleteBlob((byte[]) i.next());
-	}
-
-	public URI fileFor(byte[] uuid) {
-		return URIUtil.append(folderFor(uuid), bytesToHexString(uuid));
-	}
-
-	/**
-	 * Find out the name of the directory that fits better to this UUID.
-	 */
-	public URI folderFor(byte[] uuid) {
-		byte hash = hashUUIDbytes(uuid);
-		hash &= mask; // limit the range of the directory
-		return URIUtil.append(store, Integer.toHexString(hash + (128 & mask)) + '/'); // +(128 & mask) makes sure 00h is the lower value
-	}
-
-	public InputStream getBlob(byte[] uuid) throws IOException {
-		return URIUtil.toURL(fileFor(uuid)).openStream();
-	}
-
-	/**
-	 * Converts a byte array into a byte hash representation. It is used to
-	 * get a directory name.
-	 */
-	protected byte hashUUIDbytes(byte[] uuid) {
-		byte hash = 0;
-		for (int i = 0; i < uuid.length; i++)
-			hash ^= randomArray[uuid[i] + 128]; // +128 makes sure the index is >0
-		return hash;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
deleted file mode 100644
index 6ef140a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/DownloadJob.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Genuitec, LLC 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: Genuitec, LLC - initial API and implementation
- * 						IBM Corporation - ongoing maintenance
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.util.LinkedList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-
-public class DownloadJob extends Job {
-	static final Object FAMILY = new Object();
-
-	private LinkedList requestsPending;
-	private SimpleArtifactRepository repository;
-	private IProgressMonitor masterMonitor;
-	private MultiStatus overallStatus;
-
-	DownloadJob(String name) {
-		super(name);
-		setSystem(true);
-	}
-
-	void initialize(SimpleArtifactRepository repository, LinkedList requestsPending, IProgressMonitor masterMonitor, MultiStatus overallStatus) {
-		this.repository = repository;
-		this.requestsPending = requestsPending;
-		this.masterMonitor = masterMonitor;
-		this.overallStatus = overallStatus;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		return family == FAMILY;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor jobMonitor) {
-		jobMonitor.beginTask("Downloading software", IProgressMonitor.UNKNOWN);
-		do {
-			// get the request we are going to process
-			IArtifactRequest request;
-			synchronized (requestsPending) {
-				if (requestsPending.isEmpty())
-					break;
-				request = (IArtifactRequest) requestsPending.removeFirst();
-			}
-			if (masterMonitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			// process the actual request
-			SubProgressMonitor subMonitor = new SubProgressMonitor(masterMonitor, 1);
-			subMonitor.beginTask("", 1); //$NON-NLS-1$
-			try {
-				IStatus status = repository.getArtifact((ArtifactRequest) request, subMonitor);
-				if (!status.isOK()) {
-					synchronized (overallStatus) {
-						overallStatus.add(status);
-					}
-				}
-			} finally {
-				subMonitor.done();
-			}
-		} while (true);
-
-		jobMonitor.done();
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
deleted file mode 100644
index de962a7..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/Mapper.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *		compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.URIUtil;
-import org.osgi.framework.*;
-
-public class Mapper {
-	private Filter[] filters;
-	private String[] outputStrings;
-
-	private static final String REPOURL = "repoUrl"; //$NON-NLS-1$
-	private static final String CLASSIFIER = "classifier"; //$NON-NLS-1$
-	private static final String FORMAT = "format"; //$NON-NLS-1$
-	private static final String ID = "id"; //$NON-NLS-1$
-	private static final String VERSION = "version"; //$NON-NLS-1$
-
-	public Mapper() {
-		filters = new Filter[0];
-		outputStrings = new String[0];
-	}
-
-	/**
-	 * mapping rule: LDAP filter --> output value
-	 * the more specific filters should be given first.
-	 */
-	public void initialize(BundleContext ctx, String[][] mappingRules) {
-		filters = new Filter[mappingRules.length];
-		outputStrings = new String[mappingRules.length];
-		for (int i = 0; i < mappingRules.length; i++) {
-			try {
-				filters[i] = ctx.createFilter(mappingRules[i][0]);
-				outputStrings[i] = mappingRules[i][1];
-			} catch (InvalidSyntaxException e) {
-				//TODO Neeed to process this
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public URI map(URI repositoryLocation, String classifier, String id, String version, String format) {
-		String locationString = URIUtil.toUnencodedString(repositoryLocation);
-		Dictionary values = new Hashtable(5);
-		if (repositoryLocation != null)
-			values.put(REPOURL, locationString);
-
-		if (classifier != null)
-			values.put(CLASSIFIER, classifier);
-
-		if (id != null)
-			values.put(ID, id);
-
-		if (version != null)
-			values.put(VERSION, version);
-
-		if (format != null)
-			values.put(FORMAT, format);
-
-		for (int i = 0; i < filters.length; i++) {
-			if (filters[i].match(values))
-				return doReplacement(outputStrings[i], locationString, classifier, id, version, format);
-		}
-		return null;
-	}
-
-	private URI doReplacement(String pattern, String repoLocation, String classifier, String id, String version, String format) {
-		try {
-			// currently our mapping rules assume the repo URL is not "/" terminated. 
-			// This may be the case for repoURLs in the root of a URL space e.g. root of a jar file or file:/c:/
-			if (repoLocation.endsWith("/")) //$NON-NLS-1$
-				repoLocation = repoLocation.substring(0, repoLocation.length() - 1);
-
-			StringBuffer output = new StringBuffer(pattern);
-			int index = 0;
-			while (index < output.length()) {
-				int beginning = output.indexOf("${", index); //$NON-NLS-1$
-				if (beginning == -1)
-					return URIUtil.fromString(output.toString());
-
-				int end = output.indexOf("}", beginning); //$NON-NLS-1$
-				if (end == -1)
-					return URIUtil.fromString(pattern);
-
-				String varName = output.substring(beginning + 2, end);
-				String varValue = null;
-				if (varName.equalsIgnoreCase(CLASSIFIER)) {
-					varValue = classifier;
-				} else if (varName.equalsIgnoreCase(ID)) {
-					varValue = id;
-				} else if (varName.equalsIgnoreCase(VERSION)) {
-					varValue = version;
-				} else if (varName.equalsIgnoreCase(REPOURL)) {
-					varValue = repoLocation;
-				} else if (varName.equalsIgnoreCase(FORMAT)) {
-					varValue = format;
-				}
-				if (varValue == null)
-					varValue = ""; //$NON-NLS-1$
-
-				output.replace(beginning, end + 1, varValue);
-				index = beginning + varValue.length();
-			}
-			return URIUtil.fromString(output.toString());
-		} catch (URISyntaxException e) {
-			return null;
-		}
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < filters.length; i++) {
-			result.append(filters[i]).append('-').append('>').append(outputStrings[i]).append('\n');
-		}
-		return result.toString();
-	}
-
-	public String[][] serialize() {
-		String[][] result = new String[filters.length][2];
-		for (int i = 0; i < filters.length; i++) {
-			result[i][0] = filters[i].toString();
-			result[i][1] = outputStrings[i];
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactDescriptor.java
deleted file mode 100644
index 23b3e6b..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactDescriptor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public class SimpleArtifactDescriptor extends ArtifactDescriptor {
-	public static final String ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
-
-	protected Map repositoryProperties = new OrderedProperties();
-
-	public SimpleArtifactDescriptor(IArtifactKey key) {
-		super(key);
-	}
-
-	public SimpleArtifactDescriptor(IArtifactDescriptor base) {
-		super(base);
-	}
-
-	public SimpleArtifactDescriptor(SimpleArtifactDescriptor base) {
-		super(base);
-	}
-
-	public String getRepositoryProperty(String propertyKey) {
-		return (String) repositoryProperties.get(propertyKey);
-	}
-
-	public void setRepositoryProperty(String key, String value) {
-		if (value == null)
-			repositoryProperties.remove(key);
-		else
-			repositoryProperties.put(key, value);
-	}
-
-	public void addRepositoryProperties(Map additionalProperties) {
-		repositoryProperties.putAll(additionalProperties);
-	}
-
-	/**
-	 * Returns a read-only collection of the repository properties of the artifact descriptor.
-	 * @return the repository properties of this artifact descriptor.
-	 */
-	public Map getRepositoryProperties() {
-		return OrderedProperties.unmodifiableProperties(repositoryProperties);
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null || !(obj instanceof SimpleArtifactDescriptor))
-			return false;
-
-		SimpleArtifactDescriptor other = (SimpleArtifactDescriptor) obj;
-
-		//Properties affecting SimpleArtifactRepository#getLocation
-		String locationProperty = getRepositoryProperty(ARTIFACT_REFERENCE);
-		String otherProperty = other.getRepositoryProperty(ARTIFACT_REFERENCE);
-		// want not null and the same, or both null
-		if (locationProperty != null ? !locationProperty.equals(otherProperty) : otherProperty != null)
-			return false;
-
-		return super.equals(obj);
-	}
-
-	public int hashCode() {
-		int superHash = super.hashCode();
-		String ref = getRepositoryProperty(ARTIFACT_REFERENCE);
-		if (ref != null)
-			return 31 * superHash + ref.hashCode();
-		return superHash;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
deleted file mode 100644
index cc9758a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
+++ /dev/null
@@ -1,996 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- * 	Genuitec, LLC - support for multi-threaded downloads
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5Verifier;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.internal.p2.repository.Transport;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.MappedCollectionIterator;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleArtifactRepository extends AbstractArtifactRepository implements IArtifactRepository, IFileArtifactRepository {
-	/** 
-	 * A boolean property controlling whether mirroring is enabled.
-	 */
-	public static final boolean MIRRORS_ENABLED = !"false".equals(Activator.getContext().getProperty("eclipse.p2.mirrors")); //$NON-NLS-1$//$NON-NLS-2$
-
-	public static final boolean MD5_CHECK_ENABLED = !"false".equals(Activator.getContext().getProperty("eclipse.p2.MD5Check")); //$NON-NLS-1$//$NON-NLS-2$
-
-	/** 
-	 * The key for a integer property controls the maximum number
-	 * of threads that should be used when optimizing downloads from a remote
-	 * artifact repository.
-	 */
-	public static final String PROP_MAX_THREADS = "eclipse.p2.max.threads"; //$NON-NLS-1$
-
-	/**
-	 * Allows override of whether threading should be used.
-	 */
-	public static final String PROP_FORCE_THREADING = "eclipse.p2.force.threading"; //$NON-NLS-1$
-
-	public class ArtifactOutputStream extends OutputStream implements IStateful {
-		private boolean closed;
-		private long count = 0;
-		private IArtifactDescriptor descriptor;
-		private OutputStream destination;
-		private File file;
-		private IStatus status = Status.OK_STATUS;
-		private OutputStream firstLink;
-
-		public ArtifactOutputStream(OutputStream os, IArtifactDescriptor descriptor) {
-			this(os, descriptor, null);
-		}
-
-		public ArtifactOutputStream(OutputStream os, IArtifactDescriptor descriptor, File file) {
-			this.destination = os;
-			this.descriptor = descriptor;
-			this.file = file;
-		}
-
-		public void close() throws IOException {
-			if (closed)
-				return;
-			closed = true;
-
-			try {
-				destination.close();
-			} catch (IOException e) {
-				// cleanup if possible
-				if (file != null)
-					delete(file);
-				if (getStatus().isOK())
-					throw e;
-				// if the stream has already been e.g. canceled, we can return - the status is already set correctly 
-				return;
-			}
-			// if the steps ran ok and there was actual content, write the artifact descriptor
-			// TODO the count check is a bit bogus but helps in some error cases (e.g., the optimizer)
-			// where errors occurred in a processing step earlier in the chain.  We likely need a better
-			// or more explicit way of handling this case.
-			OutputStream testStream = firstLink == null ? this : firstLink;
-			if (ProcessingStepHandler.checkStatus(testStream).isOK() && count > 0) {
-				((ArtifactDescriptor) descriptor).setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(count));
-				addDescriptor(descriptor);
-			} else if (file != null)
-				// cleanup if possible
-				delete(file);
-		}
-
-		public IStatus getStatus() {
-			return status;
-		}
-
-		public OutputStream getDestination() {
-			return destination;
-		}
-
-		public void setStatus(IStatus status) {
-			this.status = status == null ? Status.OK_STATUS : status;
-		}
-
-		public void write(byte[] b) throws IOException {
-			destination.write(b);
-			count += b.length;
-		}
-
-		public void write(byte[] b, int off, int len) throws IOException {
-			destination.write(b, off, len);
-			count += len;
-		}
-
-		public void write(int b) throws IOException {
-			destination.write(b);
-			count++;
-		}
-
-		public void setFirstLink(OutputStream value) {
-			firstLink = value;
-		}
-	}
-
-	// TODO: optimize
-	// we could stream right into the folder
-	public static class ZippedFolderOutputStream extends OutputStream {
-
-		private final File folder;
-		private final FileOutputStream fos;
-		private final File zipFile;
-
-		public ZippedFolderOutputStream(File folder) throws IOException {
-			this.folder = folder;
-			zipFile = File.createTempFile(folder.getName(), JAR_EXTENSION, null);
-			fos = new FileOutputStream(zipFile);
-		}
-
-		public void close() throws IOException {
-			fos.close();
-			try {
-				FileUtils.unzipFile(zipFile, folder);
-			} finally {
-				zipFile.delete();
-			}
-		}
-
-		public void flush() throws IOException {
-			fos.flush();
-		}
-
-		public String toString() {
-			return fos.toString();
-		}
-
-		public void write(byte[] b) throws IOException {
-			fos.write(b);
-		}
-
-		public void write(byte[] b, int off, int len) throws IOException {
-			fos.write(b, off, len);
-		}
-
-		public void write(int b) throws IOException {
-			fos.write(b);
-		}
-	}
-
-	private static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
-	private static final String ARTIFACT_UUID = "artifact.uuid"; //$NON-NLS-1$
-	static final private String BLOBSTORE = ".blobstore/"; //$NON-NLS-1$
-	static final private String CONTENT_FILENAME = "artifacts"; //$NON-NLS-1$
-	static final private String[][] PACKED_MAPPING_RULES = { {"(& (classifier=osgi.bundle) (format=packed))", "${repoUrl}/plugins/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$ //$NON-NLS-2$
-			{"(& (classifier=org.eclipse.update.feature) (format=packed))", "${repoUrl}/features/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
-
-	static final private String[][] DEFAULT_MAPPING_RULES = { {"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$ //$NON-NLS-2$
-			{"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	static final private String REPOSITORY_TYPE = IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY;
-
-	static final private Integer REPOSITORY_VERSION = new Integer(1);
-	private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	protected Set artifactDescriptors = new HashSet();
-	/**
-	 * Map<IArtifactKey,List<IArtifactDescriptor>> containing the index of artifacts in the repository.
-	 */
-	protected Map artifactMap = new HashMap();
-	private transient BlobStore blobStore;
-	transient private Mapper mapper = new Mapper();
-
-	static final private String PACKED_FORMAT = "packed"; //$NON-NLS-1$
-	static final private String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
-	private static final int DEFAULT_MAX_THREADS = 4;
-
-	protected String[][] mappingRules = DEFAULT_MAPPING_RULES;
-
-	private MirrorSelector mirrors;
-
-	static void delete(File toDelete) {
-		if (toDelete.isDirectory()) {
-			File[] children = toDelete.listFiles();
-			if (children != null) {
-				for (int i = 0; i < children.length; i++) {
-					delete(children[i]);
-				}
-			}
-		}
-		toDelete.delete();
-	}
-
-	public static URI getActualLocation(URI base, boolean compress) throws IOException {
-		return getActualLocation(base, compress ? JAR_EXTENSION : XML_EXTENSION);
-	}
-
-	private static URI getActualLocation(URI base, String extension) throws IOException {
-		final String name = CONTENT_FILENAME + extension;
-		String spec = base.toString();
-		if (spec.endsWith(name))
-			return base;
-		if (spec.endsWith("/")) //$NON-NLS-1$
-			spec += name;
-		else
-			spec += "/" + name; //$NON-NLS-1$
-		try {
-			return new URI(spec);
-		} catch (URISyntaxException e) {
-			throw new IOException(NLS.bind(Messages.io_invalidLocation, spec));
-		}
-	}
-
-	public static URI getBlobStoreLocation(URI base) {
-		return URIUtil.append(base, BLOBSTORE);
-	}
-
-	/*
-	 * This is only called by the parser when loading a repository.
-	 */
-	SimpleArtifactRepository(String name, String type, String version, String description, String provider, Set artifacts, String[][] mappingRules, Map properties) {
-		super(name, type, version, null, description, provider, properties);
-		this.artifactDescriptors.addAll(artifacts);
-		this.mappingRules = mappingRules;
-		for (Iterator it = artifactDescriptors.iterator(); it.hasNext();)
-			mapDescriptor((IArtifactDescriptor) it.next());
-	}
-
-	private void mapDescriptor(IArtifactDescriptor descriptor) {
-		IArtifactKey key = descriptor.getArtifactKey();
-		Collection descriptors = (Collection) artifactMap.get(key);
-		if (descriptors == null) {
-			descriptors = new ArrayList();
-			artifactMap.put(key, descriptors);
-		}
-		descriptors.add(descriptor);
-	}
-
-	private void unmapDescriptor(IArtifactDescriptor descriptor) {
-		IArtifactKey key = descriptor.getArtifactKey();
-		Collection descriptors = (Collection) artifactMap.get(key);
-		if (descriptors == null)
-			return;
-
-		descriptors.remove(descriptor);
-		if (descriptors.isEmpty())
-			artifactMap.remove(key);
-	}
-
-	public SimpleArtifactRepository(String repositoryName, URI location, Map properties) {
-		super(repositoryName, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties);
-		initializeAfterLoad(location);
-		if (properties != null) {
-			if (properties.containsKey(PUBLISH_PACK_FILES_AS_SIBLINGS)) {
-				synchronized (this) {
-					String newValue = (String) properties.get(PUBLISH_PACK_FILES_AS_SIBLINGS);
-					if (Boolean.TRUE.toString().equals(newValue)) {
-						mappingRules = PACKED_MAPPING_RULES;
-					} else {
-						mappingRules = DEFAULT_MAPPING_RULES;
-					}
-					initializeMapper();
-				}
-			}
-		}
-		save();
-	}
-
-	public synchronized void addDescriptor(IArtifactDescriptor toAdd) {
-		if (artifactDescriptors.contains(toAdd))
-			return;
-
-		SimpleArtifactDescriptor internalDescriptor = createInternalDescriptor(toAdd);
-		artifactDescriptors.add(internalDescriptor);
-		mapDescriptor(internalDescriptor);
-		save();
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return new SimpleArtifactDescriptor(key);
-	}
-
-	private SimpleArtifactDescriptor createInternalDescriptor(IArtifactDescriptor descriptor) {
-		SimpleArtifactDescriptor internal = new SimpleArtifactDescriptor(descriptor);
-
-		internal.setRepository(this);
-		if (isFolderBased(descriptor))
-			internal.setRepositoryProperty(ARTIFACT_FOLDER, Boolean.TRUE.toString());
-		if (descriptor instanceof SimpleArtifactDescriptor) {
-			Map repoProperties = ((SimpleArtifactDescriptor) descriptor).getRepositoryProperties();
-			for (Iterator iterator = repoProperties.keySet().iterator(); iterator.hasNext();) {
-				String key = (String) iterator.next();
-				internal.setRepositoryProperty(key, (String) repoProperties.get(key));
-			}
-		}
-		return internal;
-	}
-
-	public synchronized void addDescriptors(IArtifactDescriptor[] descriptors) {
-		for (int i = 0; i < descriptors.length; i++) {
-			if (artifactDescriptors.contains(descriptors[i]))
-				continue;
-			ArtifactDescriptor internalDescriptor = createInternalDescriptor(descriptors[i]);
-			artifactDescriptors.add(internalDescriptor);
-			mapDescriptor(internalDescriptor);
-		}
-		save();
-	}
-
-	private synchronized OutputStream addPostSteps(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ArrayList steps = new ArrayList();
-		steps.add(new SignatureVerifier());
-		if (steps.isEmpty())
-			return destination;
-		ProcessingStep[] stepArray = (ProcessingStep[]) steps.toArray(new ProcessingStep[steps.size()]);
-		// TODO should probably be using createAndLink here
-		return handler.link(stepArray, destination, monitor);
-	}
-
-	private OutputStream addPreSteps(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ArrayList steps = new ArrayList();
-		if (IArtifactDescriptor.TYPE_ZIP.equals(descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE)))
-			steps.add(new ZipVerifierStep());
-		if (MD5_CHECK_ENABLED && descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5) != null)
-			steps.add(new MD5Verifier(descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_MD5)));
-		// Add steps here if needed
-		if (steps.isEmpty())
-			return destination;
-		ProcessingStep[] stepArray = (ProcessingStep[]) steps.toArray(new ProcessingStep[steps.size()]);
-		// TODO should probably be using createAndLink here
-		return handler.link(stepArray, destination, monitor);
-	}
-
-	private byte[] bytesFromHexString(String string) {
-		byte[] bytes = new byte[UniversalUniqueIdentifier.BYTES_SIZE];
-		for (int i = 0; i < string.length(); i += 2) {
-			String byteString = string.substring(i, i + 2);
-			bytes[i / 2] = (byte) Integer.parseInt(byteString, 16);
-		}
-		return bytes;
-	}
-
-	private String bytesToHexString(byte[] bytes) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < bytes.length; i++) {
-			String hexString;
-			if (bytes[i] < 0)
-				hexString = Integer.toHexString(256 + bytes[i]);
-			else
-				hexString = Integer.toHexString(bytes[i]);
-			if (hexString.length() == 1)
-				buffer.append("0"); //$NON-NLS-1$
-			buffer.append(hexString);
-		}
-		return buffer.toString();
-	}
-
-	public synchronized boolean contains(IArtifactDescriptor descriptor) {
-		return artifactDescriptors.contains(descriptor);
-	}
-
-	public synchronized boolean contains(IArtifactKey key) {
-		return artifactMap.containsKey(key);
-	}
-
-	public synchronized URI createLocation(ArtifactDescriptor descriptor) {
-		if (flatButPackedEnabled(descriptor)) {
-			return getLocationForPackedButFlatArtifacts(descriptor);
-		}
-		// if the descriptor is canonical, clear out any UUID that might be set and use the Mapper
-		if (descriptor.getProcessingSteps().length == 0) {
-			descriptor.setProperty(ARTIFACT_UUID, null);
-			IArtifactKey key = descriptor.getArtifactKey();
-			URI result = mapper.map(location, key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
-			if (result != null) {
-				if (isFolderBased(descriptor) && URIUtil.lastSegment(result).endsWith(JAR_EXTENSION)) {
-					return URIUtil.removeFileExtension(result);
-				}
-				return result;
-			}
-		}
-
-		// Otherwise generate a location by creating a UUID, remembering it in the properties 
-		// and computing the location
-		byte[] bytes = new UniversalUniqueIdentifier().toBytes();
-		descriptor.setProperty(ARTIFACT_UUID, bytesToHexString(bytes));
-		return blobStore.fileFor(bytes);
-	}
-
-	/**
-	 * Removes the given descriptor, and the physical artifact corresponding
-	 * to that descriptor. Returns <code>true</code> if and only if the
-	 * descriptor existed in the repository, and was successfully removed.
-	 */
-	private boolean doRemoveArtifact(IArtifactDescriptor descriptor) {
-		SimpleArtifactDescriptor simple = null;
-		if (descriptor instanceof SimpleArtifactDescriptor)
-			simple = (SimpleArtifactDescriptor) descriptor;
-		else
-			simple = createInternalDescriptor(descriptor);
-		if (simple.getRepositoryProperty(SimpleArtifactDescriptor.ARTIFACT_REFERENCE) == null) {
-			File file = getArtifactFile(descriptor);
-			if (file == null)
-				return false;
-			delete(file);
-			if (file.exists())
-				return false;
-		}
-		boolean result = artifactDescriptors.remove(descriptor);
-		if (result)
-			unmapDescriptor(descriptor);
-
-		return result;
-	}
-
-	protected IStatus downloadArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		if (isFolderBased(descriptor)) {
-			File artifactFolder = getArtifactFile(descriptor);
-			if (artifactFolder == null) {
-				if (getLocation(descriptor) != null && !URIUtil.isFileURI(getLocation(descriptor)))
-					return reportStatus(descriptor, destination, new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.folder_artifact_not_file_repo, descriptor.getArtifactKey())));
-				return reportStatus(descriptor, destination, new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.artifact_not_found, descriptor.getArtifactKey())));
-			}
-			// TODO: optimize and ensure manifest is written first
-			File zipFile = null;
-			try {
-				zipFile = File.createTempFile(artifactFolder.getName(), JAR_EXTENSION, null);
-				FileUtils.zip(artifactFolder.listFiles(), null, zipFile, FileUtils.createRootPathComputer(artifactFolder));
-				FileInputStream fis = new FileInputStream(zipFile);
-				FileUtils.copyStream(fis, true, destination, false);
-			} catch (IOException e) {
-				return reportStatus(descriptor, destination, new Status(IStatus.ERROR, Activator.ID, e.getMessage()));
-			} finally {
-				if (zipFile != null)
-					zipFile.delete();
-			}
-			return reportStatus(descriptor, destination, Status.OK_STATUS);
-		}
-
-		//download from the best available mirror
-		URI baseLocation = getLocation(descriptor);
-		if (baseLocation == null)
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.no_location, descriptor));
-		URI mirrorLocation = getMirror(baseLocation, monitor);
-		IStatus status = downloadArtifact(descriptor, mirrorLocation, destination, monitor);
-		IStatus result = reportStatus(descriptor, destination, status);
-		// if the original download went reasonably but the reportStatus found some issues
-		// (e..g, in the processing steps/validators) then mark the mirror as bad and return
-		// a retry code (assuming we have more mirrors)
-		if ((status.isOK() || status.matches(IStatus.INFO | IStatus.WARNING)) && result.getSeverity() == IStatus.ERROR) {
-			if (mirrors != null) {
-				mirrors.reportResult(mirrorLocation.toString(), result);
-				if (mirrors.hasValidMirror())
-					return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {result}, "Retry another mirror", null); //$NON-NLS-1$
-			}
-		}
-		// if the original status was a retry, don't lose that.
-		return status.getCode() == CODE_RETRY ? status : result;
-	}
-
-	private IStatus downloadArtifact(IArtifactDescriptor descriptor, URI mirrorLocation, OutputStream destination, IProgressMonitor monitor) {
-		IStatus result = getTransport().download(mirrorLocation, destination, monitor);
-		if (mirrors != null)
-			mirrors.reportResult(mirrorLocation.toString(), result);
-		if (result.isOK() || result.getSeverity() == IStatus.CANCEL)
-			return result;
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		// If there are more valid mirrors then return an error with a special code that tells the caller
-		// to keep trying.  Note that the message in the status is largely irrelevant but the child
-		// status tells the story of why we failed on this try.
-		// TODO find a better way of doing this.
-		if (mirrors != null && mirrors.hasValidMirror())
-			return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {result}, "Retry another mirror", null); //$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * Returns an equivalent mirror location for the given artifact location.
-	 * @param baseLocation The location of the artifact in this repository
-	 * @return the Location of the artifact in this repository, or an equivalent mirror
-	 */
-	private synchronized URI getMirror(URI baseLocation, IProgressMonitor monitor) {
-		if (!MIRRORS_ENABLED || (!isForceThreading() && isLocal()))
-			return baseLocation;
-		if (mirrors == null)
-			mirrors = new MirrorSelector(this);
-		return mirrors.getMirrorLocation(baseLocation, monitor);
-	}
-
-	public Object getAdapter(Class adapter) {
-		// if we are adapting to file or writable repositories then make sure we have a file location
-		if (adapter == IFileArtifactRepository.class)
-			if (!isLocal())
-				return null;
-		return super.getAdapter(adapter);
-	}
-
-	IStatus getArtifact(ArtifactRequest request, IProgressMonitor monitor) {
-		request.setSourceRepository(this);
-		request.perform(monitor);
-		return request.getResult();
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ProcessingStepHandler handler = new ProcessingStepHandler();
-		destination = processDestination(handler, descriptor, destination, monitor);
-		IStatus status = ProcessingStepHandler.checkStatus(destination);
-		if (!status.isOK() && status.getSeverity() != IStatus.INFO)
-			return status;
-
-		return downloadArtifact(descriptor, destination, monitor);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return downloadArtifact(descriptor, destination, monitor);
-	}
-
-	public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		Collection result = (Collection) artifactMap.get(key);
-		if (result == null)
-			return new IArtifactDescriptor[0];
-
-		return (IArtifactDescriptor[]) result.toArray(new IArtifactDescriptor[result.size()]);
-	}
-
-	public File getArtifactFile(IArtifactDescriptor descriptor) {
-		URI result = getLocation(descriptor);
-		if (result == null || !URIUtil.isFileURI(result))
-			return null;
-		return URIUtil.toFile(result);
-	}
-
-	public File getArtifactFile(IArtifactKey key) {
-		IArtifactDescriptor descriptor = getCompleteArtifactDescriptor(key);
-		if (descriptor == null)
-			return null;
-		return getArtifactFile(descriptor);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		final MultiStatus overallStatus = new MultiStatus(Activator.ID, IStatus.OK, null, null);
-		LinkedList requestsPending = new LinkedList(Arrays.asList(requests));
-
-		int numberOfJobs = Math.min(requests.length, getMaximumThreads());
-		if (numberOfJobs <= 1 || (!isForceThreading() && isLocal())) {
-			SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
-			try {
-				for (int i = 0; i < requests.length; i++) {
-					if (monitor.isCanceled())
-						return Status.CANCEL_STATUS;
-					IStatus result = getArtifact((ArtifactRequest) requests[i], subMonitor.newChild(1));
-					if (!result.isOK())
-						overallStatus.add(result);
-				}
-			} finally {
-				subMonitor.done();
-			}
-		} else {
-			// initialize the various jobs needed to process the get artifact requests
-			monitor.beginTask(NLS.bind(Messages.sar_downloading, Integer.toString(requests.length)), requests.length);
-			try {
-				DownloadJob jobs[] = new DownloadJob[numberOfJobs];
-				for (int i = 0; i < numberOfJobs; i++) {
-					jobs[i] = new DownloadJob(Messages.sar_downloadJobName + i);
-					jobs[i].initialize(this, requestsPending, monitor, overallStatus);
-					jobs[i].schedule();
-				}
-				// wait for all the jobs to complete
-				try {
-					Job.getJobManager().join(DownloadJob.FAMILY, null);
-				} catch (InterruptedException e) {
-					//ignore
-				}
-			} finally {
-				monitor.done();
-			}
-		}
-		return (monitor.isCanceled() ? Status.CANCEL_STATUS : overallStatus);
-	}
-
-	public synchronized IArtifactDescriptor getCompleteArtifactDescriptor(IArtifactKey key) {
-		Collection descriptors = (Collection) artifactMap.get(key);
-		if (descriptors == null)
-			return null;
-
-		for (Iterator iterator = descriptors.iterator(); iterator.hasNext();) {
-			IArtifactDescriptor desc = (IArtifactDescriptor) iterator.next();
-			// look for a descriptor that matches the key and is "complete"
-			if (desc.getArtifactKey().equals(key) && desc.getProcessingSteps().length == 0)
-				return desc;
-		}
-		return null;
-	}
-
-	public synchronized Set getDescriptors() {
-		return artifactDescriptors;
-	}
-
-	/**
-	 * Typically non-canonical forms of the artifact are stored in the blob store.
-	 * However, we support having the pack200 files alongside the canonical artifact
-	 * for compatibility with the format used in optimized update sites.  We call
-	 * this arrangement "flat but packed".
-	 */
-	private boolean flatButPackedEnabled(IArtifactDescriptor descriptor) {
-		return Boolean.TRUE.toString().equals(getProperties().get(PUBLISH_PACK_FILES_AS_SIBLINGS)) && PACKED_FORMAT.equals(descriptor.getProperty(IArtifactDescriptor.FORMAT));
-	}
-
-	/**
-	 * @see #flatButPackedEnabled(IArtifactDescriptor)
-	 */
-	private URI getLocationForPackedButFlatArtifacts(IArtifactDescriptor descriptor) {
-		IArtifactKey key = descriptor.getArtifactKey();
-		return mapper.map(location, key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
-	}
-
-	public synchronized URI getLocation(IArtifactDescriptor descriptor) {
-		// if the artifact has a uuid then use it
-		String uuid = descriptor.getProperty(ARTIFACT_UUID);
-		if (uuid != null)
-			return blobStore.fileFor(bytesFromHexString(uuid));
-
-		if (flatButPackedEnabled(descriptor)) {
-			return getLocationForPackedButFlatArtifacts(descriptor);
-		}
-
-		try {
-			// if the artifact is just a reference then return the reference location
-			if (descriptor instanceof SimpleArtifactDescriptor) {
-				String artifactReference = ((SimpleArtifactDescriptor) descriptor).getRepositoryProperty(SimpleArtifactDescriptor.ARTIFACT_REFERENCE);
-				if (artifactReference != null) {
-					try {
-						return new URI(artifactReference);
-					} catch (URISyntaxException e) {
-						return URIUtil.fromString(artifactReference);
-					}
-				}
-			}
-
-			// if the descriptor is complete then use the mapping rules...
-			if (descriptor.getProcessingSteps().length == 0) {
-				IArtifactKey key = descriptor.getArtifactKey();
-				URI result = mapper.map(location, key.getClassifier(), key.getId(), key.getVersion().toString(), descriptor.getProperty(IArtifactDescriptor.FORMAT));
-				if (result != null) {
-					if (isFolderBased(descriptor) && URIUtil.lastSegment(result).endsWith(JAR_EXTENSION))
-						return URIUtil.removeFileExtension(result);
-
-					return result;
-				}
-			}
-		} catch (URISyntaxException e) {
-			return null;
-		}
-		// in the end there is not enough information so return null 
-		return null;
-	}
-
-	/**
-	 * Returns the maximum number of concurrent download threads.
-	 */
-	private int getMaximumThreads() {
-		try {
-			String maxThreadString = (String) getProperties().get(PROP_MAX_THREADS);
-			if (maxThreadString != null)
-				return Math.max(1, Integer.parseInt(maxThreadString));
-		} catch (NumberFormatException nfe) {
-			// return default number of threads
-		}
-		return DEFAULT_MAX_THREADS;
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-		assertModifiable();
-
-		// Create a copy of the original descriptor that we can manipulate and add to our repo.
-		ArtifactDescriptor newDescriptor = createInternalDescriptor(descriptor);
-
-		// Check if the artifact is already in this repository, check the newDescriptor instead of the original
-		// since the implementation of hash/equals on the descriptor matters here.
-		if (contains(newDescriptor)) {
-			String msg = NLS.bind(Messages.available_already_in, getLocation().toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.ARTIFACT_EXISTS, msg, null));
-		}
-
-		// Determine writing location
-		URI newLocation = createLocation(newDescriptor);
-		if (newLocation == null)
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, "No location for " + newDescriptor));
-		String file = URIUtil.toFile(newLocation).getAbsolutePath();
-
-		// TODO at this point we have to assume that the repository is file-based.  Eventually 
-		// we should end up with writeable URLs...
-		// Make sure that the file does not exist and that the parents do
-		File outputFile = new File(file);
-		if (outputFile.exists()) {
-			System.err.println("Artifact repository out of sync. Overwriting " + outputFile.getAbsoluteFile()); //$NON-NLS-1$
-			delete(outputFile);
-		}
-
-		OutputStream target = null;
-		try {
-			if (isFolderBased(newDescriptor)) {
-				mkdirs(outputFile);
-				if (!outputFile.isDirectory())
-					throw failedWrite(new IOException(NLS.bind(Messages.sar_failedMkdir, outputFile.toString())));
-				target = new ZippedFolderOutputStream(outputFile);
-			} else {
-				// file based
-				File parent = outputFile.getParentFile();
-				parent.mkdirs();
-				if (!parent.isDirectory())
-					throw failedWrite(new IOException(NLS.bind(Messages.sar_failedMkdir, parent.toString())));
-				target = new FileOutputStream(file);
-			}
-
-			// finally create and return an output stream suitably wrapped so that when it is 
-			// closed the repository is updated with the descriptor
-			return new ArtifactOutputStream(new BufferedOutputStream(target), newDescriptor, outputFile);
-		} catch (IOException e) {
-			throw failedWrite(e);
-		}
-
-	}
-
-	/**
-	 * We implement mkdirs ourselves because this code is known to run in
-	 * highly concurrent scenarios, and there is a race condition in the JRE implementation
-	 * of mkdirs (see bug 265654).
-	 */
-	private void mkdirs(File dir) {
-		if (dir == null || dir.exists())
-			return;
-		if (dir.mkdir())
-			return;
-		mkdirs(dir.getParentFile());
-		dir.mkdir();
-	}
-
-	private ProvisionException failedWrite(Exception e) throws ProvisionException {
-		String msg = NLS.bind(Messages.repoFailedWrite, getLocation());
-		throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, msg, e));
-	}
-
-	public synchronized String[][] getRules() {
-		return mappingRules;
-	}
-
-	private Transport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-
-	// use this method to setup any transient fields etc after the object has been restored from a stream
-	public synchronized void initializeAfterLoad(URI repoLocation) {
-		this.location = repoLocation;
-		blobStore = new BlobStore(getBlobStoreLocation(repoLocation), 128);
-		initializeMapper();
-		for (Iterator i = artifactDescriptors.iterator(); i.hasNext();) {
-			((ArtifactDescriptor) i.next()).setRepository(this);
-		}
-	}
-
-	private synchronized void initializeMapper() {
-		mapper = new Mapper();
-		mapper.initialize(Activator.getContext(), mappingRules);
-	}
-
-	private boolean isFolderBased(IArtifactDescriptor descriptor) {
-		// This is called from createInternalDescriptor, so if we aren't a
-		// SimpleArtifactDescriptor then just check the descriptor properties instead 
-		// of creating the interla descriptor.
-		SimpleArtifactDescriptor internalDescriptor = null;
-		if (descriptor instanceof SimpleArtifactDescriptor)
-			internalDescriptor = (SimpleArtifactDescriptor) descriptor;
-		if (internalDescriptor != null) {
-			String useArtifactFolder = internalDescriptor.getRepositoryProperty(ARTIFACT_FOLDER);
-			if (useArtifactFolder != null)
-				return Boolean.valueOf(useArtifactFolder).booleanValue();
-		}
-		return Boolean.valueOf(descriptor.getProperty(ARTIFACT_FOLDER)).booleanValue();
-	}
-
-	private boolean isForceThreading() {
-		return "true".equals(getProperties().get(PROP_FORCE_THREADING)); //$NON-NLS-1$
-	}
-
-	private boolean isLocal() {
-		return "file".equalsIgnoreCase(location.getScheme()); //$NON-NLS-1$
-	}
-
-	public boolean isModifiable() {
-		return isLocal();
-	}
-
-	public OutputStream processDestination(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		destination = addPostSteps(handler, descriptor, destination, monitor);
-		destination = handler.createAndLink(descriptor.getProcessingSteps(), descriptor, destination, monitor);
-		destination = addPreSteps(handler, descriptor, destination, monitor);
-		return destination;
-	}
-
-	public synchronized void removeAll() {
-		IArtifactDescriptor[] toRemove = (IArtifactDescriptor[]) artifactDescriptors.toArray(new IArtifactDescriptor[artifactDescriptors.size()]);
-		boolean changed = false;
-		for (int i = 0; i < toRemove.length; i++)
-			changed |= doRemoveArtifact(toRemove[i]);
-		if (changed)
-			save();
-	}
-
-	public synchronized void removeDescriptor(IArtifactDescriptor descriptor) {
-		if (doRemoveArtifact(descriptor))
-			save();
-	}
-
-	public synchronized void removeDescriptor(IArtifactKey key) {
-		IArtifactDescriptor[] toRemove = getArtifactDescriptors(key);
-		boolean changed = false;
-		for (int i = 0; i < toRemove.length; i++)
-			changed |= doRemoveArtifact(toRemove[i]);
-		if (changed)
-			save();
-	}
-
-	private IStatus reportStatus(IArtifactDescriptor descriptor, OutputStream destination, IStatus status) {
-		// If the destination is just a normal stream then the status is simple.  Just return
-		// it and do not close the destination
-		if (!(destination instanceof ProcessingStep))
-			return status;
-
-		// If the destination is a processing step then close the stream to flush the data through all
-		// the steps.  then collect up the status from all the steps and return
-		try {
-			destination.close();
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.sar_reportStatus, descriptor.getArtifactKey().toExternalForm()), e);
-		}
-
-		// An error occurred obtaining the artifact, ProcessingStep errors aren't important
-		if (status.matches(IStatus.ERROR))
-			return status;
-
-		IStatus stepStatus = ProcessingStepHandler.getErrorStatus(destination);
-		// if the steps all ran ok and there is no interesting information, return the status from this method
-		if (!stepStatus.isMultiStatus() && stepStatus.isOK())
-			return status;
-		// else gather up the status from the steps
-		MultiStatus result = new MultiStatus(Activator.ID, IStatus.OK, new IStatus[0], NLS.bind(Messages.sar_reportStatus, descriptor.getArtifactKey().toExternalForm()), null);
-
-		if (!status.isOK()) {
-			// Transport pushes its status onto the output stream if the stream implements IStateful, to prevent
-			// duplication determine if the Status is present in the ProcessingStep status. 
-			boolean found = false;
-			IStatus[] stepStatusChildren = stepStatus.getChildren();
-			for (int i = 0; i < stepStatusChildren.length && !found; i++)
-				if (stepStatusChildren[i] == status)
-					found = true;
-			if (!found)
-				result.merge(status);
-		}
-
-		result.merge(stepStatus);
-		return result;
-	}
-
-	public void save() {
-		boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
-		save(compress);
-	}
-
-	public void save(boolean compress) {
-		assertModifiable();
-		OutputStream os = null;
-		try {
-			try {
-				URI actualLocation = getActualLocation(location, false);
-				File artifactsFile = URIUtil.toFile(actualLocation);
-				File jarFile = URIUtil.toFile(getActualLocation(location, true));
-				if (!compress) {
-					if (jarFile.exists()) {
-						jarFile.delete();
-					}
-					if (!artifactsFile.exists()) {
-						// create parent folders
-						mkdirs(artifactsFile.getParentFile());
-					}
-					os = new FileOutputStream(artifactsFile);
-				} else {
-					if (artifactsFile.exists()) {
-						artifactsFile.delete();
-					}
-					if (!jarFile.exists()) {
-						mkdirs(jarFile.getParentFile());
-						jarFile.createNewFile();
-					}
-					JarOutputStream jOs = new JarOutputStream(new FileOutputStream(jarFile));
-					jOs.putNextEntry(new JarEntry(new Path(artifactsFile.getAbsolutePath()).lastSegment()));
-					os = jOs;
-				}
-				super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
-				new SimpleArtifactRepositoryIO().write(this, os);
-			} catch (IOException e) {
-				// TODO proper exception handling
-				e.printStackTrace();
-			} finally {
-				if (os != null)
-					os.close();
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public String setProperty(String key, String newValue) {
-		String oldValue = super.setProperty(key, newValue);
-		if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
-			return oldValue;
-		if (PUBLISH_PACK_FILES_AS_SIBLINGS.equals(key)) {
-			synchronized (this) {
-				if (Boolean.TRUE.toString().equals(newValue)) {
-					mappingRules = PACKED_MAPPING_RULES;
-				} else {
-					mappingRules = DEFAULT_MAPPING_RULES;
-				}
-				initializeMapper();
-			}
-		}
-		save();
-		//force repository manager to reload this repository because it caches properties
-		ArtifactRepositoryManager manager = (ArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager.removeRepository(getLocation()))
-			manager.addRepository(this);
-		return oldValue;
-	}
-
-	public synchronized void setRules(String[][] rules) {
-		mappingRules = rules;
-	}
-
-	public String toString() {
-		return location.toString();
-	}
-
-	public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		if (monitor != null && monitor.isCanceled())
-			return collector;
-
-		boolean excludeKeys = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_KEYS));
-		boolean excludeDescriptors = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_DESCRIPTORS));
-		if (excludeKeys && excludeDescriptors)
-			return collector;
-
-		Iterator iterator = !excludeDescriptors ? new MappedCollectionIterator(artifactMap, !excludeKeys) : artifactMap.keySet().iterator();
-		return query.perform(iterator, collector);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
deleted file mode 100644
index ebc3c07..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.persistence.XMLParser;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-/**
- * This class reads and writes artifact repository metadata
- * (e.g. table of contents files);
- * 
- * This class is not used for reading or writing the actual artifacts.
- */
-
-// TODO: Should a registration/factory mechanism be supported
-//		 for getting a repository reader/writer given a repository type
-public class SimpleArtifactRepositoryIO {
-
-	/**
-	 * Writes the given artifact repository to the stream.
-	 * This method performs buffering, and closes the stream when finished.
-	 */
-	public void write(SimpleArtifactRepository repository, OutputStream output) {
-		OutputStream bufferedOutput = null;
-		try {
-			try {
-				bufferedOutput = new BufferedOutputStream(output);
-				Writer repositoryWriter = new Writer(bufferedOutput);
-				repositoryWriter.write(repository);
-			} finally {
-				if (bufferedOutput != null) {
-					bufferedOutput.close();
-				}
-			}
-		} catch (IOException ioe) {
-			// TODO shouldn't this throw a core exception?
-			ioe.printStackTrace();
-		}
-	}
-
-	/**
-	 * Reads the artifact repository from the given stream,
-	 * and returns the contained array of abstract artifact repositories.
-	 * 
-	 * This method performs buffering, and closes the stream when finished.
-	 */
-	public IArtifactRepository read(URL location, InputStream input, IProgressMonitor monitor) throws ProvisionException {
-		BufferedInputStream bufferedInput = null;
-		try {
-			try {
-				bufferedInput = new BufferedInputStream(input);
-				Parser repositoryParser = new Parser(Activator.getContext(), Activator.ID);
-				repositoryParser.parse(input);
-				IStatus result = repositoryParser.getStatus();
-				switch (result.getSeverity()) {
-					case IStatus.CANCEL :
-						throw new OperationCanceledException();
-					case IStatus.ERROR :
-						throw new ProvisionException(result);
-					case IStatus.WARNING :
-					case IStatus.INFO :
-						LogHelper.log(result);
-				}
-				SimpleArtifactRepository repository = repositoryParser.getRepository();
-				if (repository == null)
-					throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, Messages.io_parseError, null));
-				return repository;
-			} finally {
-				if (bufferedInput != null)
-					bufferedInput.close();
-			}
-		} catch (IOException ioe) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, ioe));
-		}
-	}
-
-	private interface XMLConstants extends org.eclipse.equinox.internal.p2.persistence.XMLConstants {
-
-		// Constants defining the structure of the XML for a SimpleArtifactRepository
-
-		// A format version number for simple artifact repository XML.
-		public static final Version COMPATIBLE_VERSION = Version.createOSGi(1, 0, 0);
-		public static final Version CURRENT_VERSION = Version.createOSGi(1, 1, 0);
-		public static final VersionRange XML_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, Version.createOSGi(2, 0, 0), false);
-
-		// Constants for processing instructions
-		public static final String PI_REPOSITORY_TARGET = "artifactRepository"; //$NON-NLS-1$
-		public static XMLWriter.ProcessingInstruction[] PI_DEFAULTS = new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeTargetVersionInstruction(PI_REPOSITORY_TARGET, CURRENT_VERSION)};
-
-		// Constants for artifact repository elements
-		public static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
-		public static final String REPOSITORY_PROPERTIES_ELEMENT = "repositoryProperties"; //$NON-NLS-1$
-		public static final String MAPPING_RULES_ELEMENT = "mappings"; //$NON-NLS-1$
-		public static final String MAPPING_RULE_ELEMENT = "rule"; //$NON-NLS-1$
-		public static final String ARTIFACTS_ELEMENT = "artifacts"; //$NON-NLS-1$
-		public static final String ARTIFACT_ELEMENT = "artifact"; //$NON-NLS-1$
-		public static final String PROCESSING_STEPS_ELEMENT = "processing"; //$NON-NLS-1$
-		public static final String PROCESSING_STEP_ELEMENT = "step"; //$NON-NLS-1$
-
-		public static final String MAPPING_RULE_FILTER_ATTRIBUTE = "filter"; //$NON-NLS-1$
-		public static final String MAPPING_RULE_OUTPUT_ATTRIBUTE = "output"; //$NON-NLS-1$
-
-		public static final String ARTIFACT_CLASSIFIER_ATTRIBUTE = CLASSIFIER_ATTRIBUTE;
-
-		public static final String STEP_DATA_ATTRIBUTE = "data"; //$NON-NLS-1$
-		public static final String STEP_REQUIRED_ATTRIBUTE = "required"; //$NON-NLS-1$
-	}
-
-	// XML writer for a SimpleArtifactRepository
-	protected class Writer extends XMLWriter implements XMLConstants {
-
-		public Writer(OutputStream output) throws IOException {
-			super(output, PI_DEFAULTS);
-		}
-
-		/**
-		 * Write the given artifact repository to the output stream.
-		 */
-		public void write(SimpleArtifactRepository repository) {
-			start(REPOSITORY_ELEMENT);
-			attribute(NAME_ATTRIBUTE, repository.getName());
-			attribute(TYPE_ATTRIBUTE, repository.getType());
-			attribute(VERSION_ATTRIBUTE, repository.getVersion());
-			attributeOptional(PROVIDER_ATTRIBUTE, repository.getProvider());
-			attributeOptional(DESCRIPTION_ATTRIBUTE, repository.getDescription()); // TODO: could be cdata?
-
-			writeProperties(repository.getProperties());
-			writeMappingRules(repository.getRules());
-			writeArtifacts(repository.getDescriptors());
-
-			end(REPOSITORY_ELEMENT);
-			flush();
-		}
-
-		private void writeMappingRules(String[][] rules) {
-			if (rules.length > 0) {
-				start(MAPPING_RULES_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, rules.length);
-				for (int i = 0; i < rules.length; i++) {
-					start(MAPPING_RULE_ELEMENT);
-					attribute(MAPPING_RULE_FILTER_ATTRIBUTE, rules[i][0]);
-					attribute(MAPPING_RULE_OUTPUT_ATTRIBUTE, rules[i][1]);
-					end(MAPPING_RULE_ELEMENT);
-				}
-				end(MAPPING_RULES_ELEMENT);
-			}
-		}
-
-		private void writeArtifacts(Set artifactDescriptors) {
-			start(ARTIFACTS_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, artifactDescriptors.size());
-			for (Iterator iter = artifactDescriptors.iterator(); iter.hasNext();) {
-				SimpleArtifactDescriptor descriptor = (SimpleArtifactDescriptor) iter.next();
-				IArtifactKey key = descriptor.getArtifactKey();
-				start(ARTIFACT_ELEMENT);
-				attribute(ARTIFACT_CLASSIFIER_ATTRIBUTE, key.getClassifier());
-				attribute(ID_ATTRIBUTE, key.getId());
-				attribute(VERSION_ATTRIBUTE, key.getVersion());
-				writeProcessingSteps(descriptor.getProcessingSteps());
-				writeProperties(descriptor.getProperties());
-				writeProperties(REPOSITORY_PROPERTIES_ELEMENT, descriptor.getRepositoryProperties());
-				end(ARTIFACT_ELEMENT);
-			}
-			end(ARTIFACTS_ELEMENT);
-		}
-
-		private void writeProcessingSteps(ProcessingStepDescriptor[] processingSteps) {
-			if (processingSteps.length > 0) {
-				start(PROCESSING_STEPS_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, processingSteps.length);
-				for (int i = 0; i < processingSteps.length; i++) {
-					start(PROCESSING_STEP_ELEMENT);
-					attribute(ID_ATTRIBUTE, processingSteps[i].getProcessorId());
-					attribute(STEP_DATA_ATTRIBUTE, processingSteps[i].getData());
-					attribute(STEP_REQUIRED_ATTRIBUTE, processingSteps[i].isRequired());
-					end(PROCESSING_STEP_ELEMENT);
-				}
-				end(PROCESSING_STEPS_ELEMENT);
-			}
-		}
-	}
-
-	/*
-	 * Parser for the contents of a SimpleArtifactRepository,
-	 * as written by the Writer class.
-	 */
-	private class Parser extends XMLParser implements XMLConstants {
-
-		private SimpleArtifactRepository theRepository = null;
-
-		public Parser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		public synchronized void parse(InputStream stream) throws IOException {
-			this.status = null;
-			try {
-				// TODO: currently not caching the parser since we make no assumptions
-				//		 or restrictions on concurrent parsing
-				getParser();
-				RepositoryHandler repositoryHandler = new RepositoryHandler();
-				xmlReader.setContentHandler(new RepositoryDocHandler(REPOSITORY_ELEMENT, repositoryHandler));
-				xmlReader.parse(new InputSource(stream));
-				if (isValidXML()) {
-					theRepository = repositoryHandler.getRepository();
-				}
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				throw new IOException(e.getMessage());
-			} finally {
-				stream.close();
-			}
-		}
-
-		public SimpleArtifactRepository getRepository() {
-			return theRepository;
-		}
-
-		protected Object getRootObject() {
-			return theRepository;
-		}
-
-		private final class RepositoryDocHandler extends DocHandler {
-
-			public RepositoryDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (PI_REPOSITORY_TARGET.equals(target)) {
-					// TODO: should the root handler be constructed based on class
-					// 		 via an extension registry mechanism?
-					// String clazz = extractPIClass(data);
-					// TODO: version tolerance by extension
-					Version repositoryVersion = extractPIVersion(target, data);
-					if (!XML_TOLERANCE.isIncluded(repositoryVersion)) {
-						throw new SAXException(NLS.bind(Messages.io_incompatibleVersion, repositoryVersion, XML_TOLERANCE));
-					}
-				}
-			}
-
-		}
-
-		private final class RepositoryHandler extends RootHandler {
-
-			private final String[] required = new String[] {NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VERSION_ATTRIBUTE};
-			private final String[] optional = new String[] {DESCRIPTION_ATTRIBUTE, PROVIDER_ATTRIBUTE};
-
-			private String[] attrValues = new String[required.length + optional.length];
-
-			private MappingRulesHandler mappingRulesHandler = null;
-			private PropertiesHandler propertiesHandler = null;
-			private ArtifactsHandler artifactsHandler = null;
-
-			private SimpleArtifactRepository repository = null;
-
-			public RepositoryHandler() {
-				super();
-			}
-
-			public SimpleArtifactRepository getRepository() {
-				return repository;
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				attrValues = parseAttributes(attributes, required, optional);
-				attrValues[2] = checkVersion(REPOSITORY_ELEMENT, VERSION_ATTRIBUTE, attrValues[2]).toString();
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (MAPPING_RULES_ELEMENT.equals(name)) {
-					if (mappingRulesHandler == null) {
-						mappingRulesHandler = new MappingRulesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (ARTIFACTS_ELEMENT.equals(name)) {
-					if (artifactsHandler == null) {
-						artifactsHandler = new ArtifactsHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (PROPERTIES_ELEMENT.equals(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					String[][] mappingRules = (mappingRulesHandler == null ? new String[0][0] //
-							: mappingRulesHandler.getMappingRules());
-					Map properties = (propertiesHandler == null ? new OrderedProperties(0) //
-							: propertiesHandler.getProperties());
-					Set artifacts = (artifactsHandler == null ? new HashSet(0) //
-							: artifactsHandler.getArtifacts());
-					repository = new SimpleArtifactRepository(attrValues[0], attrValues[1], attrValues[2], attrValues[3], //
-							attrValues[4], artifacts, mappingRules, properties);
-				}
-			}
-		}
-
-		protected class MappingRulesHandler extends AbstractHandler {
-
-			private List mappingRules;
-
-			public MappingRulesHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, MAPPING_RULES_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				mappingRules = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-			}
-
-			public String[][] getMappingRules() {
-				String[][] rules = new String[mappingRules.size()][2];
-				for (int index = 0; index < mappingRules.size(); index++) {
-					String[] ruleAttributes = (String[]) mappingRules.get(index);
-					rules[index] = ruleAttributes;
-				}
-				return rules;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equals(MAPPING_RULE_ELEMENT)) {
-					new MappingRuleHandler(this, attributes, mappingRules);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class MappingRuleHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {MAPPING_RULE_FILTER_ATTRIBUTE, MAPPING_RULE_OUTPUT_ATTRIBUTE};
-
-			public MappingRuleHandler(AbstractHandler parentHandler, Attributes attributes, List mappingRules) {
-				super(parentHandler, MAPPING_RULE_ELEMENT);
-				mappingRules.add(parseRequiredAttributes(attributes, required));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				invalidElement(name, attributes);
-			}
-		}
-
-		protected class ArtifactsHandler extends AbstractHandler {
-
-			private Set artifacts;
-
-			public ArtifactsHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, ARTIFACTS_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				artifacts = (size != null ? new LinkedHashSet(new Integer(size).intValue()) : new LinkedHashSet(4));
-			}
-
-			public Set getArtifacts() {
-				return artifacts;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equals(ARTIFACT_ELEMENT)) {
-					new ArtifactHandler(this, attributes, artifacts);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class ArtifactHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {ARTIFACT_CLASSIFIER_ATTRIBUTE, ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
-			private Set artifacts;
-			SimpleArtifactDescriptor currentArtifact = null;
-
-			private PropertiesHandler propertiesHandler = null;
-			private PropertiesHandler repositoryPropertiesHandler = null;
-			private ProcessingStepsHandler processingStepsHandler = null;
-
-			public ArtifactHandler(AbstractHandler parentHandler, Attributes attributes, Set artifacts) {
-				super(parentHandler, ARTIFACT_ELEMENT);
-				this.artifacts = artifacts;
-				String[] values = parseRequiredAttributes(attributes, required);
-				Version version = checkVersion(ARTIFACT_ELEMENT, VERSION_ATTRIBUTE, values[2]);
-				// TODO: resolve access restriction on ArtifactKey construction
-				currentArtifact = new SimpleArtifactDescriptor(new ArtifactKey(values[0], values[1], version));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (PROCESSING_STEPS_ELEMENT.equals(name)) {
-					if (processingStepsHandler == null) {
-						processingStepsHandler = new ProcessingStepsHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (PROPERTIES_ELEMENT.equals(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (REPOSITORY_PROPERTIES_ELEMENT.equals(name)) {
-					if (repositoryPropertiesHandler == null) {
-						repositoryPropertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML() && currentArtifact != null) {
-					Map properties = (propertiesHandler == null ? new OrderedProperties(0) : propertiesHandler.getProperties());
-					currentArtifact.addProperties(properties);
-
-					properties = (repositoryPropertiesHandler == null ? new OrderedProperties(0) : repositoryPropertiesHandler.getProperties());
-					currentArtifact.addRepositoryProperties(properties);
-
-					ProcessingStepDescriptor[] processingSteps = (processingStepsHandler == null ? new ProcessingStepDescriptor[0] //
-							: processingStepsHandler.getProcessingSteps());
-					currentArtifact.setProcessingSteps(processingSteps);
-					artifacts.add(currentArtifact);
-				}
-			}
-		}
-
-		protected class ProcessingStepsHandler extends AbstractHandler {
-
-			private List processingSteps;
-
-			public ProcessingStepsHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, PROCESSING_STEPS_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				processingSteps = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-			}
-
-			public ProcessingStepDescriptor[] getProcessingSteps() {
-				return (ProcessingStepDescriptor[]) processingSteps.toArray(new ProcessingStepDescriptor[processingSteps.size()]);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equals(PROCESSING_STEP_ELEMENT)) {
-					new ProcessingStepHandler(this, attributes, processingSteps);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		protected class ProcessingStepHandler extends AbstractHandler {
-
-			private final String[] required = new String[] {ID_ATTRIBUTE, STEP_REQUIRED_ATTRIBUTE};
-			private final String[] optional = new String[] {STEP_DATA_ATTRIBUTE};
-
-			public ProcessingStepHandler(AbstractHandler parentHandler, Attributes attributes, List processingSteps) {
-				super(parentHandler, PROCESSING_STEP_ELEMENT);
-				String[] attributeValues = parseAttributes(attributes, required, optional);
-				processingSteps.add(new ProcessingStepDescriptor(attributeValues[0], attributeValues[2], checkBoolean(PROCESSING_STEP_ELEMENT, STEP_REQUIRED_ATTRIBUTE, attributeValues[1]).booleanValue()));
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				invalidElement(name, attributes);
-			}
-		}
-
-		protected String getErrorMessage() {
-			return Messages.io_parseError;
-		}
-
-		public String toString() {
-			// TODO:
-			return null;
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
deleted file mode 100644
index 636893a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/UniversalUniqueIdentifier.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.simple;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.security.SecureRandom;
-import java.util.GregorianCalendar;
-import java.util.Random;
-import org.eclipse.core.runtime.Assert;
-
-public class UniversalUniqueIdentifier implements java.io.Serializable {
-
-	/**
-	 * All serializable objects should have a stable serialVersionUID
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/* INSTANCE FIELDS =============================================== */
-
-	private byte[] fBits = new byte[BYTES_SIZE];
-
-	/* NON-FINAL PRIVATE STATIC FIELDS =============================== */
-
-	private static BigInteger fgPreviousClockValue;
-	private static int fgClockAdjustment = 0;
-	private static int fgClockSequence = -1;
-	private static byte[] nodeAddress;
-
-	static {
-		nodeAddress = computeNodeAddress();
-	}
-
-	/* PRIVATE STATIC FINAL FIELDS =================================== */
-
-	private static Random fgRandomNumberGenerator = new Random();
-
-	/* PUBLIC STATIC FINAL FIELDS ==================================== */
-
-	public static final int BYTES_SIZE = 16;
-	public static final byte[] UNDEFINED_UUID_BYTES = new byte[16];
-	public static final int MAX_CLOCK_SEQUENCE = 0x4000;
-	public static final int MAX_CLOCK_ADJUSTMENT = 0x7FFF;
-	public static final int TIME_FIELD_START = 0;
-	public static final int TIME_FIELD_STOP = 6;
-	public static final int TIME_HIGH_AND_VERSION = 7;
-	public static final int CLOCK_SEQUENCE_HIGH_AND_RESERVED = 8;
-	public static final int CLOCK_SEQUENCE_LOW = 9;
-	public static final int NODE_ADDRESS_START = 10;
-	public static final int NODE_ADDRESS_BYTE_SIZE = 6;
-
-	public static final int BYTE_MASK = 0xFF;
-
-	public static final int HIGH_NIBBLE_MASK = 0xF0;
-
-	public static final int LOW_NIBBLE_MASK = 0x0F;
-
-	public static final int SHIFT_NIBBLE = 4;
-
-	public static final int ShiftByte = 8;
-
-	/**
-	 UniversalUniqueIdentifier default constructor returns a
-	 new instance that has been initialized to a unique value.
-	 */
-	public UniversalUniqueIdentifier() {
-		this.setVersion(1);
-		this.setVariant(1);
-		this.setTimeValues();
-		this.setNode(getNodeAddress());
-	}
-
-	/**
-	 Constructor that accepts the bytes to use for the instance.&nbsp;&nbsp; The format
-	 of the byte array is compatible with the <code>toBytes()</code> method.
-
-	 <p>The constructor returns the undefined uuid if the byte array is invalid.
-
-	 @see #toBytes()
-	 @see #BYTES_SIZE
-	 */
-	public UniversalUniqueIdentifier(byte[] byteValue) {
-		fBits = new byte[BYTES_SIZE];
-		if (byteValue.length >= BYTES_SIZE)
-			System.arraycopy(byteValue, 0, fBits, 0, BYTES_SIZE);
-	}
-
-	private void appendByteString(StringBuffer buffer, byte value) {
-		String hexString;
-
-		if (value < 0)
-			hexString = Integer.toHexString(256 + value);
-		else
-			hexString = Integer.toHexString(value);
-		if (hexString.length() == 1)
-			buffer.append("0"); //$NON-NLS-1$
-		buffer.append(hexString);
-	}
-
-	private static BigInteger clockValueNow() {
-		GregorianCalendar now = new GregorianCalendar();
-		BigInteger nowMillis = BigInteger.valueOf(now.getTime().getTime());
-		BigInteger baseMillis = BigInteger.valueOf(now.getGregorianChange().getTime());
-
-		return (nowMillis.subtract(baseMillis).multiply(BigInteger.valueOf(10000L)));
-	}
-
-	/**
-	 Simply increases the visibility of <code>Object</code>'s clone.
-	 Otherwise, no new behaviour.
-	 */
-	public Object clone() {
-		try {
-			return super.clone();
-		} catch (CloneNotSupportedException e) {
-			Assert.isTrue(false, "Clone not supported");
-			return null;
-		}
-	}
-
-	public static int compareTime(byte[] fBits1, byte[] fBits2) {
-		for (int i = TIME_FIELD_STOP; i >= 0; i--)
-			if (fBits1[i] != fBits2[i])
-				return (0xFF & fBits1[i]) - (0xFF & fBits2[i]);
-		return 0;
-	}
-
-	/**
-	 * Answers the node address attempting to mask the IP
-	 * address of this machine.
-	 * 
-	 * @return byte[] the node address
-	 */
-	private static byte[] computeNodeAddress() {
-
-		byte[] address = new byte[NODE_ADDRESS_BYTE_SIZE];
-
-		// Seed the secure randomizer with some oft-varying inputs
-		int thread = Thread.currentThread().hashCode();
-		long time = System.currentTimeMillis();
-		int objectId = System.identityHashCode(new String());
-		ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
-		DataOutputStream out = new DataOutputStream(byteOut);
-		byte[] ipAddress = getIPAddress();
-
-		try {
-			if (ipAddress != null)
-				out.write(ipAddress);
-			out.write(thread);
-			out.writeLong(time);
-			out.write(objectId);
-			out.close();
-		} catch (IOException exc) {
-			//ignore the failure, we're just trying to come up with a random seed
-		}
-		byte[] rand = byteOut.toByteArray();
-
-		SecureRandom randomizer = new SecureRandom(rand);
-		randomizer.nextBytes(address);
-
-		// set the MSB of the first octet to 1 to distinguish from IEEE node addresses
-		address[0] = (byte) (address[0] | (byte) 0x80);
-
-		return address;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof UniversalUniqueIdentifier))
-			return false;
-
-		byte[] other = ((UniversalUniqueIdentifier) obj).fBits;
-		if (fBits == other)
-			return true;
-		if (fBits.length != other.length)
-			return false;
-		for (int i = 0; i < fBits.length; i++) {
-			if (fBits[i] != other[i])
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 Answers the IP address of the local machine using the
-	 Java API class <code>InetAddress</code>.
-
-	 @return byte[] the network address in network order
-	 @see    java.net.InetAddress#getLocalHost()
-	 @see    java.net.InetAddress#getAddress()
-	 */
-	protected static byte[] getIPAddress() {
-		try {
-			return InetAddress.getLocalHost().getAddress();
-		} catch (UnknownHostException e) {
-			//valid for this to be thrown be a machine with no IP connection
-			//It is VERY important NOT to throw this exception
-			return null;
-		}
-	}
-
-	private static byte[] getNodeAddress() {
-		return nodeAddress;
-	}
-
-	public int hashCode() {
-		return fBits[0] + fBits[3] + fBits[7] + fBits[11] + fBits[15];
-	}
-
-	private static int nextClockSequence() {
-
-		if (fgClockSequence == -1)
-			fgClockSequence = (int) (fgRandomNumberGenerator.nextDouble() * MAX_CLOCK_SEQUENCE);
-
-		fgClockSequence = (fgClockSequence + 1) % MAX_CLOCK_SEQUENCE;
-
-		return fgClockSequence;
-	}
-
-	private static BigInteger nextTimestamp() {
-
-		BigInteger timestamp = clockValueNow();
-		int timestampComparison;
-
-		timestampComparison = timestamp.compareTo(fgPreviousClockValue);
-
-		if (timestampComparison == 0) {
-			if (fgClockAdjustment == MAX_CLOCK_ADJUSTMENT) {
-				while (timestamp.compareTo(fgPreviousClockValue) == 0)
-					timestamp = clockValueNow();
-				timestamp = nextTimestamp();
-			} else
-				fgClockAdjustment++;
-		} else {
-			fgClockAdjustment = 0;
-
-			if (timestampComparison < 0)
-				nextClockSequence();
-		}
-
-		return timestamp;
-	}
-
-	private void setClockSequence(int clockSeq) {
-		int clockSeqHigh = (clockSeq >>> ShiftByte) & LOW_NIBBLE_MASK;
-		int reserved = fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] & HIGH_NIBBLE_MASK;
-
-		fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] = (byte) (reserved | clockSeqHigh);
-		fBits[CLOCK_SEQUENCE_LOW] = (byte) (clockSeq & BYTE_MASK);
-	}
-
-	protected void setNode(byte[] bytes) {
-
-		for (int index = 0; index < NODE_ADDRESS_BYTE_SIZE; index++)
-			fBits[index + NODE_ADDRESS_START] = bytes[index];
-	}
-
-	private void setTimestamp(BigInteger timestamp) {
-		BigInteger value = timestamp;
-		BigInteger bigByte = BigInteger.valueOf(256L);
-		BigInteger[] results;
-		int version;
-		int timeHigh;
-
-		for (int index = TIME_FIELD_START; index < TIME_FIELD_STOP; index++) {
-			results = value.divideAndRemainder(bigByte);
-			value = results[0];
-			fBits[index] = (byte) results[1].intValue();
-		}
-		version = fBits[TIME_HIGH_AND_VERSION] & HIGH_NIBBLE_MASK;
-		timeHigh = value.intValue() & LOW_NIBBLE_MASK;
-		fBits[TIME_HIGH_AND_VERSION] = (byte) (timeHigh | version);
-	}
-
-	protected synchronized void setTimeValues() {
-		this.setTimestamp(timestamp());
-		this.setClockSequence(fgClockSequence);
-	}
-
-	protected int setVariant(int variantIdentifier) {
-		int clockSeqHigh = fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] & LOW_NIBBLE_MASK;
-		int variant = variantIdentifier & LOW_NIBBLE_MASK;
-
-		fBits[CLOCK_SEQUENCE_HIGH_AND_RESERVED] = (byte) ((variant << SHIFT_NIBBLE) | clockSeqHigh);
-		return (variant);
-	}
-
-	protected void setVersion(int versionIdentifier) {
-		int timeHigh = fBits[TIME_HIGH_AND_VERSION] & LOW_NIBBLE_MASK;
-		int version = versionIdentifier & LOW_NIBBLE_MASK;
-
-		fBits[TIME_HIGH_AND_VERSION] = (byte) (timeHigh | (version << SHIFT_NIBBLE));
-	}
-
-	private static BigInteger timestamp() {
-		BigInteger timestamp;
-
-		if (fgPreviousClockValue == null) {
-			fgClockAdjustment = 0;
-			nextClockSequence();
-			timestamp = clockValueNow();
-		} else
-			timestamp = nextTimestamp();
-
-		fgPreviousClockValue = timestamp;
-		return fgClockAdjustment == 0 ? timestamp : timestamp.add(BigInteger.valueOf(fgClockAdjustment));
-	}
-
-	/** 
-	 This representation is compatible with the (byte[]) constructor.
-
-	 @see #UniversalUniqueIdentifier(byte[])
-	 */
-	public byte[] toBytes() {
-		byte[] result = new byte[fBits.length];
-
-		System.arraycopy(fBits, 0, result, 0, fBits.length);
-		return result;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < fBits.length; i++)
-			appendByteString(buffer, fBits[i]);
-		return buffer.toString();
-	}
-
-	public String toStringAsBytes() {
-		String result = "{"; //$NON-NLS-1$
-
-		for (int i = 0; i < fBits.length; i++) {
-			result += fBits[i];
-			if (i < fBits.length + 1)
-				result += ","; //$NON-NLS-1$
-		}
-		return result + "}"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactComparatorFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactComparatorFactory.java
deleted file mode 100644
index b9568b0..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/ArtifactComparatorFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *		Compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.RegistryFactory;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.osgi.util.NLS;
-
-public class ArtifactComparatorFactory {
-	private static final String comparatorPoint = "org.eclipse.equinox.p2.artifact.repository.artifactComparators"; //$NON-NLS-1$
-	private static final String ATTR_ID = "id"; //$NON-NLS-1$
-	private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-
-	public static IArtifactComparator getArtifactComparator(String comparatorID) {
-		IConfigurationElement[] extensions = RegistryFactory.getRegistry().getConfigurationElementsFor(comparatorPoint);
-
-		IConfigurationElement element = null;
-		if (comparatorID == null && extensions.length > 0) {
-			element = extensions[0]; //just take the first one
-		} else {
-			for (int i = 0; i < extensions.length; i++) {
-				if (extensions[i].getAttribute(ATTR_ID).equals(comparatorID)) {
-					element = extensions[i];
-					break;
-				}
-			}
-		}
-		if (element != null) {
-			try {
-				Object execExt = element.createExecutableExtension(ATTR_CLASS);
-				if (execExt instanceof IArtifactComparator)
-					return (IArtifactComparator) execExt;
-			} catch (Exception e) {
-				//fall through
-			}
-		}
-
-		if (comparatorID != null)
-			throw new IllegalArgumentException(NLS.bind(Messages.exception_comparatorNotFound, comparatorID));
-		throw new IllegalArgumentException(Messages.exception_noComparators);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactComparator.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactComparator.java
deleted file mode 100644
index 9563e69..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/IArtifactComparator.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-public interface IArtifactComparator {
-
-	/**
-	 * Compare 2 equivalent IArtifactDescriptors from different repositories.
-	 * 
-	 * IArtifactDescriptors with the same id and version should represent the same 
-	 * set of bytes.  The comparator should ensure this is true and return an error
-	 * or warning otherwise.
-	 *
-	 * @param source - The source IArtifactRepository
-	 * @param sourceDescriptor - The IArtifactDescriptor from the source repository
-	 * @param destination - The target IArtifactRepository
-	 * @param destDescriptor - The IArtifactDescriptor from the target repository
-	 *
-	 * @return IStatus
-	 */
-	public IStatus compare(IArtifactRepository source, IArtifactDescriptor sourceDescriptor, IArtifactRepository destination, IArtifactDescriptor destDescriptor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
deleted file mode 100644
index 6d35da2..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.messages"; //$NON-NLS-1$
-	public static String cannot_get_extension;
-	public static String cannot_instantiate_step;
-	public static String ZipVerifierStep_invalid_archive;
-	public static String processing_step_results;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
deleted file mode 100644
index 731218f..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2009 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*   IBM Corporation - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-
-/**
- * ProcessingSteps process the data written to them and pass the resultant data on
- * to a configured destination stream.  Steps may monitor (e.g., count) the data, compute information 
- * about the data (e.g., checksum or hash) or transform the data (e.g., unpack200).
- */
-public abstract class ProcessingStep extends OutputStream implements IStateful {
-
-	private OutputStream destination;
-	private IProgressMonitor monitor;
-	private IStatus status = Status.OK_STATUS;
-
-	protected ProcessingStep() {
-		super();
-	}
-
-	/**
-	 * Initialize this processing step according to the information in the given 
-	 * descriptor and context.  After initialization, this step is ready for linking 
-	 * with other steps or output streams
-	 * @param descriptor description of the step
-	 * @param context the context in which the step is being used
-	 */
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		// nothing to do here!
-	}
-
-	/**
-	 * Link this step with the given output stream and configure the step to use the given
-	 * progress monitor.  After linking the step is ready to have data written to it.
-	 * @param destination the stream into which to write the processed data
-	 * @param monitor the progress monitor to use for reporting activity
-	 */
-	public void link(OutputStream destination, IProgressMonitor monitor) {
-		this.destination = destination;
-		this.monitor = monitor;
-	}
-
-	/**
-	 * Process the given byte and pass the result on to the configured destination stream
-	 * @param b the byte being written
-	 */
-	public void write(int b) throws IOException {
-		// nothing to do here!
-	}
-
-	/** 
-	 * Flush any unwritten data from this stream.
-	 */
-	public void flush() throws IOException {
-		super.flush();
-		if (destination != null)
-			destination.flush();
-	}
-
-	/**
-	 * Close this stream and, if the configured destination is a ProcessingStep, 
-	 * close it as well.  Typically a chain of steps terminates in a conventional 
-	 * output stream.  Implementors of this method should ensure they set the 
-	 * status of the step.
-	 */
-	public void close() throws IOException {
-		super.close();
-		if (destination instanceof ProcessingStep)
-			destination.close();
-		monitor = null;
-	}
-
-	public IStatus getStatus() {
-		return status;
-	}
-
-	public void setStatus(IStatus value) {
-		if (value == null)
-			value = Status.OK_STATUS;
-		if (status != null && status.getSeverity() >= value.getSeverity())
-			return;
-		status = value;
-	}
-
-	/**
-	 * Get the progress monitor. 
-	 * @return the progress monitor; may be null
-	 */
-	protected IProgressMonitor getProgressMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Get the stream to write the processed data into.
-	 * 
-	 * @return output stream for processed data
-	 */
-	protected OutputStream getDestination() {
-		return destination;
-	}
-
-	/**
-	 * Return the status of this step.  The status will be <code>null</code> if the
-	 * step has not yet executed. If the step has executed the returned status
-	 * indicates the success or failure of the step.
-	 * @param deep whether or not to aggregate the status of any linked steps
-	 * @return the requested status 
-	 */
-	public IStatus getStatus(boolean deep) {
-		return ProcessingStepHandler.getStatus(this, deep);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
deleted file mode 100644
index 5faebcd..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2009 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.OutputStream;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.ArtifactOutputStream;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Creates processing step instances from extensions and executes them.
- */
-public class ProcessingStepHandler {
-
-	private static final String PROCESSING_STEPS_EXTENSION_ID = "org.eclipse.equinox.p2.artifact.repository.processingSteps"; //$NON-NLS-1$
-
-	//TODO This method can go
-	public static IStatus checkStatus(OutputStream output) {
-		return getStatus(output, true);
-	}
-
-	/**
-	 * Check to see that we have processors for all the steps in the given descriptor
-	 * @param descriptor the descriptor to check
-	 * @return whether or not processors for all the descriptor's steps are installed
-	 */
-	public static boolean canProcess(IArtifactDescriptor descriptor) {
-		IExtensionRegistry registry = RegistryFactory.getRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(PROCESSING_STEPS_EXTENSION_ID);
-		if (point == null)
-			return false;
-		ProcessingStepDescriptor[] steps = descriptor.getProcessingSteps();
-		for (int i = 0; i < steps.length; i++) {
-			if (point.getExtension(steps[i].getProcessorId()) == null)
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Return the status of this step.  The status will be <code>null</code> if the
-	 * step has not yet executed. If the step has executed the returned status
-	 * indicates the success or failure of the step.
-	 * @param deep whether or not to aggregate the status of any linked steps
-	 * @return the requested status 
-	 */
-	public static IStatus getStatus(OutputStream stream, boolean deep) {
-		if (!deep)
-			return getStatus(stream);
-		ArrayList list = new ArrayList();
-		int severity = collectStatus(stream, list);
-		if (severity == IStatus.OK)
-			return Status.OK_STATUS;
-		IStatus[] result = (IStatus[]) list.toArray(new IStatus[list.size()]);
-		return new MultiStatus(Activator.ID, severity, result, Messages.processing_step_results, null);
-	}
-
-	/**
-	 * Return statuses from this step and any linked step, discarding OK statuses until an error status is received.
-	 * @param stream the stream representing the first step
-	 * @return the requested status
-	 */
-	public static IStatus getErrorStatus(OutputStream stream) {
-		ArrayList list = new ArrayList();
-		int severity = collectErrorStatus(stream, list);
-		if (severity == IStatus.OK)
-			return Status.OK_STATUS;
-		IStatus[] result = (IStatus[]) list.toArray(new IStatus[list.size()]);
-		return new MultiStatus(Activator.ID, 0, result, Messages.processing_step_results, null);
-	}
-
-	private static int collectErrorStatus(OutputStream stream, ArrayList list) {
-		IStatus status = getStatus(stream);
-		if (!status.isOK())
-			list.add(status);
-		if (status.matches(IStatus.ERROR))
-			// Errors past this should be bogus as they rely on output from this step
-			return status.getSeverity();
-
-		OutputStream destination = getDestination(stream);
-		if (destination == null || !(destination instanceof IStateful))
-			return status.getSeverity();
-		int result = collectErrorStatus(destination, list);
-		// TODO greater than test here is a little brittle but it is very unlikely that we will add
-		// a new status severity.
-		return status.getSeverity() > result ? status.getSeverity() : result;
-	}
-
-	public static IStatus getStatus(OutputStream stream) {
-		if (stream instanceof IStateful)
-			return ((IStateful) stream).getStatus();
-		return Status.OK_STATUS;
-	}
-
-	private static int collectStatus(OutputStream stream, ArrayList list) {
-		IStatus status = getStatus(stream);
-		list.add(status);
-		OutputStream destination = getDestination(stream);
-		if (destination == null || !(destination instanceof IStateful))
-			return status.getSeverity();
-		int result = collectStatus(destination, list);
-		// TODO greater than test here is a little brittle but it is very unlikely that we will add
-		// a new status severity.
-		return status.getSeverity() > result ? status.getSeverity() : result;
-	}
-
-	private static OutputStream getDestination(OutputStream stream) {
-		if (stream instanceof ProcessingStep)
-			return ((ProcessingStep) stream).getDestination();
-		if (stream instanceof ArtifactOutputStream)
-			return ((ArtifactOutputStream) stream).getDestination();
-		return null;
-	}
-
-	public ProcessingStep[] create(ProcessingStepDescriptor[] descriptors, IArtifactDescriptor context) {
-		ProcessingStep[] result = new ProcessingStep[descriptors.length];
-		for (int i = 0; i < descriptors.length; i++)
-			result[i] = create(descriptors[i], context);
-		return result;
-	}
-
-	public ProcessingStep create(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		IExtensionRegistry registry = RegistryFactory.getRegistry();
-		IExtension extension = registry.getExtension(PROCESSING_STEPS_EXTENSION_ID, descriptor.getProcessorId());
-		Exception error;
-		if (extension != null) {
-			IConfigurationElement[] config = extension.getConfigurationElements();
-			try {
-				Object object = config[0].createExecutableExtension("class"); //$NON-NLS-1$
-				ProcessingStep step = (ProcessingStep) object;
-				step.initialize(descriptor, context);
-				return step;
-			} catch (Exception e) {
-				error = e;
-			}
-		} else
-			error = new ProcessingStepHandlerException(NLS.bind(Messages.cannot_get_extension, PROCESSING_STEPS_EXTENSION_ID, descriptor.getProcessorId()));
-
-		int severity = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		ProcessingStep result = new EmptyProcessingStep();
-		result.setStatus(new Status(severity, Activator.ID, Messages.cannot_instantiate_step + descriptor.getProcessorId(), error));
-		return result;
-	}
-
-	public OutputStream createAndLink(ProcessingStepDescriptor[] descriptors, IArtifactDescriptor context, OutputStream output, IProgressMonitor monitor) {
-		if (descriptors == null)
-			return output;
-		ProcessingStep[] steps = create(descriptors, context);
-		return link(steps, output, monitor);
-	}
-
-	public OutputStream link(ProcessingStep[] steps, OutputStream output, IProgressMonitor monitor) {
-		OutputStream previous = output;
-		for (int i = steps.length - 1; i >= 0; i--) {
-			ProcessingStep step = steps[i];
-			step.link(previous, monitor);
-			previous = step;
-		}
-		if (steps.length == 0)
-			return previous;
-		// now link the artifact stream to the first stream in the new chain 
-		ArtifactOutputStream lastLink = getArtifactStream(previous);
-		if (lastLink != null)
-			lastLink.setFirstLink(previous);
-		return previous;
-	}
-
-	// Traverse the chain of processing steps and return the stream served up by
-	// the artifact repository or null if one cannot be found.
-	private ArtifactOutputStream getArtifactStream(OutputStream stream) {
-		OutputStream current = stream;
-		while (current instanceof ProcessingStep)
-			current = ((ProcessingStep) current).getDestination();
-		if (current instanceof ArtifactOutputStream)
-			return (ArtifactOutputStream) current;
-		return null;
-	}
-
-	protected static final class EmptyProcessingStep extends ProcessingStep {
-		// Just to hold the status
-	}
-
-	protected static final class ProcessingStepHandlerException extends Exception {
-		private static final long serialVersionUID = 1L;
-
-		public ProcessingStepHandlerException(String message) {
-			super(message);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
deleted file mode 100644
index a649b0c..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ZipVerifierStep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-
-public class ZipVerifierStep extends ProcessingStep {
-	static final int[] ZIP_HEADER = new int[] {0x50, 0x4b, 0x03, 0x04};
-
-	private int valid = 0; //-1 indicates that it is not a zip, >3 indicates that we are done the verification 
-
-	public void write(int b) throws IOException {
-		getDestination().write(b);
-		if (valid > 3)
-			return;
-		if (valid == -1) {
-			return;
-		}
-		if (b != ZIP_HEADER[valid++]) {
-			valid = -1;
-			setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.ZipVerifierStep_invalid_archive));
-			return;
-		}
-	}
-
-	public void close() throws IOException {
-		if (valid > 3) {
-			setStatus(Status.OK_STATUS);
-		} else {
-			setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.ZipVerifierStep_invalid_archive));
-		}
-		super.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
deleted file mode 100644
index 9459df4..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-cannot_instantiate_step=Could not instantiate step:
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-cannot_get_extension=Could not get extension {0} for descriptor id {1}. 
-ZipVerifierStep_invalid_archive=Downloaded stream not a valid archive. Check the server.
-processing_step_results=Result of processing steps.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
deleted file mode 100644
index 1cec5b8..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/AbstractArtifactRepository.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public abstract class AbstractArtifactRepository extends AbstractRepository implements IArtifactRepository {
-
-	protected AbstractArtifactRepository(String name, String type, String version, URI location, String description, String provider, Map properties) {
-		super(name, type, version, location, description, provider, properties);
-	}
-
-	public abstract boolean contains(IArtifactDescriptor descriptor);
-
-	public abstract boolean contains(IArtifactKey key);
-
-	public abstract IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor);
-
-	public abstract IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key);
-
-	public abstract IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor);
-
-	public abstract OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException;
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		assertModifiable();
-	}
-
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		assertModifiable();
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		assertModifiable();
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		assertModifiable();
-	}
-
-	public void removeAll() {
-		assertModifiable();
-	}
-
-	public boolean equals(Object o) {
-		if (this == o) {
-			return true;
-		}
-		if (!(o instanceof AbstractArtifactRepository)) {
-			return false;
-		}
-		if (URIUtil.sameURI(getLocation(), ((AbstractArtifactRepository) o).getLocation()))
-			return true;
-		return false;
-	}
-
-	public int hashCode() {
-		return (this.getLocation().toString().hashCode()) * 87;
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return new ArtifactDescriptor(key);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/ArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/ArtifactRepositoryFactory.java
deleted file mode 100644
index 8ca9637..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/ArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-/**
- * An artifact repository factory is responsible for creating and loading instances
- * of a particular type of artifact repository. Factories are provided via the 
- * <tt>org.eclipse.equinox.p2.artifact.repository.artifactRepositories</tt> extension point.
- */
-public abstract class ArtifactRepositoryFactory {
-
-	/**
-	 * Creates and returns a new empty artifact repository of the given type at 
-	 * the given location.
-	 * 
-	 * @param location the location for the new repository
-	 * @param name the name of the new repository
-	 * @param type the kind of repository to create
-	 * @param properties the properties to set on the repository
-	 * @return the newly created repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>The repository type is unknown.</li>
-	 * <li>There was an error writing to the given repository location.</li>
-	 * <li>A repository already exists at that location.</li>
-	 * </ul>
-	 */
-	public abstract IArtifactRepository create(URI location, String name, String type, Map properties) throws ProvisionException;
-
-	/**
-	 * Loads and returns the repository of this factory's type at the given location. 
-	 * <p>
-	 * The error code returned in the case of failure is significant. In particular an
-	 * error code of {@link ProvisionException#REPOSITORY_FAILED_READ} indicates
-	 * that the location definitely identifies a repository of this type, but an error occurred
-	 * while loading the repository. The repository manager will not attempt to load
-	 * a repository from that location using any other factory.  An error code of
-	 * {@link ProvisionException#REPOSITORY_NOT_FOUND} indicates there is no
-	 * repository of this type at the given location, and the repository manager is free
-	 * to try again with a different repository factory.
-	 * </p>
-	 * <p>
-	 * The flags passed in should be taken as a hint for the type of repository to load.  If
-	 * the factory knows it will not load a repository that satisfies these hints, it can fail
-	 * fast and return null.
-	 * @see IRepositoryManager#REPOSITORY_HINT_MODIFIABLE
-	 * </p>
-	 * @param location the location in which to look for a repository description
-	 * @param flags to consider while loading the repository
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return a repository object for the given location
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public abstract IArtifactRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException;
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/MappedCollectionIterator.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/MappedCollectionIterator.java
deleted file mode 100644
index 706e523..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/MappedCollectionIterator.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.util.*;
-
-/**
- * An iterator over a Map, For each key we return the key, then the value.  If the value is a collection, then
- * instead of returning the value, we iterate over that collection before continuing to the 
- * next key.
- */
-public class MappedCollectionIterator implements Iterator {
-	private Iterator keys = null;
-	private Iterator collection = null;
-	private Object nextValue = null;
-	private boolean returnKeys = false;
-	private Map map = null;
-
-	/**
-	 * @param map - the map to iterate over
-	 * @param returnKeys - whether or not to include the keys, if false return only values
-	 */
-	public MappedCollectionIterator(Map map, boolean returnKeys) {
-		this.map = map;
-		this.returnKeys = returnKeys;
-		this.keys = map.keySet().iterator();
-	}
-
-	/**
-	 * See {@link Iterator#hasNext()}
-	 */
-	public boolean hasNext() {
-		if (returnKeys) //keys and values
-			return (collection != null && collection.hasNext()) || nextValue != null || keys.hasNext();
-
-		//values only
-		if (collection != null && collection.hasNext())
-			return true;
-		while (keys.hasNext()) {
-			Object key = keys.next();
-			Object value = map.get(key);
-			if (value instanceof Collection) {
-				collection = ((Collection) value).iterator();
-			} else if (value != null) {
-				nextValue = value;
-				collection = null;
-				return true;
-			}
-			if (collection.hasNext())
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * See {@link Iterator#next()}
-	 */
-	public Object next() {
-		if (nextValue != null) {
-			Object next = nextValue;
-			nextValue = null;
-			return next;
-		}
-
-		if (returnKeys) {
-			if (collection != null && collection.hasNext())
-				return collection.next();
-
-			Object nextKey = keys.next();
-			Object value = map.get(nextKey);
-			if (value instanceof Collection)
-				collection = ((Collection) value).iterator();
-			else if (value != null) {
-				nextValue = value;
-				collection = null;
-			}
-			return nextKey;
-		}
-
-		//values only
-		if (collection != null && collection.hasNext())
-			return collection.next();
-		while (keys.hasNext()) {
-			Object key = keys.next();
-			Object value = map.get(key);
-			if (value instanceof Collection) {
-				collection = ((Collection) value).iterator();
-				if (!collection.hasNext())
-					continue;
-				return collection.next();
-			} else if (value != null)
-				return value;
-		}
-		throw new NoSuchElementException();
-	}
-
-	/**
-	 * Returns true if the iteration contains more keys
-	 * @return boolean
-	 */
-	public boolean hasNextKey() {
-		if (!returnKeys)
-			return false;
-		return keys.hasNext();
-	}
-
-	/**
-	 * Get the next key skipping over any values
-	 * @return the next key
-	 * @throws IllegalStateException if this iterator is not returning keys 
-	 */
-	public Object nextKey() {
-		if (!returnKeys)
-			throw new IllegalStateException();
-		Object nextKey = keys.next();
-		Object value = map.get(nextKey);
-		if (value instanceof Collection) {
-			collection = ((Collection) value).iterator();
-			nextValue = null;
-		} else if (value != null) {
-			nextValue = value;
-			collection = null;
-		}
-		return nextKey;
-	}
-
-	/**
-	 * See {@link Iterator#remove()}
-	 * This operation is not supported
-	 * @throws UnsupportedOperationException
-	 */
-	public void remove() {
-		throw new UnsupportedOperationException();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
deleted file mode 100644
index f7a3e7e..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/artifact/repository/SimpleArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryIO;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.internal.p2.repository.Transport;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleArtifactRepositoryFactory extends ArtifactRepositoryFactory {
-
-	public IArtifactRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-		long time = 0;
-		final String debugMsg = "Restoring artifact repository "; //$NON-NLS-1$
-		if (Tracing.DEBUG_METADATA_PARSING) {
-			Tracing.debug(debugMsg + location);
-			time = -System.currentTimeMillis();
-		}
-		File localFile = null;
-		boolean local = false;
-		try {
-			SubMonitor sub = SubMonitor.convert(monitor, 300);
-			OutputStream artifacts = null;
-			// try with compressed
-			boolean compress = true;
-			if (PROTOCOL_FILE.equals(location.getScheme())) {
-				local = true;
-				localFile = URIUtil.toFile(SimpleArtifactRepository.getActualLocation(location, true));
-				if (!localFile.exists()) {
-					localFile = URIUtil.toFile(SimpleArtifactRepository.getActualLocation(location, false));
-					compress = false;
-				}
-			} else {
-				//not local, return null if the caller wanted a modifiable repo
-				if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-					return null;
-				}
-
-				//download to local temp file
-				localFile = File.createTempFile("artifacts", ".xml"); //$NON-NLS-1$ //$NON-NLS-2$
-				try {
-					artifacts = new BufferedOutputStream(new FileOutputStream(localFile));
-					IStatus status = getTransport().download(SimpleArtifactRepository.getActualLocation(location, compress), artifacts, sub.newChild(100));
-					if (!status.isOK()) {
-						// not meaningful to continue on an authentication exception (user will likely just be prompted again)
-						if (status.getCode() == ProvisionException.REPOSITORY_FAILED_AUTHENTICATION)
-							throw new ProvisionException(status);
-						// retry uncompressed
-						compress = false;
-						status = getTransport().download(SimpleArtifactRepository.getActualLocation(location, compress), artifacts, sub.newChild(100));
-						if (!status.isOK())
-							throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, status.getMessage(), null));
-					}
-				} finally {
-					if (artifacts != null)
-						artifacts.close();
-				}
-			}
-			InputStream descriptorStream = null;
-			try {
-				descriptorStream = new BufferedInputStream(new FileInputStream(localFile));
-				if (compress) {
-					URI actualLocation = SimpleArtifactRepository.getActualLocation(location, false);
-					JarInputStream jInStream = new JarInputStream(descriptorStream);
-					JarEntry jarEntry = jInStream.getNextJarEntry();
-					String filename = URIUtil.lastSegment(actualLocation);
-					while (jarEntry != null && filename != null && !(filename.equals(jarEntry.getName()))) {
-						jarEntry = jInStream.getNextJarEntry();
-					}
-					if (jarEntry == null) {
-						//there is a jar but the entry is missing or invalid, so treat this as an invalid repository
-						throw new IOException(NLS.bind(Messages.io_invalidLocation, actualLocation.getPath()));
-					}
-					descriptorStream = jInStream;
-				}
-				SimpleArtifactRepositoryIO io = new SimpleArtifactRepositoryIO();
-				SimpleArtifactRepository result = (SimpleArtifactRepository) io.read(localFile.toURL(), descriptorStream, sub.newChild(100));
-				result.initializeAfterLoad(location);
-				if (Tracing.DEBUG_METADATA_PARSING) {
-					time += System.currentTimeMillis();
-					Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$ 
-				}
-				return result;
-			} finally {
-				if (descriptorStream != null)
-					descriptorStream.close();
-			}
-		} catch (FileNotFoundException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			if (!local && localFile != null && !localFile.delete())
-				localFile.deleteOnExit();
-		}
-	}
-
-	public IArtifactRepository create(URI location, String name, String type, Map properties) {
-		return new SimpleArtifactRepository(name, location, properties);
-	}
-
-	private Transport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java
deleted file mode 100644
index 4e0d6e2..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/AddChildTask.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * Ant task to add a child artifact repository to an already-existing composite artifact repository.
- */
-public class AddChildTask extends Task {
-
-	URI location; // location of the composite repository
-	URI child; // address of the child to add
-	String comparatorID; // comparator to use for compare (optional)
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to acquire artifact repository manager service.");
-
-		// get the composite repository
-		CompositeArtifactRepository repo = null;
-		try {
-			repo = (CompositeArtifactRepository) manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			throw new BuildException("Exception while loading repository.", e);
-		}
-
-		// just do a straight add if the user didn't specify a comparator.
-		if (comparatorID == null) {
-			repo.addChild(child);
-			return;
-		}
-
-		// otherwise run the comparator when we try and add the child and print out the result.
-		if (repo.addChild(child, comparatorID))
-			System.out.println(child + " was added successfully.");
-		else
-			System.out.println(child + " was not added.");
-	}
-
-	/*
-	 * Set the location of the composite repository.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the location of the child repository.
-	 */
-	public void setChild(String value) throws URISyntaxException {
-		child = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the identifier of the comparator to use.
-	 */
-	public void setComparatorID(String value) {
-		comparatorID = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java
deleted file mode 100644
index cfcc803..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/CreateCompositeArtifactRepositoryTask.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * Ant task for creating a new composite artifact repository.
- */
-public class CreateCompositeArtifactRepositoryTask extends Task {
-
-	URI location; // desired location of the composite repository
-	String name = "Composite Artifact Repository";
-	boolean compressed = true;
-	boolean failOnExists = false; // should we fail if a repo already exists?
-	Map properties = new HashMap();
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		validate();
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire artifact repository manager service.");
-
-		// remove the repo first.
-		manager.removeRepository(location);
-
-		// first try and load to see if one already exists at that location.
-		// if we have an already existing repository at that location, then throw an error
-		// if the user told us to
-		try {
-			IArtifactRepository repository = manager.loadRepository(location, null);
-			if (repository instanceof CompositeArtifactRepository) {
-				if (failOnExists)
-					throw new BuildException("Composite repository already exists at location: " + location);
-				return;
-			} else {
-				// we have a non-composite repo at this location. that is ok because we can co-exist.
-			}
-		} catch (ProvisionException e) {
-			// re-throw the exception if we got anything other than "repo not found"
-			if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-				throw new BuildException("Exception while trying to read repository at: " + location, e);
-		}
-
-		// set the properties
-		if (compressed)
-			properties.put(IRepository.PROP_COMPRESSED, Boolean.toString(true));
-
-		// create the repository
-		try {
-			manager.createRepository(location, name, IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties);
-		} catch (ProvisionException e) {
-			throw new BuildException("Error occurred while creating composite artifact repository.", e);
-		}
-	}
-
-	/*
-	 * Perform basic sanity checking of some of the parameters.
-	 */
-	private void validate() {
-		if (location == null)
-			throw new BuildException("Must specify repository location.");
-		if (name == null)
-			throw new BuildException("Must specify a repository name.");
-	}
-
-	/*
-	 * Set the name of the composite repository.
-	 */
-	public void setName(String value) {
-		name = value;
-	}
-
-	/*
-	 * Set the location of the repository.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set a value indicating whether or not the repository should be compressed.
-	 */
-	public void setCompressed(boolean value) {
-		compressed = value;
-	}
-
-	/*
-	 * Set whether or not we should fail the operation if a repository
-	 * already exists at the location.
-	 */
-	public void setFailOnExists(boolean value) {
-		failOnExists = value;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java
deleted file mode 100644
index 55caaec..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/RemoveChildTask.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * Ant task for removing a specific child from a composite artifact repository.
- */
-public class RemoveChildTask extends Task {
-
-	URI location; // location of the composite repository
-	URI child; // location of child to remove
-	boolean allChildren = false; // should we remove all children?
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire artifact repository manager service.");
-
-		// load repository
-		CompositeArtifactRepository repo;
-		try {
-			repo = (CompositeArtifactRepository) manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			throw new BuildException("Error occurred while loading repository.", e);
-		}
-
-		// remove all children or just a specified child
-		if (allChildren)
-			repo.removeAllChildren();
-		else
-			repo.removeChild(child);
-	}
-
-	/*
-	 * Set the repository location.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the child repository location.
-	 */
-	public void setChild(String value) throws URISyntaxException {
-		child = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set whether or not we want to remove all the children.
-	 */
-	public void setAllChildren(String value) {
-		allChildren = Boolean.valueOf(value).booleanValue();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java
deleted file mode 100644
index b78f84a..0000000
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src_ant/org/eclipse/equinox/internal/p2/artifact/repository/ant/ValidateTask.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.artifact.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-
-/**
- * Ant task for validating the contents of a composite artifact repository.
- */
-public class ValidateTask extends Task {
-
-	URI location; // location of the composite repository
-	String comparatorID; // specifies the comparator we want to use.
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire artifact repository manager service.");
-
-		// load the repository
-		CompositeArtifactRepository repo = null;
-		try {
-			repo = (CompositeArtifactRepository) manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			throw new BuildException("Exception while loading repository.", e);
-		}
-
-		// perform the sanity check
-		if (repo.validate(comparatorID))
-			System.err.println("Valid repository at: " + location);
-		else
-			System.err.println("Invalid repository at: " + location);
-	}
-
-	/*
-	 * Set the repository location.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the ID of the comparator.
-	 */
-	public void setComparatorID(String value) {
-		comparatorID = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.common/.classpath b/bundles/org.eclipse.equinox.p2.common/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.common/.cvsignore b/bundles/org.eclipse.equinox.p2.common/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.common/.project b/bundles/org.eclipse.equinox.p2.common/.project
deleted file mode 100644
index b2faed8..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.common</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index becffc0..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,347 +0,0 @@
-#Thu Nov 19 09:43:53 EST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dbe72f1..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:14 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index f61f4ed..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,91 +0,0 @@
-#Thu Nov 19 09:43:53 EST 2009
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.common/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.common/META-INF/MANIFEST.MF
deleted file mode 100644
index cc24445..0000000
--- a/bundles/org.eclipse.equinox.p2.common/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.common;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 2.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.common.Activator
-Import-Package: 
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata.query,
- org.osgi.framework;version="1.3.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.common;x-internal:=true,
- org.eclipse.equinox.p2.common
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)",
- org.eclipse.equinox.p2.metadata
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.p2.common/about.html b/bundles/org.eclipse.equinox.p2.common/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.common/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.common/build.properties b/bundles/org.eclipse.equinox.p2.common/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.common/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.common/plugin.properties b/bundles/org.eclipse.equinox.p2.common/plugin.properties
deleted file mode 100644
index 3c8feb5..0000000
--- a/bundles/org.eclipse.equinox.p2.common/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Update Checker
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/internal/p2/common/Activator.java b/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/internal/p2/common/Activator.java
deleted file mode 100644
index f770f15..0000000
--- a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/internal/p2/common/Activator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.common;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Activator class that registers the update checker service.
- */
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.operations"; //$NON-NLS-1$
-	private static BundleContext context;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		Activator.context = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/LicenseManager.java b/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/LicenseManager.java
deleted file mode 100644
index 9a30993..0000000
--- a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/LicenseManager.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.common;
-
-import java.io.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense;
-
-/**
- * LicenseManager defines a service which records the licenses that have been
- * accepted in the course of installing or updating software. It can be used to determine
- * whether a particular license should be presented to a user for acceptance, and
- * to record the user's decision.
- * 
- * @since 2.0
- */
-public abstract class LicenseManager {
-
-	/**
-	 * Record the acceptance of the specified license.
-	 * 
-	 * @param license the license to be accepted
-	 * 
-	 * @return <code>true</code> if the license was recorded as accepted, <code>false</code> if
-	 * it was not.
-	 * 
-	 */
-	public abstract boolean accept(ILicense license);
-
-	/**
-	 * Record the rejection of the specified license.
-	 * 
-	 * @param license the license to be rejected
-	 * 
-	 * @return <code>true</code> if the license was recorded as rejected, <code>false</code> if
-	 * it was not.
-	 * 
-	 */
-	public abstract boolean reject(ILicense license);
-
-	/**
-	 * Return a boolean indicating whether a particular license has previously
-	 * been accepted.
-	 * 
-	 * @param license the license in question
-	 * 
-	 * @return <code>true</code> if the license has previously been accepted,
-	 * <code>false</code> if it has not been accepted before.
-	 * 
-	 */
-	public abstract boolean isAccepted(ILicense license);
-
-	/**
-	 * Return a boolean indicating whether any licenses have been
-	 * accepted.
-	 * 
-	 * @return <code>true</code> if accepted licenses have been recorded,
-	 * <code>false</code> if there have been no licenses accepted.
-
-	 */
-	public abstract boolean hasAcceptedLicenses();
-
-	/**
-	 * Write the accepted licenses list to the specified stream.
-	 * @param stream the stream to which licenses should be written
-	 * @throws IOException 
-	 */
-	public abstract void write(OutputStream stream) throws IOException;
-
-	/**
-	 * Read the accepted licenses list from the specified stream.
-	 * @param stream the stream from which to read the licenses
-	 * @throws IOException 
-	 */
-	public abstract void read(InputStream stream) throws IOException;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/TranslationSupport.java b/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/TranslationSupport.java
deleted file mode 100644
index 964cad9..0000000
--- a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/TranslationSupport.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.common;
-
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.lang.ref.SoftReference;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.common.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * TranslationSupport provides string translations for properties of an 
- * IInstallableUnit.  Clients can specify a queryable that should be used
- * to obtain the translation fragment IU's, as well as the locale that
- * should be used for translations.
- * 
- * @since 2.0
- */
-public class TranslationSupport {
-
-	// TODO: these constants should come from API, eg. IInstallableUnit or ???
-	static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
-	static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
-	private IQueryable fragmentSource;
-	private Locale locale;
-
-	// Cache the IU fragments that provide localizations for a given locale.
-	//    map: locale => soft reference to a collector
-	private Map LocaleCollectorCache = new HashMap(2);
-
-	/**
-	 * Create an instance of TranslationSupport for the current locale.
-	 * Unless otherwise specified, the currently running profile will serve
-	 * as the source of the translation fragments.
-	 * 
-	 * @since 2.0
-	 */
-	public TranslationSupport() {
-		locale = getCurrentLocale();
-		//Due to performance problems, by default we restrict locale lookup to the current profile (see bug 233958)
-		fragmentSource = getSelfProfile();
-	}
-
-	/**
-	 * Set the queryable that should be used to obtain translation fragment
-	 * IUs.
-	 * 
-	 * @param queryable a queryable that can supply the appropriate NLS
-	 * translation fragments
-	 */
-	public void setTranslationSource(IQueryable queryable) {
-		this.fragmentSource = queryable;
-	}
-
-	/**
-	 * Set the locale that should be used when obtaining translations.
-	 * @param locale the locale for which translations should be retrieved.
-	 */
-	public void setLocale(Locale locale) {
-		this.locale = locale;
-	}
-
-	/**
-	 * Return an array of licenses for the specified IInstallableUnit, 
-	 * localized for the receiver's locale.
-	 * 
-	 * @param iu the IInstallableUnit in question
-	 * @return the localized licenses defined by the IInstallableUnit
-	 */
-	public ILicense[] getLicenses(IInstallableUnit iu) {
-		ILicense[] licenses = iu.getLicenses();
-		ILicense[] translatedLicenses = new ILicense[licenses.length];
-		for (int i = 0; i < licenses.length; i++) {
-			translatedLicenses[i] = getLicense(iu, licenses[i]);
-		}
-		return translatedLicenses;
-	}
-
-	/**
-	 * Return the copyright for the specified IInstallableUnit, 
-	 * localized for the receiver's locale.
-	 * 
-	 * @param iu the IInstallableUnit in question
-	 * @return the localized copyright defined by the IInstallableUnit
-	 */
-	public ICopyright getCopyright(IInstallableUnit iu) {
-		ICopyright copyright = iu.getCopyright();
-		String body = (copyright != null ? copyright.getBody() : null);
-		if (body == null || body.length() <= 1 || body.charAt(0) != '%')
-			return copyright;
-		final String actualKey = body.substring(1); // Strip off the %
-		body = getLocalizedIUProperty(iu, actualKey);
-		return MetadataFactory.createCopyright(copyright.getLocation(), body);
-	}
-
-	/**
-	 * Return the localized value for the specified IInstallableUnit
-	 * property.
-	 * 
-	 * @param iu the IInstallableUnit in question
-	 * @param propertyKey the name of the property to be retrieved
-	 * @return the localized property value, or <code>null</code> if no
-	 * such property is defined.
-	 */
-	public String getIUProperty(IInstallableUnit iu, String propertyKey) {
-		String value = iu.getProperty(propertyKey);
-		if (value == null || value.length() <= 1 || value.charAt(0) != '%')
-			return value;
-		// else have a localizable property
-		final String actualKey = value.substring(1); // Strip off the %
-		return getLocalizedIUProperty(iu, actualKey);
-	}
-
-	private ILicense getLicense(IInstallableUnit iu, ILicense license) {
-		String body = (license != null ? license.getBody() : null);
-		if (body == null || body.length() <= 1 || body.charAt(0) != '%')
-			return license;
-		final String actualKey = body.substring(1); // Strip off the %
-		body = getLocalizedIUProperty(iu, actualKey);
-		return MetadataFactory.createLicense(license.getLocation(), body);
-	}
-
-	private String getLocalizedIUProperty(IInstallableUnit iu, String actualKey) {
-		String localizedKey = makeLocalizedKey(actualKey, locale.toString());
-		String localizedValue = null;
-
-		//first check for a cached localized value
-		if (iu instanceof InstallableUnit)
-			localizedValue = ((InstallableUnit) iu).getLocalizedProperty(localizedKey);
-		//next check if the localized value is stored in the same IU (common case)
-		if (localizedValue == null)
-			localizedValue = iu.getProperty(localizedKey);
-		if (localizedValue != null)
-			return localizedValue;
-
-		final List locales = buildLocaleVariants();
-		final IInstallableUnit theUnit = iu;
-
-		Collector localizationFragments = getLocalizationFragments(locales);
-
-		MatchQuery hostLocalizationQuery = new MatchQuery() {
-			public boolean isMatch(Object object) {
-				boolean haveHost = false;
-				if (object instanceof IInstallableUnitFragment) {
-					IInstallableUnitFragment fragment = (IInstallableUnitFragment) object;
-					IRequirement[] hosts = fragment.getHost();
-					for (int i = 0; i < hosts.length; i++) {
-						if (theUnit.satisfies(hosts[i])) {
-							haveHost = true;
-							break;
-						}
-					}
-				}
-				return haveHost;
-			}
-		};
-
-		IQuery iuQuery = new PipedQuery(new IQuery[] {new FragmentQuery(), hostLocalizationQuery});
-		Collector collected = iuQuery.perform(localizationFragments.iterator(), new Collector());
-		if (!collected.isEmpty()) {
-			String translation = null;
-			for (Iterator iter = collected.iterator(); iter.hasNext() && translation == null;) {
-				IInstallableUnit localizationIU = (IInstallableUnit) iter.next();
-				for (Iterator jter = locales.iterator(); jter.hasNext();) {
-					String localeKey = makeLocalizedKey(actualKey, (String) jter.next());
-					translation = localizationIU.getProperty(localeKey);
-					if (translation != null)
-						return cacheResult(iu, localizedKey, translation);
-				}
-			}
-		}
-
-		for (Iterator iter = locales.iterator(); iter.hasNext();) {
-			String nextLocale = (String) iter.next();
-			String localeKey = makeLocalizedKey(actualKey, nextLocale);
-			String nextValue = iu.getProperty(localeKey);
-			if (nextValue != null)
-				return cacheResult(iu, localizedKey, nextValue);
-		}
-
-		return cacheResult(iu, localizedKey, actualKey);
-	}
-
-	/**
-	 * Cache the translated property value to optimize future retrieval of the same value.
-	 * Currently we just cache on the installable unit object in memory. In future
-	 * we should push support for localized property retrieval into IInstallableUnit
-	 * so we aren't required to reach around the API here.
-	 */
-	private String cacheResult(IInstallableUnit iu, String localizedKey, String localizedValue) {
-		if (iu instanceof InstallableUnit)
-			((InstallableUnit) iu).setLocalizedProperty(localizedKey, localizedValue);
-		return localizedValue;
-	}
-
-	/**
-	 * Collects the installable unit fragments that contain locale data for the given locales.
-	 */
-	private synchronized Collector getLocalizationFragments(List localeVariants) {
-		if (fragmentSource == null) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Profile registry unavailable. Default language will be used.", new RuntimeException())); //$NON-NLS-1$
-			return new Collector();
-		}
-
-		SoftReference collectorRef = (SoftReference) LocaleCollectorCache.get(locale);
-		if (collectorRef != null) {
-			Collector cached = (Collector) collectorRef.get();
-			if (cached != null)
-				return cached;
-		}
-
-		final List locales = localeVariants;
-
-		IQuery[] localeQuery = new IQuery[locales.size()];
-		for (int j = 0; j < locales.size(); j++) {
-			localeQuery[j] = new RequiredCapability(NAMESPACE_IU_LOCALIZATION, (String) locales.get(j), VersionRange.emptyRange, null, false, false);
-		}
-
-		IQuery iuQuery = new PipedQuery(new IQuery[] {new FragmentQuery(), CompoundQuery.createCompoundQuery(localeQuery, false)});
-		Collector collected = fragmentSource.query(iuQuery, null);
-		LocaleCollectorCache.put(locale, new SoftReference(collected));
-		return collected;
-	}
-
-	/**
-	 */
-	private List buildLocaleVariants() {
-		String nl = locale.toString();
-		ArrayList result = new ArrayList(4);
-		int lastSeparator;
-		while (true) {
-			result.add(nl);
-			lastSeparator = nl.lastIndexOf('_');
-			if (lastSeparator == -1)
-				break;
-			nl = nl.substring(0, lastSeparator);
-		}
-		// Add the default locale (most general)
-		result.add(DEFAULT_LOCALE.toString());
-		return result;
-	}
-
-	private String makeLocalizedKey(String actualKey, String localeImage) {
-		return localeImage + '.' + actualKey;
-	}
-
-	private Locale getCurrentLocale() {
-		return Locale.getDefault();
-	}
-
-	private IProfile getSelfProfile() {
-		IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(Activator.getContext(), IProvisioningAgent.SERVICE_NAME);
-		if (agent == null)
-			return null;
-		IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		if (registry == null) {
-			return null;
-		}
-		IProfile profile = registry.getProfile(IProfileRegistry.SELF);
-		return profile;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/package.html b/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/package.html
deleted file mode 100644
index f7058c8..0000000
--- a/bundles/org.eclipse.equinox.p2.common/src/org/eclipse/equinox/p2/common/package.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides common utility classes and services that are useful for
-provisioning clients.  These utilities are above the level of the
-p2 core, but do not rely on a UI.
-<h2>
-Package Specification</h2>
-<p>
-This package consists of several utility classes:
-<ol>
-<li><b>LicenseManager</b> describes a service which accepts or rejects
-licenses and remembers the accepted licenses.  Clients should register
-an implementation of LicenseManager in order to remember the
-licenses.
-</li>
-<li><b>TranslationSupport</b> retrieves the externalized (translated)
-values for installable units.
-</li>
-</ol>
-<p>
-@since 2.0
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.console/.classpath b/bundles/org.eclipse.equinox.p2.console/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.console/.project b/bundles/org.eclipse.equinox.p2.console/.project
deleted file mode 100644
index 8278235..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.console</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a455b62..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,340 +0,0 @@
-#Thu Sep 13 22:02:41 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b61b6ad..0000000
--- a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:44 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
deleted file mode 100644
index 40c872b..0000000
--- a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.console;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.console.Activator
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.equinox.internal.p2.console;x-friends:="org.eclipse.equinox.p2.director.app"
-Import-Package: org.eclipse.core.runtime;common=split,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.framework.console;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.util.tracker;version="1.3.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch b/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
deleted file mode 100644
index c4d8769..0000000
--- a/bundles/org.eclipse.equinox.p2.console/Provisioning console.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="d:\tmp\selfhosting"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.app*1.0.100.v20080303@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,javax.servlet*2.4.0.v200711021030@default:default,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.core.runtime*3.4.0.v20080303@default:default,org.eclipse.core.jobs*3.3.100.v20080224@default:default,org.eclipse.core.net*1.0.100.I20080226@default:default,org.eclipse.equinox.common*3.4.0.v20080201@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.osgi*3.4.0.v20080304@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.equinox.registry*3.4.0.v20080201@default:default,org.eclipse.core.contenttype*3.3.0.v20080201@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.sat4j.pb*2.0.0.v20080307@default:default,org.eclipse.equinox.p2.garbagecollector*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*1.6.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.exemplarysetup*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.console*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.touchpoint.eclipse*0.1.0.qualifier@default:default,org.eclipse.ecf*1.4.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.sat4j.core*2.0.0.v20080307@default:default,org.eclipse.equinox.simpleconfigurator.manipulator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.director*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.touchpoint.natives*0.1.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator*0.1.0.qualifier@1:true,org.eclipse.equinox.p2.jarprocessor*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*1.3.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.console/about.html b/bundles/org.eclipse.equinox.p2.console/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.console/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.console/build.properties b/bundles/org.eclipse.equinox.p2.console/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.console/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.console/plugin.properties b/bundles/org.eclipse.equinox.p2.console/plugin.properties
deleted file mode 100644
index e06d376..0000000
--- a/bundles/org.eclipse.equinox.p2.console/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Console
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
deleted file mode 100644
index 42a465e..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/Activator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008, 2009, IBM Corporation and others. All rights reserved. This
- * 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
- *     Composent, Inc. - additions
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator, ServiceTrackerCustomizer {
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.console"; //$NON-NLS-1$
-	private static final String PROVIDER_NAME = "org.eclipse.osgi.framework.console.CommandProvider"; //$NON-NLS-1$
-	private static BundleContext context;
-
-	private ServiceTracker profileTracker;
-	private ProvCommandProvider provider;
-	private ServiceRegistration providerRegistration = null;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public Activator() {
-		super();
-	}
-
-	public void start(BundleContext ctxt) throws Exception {
-		Activator.context = ctxt;
-		boolean registerCommands = true;
-		try {
-			Class.forName(PROVIDER_NAME);
-		} catch (ClassNotFoundException e) {
-			registerCommands = false;
-		}
-
-		if (registerCommands) {
-			profileTracker = new ServiceTracker(context, IProfileRegistry.SERVICE_NAME, this);
-			profileTracker.open();
-		}
-	}
-
-	public void stop(BundleContext ctxt) throws Exception {
-		profileTracker.close();
-		if (providerRegistration != null)
-			providerRegistration.unregister();
-		providerRegistration = null;
-		Activator.context = null;
-	}
-
-	public Object addingService(ServiceReference reference) {
-		BundleContext ctxt = Activator.getContext();
-		IProfileRegistry registry = (IProfileRegistry) ctxt.getService(reference);
-		provider = new ProvCommandProvider(ctxt.getProperty("eclipse.p2.profile"), registry); //$NON-NLS-1$
-		providerRegistration = ctxt.registerService(PROVIDER_NAME, provider, null);
-		return registry;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// nothing
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		if (providerRegistration != null)
-			providerRegistration.unregister();
-		providerRegistration = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
deleted file mode 100644
index f55f4b1..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvCommandProvider.java
+++ /dev/null
@@ -1,619 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008, 2009 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
- * 	Band XI - add more commands
- *  Composent, Inc. - command additions
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.GroupQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-
-/**
- * An OSGi console command provider that adds various commands for interacting
- * with the provisioning system.
- */
-public class ProvCommandProvider implements CommandProvider {
-	private static final String WILDCARD_ANY = "*"; //$NON-NLS-1$
-	public static final String NEW_LINE = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	//	private Profile profile;
-
-	public ProvCommandProvider(String profileId, IProfileRegistry registry) {
-		// look up the profile we are currently running and use it as the
-		// default.
-		// TODO define a way to spec the default profile to manage
-		//		if (profileId != null) {
-		//			profile = registry.getProfile(profileId);
-		//			if (profile != null)
-		//				return;
-		//		}
-		//		// A default was not defined so manage the first profile we can find
-		//		Profile[] profiles = registry.getProfiles();
-		//		if (profiles.length > 0)
-		//			profile = profiles[0];
-	}
-
-	/**
-	 * Adds both a metadata repository and artifact repository
-	 */
-	public void _provaddrepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		// add metadata repo
-		if (ProvisioningHelper.addMetadataRepository(repoURI) == null) {
-			interpreter.println("Unable to add metadata repository: " + repoURI);
-		} else // add artifact repo at same URL
-		if (ProvisioningHelper.addArtifactRepository(repoURI) == null) {
-			interpreter.println("Unable to add artifact repository: " + repoURI);
-		}
-	}
-
-	public void _provdelrepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		ProvisioningHelper.removeMetadataRepository(repoURI);
-		ProvisioningHelper.removeArtifactRepository(repoURI);
-	}
-
-	/**
-	 * Adds a metadata repository.
-	 */
-	public void _provaddmetadatarepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		if (ProvisioningHelper.addMetadataRepository(repoURI) == null)
-			interpreter.println("Unable to add repository: " + repoURI);
-	}
-
-	public void _provdelmetadatarepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		ProvisioningHelper.removeMetadataRepository(repoURI);
-	}
-
-	public void _provaddartifactrepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		if (ProvisioningHelper.addArtifactRepository(repoURI) == null)
-			interpreter.println("Unable to add repository " + repoURI);
-	}
-
-	public void _provdelartifactrepo(CommandInterpreter interpreter) {
-		String urlString = interpreter.nextArgument();
-		if (urlString == null) {
-			interpreter.println("Repository location must be provided");
-			return;
-		}
-		URI repoURI = toURI(interpreter, urlString);
-		if (repoURI == null)
-			return;
-		ProvisioningHelper.removeArtifactRepository(repoURI);
-	}
-
-	/**
-	 * Install a given IU to a given profile location.
-	 */
-	public void _provinstall(CommandInterpreter interpreter) {
-		String iu = interpreter.nextArgument();
-		String version = interpreter.nextArgument();
-		String profileId = interpreter.nextArgument();
-		if (profileId == null || profileId.equals("this")) //$NON-NLS-1$
-			profileId = IProfileRegistry.SELF;
-		if (iu == null || version == null || profileId == null) {
-			interpreter.println("Installable unit id, version, and profileid must be provided");
-			return;
-		}
-		IStatus s = null;
-		try {
-			s = ProvisioningHelper.install(iu, version, ProvisioningHelper.getProfile(profileId), new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			interpreter.println("Installation failed with ProvisionException for " + iu + " " + version);
-			interpreter.printStackTrace(e);
-			return;
-		}
-		if (s.isOK())
-			interpreter.println("Installation complete for " + iu + " " + version);
-		else {
-			interpreter.println("Installation failed for " + iu + " " + version);
-			printErrorStatus(interpreter, s);
-		}
-	}
-
-	/**
-	 * Creates a profile given an id, location, and flavor
-	 */
-	public void _provaddprofile(CommandInterpreter interpreter) {
-		String profileId = interpreter.nextArgument();
-		String location = interpreter.nextArgument();
-		String flavor = interpreter.nextArgument();
-		if (profileId == null || location == null || flavor == null) {
-			interpreter.println("Id, location, and flavor must be provided");
-			return;
-		}
-		String environments = interpreter.nextArgument();
-		Properties props = new Properties();
-		props.setProperty(IProfile.PROP_INSTALL_FOLDER, location);
-		if (environments != null)
-			props.setProperty(IProfile.PROP_ENVIRONMENTS, environments);
-
-		try {
-			ProvisioningHelper.addProfile(profileId, props);
-		} catch (ProvisionException e) {
-			interpreter.println("Add profile failed.  " + e.getMessage());
-			interpreter.printStackTrace(e);
-		}
-	}
-
-	/**
-	 * Deletes a profile given an id, location, and flavor
-	 */
-	public void _provdelprofile(CommandInterpreter interpreter) {
-		String profileId = interpreter.nextArgument();
-		if (profileId == null) {
-			interpreter.println("profileid must be provided");
-			return;
-		}
-		ProvisioningHelper.removeProfile(profileId);
-	}
-
-	/**
-	 * Lists the installable units that match the given URL, id, and/or version.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provliu(CommandInterpreter interpreter) {
-		String urlString = processArgument(interpreter.nextArgument());
-		String id = processArgument(interpreter.nextArgument());
-		String version = processArgument(interpreter.nextArgument());
-		URI repoURL = null;
-		if (urlString != null && !urlString.equals(WILDCARD_ANY))
-			repoURL = toURI(interpreter, urlString);
-		IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoURL, new InstallableUnitQuery(id, new VersionRange(version)), null));
-		for (int i = 0; i < units.length; i++)
-			println(interpreter, units[i]);
-	}
-
-	/**
-	 * Lists the known metadata repositories, or the contents of a given
-	 * metadata repository.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provlr(CommandInterpreter interpreter) {
-		String urlString = processArgument(interpreter.nextArgument());
-		String id = processArgument(interpreter.nextArgument());
-		String version = processArgument(interpreter.nextArgument());
-		if (urlString == null) {
-			URI[] repositories = ProvisioningHelper.getMetadataRepositories();
-			if (repositories != null)
-				for (int i = 0; i < repositories.length; i++)
-					interpreter.println(repositories[i]);
-			return;
-		}
-		URI repoLocation = toURI(interpreter, urlString);
-		if (repoLocation == null)
-			return;
-		IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(repoLocation, new InstallableUnitQuery(id, new VersionRange(version)), null));
-		for (int i = 0; i < units.length; i++)
-			println(interpreter, units[i]);
-	}
-
-	/**
-	 * Lists the group IUs in all known metadata repositories, or in the given
-	 * metadata repository.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provlg(CommandInterpreter interpreter) {
-		String urlString = processArgument(interpreter.nextArgument());
-		IQueryable queryable = null;
-		if (urlString == null) {
-			queryable = (IQueryable) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-			if (queryable == null)
-				return;
-		} else {
-			URI repoURL = toURI(interpreter, urlString);
-			if (repoURL == null)
-				return;
-			queryable = ProvisioningHelper.getMetadataRepository(repoURL);
-			if (queryable == null)
-				return;
-		}
-		IInstallableUnit[] units = sort(queryable.query(new GroupQuery(), null));
-		for (int i = 0; i < units.length; i++)
-			println(interpreter, units[i]);
-	}
-
-	/**
-	 * Lists the known artifact repositories, or the contents of a given
-	 * artifact repository.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provlar(CommandInterpreter interpreter) {
-		String urlString = processArgument(interpreter.nextArgument());
-		if (urlString == null) {
-			URI[] repositories = ProvisioningHelper.getArtifactRepositories();
-			if (repositories == null)
-				return;
-			for (int i = 0; i < repositories.length; i++)
-				interpreter.println(repositories[i]);
-			return;
-		}
-		URI repoURL = toURI(interpreter, urlString);
-		if (repoURL == null)
-			return;
-		IArtifactRepository repo = ProvisioningHelper.getArtifactRepository(repoURL);
-		Collector keys = null;
-		try {
-			keys = (repo != null) ? repo.query(ArtifactKeyQuery.ALL_KEYS, null) : null;
-		} catch (UnsupportedOperationException e) {
-			interpreter.println("Repository does not support queries.");
-			return;
-		}
-		if (keys == null || keys.isEmpty()) {
-			interpreter.println("Repository has no artifacts");
-			return;
-		}
-		IFileArtifactRepository fileRepo = (IFileArtifactRepository) repo.getAdapter(IFileArtifactRepository.class);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(key);
-			for (int j = 0; j < descriptors.length; j++) {
-				IArtifactDescriptor descriptor = descriptors[j];
-				File location = null;
-				if (fileRepo != null)
-					location = fileRepo.getArtifactFile(descriptor);
-				println(interpreter, key, location);
-			}
-
-		}
-	}
-
-	/**
-	 * Returns the given string as an URL, or <code>null</code> if the string
-	 * could not be interpreted as an URL.
-	 */
-	private URI toURI(CommandInterpreter interpreter, String urlString) {
-		try {
-			return new URI(urlString);
-		} catch (URISyntaxException e) {
-			interpreter.print(e.getMessage());
-			interpreter.println();
-			return null;
-		}
-	}
-
-	private String processArgument(String arg) {
-		if (arg == null || arg.equals(WILDCARD_ANY))
-			return null;
-		return arg;
-	}
-
-	/**
-	 * Lists the known profiles, or the contents of a given profile.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provlp(CommandInterpreter interpreter) {
-		String profileId = processArgument(interpreter.nextArgument());
-		String id = processArgument(interpreter.nextArgument());
-		String range = processArgument(interpreter.nextArgument());
-		if (profileId == null) {
-			IProfile[] profiles = ProvisioningHelper.getProfiles();
-			for (int i = 0; i < profiles.length; i++)
-				interpreter.println(profiles[i].getProfileId());
-			return;
-		}
-		// determine which profile is to be listed
-		IProfile target = null;
-		if (profileId.equals("this")) //$NON-NLS-1$
-			profileId = IProfileRegistry.SELF;
-		target = ProvisioningHelper.getProfile(profileId);
-		if (target == null)
-			return;
-
-		// list the profile contents
-		IInstallableUnit[] result = sort(target.query(new InstallableUnitQuery(id, new VersionRange(range)), null));
-		for (int i = 0; i < result.length; i++)
-			interpreter.println(result[i]);
-	}
-
-	/**
-	 * Lists the profile timestamps for a given profile id, if no profile id, the default profile
-	 * is used.
-	 * 
-	 * @param interpreter
-	 */
-	public void _provlpts(CommandInterpreter interpreter) {
-		String profileId = processArgument(interpreter.nextArgument());
-		if (profileId == null || profileId.equals("this")) { //$NON-NLS-1$
-			profileId = IProfileRegistry.SELF;
-		}
-		long[] profileTimestamps = ProvisioningHelper.getProfileTimestamps(profileId);
-		// if no profile timestamps for given id, print that out and done
-		if (profileTimestamps == null || profileTimestamps.length == 0) {
-			interpreter.print("No timestamps found for profile ");
-			interpreter.println(profileId);
-			return;
-		}
-		// else if there are some timestamps then print them out on separate line
-		interpreter.print("Timestamps for profile ");
-		interpreter.println(profileId);
-		for (int i = 0; i < profileTimestamps.length; i++) {
-			interpreter.print("\t"); //$NON-NLS-1$
-			interpreter.println(new Long(profileTimestamps[i]));
-		}
-	}
-
-	/**
-	 * Revert a profile to a given timestamp
-	 */
-	public void _provrevert(CommandInterpreter interpreter) {
-		String timestamp = interpreter.nextArgument();
-		if (timestamp == null) {
-			interpreter.println("Valid timestamp must be provided.  Timestamps can be retrieved via 'provlpts' command.");
-			return;
-		}
-		Long ts = null;
-		try {
-			ts = new Long(timestamp);
-		} catch (NumberFormatException e) {
-			interpreter.println("Timestamp " + timestamp + " not valid.  Timestamps can be retrieved via 'provlpts' command.");
-			return;
-		}
-		String profileId = interpreter.nextArgument();
-		if (profileId == null || profileId.equals("this"))
-			profileId = IProfileRegistry.SELF;
-
-		IProfile profile = ProvisioningHelper.getProfile(profileId);
-		if (profile == null) {
-			interpreter.println("Profile " + profileId + " not found");
-			return;
-		}
-		IStatus s = null;
-		try {
-			s = ProvisioningHelper.revertToPreviousState(profile, ts.longValue());
-		} catch (ProvisionException e) {
-			interpreter.println("revert failed ");
-			interpreter.printStackTrace(e);
-			return;
-		}
-		if (s.isOK())
-			interpreter.println("revert completed");
-		else {
-			interpreter.println("revert failed ");
-			printErrorStatus(interpreter, s);
-		}
-	}
-
-	private IInstallableUnit[] sort(Collector collector) {
-		IInstallableUnit[] units = (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
-		Arrays.sort(units, new Comparator() {
-			public int compare(Object arg0, Object arg1) {
-				return arg0.toString().compareTo(arg1.toString());
-			}
-		});
-		return units;
-	}
-
-	public void _provlgp(CommandInterpreter interpreter) {
-		String profileId = processArgument(interpreter.nextArgument());
-		if (profileId == null || profileId.equals("this")) {
-			profileId = IProfileRegistry.SELF;
-		}
-		IProfile profile = ProvisioningHelper.getProfile(profileId);
-		if (profile == null) {
-			interpreter.println("Profile " + profileId + " not found");
-			return;
-		}
-		IInstallableUnit[] units = sort(ProvisioningHelper.getInstallableUnits(profile, new GroupQuery(), new NullProgressMonitor()));
-		// Now print out results
-		for (int i = 0; i < units.length; i++)
-			println(interpreter, units[i]);
-
-	}
-
-	public void _provremove(CommandInterpreter interpreter) {
-		String iu = interpreter.nextArgument();
-		String version = interpreter.nextArgument();
-		String profileId = interpreter.nextArgument();
-		if (profileId == null || profileId.equals("this"))
-			profileId = IProfileRegistry.SELF;
-		if (version == null) {
-			version = Version.emptyVersion.toString();
-		}
-		if (iu == null) {
-			interpreter.println("Installable unit id must be provided");
-			return;
-		}
-		IStatus s = null;
-		try {
-			s = ProvisioningHelper.uninstall(iu, version, ProvisioningHelper.getProfile(profileId), new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			interpreter.println("Remove failed with ProvisionException for " + iu + " " + version);
-			interpreter.printStackTrace(e);
-			return;
-		}
-		if (s.isOK())
-			interpreter.println("Remove complete for " + iu + " " + version);
-		else {
-			interpreter.println("Remove failed for " + iu + " " + version);
-			printErrorStatus(interpreter, s);
-		}
-	}
-
-	private void printErrorStatus(CommandInterpreter interpreter, IStatus status) {
-		interpreter.print("--Error status ");
-		interpreter.print("message=" + status.getMessage());
-		interpreter.print(",code=" + status.getCode());
-		String severityString = null;
-		switch (status.getSeverity()) {
-			case IStatus.INFO :
-				severityString = "INFO";
-				break;
-			case IStatus.CANCEL :
-				severityString = "CANCEL";
-				break;
-			case IStatus.WARNING :
-				severityString = "WARNING";
-				break;
-			case IStatus.ERROR :
-				severityString = "ERROR";
-				break;
-		}
-		interpreter.print(",severity=" + severityString);
-		interpreter.print(",bundle=" + status.getPlugin());
-		interpreter.println("--");
-		Throwable t = status.getException();
-		if (t != null)
-			interpreter.printStackTrace(t);
-		IStatus[] children = status.getChildren();
-		if (children != null && children.length > 0) {
-			interpreter.println("Error status children:");
-			for (int i = 0; i < children.length; i++) {
-				printErrorStatus(interpreter, children[i]);
-			}
-		}
-		interpreter.println("--End Error Status--");
-	}
-
-	public String getHelp() {
-		StringBuffer help = new StringBuffer();
-		help.append(NEW_LINE);
-		help.append("---");
-		help.append("P2 Provisioning Commands");
-		help.append("---");
-		help.append(NEW_LINE);
-
-		help.append("---");
-		help.append("Repository Commands");
-		help.append("---");
-		help.append(NEW_LINE);
-		help.append("\tprovaddrepo <repository URI> - Adds a both a metadata and artifact repository at URI");
-		help.append(NEW_LINE);
-		help.append("\tprovdelrepo <repository URI> - Deletes a metadata and artifact repository at URI");
-		help.append(NEW_LINE);
-		help.append("\tprovaddmetadatarepo <repository URI> - Adds a metadata repository at URI");
-		help.append(NEW_LINE);
-		help.append("\tprovdelmetadatarepo <repository URI> - Deletes a metadata repository at URI");
-		help.append(NEW_LINE);
-		help.append("\tprovaddartifactrepo <repository URI> - Adds an artifact repository at URI");
-		help.append(NEW_LINE);
-		help.append("\tprovdelartifactrepo <repository URI> - Deletes an artifact repository URI");
-		help.append(NEW_LINE);
-		help.append("\tprovlg [<repository URI> <iu id | *> <version range | *>] - Lists all IUs with group capabilities in the given repo or in all repos if URI is omitted");
-		help.append(NEW_LINE);
-		help.append("\tprovlr [<repository URI> <iu id | *> <version range | *>]   - Lists all metadata repositories, or the contents of a given metadata repository");
-		help.append(NEW_LINE);
-		help.append("\tprovlar [<repository URI>] - Lists all artifact repositories, or the contents of a given artifact repository");
-		help.append(NEW_LINE);
-		help.append("\tprovliu [<repository URI | *> <iu id | *> <version range | *>] - Lists the IUs that match the pattern in the given repo.  * matches all");
-		help.append(NEW_LINE);
-
-		help.append("---");
-		help.append("Profile Registry Commands");
-		help.append("---");
-		help.append(NEW_LINE);
-
-		help.append("\tprovaddprofile <profileid> <location> <flavor> - Adds a profile with the given profileid, location and flavor");
-		help.append(NEW_LINE);
-		help.append("\tprovdelprofile <profileid> - Deletes a profile with the given profileid");
-		help.append(NEW_LINE);
-		help.append("\tprovlp [<profileid | *>] - Lists all profiles, or the contents of the profile at the given profile");
-		help.append(NEW_LINE);
-		help.append("\tprovlgp [<profileid>] - Lists all IUs with group capabilities in the given profile, or current profile if profileid is omitted");
-		help.append(NEW_LINE);
-		help.append("\tprovlpts [<profileid>] - Lists timestamps for given profile, or if no profileid given then the default profile timestamps are reported");
-		help.append(NEW_LINE);
-
-		help.append("---");
-		help.append("Install Commands");
-		help.append("---");
-		help.append(NEW_LINE);
-
-		help.append("\tprovinstall <InstallableUnit> <version> <profileid> - installs an IU to the profileid.  If no profileid is given, installs into default profile.");
-		help.append(NEW_LINE);
-		help.append("\tprovremove <InstallableUnit> <version> <profileid> - Removes an IU from the profileid.  If no profileid is given, installs into default profile.");
-		help.append(NEW_LINE);
-		help.append("\tprovrevert <profileTimestamp> <profileid>] - Reverts to a given profileTimestamp for an optional profileId");
-		help.append(NEW_LINE);
-
-		return help.toString();
-	}
-
-	/**
-	 * Prints a string representation of an {@link IInstallableUnit} to the
-	 * iterpreter's output stream.
-	 */
-	public void print(CommandInterpreter interpreter, IInstallableUnit unit) {
-		interpreter.print(unit.getId() + ' ' + unit.getVersion());
-	}
-
-	/**
-	 * Prints a string representation of an {@link IInstallableUnit} to the
-	 * iterpreter's output stream, following by a line terminator
-	 */
-	public void println(CommandInterpreter interpreter, IInstallableUnit unit) {
-		print(interpreter, unit);
-		interpreter.println();
-	}
-
-	private void println(CommandInterpreter interpreter, IArtifactKey artifactKey, File location) {
-		interpreter.print(artifactKey.toString() + ' ' + location);
-		interpreter.println();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java b/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
deleted file mode 100644
index 7cc7c69..0000000
--- a/bundles/org.eclipse.equinox.p2.console/src/org/eclipse/equinox/internal/p2/console/ProvisioningHelper.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.console;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-
-public class ProvisioningHelper {
-
-	public static IMetadataRepository addMetadataRepository(URI location) {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("No metadata repository manager found");
-		try {
-			return manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-
-		// for convenience create and add a repository here
-		String repositoryName = location + " - metadata";
-		try {
-			return manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			return null;
-		}
-	}
-
-	public static IMetadataRepository getMetadataRepository(URI location) {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("No metadata repository manager found");
-		try {
-			return manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			return null;
-		}
-	}
-
-	public static void removeMetadataRepository(URI location) {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("No metadata repository manager found");
-		manager.removeRepository(location);
-	}
-
-	public static IArtifactRepository addArtifactRepository(URI location) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		try {
-			return manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-		// could not load a repo at that location so create one as a convenience
-		String repositoryName = location + " - artifacts";
-		try {
-			return manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			return null;
-		}
-	}
-
-	public static void removeArtifactRepository(URI location) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return;
-		manager.removeRepository(location);
-	}
-
-	public static IProfile addProfile(String profileId, Properties properties) throws ProvisionException {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			return null;
-		IProfile profile = profileRegistry.getProfile(profileId);
-		if (profile != null)
-			return profile;
-
-		Map profileProperties = new HashMap();
-
-		for (Iterator it = properties.keySet().iterator(); it.hasNext();) {
-			String key = (String) it.next();
-			profileProperties.put(key, properties.getProperty(key));
-		}
-
-		if (profileProperties.get(IProfile.PROP_ENVIRONMENTS) == null) {
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-			if (info != null)
-				profileProperties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch()); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-			else
-				profileProperties.put(IProfile.PROP_ENVIRONMENTS, "");
-		}
-
-		return profileRegistry.addProfile(profileId, profileProperties);
-	}
-
-	public static void removeProfile(String profileId) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			return;
-		profileRegistry.removeProfile(profileId);
-	}
-
-	public static IProfile[] getProfiles() {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			return new IProfile[0];
-		return profileRegistry.getProfiles();
-	}
-
-	public static IProfile getProfile(String id) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			return null;
-		return profileRegistry.getProfile(id);
-	}
-
-	/**
-	 * Returns the installable units that match the given query
-	 * in the given metadata repository.
-	 * 
-	 * @param location The location of the metadata repo to search.  <code>null</code> indicates
-	 *        search all known repos.
-	 * @param query The query to perform
-	 * @param monitor A progress monitor, or <code>null</code>
-	 * @return The IUs that match the query
-	 */
-
-	public static Collector getInstallableUnits(IProfile profile, IQuery query, IProgressMonitor monitor) {
-		return profile.query(query, monitor);
-	}
-
-	/**
-	 * Returns the installable units that match the given query
-	 * in the given metadata repository.
-	 * 
-	 * @param location The location of the metadata repo to search.  <code>null</code> indicates
-	 *        search all known repos.
-	 * @param query The query to perform
-	 * @param monitor A progress monitor, or <code>null</code>
-	 * @return The IUs that match the query
-	 */
-	public static Collector getInstallableUnits(URI location, IQuery query, IProgressMonitor monitor) {
-		IQueryable queryable = null;
-		if (location == null) {
-			queryable = (IQueryable) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		} else {
-			queryable = getMetadataRepository(location);
-		}
-		if (queryable != null)
-			return queryable.query(query, monitor);
-		return new Collector();
-	}
-
-	public static URI[] getMetadataRepositories() {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		URI[] repos = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		if (repos.length > 0)
-			return repos;
-		return null;
-	}
-
-	/**
-	 * Install the described IU
-	 */
-	public static IStatus install(String unitId, String version, IProfile profile, IProgressMonitor progress) throws ProvisionException {
-		if (profile == null)
-			return null;
-		Collector units = getInstallableUnits((URI) null, new InstallableUnitQuery(unitId, Version.create(version)), progress);
-		if (units.isEmpty()) {
-			StringBuffer error = new StringBuffer();
-			error.append("Installable unit not found: " + unitId + ' ' + version + '\n');
-			error.append("Repositories searched:\n");
-			URI[] repos = getMetadataRepositories();
-			if (repos != null) {
-				for (int i = 0; i < repos.length; i++)
-					error.append(repos[i] + "\n");
-			}
-			throw new ProvisionException(error.toString());
-		}
-
-		IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-		if (planner == null)
-			throw new ProvisionException("No planner service found.");
-
-		IEngine engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
-		if (engine == null)
-			throw new ProvisionException("No director service found.");
-		IInstallableUnit[] toInstall = (IInstallableUnit[]) units.toArray(IInstallableUnit.class);
-		ProvisioningContext context = new ProvisioningContext();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstall);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, progress);
-		return PlanExecutionHelper.executePlan(result, engine, context, progress);
-	}
-
-	public static URI[] getArtifactRepositories() {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			// TODO log here
-			return null;
-		URI[] repos = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		if (repos.length > 0)
-			return repos;
-		return null;
-	}
-
-	public static IArtifactRepository getArtifactRepository(URI repoURL) {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		try {
-			if (manager != null)
-				return manager.loadRepository(repoURL, null);
-		} catch (ProvisionException e) {
-			//for console, just ignore repositories that can't be read
-		}
-		return null;
-	}
-
-	public static long[] getProfileTimestamps(String profileId) {
-		if (profileId == null) {
-			profileId = IProfileRegistry.SELF;
-		}
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			return null;
-		return profileRegistry.listProfileTimestamps(profileId);
-	}
-
-	public static IStatus revertToPreviousState(IProfile profile, long revertToPreviousState) throws ProvisionException {
-		IEngine engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
-		if (engine == null)
-			throw new ProvisionException("No p2 engine found.");
-		IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-		if (planner == null)
-			throw new ProvisionException("No planner found.");
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			throw new ProvisionException("profile registry cannot be null");
-		// If given profile is null, then get/use the self profile
-		if (profile == null) {
-			profile = getProfile(IProfileRegistry.SELF);
-		}
-		IProfile targetProfile = null;
-		if (revertToPreviousState == 0) {
-			long[] profiles = profileRegistry.listProfileTimestamps(profile.getProfileId());
-			if (profiles.length == 0)
-				// Nothing to do, as the profile does not have any previous timestamps
-				return Status.OK_STATUS;
-			targetProfile = profileRegistry.getProfile(profile.getProfileId(), profiles[profiles.length - 1]);
-		} else {
-			targetProfile = profileRegistry.getProfile(profile.getProfileId(), revertToPreviousState);
-		}
-		if (targetProfile == null)
-			throw new ProvisionException("target profile with timestamp=" + revertToPreviousState + " not found");
-		URI[] artifactRepos = getArtifactRepositories();
-		URI[] metadataRepos = getMetadataRepositories();
-		IProvisioningPlan plan = planner.getDiffPlan(profile, targetProfile, new NullProgressMonitor());
-		ProvisioningContext context = new ProvisioningContext(metadataRepos);
-		context.setArtifactRepositories(artifactRepos);
-		return PlanExecutionHelper.executePlan(plan, engine, context, new NullProgressMonitor());
-	}
-
-	/**
-	 * Install the described IU
-	 */
-	public static IStatus uninstall(String unitId, String version, IProfile profile, IProgressMonitor progress) throws ProvisionException {
-		if (profile == null)
-			return null;
-		Collector units = getInstallableUnits(profile, new InstallableUnitQuery(unitId, Version.create(version)), progress);
-		if (units.isEmpty()) {
-			StringBuffer error = new StringBuffer();
-			error.append("Installable unit not found: " + unitId + ' ' + version + '\n');
-			error.append("Repositories searched:\n");
-			URI[] repos = getMetadataRepositories();
-			if (repos != null) {
-				for (int i = 0; i < repos.length; i++)
-					error.append(repos[i] + "\n"); //$NON-NLS-1$
-			}
-			throw new ProvisionException(error.toString());
-		}
-
-		IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-		if (planner == null)
-			throw new ProvisionException("No planner service found.");
-
-		IEngine engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
-		if (engine == null)
-			throw new ProvisionException("No engine service found.");
-		IInstallableUnit[] toUninstall = (IInstallableUnit[]) units.toArray(IInstallableUnit.class);
-		ProvisioningContext context = new ProvisioningContext();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.removeInstallableUnits(toUninstall);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, progress);
-		return PlanExecutionHelper.executePlan(result, engine, context, progress);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/.classpath b/bundles/org.eclipse.equinox.p2.core/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.core/.options b/bundles/org.eclipse.equinox.p2.core/.options
deleted file mode 100644
index 92221e7..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.options
+++ /dev/null
@@ -1,38 +0,0 @@
-#Turn on debugging for p2
-org.eclipse.equinox.p2.core/debug=false
-
-#Detailed debugging information while parsing p2 data files
-org.eclipse.equinox.p2.core/core/parseproblems=false
-
-#Detailed debugging information when a repository is removed from a repository manager
-org.eclipse.equinox.p2.core/core/removeRepo=false
-
-#Detailed debugging information while parsing site.xml and feature.xml files in the generator
-org.eclipse.equinox.p2.core/generator/parsing=false
-
-#Detailed debugging information while saving/restoring the engine's install registry
-org.eclipse.equinox.p2.core/engine/installregistry=false
-
-#Detailed debugging information while saving/restoring profile preferences
-org.eclipse.equinox.p2.core/engine/profilepreferences=false
-
-#Detailed debugging information while saving/restoring metadata repositories
-org.eclipse.equinox.p2.core/metadata/parsing=false
-
-#Detailed debugging information about mirror selection
-org.eclipse.equinox.p2.core/artifacts/mirrors=false
-
-#Detailed debugging information about automatic update checking
-org.eclipse.equinox.p2.core/updatechecker=false
-
-#Detailed debugging information about the operands being generated
-org.eclipse.equinox.p2.core/planner/operands=false
-
-#Detailed debugging information about the projector 
-org.eclipse.equinox.p2.core/planner/projector=false
-
-#Detailed debugging information about the reconciler 
-org.eclipse.equinox.p2.core/reconciler=false
-
-#Detailed debugging information about the publisher
-org.eclipse.equinox.p2.core/publisher=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/.project b/bundles/org.eclipse.equinox.p2.core/.project
deleted file mode 100644
index b15e13e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 327fbe6..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,346 +0,0 @@
-#Mon Aug 24 11:19:53 EDT 2009
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c454095..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:48 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index 7b4e4a2..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,88 +0,0 @@
-#Wed Dec 03 12:05:24 EST 2008
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d4e1269..0000000
--- a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,104 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.1.0.qualifier
-Import-Package: org.eclipse.osgi.framework.eventmgr;version="1.2.0",
- org.eclipse.osgi.framework.log;version="1.0.0",
- org.eclipse.osgi.service.debug;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.p2.core;x-friends:="org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.repository",
- org.eclipse.equinox.internal.p2.core.helpers;
-  x-friends:="org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.common,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.download,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.metadata,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.frameworkadmin.test,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.repositoryoptimizer,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.updatechecker,
-   org.eclipse.equinox.p2.updatechecker.app,
-   org.eclipse.equinox.p2.garbagecollector,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.equinox.p2.repository",
- org.eclipse.equinox.internal.provisional.p2.core;
-  x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.updatechecker,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.pde.ui,
-   org.eclipse.equinox.p2.metadata,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.equinox.p2.repository,
-   org.eclipse.pde.core",
- org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-  x-friends:="org.eclipse.equinox.p2.metadata,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.garbagecollector,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.repository",
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.spi
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Bundle-Activator: org.eclipse.equinox.internal.p2.core.Activator
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
-Service-Component: OSGI-INF/eventBus.xml, OSGI-INF/agentProvider.xml
diff --git a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/agentProvider.xml b/bundles/org.eclipse.equinox.p2.core/OSGI-INF/agentProvider.xml
deleted file mode 100644
index adf24cc..0000000
--- a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/agentProvider.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.di.agentProvider">
-   <implementation class="org.eclipse.equinox.internal.p2.core.DefaultAgentProvider"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.IProvisioningAgentProvider"/>
-   </service>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/eventBus.xml b/bundles/org.eclipse.equinox.p2.core/OSGI-INF/eventBus.xml
deleted file mode 100644
index cae6c43..0000000
--- a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/eventBus.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.core.eventbus">
-   <implementation class="org.eclipse.equinox.internal.p2.core.EventBusComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus"/>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.p2.core/build.properties b/bundles/org.eclipse.equinox.p2.core/build.properties
deleted file mode 100644
index 4f52e07..0000000
--- a/bundles/org.eclipse.equinox.p2.core/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               OSGI-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.core/plugin.properties b/bundles/org.eclipse.equinox.p2.core/plugin.properties
deleted file mode 100644
index 228ee34..0000000
--- a/bundles/org.eclipse.equinox.p2.core/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Core
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
deleted file mode 100644
index c633815..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/Activator.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class Activator implements BundleActivator {
-	public static IAgentLocation agentDataLocation = null;
-
-	public static BundleContext context;
-	private static final String DEFAULT_AGENT_LOCATION = "../p2"; //$NON-NLS-1$
-	public static final String ID = "org.eclipse.equinox.p2.core"; //$NON-NLS-1$
-
-	private static Activator instance;
-	// Data mode constants for user, configuration and data locations.
-	private static final String NO_DEFAULT = "@noDefault"; //$NON-NLS-1$
-	private static final String NONE = "@none"; //$NON-NLS-1$
-
-	private static final String PROP_AGENT_DATA_AREA = "eclipse.p2.data.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_DIR = "osgi.configuration.area"; //$NON-NLS-1$
-	private static final String PROP_USER_DIR = "user.dir"; //$NON-NLS-1$
-	private static final String PROP_USER_HOME = "user.home"; //$NON-NLS-1$
-
-	public static final String READ_ONLY_AREA_SUFFIX = ".readOnly"; //$NON-NLS-1$
-
-	private static final String VAR_CONFIG_DIR = "@config.dir"; //$NON-NLS-1$
-	private static final String VAR_USER_DIR = "@user.dir"; //$NON-NLS-1$
-	private static final String VAR_USER_HOME = "@user.home"; //$NON-NLS-1$
-
-	private ServiceRegistration agentLocationRegistration = null;
-	ServiceTracker logTracker;
-
-	/**
-	 * NOTE: This method is copied from LocationHelper in org.eclipse.osgi
-	 * due to access restrictions.
-	 */
-	private static URI adjustTrailingSlash(URI url, boolean trailingSlash) throws URISyntaxException {
-		String file = url.toString();
-		if (trailingSlash == (file.endsWith("/"))) //$NON-NLS-1$
-			return url;
-		file = trailingSlash ? file + "/" : file.substring(0, file.length() - 1); //$NON-NLS-1$
-		return new URI(file);
-	}
-
-	/**
-	 * Builds a URL with the given specification
-	 * NOTE: This method is copied from LocationHelper in org.eclipse.osgi
-	 * due to access restrictions.
-	 * 
-	 * @param spec the URL specification
-	 * @param trailingSlash flag to indicate a trailing slash on the spec
-	 * @return a URL
-	 */
-	private static URI buildURL(String spec, boolean trailingSlash) {
-		if (spec == null)
-			return null;
-		boolean isFile = spec.startsWith("file:"); //$NON-NLS-1$
-		try {
-			if (isFile)
-				return adjustTrailingSlash(new File(spec.substring(5)).toURI(), trailingSlash);
-			return new URI(spec);
-		} catch (URISyntaxException e) {
-			// if we failed and it is a file spec, there is nothing more we can do
-			// otherwise, try to make the spec into a file URL.
-			if (isFile)
-				return null;
-			try {
-				return adjustTrailingSlash(new File(spec).toURI(), trailingSlash);
-			} catch (URISyntaxException e1) {
-				return null;
-			}
-		}
-	}
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	/**
-	 * Returns the framework log, or null if not available
-	 */
-	public static FrameworkLog getFrameworkLog() {
-		//protect against concurrent shutdown
-		Activator a = instance;
-		if (a == null)
-			return null;
-		ServiceTracker tracker = a.getLogTracker();
-		if (tracker == null)
-			return null;
-		return (FrameworkLog) tracker.getService();
-	}
-
-	private static String substituteVar(String source, String var, String prop) {
-		String value = Activator.context.getProperty(prop);
-		if (value == null)
-			value = ""; //$NON-NLS-1$
-		return value + source.substring(var.length());
-	}
-
-	private IAgentLocation buildLocation(String property, URI defaultLocation, boolean readOnlyDefault, boolean addTrailingSlash) {
-		String location = Activator.context.getProperty(property);
-		// if the instance location is not set, predict where the workspace will be and 
-		// put the instance area inside the workspace meta area.
-		if (location == null)
-			return new AgentLocation(defaultLocation);
-		if (location.equalsIgnoreCase(NONE))
-			return null;
-		if (location.equalsIgnoreCase(NO_DEFAULT))
-			return new AgentLocation(null);
-		if (location.startsWith(VAR_USER_HOME)) {
-			String base = substituteVar(location, VAR_USER_HOME, PROP_USER_HOME);
-			location = new Path(base).toFile().getAbsolutePath();
-		} else if (location.startsWith(VAR_USER_DIR)) {
-			String base = substituteVar(location, VAR_USER_DIR, PROP_USER_DIR);
-			location = new Path(base).toFile().getAbsolutePath();
-		} else if (location.startsWith(VAR_CONFIG_DIR)) {
-			//note the config dir system property is already a URL
-			location = substituteVar(location, VAR_CONFIG_DIR, PROP_CONFIG_DIR);
-		}
-		URI url = buildURL(location, addTrailingSlash);
-		AgentLocation result = null;
-		if (url != null) {
-			result = new AgentLocation(url);
-		}
-		return result;
-	}
-
-	private ServiceTracker getLogTracker() {
-		if (logTracker != null)
-			return logTracker;
-		//lazy init if the bundle has been started
-		if (context == null)
-			return null;
-		logTracker = new ServiceTracker(context, FrameworkLog.class.getName(), null);
-		logTracker.open();
-		return logTracker;
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		instance = this;
-		Activator.context = aContext;
-		URI defaultLocation = URIUtil.fromString(aContext.getProperty(PROP_CONFIG_DIR) + DEFAULT_AGENT_LOCATION + '/');
-		agentDataLocation = buildLocation(PROP_AGENT_DATA_AREA, defaultLocation, false, true);
-		Dictionary locationProperties = new Hashtable();
-		if (agentDataLocation != null) {
-			locationProperties.put("type", PROP_AGENT_DATA_AREA); //$NON-NLS-1$
-			agentLocationRegistration = aContext.registerService(IAgentLocation.SERVICE_NAME, agentDataLocation, locationProperties);
-		}
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		instance = null;
-		agentDataLocation = null;
-		if (agentLocationRegistration != null)
-			agentLocationRegistration.unregister();
-		if (logTracker != null) {
-			logTracker.close();
-			logTracker = null;
-		}
-		Activator.context = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/AgentLocation.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/AgentLocation.java
deleted file mode 100644
index 75849e0..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/AgentLocation.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.net.URI;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-
-/**
- * Internal class.
- */
-public class AgentLocation implements IAgentLocation {
-
-	private URI location = null;
-
-	public AgentLocation(URI location) {
-		this.location = location;
-	}
-
-	public synchronized URI getRootLocation() {
-		return location;
-	}
-
-	public URI getDataArea(String touchpointId) {
-		return URIUtil.append(getRootLocation(), touchpointId + '/');
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/DefaultAgentProvider.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/DefaultAgentProvider.java
deleted file mode 100644
index 8d086e5..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/DefaultAgentProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.net.URI;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.p2.core.*;
-import org.osgi.framework.*;
-
-/**
- * Default implementation of {@link IProvisioningAgentProvider}.
- */
-public class DefaultAgentProvider implements IProvisioningAgentProvider {
-	private BundleContext context;
-
-	public void activate(BundleContext aContext) {
-		this.context = aContext;
-	}
-
-	public IProvisioningAgent createAgent(URI location) {
-		ProvisioningAgent result = new ProvisioningAgent();
-		result.setBundleContext(context);
-		result.setLocation(location);
-		IAgentLocation agentLocation = (IAgentLocation) result.getService(IAgentLocation.SERVICE_NAME);
-		Dictionary properties = new Hashtable(5);
-		if (agentLocation != null)
-			properties.put("locationURI", String.valueOf(agentLocation.getRootLocation())); //$NON-NLS-1$
-		//make the currently running system have a higher service ranking
-		if (location == null) {
-			properties.put(Constants.SERVICE_RANKING, new Integer(100));
-			properties.put(IProvisioningAgent.SERVICE_CURRENT, Boolean.TRUE.toString());
-		}
-		ServiceRegistration reg = context.registerService(IProvisioningAgent.SERVICE_NAME, result, properties);
-		result.setServiceRegistration(reg);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/EventBusComponent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/EventBusComponent.java
deleted file mode 100644
index 095efde..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/EventBusComponent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-
-/**
- * Factory for creating {@link IProvisioningEventBus} instances.
- */
-public class EventBusComponent implements IAgentServiceFactory {
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.core.spi.IAgentServiceFactory#createService(org.eclipse.equinox.p2.core.IProvisioningAgent)
-	 */
-	public Object createService(IProvisioningAgent agent) {
-		return new ProvisioningEventBus();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java
deleted file mode 100644
index dc2d49e..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.osgi.framework.*;
-
-/**
- * Represents a p2 agent instance.
- */
-public class ProvisioningAgent implements IProvisioningAgent {
-
-	private final Map agentServices = Collections.synchronizedMap(new HashMap());
-	private BundleContext context;
-	private boolean stopped = false;
-	private ServiceRegistration reg;
-
-	/**
-	 * Instantiates a provisioning agent.
-	 */
-	public ProvisioningAgent() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.core.IProvisioningAgent#getService(java.lang.String)
-	 */
-	public Object getService(String serviceName) {
-		checkRunning();
-		Object service = agentServices.get(serviceName);
-		if (service != null)
-			return service;
-		//attempt to get factory service from service registry
-		ServiceReference[] refs;
-		try {
-			refs = context.getServiceReferences(IAgentServiceFactory.SERVICE_NAME, "(" + IAgentServiceFactory.PROP_CREATED_SERVICE_NAME + '=' + serviceName + ')'); //$NON-NLS-1$
-		} catch (InvalidSyntaxException e) {
-			e.printStackTrace();
-			return null;
-		}
-		if (refs == null || refs.length == 0)
-			return null;
-		IAgentServiceFactory factory = (IAgentServiceFactory) context.getService(refs[0]);
-		if (factory == null)
-			return null;
-		try {
-			service = factory.createService(this);
-		} finally {
-			context.ungetService(refs[0]);
-		}
-		if (service != null)
-			agentServices.put(serviceName, service);
-		return service;
-	}
-
-	private synchronized void checkRunning() {
-		if (stopped)
-			throw new RuntimeException("Attempt to access stopped agent: " + this);
-	}
-
-	public void registerService(String serviceName, Object service) {
-		checkRunning();
-		agentServices.put(serviceName, service);
-	}
-
-	public void setBundleContext(BundleContext context) {
-		this.context = context;
-	}
-
-	public void setLocation(URI location) {
-		//treat a null location as using the currently running platform
-		IAgentLocation agentLocation = null;
-		if (location == null) {
-			ServiceReference ref = context.getServiceReference(IAgentLocation.SERVICE_NAME);
-			if (ref != null) {
-				agentLocation = (IAgentLocation) context.getService(ref);
-				context.ungetService(ref);
-			}
-		} else {
-			agentLocation = new AgentLocation(location);
-		}
-		agentServices.put(IAgentLocation.SERVICE_NAME, agentLocation);
-	}
-
-	public void unregisterService(String serviceName, Object service) {
-		synchronized (this) {
-			if (stopped)
-				return;
-		}
-		synchronized (agentServices) {
-			if (agentServices.get(serviceName) == service)
-				agentServices.remove(serviceName);
-		}
-	}
-
-	public synchronized void stop() {
-		stopped = true;
-		if (reg != null) {
-			reg.unregister();
-			reg = null;
-		}
-	}
-
-	public void setServiceRegistration(ServiceRegistration reg) {
-		this.reg = reg;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
deleted file mode 100644
index 2bb8df9..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningEventBus.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.util.EventObject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.*;
-import org.eclipse.osgi.framework.eventmgr.*;
-
-/**
- * Default implementation of the {@link IProvisioningEventBus} service.
- */
-public class ProvisioningEventBus implements EventDispatcher, IProvisioningEventBus {
-	private final CopyOnWriteIdentityMap syncListeners = new CopyOnWriteIdentityMap();
-	private final CopyOnWriteIdentityMap asyncListeners = new CopyOnWriteIdentityMap();
-	private EventManager eventManager = new EventManager("Provisioning Event Dispatcher"); //$NON-NLS-1$
-
-	private Object dispatchEventLock = new Object();
-	/* @GuardedBy("dispatchEventLock") */
-	private boolean closed = false;
-	/* @GuardedBy("dispatchEventLock") */
-	private int dispatchingEvents = 0;
-
-	public ProvisioningEventBus() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#addListener(org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener)
-	 */
-	public void addListener(ProvisioningListener toAdd) {
-		if (toAdd instanceof SynchronousProvisioningListener) {
-			synchronized (syncListeners) {
-				syncListeners.put(toAdd, toAdd);
-			}
-		} else {
-			synchronized (asyncListeners) {
-				asyncListeners.put(toAdd, toAdd);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#removeListener(org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener)
-	 */
-	public void removeListener(ProvisioningListener toRemove) {
-		if (toRemove instanceof SynchronousProvisioningListener) {
-			synchronized (syncListeners) {
-				syncListeners.remove(toRemove);
-			}
-		} else {
-			synchronized (asyncListeners) {
-				asyncListeners.remove(toRemove);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#publishEvent(java.util.EventObject)
-	 */
-	public void publishEvent(EventObject event) {
-		synchronized (dispatchEventLock) {
-			if (closed)
-				return;
-		}
-		/* queue to hold set of listeners */
-		ListenerQueue listeners = new ListenerQueue(eventManager);
-
-		/* synchronize while building the listener list */
-		synchronized (syncListeners) {
-			/* add set of BundleContexts w/ listeners to queue */
-			listeners.queueListeners(syncListeners.entrySet(), this);
-			/* synchronously dispatch to populate listeners queue */
-			listeners.dispatchEventSynchronous(0, event);
-		}
-
-		listeners = new ListenerQueue(eventManager);
-		synchronized (asyncListeners) {
-			listeners.queueListeners(asyncListeners.entrySet(), this);
-			synchronized (dispatchEventLock) {
-				if (!closed)
-					listeners.dispatchEventAsynchronous(0, event);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#dispatchEvent(java.lang.Object, java.lang.Object, int, java.lang.Object)
-	 */
-	public void dispatchEvent(Object eventListener, Object listenerObject, int eventAction, Object eventObject) {
-		synchronized (dispatchEventLock) {
-			if (closed)
-				return;
-			dispatchingEvents++;
-		}
-		try {
-			((ProvisioningListener) eventListener).notify((EventObject) eventObject);
-		} catch (Exception e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Exception during event notification", e)); //$NON-NLS-1$
-		} finally {
-			synchronized (dispatchEventLock) {
-				dispatchingEvents--;
-				if (dispatchingEvents == 0)
-					dispatchEventLock.notifyAll();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus#close()
-	 */
-	public void close() {
-		boolean interrupted = false;
-		synchronized (dispatchEventLock) {
-			eventManager.close();
-			closed = true;
-			while (dispatchingEvents != 0) {
-				try {
-					dispatchEventLock.wait(30000); // we're going to cap waiting time at 30s
-					break;
-				} catch (InterruptedException e) {
-					// keep waiting but flag interrupted
-					interrupted = true;
-				}
-			}
-		}
-		if (interrupted)
-			Thread.currentThread().interrupt();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
deleted file mode 100644
index 9303784..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/StringPool.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2004, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core;
-
-import java.util.HashMap;
-
-/**
- * A string pool is used for sharing strings in a way that eliminates duplicate
- * equal strings.  A string pool instance can be maintained over a long period
- * of time, or used as a temporary structure during a string sharing pass over
- * a data structure.
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public final class StringPool {
-	private int savings;
-	private final HashMap map = new HashMap();
-
-	/**
-	 * Creates a new string pool.
-	 */
-	public StringPool() {
-		super();
-	}
-
-	/**
-	 * Adds a <code>String</code> to the pool.  Returns a <code>String</code>
-	 * that is equal to the argument but that is unique within this pool.
-	 * @param string The string to add to the pool
-	 * @return A string that is equal to the argument.
-	 */
-	public String add(String string) {
-		if (string == null)
-			return string;
-		Object result = map.get(string);
-		if (result != null) {
-			if (result != string)
-				savings += 44 + 2 * string.length();
-			return (String) result;
-		}
-		//explicitly copy the string to trim excess baggage
-		String trim = new String(string.toCharArray());
-		map.put(string, trim);
-		return trim;
-	}
-
-	/**
-	 * Returns an estimate of the size in bytes that was saved by sharing strings in 
-	 * the pool.  In particular, this returns the size of all strings that were added to the
-	 * pool after an equal string had already been added.  This value can be used
-	 * to estimate the effectiveness of a string sharing operation, in order to 
-	 * determine if or when it should be performed again.
-	 * 
-	 * In some cases this does not precisely represent the number of bytes that 
-	 * were saved.  For example, say the pool already contains string S1.  Now 
-	 * string S2, which is equal to S1 but not identical, is added to the pool five 
-	 * times. This method will return the size of string S2 multiplied by the 
-	 * number of times it was added, even though the actual savings in this case
-	 * is only the size of a single copy of S2.
-	 */
-	public int getSavedStringCount() {
-		return savings;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
deleted file mode 100644
index 96a9f98..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/FileUtils.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.zip.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-
-public class FileUtils {
-
-	private static File[] untarFile(File source, File outputDir) throws IOException, TarException {
-		TarFile tarFile = new TarFile(source);
-		List untarredFiles = new ArrayList();
-		try {
-			for (Enumeration e = tarFile.entries(); e.hasMoreElements();) {
-				TarEntry entry = (TarEntry) e.nextElement();
-				InputStream input = tarFile.getInputStream(entry);
-				try {
-					File outFile = new File(outputDir, entry.getName());
-					outFile = outFile.getCanonicalFile(); //bug 266844
-					untarredFiles.add(outFile);
-					if (entry.getFileType() == TarEntry.DIRECTORY) {
-						outFile.mkdirs();
-					} else {
-						if (outFile.exists())
-							outFile.delete();
-						else
-							outFile.getParentFile().mkdirs();
-						try {
-							copyStream(input, false, new FileOutputStream(outFile), true);
-						} catch (FileNotFoundException e1) {
-							// TEMP: ignore this for now in case we're trying to replace
-							// a running eclipse.exe
-						}
-						outFile.setLastModified(entry.getTime());
-					}
-				} finally {
-					input.close();
-				}
-			}
-		} finally {
-			tarFile.close();
-		}
-		return (File[]) untarredFiles.toArray(new File[untarredFiles.size()]);
-	}
-
-	/**
-	 * Unzip from a File to an output directory.
-	 */
-	public static File[] unzipFile(File zipFile, File outputDir) throws IOException {
-		// check to see if we have a tar'd and gz'd file
-		if (zipFile.getName().toLowerCase().endsWith(".tar.gz")) { //$NON-NLS-1$
-			try {
-				return untarFile(zipFile, outputDir);
-			} catch (TarException e) {
-				throw new IOException(e.getMessage());
-			}
-		}
-		InputStream in = new FileInputStream(zipFile);
-		try {
-			return unzipStream(in, zipFile.length(), outputDir, null, null);
-		} catch (IOException e) {
-			// add the file name to the message
-			throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipFile, e.getMessage()));
-		} finally {
-			in.close();
-		}
-	}
-
-	/**
-	 * Unzip from a File to an output directory, with progress indication.
-	 * monitor may be null.
-	 */
-	public static File[] unzipFile(File zipFile, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
-		InputStream in = new FileInputStream(zipFile);
-		try {
-			return unzipStream(in, zipFile.length(), outputDir, taskName, monitor);
-		} catch (IOException e) {
-			// add the file name to the message
-			throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipFile, e.getMessage()));
-		} finally {
-			in.close();
-		}
-	}
-
-	/**
-	 * Unzip from an InputStream to an output directory.
-	 */
-	public static File[] unzipStream(InputStream stream, long size, File outputDir, String taskName, IProgressMonitor monitor) throws IOException {
-		InputStream is = monitor == null ? stream : stream; // new ProgressMonitorInputStream(stream, size, size, taskName, monitor); TODO Commented code
-		ZipInputStream in = new ZipInputStream(new BufferedInputStream(is));
-		ZipEntry ze = in.getNextEntry();
-		if (ze == null) {
-			// There must be at least one entry in a zip file.
-			// When there isn't getNextEntry returns null.
-			in.close();
-			throw new IOException(Messages.Util_Invalid_Zip_File_Format);
-		}
-		ArrayList unzippedFiles = new ArrayList();
-		do {
-			File outFile = new File(outputDir, ze.getName());
-			unzippedFiles.add(outFile);
-			if (ze.isDirectory()) {
-				outFile.mkdirs();
-			} else {
-				if (outFile.exists()) {
-					outFile.delete();
-				} else {
-					outFile.getParentFile().mkdirs();
-				}
-				try {
-					copyStream(in, false, new FileOutputStream(outFile), true);
-				} catch (FileNotFoundException e) {
-					// TEMP: ignore this for now in case we're trying to replace
-					// a running eclipse.exe
-				}
-				outFile.setLastModified(ze.getTime());
-			}
-			in.closeEntry();
-		} while ((ze = in.getNextEntry()) != null);
-		in.close();
-
-		return (File[]) unzippedFiles.toArray(new File[unzippedFiles.size()]);
-	}
-
-	// Delete empty directories under dir, including dir itself.
-	public static void deleteEmptyDirs(File dir) throws IOException {
-		File[] files = dir.listFiles();
-		if (files != null) {
-			for (int i = 0; i < files.length; i += 1) {
-				deleteEmptyDirs(files[i]);
-			}
-			dir.getCanonicalFile().delete();
-		}
-	}
-
-	// Delete the given file whether it is a file or a directory
-	public static void deleteAll(File file) {
-		if (!file.exists())
-			return;
-		if (file.isDirectory()) {
-			File[] files = file.listFiles();
-			if (files != null)
-				for (int i = 0; i < files.length; i++)
-					deleteAll(files[i]);
-		}
-		file.delete();
-	}
-
-	/**
-	 * Copy an input stream to an output stream.
-	 * Optionally close the streams when done.
-	 * Return the number of bytes written.
-	 */
-	public static int copyStream(InputStream in, boolean closeIn, OutputStream out, boolean closeOut) throws IOException {
-		try {
-			int written = 0;
-			byte[] buffer = new byte[16 * 1024];
-			int len;
-			while ((len = in.read(buffer)) != -1) {
-				out.write(buffer, 0, len);
-				written += len;
-			}
-			return written;
-		} finally {
-			try {
-				if (closeIn) {
-					in.close();
-				}
-			} finally {
-				if (closeOut) {
-					out.close();
-				}
-			}
-		}
-	}
-
-	public static void copy(File source, File destination, File root, boolean overwrite) throws IOException {
-		File sourceFile = new File(source, root.getPath());
-		if (!sourceFile.exists())
-			throw new FileNotFoundException("Source: " + sourceFile + " does not exist"); //$NON-NLS-1$//$NON-NLS-2$
-
-		File destinationFile = new File(destination, root.getPath());
-
-		if (destinationFile.exists())
-			if (overwrite)
-				deleteAll(destinationFile);
-			else
-				throw new IOException("Destination: " + destinationFile + " already exists"); //$NON-NLS-1$//$NON-NLS-2$
-		if (sourceFile.isDirectory()) {
-			destinationFile.mkdirs();
-			File[] list = sourceFile.listFiles();
-			for (int i = 0; i < list.length; i++)
-				copy(source, destination, new File(root, list[i].getName()), false);
-		} else {
-			destinationFile.getParentFile().mkdirs();
-			InputStream in = null;
-			OutputStream out = null;
-			try {
-				in = new BufferedInputStream(new FileInputStream(sourceFile));
-				out = new BufferedOutputStream(new FileOutputStream(destinationFile));
-				copyStream(in, false, out, false);
-			} finally {
-				try {
-					if (in != null)
-						in.close();
-				} finally {
-					if (out != null)
-						out.close();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Creates a zip archive at the given destination that contains all of the given inclusions
-	 * except for the given exclusions.  Inclusions and exclusions can be phrased as files or folders.
-	 * Including a folder implies that all files and folders under the folder 
-	 * should be considered for inclusion. Excluding a folder implies that all files and folders
-	 * under that folder will be excluded. Inclusions with paths deeper than an exclusion folder
-	 * are filtered out and do not end up in the resultant archive.
-	 * <p>
-	 * All entries in the archive are computed using the given path computer.  the path computer
-	 * is reset between every explicit entry in the inclusions list.
-	 * </p>
-	 * @param inclusions the set of files and folders to be considered for inclusion in the result
-	 * @param exclusions the set of files and folders to be excluded from the result.  May be <code>null</code>.
-	 * @param destinationArchive the location of the resultant archive
-	 * @param pathComputer the path computer used to create the path of the files in the result
-	 * @throws IOException if there is an IO issue during this operation.
-	 */
-	public static void zip(File[] inclusions, File[] exclusions, File destinationArchive, IPathComputer pathComputer) throws IOException {
-		FileOutputStream fileOutput = new FileOutputStream(destinationArchive);
-		ZipOutputStream output = new ZipOutputStream(fileOutput);
-		HashSet exclusionSet = exclusions == null ? new HashSet() : new HashSet(Arrays.asList(exclusions));
-		HashSet directoryEntries = new HashSet();
-		try {
-			for (int i = 0; i < inclusions.length; i++) {
-				pathComputer.reset();
-				zip(output, inclusions[i], exclusionSet, pathComputer, directoryEntries);
-			}
-		} finally {
-			try {
-				output.close();
-			} catch (IOException e) {
-				// closing a zip file with no entries apparently fails on some JREs.
-				// if we failed closing the zip, try closing the raw file.  
-				try {
-					fileOutput.close();
-				} catch (IOException e2) {
-					// give up.
-				}
-			}
-		}
-	}
-
-	/**
-	 * Writes the given file or folder to the given ZipOutputStream.  The stream is not closed, we recurse into folders
-	 * @param output - the ZipOutputStream to write into
-	 * @param source - the file or folder to zip
-	 * @param exclusions - set of files or folders to exclude
-	 * @param pathComputer - computer used to create the path of the files in the result.
-	 * @throws IOException
-	 */
-	public static void zip(ZipOutputStream output, File source, Set exclusions, IPathComputer pathComputer) throws IOException {
-		zip(output, source, exclusions, pathComputer, new HashSet());
-	}
-
-	public static void zip(ZipOutputStream output, File source, Set exclusions, IPathComputer pathComputer, Set directoryEntries) throws IOException {
-		if (exclusions.contains(source))
-			return;
-		if (source.isDirectory()) //if the file path is a URL then isDir and isFile are both false
-			zipDir(output, source, exclusions, pathComputer, directoryEntries);
-		else
-			zipFile(output, source, pathComputer, directoryEntries);
-	}
-
-	private static void zipDirectoryEntry(ZipOutputStream output, IPath entry, long time, Set directoryEntries) throws IOException {
-		entry = entry.addTrailingSeparator();
-		if (!directoryEntries.contains(entry)) {
-			//make sure parent entries are in the zip
-			if (entry.segmentCount() > 1)
-				zipDirectoryEntry(output, entry.removeLastSegments(1), time, directoryEntries);
-
-			try {
-				ZipEntry dirEntry = new ZipEntry(entry.toString());
-				dirEntry.setTime(time);
-				output.putNextEntry(dirEntry);
-				directoryEntries.add(entry);
-			} catch (ZipException ze) {
-				//duplicate entries shouldn't happen because we checked the set
-			} finally {
-				try {
-					output.closeEntry();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/*
-	 * Zip the contents of the given directory into the zip file represented by
-	 * the given zip stream. Prepend the given prefix to the file paths.
-	 */
-	private static void zipDir(ZipOutputStream output, File source, Set exclusions, IPathComputer pathComputer, Set directoryEntries) throws IOException {
-		File[] files = source.listFiles();
-		if (files.length == 0) {
-			zipDirectoryEntry(output, pathComputer.computePath(source), source.lastModified(), directoryEntries);
-		}
-
-		// Different OSs return files in a different order.  This affects the creation
-		// the dynamic path computer.  To address this, we sort the files such that
-		// those with deeper paths appear later, and files are always before directories
-		// foo/bar.txt
-		// foo/something/bar2.txt
-		// foo/something/else/bar3.txt
-		Arrays.sort(files, new Comparator() {
-			public int compare(Object arg0, Object arg1) {
-				Path a = new Path(((File) arg0).getAbsolutePath());
-				Path b = new Path(((File) arg1).getAbsolutePath());
-				if (a.segmentCount() == b.segmentCount()) {
-					if (((File) arg0).isDirectory() && ((File) arg1).isFile())
-						return 1;
-					else if (((File) arg0).isDirectory() && ((File) arg1).isDirectory())
-						return 0;
-					else if (((File) arg0).isFile() && ((File) arg1).isDirectory())
-						return -1;
-					else
-						return 0;
-				}
-				return a.segmentCount() - b.segmentCount();
-			}
-		});
-
-		for (int i = 0; i < files.length; i++)
-			zip(output, files[i], exclusions, pathComputer, directoryEntries);
-	}
-
-	/*
-	 * Add the given file to the zip file represented by the specified stream.
-	 * Prepend the given prefix to the path of the file.
-	 */
-	private static void zipFile(ZipOutputStream output, File source, IPathComputer pathComputer, Set directoryEntries) throws IOException {
-		boolean isManifest = false; //manifest files are special
-		InputStream input = new BufferedInputStream(new FileInputStream(source));
-		try {
-			IPath entryPath = pathComputer.computePath(source);
-			if (entryPath.isAbsolute())
-				throw new IOException(Messages.Util_Absolute_Entry);
-			if (entryPath.segmentCount() == 0)
-				throw new IOException(Messages.Util_Empty_Zip_Entry);
-
-			//make sure parent directory entries are in the zip
-			if (entryPath.segmentCount() > 1) {
-				//manifest files should be first, add their directory entry afterwards
-				isManifest = JarFile.MANIFEST_NAME.equals(entryPath.toString());
-				if (!isManifest)
-					zipDirectoryEntry(output, entryPath.removeLastSegments(1), source.lastModified(), directoryEntries);
-			}
-
-			ZipEntry zipEntry = new ZipEntry(entryPath.toString());
-			zipEntry.setTime(source.lastModified());
-			output.putNextEntry(zipEntry);
-			copyStream(input, true, output, false);
-		} catch (ZipException ze) {
-			//TODO: something about duplicate entries, and rethrow other exceptions
-		} finally {
-			try {
-				input.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			try {
-				output.closeEntry();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-
-		if (isManifest) {
-			zipDirectoryEntry(output, new Path("META-INF"), source.lastModified(), directoryEntries); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Path computers are used to transform a given File path into a path suitable for use
-	 * as the to identify that file in an archive file or copy.
-	 */
-	public static interface IPathComputer {
-		/**
-		 * Returns the path representing the given file.  Often this trims or otherwise
-		 * transforms the segments of the source file path.
-		 * @param source the file path to be transformed
-		 * @return the transformed path
-		 */
-		public IPath computePath(File source);
-
-		/**
-		 * Resets this path computer. Path computers can accumulate state or other information
-		 * for use in computing subsequent paths.  Resetting a computer causes it to flush that
-		 * state and start afresh.  The exact semantics of resetting depends on the nature of the
-		 * computer itself.
-		 */
-		public void reset();
-	}
-
-	/**
-	 * Creates a path computer that trims all paths according to the given root path.
-	 * Paths that have no matching segments are returned unchanged.
-	 * @param root the base path to use for trimming
-	 * @return a path computer that trims according to the given root
-	 */
-	public static IPathComputer createRootPathComputer(final File root) {
-		return new IPathComputer() {
-			public IPath computePath(File source) {
-				IPath result = new Path(source.getAbsolutePath());
-				IPath rootPath = new Path(root.getAbsolutePath());
-				result = result.removeFirstSegments(rootPath.matchingFirstSegments(result));
-				return result.setDevice(null);
-			}
-
-			public void reset() {
-				//nothing
-			}
-		};
-	}
-
-	/**
-	 * Creates a path computer that is a cross between the root and parent computers.
-	 * When this computer is reset, the first path seen is considered a new root.  That path
-	 * is trimmed by the given number of segments and then used as in the same way as the 
-	 * root path computer.  Every time this computer is reset, a new root is computed.
-	 * <p>
-	 * This is useful when handling several sets of disjoint files but for each set you want
-	 * to have a common root.  Rather than having to compute the roots ahead of time and 
-	 * then manage their relationships, you can simply reset the computer between groups.
-	 * </p><p>	
-	 * For example, say you have the a list of folders { /a/b/c/eclipse/plugins/, /x/y/eclipse/features/}
-	 * and want to end up with a zip containing plugins and features folders.  Using a dynamic
-	 * path computer and keeping 1 segment allows this to be done simply by resetting the computer
-	 * between elements of the top level list.
-	 * </p>
-	 * @param segmentsToKeep the number of segments of encountered paths to keep
-	 * relative to the dynamically computed roots.
-	 * @return a path computer that trims but keeps the given number of segments  relative 
-	 * to the dynamically computed roots.
-	 */
-	public static IPathComputer createDynamicPathComputer(final int segmentsToKeep) {
-		return new IPathComputer() {
-			IPathComputer computer = null;
-
-			public IPath computePath(File source) {
-				if (computer == null) {
-					IPath sourcePath = new Path(source.getAbsolutePath());
-					sourcePath = sourcePath.removeLastSegments(segmentsToKeep);
-					computer = createRootPathComputer(sourcePath.toFile());
-				}
-				return computer.computePath(source);
-			}
-
-			public void reset() {
-				computer = null;
-			}
-		};
-	}
-
-	/**
-	 * Creates a path computer that retains the given number of trailing segments.
-	 * @param segmentsToKeep number of segments to keep
-	 * @return a path computer that retains the given number of trailing segments.
-	 */
-	public static IPathComputer createParentPrefixComputer(final int segmentsToKeep) {
-		return new IPathComputer() {
-			public IPath computePath(File source) {
-				IPath sourcePath = new Path(source.getAbsolutePath());
-				sourcePath = sourcePath.removeFirstSegments(Math.max(0, sourcePath.segmentCount() - segmentsToKeep));
-				return sourcePath.setDevice(null);
-			}
-
-			public void reset() {
-				//nothing
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
deleted file mode 100644
index cb3fd61..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/LogHelper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.framework.log.FrameworkLogEntry;
-
-public class LogHelper {
-
-	public static void log(IStatus status) {
-		FrameworkLog log = Activator.getFrameworkLog();
-		if (log != null) {
-			log.log(getLog(status));
-		} else {
-			System.out.println(status.getMessage());
-			if (status.getException() != null)
-				status.getException().printStackTrace();
-		}
-	}
-
-	public static void log(ProvisionException exception) {
-		log(new Status(exception.getStatus().getSeverity(), Activator.ID, "Provisioning exception", exception)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Copied from PlatformLogWriter in core runtime.
-	 */
-	private static FrameworkLogEntry getLog(IStatus status) {
-		Throwable t = status.getException();
-		ArrayList childlist = new ArrayList();
-
-		int stackCode = t instanceof CoreException ? 1 : 0;
-		// ensure a substatus inside a CoreException is properly logged 
-		if (stackCode == 1) {
-			IStatus coreStatus = ((CoreException) t).getStatus();
-			if (coreStatus != null) {
-				childlist.add(getLog(coreStatus));
-			}
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				childlist.add(getLog(children[i]));
-			}
-		}
-
-		FrameworkLogEntry[] children = (FrameworkLogEntry[]) (childlist.size() == 0 ? null : childlist.toArray(new FrameworkLogEntry[childlist.size()]));
-
-		return new FrameworkLogEntry(status.getPlugin(), status.getSeverity(), status.getCode(), status.getMessage(), stackCode, t, children);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
deleted file mode 100644
index 91a3ecd..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.core.helpers.messages"; //$NON-NLS-1$
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String Util_Invalid_Zip_File_Format;
-	public static String Util_Error_Unzipping;
-	public static String Util_Empty_Zip_Entry;
-	public static String Util_Absolute_Entry;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
deleted file mode 100644
index 442132b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/OrderedProperties.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.*;
-
-/**
- * A Properties collection that maintains the order of insertion.
- * <p>
- * This class is used to store properties similar to {@link java.util.Properties}.
- * In particular both keys and values are strings and must be not null.
- * However this class is somewhat simplified and does not implement Cloneable, 
- * Serializable and Hashtable.
- * <p>
- * In contrast to java.util.Properties this class maintains the order by which 
- * properties are added. This is implemented using a {@link LinkedHashMap}.
- * <p>
- * The class does not support default properties as they can be expressed by 
- * creating java.util.Properties hierarchies.
- */
-public class OrderedProperties extends Dictionary implements Map {
-
-	LinkedHashMap propertyMap = null;
-
-	public static OrderedProperties unmodifiableProperties(Map properties) {
-		return new UnmodifiableProperties(properties);
-	}
-
-	public OrderedProperties() {
-		super();
-	}
-
-	public OrderedProperties(int size) {
-		super();
-		propertyMap = new LinkedHashMap(size);
-	}
-
-	public OrderedProperties(OrderedProperties properties) {
-		super();
-		propertyMap = new LinkedHashMap(properties.size());
-		putAll(properties);
-	}
-
-	/**
-	 * Set the property value.
-	 * <p>
-	 * If a property with the key already exists, the previous
-	 * value is replaced. Otherwise a new property is added at
-	 * the end collection.
-	 * 
-	 * @param key   must not be null
-	 * @param value must not be null
-	 * @return previous value associated with specified key, or <tt>null</tt>
-	 *	       if there was no mapping for key.
-	 */
-	public Object setProperty(String key, String value) {
-		init();
-		return propertyMap.put(key, value);
-	}
-
-	public String getProperty(String key) {
-		return (String) (propertyMap == null ? null : propertyMap.get(key));
-	}
-
-	public void putAll(OrderedProperties properties) {
-		putAll((Map) properties);
-	}
-
-	/**
-	 *	Initialize the map.
-	 */
-	private void init() {
-		if (propertyMap == null) {
-			propertyMap = new LinkedHashMap();
-		}
-	}
-
-	public int size() {
-		return propertyMap == null ? 0 : propertyMap.size();
-	}
-
-	public boolean isEmpty() {
-		return propertyMap == null ? true : propertyMap.isEmpty();
-	}
-
-	public synchronized void clear() {
-		propertyMap = null;
-	}
-
-	public Object put(Object arg0, Object arg1) {
-		init();
-		return propertyMap.put(arg0, arg1);
-	}
-
-	public boolean containsKey(Object key) {
-		return propertyMap != null ? propertyMap.containsKey(key) : false;
-	}
-
-	public boolean containsValue(Object value) {
-		return propertyMap != null ? propertyMap.containsValue(value) : false;
-	}
-
-	public Set entrySet() {
-		return propertyMap != null ? propertyMap.entrySet() : Collections.EMPTY_SET;
-	}
-
-	public Object get(Object key) {
-		return propertyMap != null ? propertyMap.get(key) : null;
-	}
-
-	public Set keySet() {
-		return propertyMap != null ? propertyMap.keySet() : Collections.EMPTY_SET;
-	}
-
-	public void putAll(Map arg0) {
-		init();
-		propertyMap.putAll(arg0);
-	}
-
-	public Object remove(Object key) {
-		return propertyMap != null ? propertyMap.remove(key) : null;
-	}
-
-	public Collection values() {
-		return propertyMap != null ? propertyMap.values() : Collections.EMPTY_LIST;
-	}
-
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-		if (o instanceof OrderedProperties) {
-			OrderedProperties rhs = (OrderedProperties) o;
-			if (rhs.propertyMap == this.propertyMap)
-				return true;
-			if (rhs.propertyMap == null)
-				return this.propertyMap.isEmpty();
-			else if (this.propertyMap == null)
-				return rhs.isEmpty();
-			return rhs.propertyMap.equals(this.propertyMap);
-		}
-		if (this.propertyMap == null) {
-			if (o instanceof Map)
-				return ((Map) o).isEmpty();
-			return false;
-		}
-		return this.propertyMap.equals(o);
-	}
-
-	public int hashCode() {
-		return propertyMap == null || propertyMap.isEmpty() ? 0 : propertyMap.hashCode();
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append(propertyMap);
-		return sb.toString();
-	}
-
-	private class ElementsEnum implements Enumeration {
-
-		Iterator iterator = null;
-
-		public ElementsEnum(OrderedProperties properties) {
-			iterator = properties.propertyMap.values().iterator();
-		}
-
-		public boolean hasMoreElements() {
-			return iterator.hasNext();
-		}
-
-		public Object nextElement() {
-			return iterator.next();
-		}
-	}
-
-	public Enumeration elements() {
-		return new ElementsEnum(this);
-	}
-
-	private class KeysEnum implements Enumeration {
-
-		Iterator iterator = null;
-
-		public KeysEnum(OrderedProperties properties) {
-			iterator = properties.propertyMap.keySet().iterator();
-		}
-
-		public boolean hasMoreElements() {
-			return iterator.hasNext();
-		}
-
-		public Object nextElement() {
-			return iterator.next();
-		}
-	}
-
-	public Enumeration keys() {
-		return new KeysEnum(this);
-	}
-
-	private static class UnmodifiableProperties extends OrderedProperties {
-
-		UnmodifiableProperties(Map properties) {
-			super();
-			for (Iterator iter = properties.entrySet().iterator(); iter.hasNext();) {
-				Map.Entry entry = (Map.Entry) iter.next();
-				super.put(entry.getKey(), entry.getValue());
-			}
-		}
-
-		public synchronized Object setProperty(String key, String value) {
-			throw new UnsupportedOperationException();
-		}
-
-		public synchronized Object put(Object key, Object value) {
-			throw new UnsupportedOperationException();
-		}
-
-		public synchronized Object remove(Object key) {
-			throw new UnsupportedOperationException();
-		}
-
-		public synchronized void putAll(Map t) {
-			throw new UnsupportedOperationException();
-		}
-
-		public synchronized void clear() {
-			throw new UnsupportedOperationException();
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
deleted file mode 100644
index e09fb66..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/ServiceHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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 http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import org.osgi.framework.*;
-
-public class ServiceHelper {
-	/**
-	 * Returns the service described by the given arguments.  Note that this is a helper class
-	 * that <b>immediately</b> ungets the service reference.  This results in a window where the
-	 * system thinks the service is not in use but indeed the caller is about to use the returned 
-	 * service object.  
-	 * @param context
-	 * @param name
-	 * @return The requested service
-	 */
-	public static Object getService(BundleContext context, String name) {
-		if (context == null)
-			return null;
-		ServiceReference reference = context.getServiceReference(name);
-		if (reference == null)
-			return null;
-		Object result = context.getService(reference);
-		context.ungetService(reference);
-		return result;
-	}
-
-	public static Object getService(BundleContext context, String name, String filter) {
-		ServiceReference[] references;
-		try {
-			references = context.getServiceReferences(name, filter);
-		} catch (InvalidSyntaxException e) {
-			// TODO Auto-generated catch block
-			return null;
-		}
-		if (references == null || references.length == 0)
-			return null;
-		Object result = context.getService(references[0]);
-		context.ungetService(references[0]);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/StringHelper.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/StringHelper.java
deleted file mode 100644
index c1995c2..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/StringHelper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class StringHelper {
-
-	public static String[] EMPTY_ARRAY = new String[0];
-
-	public static String[] getArrayFromString(String spec, char c) {
-		String[] resultArr = EMPTY_ARRAY;
-		if (spec != null) {
-			int splitIdx = spec.indexOf(c);
-			if (splitIdx <= 0) {
-				spec = spec.trim();
-				if (spec.length() > 0)
-					resultArr = new String[] {spec};
-			} else {
-				List result = new ArrayList();
-				while (splitIdx >= 0) {
-					String part = spec.substring(0, splitIdx).trim();
-					if (part.length() > 0)
-						result.add(part);
-					spec = spec.substring(splitIdx + 1);
-					splitIdx = spec.indexOf(c);
-				}
-				spec = spec.trim();
-				if (spec.length() > 0)
-					result.add(spec);
-				resultArr = (String[]) result.toArray(new String[result.size()]);
-			}
-		}
-		return resultArr;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarEntry.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarEntry.java
deleted file mode 100644
index d6f161c..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarEntry.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-/**
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.TarEntry.
- */
-public class TarEntry implements Cloneable {
-	private String name;
-	private long mode, time, size;
-	private int type;
-	int filepos;
-
-	/**
-	 * Entry type for normal files.
-	 */
-	public static final int FILE = '0';
-
-	/**
-	 * Entry type for directories.
-	 */
-	public static final int DIRECTORY = '5';
-
-	/**
-	 * Create a new TarEntry for a file of the given name at the
-	 * given position in the file.
-	 * 
-	 * @param name filename
-	 * @param pos position in the file in bytes
-	 */
-	TarEntry(String name, int pos) {
-		this.name = name;
-		mode = 0644;
-		type = FILE;
-		filepos = pos;
-		time = System.currentTimeMillis() / 1000;
-	}
-
-	/**
-	 * Returns the type of this file, one of FILE, LINK, SYM_LINK,
-	 * CHAR_DEVICE, BLOCK_DEVICE, DIRECTORY or FIFO.
-	 * 
-	 * @return file type
-	 */
-	public int getFileType() {
-		return type;
-	}
-
-	/**
-	 * Returns the mode of the file in UNIX permissions format.
-	 * 
-	 * @return file mode
-	 */
-	public long getMode() {
-		return mode;
-	}
-
-	/**
-	 * Returns the name of the file.
-	 * 
-	 * @return filename
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the size of the file in bytes.
-	 * 
-	 * @return filesize
-	 */
-	public long getSize() {
-		return size;
-	}
-
-	/**
-	 * Returns the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @return time
-	 */
-	public long getTime() {
-		return time;
-	}
-
-	/**
-	 * Sets the type of the file, one of FILE, LINK, SYMLINK, CHAR_DEVICE,
-	 * BLOCK_DEVICE, or DIRECTORY.
-	 * 
-	 * @param type
-	 */
-	public void setFileType(int type) {
-		this.type = type;
-	}
-
-	/**
-	 * Sets the mode of the file in UNIX permissions format.
-	 * 
-	 * @param mode
-	 */
-	public void setMode(long mode) {
-		this.mode = mode;
-	}
-
-	/**
-	 * Sets the size of the file in bytes.
-	 * 
-	 * @param size
-	 */
-	public void setSize(long size) {
-		this.size = size;
-	}
-
-	/**
-	 * Sets the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @param time
-	 */
-	public void setTime(long time) {
-		this.time = time;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarException.java
deleted file mode 100644
index 0a591da..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-/**
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.TarException.
- */
-public class TarException extends Exception {
-	/**
-	 * Generated serial version UID for this class.
-	 */
-	private static final long serialVersionUID = 2886671254518853528L;
-
-	/**
-	 * Constructs a TarException with the specified detail string.
-	 *
-	 * @param s the detail string
-	 */
-	public TarException(String s) {
-		super(s);
-	}
-
-	/**
-	 * Constructs a TarException with the specified detail string.
-	 *
-	 * @param s the detail string
-	 * @param cause the cause
-	 */
-	public TarException(String s, Throwable cause) {
-		super(s, cause);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
deleted file mode 100644
index 5500bc7..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.*;
-import java.util.Enumeration;
-import java.util.zip.GZIPInputStream;
-
-/**
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.TarFile.
- */
-public class TarFile {
-	private File file;
-	private TarInputStream entryEnumerationStream;
-	private TarEntry curEntry;
-	private TarInputStream entryStream;
-
-	private InputStream internalEntryStream;
-
-	/**
-	 * Create a new TarFile for the given file.
-	 * 
-	 * @param file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarFile(File file) throws TarException, IOException {
-		this.file = file;
-
-		InputStream in = new FileInputStream(file);
-		// First, check if it's a GZIPInputStream.
-		try {
-			in = new GZIPInputStream(in);
-		} catch (IOException e) {
-			//If it is not compressed we close
-			//the old one and recreate
-			in.close();
-			in = new FileInputStream(file);
-		}
-		try {
-			entryEnumerationStream = new TarInputStream(in);
-		} catch (TarException ex) {
-			in.close();
-			throw ex;
-		}
-		curEntry = entryEnumerationStream.getNextEntry();
-	}
-
-	/**
-	 * Close the tar file input stream.
-	 * 
-	 * @throws IOException if the file cannot be successfully closed
-	 */
-	public void close() throws IOException {
-		entryEnumerationStream.close();
-		if (internalEntryStream != null)
-			internalEntryStream.close();
-	}
-
-	/**
-	 * Returns an enumeration cataloguing the tar archive.
-	 * 
-	 * @return enumeration of all files in the archive
-	 */
-	public Enumeration entries() {
-		return new Enumeration() {
-			public boolean hasMoreElements() {
-				return (curEntry != null);
-			}
-
-			public Object nextElement() {
-				TarEntry oldEntry = curEntry;
-				try {
-					curEntry = entryEnumerationStream.getNextEntry();
-				} catch (TarException e) {
-					curEntry = null;
-				} catch (IOException e) {
-					curEntry = null;
-				}
-				return oldEntry;
-			}
-		};
-	}
-
-	/**
-	 * Returns a new InputStream for the given file in the tar archive.
-	 * 
-	 * @param entry
-	 * @return an input stream for the given file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public InputStream getInputStream(TarEntry entry) throws TarException, IOException {
-		if (entryStream == null || !entryStream.skipToEntry(entry)) {
-			if (internalEntryStream != null) {
-				internalEntryStream.close();
-			}
-			internalEntryStream = new FileInputStream(file);
-			// First, check if it's a GZIPInputStream.
-			try {
-				internalEntryStream = new GZIPInputStream(internalEntryStream);
-			} catch (IOException e) {
-				//If it is not compressed we close
-				//the old one and recreate
-				internalEntryStream.close();
-				internalEntryStream = new FileInputStream(file);
-			}
-			entryStream = new TarInputStream(internalEntryStream, entry) {
-				public void close() {
-					// Ignore close() since we want to reuse the stream.
-				}
-			};
-		}
-		return entryStream;
-	}
-
-	/**
-	 * Returns the path name of the file this archive represents.
-	 * 
-	 * @return path
-	 */
-	public String getName() {
-		return file.getPath();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.zip.ZipFile#finalize()
-	 * 
-	 */
-	protected void finalize() throws Throwable {
-		close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarInputStream.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarInputStream.java
deleted file mode 100644
index 01238f8..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarInputStream.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.*;
-
-/**
- * Copied from org.eclipse.ui.internal.wizards.datatransfer.TarInputStream.
- */
-public class TarInputStream extends FilterInputStream {
-	private int nextEntry = 0;
-	private int nextEOF = 0;
-	private int filepos = 0;
-	private int bytesread = 0;
-	private TarEntry firstEntry = null;
-	private String longLinkName = null;
-
-	/**
-	 * Creates a new tar input stream on the given input stream.
-	 * 
-	 * @param in input stream
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarInputStream(InputStream in) throws TarException, IOException {
-		super(in);
-
-		// Read in the first TarEntry to make sure
-		// the input is a valid tar file stream.
-		firstEntry = getNextEntry();
-	}
-
-	/**
-	 * Create a new tar input stream, skipping ahead to the given entry
-	 * in the file.
-	 * 
-	 * @param in input stream
-	 * @param entry skips to this entry in the file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarInputStream(InputStream in, TarEntry entry) throws TarException, IOException {
-		super(in);
-		skipToEntry(entry);
-	}
-
-	/**
-	 *  The checksum of a tar file header is simply the sum of the bytes in
-	 *  the header.
-	 * 
-	 * @param header
-	 * @return checksum
-	 */
-	private long headerChecksum(byte[] header) {
-		long sum = 0;
-		for (int i = 0; i < 512; i++) {
-			sum += header[i] & 0xff;
-		}
-		return sum;
-	}
-
-	/**
-	 * Skips ahead to the position of the given entry in the file.
-	 * 
-	 * @param entry
-	 * @returns false if the entry has already been passed
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	boolean skipToEntry(TarEntry entry) throws TarException, IOException {
-		int bytestoskip = entry.filepos - bytesread;
-		if (bytestoskip < 0) {
-			return false;
-		}
-		while (bytestoskip > 0) {
-			long ret = in.skip(bytestoskip);
-			if (ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoskip -= ret;
-			bytesread += ret;
-		}
-		filepos = entry.filepos;
-		nextEntry = 0;
-		nextEOF = 0;
-		// Read next header to seek to file data.
-		getNextEntry();
-		return true;
-	}
-
-	/**
-	 * Returns true if the header checksum is correct.
-	 * 
-	 * @param header
-	 * @return true if this header has a valid checksum
-	 */
-	private boolean isValidTarHeader(byte[] header) {
-		long fileChecksum, calculatedChecksum;
-		int pos, i;
-
-		pos = 148;
-		StringBuffer checksumString = new StringBuffer();
-		for (i = 0; i < 8; i++) {
-			if (header[pos + i] == ' ') {
-				continue;
-			}
-			if (header[pos + i] == 0 || !Character.isDigit((char) header[pos + i])) {
-				break;
-			}
-			checksumString.append((char) header[pos + i]);
-		}
-		if (checksumString.length() == 0) {
-			return false;
-		}
-		if (checksumString.charAt(0) != '0') {
-			checksumString.insert(0, '0');
-		}
-		try {
-			fileChecksum = Long.decode(checksumString.toString()).longValue();
-		} catch (NumberFormatException exception) {
-			//This is not valid if it cannot be parsed
-			return false;
-		}
-
-		// Blank out the checksum.
-		for (i = 0; i < 8; i++) {
-			header[pos + i] = ' ';
-		}
-		calculatedChecksum = headerChecksum(header);
-
-		return (fileChecksum == calculatedChecksum);
-	}
-
-	/**
-	 * Returns the next entry in the tar file.  Does not handle
-	 * GNU @LongLink extensions.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarEntry getNextEntryInternal() throws TarException, IOException {
-		byte[] header = new byte[512];
-		int pos = 0;
-		int i;
-
-		if (firstEntry != null) {
-			TarEntry entryReturn = firstEntry;
-			firstEntry = null;
-			return entryReturn;
-		}
-
-		while (nextEntry > 0) {
-			long ret = in.skip(nextEntry);
-			if (ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			nextEntry -= ret;
-			bytesread += ret;
-		}
-
-		int bytestoread = 512;
-		while (bytestoread > 0) {
-			int ret = super.read(header, 512 - bytestoread, bytestoread);
-			if (ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoread -= ret;
-			bytesread += ret;
-		}
-
-		// If we have a header of all zeros, this marks the end of the file.
-		if (headerChecksum(header) == 0) {
-			// We are at the end of the file.
-			if (filepos > 0) {
-				return null;
-			}
-
-			// Invalid stream.
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-
-		// Validate checksum.
-		if (!isValidTarHeader(header)) {
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-
-		while (pos < 100 && header[pos] != 0) {
-			pos++;
-		}
-		String name = new String(header, 0, pos, "UTF8"); //$NON-NLS-1$
-		// Prepend the prefix here.
-		pos = 345;
-		if (header[pos] != 0) {
-			while (pos < 500 && header[pos] != 0) {
-				pos++;
-			}
-			String prefix = new String(header, 345, pos - 345, "UTF8"); //$NON-NLS-1$
-			name = prefix + "/" + name; //$NON-NLS-1$
-		}
-
-		TarEntry entry;
-		if (longLinkName != null) {
-			entry = new TarEntry(longLinkName, filepos);
-			longLinkName = null;
-		} else {
-			entry = new TarEntry(name, filepos);
-		}
-		if (header[156] != 0) {
-			entry.setFileType(header[156]);
-		}
-
-		pos = 100;
-		StringBuffer mode = new StringBuffer();
-		for (i = 0; i < 8; i++) {
-			if (header[pos + i] == 0) {
-				break;
-			}
-			if (header[pos + i] == ' ') {
-				continue;
-			}
-			mode.append((char) header[pos + i]);
-		}
-		if (mode.length() > 0 && mode.charAt(0) != '0') {
-			mode.insert(0, '0');
-		}
-		try {
-			long fileMode = Long.decode(mode.toString()).longValue();
-			entry.setMode(fileMode);
-		} catch (NumberFormatException nfe) {
-			throw new TarException("Not a valid TAR format.", nfe);
-		}
-
-		pos = 100 + 24;
-		StringBuffer size = new StringBuffer();
-		for (i = 0; i < 12; i++) {
-			if (header[pos + i] == 0) {
-				break;
-			}
-			if (header[pos + i] == ' ') {
-				continue;
-			}
-			size.append((char) header[pos + i]);
-		}
-		if (size.charAt(0) != '0') {
-			size.insert(0, '0');
-		}
-		int fileSize;
-		try {
-			fileSize = Integer.decode(size.toString()).intValue();
-		} catch (NumberFormatException nfe) {
-			throw new TarException("Not a valid TAR format.", nfe);
-		}
-
-		entry.setSize(fileSize);
-		nextEOF = fileSize;
-		if (fileSize % 512 > 0) {
-			nextEntry = fileSize + (512 - (fileSize % 512));
-		} else {
-			nextEntry = fileSize;
-		}
-		filepos += (nextEntry + 512);
-		return entry;
-	}
-
-	/**
-	 * Moves ahead to the next file in the tar archive and returns
-	 * a TarEntry object describing it.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarEntry getNextEntry() throws TarException, IOException {
-		TarEntry entry = getNextEntryInternal();
-
-		if (entry != null && entry.getName().equals("././@LongLink")) { //$NON-NLS-1$
-			// This is a GNU extension for doing long filenames.
-			// We get a file called ././@LongLink which just contains
-			// the real pathname.
-			byte[] longNameData = new byte[(int) entry.getSize()];
-			int bytesread = 0;
-			while (bytesread < longNameData.length) {
-				int cur = read(longNameData, bytesread, longNameData.length - bytesread);
-				if (cur < 0) {
-					throw new IOException("early end of stream"); //$NON-NLS-1$
-				}
-				bytesread += cur;
-			}
-
-			int pos = 0;
-			while (pos < longNameData.length && longNameData[pos] != 0) {
-				pos++;
-			}
-			longLinkName = new String(longNameData, 0, pos, "UTF8"); //$NON-NLS-1$
-			return getNextEntryInternal();
-		}
-		return entry;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.io.FilterInputStream#read(byte[], int, int)
-	 */
-	public int read(byte[] b, int off, int len) throws IOException {
-		if (nextEOF == 0) {
-			return -1;
-		}
-		if (len > nextEOF) {
-			len = nextEOF;
-		}
-		int size = super.read(b, off, len);
-		nextEntry -= size;
-		nextEOF -= size;
-		bytesread += size;
-		return size;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.io.FilterInputStream#read()
-	 */
-	public int read() throws IOException {
-		byte[] data = new byte[1];
-		int size = read(data, 0, 1);
-		if (size < 0) {
-			return size;
-		}
-		return data[0];
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
deleted file mode 100644
index ca929c5..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/Tracing.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.util.Date;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-/**
- * Manages debug tracing options and provides convenience methods for printing
- * debug statements.
- */
-public class Tracing {
-	//master p2 debug flag
-	public static boolean DEBUG = false;
-
-	//debug constants
-	public static boolean DEBUG_GENERATOR_PARSING = false;
-	public static boolean DEBUG_INSTALL_REGISTRY = false;
-	public static boolean DEBUG_METADATA_PARSING = false;
-	public static boolean DEBUG_MIRRORS = false;
-	public static boolean DEBUG_PARSE_PROBLEMS = false;
-	public static boolean DEBUG_PLANNER_OPERANDS = false;
-	public static boolean DEBUG_PLANNER_PROJECTOR = false;
-	public static boolean DEBUG_PROFILE_PREFERENCES = false;
-	public static boolean DEBUG_PUBLISHING = false;
-	public static boolean DEBUG_RECONCILER = false;
-	public static boolean DEBUG_REMOVE_REPO = false;
-	public static boolean DEBUG_UPDATE_CHECK = false;
-
-	static {
-		DebugOptions options = (DebugOptions) ServiceHelper.getService(Activator.context, DebugOptions.class.getName());
-		if (options != null) {
-			DEBUG = options.getBooleanOption(Activator.ID + "/debug", false); //$NON-NLS-1$
-			if (DEBUG) {
-				DEBUG_GENERATOR_PARSING = options.getBooleanOption(Activator.ID + "/generator/parsing", false); //$NON-NLS-1$
-				DEBUG_INSTALL_REGISTRY = options.getBooleanOption(Activator.ID + "/engine/installregistry", false); //$NON-NLS-1$
-				DEBUG_METADATA_PARSING = options.getBooleanOption(Activator.ID + "/metadata/parsing", false); //$NON-NLS-1$
-				DEBUG_MIRRORS = options.getBooleanOption(Activator.ID + "/artifacts/mirrors", false); //$NON-NLS-1$
-				DEBUG_PARSE_PROBLEMS = options.getBooleanOption(Activator.ID + "/core/parseproblems", false); //$NON-NLS-1$
-				DEBUG_PLANNER_OPERANDS = options.getBooleanOption(Activator.ID + "/planner/operands", false); //$NON-NLS-1$
-				DEBUG_PLANNER_PROJECTOR = options.getBooleanOption(Activator.ID + "/planner/projector", false); //$NON-NLS-1$
-				DEBUG_PROFILE_PREFERENCES = options.getBooleanOption(Activator.ID + "/engine/profilepreferences", false); //$NON-NLS-1$
-				DEBUG_PUBLISHING = options.getBooleanOption(Activator.ID + "/publisher", false); //$NON-NLS-1$
-				DEBUG_RECONCILER = options.getBooleanOption(Activator.ID + "/reconciler", false); //$NON-NLS-1$
-				DEBUG_REMOVE_REPO = options.getBooleanOption(Activator.ID + "/core/removeRepo", false); //$NON-NLS-1$
-				DEBUG_UPDATE_CHECK = options.getBooleanOption(Activator.ID + "/updatechecker", false); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Prints a debug message on stdout. Callers should first ensure their specific 
-	 * debug option is enabled.
-	 */
-	public static void debug(String message) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("[p2] "); //$NON-NLS-1$
-		buffer.append(new Date(System.currentTimeMillis()));
-		buffer.append(" - ["); //$NON-NLS-1$
-		buffer.append(Thread.currentThread().getName());
-		buffer.append("] "); //$NON-NLS-1$
-		buffer.append(message);
-		System.out.println(buffer.toString());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
deleted file mode 100644
index 1eb23ba..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/URLUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *		compeople AG (Stefan Liebig) - Fix for bug 121201 - Poor performance behind proxy/firewall
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.core.helpers;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URL;
-
-/**
- * A utility class for manipulating URLs. This class works around some of the
- * broken behavior of the java.net.URL class.
- */
-public class URLUtil {
-
-	/**
-	 * Returns the URL as a local file, or <code>null</code> if the given
-	 * URL does not represent a local file.
-	 * @param url The url to return the file for
-	 * @return The local file corresponding to the given url, or <code>null</code>
-	 */
-	public static File toFile(URL url) {
-
-		if (!"file".equalsIgnoreCase(url.getProtocol())) //$NON-NLS-1$
-			return null;
-		//assume all illegal characters have been properly encoded, so use URI class to unencode
-
-		String externalForm = url.toExternalForm();
-		String pathString = externalForm.substring(5);
-
-		try {
-			if (pathString.indexOf('/') == 0) {
-				if (pathString.indexOf("//") == 0) //$NON-NLS-1$
-					externalForm = "file:" + ensureUNCPath(pathString); //$NON-NLS-1$
-				return new File(new URI(externalForm));
-			}
-			if (pathString.indexOf(':') == 1)
-				return new File(new URI("file:/" + pathString)); //$NON-NLS-1$
-
-			return new File(new URI(pathString).getSchemeSpecificPart());
-		} catch (Exception e) {
-			//URL contains unencoded characters
-			return new File(pathString);
-		}
-	}
-
-	/**
-	 * Ensures the given path string starts with exactly four leading slashes.
-	 */
-	private static String ensureUNCPath(String path) {
-		int len = path.length();
-		StringBuffer result = new StringBuffer(len);
-		for (int i = 0; i < 4; i++) {
-			//	if we have hit the first non-slash character, add another leading slash
-			if (i >= len || result.length() > 0 || path.charAt(i) != '/')
-				result.append('/');
-		}
-		result.append(path);
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
deleted file mode 100644
index 6874d77..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-
-Util_Invalid_Zip_File_Format=Invalid zip file format
-Util_Error_Unzipping=Error unzipping {0}: {1}
-
-Util_Empty_Zip_Entry=Cannot have an empty zip entry.
-Util_Absolute_Entry=Zip entries cannot be absolute.
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
deleted file mode 100644
index 89fe523..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/IServiceUI.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core;
-
-import java.security.cert.Certificate;
-
-/**
- * Service used for prompting for user information from within lower level code.
- * Implementors of this service are responsible for registering the service.
- * 
- * It is possible that the IServiceUI service is requested very early in the startup
- * sequence for an application.  For example, applications that check for updates 
- * during startup will trigger the service lookup if a server requiring authentication
- * is detected.  For this reason, implementors of IServiceUI should ensure that the 
- * bundle providing the service is partitioned appropriately.
- */
-public interface IServiceUI {
-	/**
-	 * Service name constant for the UI service.
-	 */
-	public static final String SERVICE_NAME = IServiceUI.class.getName();
-
-	/**
-	 * Authentication information returned from an authentication prompt request.
-	 */
-	public static class AuthenticationInfo {
-		private final boolean save;
-		private final String userName;
-		private final String password;
-
-		public AuthenticationInfo(String userName, String password, boolean saveResult) {
-			this.userName = userName;
-			this.password = password;
-			this.save = saveResult;
-		}
-
-		public boolean saveResult() {
-			return save;
-		}
-
-		public String getUserName() {
-			return userName;
-		}
-
-		public String getPassword() {
-			return password;
-		}
-	}
-
-	/**
-	 * Trust information returned from a trust request.	 *
-	 */
-	public static class TrustInfo {
-		private final Certificate[] trustedCertificates;
-		private final boolean saveTrustedCertificates;
-		private final boolean trustUnsigned;
-
-		public TrustInfo(Certificate[] trusted, boolean save, boolean trustUnsigned) {
-			this.trustedCertificates = trusted;
-			this.saveTrustedCertificates = save;
-			this.trustUnsigned = trustUnsigned;
-		}
-
-		/**
-		 * Return an array of the certificates that should be trusted for the
-		 * requested operation.
-		 * 
-		 * @return the trusted certificates, or <code>null</code> if there are
-		 * no certificates that were verified as trusted.
-		 */
-		public Certificate[] getTrustedCertificates() {
-			return trustedCertificates;
-		}
-
-		/**
-		 * Return a boolean indicating whether the trusted certificates should
-		 * be persisted for future operations.
-		 * 
-		 * @return <code>true</code> if the trusted certificates should be persisted, <code>false</code> if 
-		 * the trust only applies for this request.
-		 */
-		public boolean persistTrust() {
-			return saveTrustedCertificates;
-		}
-
-		/**
-		 * Return a boolean indicating whether the unsigned content should be trusted
-		 * during this operation.
-		 * 
-		 * @return <code>true</code> if the unsigned content should be trusted, or if there was no unsigned content, 
-		 * and <code>false</code> if there was unsigned content and should not be trusted.
-		 */
-		public boolean trustUnsignedContent() {
-			return trustUnsigned;
-		}
-	}
-
-	/**
-	 * Opens a UI prompt for authentication details
-	 * 
-	 * @param location - the location requiring login details, may be <code>null</code>.
-	 * @return The authentication result
-	 */
-	public AuthenticationInfo getUsernamePassword(String location);
-
-	/**
-	 * Opens a UI prompt for authentication details when cached or remembered details
-	 * where not accepted.
-	 * 
-	 * @param location  the location requiring login details
-	 * @param previousInfo - the previously used authentication details - may not be null.
-	 * @return The authentication result
-	 */
-	public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo);
-
-	/**
-	 * Opens a UI prompt to capture information about trusted content.
-	 *  
-	 * @param untrustedChain - an array of certificate chains for which there is no current trust anchor.  May be
-	 * <code>null</code>, which means there are no untrusted certificate chains.
-	 * @param unsignedDetail - an array of strings, where each String describes content that is not signed.
-	 * May be <code>null</code>, which means there is no unsigned content
-	 * @return  the TrustInfo that describes the user's choices for trusting certificates and
-	 * unsigned content. 
-	 */
-	public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
deleted file mode 100644
index dd1feee..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/ProvisionException.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-
-/**
- * A checked exception indicating a recoverable error occurred while provisioning.
- * The status provides a further description of the problem.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ProvisionException extends CoreException {
-	private static final long serialVersionUID = 1L;
-
-	//General and core status codes [0-1000]
-	/**
-	 * Status code constant (value 1) for an uncategorized error.
-	 */
-	public static final int INTERNAL_ERROR = 1;
-
-	//Repository status codes [1000-1999]
-	//General repository codes [1000-1099]
-	/** 
-	 * Status code constant (value 1000) indicating a repository
-	 * unexpectedly does not exist.
-	 */
-	public static final int REPOSITORY_NOT_FOUND = 1000;
-
-	/** 
-	 * Status code constant (value 1001) indicating a repository
-	 * unexpectedly exists.
-	 */
-	public static final int REPOSITORY_EXISTS = 1001;
-
-	/** 
-	 * Status code constant (value 1002) indicating a repository
-	 * could not be read
-	 */
-	public static final int REPOSITORY_FAILED_READ = 1002;
-
-	/** 
-	 * Status code constant (value 1003) indicating a failure occurred
-	 * while writing to a repository.
-	 */
-	public static final int REPOSITORY_FAILED_WRITE = 1003;
-
-	/** 
-	 * Status code constant (value 1004) indicating a repository
-	 * could not be written because it is a read-only repository.
-	 */
-	public static final int REPOSITORY_READ_ONLY = 1004;
-
-	/** 
-	 * Status code constant (value 1005) indicating an attempt was
-	 * made to create or access a repository of unknown type.
-	 */
-	public static final int REPOSITORY_UNKNOWN_TYPE = 1005;
-	/** 
-	 * Status code constant (value 1006) indicating that a specified
-	 * repository location is not valid.
-	 */
-	public static final int REPOSITORY_INVALID_LOCATION = 1006;
-
-	/** 
-	 * Status code constant (value 1007) indicating that there was
-	 * an authentication error while reading a repository
-	 */
-	public static final int REPOSITORY_FAILED_AUTHENTICATION = 1007;
-
-	//Metadata repository codes [1100-1199]
-
-	//Artifact repository codes [1200-1299]
-
-	/** 
-	 * Status code constant (value 1200) indicating an artifact unexpectedly
-	 * does not exist.
-	 */
-	public static final int ARTIFACT_NOT_FOUND = 1200;
-
-	/** 
-	 * Status code constant (value 1201) indicating an artifact unexpectedly
-	 * already exists.
-	 */
-	public static final int ARTIFACT_EXISTS = 1201;
-
-	/**
-	 * Status code constant (value 1202) indicating an artifact's size
-	 * could not be found.
-	 */
-	public static final int ARTIFACT_INCOMPLETE_SIZING = 1202;
-
-	/**
-	 * Creates a new exception with the given status object.  The message
-	 * of the given status is used as the exception message.
-	 *
-	 * @param status the status object to be associated with this exception
-	 */
-	public ProvisionException(IStatus status) {
-		super(status);
-	}
-
-	/**
-	 * Creates a new exception with the given message and a severity of 
-	 * {@link IStatus#ERROR}.
-	 *
-	 * @param message The human-readable problem message
-	 */
-	public ProvisionException(String message) {
-		super(new Status(IStatus.ERROR, Activator.ID, message));
-	}
-
-	/**
-	 * Creates a new exception with the given message and cause, and
-	 * a severity of {@link IStatus#ERROR}.
-	 *
-	 * @param message The human-readable problem message
-	 * @param cause The underlying cause of the exception
-	 */
-	public ProvisionException(String message, Throwable cause) {
-		super(new Status(IStatus.ERROR, Activator.ID, message, cause));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
deleted file mode 100644
index ee4d7d3..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/IProvisioningEventBus.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-import java.util.EventObject;
-import org.eclipse.osgi.framework.eventmgr.EventDispatcher;
-
-/**
- * The bus for events related to provisioning. This service can be used to register
- * a listener to receive provisioning events, or to broadcast events.
- */
-public interface IProvisioningEventBus extends EventDispatcher {
-	/**
-	 * The name used for obtaining a reference to the event bus service.
-	 */
-	public static final String SERVICE_NAME = IProvisioningEventBus.class.getName();
-
-	public abstract void addListener(ProvisioningListener toAdd);
-
-	public abstract void removeListener(ProvisioningListener toRemove);
-
-	public abstract void publishEvent(EventObject event);
-
-	/**
-	 * Closes the event bus.  This will stop dispatching of any events currently
-	 * being processed by the bus. Events published after the bus is closed
-	 * are ignored.
-	 */
-	public abstract void close();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
deleted file mode 100644
index de76415..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/ProvisioningListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-import java.util.EventListener;
-import java.util.EventObject;
-import org.eclipse.equinox.internal.p2.core.ProvisioningEventBus;
-
-/**
- * A listener that is notified about events related to provisioning.
- * @see ProvisioningEventBus
- */
-public interface ProvisioningListener extends EventListener {
-	//TODO: rename this interface to match eclipse conventions (IProvisioningListener)
-
-	/**
-	 * Notifies the listener about a provisioning event.
-	 */
-	public void notify(EventObject o);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
deleted file mode 100644
index 0df2c89..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/provisional/p2/core/eventbus/SynchronousProvisioningListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.core.eventbus;
-
-public interface SynchronousProvisioningListener extends ProvisioningListener {
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IAgentLocation.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IAgentLocation.java
deleted file mode 100644
index 8ee422f..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IAgentLocation.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core;
-
-import java.net.URI;
-
-/**
- * An instance of this service represents the location of a provisioning agent's 
- * metadata. 
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 1.1
- */
-public interface IAgentLocation {
-	/**
-	 * Service name constant for the agent location service.
-	 */
-	public static final String SERVICE_NAME = IAgentLocation.class.getName();
-
-	/**
-	 * Returns the location where the bundle with the given namespace
-	 * may write its agent-related data.
-	 * @param namespace The namespace of the bundle storing the data
-	 * @return The data location
-	 */
-	public URI getDataArea(String namespace);
-
-	/**
-	 * Returns the root {@link URI} of the agent metadata.
-	 * 
-	 * @return the location of the agent metadata
-	 */
-	public URI getRootLocation();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java
deleted file mode 100644
index 7bf574d..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core;
-
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-
-/**
- * A provisioning agent is comprised of a modular, extensible set of related services.
- * Each agent instance has its own separate instances of these services that are
- * not shared with other agents. There is at most one instance of a given service
- * tracked by an agent at any given time, which ensures all services that make
- * up an agent instance share common service instances with each other.
- * <p>
- * Services are registered with an agent either directly, via the {@link #registerService(String, Object)}
- * method, or indirectly by registering an {@link IAgentServiceFactory} in the OSGi
- * service registry.
- * </p>
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 1.1
- */
-public interface IProvisioningAgent {
-	/**
-	 * Service name constant for the agent service. Note that an agent obtained directly
-	 * as a service typically represents the agent of the currently running system. To
-	 * obtain an agent for a different system the {@link IProvisioningAgentProvider} 
-	 * service must be used.
-	 */
-	public static final String SERVICE_NAME = IProvisioningAgent.class.getName();
-
-	/**
-	 * Service property identifying whether an agent is the default agent.
-	 * 
-	 * <p>
-	 * This property may be used by clients wishing to obtain or track the
-	 * provisioning agent for the currently running system. When the value of
-	 * this property is <code>"true"</code> then the corresponding service is
-	 * the agent for the currently running system. If the property is undefined or
-	 * has any other value, then the service is not the agent for the currently running system.
-	 * </p>
-	 */
-	public static final String SERVICE_CURRENT = "agent.current"; //$NON-NLS-1$
-
-	/**
-	 * Returns the service with the given service name, or <code>null</code>
-	 * if no such service is available in this agent.
-	 */
-	public Object getService(String serviceName);
-
-	/**
-	 * Registers a service with this provisioning agent.
-	 * 
-	 * @param serviceName The name of the service to register
-	 * @param service The service implementation
-	 */
-	public void registerService(String serviceName, Object service);
-
-	/**
-	 * Stops the provisioning agent. This causes services provided by this 
-	 * agent to be cleaned up and discarded. No services provided by the agent
-	 * should be referenced after the agent has been stopped, and subsequent
-	 * attempts to obtain services after the agent has stopped will fail.
-	 * <p>
-	 * An agent should only be stopped by the client who first created the agent
-	 * by invoking {@link IProvisioningAgentProvider#createAgent(java.net.URI)}.
-	 * </p>
-	 */
-	public void stop();
-
-	/**
-	 * Unregisters a service that has previously been registered with this
-	 * agent via {@link #registerService(String, Object)}. This method has
-	 * no effect if no such service is registered with this agent.
-	 * 
-	 * @param serviceName The name of the service to unregister
-	 * @param service The service implementation to unregister.
-	 */
-	public void unregisterService(String serviceName, Object service);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgentProvider.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgentProvider.java
deleted file mode 100644
index cb888df..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgentProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core;
-
-import java.net.URI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * A service that is used to create or obtain instances of an
- * {@link IProvisioningAgent}.
- * @since 1.1
- */
-public interface IProvisioningAgentProvider {
-
-	/**
-	 * Service name constant for the agent provider service.
-	 */
-	public static final String SERVICE_NAME = IProvisioningAgentProvider.class.getName();
-
-	/**
-	 * Creates a provisioning agent who metadata is stored at the given location.
-	 * If a <code>null</code> location is provided, the provisioning agent for the 
-	 * currently running system is returned, if available. If a <code>null</code>
-	 * location is provided and the currently running system has not been provisioned
-	 * by any known agent, <code>null</code> is returned.
-	 * <p>
-	 * Callers of this method are responsible for stopping the agent
-	 * when they are finished using it by invoking {@link IProvisioningAgent#stop()}.
-	 * </p>
-	 * @param location The location where the agent metadata is stored
-	 * @return A provisioning agent, or <code>null</code> if a <code>null</code>
-	 * parameter is provided an there is no currently running agent.
-	 * @throws ProvisionException If agent creation failed. Reasons include:
-	 * <ul>
-	 * <li>The location is not writeable.</li>
-	 * </ul>
-	 * @see IProvisioningAgent#stop()
-	 */
-	public IProvisioningAgent createAgent(URI location) throws ProvisionException;
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/package.html b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/package.html
deleted file mode 100644
index ce702fa..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides core support for interacting with a p2-based provisioning system
-<h2>
-Package Specification</h2>
-<p>
-This package specifies API for creating, using, and extending a provisioning system.
-A provisioning agent ties together a set of related services that work together
-to implement a provisioning system. For end users of the provisioning system,
-they simply instantiate or obtain an agent and get the services they require from
-the agent. Extenders can register a factory for adding new services to the system,
-or add services directly to an agent.
-<p>
-@since 2.0
-<p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/IAgentServiceFactory.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/IAgentServiceFactory.java
deleted file mode 100644
index 8fd467b..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/IAgentServiceFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.core.spi;
-
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-
-/**
- * A factory for creating a service that forms part of a provisioning agent instance.
- * Factories themselves are registered in the OSGi service registry so that they
- * can be obtained by a provisioning agent.
- * @since 1.1
- */
-public interface IAgentServiceFactory {
-	/**
-	 * The service name for the factory service.
-	 */
-	public static final String SERVICE_NAME = IAgentServiceFactory.class.getName();
-
-	/**
-	 * The service property specifying the name of the service created by this factory.
-	 */
-	public static final String PROP_CREATED_SERVICE_NAME = "p2.agent.servicename"; //$NON-NLS-1$
-
-	/**
-	 * Instantiates a service instance for the given provisioning agent.
-	 * 
-	 * @param agent The agent this service will belong to
-	 * @return The created service
-	 */
-	public Object createService(IProvisioningAgent agent);
-}
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/package.html b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/package.html
deleted file mode 100644
index 70d3ca5..0000000
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/spi/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides API for customizing and extending a p2-based provisioning system
-<h2>
-Package Specification</h2>
-<p>
-This package specifies API for extending and customizing a provisioning system.
-A provisioning agent ties together a set of related services that work together
-to implement a provisioning system. Extenders can register a factory for adding new 
-services to the system, or add services directly to an agent.
-<p>
-@since 2.0
-<p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.classpath b/bundles/org.eclipse.equinox.p2.director.app/.classpath
deleted file mode 100644
index 75116d7..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.cvsignore b/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
deleted file mode 100644
index 905d1d6..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-ant_tasks
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
deleted file mode 100644
index 14a07a3..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.externalToolBuilders/Build Director Ant Tasks.launch
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1255396835944_5&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.equinox.p2.director.app&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.director.app"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.project b/bundles/org.eclipse.equinox.p2.director.app/.project
deleted file mode 100644
index cccb79f..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.director.app</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Director Ant Tasks.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 802d381..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,348 +0,0 @@
-#Wed Oct 07 15:35:11 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 233758b..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Oct 07 15:35:11 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 7acf544..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-#Fri Apr 24 11:01:31 EDT 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
deleted file mode 100644
index a70c8b4..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,32 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Import-Package: org.eclipse.equinox.app,
- org.eclipse.equinox.internal.p2.console,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.framework.log,
- org.eclipse.osgi.service.environment,
- org.eclipse.osgi.util,
- org.osgi.framework,
- org.osgi.service.packageadmin
-Bundle-Activator: org.eclipse.equinox.internal.p2.director.app.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
-Export-Package: org.eclipse.equinox.internal.p2.director.app;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.director.app/about.html b/bundles/org.eclipse.equinox.p2.director.app/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/build.properties b/bundles/org.eclipse.equinox.p2.director.app/build.properties
deleted file mode 100644
index fd5507d..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-source.ant_tasks/director-ant.jar=src_ant/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               ant_tasks/director-ant.jar,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
-jars.compile.order=.,ant_tasks/director-ant.jar
-extra.ant_tasks/director-ant.jar = platform:/plugin/org.apache.ant
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.director.app/config.ini b/bundles/org.eclipse.equinox.p2.director.app/config.ini
deleted file mode 100644
index 9cfadc2..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/config.ini
+++ /dev/null
@@ -1,88 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the 
-# System properties on system startup.  The values control the way the 
-# runtime is structured and runs.
-
-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 
-# URLs given may include a version number (e.g., .../location_1.2.3).  
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number.  If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point.  The default value is
-# platform:/base/plugins/org.eclipse.osgi 
-#osgi.framework=platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location.  This 
-# comma-separated list contains either URLs or simple element names.  Simple
-# names are assumed to be relative to the framework's install directory.  
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file.  There is no default value.
-#osgi.splashPath=
-
-# The location of the splash screen file.  If this value is set at system startup it is used 
-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running.  Each entry if of the form
-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=\
-	org.eclipse.core.jobs,\
-	org.eclipse.ecf,\
-	org.eclipse.ecf.filetransfer,\
-	org.eclipse.ecf.identity,\
-	org.eclipse.ecf.provider.filetransfer,\
-	org.eclipse.equinox.app@start,\
-	org.eclipse.equinox.common,\
-	org.eclipse.equinox.frameworkadmin,\
-	org.eclipse.equinox.frameworkadmin.equinox@start,\
-	org.eclipse.equinox.p2.artifact.repository,\
-	org.eclipse.equinox.p2.console,\
-	org.eclipse.equinox.p2.core,\
-	org.eclipse.equinox.p2.director,\
-	org.eclipse.equinox.p2.director.app,\
-	org.eclipse.equinox.p2.download,\
-	org.eclipse.equinox.p2.engine,\
-	org.eclipse.equinox.p2.exemplarysetup@start,\
-	org.eclipse.equinox.p2.jarprocessor,\
-	org.eclipse.equinox.p2.metadata,\
-	org.eclipse.equinox.p2.metadata.repository,\
-	org.eclipse.equinox.p2.operations,\
-	org.eclipse.equinox.p2.touchpoint.eclipse,\
-	org.eclipse.equinox.p2.touchpoint.natives,\
-	org.eclipse.equinox.registry,\
-	org.eclipse.equinox.simpleconfigurator,\
-	org.eclipse.equinox.simpleconfigurator.manipulator@start,\
-	org.eclipse.osgi.services,\
-	org.sat4j.core,\
-	org.sat4j.pb
-
-org.eclipse.update.reconcile=false
-
-# The product to run.  A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc 
-# as well as define the default application to run.  
-#eclipse.product=
-
-# The application to run.  The value specified here is the id of the application extension
-# the runtime will find, instantiate and execute once the system is up.  Note that typically 
-# the identified eclipse.product defines the default application to run.
-#eclipse.application=
-
-# The build identifier
-eclipse.buildId=@build@
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/director app.launch b/bundles/org.eclipse.equinox.p2.director.app/director app.launch
deleted file mode 100644
index e2020f8..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/director app.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/director app"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consoleLog -application org.eclipse.equinox.p2.director -installIU org.eclipse.e4.workbench.sdk -p2.os macosx -p2.ws cocoa -p2.arch x86 -roaming -profile SDKProfile -metadatarepository file:/Users/Pascal/tmp/paul/helios/,file:/Users/Pascal/tmp/paul/e4/ -destination /Users/Pascal/tmp/paul/install -bundlepool /Users/Pascal/tmp/paul/install"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Doff.eclipse.p2.data.area=file:/Application/eclipse/p2/&#10;-Doff.eclipse.p2.profile=SDKProfile"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.security.macosx@default:false,org.eclipse.osgi@-1:true,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.ant.core@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.common@2:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.app@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.jobs@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.exemplarysetup@default:true,org.eclipse.equinox.simpleconfigurator.manipulator@default:true,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.p2.console@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.sat4j.core@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/director.product b/bundles/org.eclipse.equinox.p2.director.app/director.product
deleted file mode 100644
index 0fa6e99..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/director.product
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="Equinox Provisioning Director" id="org.eclipse.equinox.p2.director.app.product" application="org.eclipse.equinox.p2.director.app.application" useFeatures="true">
-
-   <configIni use="custom" path="/org.eclipse.equinox.p2.director.app/config.ini"/>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <launcher name="eclipse">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.equinox.p2.director.feature" version="0.0.0"/>
-      <feature id="org.eclipse.rcp" version="0.0.0"/>
-   </features>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/plugin.properties b/bundles/org.eclipse.equinox.p2.director.app/plugin.properties
deleted file mode 100644
index 3e0d50f..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Director Application
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.director.app/plugin.xml b/bundles/org.eclipse.equinox.p2.director.app/plugin.xml
deleted file mode 100644
index d429492..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension id="application" point="org.eclipse.core.runtime.applications"> 
-		<application> 
-			<run class="org.eclipse.equinox.internal.p2.director.app.Application"/> 
-		</application> 
-	</extension>
-	<extension id="org.eclipse.equinox.p2.director" point="org.eclipse.core.runtime.applications"> 
-		<application
-        cardinality="singleton-global"
-        thread="main"
-        visible="true"> 
-			<run class="org.eclipse.equinox.internal.p2.director.app.DirectorApplication"/> 
-		</application> 
-	</extension>
-	<extension id="product" point="org.eclipse.core.runtime.products">
-		<product application="org.eclipse.equinox.p2.director.app.application" name="Equinox Provisioning Director" />
-	</extension> 
-	<extension id="org.eclipse.equinox.p2.director.product" point="org.eclipse.core.runtime.products">
-		<product application="org.eclipse.equinox.p2.director" name="Equinox P2 Director" />
-	</extension> 
-	<extension point="org.eclipse.ant.core.extraClasspathEntries">
-		<extraClasspathEntry library="ant_tasks/director-ant.jar"/>
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml b/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
deleted file mode 100644
index 1582323..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/scripts/buildExtraJAR.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.equinox.p2.director.app" default="default" basedir="..">
-
-	<target name="default" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="${basedir}/ant_tasks" />
-		<delete file="${basedir}/ant_tasks/director-ant.jar" failonerror="false"/>
-		<jar destfile="${basedir}/ant_tasks/director-ant.jar" basedir="${basedir}/bin_ant"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
deleted file mode 100644
index de0403a..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Activator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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 http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.director.app"; //$NON-NLS-1$
-	private static BundleContext bundleContext;
-
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
deleted file mode 100644
index 8d4d4da..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Application.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.console.ProvisioningHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * This is the original p2 director application created for the p2 1.0 release. There
- * is a replacement application in {@link DirectorApplication} that should be preferred
- * over this implementation where possible. This implementation remains for backwards
- * compatibility purposes.
- */
-public class Application implements IApplication {
-	private static final Integer EXIT_ERROR = new Integer(13);
-	static private final String ANT_PROPERTY_PREFIX = "${"; //$NON-NLS-1$
-	static private final String FLAVOR_DEFAULT = "tooling"; //$NON-NLS-1$
-	static private final String EXEMPLARY_SETUP = "org.eclipse.equinox.p2.exemplarysetup"; //$NON-NLS-1$
-
-	public static final int COMMAND_INSTALL = 0;
-	public static final int COMMAND_UNINSTALL = 1;
-	public static final int COMMAND_LIST = 2;
-
-	public static final String[] COMMAND_NAMES = {"-installIU", "-uninstallIU", "-list"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	private Path destination;
-
-	private URI[] artifactRepositoryLocations;
-	private URI[] metadataRepositoryLocations;
-
-	private URI[] metadataReposForRemoval;
-	private URI[] artifactReposForRemoval;
-	private IArtifactRepositoryManager artifactManager;
-	private IMetadataRepositoryManager metadataManager;
-
-	private String root;
-	private Version version = null;
-	private String flavor;
-	private String profileId;
-	private String profileProperties; // a comma-separated list of property pairs "tag=value"
-	private String bundlePool = null;
-	private String nl;
-	private String os;
-	private String arch;
-	private String ws;
-	private boolean roamingProfile = false;
-	private IPlanner planner;
-	private IEngine engine;
-	private boolean noProfileId = false;
-
-	private int command = -1;
-
-	private ServiceReference packageAdminRef;
-	private PackageAdmin packageAdmin;
-
-	private void ambigousCommand(int cmd1, int cmd2) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Ambigous_Command, new Object[] {COMMAND_NAMES[cmd1], COMMAND_NAMES[cmd2]})));
-	}
-
-	private ProfileChangeRequest buildProvisioningRequest(IProfile profile, Collector roots, boolean install) {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		markRoots(request, roots);
-		if (install) {
-			request.addInstallableUnits((IInstallableUnit[]) roots.toArray(IInstallableUnit.class));
-		} else {
-			request.removeInstallableUnits((IInstallableUnit[]) roots.toArray(IInstallableUnit.class));
-		}
-		return request;
-	}
-
-	synchronized Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	private String getEnvironmentProperty() {
-		Properties values = new Properties();
-		if (os != null)
-			values.put("osgi.os", os); //$NON-NLS-1$
-		if (nl != null)
-			values.put("osgi.nl", nl); //$NON-NLS-1$
-		if (ws != null)
-			values.put("osgi.ws", ws); //$NON-NLS-1$
-		if (arch != null)
-			values.put("osgi.arch", arch); //$NON-NLS-1$
-		if (values.isEmpty())
-			return null;
-		return toString(values);
-	}
-
-	private IProfile initializeProfile() throws CoreException {
-		if (profileId == null) {
-			profileId = IProfileRegistry.SELF;
-			noProfileId = true;
-		}
-		IProfile profile = ProvisioningHelper.getProfile(profileId);
-		if (profile == null) {
-			if (destination == null)
-				missingArgument("destination"); //$NON-NLS-1$
-			if (flavor == null)
-				flavor = System.getProperty("eclipse.p2.configurationFlavor", FLAVOR_DEFAULT); //$NON-NLS-1$
-
-			Properties props = new Properties();
-			props.setProperty(IProfile.PROP_INSTALL_FOLDER, destination.toOSString());
-			if (bundlePool == null || bundlePool.equals(Messages.destination_commandline))
-				props.setProperty(IProfile.PROP_CACHE, destination.toOSString());
-			else
-				props.setProperty(IProfile.PROP_CACHE, bundlePool);
-			if (roamingProfile)
-				props.setProperty(IProfile.PROP_ROAMING, Boolean.TRUE.toString());
-
-			String env = getEnvironmentProperty();
-			if (env != null)
-				props.setProperty(IProfile.PROP_ENVIRONMENTS, env);
-			if (profileProperties != null) {
-				putProperties(profileProperties, props);
-			}
-			profile = ProvisioningHelper.addProfile(profileId, props);
-		}
-		return profile;
-	}
-
-	private void initializeRepositories(boolean throwException) throws CoreException {
-		if (artifactRepositoryLocations == null) {
-			if (throwException)
-				missingArgument("artifactRepository"); //$NON-NLS-1$
-		} else {
-			artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-			if (artifactManager == null) {
-				IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(Activator.getContext(), IProvisioningAgent.SERVICE_CURRENT);
-				if (agent == null) {
-					IProvisioningAgentProvider provider = (IProvisioningAgentProvider) ServiceHelper.getService(Activator.getContext(), IProvisioningAgentProvider.SERVICE_NAME);
-					agent = provider.createAgent(null);
-				}
-				artifactManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);;
-			}
-			if (artifactManager == null) {
-				if (throwException)
-					throw new ProvisionException(Messages.Application_NoManager);
-			} else {
-				int removalIdx = 0;
-				boolean anyValid = false; // do we have any valid repos or did they all fail to load?
-				artifactReposForRemoval = new URI[artifactRepositoryLocations.length];
-				for (int i = 0; i < artifactRepositoryLocations.length; i++) {
-					try {
-						if (!artifactManager.contains(artifactRepositoryLocations[i])) {
-							artifactManager.loadRepository(artifactRepositoryLocations[i], null);
-							artifactReposForRemoval[removalIdx++] = artifactRepositoryLocations[i];
-						}
-						anyValid = true;
-					} catch (ProvisionException e) {
-						//one of the repositories did not load
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, artifactRepositoryLocations[i].toString() + " failed to load", e)); //$NON-NLS-1$
-					}
-				}
-				if (throwException && !anyValid)
-					//all repositories failed to load
-					throw new ProvisionException(Messages.Application_NoRepositories);
-			}
-		}
-
-		if (metadataRepositoryLocations == null) {
-			if (throwException)
-				missingArgument("metadataRepository"); //$NON-NLS-1$
-		} else {
-			metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-			if (metadataManager == null) {
-				if (throwException)
-					throw new ProvisionException(Messages.Application_NoManager);
-			} else {
-				int removalIdx = 0;
-				boolean anyValid = false; // do we have any valid repos or did they all fail to load?
-				metadataReposForRemoval = new URI[metadataRepositoryLocations.length];
-				for (int i = 0; i < metadataRepositoryLocations.length; i++) {
-					try {
-						if (!metadataManager.contains(metadataRepositoryLocations[i])) {
-							metadataManager.loadRepository(metadataRepositoryLocations[i], null);
-							metadataReposForRemoval[removalIdx++] = metadataRepositoryLocations[i];
-						}
-						anyValid = true;
-					} catch (ProvisionException e) {
-						//one of the repositories did not load
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, metadataRepositoryLocations[i].toString() + " failed to load", e)); //$NON-NLS-1$
-					}
-				}
-				if (throwException && !anyValid)
-					//all repositories failed to load
-					throw new ProvisionException(Messages.Application_NoRepositories);
-			}
-		}
-	}
-
-	private void initializeServices() {
-		IDirector director = (IDirector) ServiceHelper.getService(Activator.getContext(), IDirector.SERVICE_NAME);
-		if (director == null)
-			throw new RuntimeException(Messages.Missing_director);
-
-		planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-		if (planner == null)
-			throw new RuntimeException(Messages.Missing_planner);
-
-		engine = (IEngine) ServiceHelper.getService(Activator.getContext(), IEngine.SERVICE_NAME);
-		if (engine == null)
-			throw new RuntimeException(Messages.Missing_Engine);
-	}
-
-	private void markRoots(ProfileChangeRequest request, Collector roots) {
-		for (Iterator iterator = roots.iterator(); iterator.hasNext();) {
-			request.setInstallableUnitProfileProperty((IInstallableUnit) iterator.next(), IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-		}
-	}
-
-	private void missingArgument(String argumentName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_Required_Argument, argumentName)));
-	}
-
-	private IStatus planAndExecute(IProfile profile, ProvisioningContext context, ProfileChangeRequest request) {
-		IProvisioningPlan result;
-		IStatus operationStatus;
-		result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		if (!result.getStatus().isOK())
-			operationStatus = result.getStatus();
-		else {
-			operationStatus = PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-		}
-		return operationStatus;
-	}
-
-	private void printRequest(ProfileChangeRequest request) {
-		IInstallableUnit[] toAdd = request.getAddedInstallableUnits();
-		IInstallableUnit[] toRemove = request.getRemovedInstallableUnits();
-		for (int i = 0; i < toAdd.length; i++) {
-			System.out.println(NLS.bind(Messages.Installing, toAdd[i].getId(), toAdd[i].getVersion()));
-		}
-		for (int i = 0; i < toRemove.length; i++) {
-			System.out.println(NLS.bind(Messages.Uninstalling, toRemove[i].getId(), toRemove[i].getVersion()));
-		}
-	}
-
-	public void processArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-
-			String opt = args[i];
-			if (opt.equals("-roaming")) { //$NON-NLS-1$
-				roamingProfile = true;
-			}
-
-			if (opt.equals(COMMAND_NAMES[COMMAND_LIST])) {
-				if (command != -1)
-					ambigousCommand(COMMAND_LIST, command);
-				command = COMMAND_LIST;
-			}
-
-			// check for args without parameters (i.e., a flag arg)
-
-			// check for args with parameters. If we are at the last
-			// argument or
-			// if the next one
-			// has a '-' as the first character, then we can't have an arg
-			// with
-			// a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-
-			String arg = args[++i];
-
-			if (opt.equalsIgnoreCase("-profile")) //$NON-NLS-1$
-				profileId = arg;
-
-			if (opt.equalsIgnoreCase("-profileProperties") || opt.equalsIgnoreCase("-props")) //$NON-NLS-1$ //$NON-NLS-2$
-				profileProperties = arg;
-
-			// we create a path object here to handle ../ entries in the middle of paths
-			if (opt.equalsIgnoreCase("-destination") || opt.equalsIgnoreCase("-dest")) { //$NON-NLS-1$ //$NON-NLS-2$
-				if (arg.startsWith("file:")) //$NON-NLS-1$
-					arg = arg.substring(5);
-				destination = new Path(arg);
-			}
-
-			// we create a path object here to handle ../ entries in the middle of paths
-			if (opt.equalsIgnoreCase("-bundlepool") || opt.equalsIgnoreCase("-bp")) { //$NON-NLS-1$ //$NON-NLS-2$
-				if (arg.startsWith("file:")) //$NON-NLS-1$
-					arg = arg.substring(5);
-				bundlePool = new Path(arg).toOSString();
-			}
-
-			if (opt.equalsIgnoreCase("-metadataRepository") || opt.equalsIgnoreCase("-metadataRepositories") || opt.equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				metadataRepositoryLocations = getURIs(arg);
-
-			if (opt.equalsIgnoreCase("-artifactRepository") || opt.equalsIgnoreCase("-artifactRepositories") || opt.equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				artifactRepositoryLocations = getURIs(arg);
-
-			if (opt.equalsIgnoreCase("-flavor")) //$NON-NLS-1$
-				flavor = arg;
-
-			if (opt.equalsIgnoreCase(COMMAND_NAMES[COMMAND_INSTALL])) {
-				if (command != -1)
-					ambigousCommand(COMMAND_INSTALL, command);
-				root = arg;
-				command = COMMAND_INSTALL;
-			}
-
-			if (opt.equalsIgnoreCase("-version")) { //$NON-NLS-1$
-				if (arg != null && !arg.startsWith(ANT_PROPERTY_PREFIX))
-					version = Version.create(arg);
-			}
-
-			if (opt.equalsIgnoreCase(COMMAND_NAMES[COMMAND_UNINSTALL])) {
-				if (command != -1)
-					ambigousCommand(COMMAND_UNINSTALL, command);
-				root = arg;
-				command = COMMAND_UNINSTALL;
-			}
-
-			if (opt.equalsIgnoreCase("-p2.os")) { //$NON-NLS-1$
-				os = arg;
-			}
-			if (opt.equalsIgnoreCase("-p2.ws")) { //$NON-NLS-1$
-				ws = arg;
-			}
-			if (opt.equalsIgnoreCase("-p2.nl")) { //$NON-NLS-1$
-				nl = arg;
-			}
-			if (opt.equalsIgnoreCase("-p2.arch")) { //$NON-NLS-1$
-				arch = arg;
-			}
-		}
-
-	}
-
-	/**
-	 * @param pairs	a comma separated list of tag=value pairs
-	 * @param properties the collection into which the pairs are put
-	 */
-	private void putProperties(String pairs, Properties properties) {
-		StringTokenizer tok = new StringTokenizer(pairs, ",", true); //$NON-NLS-1$
-		while (tok.hasMoreTokens()) {
-			String next = tok.nextToken().trim();
-			int i = next.indexOf('=');
-			if (i > 0 && i < next.length() - 1) {
-				String tag = next.substring(0, i).trim();
-				String value = next.substring(i + 1, next.length()).trim();
-				if (tag.length() > 0 && value.length() > 0) {
-					properties.put(tag, value);
-				}
-			}
-		}
-	}
-
-	public Object run(String[] args) throws Exception {
-		System.out.println(Messages.Deprecated_application);
-		long time = -System.currentTimeMillis();
-		initializeServices();
-		processArguments(args);
-
-		IStatus operationStatus = Status.OK_STATUS;
-		InstallableUnitQuery query;
-		Collector roots;
-		try {
-			initializeRepositories(command == COMMAND_INSTALL);
-			switch (command) {
-				case COMMAND_INSTALL :
-				case COMMAND_UNINSTALL :
-
-					IProfile profile = initializeProfile();
-					query = new InstallableUnitQuery(root, version == null ? VersionRange.emptyRange : new VersionRange(version, true, version, true));
-					roots = collectRootIUs(metadataRepositoryLocations, new PipedQuery(new IQuery[] {query, new LatestIUVersionQuery()}));
-					if (roots.size() <= 0)
-						roots.addAll(profile.query(query, new NullProgressMonitor()));
-					if (roots.size() <= 0) {
-						System.out.println(NLS.bind(Messages.Missing_IU, root));
-						logFailure(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_IU, root)));
-						return EXIT_ERROR;
-					}
-					// keep this result status in case there is a problem so we can report it to the user
-					boolean wasRoaming = Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue();
-					try {
-						IStatus updateRoamStatus = updateRoamingProperties(profile);
-						if (!updateRoamStatus.isOK()) {
-							MultiStatus multi = new MultiStatus(Activator.ID, IStatus.ERROR, NLS.bind(Messages.Cant_change_roaming, profile.getProfileId()), null);
-							multi.add(updateRoamStatus);
-							System.out.println(multi.getMessage());
-							System.out.println(updateRoamStatus.getMessage());
-							logFailure(multi);
-							return EXIT_ERROR;
-						}
-						ProvisioningContext context = new ProvisioningContext(metadataRepositoryLocations);
-						context.setArtifactRepositories(artifactRepositoryLocations);
-						ProfileChangeRequest request = buildProvisioningRequest(profile, roots, command == COMMAND_INSTALL);
-						printRequest(request);
-						operationStatus = planAndExecute(profile, context, request);
-					} finally {
-						// if we were originally were set to be roaming and we changed it, change it back before we return
-						if (wasRoaming && !Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
-							setRoaming(profile);
-					}
-					break;
-				case COMMAND_LIST :
-					query = new InstallableUnitQuery(null, VersionRange.emptyRange);
-					if (metadataRepositoryLocations == null)
-						missingArgument("metadataRepository"); //$NON-NLS-1$
-
-					roots = collectRootIUs(metadataRepositoryLocations, query);
-					Iterator unitIterator = roots.iterator();
-					while (unitIterator.hasNext()) {
-						IInstallableUnit iu = (IInstallableUnit) unitIterator.next();
-						System.out.println(iu.getId());
-					}
-					break;
-			}
-		} finally {
-			cleanupRepositories();
-		}
-
-		time += System.currentTimeMillis();
-		if (operationStatus.isOK())
-			System.out.println(NLS.bind(Messages.Operation_complete, new Long(time)));
-		else {
-			System.out.println(Messages.Operation_failed);
-			logFailure(operationStatus);
-			return EXIT_ERROR;
-		}
-		return IApplication.EXIT_OK;
-	}
-
-	private void cleanupRepositories() {
-		if (artifactReposForRemoval != null && artifactManager != null) {
-			for (int i = 0; i < artifactReposForRemoval.length && artifactReposForRemoval[i] != null; i++) {
-				artifactManager.removeRepository(artifactReposForRemoval[i]);
-			}
-		}
-		if (metadataReposForRemoval != null && metadataManager != null) {
-			for (int i = 0; i < metadataReposForRemoval.length && metadataReposForRemoval[i] != null; i++) {
-				metadataManager.removeRepository(metadataReposForRemoval[i]);
-			}
-		}
-	}
-
-	class LocationQueryable implements IQueryable {
-		private URI location;
-
-		public LocationQueryable(URI location) {
-			this.location = location;
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			return ProvisioningHelper.getInstallableUnits(location, query, monitor);
-		}
-	}
-
-	private Collector collectRootIUs(URI[] locations, IQuery query) {
-		IProgressMonitor nullMonitor = new NullProgressMonitor();
-
-		if (locations == null || locations.length == 0)
-			return ProvisioningHelper.getInstallableUnits((URI) null, query, nullMonitor);
-
-		IQueryable[] locationQueryables = new IQueryable[locations.length];
-		for (int i = 0; i < locations.length; i++) {
-			locationQueryables[i] = new LocationQueryable(locations[i]);
-		}
-		return new CompoundQueryable(locationQueryables).query(query, nullMonitor);
-	}
-
-	private synchronized void setPackageAdmin(PackageAdmin service) {
-		packageAdmin = service;
-	}
-
-	private boolean startEarly(String bundleName) throws BundleException {
-		Bundle bundle = getBundle(bundleName);
-		if (bundle == null)
-			return false;
-		bundle.start(Bundle.START_ACTIVATION_POLICY);
-		bundle.start(Bundle.START_TRANSIENT);
-		return true;
-	}
-
-	public Object start(IApplicationContext context) throws Exception {
-		packageAdminRef = Activator.getContext().getServiceReference(PackageAdmin.class.getName());
-		setPackageAdmin((PackageAdmin) Activator.getContext().getService(packageAdminRef));
-		if (!startEarly(EXEMPLARY_SETUP)) {
-			logFailure(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Missing_bundle, EXEMPLARY_SETUP)));
-			return EXIT_ERROR;
-		}
-		return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
-	}
-
-	public void stop() {
-		setPackageAdmin(null);
-		Activator.getContext().ungetService(packageAdminRef);
-	}
-
-	private String toString(Properties context) {
-		StringBuffer result = new StringBuffer();
-		for (Enumeration iter = context.keys(); iter.hasMoreElements();) {
-			String key = (String) iter.nextElement();
-			result.append(key);
-			result.append('=');
-			result.append(context.get(key));
-			if (iter.hasMoreElements())
-				result.append(',');
-		}
-		return result.toString();
-	}
-
-	private IStatus updateRoamingProperties(IProfile profile) {
-		// if the user didn't specify a destination path on the command-line
-		// then we assume they are installing into the currently running
-		// instance and we don't have anything to update
-		if (destination == null)
-			return Status.OK_STATUS;
-
-		// if the user didn't set a profile id on the command-line this is ok if they
-		// also didn't set the destination path. (handled in the case above) otherwise throw an error.
-		if (noProfileId) // && destination != null
-			return new Status(IStatus.ERROR, Activator.ID, Messages.Missing_profileid);
-
-		// make sure that we are set to be roaming before we update the values
-		if (!Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
-			return Status.OK_STATUS;
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		File destinationFile = destination.toFile();
-		if (!destinationFile.equals(new File(profile.getProperty(IProfile.PROP_INSTALL_FOLDER))))
-			request.setProfileProperty(IProfile.PROP_INSTALL_FOLDER, destination.toOSString());
-		if (!destinationFile.equals(new File(profile.getProperty(IProfile.PROP_CACHE))))
-			request.setProfileProperty(IProfile.PROP_CACHE, destination.toOSString());
-		if (request.getProfileProperties().size() == 0)
-			return Status.OK_STATUS;
-
-		// otherwise we have to make a change so set the profile to be non-roaming so the 
-		// values don't get recalculated to the wrong thing if we are flushed from memory - we
-		// will set it back later (see bug 269468)
-		request.setProfileProperty(IProfile.PROP_ROAMING, "false"); //$NON-NLS-1$
-
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		context.setArtifactRepositories(new URI[0]);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		return PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-	}
-
-	/*
-	 * Set the roaming property on the given profile.
-	 */
-	private IStatus setRoaming(IProfile profile) {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.setProfileProperty(IProfile.PROP_ROAMING, "true"); //$NON-NLS-1$
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		context.setArtifactRepositories(new URI[0]);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		return PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-	}
-
-	private static URI[] getURIs(String spec) {
-		if (spec == null)
-			return null;
-		String[] urlSpecs = getArrayFromString(spec, ","); //$NON-NLS-1$
-		ArrayList result = new ArrayList(urlSpecs.length);
-		for (int i = 0; i < urlSpecs.length; i++) {
-			try {
-				result.add(URIUtil.fromString(urlSpecs[i]));
-			} catch (URISyntaxException e) {
-				LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.Ignored_repo, urlSpecs[i])));
-			}
-		}
-		if (result.size() == 0)
-			return null;
-		return (URI[]) result.toArray(new URI[result.size()]);
-	}
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				result.add(token);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	private void logFailure(IStatus status) {
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		if (log != null)
-			System.err.println("Application failed, log file location: " + log.getFile()); //$NON-NLS-1$
-		LogHelper.log(status);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
deleted file mode 100644
index 27d452b..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
+++ /dev/null
@@ -1,911 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * This director implementation is a complete replacement for the old director application
- * found in {@link Application}. This implementation has simplified command line 
- * arguments, and doesn't require the user to set system property such as the
- * p2 data location. See bug 268138 for related discussion.
- */
-public class DirectorApplication implements IApplication {
-	class LocationQueryable implements IQueryable {
-		private URI location;
-
-		public LocationQueryable(URI location) {
-			this.location = location;
-			Assert.isNotNull(location);
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			return getInstallableUnits(location, query, monitor);
-		}
-	}
-
-	private static class CommandLineOption {
-		private final String[] identifiers;
-		private final String optionSyntaxString;
-		private final String helpString;
-
-		CommandLineOption(String[] identifiers, String optionSyntaxString, String helpString) {
-			this.identifiers = identifiers;
-			this.optionSyntaxString = optionSyntaxString;
-			this.helpString = helpString;
-		}
-
-		boolean isOption(String opt) {
-			int idx = identifiers.length;
-			while (--idx >= 0)
-				if (identifiers[idx].equalsIgnoreCase(opt))
-					return true;
-			return false;
-		}
-
-		void appendHelp(PrintStream out) {
-			out.print(identifiers[0]);
-			for (int idx = 1; idx < identifiers.length; ++idx) {
-				out.print(" | "); //$NON-NLS-1$
-				out.print(identifiers[idx]);
-			}
-			if (optionSyntaxString != null) {
-				out.print(' ');
-				out.print(optionSyntaxString);
-			}
-			out.println();
-			out.print("  "); //$NON-NLS-1$
-			out.println(helpString);
-		}
-	}
-
-	private static final CommandLineOption OPTION_HELP = new CommandLineOption(new String[] {"-help", "-h", "-?"}, null, Messages.Help_Prints_this_command_line_help); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_LIST = new CommandLineOption(new String[] {"-list", "-l"}, Messages.Help_lb_lt_comma_separated_list_gt_rb, Messages.Help_List_all_IUs_found_in_repos); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_INSTALL_IU = new CommandLineOption(new String[] {"-installIU", "-installIUs", "-i"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_Installs_the_listed_IUs); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_UNINSTALL_IU = new CommandLineOption(new String[] {"-uninstallIU", "-uninstallIUs", "-u"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_Uninstalls_the_listed_IUs); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_REVERT = new CommandLineOption(new String[] {"-revert"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_Revert_to_previous_state); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_DESTINATION = new CommandLineOption(new String[] {"-destination", "-d"}, Messages.Help_lt_path_gt, Messages.Help_The_folder_in_which_the_targetd_product_is_located); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_METADATAREPOS = new CommandLineOption(new String[] {"-metadatarepository", "metadatarepositories", "-m"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_A_list_of_URLs_denoting_metadata_repositories); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_ARTIFACTREPOS = new CommandLineOption(new String[] {"-artifactrepository", "artifactrepositories", "-a"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_A_list_of_URLs_denoting_artifact_repositories); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_REPOSITORIES = new CommandLineOption(new String[] {"-repository", "repositories", "-r"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_A_list_of_URLs_denoting_colocated_repositories); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private static final CommandLineOption OPTION_VERIFY_ONLY = new CommandLineOption(new String[] {"-verifyOnly"}, null, Messages.Help_Only_verify_dont_install); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_PROFILE = new CommandLineOption(new String[] {"-profile", "-p"}, Messages.Help_lt_name_gt, Messages.Help_Defines_what_profile_to_use_for_the_actions); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_FLAVOR = new CommandLineOption(new String[] {"-flavor", "-f"}, Messages.Help_lt_name_gt, Messages.Help_Defines_flavor_to_use_for_created_profile); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_SHARED = new CommandLineOption(new String[] {"-shared", "-s"}, Messages.Help_lb_lt_path_gt_rb, Messages.Help_Use_a_shared_location_for_the_install); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_BUNDLEPOOL = new CommandLineOption(new String[] {"-bundlepool", "-b"}, Messages.Help_lt_path_gt, Messages.Help_The_location_where_the_plugins_and_features_will_be_stored); //$NON-NLS-1$ //$NON-NLS-2$
-	private static final CommandLineOption OPTION_PROFILE_PROPS = new CommandLineOption(new String[] {"-profileproperties"}, Messages.Help_lt_comma_separated_list_gt, Messages.Help_A_list_of_properties_in_the_form_key_value_pairs); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_ROAMING = new CommandLineOption(new String[] {"-roaming"}, null, Messages.Help_Indicates_that_the_product_can_be_moved); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_P2_OS = new CommandLineOption(new String[] {"-p2.os"}, null, Messages.Help_The_OS_when_profile_is_created); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_P2_WS = new CommandLineOption(new String[] {"-p2.ws"}, null, Messages.Help_The_WS_when_profile_is_created); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_P2_ARCH = new CommandLineOption(new String[] {"-p2.arch"}, null, Messages.Help_The_ARCH_when_profile_is_created); //$NON-NLS-1$
-	private static final CommandLineOption OPTION_P2_NL = new CommandLineOption(new String[] {"-p2.nl"}, null, Messages.Help_The_NL_when_profile_is_created); //$NON-NLS-1$
-
-	private static final Integer EXIT_ERROR = new Integer(13);
-	static private final String FLAVOR_DEFAULT = "tooling"; //$NON-NLS-1$
-	static private final String PROP_P2_PROFILE = "eclipse.p2.profile"; //$NON-NLS-1$
-
-	public static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	private static void getURIs(List uris, String spec) throws CoreException {
-		if (spec == null)
-			return;
-		String[] urlSpecs = StringHelper.getArrayFromString(spec, ',');
-		for (int i = 0; i < urlSpecs.length; i++) {
-			try {
-				uris.add(URIUtil.fromString(urlSpecs[i]));
-			} catch (URISyntaxException e) {
-				throw new ProvisionException(NLS.bind(Messages.unable_to_parse_0_to_uri_1, urlSpecs[i], e.getMessage()));
-			}
-		}
-	}
-
-	private static String getRequiredArgument(String[] args, int argIdx) throws CoreException {
-		if (argIdx < args.length) {
-			String arg = args[argIdx];
-			if (!arg.startsWith("-")) //$NON-NLS-1$
-				return arg;
-		}
-		throw new ProvisionException(NLS.bind(Messages.option_0_requires_an_argument, args[argIdx - 1]));
-	}
-
-	private static String getOptionalArgument(String[] args, int argIdx) {
-		//Look ahead to the next argument
-		++argIdx;
-		if (argIdx < args.length) {
-			String arg = args[argIdx];
-			if (!arg.startsWith("-")) //$NON-NLS-1$
-				return arg;
-		}
-		return null;
-	}
-
-	private static void parseIUsArgument(List vnames, String arg) {
-		String[] roots = StringHelper.getArrayFromString(arg, ',');
-		for (int i = 0; i < roots.length; ++i)
-			vnames.add(VersionedId.parse(roots[i]));
-	}
-
-	private static File processFileArgument(String arg) {
-		if (arg.startsWith("file:")) //$NON-NLS-1$
-			arg = arg.substring(5);
-
-		// we create a path object here to handle ../ entries in the middle of paths
-		return Path.fromOSString(arg).toFile();
-	}
-
-	private IArtifactRepositoryManager artifactManager;
-	IMetadataRepositoryManager metadataManager;
-
-	private URI[] artifactReposForRemoval;
-	private URI[] metadataReposForRemoval;
-
-	private final List artifactRepositoryLocations = new ArrayList();
-	private final List metadataRepositoryLocations = new ArrayList();
-	private final List rootsToInstall = new ArrayList();
-	private final List rootsToUninstall = new ArrayList();
-	private final List rootsToList = new ArrayList();
-
-	private File bundlePool = null;
-	private File destination;
-	private File sharedLocation;
-	private String flavor;
-	private boolean printHelpInfo = false;
-	private boolean printIUList = false;
-	private long revertToPreviousState = -1;
-	private boolean verifyOnly = false;
-	private boolean roamingProfile = false;
-	private boolean stackTrace = false;
-	private String profileId;
-	private String profileProperties; // a comma-separated list of property pairs "tag=value"
-	private String ws;
-	private String os;
-	private String arch;
-	private String nl;
-
-	private IEngine engine;
-	private boolean noProfileId = false;
-	private PackageAdmin packageAdmin;
-	private ServiceReference packageAdminRef;
-	private IPlanner planner;
-
-	private IProvisioningAgent agent;
-
-	private ProfileChangeRequest buildProvisioningRequest(IProfile profile, IInstallableUnit[] installs, IInstallableUnit[] uninstalls) {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		markRoots(request, installs);
-		markRoots(request, uninstalls);
-		request.addInstallableUnits(installs);
-		request.removeInstallableUnits(uninstalls);
-		return request;
-	}
-
-	private void cleanupRepositories() {
-		if (artifactReposForRemoval != null && artifactManager != null) {
-			for (int i = 0; i < artifactReposForRemoval.length && artifactReposForRemoval[i] != null; i++) {
-				artifactManager.removeRepository(artifactReposForRemoval[i]);
-			}
-		}
-		if (metadataReposForRemoval != null && metadataManager != null) {
-			for (int i = 0; i < metadataReposForRemoval.length && metadataReposForRemoval[i] != null; i++) {
-				metadataManager.removeRepository(metadataReposForRemoval[i]);
-			}
-		}
-	}
-
-	private Collector collectRootIUs(IQuery query) {
-		IProgressMonitor nullMonitor = new NullProgressMonitor();
-
-		int top = metadataRepositoryLocations.size();
-		if (top == 0)
-			return getInstallableUnits(null, query, nullMonitor);
-
-		IQueryable[] locationQueryables = new IQueryable[top];
-		for (int i = 0; i < top; i++)
-			locationQueryables[i] = new LocationQueryable((URI) metadataRepositoryLocations.get(i));
-		return new CompoundQueryable(locationQueryables).query(query, nullMonitor);
-	}
-
-	private IInstallableUnit[] collectRoots(IProfile profile, List rootNames, boolean forInstall) throws CoreException {
-		ArrayList allRoots = new ArrayList();
-		int top = rootNames.size();
-		for (int i = 0; i < top; ++i) {
-			IVersionedId rootName = (IVersionedId) rootNames.get(i);
-			Version v = rootName.getVersion();
-			IQuery query = new InstallableUnitQuery(rootName.getId(), Version.emptyVersion.equals(v) ? VersionRange.emptyRange : new VersionRange(v, true, v, true));
-			Collector roots;
-			if (forInstall)
-				roots = collectRootIUs(new PipedQuery(new IQuery[] {query, new LatestIUVersionQuery()}));
-			else
-				roots = new Collector();
-			if (roots.size() <= 0)
-				roots.addAll(profile.query(query, new NullProgressMonitor()));
-			if (roots.size() <= 0)
-				throw new CoreException(new Status(IStatus.ERROR, org.eclipse.equinox.internal.p2.director.app.Activator.ID, NLS.bind(Messages.Missing_IU, rootName)));
-			allRoots.addAll(roots.toCollection());
-		}
-		return (IInstallableUnit[]) allRoots.toArray(new IInstallableUnit[allRoots.size()]);
-
-	}
-
-	synchronized Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	private String getEnvironmentProperty() {
-		HashMap values = new HashMap();
-		if (os != null)
-			values.put("osgi.os", os); //$NON-NLS-1$
-		if (nl != null)
-			values.put("osgi.nl", nl); //$NON-NLS-1$
-		if (ws != null)
-			values.put("osgi.ws", ws); //$NON-NLS-1$
-		if (arch != null)
-			values.put("osgi.arch", arch); //$NON-NLS-1$
-		return values.isEmpty() ? null : toString(values);
-	}
-
-	private IProfile initializeProfile() throws CoreException {
-		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		if (profileId == null) {
-			profileId = IProfileRegistry.SELF;
-			noProfileId = true;
-		}
-		IProfile profile = profileRegistry.getProfile(profileId);
-		if (profile == null) {
-			if (destination == null)
-				missingArgument("destination"); //$NON-NLS-1$
-			if (flavor == null)
-				flavor = System.getProperty("eclipse.p2.configurationFlavor", FLAVOR_DEFAULT); //$NON-NLS-1$
-
-			Properties props = new Properties();
-			props.setProperty(IProfile.PROP_INSTALL_FOLDER, destination.toString());
-			if (bundlePool == null)
-				props.setProperty(IProfile.PROP_CACHE, sharedLocation == null ? destination.getAbsolutePath() : sharedLocation.getAbsolutePath());
-			else
-				props.setProperty(IProfile.PROP_CACHE, bundlePool.getAbsolutePath());
-			if (roamingProfile)
-				props.setProperty(IProfile.PROP_ROAMING, Boolean.TRUE.toString());
-
-			String env = getEnvironmentProperty();
-			if (env != null)
-				props.setProperty(IProfile.PROP_ENVIRONMENTS, env);
-			if (profileProperties != null)
-				putProperties(profileProperties, props);
-			profile = profileRegistry.addProfile(profileId, props);
-		}
-		return profile;
-	}
-
-	private void initializeRepositories() throws CoreException {
-		if (rootsToInstall.isEmpty() && revertToPreviousState == -1)
-			// Not much point initializing repositories if we have nothing to install
-			return;
-		if (artifactRepositoryLocations == null)
-			missingArgument("-artifactRepository"); //$NON-NLS-1$
-
-		artifactManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-		if (artifactManager == null)
-			throw new ProvisionException(Messages.Application_NoManager);
-
-		int removalIdx = 0;
-		boolean anyValid = false; // do we have any valid repos or did they all fail to load?
-		artifactReposForRemoval = new URI[artifactRepositoryLocations.size()];
-		for (int i = 0; i < artifactRepositoryLocations.size(); i++) {
-			URI location = (URI) artifactRepositoryLocations.get(i);
-			try {
-				if (!artifactManager.contains(location)) {
-					artifactManager.loadRepository(location, null);
-					artifactReposForRemoval[removalIdx++] = location;
-				}
-				anyValid = true;
-			} catch (ProvisionException e) {
-				//one of the repositories did not load
-				LogHelper.log(e.getStatus());
-			}
-		}
-		if (!anyValid)
-			//all repositories failed to load
-			throw new ProvisionException(Messages.Application_NoRepositories);
-
-		if (metadataRepositoryLocations == null)
-			missingArgument("metadataRepository"); //$NON-NLS-1$
-
-		metadataManager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-		if (metadataManager == null)
-			throw new ProvisionException(Messages.Application_NoManager);
-
-		removalIdx = 0;
-		anyValid = false; // do we have any valid repos or did they all fail to load?
-		int top = metadataRepositoryLocations.size();
-		metadataReposForRemoval = new URI[top];
-		for (int i = 0; i < top; i++) {
-			URI location = (URI) metadataRepositoryLocations.get(i);
-			try {
-				if (!metadataManager.contains(location)) {
-					metadataManager.loadRepository(location, null);
-					metadataReposForRemoval[removalIdx++] = location;
-				}
-				anyValid = true;
-			} catch (ProvisionException e) {
-				//one of the repositories did not load
-				LogHelper.log(e.getStatus());
-			}
-		}
-		if (!anyValid)
-			//all repositories failed to load
-			throw new ProvisionException(Messages.Application_NoRepositories);
-	}
-
-	private void initializeServices() throws CoreException {
-		BundleContext context = Activator.getContext();
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-		ServiceReference agentProviderRef = context.getServiceReference(IProvisioningAgentProvider.SERVICE_NAME);
-		IProvisioningAgentProvider provider = (IProvisioningAgentProvider) context.getService(agentProviderRef);
-		URI p2DataArea;
-		if (destination != null || sharedLocation != null) {
-			File dataAreaFile = sharedLocation == null ? new File(destination, "p2") : sharedLocation;//$NON-NLS-1$
-			p2DataArea = dataAreaFile.toURI();
-		} else {
-			p2DataArea = null;
-		}
-		agent = provider.createAgent(p2DataArea);
-		context.ungetService(agentProviderRef);
-		if (profileId == null) {
-			if (destination != null) {
-				File configIni = new File(destination, "configuration/config.ini"); //$NON-NLS-1$
-				InputStream in = null;
-				try {
-					Properties ciProps = new Properties();
-					in = new BufferedInputStream(new FileInputStream(configIni));
-					ciProps.load(in);
-					profileId = ciProps.getProperty(PROP_P2_PROFILE);
-				} catch (IOException e) {
-					// Ignore
-				} finally {
-					if (in != null)
-						try {
-							in.close();
-						} catch (IOException e) {
-							// Ignore;
-						}
-				}
-				if (profileId == null)
-					profileId = destination.toString();
-			}
-		}
-		if (profileId != null)
-			agent.registerService(PROP_P2_PROFILE, profileId);
-		else
-			agent.unregisterService(PROP_P2_PROFILE, null);
-
-		IDirector director = (IDirector) agent.getService(IDirector.SERVICE_NAME);
-		if (director == null)
-			throw new ProvisionException(Messages.Missing_director);
-
-		planner = (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
-		if (planner == null)
-			throw new ProvisionException(Messages.Missing_planner);
-
-		engine = (IEngine) agent.getService(IEngine.SERVICE_NAME);
-		if (engine == null)
-			throw new ProvisionException(Messages.Missing_Engine);
-	}
-
-	private void logFailure(IStatus status) {
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		if (log != null)
-			System.err.println("Application failed, log file location: " + log.getFile()); //$NON-NLS-1$
-		LogHelper.log(status);
-	}
-
-	private void markRoots(ProfileChangeRequest request, IInstallableUnit[] roots) {
-		for (int idx = 0; idx < roots.length; ++idx)
-			request.setInstallableUnitProfileProperty(roots[idx], IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-	}
-
-	private void missingArgument(String argumentName) throws CoreException {
-		throw new ProvisionException(NLS.bind(Messages.Missing_Required_Argument, argumentName));
-	}
-
-	private void performList() throws CoreException {
-		if (metadataRepositoryLocations.isEmpty())
-			missingArgument("metadataRepository"); //$NON-NLS-1$
-
-		ArrayList allRoots = new ArrayList();
-		if (rootsToList.size() == 0) {
-			Collector roots = collectRootIUs(InstallableUnitQuery.ANY);
-			allRoots.addAll(roots.toCollection());
-		} else {
-			Iterator r = rootsToList.iterator();
-			while (r.hasNext()) {
-				IVersionedId rootName = (IVersionedId) r.next();
-				Version v = rootName.getVersion();
-				IQuery query = new InstallableUnitQuery(rootName.getId(), Version.emptyVersion.equals(v) ? VersionRange.emptyRange : new VersionRange(v, true, v, true));
-				Collector roots = collectRootIUs(query);
-				allRoots.addAll(roots.toCollection());
-			}
-		}
-
-		Collections.sort(allRoots);
-		Iterator i = allRoots.iterator();
-		while (i.hasNext()) {
-			IInstallableUnit iu = (IInstallableUnit) i.next();
-			System.out.println(iu.getId() + '=' + iu.getVersion());
-		}
-	}
-
-	private void performProvisioningActions() throws CoreException {
-		IProfile profile = initializeProfile();
-		IInstallableUnit[] installs = collectRoots(profile, rootsToInstall, true);
-		IInstallableUnit[] uninstalls = collectRoots(profile, rootsToUninstall, false);
-
-		// keep this result status in case there is a problem so we can report it to the user
-		boolean wasRoaming = Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue();
-		try {
-			updateRoamingProperties(profile);
-			ProvisioningContext context = new ProvisioningContext((URI[]) metadataRepositoryLocations.toArray(new URI[metadataRepositoryLocations.size()]));
-			context.setArtifactRepositories((URI[]) artifactRepositoryLocations.toArray(new URI[artifactRepositoryLocations.size()]));
-			ProfileChangeRequest request = buildProvisioningRequest(profile, installs, uninstalls);
-			printRequest(request);
-			planAndExecute(profile, context, request);
-		} finally {
-			// if we were originally were set to be roaming and we changed it, change it back before we return
-			if (wasRoaming && !Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
-				setRoaming(profile);
-		}
-	}
-
-	private void planAndExecute(IProfile profile, ProvisioningContext context, ProfileChangeRequest request) throws CoreException {
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		IStatus operationStatus = result.getStatus();
-		if (!operationStatus.isOK())
-			throw new CoreException(operationStatus);
-		executePlan(context, result);
-	}
-
-	private void executePlan(ProvisioningContext context, IProvisioningPlan result) throws CoreException {
-		IStatus operationStatus;
-		if (!verifyOnly) {
-			operationStatus = PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-			if (!operationStatus.isOK())
-				throw new CoreException(operationStatus);
-		}
-	}
-
-	private void printRequest(ProfileChangeRequest request) {
-		IInstallableUnit[] toAdd = request.getAddedInstallableUnits();
-		for (int i = 0; i < toAdd.length; i++) {
-			System.out.println(NLS.bind(Messages.Installing, toAdd[i].getId(), toAdd[i].getVersion()));
-		}
-		IInstallableUnit[] toRemove = request.getRemovedInstallableUnits();
-		for (int i = 0; i < toRemove.length; i++) {
-			System.out.println(NLS.bind(Messages.Uninstalling, toRemove[i].getId(), toRemove[i].getVersion()));
-		}
-	}
-
-	public void processArguments(String[] args) throws CoreException {
-		if (args == null) {
-			printHelpInfo = true;
-			return;
-		}
-
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-			String opt = args[i];
-			if (OPTION_LIST.isOption(opt)) {
-				printIUList = true;
-				String optionalArgument = getOptionalArgument(args, i);
-				if (optionalArgument != null) {
-					parseIUsArgument(rootsToList, optionalArgument);
-					i++;
-				}
-				continue;
-			}
-
-			if (OPTION_HELP.isOption(opt)) {
-				printHelpInfo = true;
-				continue;
-			}
-
-			if (OPTION_INSTALL_IU.isOption(opt)) {
-				parseIUsArgument(rootsToInstall, getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_UNINSTALL_IU.isOption(opt)) {
-				parseIUsArgument(rootsToUninstall, getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_REVERT.isOption(opt)) {
-				String targettedState = getOptionalArgument(args, i);
-				if (targettedState == null) {
-					revertToPreviousState = 0;
-				} else {
-					i++;
-					revertToPreviousState = Long.valueOf(targettedState).longValue();
-				}
-				continue;
-
-			}
-			if (OPTION_PROFILE.isOption(opt)) {
-				profileId = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_FLAVOR.isOption(opt)) {
-				flavor = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_SHARED.isOption(opt)) {
-				if (++i < args.length) {
-					String nxt = args[i];
-					if (nxt.startsWith("-")) //$NON-NLS-1$
-						--i; // Oops, that's the next option, not an argument
-					else
-						sharedLocation = processFileArgument(nxt);
-				}
-				if (sharedLocation == null)
-					// -shared without an argument means "Use default shared area"
-					sharedLocation = Path.fromOSString(System.getProperty("user.home")).append(".p2/").toFile(); //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			}
-
-			if (OPTION_DESTINATION.isOption(opt)) {
-				destination = processFileArgument(getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_BUNDLEPOOL.isOption(opt)) {
-				bundlePool = processFileArgument(getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_METADATAREPOS.isOption(opt)) {
-				getURIs(metadataRepositoryLocations, getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_ARTIFACTREPOS.isOption(opt)) {
-				getURIs(artifactRepositoryLocations, getRequiredArgument(args, ++i));
-				continue;
-			}
-
-			if (OPTION_REPOSITORIES.isOption(opt)) {
-				String arg = getRequiredArgument(args, ++i);
-				getURIs(metadataRepositoryLocations, arg);
-				getURIs(artifactRepositoryLocations, arg);
-				continue;
-			}
-
-			if (OPTION_PROFILE_PROPS.isOption(opt)) {
-				profileProperties = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_ROAMING.isOption(opt)) {
-				roamingProfile = true;
-				continue;
-			}
-
-			if (OPTION_VERIFY_ONLY.isOption(opt)) {
-				verifyOnly = true;
-				continue;
-			}
-
-			if (OPTION_P2_OS.isOption(opt)) {
-				os = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_P2_WS.isOption(opt)) {
-				ws = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_P2_NL.isOption(opt)) {
-				nl = getRequiredArgument(args, ++i);
-				continue;
-			}
-
-			if (OPTION_P2_ARCH.isOption(opt)) {
-				arch = getRequiredArgument(args, ++i);
-				continue;
-			}
-			throw new ProvisionException(NLS.bind(Messages.unknown_option_0, opt));
-		}
-
-		if (!printHelpInfo && !printIUList && rootsToInstall.isEmpty() && rootsToUninstall.isEmpty() && revertToPreviousState == -1) {
-			System.out.println(Messages.Help_Missing_argument);
-			printHelpInfo = true;
-		}
-	}
-
-	/**
-	 * @param pairs	a comma separated list of tag=value pairs
-	 * @param properties the collection into which the pairs are put
-	 */
-	private void putProperties(String pairs, Properties properties) {
-		String[] propPairs = StringHelper.getArrayFromString(pairs, ',');
-		for (int i = 0; i < propPairs.length; ++i) {
-			String propPair = propPairs[i];
-			int eqIdx = propPair.indexOf('=');
-			if (eqIdx < 0)
-				continue;
-			String tag = propPair.substring(0, eqIdx).trim();
-			if (tag.length() == 0)
-				continue;
-			String value = propPair.substring(eqIdx + 1).trim();
-			if (value.length() > 0)
-				properties.put(tag, value);
-		}
-	}
-
-	private void cleanupServices() {
-		BundleContext context = Activator.getContext();
-		//dispose agent
-		if (agent != null) {
-			agent.stop();
-			agent = null;
-		}
-		if (packageAdminRef != null)
-			context.ungetService(packageAdminRef);
-	}
-
-	public Object run(String[] args) throws CoreException {
-		long time = System.currentTimeMillis();
-
-		try {
-			processArguments(args);
-			if (printHelpInfo)
-				performHelpInfo();
-			else {
-				initializeServices();
-				initializeRepositories();
-				if (revertToPreviousState >= 0) {
-					revertToPreviousState();
-				} else if (!(rootsToInstall.isEmpty() && rootsToUninstall.isEmpty()))
-					performProvisioningActions();
-				if (printIUList)
-					performList();
-				System.out.println(NLS.bind(Messages.Operation_complete, new Long(System.currentTimeMillis() - time)));
-			}
-			return IApplication.EXIT_OK;
-		} catch (CoreException e) {
-			deeplyPrint(e.getStatus(), System.err, 0);
-			logFailure(e.getStatus());
-			//set empty exit data to suppress error dialog from launcher
-			setSystemProperty("eclipse.exitdata", ""); //$NON-NLS-1$ //$NON-NLS-2$
-			return EXIT_ERROR;
-		} finally {
-			if (packageAdminRef != null) {
-				cleanupRepositories();
-				cleanupServices();
-			}
-		}
-	}
-
-	private void revertToPreviousState() throws CoreException {
-		IProfile profile = initializeProfile();
-		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		IProfile targetProfile = null;
-		if (revertToPreviousState == 0) {
-			long[] profiles = profileRegistry.listProfileTimestamps(profile.getProfileId());
-			if (profiles.length == 0)
-				return;
-			targetProfile = profileRegistry.getProfile(profile.getProfileId(), profiles[profiles.length - 1]);
-		} else {
-			targetProfile = profileRegistry.getProfile(profile.getProfileId(), revertToPreviousState);
-		}
-		if (targetProfile == null)
-			throw new CoreException(new Status(IStatus.ERROR, Activator.ID, Messages.Missing_profile));
-		IProvisioningPlan plan = planner.getDiffPlan(profile, targetProfile, new NullProgressMonitor());
-
-		ProvisioningContext context = new ProvisioningContext((URI[]) metadataRepositoryLocations.toArray(new URI[metadataRepositoryLocations.size()]));
-		context.setArtifactRepositories((URI[]) artifactRepositoryLocations.toArray(new URI[artifactRepositoryLocations.size()]));
-		executePlan(context, plan);
-	}
-
-	/**
-	 * Sets a system property, using the EnvironmentInfo service if possible.
-	 */
-	private void setSystemProperty(String key, String value) {
-		EnvironmentInfo env = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-		if (env != null) {
-			env.setProperty(key, value);
-		} else {
-			System.getProperties().put(key, value);
-		}
-	}
-
-	private static void appendLevelPrefix(PrintStream strm, int level) {
-		for (int idx = 0; idx < level; ++idx)
-			strm.print(' ');
-	}
-
-	Collector getInstallableUnits(URI location, IQuery query, IProgressMonitor monitor) {
-		IQueryable queryable = null;
-		if (location == null) {
-			queryable = metadataManager;
-		} else {
-			try {
-				queryable = metadataManager.loadRepository(location, monitor);
-			} catch (ProvisionException e) {
-				//repository is not available - just return empty result
-			}
-		}
-		if (queryable != null)
-			return queryable.query(query, monitor);
-		return new Collector();
-	}
-
-	private void deeplyPrint(CoreException ce, PrintStream strm, int level) {
-		appendLevelPrefix(strm, level);
-		if (stackTrace)
-			ce.printStackTrace(strm);
-		deeplyPrint(ce.getStatus(), strm, level);
-	}
-
-	private void deeplyPrint(IStatus status, PrintStream strm, int level) {
-		appendLevelPrefix(strm, level);
-		String msg = status.getMessage();
-		strm.println(msg);
-		Throwable cause = status.getException();
-		if (cause != null) {
-			strm.print("Caused by: "); //$NON-NLS-1$
-			if (stackTrace || !(msg.equals(cause.getMessage()) || msg.equals(cause.toString())))
-				deeplyPrint(cause, strm, level);
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				deeplyPrint(children[i], strm, level + 1);
-		}
-	}
-
-	private void deeplyPrint(Throwable t, PrintStream strm, int level) {
-		if (t instanceof CoreException)
-			deeplyPrint((CoreException) t, strm, level);
-		else {
-			appendLevelPrefix(strm, level);
-			if (stackTrace)
-				t.printStackTrace(strm);
-			else {
-				strm.println(t.toString());
-				Throwable cause = t.getCause();
-				if (cause != null) {
-					strm.print("Caused by: "); //$NON-NLS-1$
-					deeplyPrint(cause, strm, level);
-				}
-			}
-		}
-	}
-
-	private void performHelpInfo() {
-		CommandLineOption[] allOptions = new CommandLineOption[] {OPTION_HELP, OPTION_LIST, OPTION_INSTALL_IU, OPTION_UNINSTALL_IU, OPTION_REVERT, OPTION_DESTINATION, OPTION_METADATAREPOS, OPTION_ARTIFACTREPOS, OPTION_REPOSITORIES, OPTION_VERIFY_ONLY, OPTION_PROFILE, OPTION_FLAVOR, OPTION_SHARED, OPTION_BUNDLEPOOL, OPTION_PROFILE_PROPS, OPTION_ROAMING, OPTION_P2_OS, OPTION_P2_WS, OPTION_P2_ARCH, OPTION_P2_NL};
-		for (int i = 0; i < allOptions.length; ++i) {
-			allOptions[i].appendHelp(System.out);
-		}
-	}
-
-	/*
-	 * Set the roaming property on the given profile.
-	 */
-	private IStatus setRoaming(IProfile profile) {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.setProfileProperty(IProfile.PROP_ROAMING, "true"); //$NON-NLS-1$
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		context.setArtifactRepositories(new URI[0]);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		return PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-	}
-
-	public Object start(IApplicationContext context) throws Exception {
-		return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
-	}
-
-	private String toString(Map context) {
-		StringBuffer result = new StringBuffer();
-		Iterator entries = context.entrySet().iterator();
-		while (entries.hasNext()) {
-			Map.Entry entry = (Map.Entry) entries.next();
-			if (result.length() > 0)
-				result.append(',');
-			result.append((String) entry.getKey());
-			result.append('=');
-			result.append((String) entry.getValue());
-		}
-		return result.toString();
-	}
-
-	private void updateRoamingProperties(IProfile profile) throws CoreException {
-		// if the user didn't specify a destination path on the command-line
-		// then we assume they are installing into the currently running
-		// instance and we don't have anything to update
-		if (destination == null)
-			return;
-
-		// if the user didn't set a profile id on the command-line this is ok if they
-		// also didn't set the destination path. (handled in the case above) otherwise throw an error.
-		if (noProfileId) // && destination != null
-			throw new ProvisionException(Messages.Missing_profileid);
-
-		// make sure that we are set to be roaming before we update the values
-		if (!Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
-			return;
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		if (!destination.equals(new File(profile.getProperty(IProfile.PROP_INSTALL_FOLDER))))
-			request.setProfileProperty(IProfile.PROP_INSTALL_FOLDER, destination);
-		if (!destination.equals(new File(profile.getProperty(IProfile.PROP_CACHE))))
-			request.setProfileProperty(IProfile.PROP_CACHE, destination);
-		if (request.getProfileProperties().size() == 0)
-			return;
-
-		// otherwise we have to make a change so set the profile to be non-roaming so the 
-		// values don't get recalculated to the wrong thing if we are flushed from memory - we
-		// will set it back later (see bug 269468)
-		request.setProfileProperty(IProfile.PROP_ROAMING, "false"); //$NON-NLS-1$
-
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		context.setArtifactRepositories(new URI[0]);
-		IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		IStatus status = PlanExecutionHelper.executePlan(result, engine, context, new NullProgressMonitor());
-		if (!status.isOK())
-			throw new CoreException(new MultiStatus(org.eclipse.equinox.internal.p2.director.app.Activator.ID, IStatus.ERROR, new IStatus[] {status}, NLS.bind(Messages.Cant_change_roaming, profile.getProfileId()), null));
-	}
-
-	public void stop() {
-		// Nothing left to do here
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
deleted file mode 100644
index 53167e5..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/Messages.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- * 	Cloudsmith - https://bugs.eclipse.org/bugs/show_bug.cgi?id=226401
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director.app;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.director.app.messages"; //$NON-NLS-1$
-
-	public static String Deprecated_application;
-	public static String Ambigous_Command;
-	public static String Application_NoManager;
-
-	public static String Application_NoRepositories;
-	public static String Cant_change_roaming;
-	public static String destination_commandline;
-
-	public static String Help_A_list_of_properties_in_the_form_key_value_pairs;
-	public static String Help_A_list_of_URLs_denoting_artifact_repositories;
-	public static String Help_A_list_of_URLs_denoting_colocated_repositories;
-	public static String Help_A_list_of_URLs_denoting_metadata_repositories;
-	public static String Help_Defines_flavor_to_use_for_created_profile;
-	public static String Help_Defines_what_profile_to_use_for_the_actions;
-	public static String Help_Indicates_that_the_product_can_be_moved;
-	public static String Help_Installs_the_listed_IUs;
-	public static String Help_lb_lt_path_gt_rb;
-	public static String Help_List_all_IUs_found_in_repos;
-	public static String Help_lt_comma_separated_list_gt;
-	public static String Help_lb_lt_comma_separated_list_gt_rb;
-	public static String Help_lt_name_gt;
-	public static String Help_lt_path_gt;
-	public static String Help_Missing_argument;
-	public static String Help_Only_verify_dont_install;
-	public static String Help_Prints_this_command_line_help;
-	public static String Help_The_ARCH_when_profile_is_created;
-	public static String Help_The_folder_in_which_the_targetd_product_is_located;
-	public static String Help_The_location_where_the_plugins_and_features_will_be_stored;
-	public static String Help_The_NL_when_profile_is_created;
-	public static String Help_The_OS_when_profile_is_created;
-	public static String Help_The_WS_when_profile_is_created;
-	public static String Help_Uninstalls_the_listed_IUs;
-	public static String Help_Revert_to_previous_state;
-	public static String Help_Use_a_shared_location_for_the_install;
-
-	public static String Ignored_repo;
-	public static String Installing;
-	public static String Missing_bundle;
-	public static String Missing_director;
-	public static String Missing_Engine;
-	public static String Missing_IU;
-	public static String Missing_planner;
-	public static String Missing_profileid;
-	public static String Missing_Required_Argument;
-	public static String Missing_profile;
-
-	public static String Operation_complete;
-	public static String Operation_failed;
-	public static String option_0_requires_an_argument;
-	public static String unable_to_parse_0_to_uri_1;
-	public static String Uninstalling;
-	public static String unknown_option_0;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//empty
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
deleted file mode 100644
index 9292485..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/messages.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2009 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
-#	   Cloudsmith - ongoing development
-###############################################################################
-destination_commandline=<destination>
-Deprecated_application=This application is deprecated. Please use the org.eclipse.equinox.p2.director application.
-Help_Only_verify_dont_install=Only verify that the actions can be performed. Don't actually install or remove anything.
-Operation_complete=Operation completed in {0} ms.
-Operation_failed=Installation failed.
-Cant_change_roaming=Problem while updating the profile {0}.
-
-Missing_profileid = Must specify a profile id if a destination is specified.
-Missing_director=Director could not be loaded.
-Missing_Engine=Engine could not be loaded.
-Missing_bundle=The ''{0}'' bundle is missing.
-Missing_planner=Planner could not be loaded.
-Missing_IU=The installable unit {0} has not been found.
-Missing_Required_Argument=Missing required argument -{0}.
-Help_A_list_of_properties_in_the_form_key_value_pairs=A list of properties in the form key=value pairs. Effective only when a new profile is created.
-Help_A_list_of_URLs_denoting_artifact_repositories=A list of URL's denoting artifact repositories.
-Help_A_list_of_URLs_denoting_colocated_repositories=A list of URL's denoting co-located meta-data and artifact repositories.
-Help_A_list_of_URLs_denoting_metadata_repositories=A list of URL's denoting meta-data repositories.
-Ambigous_Command=Cannot execute both {0} and {1} in one invocation.
-Application_NoManager=The repository manager is not available.
-Application_NoRepositories=Unable to load repositories.
-Help_Defines_flavor_to_use_for_created_profile=Defines what flavor to use for a newly created profile.
-Help_Defines_what_profile_to_use_for_the_actions=Defines what profile to use for the actions.
-Help_Indicates_that_the_product_can_be_moved=Indicates that the product resulting from the installation can be moved. Effective only when a new profile is created.
-Installing=Installing {0} {1}.
-Help_Installs_the_listed_IUs=Installs the listed IU's. Each entry in the list is in the form <id> [ '/' <version> ].
-Uninstalling=Uninstalling {0} {1}.
-Help_Uninstalls_the_listed_IUs=Uninstalls the listed IU's. Each entry in the list is in the form <id> [ '/' <version> ].
-Help_Use_a_shared_location_for_the_install=Use a shared location for the install. The <path> defaults to ${user.home}/.p2
-Ignored_repo=The repository {1} will not be considered.
-Help_lb_lt_path_gt_rb=[ <path> ]
-Help_List_all_IUs_found_in_repos=Lists all IU's found in the given repositories. IUs can optionally be listed.  Each entry in the list is in the form <id> [ '/' <version> ].
-Help_Revert_to_previous_state=Revert the installation to a previous state [ the number representing the previous state of the profile  as found in p2/org.eclipse.equinox.p2.engine/<profileId>/ ].
-Help_lt_comma_separated_list_gt=<comma separated list>
-Help_lb_lt_comma_separated_list_gt_rb=[ <comma separated list> ]
-Help_lt_name_gt=<name>
-Help_lt_path_gt=<path>
-option_0_requires_an_argument=Option {0} requires an argument.
-Help_Prints_this_command_line_help=Prints this command line help information.
-Help_The_ARCH_when_profile_is_created=The architecture to use when the profile is created.
-Help_The_folder_in_which_the_targetd_product_is_located=The folder in which the targeted product is located.
-Help_The_location_where_the_plugins_and_features_will_be_stored=The location where the plug-ins and features will be stored. Effective only when a new profile is created.
-Help_The_NL_when_profile_is_created=The language to use when the profile is created.
-Help_The_OS_when_profile_is_created=The OS to use when the profile is created.
-Help_The_WS_when_profile_is_created=The windowing system to use when the profile is created.
-unable_to_parse_0_to_uri_1=Unable to parse {0} into an URI: {1}.
-unknown_option_0=Unknown option {0}. Use -help for a list of known options.
-Help_Missing_argument=The argument specifying what to install or uninstall is missing.
-Missing_profile = The profile to revert to could not be found.
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java b/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
deleted file mode 100644
index ca48ca9..0000000
--- a/bundles/org.eclipse.equinox.p2.director.app/src_ant/org/eclipse/equinox/p2/director/app/ant/DirectorTask.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.director.app.ant;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.tools.ant.*;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.director.app.Application;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * An Ant task to call the p2 Director application.
- * 
- * @since 1.0
- */
-public class DirectorTask extends Task {
-
-	boolean roaming;
-	boolean list;
-	String profile, flavor, os, ws, nl, arch, installIU, uninstallIU;
-	File destination, bundlePool;
-	URI metadataRepository, artifactRepository;
-	Version version;
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		try {
-			// collect the arguments and call the application
-			new Application().run(getArguments());
-		} catch (Exception e) {
-			throw new BuildException("Exception while calling the director task.", e);
-		}
-	}
-
-	private String[] getArguments() {
-		List result = new ArrayList();
-		if (roaming)
-			result.add("-roaming");
-		if (profile != null) {
-			result.add("-profile");
-			result.add(profile);
-		}
-		if (destination != null) {
-			result.add("-destination");
-			result.add(destination.getAbsolutePath());
-		}
-		if (bundlePool != null) {
-			result.add("-bundlePool");
-			result.add(bundlePool.getAbsolutePath());
-		}
-		if (metadataRepository != null) {
-			result.add("-metadataRepository");
-			result.add(metadataRepository.toString());
-		}
-		if (artifactRepository != null) {
-			result.add("-artifactRepository");
-			result.add(artifactRepository.toString());
-		}
-		if (flavor != null) {
-			result.add("-flavor");
-			result.add(flavor);
-		}
-		if (version != null) {
-			result.add("-version");
-			result.add(version.toString());
-		}
-		if (os != null) {
-			result.add("-p2.os");
-			result.add(os);
-		}
-		if (ws != null) {
-			result.add("-p2.ws");
-			result.add(ws);
-		}
-		if (arch != null) {
-			result.add("-p2.arch");
-			result.add(arch);
-		}
-		if (nl != null) {
-			result.add("-p2.nl");
-			result.add(nl);
-		}
-		if (list) {
-			result.add(Application.COMMAND_NAMES[Application.COMMAND_LIST]);
-		}
-		if (installIU != null) {
-			result.add(Application.COMMAND_NAMES[Application.COMMAND_INSTALL]);
-			result.add(installIU);
-		}
-		if (uninstallIU != null) {
-			result.add(Application.COMMAND_NAMES[Application.COMMAND_UNINSTALL]);
-			result.add(uninstallIU);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	public void setArch(String value) {
-		arch = value;
-	}
-
-	public void setArtifactRepository(String value) {
-		try {
-			artifactRepository = URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			log("Error setting the artifact repository.", e, Project.MSG_ERR);
-		}
-	}
-
-	public void setBundlePool(String value) {
-		bundlePool = new File(value);
-	}
-
-	public void setDestination(String value) {
-		destination = new File(value);
-	}
-
-	public void setFlavor(String value) {
-		flavor = value;
-	}
-
-	public void setInstallIU(String value) {
-		installIU = value;
-	}
-
-	public void setList(String value) {
-		list = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setMetadataRepository(String value) {
-		try {
-			metadataRepository = URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			log("Error setting the metadata repository.", e, Project.MSG_ERR);
-		}
-	}
-
-	public void setNl(String value) {
-		nl = value;
-	}
-
-	public void setOs(String value) {
-		os = value;
-	}
-
-	public void setProfile(String value) {
-		profile = value;
-	}
-
-	public void setRoaming(String value) {
-		roaming = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setUninstallIU(String value) {
-		uninstallIU = value;
-	}
-
-	public void setVersion(String value) {
-		version = Version.create(value);
-	}
-
-	public void setWs(String value) {
-		ws = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/.classpath b/bundles/org.eclipse.equinox.p2.director/.classpath
deleted file mode 100644
index f402582..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.director/.cvsignore b/bundles/org.eclipse.equinox.p2.director/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/.project b/bundles/org.eclipse.equinox.p2.director/.project
deleted file mode 100644
index 9b9c15e..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.director</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b486acc..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Sat Feb 28 12:14:19 CET 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
deleted file mode 100644
index 78a279d..0000000
--- a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,48 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.spi,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.query,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.p2.director;x-friends:="org.eclipse.equinox.p2.exemplarysetup,org.eclipse.pde.core,org.eclipse.equinox.p2.repository.tools",
- org.eclipse.equinox.internal.p2.rollback;x-friends:="org.eclipse.equinox.p2.ui",
- org.eclipse.equinox.internal.provisional.p2.director;
-  x-friends:="org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.updatechecker,
-   org.eclipse.pde.ui,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.pde.core"
-Bundle-Activator: org.eclipse.equinox.internal.p2.director.DirectorActivator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0.0)",
- org.sat4j.core;bundle-version="2.1.0",
- org.sat4j.pb;bundle-version="2.1.0",
- org.eclipse.core.jobs;bundle-version="3.3.0",
- org.eclipse.equinox.p2.metadata
-Service-Component: OSGI-INF/director.xml, OSGI-INF/planner.xml
diff --git a/bundles/org.eclipse.equinox.p2.director/OSGI-INF/director.xml b/bundles/org.eclipse.equinox.p2.director/OSGI-INF/director.xml
deleted file mode 100644
index d4b2487..0000000
--- a/bundles/org.eclipse.equinox.p2.director/OSGI-INF/director.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.director">
-   <implementation class="org.eclipse.equinox.internal.p2.director.DirectorComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.internal.provisional.p2.director.IDirector"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/OSGI-INF/planner.xml b/bundles/org.eclipse.equinox.p2.director/OSGI-INF/planner.xml
deleted file mode 100644
index 6d4b48d..0000000
--- a/bundles/org.eclipse.equinox.p2.director/OSGI-INF/planner.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.planner">
-   <implementation class="org.eclipse.equinox.internal.p2.director.PlannerComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.internal.provisional.p2.director.IPlanner"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/about.html b/bundles/org.eclipse.equinox.p2.director/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.director/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/build.properties b/bundles/org.eclipse.equinox.p2.director/build.properties
deleted file mode 100644
index 9334e28..0000000
--- a/bundles/org.eclipse.equinox.p2.director/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-output.. = bin/
-bin.includes = META-INF/,\
-               OSGI-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.director/plugin.properties b/bundles/org.eclipse.equinox.p2.director/plugin.properties
deleted file mode 100644
index 61929eb..0000000
--- a/bundles/org.eclipse.equinox.p2.director/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Director
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
deleted file mode 100644
index 2feb2a8..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * A query that accepts any patch that applies to a given installable unit.
- */
-public class ApplicablePatchQuery extends MatchQuery {
-	IInstallableUnit iu;
-
-	/**
-	 * Creates a new patch query on the given installable unit. Patches that can
-	 * be applied to this unit will be accepted as matches by the query.
-	 * @param iu The unit to compare patches against
-	 */
-	public ApplicablePatchQuery(IInstallableUnit iu) {
-		this.iu = iu;
-	}
-
-	public boolean isMatch(Object candidate) {
-		if (!(candidate instanceof IInstallableUnitPatch))
-			return false;
-		IInstallableUnitPatch patchIU = (IInstallableUnitPatch) candidate;
-		IRequirement[][] scopeDescription = patchIU.getApplicabilityScope();
-		if (scopeDescription.length == 0)
-			return true;
-
-		for (int i = 0; i < scopeDescription.length; i++) {
-			int matchedScopeEntry = scopeDescription[i].length;
-			for (int j = 0; j < scopeDescription[i].length; j++) {
-				if (iu.satisfies(scopeDescription[i][j]))
-					matchedScopeEntry--;
-			}
-			if (matchedScopeEntry == 0)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/AttachmentHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/AttachmentHelper.java
deleted file mode 100644
index cfa7ce3..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/AttachmentHelper.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-
-public class AttachmentHelper {
-	private static final IInstallableUnitFragment[] NO_FRAGMENTS = new IInstallableUnitFragment[0];
-
-	public static Collection attachFragments(Collection toAttach, Map fragmentsToIUs) {
-		Map fragmentBindings = new HashMap();
-		//Build a map inverse of the one provided in input (host --> List of fragments)
-		Map iusToFragment = new HashMap(fragmentsToIUs.size());
-		for (Iterator iterator = fragmentsToIUs.entrySet().iterator(); iterator.hasNext();) {
-			Entry mapping = (Entry) iterator.next();
-			IInstallableUnitFragment fragment = (IInstallableUnitFragment) mapping.getKey();
-			List existingMatches = (List) mapping.getValue();
-
-			for (Iterator iterator2 = existingMatches.iterator(); iterator2.hasNext();) {
-				Object host = iterator2.next();
-				List potentialFragments = (List) iusToFragment.get(host);
-				if (potentialFragments == null) {
-					potentialFragments = new ArrayList();
-					iusToFragment.put(host, potentialFragments);
-				}
-				potentialFragments.add(fragment);
-			}
-		}
-
-		for (Iterator iterator = iusToFragment.entrySet().iterator(); iterator.hasNext();) {
-			Entry entry = (Entry) iterator.next();
-			IInstallableUnit hostIU = (IInstallableUnit) entry.getKey();
-			List potentialIUFragments = (List) entry.getValue();
-			ArrayList applicableFragments = new ArrayList();
-			for (Iterator iterator2 = potentialIUFragments.iterator(); iterator2.hasNext();) {
-				IInstallableUnit dependentIU = (IInstallableUnitFragment) iterator2.next();
-				if (hostIU.equals(dependentIU) || !FragmentQuery.isFragment(dependentIU))
-					continue;
-
-				IInstallableUnitFragment potentialFragment = (IInstallableUnitFragment) dependentIU;
-
-				// Check to make sure the host meets the requirements of the fragment
-				IRequirement reqsFromFragment[] = potentialFragment.getHost();
-				boolean match = true;
-				boolean requirementMatched = false;
-				for (int l = 0; l < reqsFromFragment.length && match == true; l++) {
-					requirementMatched = false;
-					if (hostIU.satisfies(reqsFromFragment[l]))
-						requirementMatched = true;
-					if (requirementMatched == false) {
-						match = false;
-						break;
-					}
-
-				}
-				if (match) {
-					applicableFragments.add(potentialFragment);
-				}
-			}
-
-			IInstallableUnitFragment theFragment = null;
-			int specificityLevel = 0;
-			for (Iterator iterator4 = applicableFragments.iterator(); iterator4.hasNext();) {
-				IInstallableUnitFragment fragment = (IInstallableUnitFragment) iterator4.next();
-				if (fragment.getHost().length > specificityLevel) {
-					theFragment = fragment;
-					specificityLevel = fragment.getHost().length;
-				}
-			}
-			if (theFragment != null)
-				fragmentBindings.put(hostIU, theFragment);
-		}
-		//build the collection of resolved IUs
-		Collection result = new HashSet(toAttach.size());
-		for (Iterator iterator = toAttach.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu == null)
-				continue;
-			//just return fragments as they are
-			if (FragmentQuery.isFragment(iu)) {
-				result.add(iu);
-				continue;
-			}
-			//return a new IU that combines the IU with its bound fragments
-			IInstallableUnitFragment fragment = (IInstallableUnitFragment) fragmentBindings.get(iu);
-			IInstallableUnitFragment[] fragments;
-			if (fragment == null)
-				fragments = NO_FRAGMENTS;
-			else
-				fragments = new IInstallableUnitFragment[] {fragment};
-			result.add(MetadataFactory.createResolvedInstallableUnit(iu, fragments));
-		}
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
deleted file mode 100644
index d3d20b6..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorActivator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class DirectorActivator implements BundleActivator {
-	public static final String PI_DIRECTOR = "org.eclipse.equinox.p2.director"; //$NON-NLS-1$
-	public static BundleContext context;
-
-	public void start(BundleContext ctx) throws Exception {
-		context = ctx;
-	}
-
-	public void stop(BundleContext ctx) throws Exception {
-		DirectorActivator.context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorComponent.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorComponent.java
deleted file mode 100644
index 8e03ab9..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/DirectorComponent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.engine.IEngine;
-
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-/**
- * 
- */
-public class DirectorComponent implements IAgentServiceFactory {
-
-	public Object createService(IProvisioningAgent agent) {
-		IEngine engine = (IEngine) agent.getService(IEngine.SERVICE_NAME);
-		IPlanner planner = (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
-		return new SimpleDirector(engine, planner);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
deleted file mode 100644
index ecc502d..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Explanation.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre 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: 
- *   Daniel Le Berre - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.Arrays;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class Explanation implements Comparable {
-
-	public static class PatchedHardRequirement extends Explanation {
-		public final IInstallableUnit iu;
-		public final IInstallableUnitPatch patch;
-		public final IRequirement req;
-
-		public PatchedHardRequirement(IInstallableUnit iu, IInstallableUnitPatch patch) {
-			this.iu = iu;
-			this.req = null;
-			this.patch = patch;
-		}
-
-		public PatchedHardRequirement(IInstallableUnit iu, IRequirement req, IInstallableUnitPatch patch) {
-			this.iu = iu;
-			this.req = req;
-			this.patch = patch;
-		}
-
-		public int orderValue() {
-			return 6;
-		}
-
-		public IStatus toStatus() {
-			MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Explanation_unsatisfied, null);
-			final String fromString = patch.toString() + ' ' + getUserReadableName(iu);
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_fromPatch, fromString)));
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_to, req)));
-			return result;
-		}
-
-		public String toString() {
-			return NLS.bind(Messages.Explanation_patchedHardDependency, new Object[] {patch, iu, req});
-		}
-	}
-
-	public static class HardRequirement extends Explanation {
-		public final IInstallableUnit iu;
-		public final IRequirement req;
-
-		public HardRequirement(IInstallableUnit iu, IRequirement req) {
-			this.iu = iu;
-			this.req = req;
-		}
-
-		public int orderValue() {
-			return 5;
-		}
-
-		public IStatus toStatus() {
-			MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Explanation_unsatisfied, null);
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_from, getUserReadableName(iu))));
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_to, req)));
-			return result;
-		}
-
-		public String toString() {
-			return NLS.bind(Messages.Explanation_hardDependency, iu, req);
-		}
-	}
-
-	public static class IUInstalled extends Explanation {
-		public final IInstallableUnit iu;
-
-		public IUInstalled(IInstallableUnit iu) {
-			this.iu = iu;
-		}
-
-		public int orderValue() {
-			return 2;
-		}
-
-		public String toString() {
-			return NLS.bind(Messages.Explanation_alreadyInstalled, iu);
-		}
-
-		public IStatus toStatus() {
-			return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_alreadyInstalled, getUserReadableName(iu)));
-		}
-	}
-
-	public static class IUToInstall extends Explanation {
-		public final IInstallableUnit iu;
-
-		public IUToInstall(IInstallableUnit iu) {
-			this.iu = iu;
-		}
-
-		public int orderValue() {
-			return 1;
-		}
-
-		public String toString() {
-			return NLS.bind(Messages.Explanation_toInstall, iu);
-		}
-
-		public IStatus toStatus() {
-			return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_toInstall, getUserReadableName(iu)));
-		}
-	}
-
-	public static class MissingIU extends Explanation {
-		public final IInstallableUnit iu;
-		public final IRequirement req;
-
-		public MissingIU(IInstallableUnit iu, IRequirement req) {
-			this.iu = iu;
-			this.req = req;
-		}
-
-		public int orderValue() {
-			return 3;
-		}
-
-		public int shortAnswer() {
-			return MISSING_REQUIREMENT;
-		}
-
-		public String toString() {
-			if (req.getFilter() == null) {
-				return NLS.bind(Messages.Explanation_missingRequired, iu, req);
-			}
-			return NLS.bind(Messages.Explanation_missingRequiredFilter, new Object[] {req.getFilter(), iu, req});
-		}
-
-		public IStatus toStatus() {
-			if (req.getFilter() == null) {
-				return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_missingRequired, getUserReadableName(iu), req));
-			}
-			return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Explanation_missingRequiredFilter, new Object[] {req.getFilter(), getUserReadableName(iu), req}));
-		}
-	}
-
-	public static class Singleton extends Explanation {
-		public final IInstallableUnit[] ius;
-
-		public Singleton(IInstallableUnit[] ius) {
-			this.ius = ius;
-		}
-
-		public int orderValue() {
-			return 4;
-		}
-
-		public int shortAnswer() {
-			return VIOLATED_SINGLETON_CONSTRAINT;
-		}
-
-		public IStatus toStatus() {
-			MultiStatus result = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, NLS.bind(Messages.Explanation_singleton, ""), null); //$NON-NLS-1$
-			for (int i = 0; i < ius.length; i++)
-				result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, getUserReadableName(ius[i])));
-			return result;
-		}
-
-		public String toString() {
-			return NLS.bind(Messages.Explanation_singleton, Arrays.asList(ius));
-		}
-
-	}
-
-	public static final int MISSING_REQUIREMENT = 1;
-
-	public static final Explanation OPTIONAL_REQUIREMENT = new Explanation() {
-
-		public int orderValue() {
-			return 6;
-		}
-
-		public String toString() {
-			return Messages.Explanation_optionalDependency;
-		}
-	};
-
-	public static final int VIOLATED_SINGLETON_CONSTRAINT = 2;
-
-	protected Explanation() {
-		super();
-	}
-
-	public int compareTo(Object arg0) {
-		Explanation exp = (Explanation) arg0;
-		if (this.orderValue() == exp.orderValue()) {
-			return this.toString().compareTo(exp.toString());
-		}
-		return this.orderValue() - exp.orderValue();
-	}
-
-	protected abstract int orderValue();
-
-	public int shortAnswer() {
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Returns a representation of this explanation as a status object.
-	 */
-	public IStatus toStatus() {
-		return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, toString());
-	}
-
-	protected String getUserReadableName(IInstallableUnit iu) {
-		if (iu == null)
-			return ""; //$NON-NLS-1$
-		String result = getLocalized(iu);
-		if (result == null)
-			return iu.toString();
-		return result + ' ' + iu.getVersion() + " (" + iu.toString() + ')'; //$NON-NLS-1$
-	}
-
-	private String getLocalized(IInstallableUnit iu) {
-		String value = iu.getProperty(IInstallableUnit.PROP_NAME);
-		if (value == null || value.length() <= 1 || value.charAt(0) != '%')
-			return value;
-		final String actualKey = value.substring(1); // Strip off the %
-		return iu.getProperty("df_LT." + actualKey); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/InfiniteProgress.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/InfiniteProgress.java
deleted file mode 100644
index db6f653..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/InfiniteProgress.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ProgressMonitorWrapper;
-
-/**
- * This class provides a simulation of progress. This is useful
- * for situations where computing the amount of work to do in advance
- * is too costly.  The monitor will accept any number of calls to
- * {@link #worked(int)}, and will scale the actual reported work appropriately
- * so that the progress never quite completes.
- */
-class InfiniteProgress extends ProgressMonitorWrapper {
-	/*
-	 * Fields for progress monitoring algorithm.
-	 * Initially, give progress for every 4 resources, double
-	 * this value at halfway point, then reset halfway point
-	 * to be half of remaining work.  (this gives an infinite
-	 * series that converges at total work after an infinite
-	 * number of resources).
-	 */
-	private int totalWork;
-	private int currentIncrement = 4;
-	private int halfWay;
-	private int nextProgress = currentIncrement;
-	private int worked = 0;
-
-	protected InfiniteProgress(IProgressMonitor monitor) {
-		super(monitor);
-	}
-
-	public void beginTask(String name, int work) {
-		super.beginTask(name, work);
-		this.totalWork = work;
-		this.halfWay = totalWork / 2;
-	}
-
-	public void worked(int work) {
-		if (--nextProgress <= 0) {
-			//we have exhausted the current increment, so report progress
-			super.worked(1);
-			worked++;
-			if (worked >= halfWay) {
-				//we have passed the current halfway point, so double the
-				//increment and reset the halfway point.
-				currentIncrement *= 2;
-				halfWay += (totalWork - halfWay) / 2;
-			}
-			//reset the progress counter to another full increment
-			nextProgress = currentIncrement;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
deleted file mode 100644
index cccc419..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Messages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.director.messages"; //$NON-NLS-1$
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String Director_Task_installer_plan;
-	public static String Director_Task_Installing;
-	public static String Director_Task_Updating;
-	public static String Director_Task_Resolving_Dependencies;
-	public static String Director_Unsatisfied_Dependencies;
-	public static String Director_error_applying_configuration;
-
-	public static String Explanation_alreadyInstalled;
-	public static String Explanation_from;
-	public static String Explanation_fromPatch;
-	public static String Explanation_hardDependency;
-	public static String Explanation_patchedHardDependency;
-	public static String Explanation_missingRequired;
-	public static String Explanation_missingRequiredFilter;
-	public static String Explanation_optionalDependency;
-	public static String Explanation_rootMissing;
-	public static String Explanation_rootSingleton;
-	public static String Explanation_singleton;
-	public static String Explanation_to;
-	public static String Explanation_toInstall;
-	public static String Explanation_unsatisfied;
-
-	public static String Planner_Timeout;
-	public static String Planner_Problems_resolving_plan;
-	public static String Planner_Unsatisfiable_problem;
-	public static String Planner_Unsatisfied_dependency;
-	public static String Planner_NoSolution;
-	public static String Planner_Unexpected_problem;
-	public static String Planner_actions_and_software_incompatible;
-	public static String Planner_can_not_install_preq;
-	public static String Planner_no_profile_registry;
-	public static String Planner_profile_out_of_sync;
-	public static String RequestStatus_message;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
deleted file mode 100644
index 099fbe9..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OperationGenerator.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class OperationGenerator {
-	private static final IInstallableUnit NULL_IU = MetadataFactory.createResolvedInstallableUnit(MetadataFactory.createInstallableUnit(new InstallableUnitDescription()), new IInstallableUnitFragment[0]);
-
-	public InstallableUnitOperand[] generateOperation(Collection from_, Collection to_) {
-		Collection intersection = new HashSet(from_);
-		intersection.retainAll(to_);
-
-		HashSet tmpFrom = new HashSet(from_);
-		HashSet tmpTo = new HashSet(to_);
-		tmpFrom.removeAll(intersection);
-		tmpTo.removeAll(intersection);
-
-		List from = new ArrayList(tmpFrom);
-		Collections.sort(from);
-
-		List to = new ArrayList(tmpTo);
-		Collections.sort(to);
-
-		ArrayList operations = new ArrayList();
-		generateUpdates(from, to, operations);
-		generateInstallUninstall(from, to, operations);
-		generateConfigurationChanges(to_, intersection, operations);
-		InstallableUnitOperand[] ops = (InstallableUnitOperand[]) operations.toArray(new InstallableUnitOperand[operations.size()]);
-		return ops;
-	}
-
-	//This generates operations that are causing the IUs to be reconfigured.
-	private void generateConfigurationChanges(Collection to_, Collection intersection, ArrayList operations) {
-		if (intersection.size() == 0)
-			return;
-		//We retain from each set the things that are the same.
-		//Note that despite the fact that they are the same, a different CU can be attached.
-		//The objects contained in the intersection are the one that were originally in the from collection.
-		TreeSet to = new TreeSet(to_);
-		for (Iterator iterator = intersection.iterator(); iterator.hasNext();) {
-			IInstallableUnit fromIU = (IInstallableUnit) iterator.next();
-			IInstallableUnit toIU = (IInstallableUnit) to.tailSet(fromIU).first();
-			generateConfigurationOperation(fromIU, toIU, operations);
-		}
-
-	}
-
-	private void generateConfigurationOperation(IInstallableUnit fromIU, IInstallableUnit toIU, ArrayList operations) {
-		IInstallableUnitFragment[] fromFragments = fromIU.getFragments();
-		IInstallableUnitFragment[] toFragments = toIU.getFragments();
-		if (fromFragments == toFragments)
-			return;
-		//Check to see if the two arrays are equals independently of the order of the fragments
-		boolean different = false;
-		if (fromFragments != null && toFragments != null) {
-			if (fromFragments.length != toFragments.length)
-				different = true;
-			else {
-				for (int i = 0; i < fromFragments.length; i++) {
-					boolean found = false;
-					for (int j = 0; j < toFragments.length; j++) {
-						if (fromFragments[i].equals(toFragments[j]))
-							found = true;
-					}
-					if (!found) {
-						different = true;
-						break;
-					}
-				}
-			}
-		} else {
-			//One of the two array is null
-			different = true;
-		}
-		if (!different)
-			return;
-		operations.add(new InstallableUnitOperand(fromIU, toIU));
-	}
-
-	private void generateInstallUninstall(List from, List to, ArrayList operations) {
-		int toIdx = 0;
-		int fromIdx = 0;
-		while (fromIdx != from.size() && toIdx != to.size()) {
-			IInstallableUnit fromIU = (IInstallableUnit) from.get(fromIdx);
-			IInstallableUnit toIU = (IInstallableUnit) to.get(toIdx);
-			int comparison = toIU.compareTo(fromIU);
-			if (comparison < 0) {
-				operations.add(createInstallOperation(toIU));
-				toIdx++;
-			} else if (comparison == 0) {
-				toIdx++;
-				fromIdx++;
-				//				System.out.println("same " + fromIU);
-			} else {
-				operations.add(createUninstallOperation(fromIU));
-				fromIdx++;
-			}
-		}
-		if (fromIdx != from.size()) {
-			for (int i = fromIdx; i < from.size(); i++) {
-				operations.add(createUninstallOperation((IInstallableUnit) from.get(i)));
-			}
-		}
-		if (toIdx != to.size()) {
-			for (int i = toIdx; i < to.size(); i++) {
-				operations.add(createInstallOperation((IInstallableUnit) to.get(i)));
-			}
-		}
-	}
-
-	private void generateUpdates(List from, List to, ArrayList operations) {
-		Set processed = new HashSet();
-		Set removedFromTo = new HashSet();
-
-		if (to.isEmpty() || from.isEmpty())
-			return;
-
-		Map fromById = new HashMap();
-		for (Iterator iterator = from.iterator(); iterator.hasNext();) {
-			IInstallableUnit iuFrom = (IInstallableUnit) iterator.next();
-			List ius = (List) fromById.get(iuFrom.getId());
-			if (ius == null) {
-				ius = new ArrayList();
-				fromById.put(iuFrom.getId(), ius);
-			}
-			ius.add(iuFrom);
-		}
-
-		for (int toIdx = 0; toIdx < to.size(); toIdx++) {
-			IInstallableUnit iuTo = (IInstallableUnit) to.get(toIdx);
-			if (iuTo.getId().equals(next(to, toIdx).getId())) { //This handle the case where there are multiple versions of the same IU in the target. Eg we are trying to update from A 1.0.0 to A 1.1.1 and A 1.2.2
-				toIdx = skip(to, iuTo, toIdx) - 1;
-				//System.out.println("Can't update " + iuTo + " because another iu with same id is in the target state");
-				continue;
-			}
-			if (iuTo.getUpdateDescriptor() == null)
-				continue;
-
-			List fromIdIndexList = (List) fromById.get(iuTo.getUpdateDescriptor().getId());
-			if (fromIdIndexList == null)
-				continue;
-
-			//when the ui we update from is in the new state, skip (for example FROM is A, C, B & TO is C (update of
-			InstallableUnitQuery updateQuery = new InstallableUnitQuery(iuTo.getUpdateDescriptor().getId(), iuTo.getUpdateDescriptor().getRange());
-			Iterator updates = updateQuery.perform(fromIdIndexList.iterator(), new Collector()).iterator();
-
-			if (!updates.hasNext()) { //Nothing to update from.
-				continue;
-			}
-			IInstallableUnit iuFrom = (IInstallableUnit) updates.next();
-			if (updates.hasNext()) { //There are multiple IUs to update from
-				//System.out.println("Can't update  " + iuTo + " because there are multiple IUs to update from (" + toString(iusFrom) + ')');
-				continue;
-			}
-			if (iuTo.equals(iuFrom)) {
-				from.remove(iuFrom);
-				fromIdIndexList.remove(iuFrom);
-				removedFromTo.add(iuTo);
-				continue;
-			}
-			operations.add(createUpdateOperation(iuFrom, iuTo));
-			from.remove(iuFrom);
-			fromIdIndexList.remove(iuFrom);
-			processed.add(iuTo);
-		}
-		to.removeAll(processed);
-		to.removeAll(removedFromTo);
-	}
-
-	private InstallableUnitOperand createUninstallOperation(IInstallableUnit iu) {
-		return new InstallableUnitOperand(iu, null);
-	}
-
-	private InstallableUnitOperand createInstallOperation(IInstallableUnit iu) {
-		return new InstallableUnitOperand(null, iu);
-	}
-
-	private InstallableUnitOperand createUpdateOperation(IInstallableUnit from, IInstallableUnit to) {
-		return new InstallableUnitOperand(from, to);
-	}
-
-	private IInstallableUnit next(List l, int i) {
-		i++;
-		if (i >= l.size())
-			return NULL_IU;
-		return (IInstallableUnit) l.get(i);
-	}
-
-	private int skip(List c, IInstallableUnit id, int idx) {
-		int i = idx;
-		for (; i < c.size(); i++) {
-			if (!id.getId().equals(((IInstallableUnit) c.get(i)).getId()))
-				return i;
-		}
-		return i;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java
deleted file mode 100644
index 45e305a..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PermissiveSlicer.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.Dictionary;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-public class PermissiveSlicer extends Slicer {
-	private boolean includeOptionalDependencies; //Cause optional dependencies not be followed as part of the
-	private boolean everythingGreedy;
-	private boolean considerFilter;
-	private boolean considerOnlyStrictDependency;
-	private boolean evalFilterTo;
-	private boolean onlyFilteredRequirements;
-
-	public PermissiveSlicer(IQueryable input, Dictionary context, boolean includeOptionalDependencies, boolean everythingGreedy, boolean evalFilterTo, boolean considerOnlyStrictDependency, boolean onlyFilteredRequirements) {
-		super(input, context, true);
-		this.considerFilter = (context != null && context.size() > 1) ? true : false;
-		this.includeOptionalDependencies = includeOptionalDependencies;
-		this.everythingGreedy = everythingGreedy;
-		this.evalFilterTo = evalFilterTo;
-		this.considerOnlyStrictDependency = considerOnlyStrictDependency;
-		this.onlyFilteredRequirements = onlyFilteredRequirements;
-	}
-
-	protected boolean isApplicable(IInstallableUnit iu) {
-		if (considerFilter)
-			return super.isApplicable(iu);
-		if (iu.getFilter() == null)
-			return true;
-		return evalFilterTo;
-	}
-
-	protected boolean isApplicable(IRequirement req) {
-		//Every filter in this method needs to continue except when the filter does not pass
-		if (!includeOptionalDependencies)
-			if (req.getMin() == 0)
-				return false;
-
-		if (considerOnlyStrictDependency) {
-			if (req instanceof IRequiredCapability) {
-				IRequiredCapability reqCap = (IRequiredCapability) req;
-				if (!reqCap.getRange().getMinimum().equals(reqCap.getRange().getMaximum()))
-					return false;
-			}
-		}
-
-		//deal with filters
-		if (considerFilter) {
-			if (onlyFilteredRequirements && req.getFilter() == null) {
-				return false;
-			}
-			return super.isApplicable(req);
-		}
-		if (req.getFilter() == null) {
-			if (onlyFilteredRequirements)
-				return false;
-			return true;
-		}
-		return evalFilterTo;
-	}
-
-	protected boolean isGreedy(IRequirement req) {
-		if (everythingGreedy) {
-			return true;
-		}
-		return super.isGreedy(req);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PlannerComponent.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PlannerComponent.java
deleted file mode 100644
index 771c70f..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/PlannerComponent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * A service factory that provides planner implementations
- */
-public class PlannerComponent implements IAgentServiceFactory {
-
-	public Object createService(IProvisioningAgent agent) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		IMetadataRepositoryManager repoManager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-		return new SimplePlanner(profileRegistry, repoManager);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
deleted file mode 100644
index f72d7ec..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java
+++ /dev/null
@@ -1,950 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- * Daniel Le Berre - Fix in the encoding and the optimization function
- * Alban Browaeys - Optimized string concatenation in bug 251357
- * Jed Anderson - switch from opb files to API calls to DependencyHelper in bug 200380
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.math.BigInteger;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.metadata.query.PatchQuery;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-import org.sat4j.pb.IPBSolver;
-import org.sat4j.pb.SolverFactory;
-import org.sat4j.pb.tools.DependencyHelper;
-import org.sat4j.pb.tools.WeightedObject;
-import org.sat4j.specs.*;
-
-/**
- * This class is the interface between SAT4J and the planner. It produces a
- * boolean satisfiability problem, invokes the solver, and converts the solver result
- * back into information understandable by the planner.
- */
-public class Projector {
-	static boolean DEBUG = Tracing.DEBUG_PLANNER_PROJECTOR;
-	private static boolean DEBUG_ENCODING = false;
-	private IQueryable picker;
-	private QueryableArray patches;
-
-	private Map noopVariables; //key IU, value AbstractVariable
-	private List abstractVariables;
-
-	private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
-	private Dictionary selectionContext;
-
-	DependencyHelper dependencyHelper;
-	private Collection solution;
-	private Collection assumptions;
-
-	private MultiStatus result;
-
-	private Collection alreadyInstalledIUs;
-	private IQueryable lastState;
-
-	private boolean considerMetaRequirements;
-	private IInstallableUnit entryPoint;
-	private Map fragments = new HashMap();
-
-	static class AbstractVariable {
-		public String toString() {
-			return "AbstractVariable: " + hashCode(); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Job for computing SAT failure explanation in the background.
-	 */
-	class ExplanationJob extends Job {
-		private Set explanation;
-
-		public ExplanationJob() {
-			super(Messages.Planner_NoSolution);
-			//explanations cannot be canceled directly, so don't show it to the user
-			setSystem(true);
-		}
-
-		public boolean belongsTo(Object family) {
-			return family == ExplanationJob.this;
-		}
-
-		protected void canceling() {
-			super.canceling();
-			dependencyHelper.stopExplanation();
-		}
-
-		public Set getExplanationResult() {
-			return explanation;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			long start = 0;
-			if (DEBUG) {
-				start = System.currentTimeMillis();
-				Tracing.debug("Determining cause of failure: " + start); //$NON-NLS-1$
-			}
-			try {
-				explanation = dependencyHelper.why();
-				if (DEBUG) {
-					long stop = System.currentTimeMillis();
-					Tracing.debug("Explanation found: " + (stop - start)); //$NON-NLS-1$
-					Tracing.debug("Explanation:"); //$NON-NLS-1$
-					for (Iterator i = explanation.iterator(); i.hasNext();) {
-						Tracing.debug(i.next().toString());
-					}
-				}
-			} catch (TimeoutException e) {
-				if (DEBUG)
-					Tracing.debug("Timeout while computing explanations"); //$NON-NLS-1$
-			} finally {
-				//must never have a null result, because caller is waiting on result to be non-null
-				if (explanation == null)
-					explanation = Collections.EMPTY_SET;
-			}
-			synchronized (this) {
-				ExplanationJob.this.notify();
-			}
-			return Status.OK_STATUS;
-		}
-
-	}
-
-	public Projector(IQueryable q, Dictionary context, boolean considerMetaRequirements) {
-		picker = q;
-		noopVariables = new HashMap();
-		slice = new TwoTierMap();
-		selectionContext = context;
-		abstractVariables = new ArrayList();
-		result = new MultiStatus(DirectorActivator.PI_DIRECTOR, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
-		assumptions = new ArrayList();
-		this.considerMetaRequirements = considerMetaRequirements;
-	}
-
-	protected boolean isInstalled(IInstallableUnit iu) {
-		return lastState.query(new InstallableUnitQuery(iu), null).size() == 0 ? false : true;
-	}
-
-	public void encode(IInstallableUnit entryPointIU, IInstallableUnit[] alreadyExistingRoots, IQueryable installedIUs, IInstallableUnit[] newRoots, IProgressMonitor monitor) {
-		alreadyInstalledIUs = Arrays.asList(alreadyExistingRoots);
-		lastState = installedIUs;
-		this.entryPoint = entryPointIU;
-		try {
-			long start = 0;
-			if (DEBUG) {
-				start = System.currentTimeMillis();
-				Tracing.debug("Start projection: " + start); //$NON-NLS-1$
-			}
-			IPBSolver solver;
-			if (DEBUG_ENCODING) {
-				solver = SolverFactory.newOPBStringSolver();
-			} else {
-				solver = SolverFactory.newEclipseP2();
-			}
-			solver.setTimeoutOnConflicts(1000);
-			Collector collector = picker.query(InstallableUnitQuery.ANY, null);
-			dependencyHelper = new DependencyHelper(solver);
-
-			Iterator iusToEncode = collector.iterator();
-			if (DEBUG) {
-				List iusToOrder = new ArrayList();
-				while (iusToEncode.hasNext()) {
-					iusToOrder.add(iusToEncode.next());
-				}
-				Collections.sort(iusToOrder);
-				iusToEncode = iusToOrder.iterator();
-			}
-			while (iusToEncode.hasNext()) {
-				if (monitor.isCanceled()) {
-					result.merge(Status.CANCEL_STATUS);
-					throw new OperationCanceledException();
-				}
-				IInstallableUnit iuToEncode = (IInstallableUnit) iusToEncode.next();
-				if (iuToEncode != entryPointIU) {
-					processIU(iuToEncode, false);
-				}
-			}
-			createConstraintsForSingleton();
-
-			createMustHave(entryPointIU, alreadyExistingRoots, newRoots);
-
-			createOptimizationFunction(entryPointIU);
-			if (DEBUG) {
-				long stop = System.currentTimeMillis();
-				Tracing.debug("Projection complete: " + (stop - start)); //$NON-NLS-1$
-			}
-			if (DEBUG_ENCODING) {
-				System.out.println(solver.toString());
-			}
-		} catch (IllegalStateException e) {
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, e.getMessage(), e));
-		} catch (ContradictionException e) {
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Planner_Unsatisfiable_problem));
-		}
-	}
-
-	//Create an optimization function favoring the highest version of each IU
-	private void createOptimizationFunction(IInstallableUnit metaIu) {
-
-		List weightedObjects = new ArrayList();
-
-		Set s = slice.entrySet();
-		final BigInteger POWER = BigInteger.valueOf(2);
-
-		BigInteger maxWeight = POWER;
-		for (Iterator iterator = s.iterator(); iterator.hasNext();) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			HashMap conflictingEntries = (HashMap) entry.getValue();
-			if (conflictingEntries.size() == 1) {
-				continue;
-			}
-			List toSort = new ArrayList(conflictingEntries.values());
-			Collections.sort(toSort, Collections.reverseOrder());
-			BigInteger weight = POWER;
-			int count = toSort.size();
-			for (int i = 0; i < count; i++) {
-				IInstallableUnit iu = (IInstallableUnit) toSort.get(i);
-				weightedObjects.add(WeightedObject.newWO(iu, isInstalled(iu) ? BigInteger.ONE : weight));
-				weight = weight.multiply(POWER);
-			}
-			if (weight.compareTo(maxWeight) > 0)
-				maxWeight = weight;
-		}
-
-		maxWeight = maxWeight.multiply(POWER);
-
-		// Weight the no-op variables beneath the abstract variables
-		for (Iterator iterator = noopVariables.values().iterator(); iterator.hasNext();) {
-			weightedObjects.add(WeightedObject.newWO(iterator.next(), maxWeight));
-		}
-
-		maxWeight = maxWeight.multiply(POWER);
-
-		// Add the abstract variables
-		BigInteger abstractWeight = maxWeight.negate();
-		for (Iterator iterator = abstractVariables.iterator(); iterator.hasNext();) {
-			weightedObjects.add(WeightedObject.newWO(iterator.next(), abstractWeight));
-		}
-
-		maxWeight = maxWeight.multiply(POWER);
-
-		BigInteger optionalWeight = maxWeight.negate();
-		long countOptional = 1;
-		List requestedPatches = new ArrayList();
-		IRequirement[] reqs = metaIu.getRequiredCapabilities();
-		for (int j = 0; j < reqs.length; j++) {
-			if (reqs[j].getMin() > 0)
-				continue;
-			Collector matches = picker.query(reqs[j].getMatches(), null);
-			for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-				IInstallableUnit match = (IInstallableUnit) iterator.next();
-				if (match instanceof IInstallableUnitPatch) {
-					requestedPatches.add(match);
-					countOptional = countOptional + 1;
-				} else {
-					weightedObjects.add(WeightedObject.newWO(match, isInstalled(match) ? BigInteger.ONE : optionalWeight));
-				}
-			}
-		}
-
-		BigInteger patchWeight = maxWeight.multiply(POWER).multiply(BigInteger.valueOf(countOptional)).negate();
-		for (Iterator iterator = requestedPatches.iterator(); iterator.hasNext();) {
-			weightedObjects.add(WeightedObject.newWO(iterator.next(), patchWeight));
-		}
-		if (!weightedObjects.isEmpty()) {
-			createObjectiveFunction(weightedObjects);
-		}
-	}
-
-	private void createObjectiveFunction(List weightedObjects) {
-		if (DEBUG) {
-			StringBuffer b = new StringBuffer();
-			for (Iterator i = weightedObjects.iterator(); i.hasNext();) {
-				WeightedObject object = (WeightedObject) i.next();
-				if (b.length() > 0)
-					b.append(", "); //$NON-NLS-1$
-				b.append(object.getWeight());
-				b.append(' ');
-				b.append(object.thing);
-			}
-			Tracing.debug("objective function: " + b); //$NON-NLS-1$
-		}
-		dependencyHelper.setObjectiveFunction((WeightedObject[]) weightedObjects.toArray(new WeightedObject[weightedObjects.size()]));
-	}
-
-	private void createMustHave(IInstallableUnit iu, IInstallableUnit[] alreadyExistingRoots, IInstallableUnit[] newRoots) throws ContradictionException {
-		processIU(iu, true);
-		if (DEBUG) {
-			Tracing.debug(iu + "=1"); //$NON-NLS-1$
-		}
-		// dependencyHelper.setTrue(variable, new Explanation.IUToInstall(iu));
-		assumptions.add(iu);
-	}
-
-	private void createNegation(IInstallableUnit iu, IRequirement req) throws ContradictionException {
-		if (DEBUG) {
-			Tracing.debug(iu + "=0"); //$NON-NLS-1$
-		}
-		dependencyHelper.setFalse(iu, new Explanation.MissingIU(iu, req));
-	}
-
-	// Check whether the requirement is applicable
-	private boolean isApplicable(IRequirement req) {
-		IQuery filter = req.getFilter();
-		if (filter == null)
-			return true;
-		if (filter instanceof LDAPQuery)
-			try {
-				return DirectorActivator.context.createFilter(((LDAPQuery) filter).getFilter()).match(selectionContext);
-			} catch (InvalidSyntaxException e) {
-				return false;
-			}
-		throw new IllegalArgumentException();
-	}
-
-	private boolean isApplicable(IInstallableUnit iu) {
-		LDAPQuery enablementFilter = (LDAPQuery) iu.getFilter();
-		if (enablementFilter == null)
-			return true;
-		try {
-			return DirectorActivator.context.createFilter(enablementFilter.getFilter()).match(selectionContext);
-		} catch (InvalidSyntaxException e) {
-			return false;
-		}
-	}
-
-	private void expandNegatedRequirement(IRequirement req, IInstallableUnit iu, List optionalAbstractRequirements, boolean isRootIu) throws ContradictionException {
-		if (!isApplicable(req))
-			return;
-		List matches = getApplicableMatches(req);
-		if (matches.isEmpty()) {
-			return;
-		}
-		Explanation explanation;
-		if (isRootIu) {
-			IInstallableUnit reqIu = (IInstallableUnit) matches.get(0);
-			if (alreadyInstalledIUs.contains(reqIu)) {
-				explanation = new Explanation.IUInstalled(reqIu);
-			} else {
-				explanation = new Explanation.IUToInstall(reqIu);
-			}
-		} else {
-			explanation = new Explanation.HardRequirement(iu, req);
-		}
-		createNegationImplication(iu, matches, explanation);
-	}
-
-	private void expandRequirement(IRequirement req, IInstallableUnit iu, List optionalAbstractRequirements, boolean isRootIu) throws ContradictionException {
-		if (req.getMax() == 0) {
-			expandNegatedRequirement(req, iu, optionalAbstractRequirements, isRootIu);
-			return;
-		}
-		if (!isApplicable(req))
-			return;
-		List matches = getApplicableMatches(req);
-		if (isHostRequirement(iu, req)) {
-			rememberHostMatches(iu, matches);
-		}
-		if (req.getMin() > 0) {
-			if (matches.isEmpty()) {
-				missingRequirement(iu, req);
-			} else {
-				IInstallableUnit reqIu = (IInstallableUnit) matches.get(0);
-				Explanation explanation;
-				if (isRootIu) {
-					if (alreadyInstalledIUs.contains(reqIu)) {
-						explanation = new Explanation.IUInstalled(reqIu);
-					} else {
-						explanation = new Explanation.IUToInstall(reqIu);
-					}
-				} else {
-					explanation = new Explanation.HardRequirement(iu, req);
-				}
-				createImplication(iu, matches, explanation);
-			}
-		} else {
-			if (!matches.isEmpty()) {
-				AbstractVariable abs = getAbstractVariable();
-				createImplication(new Object[] {abs, iu}, matches, Explanation.OPTIONAL_REQUIREMENT);
-				optionalAbstractRequirements.add(abs);
-			}
-		}
-	}
-
-	private void expandRequirements(IRequirement[] reqs, IInstallableUnit iu, boolean isRootIu) throws ContradictionException {
-		if (reqs.length == 0) {
-			return;
-		}
-		List optionalAbstractRequirements = new ArrayList();
-		for (int i = 0; i < reqs.length; i++) {
-			expandRequirement(reqs[i], iu, optionalAbstractRequirements, isRootIu);
-		}
-		createOptionalityExpression(iu, optionalAbstractRequirements);
-	}
-
-	public void processIU(IInstallableUnit iu, boolean isRootIU) throws ContradictionException {
-		iu = iu.unresolved();
-
-		slice.put(iu.getId(), iu.getVersion(), iu);
-		if (!isApplicable(iu)) {
-			createNegation(iu, null);
-			return;
-		}
-
-		Collector applicablePatches = getApplicablePatches(iu);
-		expandLifeCycle(iu, isRootIU);
-		//No patches apply, normal code path
-		if (applicablePatches.size() == 0) {
-			expandRequirements(getRequiredCapabilities(iu), iu, isRootIU);
-		} else {
-			//Patches are applicable to the IU
-			expandRequirementsWithPatches(iu, applicablePatches, isRootIU);
-		}
-	}
-
-	private IRequirement[] getRequiredCapabilities(IInstallableUnit iu) {
-		if (considerMetaRequirements == false || iu.getMetaRequiredCapabilities().length == 0)
-			return iu.getRequiredCapabilities();
-		IRequirement[] aggregatedCapabilities = new IRequirement[iu.getRequiredCapabilities().length + iu.getMetaRequiredCapabilities().length];
-		System.arraycopy(iu.getRequiredCapabilities(), 0, aggregatedCapabilities, 0, iu.getRequiredCapabilities().length);
-		System.arraycopy(iu.getMetaRequiredCapabilities(), 0, aggregatedCapabilities, iu.getRequiredCapabilities().length, iu.getMetaRequiredCapabilities().length);
-		return aggregatedCapabilities;
-	}
-
-	static final class Pending {
-		List matches;
-		Explanation explanation;
-		Object left;
-	}
-
-	private void expandRequirementsWithPatches(IInstallableUnit iu, Collector applicablePatches, boolean isRootIu) throws ContradictionException {
-		//Unmodified dependencies
-		Map unchangedRequirements = new HashMap(getRequiredCapabilities(iu).length);
-		Map nonPatchedRequirements = new HashMap(getRequiredCapabilities(iu).length);
-		for (Iterator iterator = applicablePatches.iterator(); iterator.hasNext();) {
-			IInstallableUnitPatch patch = (IInstallableUnitPatch) iterator.next();
-			IRequirement[][] reqs = mergeRequirements(iu, patch);
-			if (reqs.length == 0)
-				return;
-
-			// Optional requirements are encoded via:
-			// ABS -> (match1(req) or match2(req) or ... or matchN(req))
-			// noop(IU)-> ~ABS
-			// IU -> (noop(IU) or ABS)
-			// Therefore we only need one optional requirement statement per IU
-			List optionalAbstractRequirements = new ArrayList();
-			for (int i = 0; i < reqs.length; i++) {
-				//The requirement is unchanged
-				if (reqs[i][0] == reqs[i][1]) {
-					if (!isApplicable(reqs[i][0]))
-						continue;
-
-					List patchesAppliedElseWhere = (List) unchangedRequirements.get(reqs[i][0]);
-					if (patchesAppliedElseWhere == null) {
-						patchesAppliedElseWhere = new ArrayList();
-						unchangedRequirements.put(reqs[i][0], patchesAppliedElseWhere);
-					}
-					patchesAppliedElseWhere.add(patch);
-					continue;
-				}
-
-				//Generate dependency when the patch is applied
-				//P1 -> (A -> D) equiv. (P1 & A) -> D
-				if (isApplicable(reqs[i][1])) {
-					IRequirement req = reqs[i][1];
-					List matches = getApplicableMatches(req);
-					if (isHostRequirement(iu, req)) {
-						rememberHostMatches(iu, matches);
-					}
-					if (req.getMin() > 0) {
-						if (matches.isEmpty()) {
-							missingRequirement(patch, req);
-						} else {
-							IInstallableUnit reqIu = (IInstallableUnit) matches.get(0);
-							Explanation explanation;
-							if (isRootIu) {
-								if (alreadyInstalledIUs.contains(reqIu)) {
-									explanation = new Explanation.IUInstalled(reqIu);
-								} else {
-									explanation = new Explanation.IUToInstall(reqIu);
-								}
-							} else {
-								explanation = new Explanation.PatchedHardRequirement(iu, req, patch);
-							}
-							createImplication(new Object[] {patch, iu}, matches, explanation);
-						}
-					} else {
-						if (!matches.isEmpty()) {
-							AbstractVariable abs = getAbstractVariable();
-							createImplication(new Object[] {patch, abs, iu}, matches, Explanation.OPTIONAL_REQUIREMENT);
-							optionalAbstractRequirements.add(abs);
-						}
-					}
-				}
-				//Generate dependency when the patch is not applied
-				//-P1 -> (A -> B) ( equiv. A -> (P1 or B) )
-				if (isApplicable(reqs[i][0])) {
-					IRequirement req = reqs[i][0];
-
-					// Fix: if multiple patches apply to the same IU-req, we need to make sure we list each
-					// patch as an optional match
-					Pending pending = (Pending) nonPatchedRequirements.get(req);
-					if (pending != null) {
-						pending.matches.add(patch);
-						continue;
-					}
-
-					List matches = getApplicableMatches(req);
-					if (isHostRequirement(iu, req)) {
-						rememberHostMatches(iu, matches);
-					}
-					if (req.getMin() > 0) {
-						if (matches.isEmpty()) {
-							dependencyHelper.implication(new Object[] {iu}).implies(patch).named(new Explanation.HardRequirement(iu, null));
-						} else {
-							matches.add(patch);
-							IInstallableUnit reqIu = (IInstallableUnit) matches.get(0);///(IInstallableUnit) picker.query(new CapabilityQuery(req), new Collector(), null).iterator().next();
-
-							Explanation explanation;
-							if (isRootIu) {
-								if (alreadyInstalledIUs.contains(reqIu)) {
-									explanation = new Explanation.IUInstalled(reqIu);
-								} else {
-									explanation = new Explanation.IUToInstall(reqIu);
-								}
-							} else {
-								explanation = new Explanation.HardRequirement(iu, req);
-							}
-
-							// Fix: make sure we collect all patches that will impact this IU-req, not just one
-							pending = new Pending();
-							pending.left = iu;
-							pending.explanation = explanation;
-							pending.matches = matches;
-							nonPatchedRequirements.put(req, pending);
-						}
-					} else {
-						if (!matches.isEmpty()) {
-							AbstractVariable abs = getAbstractVariable();
-							matches.add(patch);
-
-							// Fix: make sure we collect all patches that will impact this IU-req, not just one
-							pending = new Pending();
-							pending.left = new Object[] {abs, iu};
-							pending.explanation = Explanation.OPTIONAL_REQUIREMENT;
-							pending.matches = matches;
-							nonPatchedRequirements.put(req, pending);
-
-							optionalAbstractRequirements.add(abs);
-						}
-					}
-				}
-			}
-			createOptionalityExpression(iu, optionalAbstractRequirements);
-		}
-
-		// Fix: now create the pending non-patch requirements based on the full set of patches
-		for (Iterator iterator = nonPatchedRequirements.values().iterator(); iterator.hasNext();) {
-			Pending pending = (Pending) iterator.next();
-			createImplication(pending.left, pending.matches, pending.explanation);
-		}
-
-		List optionalAbstractRequirements = new ArrayList();
-		for (Iterator iterator = unchangedRequirements.entrySet().iterator(); iterator.hasNext();) {
-			Entry entry = (Entry) iterator.next();
-			List patchesApplied = (List) entry.getValue();
-			List allPatches = new ArrayList(applicablePatches.toCollection());
-			allPatches.removeAll(patchesApplied);
-			List requiredPatches = new ArrayList();
-			for (Iterator iterator2 = allPatches.iterator(); iterator2.hasNext();) {
-				IInstallableUnitPatch patch = (IInstallableUnitPatch) iterator2.next();
-				requiredPatches.add(patch);
-			}
-			IRequirement req = (IRequirement) entry.getKey();
-			List matches = getApplicableMatches(req);
-			if (isHostRequirement(iu, req)) {
-				rememberHostMatches(iu, matches);
-			}
-			if (req.getMin() > 0) {
-				if (matches.isEmpty()) {
-					if (requiredPatches.isEmpty()) {
-						missingRequirement(iu, req);
-					} else {
-						createImplication(iu, requiredPatches, new Explanation.HardRequirement(iu, req));
-					}
-				} else {
-					if (!requiredPatches.isEmpty())
-						matches.addAll(requiredPatches);
-					IInstallableUnit reqIu = (IInstallableUnit) matches.get(0);//(IInstallableUnit) picker.query(new CapabilityQuery(req), new Collector(), null).iterator().next();
-					Explanation explanation;
-					if (isRootIu) {
-						if (alreadyInstalledIUs.contains(reqIu)) {
-							explanation = new Explanation.IUInstalled(reqIu);
-						} else {
-							explanation = new Explanation.IUToInstall(reqIu);
-						}
-					} else {
-						explanation = new Explanation.HardRequirement(iu, req);
-					}
-					createImplication(iu, matches, explanation);
-				}
-			} else {
-				if (!matches.isEmpty()) {
-					if (!requiredPatches.isEmpty())
-						matches.addAll(requiredPatches);
-					AbstractVariable abs = getAbstractVariable();
-					createImplication(new Object[] {abs, iu}, matches, Explanation.OPTIONAL_REQUIREMENT);
-					optionalAbstractRequirements.add(abs);
-				}
-			}
-		}
-		createOptionalityExpression(iu, optionalAbstractRequirements);
-	}
-
-	private void expandLifeCycle(IInstallableUnit iu, boolean isRootIu) throws ContradictionException {
-		if (!(iu instanceof IInstallableUnitPatch))
-			return;
-		IInstallableUnitPatch patch = (IInstallableUnitPatch) iu;
-		IRequirement req = patch.getLifeCycle();
-		if (req == null)
-			return;
-		expandRequirement(req, iu, Collections.EMPTY_LIST, isRootIu);
-	}
-
-	private void missingRequirement(IInstallableUnit iu, IRequirement req) throws ContradictionException {
-		result.add(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
-		createNegation(iu, req);
-	}
-
-	/**
-	 * @param req
-	 * @return a list of mandatory requirements if any, an empty list if req.isOptional().
-	 */
-	private List getApplicableMatches(IRequirement req) {
-		List target = new ArrayList();
-		Collector matches = picker.query(req.getMatches(), null);
-		for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-			IInstallableUnit match = (IInstallableUnit) iterator.next();
-			if (isApplicable(match)) {
-				target.add(match);
-			}
-		}
-		return target;
-	}
-
-	//Return a new array of requirements representing the application of the patch
-	private IRequirement[][] mergeRequirements(IInstallableUnit iu, IInstallableUnitPatch patch) {
-		if (patch == null)
-			return null;
-		IRequirementChange[] changes = patch.getRequirementsChange();
-		IRequirement[] originalRequirements = new IRequirement[iu.getRequiredCapabilities().length];
-		System.arraycopy(iu.getRequiredCapabilities(), 0, originalRequirements, 0, originalRequirements.length);
-		List rrr = new ArrayList();
-		boolean found = false;
-		for (int i = 0; i < changes.length; i++) {
-			for (int j = 0; j < originalRequirements.length; j++) {
-				if (originalRequirements[j] != null && changes[i].matches((IRequiredCapability) originalRequirements[j])) {
-					found = true;
-					if (changes[i].newValue() != null)
-						rrr.add(new IRequirement[] {originalRequirements[j], changes[i].newValue()});
-					else
-						// case where a requirement is removed
-						rrr.add(new IRequirement[] {originalRequirements[j], null});
-					originalRequirements[j] = null;
-				}
-				//				break;
-			}
-			if (!found && changes[i].applyOn() == null && changes[i].newValue() != null) //Case where a new requirement is added
-				rrr.add(new IRequirement[] {null, changes[i].newValue()});
-		}
-		//Add all the unmodified requirements to the result
-		for (int i = 0; i < originalRequirements.length; i++) {
-			if (originalRequirements[i] != null)
-				rrr.add(new IRequirement[] {originalRequirements[i], originalRequirements[i]});
-		}
-		return (IRequirement[][]) rrr.toArray(new IRequirement[rrr.size()][]);
-	}
-
-	/**
-	 * Optional requirements are encoded via:
-	 * ABS -> (match1(req) or match2(req) or ... or matchN(req))
-	 * noop(IU)-> ~ABS
-	 * IU -> (noop(IU) or ABS)
-	 * @param iu
-	 * @param optionalRequirements
-	 * @throws ContradictionException
-	 */
-	private void createOptionalityExpression(IInstallableUnit iu, List optionalRequirements) throws ContradictionException {
-		if (optionalRequirements.isEmpty())
-			return;
-		AbstractVariable noop = getNoOperationVariable(iu);
-		for (Iterator i = optionalRequirements.iterator(); i.hasNext();) {
-			AbstractVariable abs = (AbstractVariable) i.next();
-			createIncompatibleValues(abs, noop);
-		}
-		optionalRequirements.add(noop);
-		createImplication(iu, optionalRequirements, Explanation.OPTIONAL_REQUIREMENT);
-	}
-
-	//This will create as many implication as there is element in the right argument
-	private void createNegationImplication(Object left, List right, Explanation name) throws ContradictionException {
-		if (DEBUG) {
-			Tracing.debug(name + ": " + left + "->" + right); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		for (Iterator iterator = right.iterator(); iterator.hasNext();) {
-			dependencyHelper.implication(new Object[] {left}).impliesNot(iterator.next()).named(name);
-		}
-
-	}
-
-	private void createImplication(Object left, List right, Explanation name) throws ContradictionException {
-		if (DEBUG) {
-			Tracing.debug(name + ": " + left + "->" + right); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		dependencyHelper.implication(new Object[] {left}).implies(right.toArray()).named(name);
-	}
-
-	private void createImplication(Object[] left, List right, Explanation name) throws ContradictionException {
-		if (DEBUG) {
-			Tracing.debug(name + ": " + Arrays.asList(left) + "->" + right); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		dependencyHelper.implication(left).implies(right.toArray()).named(name);
-	}
-
-	//Return IUPatches that are applicable for the given iu
-	private Collector getApplicablePatches(IInstallableUnit iu) {
-		if (patches == null)
-			patches = new QueryableArray((IInstallableUnit[]) picker.query(new PatchQuery(), null).toArray(IInstallableUnit.class));
-
-		return patches.query(new ApplicablePatchQuery(iu), null);
-	}
-
-	//Create constraints to deal with singleton
-	//When there is a mix of singleton and non singleton, several constraints are generated
-	private void createConstraintsForSingleton() throws ContradictionException {
-		Set s = slice.entrySet();
-		for (Iterator iterator = s.iterator(); iterator.hasNext();) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			HashMap conflictingEntries = (HashMap) entry.getValue();
-			if (conflictingEntries.size() < 2)
-				continue;
-
-			Collection conflictingVersions = conflictingEntries.values();
-			List singletons = new ArrayList();
-			List nonSingletons = new ArrayList();
-			for (Iterator conflictIterator = conflictingVersions.iterator(); conflictIterator.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) conflictIterator.next();
-				if (iu.isSingleton()) {
-					singletons.add(iu);
-				} else {
-					nonSingletons.add(iu);
-				}
-			}
-			if (singletons.isEmpty())
-				continue;
-
-			IInstallableUnit[] singletonArray;
-			if (nonSingletons.isEmpty()) {
-				singletonArray = (IInstallableUnit[]) singletons.toArray(new IInstallableUnit[singletons.size()]);
-				createAtMostOne(singletonArray);
-			} else {
-				singletonArray = (IInstallableUnit[]) singletons.toArray(new IInstallableUnit[singletons.size() + 1]);
-				for (Iterator iterator2 = nonSingletons.iterator(); iterator2.hasNext();) {
-					singletonArray[singletonArray.length - 1] = (IInstallableUnit) iterator2.next();
-					createAtMostOne(singletonArray);
-				}
-			}
-		}
-	}
-
-	private void createAtMostOne(IInstallableUnit[] ius) throws ContradictionException {
-		if (DEBUG) {
-			StringBuffer b = new StringBuffer();
-			for (int i = 0; i < ius.length; i++) {
-				b.append(ius[i].toString());
-			}
-			Tracing.debug("At most 1 of " + b); //$NON-NLS-1$
-		}
-		dependencyHelper.atMost(1, ius).named(new Explanation.Singleton(ius));
-	}
-
-	private void createIncompatibleValues(AbstractVariable v1, AbstractVariable v2) throws ContradictionException {
-		AbstractVariable[] vars = {v1, v2};
-		if (DEBUG) {
-			StringBuffer b = new StringBuffer();
-			for (int i = 0; i < vars.length; i++) {
-				b.append(vars[i].toString());
-			}
-			Tracing.debug("At most 1 of " + b); //$NON-NLS-1$
-		}
-		dependencyHelper.atMost(1, vars).named(Explanation.OPTIONAL_REQUIREMENT);
-	}
-
-	private AbstractVariable getAbstractVariable() {
-		AbstractVariable abstractVariable = new AbstractVariable();
-		abstractVariables.add(abstractVariable);
-		return abstractVariable;
-	}
-
-	private AbstractVariable getNoOperationVariable(IInstallableUnit iu) {
-		AbstractVariable v = (AbstractVariable) noopVariables.get(iu);
-		if (v == null) {
-			v = new AbstractVariable();
-			noopVariables.put(iu, v);
-		}
-		return v;
-	}
-
-	public IStatus invokeSolver(IProgressMonitor monitor) {
-		if (result.getSeverity() == IStatus.ERROR)
-			return result;
-		// CNF filename is given on the command line
-		long start = System.currentTimeMillis();
-		if (DEBUG)
-			Tracing.debug("Invoking solver: " + start); //$NON-NLS-1$
-		try {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			if (dependencyHelper.hasASolution(assumptions)) {
-				if (DEBUG) {
-					Tracing.debug("Satisfiable !"); //$NON-NLS-1$
-				}
-				backToIU();
-				long stop = System.currentTimeMillis();
-				if (DEBUG)
-					Tracing.debug("Solver solution found: " + (stop - start)); //$NON-NLS-1$
-			} else {
-				long stop = System.currentTimeMillis();
-				if (DEBUG) {
-					Tracing.debug("Unsatisfiable !"); //$NON-NLS-1$
-					Tracing.debug("Solver solution NOT found: " + (stop - start)); //$NON-NLS-1$
-				}
-				result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Planner_Unsatisfiable_problem));
-			}
-		} catch (TimeoutException e) {
-			result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Planner_Timeout));
-		} catch (Exception e) {
-			result.merge(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Planner_Unexpected_problem, e));
-		}
-		if (DEBUG)
-			System.out.println();
-		return result;
-	}
-
-	private void backToIU() {
-		solution = new ArrayList();
-		IVec sat4jSolution = dependencyHelper.getSolution();
-		for (Iterator i = sat4jSolution.iterator(); i.hasNext();) {
-			Object var = i.next();
-			if (var instanceof IInstallableUnit) {
-				IInstallableUnit iu = (IInstallableUnit) var;
-				if (iu == entryPoint)
-					continue;
-				solution.add(iu);
-			}
-		}
-	}
-
-	private void printSolution(Collection state) {
-		ArrayList l = new ArrayList(state);
-		Collections.sort(l);
-		Tracing.debug("Solution:"); //$NON-NLS-1$
-		Tracing.debug("Numbers of IUs selected: " + l.size()); //$NON-NLS-1$
-		for (Iterator iterator = l.iterator(); iterator.hasNext();) {
-			Tracing.debug(iterator.next().toString());
-		}
-	}
-
-	public Collection extractSolution() {
-		if (DEBUG)
-			printSolution(solution);
-		return solution;
-	}
-
-	public Set getExplanation(IProgressMonitor monitor) {
-		ExplanationJob job = new ExplanationJob();
-		job.schedule();
-		monitor.setTaskName(Messages.Planner_NoSolution);
-		IProgressMonitor pm = new InfiniteProgress(monitor);
-		pm.beginTask(Messages.Planner_NoSolution, 1000);
-		try {
-			synchronized (job) {
-				while (job.getExplanationResult() == null && job.getState() != Job.NONE) {
-					if (monitor.isCanceled()) {
-						job.cancel();
-						throw new OperationCanceledException();
-					}
-					pm.worked(1);
-					try {
-						job.wait(100);
-					} catch (InterruptedException e) {
-						if (DEBUG)
-							Tracing.debug("Interrupted while computing explanations"); //$NON-NLS-1$
-					}
-				}
-			}
-		} finally {
-			monitor.done();
-		}
-		return job.getExplanationResult();
-	}
-
-	public Map getFragmentAssociation() {
-		Map resolvedFragments = new HashMap(fragments.size());
-		for (Iterator iterator = fragments.entrySet().iterator(); iterator.hasNext();) {
-			Entry fragment = (Entry) iterator.next();
-			if (!dependencyHelper.getBooleanValueFor(fragment.getKey()))
-				continue;
-			Set potentialHosts = (Set) fragment.getValue();
-			List resolvedHost = new ArrayList(potentialHosts.size());
-			for (Iterator iterator2 = potentialHosts.iterator(); iterator2.hasNext();) {
-				Object host = iterator2.next();
-				if (dependencyHelper.getBooleanValueFor(host))
-					resolvedHost.add(host);
-			}
-			if (resolvedHost.size() != 0)
-				resolvedFragments.put(fragment.getKey(), resolvedHost);
-		}
-		return resolvedFragments;
-	}
-
-	private void rememberHostMatches(IInstallableUnit fragment, List matches) {
-		Set existingMatches = (Set) fragments.get(fragment);
-		if (existingMatches == null) {
-			existingMatches = new HashSet();
-			fragments.put(fragment, existingMatches);
-			existingMatches.addAll(matches);
-		}
-		existingMatches.retainAll(matches);
-	}
-
-	private boolean isHostRequirement(IInstallableUnit iu, IRequirement req) {
-		if (!(iu instanceof IInstallableUnitFragment))
-			return false;
-		IInstallableUnitFragment fragment = (IInstallableUnitFragment) iu;
-		IRequirement[] reqs = fragment.getHost();
-		for (int i = 0; i < reqs.length; i++) {
-			if (req.equals(reqs[i]))
-				return true;
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
deleted file mode 100644
index 06fe7d5..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class QueryableArray implements IQueryable {
-	static class IUCapability {
-		final IInstallableUnit iu;
-		final IProvidedCapability capability;
-
-		public IUCapability(IInstallableUnit iu, IProvidedCapability capability) {
-			this.iu = iu;
-			this.capability = capability;
-		}
-	}
-
-	private final List dataSet;
-	private Map namedCapabilityIndex;
-
-	public QueryableArray(IInstallableUnit[] ius) {
-		dataSet = Arrays.asList(ius);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		if (query instanceof IRequiredCapability)
-			return queryCapability((IRequiredCapability) query, collector, monitor);
-		return query.perform(dataSet.iterator(), collector);
-	}
-
-	private Collector queryCapability(IRequiredCapability query, Collector collector, IProgressMonitor monitor) {
-		generateNamedCapabilityIndex();
-
-		Collection resultIUs = null;
-		Collection matchingIUs = findMatchingIUs(query);
-		if (matchingIUs == null)
-			return collector;
-		if (resultIUs == null)
-			resultIUs = matchingIUs;
-		else
-			resultIUs.retainAll(matchingIUs);
-
-		if (resultIUs != null)
-			for (Iterator iterator = resultIUs.iterator(); iterator.hasNext();)
-				collector.accept(iterator.next());
-
-		return collector;
-	}
-
-	private Collection findMatchingIUs(IRequiredCapability requiredCapability) {
-		List iuCapabilities = (List) namedCapabilityIndex.get(requiredCapability.getName());
-		if (iuCapabilities == null)
-			return null;
-
-		Set matchingIUs = new HashSet();
-		for (Iterator iterator = iuCapabilities.iterator(); iterator.hasNext();) {
-			IUCapability iuCapability = (IUCapability) iterator.next();
-			if (iuCapability.iu.satisfies(requiredCapability))
-				matchingIUs.add(iuCapability.iu);
-		}
-		return matchingIUs;
-	}
-
-	private void generateNamedCapabilityIndex() {
-		if (namedCapabilityIndex != null)
-			return;
-
-		namedCapabilityIndex = new HashMap();
-		for (Iterator iterator = dataSet.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-
-			IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities();
-			for (int i = 0; i < providedCapabilities.length; i++) {
-				String name = providedCapabilities[i].getName();
-				List iuCapabilities = (List) namedCapabilityIndex.get(name);
-				if (iuCapabilities == null) {
-					iuCapabilities = new ArrayList(5);
-					namedCapabilityIndex.put(name, iuCapabilities);
-				}
-				iuCapabilities.add(new IUCapability(iu, providedCapabilities[i]));
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
deleted file mode 100644
index 58bce1e..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimpleDirector.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleDirector implements IDirector {
-	static final int PlanWork = 10;
-	static final int EngineWork = 100;
-	private IEngine engine;
-	private IPlanner planner;
-
-	public SimpleDirector(IEngine engine, IPlanner planner) {
-		if (engine == null)
-			throw new IllegalStateException("Provisioning engine is not registered"); //$NON-NLS-1$
-		this.engine = engine;
-		if (planner == null)
-			throw new IllegalStateException("Unable to find provisioning planner"); //$NON-NLS-1$
-		this.planner = planner;
-	}
-
-	public IStatus revert(IProfile currentProfile, IProfile revertProfile, ProvisioningContext context, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.Director_Task_Updating, PlanWork + EngineWork);
-		try {
-			IProvisioningPlan plan = planner.getDiffPlan(currentProfile, revertProfile, sub.newChild(PlanWork));
-			return PlanExecutionHelper.executePlan(plan, engine, context, sub.newChild(EngineWork));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IStatus provision(ProfileChangeRequest request, ProvisioningContext context, IProgressMonitor monitor) {
-		String taskName = NLS.bind(Messages.Director_Task_Installing, request.getProfile().getProperty(IProfile.PROP_INSTALL_FOLDER));
-		SubMonitor sub = SubMonitor.convert(monitor, taskName, PlanWork + EngineWork);
-		try {
-			IInstallableUnit[] installRoots = request.getAddedInstallableUnits();
-			// mark the roots as such
-			for (int i = 0; i < installRoots.length; i++) {
-				request.setInstallableUnitProfileProperty(installRoots[i], IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-			}
-			IProvisioningPlan plan = planner.getProvisioningPlan(request, context, sub.newChild(PlanWork));
-			return PlanExecutionHelper.executePlan(plan, engine, context, sub.newChild(EngineWork));
-		} finally {
-			sub.done();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
deleted file mode 100644
index a1235bc..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java
+++ /dev/null
@@ -1,749 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- * 	Genuitec - bug fixes
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.net.URI;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.rollback.FormerState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-public class SimplePlanner implements IPlanner {
-	private static boolean DEBUG = Tracing.DEBUG_PLANNER_OPERANDS;
-
-	private static final int ExpandWork = 12;
-	private static final String INCLUDE_PROFILE_IUS = "org.eclipse.equinox.p2.internal.profileius"; //$NON-NLS-1$
-	public static final String INCLUSION_RULES = "org.eclipse.equinox.p2.internal.inclusion.rules"; //$NON-NLS-1$
-	private static final String ID_IU_FOR_ACTIONS = "org.eclipse.equinox.p2.engine.actions.root"; //$NON-NLS-1$
-	private static final String EXPLANATION = "org.eclipse.equinox.p2.director.explain"; //$NON-NLS-1$
-	private static final String CONSIDER_METAREQUIREMENTS = "org.eclipse.equinox.p2.planner.resolveMetaRequirements"; //$NON-NLS-1$
-
-	private final IMetadataRepositoryManager repoManager;
-	private final IProfileRegistry profileRegistry;
-
-	private ProvisioningPlan generateProvisioningPlan(Collection fromState, Collection toState, ProfileChangeRequest changeRequest, IProvisioningPlan installerPlan, ProvisioningContext context) {
-		InstallableUnitOperand[] iuOperands = generateOperations(fromState, toState);
-		PropertyOperand[] propertyOperands = generatePropertyOperations(changeRequest);
-
-		Operand[] operands = new Operand[iuOperands.length + propertyOperands.length];
-		System.arraycopy(iuOperands, 0, operands, 0, iuOperands.length);
-		System.arraycopy(propertyOperands, 0, operands, iuOperands.length, propertyOperands.length);
-
-		if (DEBUG) {
-			for (int i = 0; i < operands.length; i++) {
-				Tracing.debug(operands[i].toString());
-			}
-		}
-		return new ProvisioningPlan(Status.OK_STATUS, operands, computeActualChangeRequest(toState, changeRequest), null, installerPlan, changeRequest.getProfile(), new QueryableArray((IInstallableUnit[]) toState.toArray(new IInstallableUnit[toState.size()])), context);
-	}
-
-	private Map[] buildDetailedErrors(ProfileChangeRequest changeRequest) {
-		IInstallableUnit[] added = changeRequest.getAddedInstallableUnits();
-		IInstallableUnit[] removed = changeRequest.getRemovedInstallableUnits();
-		Map requestStatus = new HashMap(added.length + removed.length);
-		for (int i = 0; i < added.length; i++) {
-			requestStatus.put(added[i], new RequestStatus(added[i], RequestStatus.ADDED, IStatus.ERROR, null));
-		}
-		for (int i = 0; i < removed.length; i++) {
-			requestStatus.put(removed[i], new RequestStatus(removed[i], RequestStatus.REMOVED, IStatus.ERROR, null));
-		}
-		return new Map[] {requestStatus, null};
-	}
-
-	private Map[] computeActualChangeRequest(Collection toState, ProfileChangeRequest changeRequest) {
-		IInstallableUnit[] added = changeRequest.getAddedInstallableUnits();
-		IInstallableUnit[] removed = changeRequest.getRemovedInstallableUnits();
-		Map requestStatus = new HashMap(added.length + removed.length);
-		for (int i = 0; i < added.length; i++) {
-			if (toState.contains(added[i]))
-				requestStatus.put(added[i], new RequestStatus(added[i], RequestStatus.ADDED, IStatus.OK, null));
-			else
-				requestStatus.put(added[i], new RequestStatus(added[i], RequestStatus.ADDED, IStatus.ERROR, null));
-		}
-
-		for (int i = 0; i < removed.length; i++) {
-			if (!toState.contains(removed[i]))
-				requestStatus.put(removed[i], new RequestStatus(removed[i], RequestStatus.REMOVED, IStatus.OK, null));
-			else
-				requestStatus.put(removed[i], new RequestStatus(removed[i], RequestStatus.REMOVED, IStatus.ERROR, null));
-		}
-
-		//Compute the side effect changes (e.g. things installed optionally going away)
-		Collection includedIUs = new HashSet(changeRequest.getProfile().query(new IUProfilePropertyQuery(INCLUSION_RULES, null), null).toCollection());
-		Map sideEffectStatus = new HashMap(includedIUs.size());
-		includedIUs.removeAll(toState);
-		for (Iterator iterator = includedIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit removal = (IInstallableUnit) iterator.next();
-			if (!requestStatus.containsKey(removal))
-				sideEffectStatus.put(removal, new RequestStatus(removal, RequestStatus.REMOVED, IStatus.INFO, null));
-		}
-		return new Map[] {requestStatus, sideEffectStatus};
-	}
-
-	/**
-	 * Converts a set containing a list of resolver explanations into a human-readable status object.
-	 */
-	private IStatus convertExplanationToStatus(Set explanations) {
-		if (explanations == null)
-			return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Director_Unsatisfied_Dependencies);
-		MultiStatus root = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, Messages.Director_Unsatisfied_Dependencies, null);
-		//try to find a more specific root message if possible
-		String specificMessage = null;
-		for (Iterator it = explanations.iterator(); it.hasNext();) {
-			final Object next = it.next();
-			if (next instanceof Explanation) {
-				root.add(((Explanation) next).toStatus());
-				if (specificMessage == null && next instanceof Explanation.MissingIU)
-					specificMessage = Messages.Explanation_rootMissing;
-				else if (specificMessage == null && next instanceof Explanation.Singleton) {
-					specificMessage = Messages.Explanation_rootSingleton;
-				}
-			} else
-				root.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, next.toString()));
-		}
-		//use a more specific root message if available
-		if (specificMessage != null) {
-			MultiStatus newRoot = new MultiStatus(DirectorActivator.PI_DIRECTOR, 1, specificMessage, null);
-			newRoot.merge(root);
-			root = newRoot;
-		}
-		return root;
-	}
-
-	private PropertyOperand[] generatePropertyOperations(ProfileChangeRequest profileChangeRequest) {
-		IProfile profile = profileChangeRequest.getProfile();
-		List operands = new ArrayList();
-		// First deal with profile properties to remove.  Only generate an operand if the property was there in the first place
-		String[] toRemove = profileChangeRequest.getPropertiesToRemove();
-		Map existingProperties = profile.getProperties();
-		for (int i = 0; i < toRemove.length; i++) {
-			if (existingProperties.containsKey(toRemove[i]))
-				operands.add(new PropertyOperand(toRemove[i], existingProperties.get(toRemove[i]), null));
-		}
-		// Now deal with profile property changes/additions
-		Map propertyChanges = profileChangeRequest.getPropertiesToAdd();
-		Iterator iter = propertyChanges.entrySet().iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			operands.add(new PropertyOperand((String) entry.getKey(), existingProperties.get(entry.getKey()), entry.getValue()));
-		}
-		// Now deal with iu property changes/additions.
-		// TODO we aren't yet checking that the IU will exist in the final profile, will the engine do this?
-		Map allIUPropertyChanges = profileChangeRequest.getInstallableUnitProfilePropertiesToAdd();
-		iter = allIUPropertyChanges.entrySet().iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			IInstallableUnit iu = (IInstallableUnit) entry.getKey();
-			Map iuPropertyChanges = (Map) entry.getValue();
-			Iterator iuPropIter = iuPropertyChanges.entrySet().iterator();
-			while (iuPropIter.hasNext()) {
-				Map.Entry entry2 = (Map.Entry) iuPropIter.next();
-				Object oldValue = profile.getInstallableUnitProperty(iu, (String) entry2.getKey());
-				operands.add(new InstallableUnitPropertyOperand(iu, (String) entry2.getKey(), oldValue, entry2.getValue()));
-			}
-		}
-		// Now deal with iu property removals.
-		// TODO we could optimize by not generating property removals for IU's that aren't there or won't be there.
-		Map allIUPropertyDeletions = profileChangeRequest.getInstallableUnitProfilePropertiesToRemove();
-		iter = allIUPropertyDeletions.entrySet().iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			IInstallableUnit iu = (IInstallableUnit) entry.getKey();
-			Map existingIUProperties = profile.getInstallableUnitProperties(iu);
-			List iuPropertyRemovals = (List) entry.getValue();
-			for (Iterator it = iuPropertyRemovals.iterator(); it.hasNext();) {
-				String key = (String) it.next();
-				if (existingIUProperties.containsKey(key))
-					operands.add(new InstallableUnitPropertyOperand(iu, key, existingIUProperties.get(key), null));
-			}
-
-		}
-		return (PropertyOperand[]) operands.toArray(new PropertyOperand[operands.size()]);
-	}
-
-	private InstallableUnitOperand[] generateOperations(Collection fromState, Collection toState) {
-		return new OperationGenerator().generateOperation(fromState, toState);
-	}
-
-	public IProvisioningPlan getDiffPlan(IProfile currentProfile, IProfile targetProfile, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-		sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
-		try {
-			ProfileChangeRequest profileChangeRequest = FormerState.generateProfileDeltaChangeRequest(currentProfile, targetProfile);
-			ProvisioningContext context = new ProvisioningContext(new URI[0]);
-			if (context.getProperty(INCLUDE_PROFILE_IUS) == null)
-				context.setProperty(INCLUDE_PROFILE_IUS, Boolean.FALSE.toString());
-			context.setExtraIUs(new ArrayList(targetProfile.available(InstallableUnitQuery.ANY, null).toCollection()));
-			return getProvisioningPlan(profileChangeRequest, context, sub.newChild(ExpandWork / 2));
-		} finally {
-			sub.done();
-		}
-	}
-
-	public static IInstallableUnit[] findPlannerMarkedIUs(final IProfile profile) {
-		IQuery markerQuery = new IUProfilePropertyQuery(INCLUSION_RULES, null);
-		return (IInstallableUnit[]) profile.query(markerQuery, null).toArray(IInstallableUnit.class);
-	}
-
-	public static Dictionary createSelectionContext(Map properties) {
-		Hashtable result = new Hashtable(properties);
-		String environments = (String) properties.get(IProfile.PROP_ENVIRONMENTS);
-		if (environments == null)
-			return result;
-		for (StringTokenizer tokenizer = new StringTokenizer(environments, ","); tokenizer.hasMoreElements();) { //$NON-NLS-1$
-			String entry = tokenizer.nextToken();
-			int i = entry.indexOf('=');
-			String key = entry.substring(0, i).trim();
-			String value = entry.substring(i + 1).trim();
-			result.put(key, value);
-		}
-		return result;
-	}
-
-	private IInstallableUnit[] gatherAvailableInstallableUnits(IInstallableUnit[] additionalSource, URI[] repositories, ProvisioningContext context, IProgressMonitor monitor) {
-		Map resultsMap = new HashMap();
-		if (additionalSource != null) {
-			for (int i = 0; i < additionalSource.length; i++) {
-				String key = additionalSource[i].getId() + "_" + additionalSource[i].getVersion().toString(); //$NON-NLS-1$
-				resultsMap.put(key, additionalSource[i]);
-			}
-		}
-		if (context != null) {
-			for (Iterator iter = context.getExtraIUs().iterator(); iter.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) iter.next();
-				String key = iu.getId() + '_' + iu.getVersion().toString();
-				resultsMap.put(key, iu);
-			}
-		}
-
-		if (repositories == null)
-			repositories = repoManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-
-		SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 200);
-		for (int i = 0; i < repositories.length; i++) {
-			try {
-				if (sub.isCanceled())
-					throw new OperationCanceledException();
-
-				IMetadataRepository repository = repoManager.loadRepository(repositories[i], sub.newChild(100));
-				Collector matches = repository.query(new InstallableUnitQuery(null, VersionRange.emptyRange), sub.newChild(100));
-				for (Iterator it = matches.iterator(); it.hasNext();) {
-					IInstallableUnit iu = (IInstallableUnit) it.next();
-					String key = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
-					IInstallableUnit currentIU = (IInstallableUnit) resultsMap.get(key);
-					if (currentIU == null || hasHigherFidelity(iu, currentIU))
-						resultsMap.put(key, iu);
-				}
-			} catch (ProvisionException e) {
-				//skip unreadable repositories
-			}
-		}
-		sub.done();
-		Collection results = resultsMap.values();
-		return (IInstallableUnit[]) results.toArray(new IInstallableUnit[results.size()]);
-	}
-
-	private static boolean hasHigherFidelity(IInstallableUnit iu, IInstallableUnit currentIU) {
-		if (Boolean.valueOf(currentIU.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue() && !Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue())
-			return true;
-		return false;
-	}
-
-	public SimplePlanner(IProfileRegistry profileRegistry, IMetadataRepositoryManager repoManager) {
-		Assert.isNotNull(profileRegistry);
-		Assert.isNotNull(repoManager);
-		this.profileRegistry = profileRegistry;
-		this.repoManager = repoManager;
-	}
-
-	private boolean satisfyMetaRequirements(Map props) {
-		if (props == null)
-			return true;
-		if (props.get(CONSIDER_METAREQUIREMENTS) == null || "true".equalsIgnoreCase((String) props.get(CONSIDER_METAREQUIREMENTS))) //$NON-NLS-1$
-			return true;
-		return false;
-	}
-
-	private boolean satisfyMetaRequirements(IProfile p) {
-		return satisfyMetaRequirements(p.getProperties());
-	}
-
-	//Return the set of IUs representing the complete future state of the profile to satisfy the request or return a ProvisioningPlan when the request can not be satisfied
-	private Object getSolutionFor(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-		sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
-		try {
-			IProfile profile = profileChangeRequest.getProfile();
-
-			Object[] updatedPlan = updatePlannerInfo(profileChangeRequest, context);
-
-			URI[] metadataRepositories = (context != null) ? context.getMetadataRepositories() : null;
-			Dictionary newSelectionContext = createSelectionContext(profileChangeRequest.getProfileProperties());
-
-			List extraIUs = new ArrayList(Arrays.asList(profileChangeRequest.getAddedInstallableUnits()));
-			extraIUs.addAll(Arrays.asList(profileChangeRequest.getRemovedInstallableUnits()));
-			if (context == null || context.getProperty(INCLUDE_PROFILE_IUS) == null || context.getProperty(INCLUDE_PROFILE_IUS).equalsIgnoreCase(Boolean.TRUE.toString()))
-				extraIUs.addAll(profile.available(InstallableUnitQuery.ANY, null).toCollection());
-
-			IInstallableUnit[] availableIUs = gatherAvailableInstallableUnits((IInstallableUnit[]) extraIUs.toArray(new IInstallableUnit[extraIUs.size()]), metadataRepositories, context, sub.newChild(ExpandWork / 4));
-
-			Slicer slicer = new Slicer(new QueryableArray(availableIUs), newSelectionContext, satisfyMetaRequirements(profileChangeRequest.getProfileProperties()));
-			IQueryable slice = slicer.slice(new IInstallableUnit[] {(IInstallableUnit) updatedPlan[0]}, sub.newChild(ExpandWork / 4));
-			if (slice == null)
-				return new ProvisioningPlan(slicer.getStatus(), profile, null, context);
-			Projector projector = new Projector(slice, newSelectionContext, satisfyMetaRequirements(profileChangeRequest.getProfileProperties()));
-			projector.encode((IInstallableUnit) updatedPlan[0], (IInstallableUnit[]) updatedPlan[1], profile, profileChangeRequest.getAddedInstallableUnits(), sub.newChild(ExpandWork / 4));
-			IStatus s = projector.invokeSolver(sub.newChild(ExpandWork / 4));
-			if (s.getSeverity() == IStatus.CANCEL)
-				return new ProvisioningPlan(s, profile, null, context);
-			if (s.getSeverity() == IStatus.ERROR) {
-				sub.setTaskName(Messages.Planner_NoSolution);
-				if (context != null && !(context.getProperty(EXPLANATION) == null || Boolean.TRUE.toString().equalsIgnoreCase(context.getProperty(EXPLANATION))))
-					return new ProvisioningPlan(s, profile, null, context);
-
-				//Extract the explanation
-				Set explanation = projector.getExplanation(sub.newChild(ExpandWork / 4));
-				IStatus explanationStatus = convertExplanationToStatus(explanation);
-				return new ProvisioningPlan(explanationStatus, new Operand[0], buildDetailedErrors(profileChangeRequest), new RequestStatus(null, RequestStatus.REMOVED, IStatus.ERROR, explanation), null, profile, null, context);
-			}
-			//The resolution succeeded. We can forget about the warnings since there is a solution.
-			if (Tracing.DEBUG && s.getSeverity() != IStatus.OK)
-				LogHelper.log(s);
-			s = Status.OK_STATUS;
-
-			return projector;
-		} finally {
-			sub.done();
-		}
-	}
-
-	public IProvisioningPlan getProvisioningPlan(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-		sub.setTaskName(Messages.Director_Task_Resolving_Dependencies);
-		try {
-			//Get the solution for the initial request
-			Object resolutionResult = getSolutionFor(profileChangeRequest, context, sub.newChild(ExpandWork / 2));
-			if (resolutionResult instanceof IProvisioningPlan)
-				return (ProvisioningPlan) resolutionResult;
-
-			Collection newState = ((Projector) resolutionResult).extractSolution();
-			Collection fullState = new ArrayList();
-			fullState.addAll(newState);
-			newState = AttachmentHelper.attachFragments(newState, ((Projector) resolutionResult).getFragmentAssociation());
-
-			ProvisioningPlan temporaryPlan = generatePlan((Projector) resolutionResult, newState, profileChangeRequest, context);
-
-			//Create a plan for installing necessary pieces to complete the installation (e.g touchpoint actions)
-			return createInstallerPlan(profileChangeRequest.getProfile(), profileChangeRequest, fullState, newState, temporaryPlan, context, sub.newChild(ExpandWork / 2));
-		} catch (OperationCanceledException e) {
-			return new ProvisioningPlan(Status.CANCEL_STATUS, profileChangeRequest.getProfile(), null, context);
-		} finally {
-			sub.done();
-		}
-	}
-
-	//Verify that all the meta requirements necessary to perform the uninstallation (if necessary) and all t
-	private Collection areMetaRequirementsSatisfied(IProfile oldProfile, Collection newProfile, IProvisioningPlan initialPlan) {
-		Collection allMetaRequirements = extractMetaRequirements(newProfile, initialPlan);
-		for (Iterator iterator = allMetaRequirements.iterator(); iterator.hasNext();) {
-			IRequirement requirement = (IRequirement) iterator.next();
-			if (oldProfile.query(new LimitQuery(requirement.getMatches(), 1), null).isEmpty())
-				return allMetaRequirements;
-		}
-		return null;
-	}
-
-	//Return all the meta requirements for the list of IU specified and all the meta requirements listed necessary to satisfy the uninstallation 
-	private Collection extractMetaRequirements(Collection ius, IProvisioningPlan plan) {
-		Set allMetaRequirements = new HashSet();
-		for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			IRequirement[] reqs = iu.getMetaRequiredCapabilities();
-			for (int i = 0; i < reqs.length; i++) {
-				allMetaRequirements.add(reqs[i]);
-			}
-		}
-		Collector c2 = plan.getRemovals().query(InstallableUnitQuery.ANY, null);
-		for (Iterator iterator = c2.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			IRequirement[] reqs = iu.getMetaRequiredCapabilities();
-			for (int i = 0; i < reqs.length; i++) {
-				allMetaRequirements.add(reqs[i]);
-			}
-		}
-		return allMetaRequirements;
-	}
-
-	private ProvisioningPlan createInstallerPlan(IProfile profile, ProfileChangeRequest initialRequest, Collection unattachedState, Collection expectedState, ProvisioningPlan initialPlan, ProvisioningContext initialContext, IProgressMonitor monitor) {
-		SubMonitor sub = SubMonitor.convert(monitor, ExpandWork);
-
-		try {
-			sub.setTaskName(Messages.Director_Task_installer_plan);
-			if (profileRegistry == null)
-				return new ProvisioningPlan(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Planner_no_profile_registry), profile, null, initialContext);
-
-			IProfile agentProfile = profileRegistry.getProfile(IProfileRegistry.SELF);
-			if (agentProfile == null)
-				return initialPlan;
-
-			if (profile.getProfileId().equals(agentProfile.getProfileId())) {
-				if (profile.getTimestamp() != agentProfile.getTimestamp())
-					return new ProvisioningPlan(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_profile_out_of_sync, profile.getProfileId())), profile, null, initialContext);
-				return createInstallerPlanForCohostedCase(profile, initialRequest, initialPlan, unattachedState, expectedState, initialContext, sub);
-			}
-
-			if (satisfyMetaRequirements(profile) && !profile.getProfileId().equals(agentProfile.getProfileId())) {
-				return createInstallerPlanForCohostedCaseFromExternalInstaller(profile, initialRequest, initialPlan, expectedState, initialContext, agentProfile, sub);
-			}
-			return createInstallerPlanForExternalInstaller(profile, initialRequest, initialPlan, expectedState, initialContext, agentProfile, sub);
-		} finally {
-			sub.done();
-		}
-	}
-
-	private ProvisioningPlan createInstallerPlanForCohostedCaseFromExternalInstaller(IProfile profile, ProfileChangeRequest initialRequest, IProvisioningPlan initialPlan, Collection newState, ProvisioningContext initialContext, IProfile agentProfile, SubMonitor sub) {
-		ProvisioningPlan planForProfile = generatePlan(null, newState, initialRequest, initialContext);
-		return createInstallerPlanForExternalInstaller(profile, initialRequest, planForProfile, newState, initialContext, agentProfile, sub);
-	}
-
-	//Deal with the case where the agent profile is different than the one being provisioned
-	private ProvisioningPlan createInstallerPlanForExternalInstaller(IProfile targetedProfile, ProfileChangeRequest initialRequest, ProvisioningPlan initialPlan, Collection expectedState, ProvisioningContext initialContext, IProfile agentProfile, SubMonitor sub) {
-		Collection metaRequirements = areMetaRequirementsSatisfied(agentProfile, expectedState, initialPlan);
-		if (metaRequirements == null)
-			return initialPlan;
-
-		IInstallableUnit actionsIU = createIUForMetaRequirements(targetedProfile, metaRequirements);
-		IInstallableUnit previousActionsIU = getPreviousIUForMetaRequirements(agentProfile, getActionGatheringIUId(targetedProfile), sub);
-
-		ProfileChangeRequest agentRequest = new ProfileChangeRequest(agentProfile);
-		agentRequest.addInstallableUnits(new IInstallableUnit[] {actionsIU});
-		if (previousActionsIU != null)
-			agentRequest.removeInstallableUnits(new IInstallableUnit[] {previousActionsIU});
-		Object externalInstallerPlan = getSolutionFor(agentRequest, initialContext, sub.newChild(10));
-		if (externalInstallerPlan instanceof IProvisioningPlan && ((IProvisioningPlan) externalInstallerPlan).getStatus().getSeverity() == IStatus.ERROR) {
-			MultiStatus externalInstallerStatus = new MultiStatus(DirectorActivator.PI_DIRECTOR, 0, Messages.Planner_can_not_install_preq, null);
-			externalInstallerStatus.add(((IProvisioningPlan) externalInstallerPlan).getStatus());
-			return new ProvisioningPlan(externalInstallerStatus, initialRequest.getProfile(), new ProvisioningPlan(externalInstallerStatus, agentProfile, null, initialContext), initialContext);
-		}
-
-		initialPlan.setInstallerPlan(generatePlan((Projector) externalInstallerPlan, null, agentRequest, initialContext));
-		return initialPlan;
-	}
-
-	//Deal with the case where the actions needs to be installed in the same profile than the one we are performing the initial request
-	//The expectedState represents the result of the initialRequest where the metaRequirements have been satisfied.
-	private ProvisioningPlan createInstallerPlanForCohostedCase(IProfile profile, ProfileChangeRequest initialRequest, ProvisioningPlan initialPlan, Collection unattachedState, Collection expectedState, ProvisioningContext initialContext, SubMonitor monitor) {
-		Collection metaRequirements = initialRequest.getRemovedInstallableUnits().length == 0 ? areMetaRequirementsSatisfied(profile, expectedState, initialPlan) : extractMetaRequirements(expectedState, initialPlan);
-		if (metaRequirements == null || metaRequirements.isEmpty())
-			return initialPlan;
-
-		//Let's compute a plan that satisfy all the metaRequirements. We limit ourselves to only the IUs that were part of the previous solution.
-		IInstallableUnit metaRequirementIU = createIUForMetaRequirements(profile, metaRequirements);
-		IInstallableUnit previousMetaRequirementIU = getPreviousIUForMetaRequirements(profile, getActionGatheringIUId(profile), monitor);
-
-		//Create an agent request from the initial request
-		ProfileChangeRequest agentRequest = new ProfileChangeRequest(profile);
-		for (Iterator it = initialRequest.getPropertiesToAdd().entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			agentRequest.setProfileProperty((String) entry.getKey(), entry.getValue());
-		}
-		String[] removedProperties = initialRequest.getPropertiesToRemove();
-		for (int i = 0; i < removedProperties.length; i++) {
-			agentRequest.removeProfileProperty(removedProperties[i]);
-		}
-		Map removedIUProperties = initialRequest.getInstallableUnitProfilePropertiesToRemove();
-		for (Iterator iterator = removedIUProperties.entrySet().iterator(); iterator.hasNext();) {
-			Entry entry = (Entry) iterator.next();
-			ArrayList value = (ArrayList) entry.getValue();
-			for (Iterator iterator2 = value.iterator(); iterator2.hasNext();) {
-				agentRequest.removeInstallableUnitProfileProperty((IInstallableUnit) entry.getKey(), (String) iterator2.next());
-			}
-		}
-
-		if (previousMetaRequirementIU != null)
-			agentRequest.removeInstallableUnits(new IInstallableUnit[] {previousMetaRequirementIU});
-		agentRequest.addInstallableUnits(new IInstallableUnit[] {metaRequirementIU});
-
-		ProvisioningContext agentCtx = new ProvisioningContext(new URI[0]);
-		ArrayList extraIUs = new ArrayList(unattachedState);
-		agentCtx.setExtraIUs(extraIUs);
-		Object agentSolution = getSolutionFor(agentRequest, agentCtx, monitor.newChild(3));
-		if (agentSolution instanceof IProvisioningPlan && ((IProvisioningPlan) agentSolution).getStatus().getSeverity() == IStatus.ERROR) {
-			MultiStatus agentStatus = new MultiStatus(DirectorActivator.PI_DIRECTOR, 0, Messages.Planner_actions_and_software_incompatible, null);
-			agentStatus.add(((IProvisioningPlan) agentSolution).getStatus());
-			return new ProvisioningPlan(agentStatus, initialRequest.getProfile(), new ProvisioningPlan(agentStatus, agentRequest.getProfile(), null, initialContext), initialContext);
-		}
-
-		//Compute the installer plan. It is the difference between what is currently in the profile and the solution we just computed
-		Collection agentState = ((Projector) agentSolution).extractSolution();
-		agentState.remove(metaRequirementIU); //Remove the fake IU
-		agentState = AttachmentHelper.attachFragments(agentState, ((Projector) agentSolution).getFragmentAssociation());
-
-		ProvisioningContext noRepoContext = createNoRepoContext(initialRequest);
-		//...This computes the attachment of what is currently in the profile 
-		Object initialSolution = getSolutionFor(new ProfileChangeRequest(new EverythingOptionalProfile(initialRequest.getProfile())), noRepoContext, new NullProgressMonitor());
-		if (initialSolution instanceof IProvisioningPlan) {
-			LogHelper.log(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, "The resolution of the previous state contained in profile " + initialRequest.getProfile().getProfileId() + " version " + initialRequest.getProfile().getTimestamp() + " failed.")); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-			return (ProvisioningPlan) initialSolution;
-		}
-		Collection initialState = initialRequest.getProfile().query(InstallableUnitQuery.ANY, null).toCollection();
-		initialState = AttachmentHelper.attachFragments(initialState, ((Projector) initialSolution).getFragmentAssociation());
-
-		IProvisioningPlan agentPlan = generateProvisioningPlan(initialState, agentState, initialRequest, null, initialContext);
-
-		//Compute the installation plan. It is the difference between the state after the installer plan has run and the expectedState.
-		return generateProvisioningPlan(agentState, expectedState, initialRequest, agentPlan, initialContext);
-	}
-
-	//Compute the set of operands based on the solution obtained previously
-	private ProvisioningPlan generatePlan(Projector newSolution, Collection newState, ProfileChangeRequest request, ProvisioningContext context) {
-		//Compute the attachment of the new state if not provided
-		if (newState == null) {
-			newState = newSolution.extractSolution();
-			newState = AttachmentHelper.attachFragments(newState, newSolution.getFragmentAssociation());
-		}
-		ProvisioningContext noRepoContext = createNoRepoContext(request);
-
-		//Compute the attachment of the previous state
-		Object initialSolution = getSolutionFor(new ProfileChangeRequest(new EverythingOptionalProfile(request.getProfile())), noRepoContext, new NullProgressMonitor());
-		if (initialSolution instanceof IProvisioningPlan) {
-			LogHelper.log(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, "The resolution of the previous state contained in profile " + request.getProfile().getProfileId() + " version " + request.getProfile().getTimestamp() + " failed.")); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-			return (ProvisioningPlan) initialSolution;
-		}
-		Collection initialState = request.getProfile().query(InstallableUnitQuery.ANY, null).toCollection();
-		initialState = AttachmentHelper.attachFragments(initialState, ((Projector) initialSolution).getFragmentAssociation());
-
-		//Generate the plan
-		return generateProvisioningPlan(initialState, newState, request, null, context);
-	}
-
-	private ProvisioningContext createNoRepoContext(ProfileChangeRequest request) {
-		ProvisioningContext noRepoContext = new ProvisioningContext(new URI[0]);
-		noRepoContext.setArtifactRepositories(new URI[0]);
-		noRepoContext.setProperty(INCLUDE_PROFILE_IUS, Boolean.FALSE.toString());
-		ArrayList extraIUs = new ArrayList();
-		extraIUs.addAll(request.getProfile().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).toCollection());
-		noRepoContext.setExtraIUs(extraIUs);
-		return noRepoContext;
-	}
-
-	private IInstallableUnit getPreviousIUForMetaRequirements(IProfile profile, String iuId, IProgressMonitor monitor) {
-		Collector c = profile.query(new InstallableUnitQuery(iuId), monitor);
-		if (c.size() == 0)
-			return null;
-		return (IInstallableUnit) c.toArray(IInstallableUnit.class)[0];
-	}
-
-	private String getActionGatheringIUId(IProfile profile) {
-		return ID_IU_FOR_ACTIONS + '.' + profile.getProfileId();
-	}
-
-	private IInstallableUnit createIUForMetaRequirements(IProfile profile, Collection metaRequirements) {
-		InstallableUnitDescription description = new InstallableUnitDescription();
-		String id = getActionGatheringIUId(profile);
-		description.setId(id);
-		Version version = Version.createOSGi(1, 0, 0, Long.toString(profile.getTimestamp()));
-		description.setVersion(version);
-		description.addRequiredCapabilities(metaRequirements);
-
-		ArrayList providedCapabilities = new ArrayList();
-		IProvidedCapability providedCapability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, id, version);
-		providedCapabilities.add(providedCapability);
-		description.addProvidedCapabilities(providedCapabilities);
-
-		IInstallableUnit actionsIU = MetadataFactory.createInstallableUnit(description);
-		return actionsIU;
-	}
-
-	private IInstallableUnit createIURepresentingTheProfile(ArrayList allRequirements) {
-		InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		String time = Long.toString(System.currentTimeMillis());
-		iud.setId(time);
-		iud.setVersion(Version.createOSGi(0, 0, 0, time));
-		iud.setRequiredCapabilities((IRequirement[]) allRequirements.toArray(new IRequirement[allRequirements.size()]));
-		return MetadataFactory.createInstallableUnit(iud);
-	}
-
-	//The planner uses installable unit properties to keep track of what it has been asked to install. This updates this information
-	//It returns at index 0 a meta IU representing everything that needs to be installed
-	//It returns at index 1 all the IUs that are in the profile after the removal have been done, but before the addition have been done 
-	private Object[] updatePlannerInfo(ProfileChangeRequest profileChangeRequest, ProvisioningContext context) {
-		Collection includedIUs = profileChangeRequest.getProfile().query(new IUProfilePropertyQuery(INCLUSION_RULES, null), null).toCollection();
-		Collection alreadyInstalled = new HashSet(includedIUs);
-
-		IInstallableUnit[] added = profileChangeRequest.getAddedInstallableUnits();
-		IInstallableUnit[] removed = profileChangeRequest.getRemovedInstallableUnits();
-
-		for (Iterator iterator = profileChangeRequest.getInstallableUnitProfilePropertiesToRemove().entrySet().iterator(); iterator.hasNext();) {
-			Map.Entry object = (Map.Entry) iterator.next();
-			if (((List) object.getValue()).contains(INCLUSION_RULES))
-				profileChangeRequest.setInstallableUnitProfileProperty((IInstallableUnit) object.getKey(), INCLUSION_RULES, PlannerHelper.createStrictInclusionRule((IInstallableUnit) object.getKey()));
-		}
-		//Remove the iu properties associated to the ius removed and the iu properties being removed as well
-		if (removed.length != 0) {
-			for (Iterator iterator = alreadyInstalled.iterator(); iterator.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) iterator.next();
-				for (int i = 0; i < removed.length; i++) {
-					if (iu.equals(removed[i])) {
-						profileChangeRequest.removeInstallableUnitProfileProperty(removed[i], INCLUSION_RULES);
-						iterator.remove();
-						break;
-					}
-				}
-			}
-		}
-		ArrayList gatheredRequirements = new ArrayList();
-
-		//Process all the IUs being added
-		Map iuPropertiesToAdd = profileChangeRequest.getInstallableUnitProfilePropertiesToAdd();
-		for (int i = 0; i < added.length; i++) {
-			Map propertiesForIU = (Map) iuPropertiesToAdd.get(added[i]);
-			IRequirement profileRequirement = null;
-			if (propertiesForIU != null) {
-				profileRequirement = createRequirement(added[i], (String) propertiesForIU.get(INCLUSION_RULES));
-			}
-			if (profileRequirement == null) {
-				profileChangeRequest.setInstallableUnitProfileProperty(added[i], INCLUSION_RULES, PlannerHelper.createStrictInclusionRule(added[i]));
-				profileRequirement = createStrictRequirement(added[i]);
-			}
-			gatheredRequirements.add(profileRequirement);
-		}
-
-		//Process the IUs that were already there
-		for (Iterator iterator = alreadyInstalled.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			Map propertiesForIU = (Map) iuPropertiesToAdd.get(iu);
-			IRequirement profileRequirement = null;
-			//Test if the value has changed
-			if (propertiesForIU != null) {
-				profileRequirement = createRequirement(iu, (String) propertiesForIU.get(INCLUSION_RULES));
-			}
-			if (profileRequirement == null) {
-				profileRequirement = createRequirement(iu, profileChangeRequest.getProfile().getInstallableUnitProperty(iu, INCLUSION_RULES));
-			}
-			gatheredRequirements.add(profileRequirement);
-		}
-
-		//Now add any other requirement that we need to see satisfied
-		if (context != null && context.getAdditionalRequirements() != null)
-			gatheredRequirements.addAll(context.getAdditionalRequirements());
-		return new Object[] {createIURepresentingTheProfile(gatheredRequirements), (IInstallableUnit[]) alreadyInstalled.toArray(new IInstallableUnit[alreadyInstalled.size()])};
-	}
-
-	private IRequirement createRequirement(IInstallableUnit iu, String rule) {
-		if (rule == null)
-			return null;
-		if (rule.equals(PlannerHelper.createStrictInclusionRule(iu))) {
-			return createStrictRequirement(iu);
-		}
-		if (rule.equals(PlannerHelper.createOptionalInclusionRule(iu))) {
-			return createOptionalRequirement(iu);
-		}
-		return null;
-	}
-
-	private IRequirement createOptionalRequirement(IInstallableUnit iu) {
-		return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, true, false, true);
-	}
-
-	private IRequirement createStrictRequirement(IInstallableUnit iu) {
-		return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, false, false, true);
-	}
-
-	public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate, ProvisioningContext context, IProgressMonitor monitor) {
-		Map resultsMap = new HashMap();
-
-		URI[] repositories = context.getMetadataRepositories();
-		if (repositories == null)
-			repositories = repoManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-
-		SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 200);
-		for (int i = 0; i < repositories.length; i++) {
-			try {
-				if (sub.isCanceled())
-					throw new OperationCanceledException();
-				IMetadataRepository repository = repoManager.loadRepository(repositories[i], sub.newChild(100));
-				Collector matches = repository.query(new UpdateQuery(toUpdate), sub.newChild(100));
-				for (Iterator it = matches.iterator(); it.hasNext();) {
-					IInstallableUnit iu = (IInstallableUnit) it.next();
-					String key = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
-					IInstallableUnit currentIU = (IInstallableUnit) resultsMap.get(key);
-					if (currentIU == null || hasHigherFidelity(iu, currentIU))
-						resultsMap.put(key, iu);
-				}
-			} catch (ProvisionException e) {
-				//skip unreadable repositories
-			}
-		}
-		sub.done();
-		Collection results = resultsMap.values();
-		return (IInstallableUnit[]) results.toArray(new IInstallableUnit[results.size()]);
-	}
-
-	//helper class to trick the resolver to believe that everything is optional
-	private static class EverythingOptionalProfile implements IProfile {
-		private IProfile profile;
-
-		public EverythingOptionalProfile(IProfile p) {
-			profile = p;
-		}
-
-		public Collector available(IQuery query, IProgressMonitor monitor) {
-			return profile.available(query, monitor);
-		}
-
-		public Map getInstallableUnitProperties(IInstallableUnit iu) {
-			return profile.getInstallableUnitProperties(iu);
-		}
-
-		public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
-			if (INCLUSION_RULES.equals(key))
-				return PlannerHelper.createOptionalInclusionRule(iu);
-			return profile.getInstallableUnitProperty(iu, key);
-		}
-
-		public String getProfileId() {
-			return profile.getProfileId();
-		}
-
-		public Map getProperties() {
-			return profile.getProperties();
-		}
-
-		public String getProperty(String key) {
-			return profile.getProperty(key);
-		}
-
-		public long getTimestamp() {
-			return profile.getTimestamp();
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			return profile.query(query, monitor);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
deleted file mode 100644
index aca6105..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.InvalidSyntaxException;
-
-public class Slicer {
-	private static boolean DEBUG = false;
-	private IQueryable possibilites;
-
-	private LinkedList toProcess;
-	private Set considered; //IUs to add to the slice
-	private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
-	protected Dictionary selectionContext;
-	private MultiStatus result;
-
-	private boolean considerMetaRequirements = false;
-
-	public Slicer(IQueryable input, Dictionary context, boolean considerMetaRequirements) {
-		possibilites = input;
-		slice = new TwoTierMap();
-		selectionContext = context;
-		result = new MultiStatus(DirectorActivator.PI_DIRECTOR, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
-		this.considerMetaRequirements = considerMetaRequirements;
-	}
-
-	public IQueryable slice(IInstallableUnit[] ius, IProgressMonitor monitor) {
-		try {
-			long start = 0;
-			if (DEBUG) {
-				start = System.currentTimeMillis();
-				System.out.println("Start slicing: " + start); //$NON-NLS-1$
-			}
-
-			validateInput(ius);
-			considered = new HashSet(Arrays.asList(ius));
-			toProcess = new LinkedList(considered);
-			while (!toProcess.isEmpty()) {
-				if (monitor.isCanceled()) {
-					result.merge(Status.CANCEL_STATUS);
-					throw new OperationCanceledException();
-				}
-				processIU((IInstallableUnit) toProcess.removeFirst());
-			}
-			if (DEBUG) {
-				long stop = System.currentTimeMillis();
-				System.out.println("Slicing complete: " + (stop - start)); //$NON-NLS-1$
-			}
-		} catch (IllegalStateException e) {
-			result.add(new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, e.getMessage(), e));
-		}
-		if (Tracing.DEBUG && result.getSeverity() != IStatus.OK)
-			LogHelper.log(result);
-		if (result.getSeverity() == IStatus.ERROR)
-			return null;
-		return new QueryableArray((IInstallableUnit[]) considered.toArray(new IInstallableUnit[considered.size()]));
-	}
-
-	public MultiStatus getStatus() {
-		return result;
-	}
-
-	//This is a shortcut to simplify the error reporting when the filter of the ius we are being asked to install does not pass
-	private void validateInput(IInstallableUnit[] ius) {
-		for (int i = 0; i < ius.length; i++) {
-			if (!isApplicable(ius[i]))
-				throw new IllegalStateException("The IU " + ius[i] + " can't be installed in this environment because its filter does not match."); //$NON-NLS-1$//$NON-NLS-2$
-		}
-	}
-
-	// Check whether the requirement is applicable
-	protected boolean isApplicable(IRequirement req) {
-		IQuery filter = req.getFilter();
-		if (filter == null)
-			return true;
-		if (filter instanceof LDAPQuery)
-			try {
-				return DirectorActivator.context.createFilter(((LDAPQuery) filter).getFilter()).match(selectionContext);
-			} catch (InvalidSyntaxException e) {
-				return false;
-			}
-		throw new IllegalArgumentException();
-	}
-
-	protected boolean isApplicable(IInstallableUnit iu) {
-		LDAPQuery enablementFilter = (LDAPQuery) iu.getFilter();
-		if (enablementFilter == null)
-			return true;
-		try {
-			return DirectorActivator.context.createFilter(enablementFilter.getFilter()).match(selectionContext);
-		} catch (InvalidSyntaxException e) {
-			return false;
-		}
-	}
-
-	protected void processIU(IInstallableUnit iu) {
-		iu = iu.unresolved();
-
-		slice.put(iu.getId(), iu.getVersion(), iu);
-		if (!isApplicable(iu)) {
-			return;
-		}
-
-		IRequirement[] reqs = getRequiredCapabilities(iu);
-		if (reqs.length == 0) {
-			return;
-		}
-		for (int i = 0; i < reqs.length; i++) {
-			if (!isApplicable(reqs[i]))
-				continue;
-
-			if (!isGreedy(reqs[i])) {
-				continue;
-			}
-
-			expandRequirement(iu, reqs[i]);
-		}
-	}
-
-	protected boolean isGreedy(IRequirement req) {
-		return req.isGreedy();
-	}
-
-	private IRequirement[] getRequiredCapabilities(IInstallableUnit iu) {
-		if (!(iu instanceof IInstallableUnitPatch)) {
-			if (iu.getMetaRequiredCapabilities().length == 0 || considerMetaRequirements == false)
-				return iu.getRequiredCapabilities();
-			IRequirement[] aggregatedCapabilities = new IRequirement[iu.getRequiredCapabilities().length + iu.getMetaRequiredCapabilities().length];
-			System.arraycopy(iu.getRequiredCapabilities(), 0, aggregatedCapabilities, 0, iu.getRequiredCapabilities().length);
-			System.arraycopy(iu.getMetaRequiredCapabilities(), 0, aggregatedCapabilities, iu.getRequiredCapabilities().length, iu.getMetaRequiredCapabilities().length);
-			return aggregatedCapabilities;
-		}
-		IRequirement[] aggregatedCapabilities;
-		IInstallableUnitPatch patchIU = (IInstallableUnitPatch) iu;
-		IRequirementChange[] changes = patchIU.getRequirementsChange();
-		int initialRequirementCount = iu.getRequiredCapabilities().length;
-		aggregatedCapabilities = new IRequirement[initialRequirementCount + changes.length];
-		System.arraycopy(iu.getRequiredCapabilities(), 0, aggregatedCapabilities, 0, initialRequirementCount);
-		for (int i = 0; i < changes.length; i++) {
-			aggregatedCapabilities[initialRequirementCount++] = changes[i].newValue();
-		}
-		return aggregatedCapabilities;
-	}
-
-	private void expandRequirement(IInstallableUnit iu, IRequirement req) {
-		if (req.getMax() == 0)
-			return;
-		Collector matches = possibilites.query(req.getMatches(), null);
-		int validMatches = 0;
-		for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-			IInstallableUnit match = (IInstallableUnit) iterator.next();
-			if (!isApplicable(match))
-				continue;
-			validMatches++;
-			if (!slice.containsKey(match.getId(), match.getVersion()))
-				consider(match);
-		}
-
-		if (validMatches == 0) {
-			if (req.getMin() == 0) {
-				if (DEBUG)
-					System.out.println("No IU found to satisfy optional dependency of " + iu + " on req " + req); //$NON-NLS-1$//$NON-NLS-2$
-			} else {
-				result.add(new Status(IStatus.WARNING, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
-			}
-		}
-	}
-
-	private void consider(IInstallableUnit match) {
-		if (considered.add(match))
-			toProcess.addLast(match);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
deleted file mode 100644
index 84ba95c..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/TwoTierMap.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.director;
-
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.*;
-
-/**
- * The purpose of this class is to provide a two-tier map.
- * MapOf(key1 => MapOf(key2 => value)).
- * Even though this class implements Map the behavior of
- * the methods aren't exactly the same as that of a real
- * Map - especially, entrySet(), keySet() etc. works off
- * the outer map while values() returns all the values of
- * all the inner maps.
- */
-public class TwoTierMap implements Map, Serializable {
-
-	private static final long serialVersionUID = 362497720873186265L;
-
-	private Map outerMap;
-	private int policy;
-
-	public static final int POLICY_NONE = 0, POLICY_BOTH_MAPS_PRESERVE_ORDERING = 1 << 0, POLICY_INNER_MAP_PRESERVE_EXISTING = 1 << 1, POLICY_INNER_MAP_SORTED_ASCENDING = 1 << 2, POLICY_INNER_MAP_SORTED_DESCENDING = 1 << 3, POLICY_INNER_MAP_ENSURE_SINGLETON = 1 << 4;
-
-	private static final int POLICY_INNER_MAP_SORTED_MASK = POLICY_INNER_MAP_SORTED_ASCENDING | POLICY_INNER_MAP_SORTED_DESCENDING;
-
-	public TwoTierMap() {
-		this(8, POLICY_NONE);
-	}
-
-	public TwoTierMap(int initialCapacity) {
-		this(initialCapacity, POLICY_NONE);
-	}
-
-	/**
-	 * Creates a two-tier map with the specified
-	 * initialCapacity and policy. The policy determines
-	 * whether the outer map is ordered, inner map is
-	 * sorted, clobber values of inner map etc.
-	 */
-	public TwoTierMap(int initialCapacity, int policy) {
-		this.policy = policy;
-		this.outerMap = shouldUseOrderedMap() ? new LinkedHashMap(initialCapacity) : new HashMap(initialCapacity);
-	}
-
-	/**
-	 * Insert the value with key key1 into the inner map 
-	 * that is obtained from the outer map with key key2.
-	 * If you have set POLICY_INNER_MAP_PRESERVE_EXISTING
-	 * at the time of creating this, it will not overwrite
-	 * if there is already a non-null value at key2. 
-	 * The other POLICY_INNER_MAP_* policies determine 
-	 * what kind of inner map is created.
-	 * @param key1 The key for outer map.
-	 * @param key2 The key for inner map.
-	 * @param value The value.
-	 * @return Existing value if any, otherwise null.
-	 */
-	public Object put(Object key1, Object key2, Object value) {
-		Map innerMap = (Map) this.outerMap.get(key1);
-		if (innerMap == null) {
-			if (shouldUseSingletonInnerMap()) {
-				this.outerMap.put(key1, Collections.singletonMap(key2, value));
-				return null;
-			}
-			innerMap = createInnerMap();
-			this.outerMap.put(key1, innerMap);
-		}
-		// It is faster to check for already existing entry 
-		// this way instead of containsKey() check. Of course,
-		// this will prevent us from recognizing a null entry, 
-		// which I think shouldn't be a problem.
-		Object existing = innerMap.put(key2, value);
-		if (existing != null && shouldPreserveExisting()) {
-			innerMap.put(key2, existing);
-		}
-		return existing;
-	}
-
-	/**
-	 * Get the object stored in the inner map using key2
-	 * as key where the inner map is obtained from the 
-	 * outer map using key1.
-	 * @param key1 The key for outer map.
-	 * @param key2 The key for inner map.
-	 * @return The object for key2 in inner map for key1 
-	 * in the outer map. 
-	 */
-	public Object get(Object key1, Object key2) {
-		if (key1 == null || key2 == null)
-			return getAll(key1);
-		Map innerMap = (Map) this.outerMap.get(key1);
-		Object value = innerMap == null ? null : innerMap.get(key2);
-		return value;
-	}
-
-	/**
-	 * Get all the values in the inner map for key1 in
-	 * the outer map.
-	 * @param key1 The key for outer map.
-	 * @return Collection of values in the inner map.
-	 */
-	public Collection getAll(Object key1) {
-		if (key1 == null)
-			// return all
-			return values();
-		Map innerMap = (Map) this.outerMap.get(key1);
-		return innerMap == null ? Collections.EMPTY_LIST : Collections.unmodifiableCollection(innerMap.values());
-
-	}
-
-	public Object remove(Object key1, Object key2) {
-		if (key1 == null || key2 == null)
-			return removeAll(key1);
-		Map innerMap = (Map) this.outerMap.get(key1);
-		if (innerMap == null)
-			return null;
-		if (shouldUseSingletonInnerMap()) {
-			Object result = innerMap.get(key2);
-			if (result != null) {
-				this.outerMap.remove(key1);
-			}
-			return result;
-		}
-		Object result = innerMap.remove(key2);
-		if (result != null && innerMap.isEmpty()) {
-			this.outerMap.remove(key1);
-		}
-		return result;
-	}
-
-	public Collection removeAll(Object key1) {
-		if (key1 == null)
-			return Collections.EMPTY_LIST;
-		Map innerMap = (Map) this.outerMap.remove(key1);
-		return innerMap == null ? Collections.EMPTY_LIST : innerMap.values();
-	}
-
-	/**
-	 * Determine whether there exists a valid object for
-	 * key2 in the inner map for key1 in the outer map.
-	 * @param key1 The key for outer map.
-	 * @param key2 The key for inner map.
-	 * @return true if a non-null object exists; otherwise
-	 * false.
-	 */
-	public boolean containsKey(Object key1, Object key2) {
-		if (key1 == null)
-			return false;
-		if (key2 == null)
-			return containsKey(key1);
-		return get(key1, key2) != null;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#clear()
-	 */
-	public void clear() {
-		this.outerMap.clear();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#containsKey(java.lang.Object)
-	 */
-	public boolean containsKey(Object key) {
-		return this.outerMap.containsKey(key);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#containsValue(java.lang.Object)
-	 */
-	public boolean containsValue(Object value) {
-		for (Iterator it = entrySet().iterator(); it.hasNext();) {
-			Map.Entry entry = (Map.Entry) it.next();
-			Map innerMap = (Map) entry.getValue();
-			if (innerMap.containsValue(value))
-				return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#size()
-	 */
-	public int size() {
-		return this.outerMap.size();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#isEmpty()
-	 */
-	public boolean isEmpty() {
-		return this.size() == 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#entrySet()
-	 */
-	public Set entrySet() {
-		return Collections.unmodifiableSet(this.outerMap.entrySet());
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#values()
-	 */
-	public Collection values() {
-		ArrayList result = new ArrayList(size());
-		for (Iterator it = this.outerMap.keySet().iterator(); it.hasNext();) {
-			Object key = it.next();
-			// A null key will cause infinite recursion!
-			if (key != null) {
-				result.addAll(getAll(key));
-			}
-		}
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#get(java.lang.Object)
-	 */
-	public Object get(Object key) {
-		if (key instanceof Object[]) {
-			Object[] keys = (Object[]) key;
-			return get(keys[0], keys[1]);
-		} else
-			return getAll(key);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#keySet()
-	 */
-	public Set keySet() {
-		return Collections.unmodifiableSet(this.outerMap.keySet());
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#put(java.lang.Object, java.lang.Object)
-	 */
-	public Object put(Object key, Object value) {
-		if (key instanceof Object[]) {
-			Object[] keys = (Object[]) key;
-			return put(keys[0], keys[1], value);
-		}
-		throw new IllegalArgumentException("First arg should be an array!"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#putAll(java.util.Map)
-	 */
-	public void putAll(Map t) {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Map#remove(java.lang.Object)
-	 */
-	public Object remove(Object key) {
-		if (key instanceof Object[]) {
-			Object[] keys = (Object[]) key;
-			return remove(keys[0], keys[1]);
-		} else
-			return removeAll(key);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		if (this.outerMap.isEmpty()) {
-			sb.append("  (Empty)"); //$NON-NLS-1$
-		} else {
-			for (Iterator it = this.outerMap.entrySet().iterator(); it.hasNext();) {
-				Map.Entry entry = (Map.Entry) it.next();
-				sb.append("  ").append(entry.getKey()) //$NON-NLS-1$
-						.append(" = ") //$NON-NLS-1$
-						.append(entry.getValue()).append('\n');
-			}
-			sb.setLength(sb.length() - 1);
-		}
-		return sb.toString();
-	}
-
-	public void dump(PrintStream ps) {
-		if (ps == null) {
-			ps = System.out;
-		}
-		ps.println(this.toString());
-	}
-
-	private Map createInnerMap() {
-		Map innerMap;
-		if (shouldUseSortedInnerMap()) {
-			innerMap = new TreeMap(new ValueComparator(shouldSortInAscendingOrder()));
-		} else if (shouldUseOrderedMap()) {
-			innerMap = new LinkedHashMap(2);
-		} else {
-			innerMap = new HashMap(2);
-		}
-		return innerMap;
-	}
-
-	private boolean shouldPreserveExisting() {
-		return (this.policy & POLICY_INNER_MAP_PRESERVE_EXISTING) == POLICY_INNER_MAP_PRESERVE_EXISTING;
-	}
-
-	private boolean shouldUseOrderedMap() {
-		return (this.policy & POLICY_BOTH_MAPS_PRESERVE_ORDERING) == POLICY_BOTH_MAPS_PRESERVE_ORDERING;
-	}
-
-	private boolean shouldUseSortedInnerMap() {
-		return (this.policy & POLICY_INNER_MAP_SORTED_MASK) != 0;
-	}
-
-	private boolean shouldSortInAscendingOrder() {
-		return (this.policy & POLICY_INNER_MAP_SORTED_MASK) == POLICY_INNER_MAP_SORTED_ASCENDING;
-	}
-
-	private boolean shouldUseSingletonInnerMap() {
-		return (this.policy & POLICY_INNER_MAP_ENSURE_SINGLETON) == POLICY_INNER_MAP_ENSURE_SINGLETON;
-	}
-
-	private static class ValueComparator implements Comparator, Serializable {
-		private static final long serialVersionUID = 362497720873186266L;
-		private boolean ascending;
-
-		public ValueComparator(boolean ascending) {
-			this.ascending = ascending;
-		}
-
-		/* (non-Javadoc)
-		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-		 */
-		public int compare(Object o1, Object o2) {
-			try {
-				if (o1 instanceof Comparable) {
-					int cmp = ((Comparable) o1).compareTo(o2);
-					return this.ascending ? cmp : (0 - cmp);
-				}
-			} catch (Exception e) {
-				// Ignore
-			}
-			return 1;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
deleted file mode 100644
index d6b5b7e..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/messages.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-Director_Task_installer_plan=Computing prerequisite plan
-Director_Task_Installing=Installing into {0}
-Director_Task_Updating=Updating
-Director_Task_Resolving_Dependencies=Calculating requirements and dependencies.
-Director_Unsatisfied_Dependencies=\
-Cannot complete the install because some dependencies are not satisfiable
-Director_error_applying_configuration=Unexpected failure applying configuration after for the installer plan execution.
-
-Explanation_alreadyInstalled=Software currently installed: {0}
-Explanation_from=From: {0}
-Explanation_fromPatch=From Patch: {0}
-Explanation_hardDependency=Cannot satisfy dependency: {0} depends on: {1}
-Explanation_patchedHardDependency=Cannot satisfy patched ({0}) dependency: {1} depends on: {2}
-Explanation_missingRequired=Missing requirement: {0} requires ''{1}'' but it could not be found
-Explanation_missingRequiredFilter=Missing requirement for filter {0}: {1} requires ''{2}'' but it could not be found
-Explanation_optionalDependency=Optional dependency
-Explanation_rootMissing=Cannot complete the install because one or more required items could not be found.
-Explanation_rootSingleton=Cannot complete the install because of a conflicting dependency.
-Explanation_singleton=Only one of the following can be installed at once: {0}
-Explanation_to=To: {0}
-Explanation_toInstall=Software being installed: {0}
-Explanation_unsatisfied=Cannot satisfy dependency:
-
-Planner_Timeout=The solver timed out on problem {0}.
-Planner_Problems_resolving_plan=Problems resolving provisioning plan.
-Planner_Unsatisfiable_problem=No solution found because the problem is unsatisfiable.
-Planner_Unsatisfied_dependency=Unable to satisfy dependency from {0} to {1}.
-Planner_NoSolution=Cannot complete the request.  Generating details.
-Planner_Unexpected_problem=An unexpected error occurred while resolving.
-Planner_actions_and_software_incompatible=The actions required to successfully install the requested software are incompatible with the software to install. 
-Planner_can_not_install_preq=The actions required to successfully install the requested software can not be installed. 
-Planner_no_profile_registry=Profile Registry is not registered.
-Planner_profile_out_of_sync=The copies of profile {0} are not in sync.
-RequestStatus_message=Plan status for {0}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
deleted file mode 100644
index 335c03f..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/rollback/FormerState.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.rollback;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.internal.p2.director.SimplePlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class FormerState {
-
-	public static ProfileChangeRequest generateProfileDeltaChangeRequest(IProfile current, IProfile target) {
-		ProfileChangeRequest request = new ProfileChangeRequest(current);
-
-		synchronizeProfileProperties(request, current, target);
-		synchronizeMarkedIUs(request, current, target);
-		synchronizeAllIUProperties(request, current, target);
-
-		return request;
-	}
-
-	private static void synchronizeAllIUProperties(ProfileChangeRequest request, IProfile current, IProfile target) {
-		Collection currentIUs = current.query(InstallableUnitQuery.ANY, null).toCollection();
-		Collection targetIUs = target.query(InstallableUnitQuery.ANY, null).toCollection();
-		List iusToAdd = new ArrayList(targetIUs);
-		iusToAdd.remove(currentIUs);
-
-		//additions
-		for (Iterator iterator = iusToAdd.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			for (Iterator it = target.getInstallableUnitProperties(iu).entrySet().iterator(); it.hasNext();) {
-				Entry entry = (Entry) it.next();
-				String key = (String) entry.getKey();
-				String value = (String) entry.getValue();
-				request.setInstallableUnitProfileProperty(iu, key, value);
-			}
-		}
-
-		// updates
-		List iusToUpdate = new ArrayList(targetIUs);
-		iusToUpdate.remove(iusToAdd);
-		for (Iterator iterator = iusToUpdate.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			Map propertiesToSet = new HashMap(target.getInstallableUnitProperties(iu));
-			for (Iterator it = current.getInstallableUnitProperties(iu).entrySet().iterator(); it.hasNext();) {
-				Entry entry = (Entry) it.next();
-				String key = (String) entry.getKey();
-				String newValue = (String) propertiesToSet.get(key);
-				if (newValue == null) {
-					request.removeInstallableUnitProfileProperty(iu, key);
-				} else if (newValue.equals(entry.getValue()))
-					propertiesToSet.remove(key);
-			}
-
-			for (Iterator it = propertiesToSet.entrySet().iterator(); it.hasNext();) {
-				Entry entry = (Entry) it.next();
-				String key = (String) entry.getKey();
-				String value = (String) entry.getValue();
-				request.setInstallableUnitProfileProperty(iu, key, value);
-			}
-		}
-	}
-
-	private static void synchronizeMarkedIUs(ProfileChangeRequest request, IProfile current, IProfile target) {
-		IInstallableUnit[] currentPlannerMarkedIUs = SimplePlanner.findPlannerMarkedIUs(current);
-		IInstallableUnit[] targetPlannerMarkedIUs = SimplePlanner.findPlannerMarkedIUs(target);
-
-		//additions
-		List markedIUsToAdd = new ArrayList(Arrays.asList(targetPlannerMarkedIUs));
-		markedIUsToAdd.removeAll(Arrays.asList(currentPlannerMarkedIUs));
-		request.addInstallableUnits((IInstallableUnit[]) markedIUsToAdd.toArray(new IInstallableUnit[markedIUsToAdd.size()]));
-
-		// removes
-		List markedIUsToRemove = new ArrayList(Arrays.asList(currentPlannerMarkedIUs));
-		markedIUsToRemove.removeAll(Arrays.asList(targetPlannerMarkedIUs));
-		request.removeInstallableUnits((IInstallableUnit[]) markedIUsToRemove.toArray(new IInstallableUnit[markedIUsToRemove.size()]));
-	}
-
-	private static void synchronizeProfileProperties(ProfileChangeRequest request, IProfile current, IProfile target) {
-		Map profilePropertiesToSet = new HashMap(target.getProperties());
-		for (Iterator it = current.getProperties().entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			String key = (String) entry.getKey();
-
-			String newValue = (String) profilePropertiesToSet.get(key);
-			if (newValue == null) {
-				request.removeProfileProperty(key);
-			} else if (newValue.equals(entry.getValue()))
-				profilePropertiesToSet.remove(key);
-		}
-
-		for (Iterator it = profilePropertiesToSet.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			String key = (String) entry.getKey();
-			String value = (String) entry.getValue();
-			request.setProfileProperty(key, value);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
deleted file mode 100644
index 585c89c..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IDirector.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-
-/**
- * Directors are responsible for determining what should be done to a given 
- * profile to reshape it as requested. That is, given the current state of a 
- * profile, a description of the desired end state of that profile and metadata 
- * describing the available IUs, a director produces a list of provisioning 
- * operations (e.g., install, update or uninstall) to perform on the related IUs. 
- * Directors are also able to validate profiles and assist in the diagnosis of 
- * configuration errors. Note that directors may range in complexity from 
- * very simple (e.g., reading a list of bundles from a static file) to very complex. 
- */
-public interface IDirector {
-
-	/**
-	 * Service name constant for the director service.
-	 */
-	public static final String SERVICE_NAME = IDirector.class.getName();
-
-	/**
-	 * performs the change request with the given context.
-	 * 
-	 * @param profileChangeRequest The change request
-	 * @param context The provisioning context used for finding resources
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public IStatus provision(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor);
-
-	/**
-	 * Reverts the profile to a previous state described in the target revertProfile.
-	 * 
-	 * @param profile The profile to revert
-	 * @param revertProfile The profile snapshot state to revert to
-	 * @param context The provisioning context used for finding resources
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 */
-	public IStatus revert(IProfile profile, IProfile revertProfile, ProvisioningContext context, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
deleted file mode 100644
index 6210257..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/IPlanner.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * Planners are responsible for determining what should be done to a given 
- * profile to reshape it as requested. That is, given the current state of a 
- * profile, a description of the desired end state of that profile and metadata 
- * describing the available IUs, a planner produces a plan that lists the
- * provisioning operands that the engine should perform.  
- */
-public interface IPlanner {
-	/**
-	 * Service name constant for the planner service.
-	 */
-	public static final String SERVICE_NAME = IPlanner.class.getName();
-
-	public IProvisioningPlan getProvisioningPlan(ProfileChangeRequest profileChangeRequest, ProvisioningContext context, IProgressMonitor monitor);
-
-	public IInstallableUnit[] updatesFor(IInstallableUnit toUpdate, ProvisioningContext context, IProgressMonitor monitor);
-
-	public IProvisioningPlan getDiffPlan(IProfile currentProfile, IProfile targetProfile, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlanExecutionHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlanExecutionHelper.java
deleted file mode 100644
index 0ebf674..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlanExecutionHelper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.p2.director.Messages;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.p2.engine.*;
-
-public class PlanExecutionHelper {
-	public static IStatus executePlan(IProvisioningPlan result, IEngine engine, ProvisioningContext context, IProgressMonitor progress) {
-		return executePlan(result, engine, new DefaultPhaseSet(), context, progress);
-	}
-
-	public static IStatus executePlan(IProvisioningPlan result, IEngine engine, PhaseSet phaseSet, ProvisioningContext context, IProgressMonitor progress) {
-		if (!result.getStatus().isOK())
-			return result.getStatus();
-
-		if (result.getInstallerPlan() != null) {
-			IStatus installerPlanStatus = engine.perform(result.getInstallerPlan(), phaseSet, progress);
-			if (!installerPlanStatus.isOK())
-				return installerPlanStatus;
-			Configurator configChanger = (Configurator) ServiceHelper.getService(DirectorActivator.context, Configurator.class.getName());
-			try {
-				configChanger.applyConfiguration();
-			} catch (IOException e) {
-				return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Director_error_applying_configuration, e);
-			}
-		}
-		return engine.perform(result, phaseSet, progress);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
deleted file mode 100644
index 96fb859..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/PlannerHelper.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class PlannerHelper {
-	public static String createOptionalInclusionRule(IInstallableUnit iu) {
-		return "OPTIONAL"; //$NON-NLS-1$
-	}
-
-	public static String createStrictInclusionRule(IInstallableUnit iu) {
-		return "STRICT"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
deleted file mode 100644
index 0c74e60..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/ProfileChangeRequest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class ProfileChangeRequest implements Cloneable {
-
-	private final IProfile profile;
-	private ArrayList iusToRemove = null; // list of ius to remove
-	private ArrayList iusToAdd = null; // list of ius to add
-	private ArrayList propertiesToRemove = null; // list of keys for properties to be removed
-	private HashMap propertiesToAdd = null; // map of key->value for properties to be added
-	private HashMap iuPropertiesToAdd = null; // map iu->map of key->value pairs for properties to be added for an iu
-	private HashMap iuPropertiesToRemove = null; // map of iu->list of property keys to be removed for an iu
-
-	public static ProfileChangeRequest createByProfileId(String profileId) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(DirectorActivator.context, IProfileRegistry.SERVICE_NAME);
-		if (profileRegistry == null)
-			throw new IllegalStateException(Messages.Planner_no_profile_registry);
-		IProfile profile = profileRegistry.getProfile(profileId);
-		if (profile == null)
-			throw new IllegalArgumentException("Profile id " + profileId + " is not registered."); //$NON-NLS-1$//$NON-NLS-2$
-		return new ProfileChangeRequest(profile);
-	}
-
-	public ProfileChangeRequest(IProfile profile) {
-		if (profile == null)
-			throw new IllegalArgumentException("Profile cannot be null."); //$NON-NLS-1$
-		this.profile = profile;
-	}
-
-	public IProfile getProfile() {
-		return profile;
-	}
-
-	public Map getProfileProperties() {
-		Map result = new HashMap(profile.getProperties());
-		if (propertiesToRemove != null) {
-			for (Iterator it = propertiesToRemove.iterator(); it.hasNext();) {
-				result.remove(it.next());
-			}
-		}
-		if (propertiesToAdd != null)
-			result.putAll(propertiesToAdd);
-
-		return result;
-	}
-
-	public void addInstallableUnits(IInstallableUnit[] toInstall) {
-		if (iusToAdd == null)
-			iusToAdd = new ArrayList(toInstall.length);
-		for (int i = 0; i < toInstall.length; i++)
-			iusToAdd.add(toInstall[i]);
-	}
-
-	public void removeInstallableUnits(IInstallableUnit[] toUninstall) {
-		if (iusToRemove == null)
-			iusToRemove = new ArrayList(toUninstall.length);
-		for (int i = 0; i < toUninstall.length; i++)
-			iusToRemove.add(toUninstall[i]);
-	}
-
-	public void setProfileProperty(String key, Object value) {
-		if (propertiesToAdd == null)
-			propertiesToAdd = new HashMap();
-		propertiesToAdd.put(key, value);
-	}
-
-	public void removeProfileProperty(String key) {
-		if (propertiesToRemove == null)
-			propertiesToRemove = new ArrayList(1);
-		propertiesToRemove.add(key);
-	}
-
-	public void setInstallableUnitProfileProperty(IInstallableUnit iu, String key, Object value) {
-		if (iuPropertiesToAdd == null)
-			iuPropertiesToAdd = new HashMap();
-		Map properties = (Map) iuPropertiesToAdd.get(iu);
-		if (properties == null) {
-			properties = new HashMap();
-			iuPropertiesToAdd.put(iu, properties);
-		}
-		properties.put(key, value);
-	}
-
-	public void removeInstallableUnitProfileProperty(IInstallableUnit iu, String key) {
-		if (iuPropertiesToRemove == null)
-			iuPropertiesToRemove = new HashMap();
-		List keys = (List) iuPropertiesToRemove.get(iu);
-		if (keys == null) {
-			keys = new ArrayList();
-			iuPropertiesToRemove.put(iu, keys);
-		}
-		keys.add(key);
-	}
-
-	public IInstallableUnit[] getRemovedInstallableUnits() {
-		if (iusToRemove == null)
-			return new IInstallableUnit[0];
-		return (IInstallableUnit[]) iusToRemove.toArray(new IInstallableUnit[iusToRemove.size()]);
-	}
-
-	public IInstallableUnit[] getAddedInstallableUnits() {
-		if (iusToAdd == null)
-			return new IInstallableUnit[0];
-		return (IInstallableUnit[]) iusToAdd.toArray(new IInstallableUnit[iusToAdd.size()]);
-	}
-
-	// String [key, key, key] names of properties to remove
-	public String[] getPropertiesToRemove() {
-		if (propertiesToRemove == null)
-			return new String[0];
-		return (String[]) propertiesToRemove.toArray(new String[propertiesToRemove.size()]);
-	}
-
-	// map of key value pairs
-	public Map getPropertiesToAdd() {
-		if (propertiesToAdd == null)
-			return Collections.EMPTY_MAP;
-		return propertiesToAdd;
-	}
-
-	// map of iu->list of property keys to be removed for an iu	
-	public Map getInstallableUnitProfilePropertiesToRemove() {
-		if (iuPropertiesToRemove == null)
-			return Collections.EMPTY_MAP;
-		return iuPropertiesToRemove;
-	}
-
-	// TODO This can be represented and returned in whatever way makes most sense for planner/engine
-	// map iu->map of key->value pairs for properties to be added for an iu
-	public Map getInstallableUnitProfilePropertiesToAdd() {
-		if (iuPropertiesToAdd == null)
-			return Collections.EMPTY_MAP;
-		return iuPropertiesToAdd;
-	}
-
-	public void setInstallableUnitInclusionRules(IInstallableUnit iu, String value) {
-		if (iuPropertiesToAdd == null)
-			iuPropertiesToAdd = new HashMap();
-		Map properties = (Map) iuPropertiesToAdd.get(iu);
-		if (properties == null) {
-			properties = new HashMap();
-			iuPropertiesToAdd.put(iu, properties);
-		}
-		properties.put(SimplePlanner.INCLUSION_RULES, value);
-	}
-
-	public void removeInstallableUnitInclusionRules(IInstallableUnit iu) {
-		if (iuPropertiesToRemove == null)
-			iuPropertiesToRemove = new HashMap();
-		List keys = (List) iuPropertiesToRemove.get(iu);
-		if (keys == null) {
-			keys = new ArrayList();
-			iuPropertiesToRemove.put(iu, keys);
-		}
-		keys.add(SimplePlanner.INCLUSION_RULES);
-	}
-
-	public Object clone() {
-		ProfileChangeRequest result = new ProfileChangeRequest(profile);
-		result.iusToRemove = iusToRemove == null ? null : (ArrayList) iusToRemove.clone();
-		result.iusToAdd = iusToAdd == null ? null : (ArrayList) iusToAdd.clone();
-		result.propertiesToRemove = propertiesToRemove == null ? null : (ArrayList) propertiesToRemove.clone();
-		result.propertiesToAdd = propertiesToAdd == null ? null : (HashMap) propertiesToAdd.clone();
-		result.iuPropertiesToAdd = iuPropertiesToAdd == null ? null : (HashMap) iuPropertiesToAdd.clone();
-		result.iuPropertiesToRemove = iuPropertiesToRemove == null ? null : (HashMap) iuPropertiesToRemove.clone();
-		return result;
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer(1000);
-		result.append("==Profile change request for ");
-		result.append(profile.getProfileId());
-		result.append('\n');
-		result.append("==Additions==");
-		result.append('\n');
-		for (Iterator iterator = iusToAdd.iterator(); iterator.hasNext();) {
-			result.append('\t');
-			result.append(iterator.next());
-			result.append('\n');
-		}
-		result.append("==Removals==");
-		result.append('\n');
-		for (Iterator iterator = iusToRemove.iterator(); iterator.hasNext();) {
-			result.append('\t');
-			result.append(iterator.next());
-			result.append('\n');
-		}
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/RequestStatus.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/RequestStatus.java
deleted file mode 100644
index aae66f0..0000000
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/provisional/p2/director/RequestStatus.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.director;
-
-import java.util.*;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.director.*;
-import org.eclipse.equinox.internal.p2.director.Explanation.IUInstalled;
-import org.eclipse.equinox.internal.p2.director.Explanation.IUToInstall;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class RequestStatus extends Status {
-	public static final byte ADDED = 0;
-	public static final byte REMOVED = 1;
-
-	private byte initialRequestType;
-	private IInstallableUnit iu;
-	private Set explanation;
-	private Explanation detailedExplanation;
-	private Set conflictingRootIUs;
-	private Set conflictingInstalledIUs;
-
-	public RequestStatus(IInstallableUnit iu, byte initialRequesType, int severity, Set explanation) {
-		super(severity, DirectorActivator.PI_DIRECTOR, NLS.bind(Messages.RequestStatus_message, iu));
-		this.iu = iu;
-		this.initialRequestType = initialRequesType;
-		this.explanation = explanation;
-		conflictingRootIUs = new HashSet();
-		conflictingInstalledIUs = new HashSet();
-		if (explanation != null) {
-			Iterator iterator = explanation.iterator();
-			Object o = null;
-			while (iterator.hasNext() && ((o = iterator.next()) instanceof Explanation.IUToInstall)) {
-				conflictingRootIUs.add(((IUToInstall) o).iu);
-			}
-			if (o instanceof Explanation.IUInstalled) {
-				conflictingInstalledIUs.add(((IUInstalled) o).iu);
-				while (iterator.hasNext() && ((o = iterator.next()) instanceof Explanation.IUInstalled)) {
-					conflictingInstalledIUs.add(((IUInstalled) o).iu);
-				}
-			}
-			detailedExplanation = (Explanation) o;
-		}
-	}
-
-	public byte getInitialRequestType() {
-		return initialRequestType;
-	}
-
-	public IInstallableUnit getIu() {
-		return iu;
-	}
-
-	//Return the already installed roots with which this IU is in conflict
-	//Return an empty set if there is no conflict
-	public Set getConflictsWithInstalledRoots() {
-		return conflictingRootIUs;
-	}
-
-	//Return the already installed roots with which this IU is in conflict
-	//Return an empty set if there is no conflict
-	public Set getConflictsWithAnyRoots() {
-		return conflictingInstalledIUs;
-	}
-
-	//Return an explanation as to why this IU can not be resolved.
-	public Set getExplanations() {
-		//To start with, this does not have to return the most specific explanation. If it simply returns an global explanation it is good enough.
-		return explanation;
-	}
-
-	public int getShortExplanation() {
-		return detailedExplanation.shortAnswer();
-	}
-
-	public Explanation getExplanationDetails() {
-		return detailedExplanation;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath b/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.project b/bundles/org.eclipse.equinox.p2.directorywatcher/.project
deleted file mode 100644
index 349eb76..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.directorywatcher</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b94ca9b..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Thu Oct 09 08:15:15 EDT 2008
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1546d82..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Tue Aug 21 11:27:48 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
deleted file mode 100644
index e189783..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,33 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.publisher,
- org.eclipse.equinox.p2.publisher.actions,
- org.eclipse.equinox.p2.publisher.eclipse,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util,
- org.osgi.framework;version="1.4.0",
- org.osgi.service.packageadmin;version="1.2.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.provisional.p2.directorywatcher;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
-Bundle-Activator: org.eclipse.equinox.internal.provisional.p2.directorywatcher.Activator
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/about.html b/bundles/org.eclipse.equinox.p2.directorywatcher/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-
-		<h4>FileInstall 1.0</h4> 
-		<p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
-		That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
deleted file mode 100644
index d8a6f4e..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Directory Watcher
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
deleted file mode 100644
index 613918c..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Activator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Bundle activator for directory watcher bundle.
- */
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.directorywatcher"; //$NON-NLS-1$
-
-	private static BundleContext context;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		context = aContext;
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		context = null;
-	}
-
-	public static IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	public static IMetadataRepositoryManager getMetadataRepositoryManager() {
-		return (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	public static URI getDefaultRepositoryLocation(Object object, String repositoryName) {
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(context, PackageAdmin.class.getName());
-		Bundle bundle = packageAdmin.getBundle(object.getClass());
-		BundleContext context = bundle.getBundleContext();
-		File base = context.getDataFile(""); //$NON-NLS-1$
-		File result = new File(base, "listener_" + repositoryName.hashCode()); //$NON-NLS-1$
-		result.mkdirs();
-		return result.toURI();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java
deleted file mode 100644
index 0298f4f..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/CachingArtifactRepository.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.MappedCollectionIterator;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-public class CachingArtifactRepository implements IArtifactRepository, IFileArtifactRepository {
-
-	private static final String NULL = ""; //$NON-NLS-1$
-	private IArtifactRepository innerRepo;
-	private Set descriptorsToAdd = new HashSet();
-	private Map artifactMap = new HashMap();
-	private Set descriptorsToRemove = new HashSet();
-	private Map propertyChanges = new HashMap();
-
-	protected CachingArtifactRepository(IArtifactRepository innerRepo) {
-		this.innerRepo = innerRepo;
-	}
-
-	public void save() {
-		savePropertyChanges();
-		saveAdditions();
-		saveRemovals();
-	}
-
-	private void saveRemovals() {
-		for (Iterator i = descriptorsToRemove.iterator(); i.hasNext();)
-			innerRepo.removeDescriptor((IArtifactDescriptor) i.next());
-		descriptorsToRemove.clear();
-	}
-
-	private void saveAdditions() {
-		if (descriptorsToAdd.isEmpty())
-			return;
-		innerRepo.addDescriptors((IArtifactDescriptor[]) descriptorsToAdd.toArray(new IArtifactDescriptor[descriptorsToAdd.size()]));
-		descriptorsToAdd.clear();
-		artifactMap.clear();
-	}
-
-	private void savePropertyChanges() {
-		for (Iterator i = propertyChanges.keySet().iterator(); i.hasNext();) {
-			String key = (String) i.next();
-			String value = (String) propertyChanges.get(key);
-			innerRepo.setProperty(key, value == NULL ? null : value);
-		}
-		propertyChanges.clear();
-	}
-
-	private void mapDescriptor(IArtifactDescriptor descriptor) {
-		IArtifactKey key = descriptor.getArtifactKey();
-		Collection descriptors = (Collection) artifactMap.get(key);
-		if (descriptors == null) {
-			descriptors = new ArrayList();
-			artifactMap.put(key, descriptors);
-		}
-		descriptors.add(descriptor);
-	}
-
-	private void unmapDescriptor(IArtifactDescriptor descriptor) {
-		IArtifactKey key = descriptor.getArtifactKey();
-		Collection descriptors = (Collection) artifactMap.get(key);
-		if (descriptors == null) {
-			// we do not have the descriptor locally so remember it to be removed from
-			// the inner repo on save.
-			descriptorsToRemove.add(descriptor);
-			return;
-		}
-
-		descriptors.remove(descriptor);
-		if (descriptors.isEmpty())
-			artifactMap.remove(key);
-	}
-
-	public synchronized void addDescriptors(IArtifactDescriptor[] descriptors) {
-		for (int i = 0; i < descriptors.length; i++) {
-			((ArtifactDescriptor) descriptors[i]).setRepository(this);
-			descriptorsToAdd.add(descriptors[i]);
-			mapDescriptor(descriptors[i]);
-		}
-	}
-
-	public synchronized void addDescriptor(IArtifactDescriptor toAdd) {
-		((ArtifactDescriptor) toAdd).setRepository(this);
-		descriptorsToAdd.add(toAdd);
-		mapDescriptor(toAdd);
-	}
-
-	public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		Collection result = (Collection) artifactMap.get(key);
-		if (result == null)
-			return innerRepo.getArtifactDescriptors(key);
-		result.addAll(Arrays.asList(innerRepo.getArtifactDescriptors(key)));
-		return (IArtifactDescriptor[]) result.toArray(new IArtifactDescriptor[result.size()]);
-	}
-
-	public synchronized boolean contains(IArtifactDescriptor descriptor) {
-		return descriptorsToAdd.contains(descriptor) || innerRepo.contains(descriptor);
-	}
-
-	public synchronized boolean contains(IArtifactKey key) {
-		return artifactMap.containsKey(key) || innerRepo.contains(key);
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return innerRepo.getArtifact(descriptor, destination, monitor);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return innerRepo.getRawArtifact(descriptor, destination, monitor);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) {
-		return null;
-	}
-
-	public synchronized void removeAll() {
-		IArtifactDescriptor[] toRemove = (IArtifactDescriptor[]) descriptorsToAdd.toArray(new IArtifactDescriptor[descriptorsToAdd.size()]);
-		for (int i = 0; i < toRemove.length; i++)
-			doRemoveArtifact(toRemove[i]);
-	}
-
-	public synchronized void removeDescriptor(IArtifactDescriptor descriptor) {
-		doRemoveArtifact(descriptor);
-	}
-
-	public synchronized void removeDescriptor(IArtifactKey key) {
-		IArtifactDescriptor[] toRemove = getArtifactDescriptors(key);
-		for (int i = 0; i < toRemove.length; i++)
-			doRemoveArtifact(toRemove[i]);
-	}
-
-	/**
-	 * Removes the given descriptor and returns <code>true</code> if and only if the
-	 * descriptor existed in the repository, and was successfully removed.
-	 */
-	private boolean doRemoveArtifact(IArtifactDescriptor descriptor) {
-		// if the descriptor is already in the pending additoins, remove it
-		boolean result = descriptorsToAdd.remove(descriptor);
-		if (result)
-			unmapDescriptor(descriptor);
-		// either way, note this as a descriptor to remove from the inner repo
-		descriptorsToRemove.add(descriptor);
-		return result;
-	}
-
-	public String getDescription() {
-		return innerRepo.getDescription();
-	}
-
-	public URI getLocation() {
-		return innerRepo.getLocation();
-	}
-
-	public String getName() {
-		return innerRepo.getName();
-	}
-
-	public Map getProperties() {
-		// TODO need to combine the local and inner properties
-		return innerRepo.getProperties();
-	}
-
-	public String getProvider() {
-		return innerRepo.getProvider();
-	}
-
-	public String getType() {
-		return innerRepo.getType();
-	}
-
-	public String getVersion() {
-		return innerRepo.getVersion();
-	}
-
-	public boolean isModifiable() {
-		return innerRepo.isModifiable();
-	}
-
-	public void setDescription(String description) {
-		innerRepo.setDescription(description);
-	}
-
-	public void setName(String name) {
-		innerRepo.setName(name);
-	}
-
-	public String setProperty(String key, String value) {
-		String result = (String) getProperties().get(key);
-		propertyChanges.put(key, value == null ? NULL : value);
-		return result;
-	}
-
-	public void setProvider(String provider) {
-		innerRepo.setProvider(provider);
-	}
-
-	public Object getAdapter(Class adapter) {
-		return innerRepo.getAdapter(adapter);
-	}
-
-	public File getArtifactFile(IArtifactKey key) {
-		if (innerRepo instanceof IFileArtifactRepository)
-			return ((IFileArtifactRepository) innerRepo).getArtifactFile(key);
-		return null;
-	}
-
-	public File getArtifactFile(IArtifactDescriptor descriptor) {
-		if (innerRepo instanceof IFileArtifactRepository)
-			return ((IFileArtifactRepository) innerRepo).getArtifactFile(descriptor);
-		return null;
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return innerRepo.createArtifactDescriptor(key);
-	}
-
-	public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		if (monitor != null && monitor.isCanceled())
-			return collector;
-
-		final boolean excludeKeys = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_KEYS));
-		final boolean excludeDescriptors = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_DESCRIPTORS));
-		if (excludeKeys && excludeDescriptors)
-			return collector;
-
-		IQueryable cached = new IQueryable() {
-			public Collector query(IQuery query, IProgressMonitor monitor) {
-				Collector collector = new Collector();
-				Iterator i = !excludeDescriptors ? new MappedCollectionIterator(artifactMap, !excludeKeys) : artifactMap.keySet().iterator();
-				return query.perform(i, collector);
-			}
-		};
-
-		CompoundQueryable compound = new CompoundQueryable(new IQueryable[] {cached, innerRepo});
-		return compound.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
deleted file mode 100644
index 515e19d..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryChangeListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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 implementation and ideas 
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-
-/*
- * Abstract class which contains stub methods. Sub-classes to over-ride
- * methods which they are interested in.
- */
-public abstract class DirectoryChangeListener {
-
-	public void startPoll() {
-		// do nothing
-	}
-
-	public void stopPoll() {
-		// do nothing
-	}
-
-	public boolean isInterested(File file) {
-		return false;
-	}
-
-	public boolean added(File file) {
-		return false;
-	}
-
-	public boolean removed(File file) {
-		return false;
-	}
-
-	public boolean changed(File file) {
-		return false;
-	}
-
-	//TODO this method name needs to be more descriptive.  getLastModified?
-	public Long getSeenFile(File file) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
deleted file mode 100644
index dea2d35..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 aQute 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:
- *  aQute - initial implementation and ideas 
- *  IBM Corporation - initial adaptation to Equinox provisioning use
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class DirectoryWatcher {
-	private static final String DEL_EXT = ".del"; //$NON-NLS-1$
-
-	public class WatcherThread extends Thread {
-
-		private final long pollFrequency;
-		private boolean done = false;
-
-		public WatcherThread(long pollFrequency) {
-			super("Directory Watcher"); //$NON-NLS-1$
-			this.pollFrequency = pollFrequency;
-		}
-
-		public void run() {
-			do {
-				try {
-					poll();
-					synchronized (this) {
-						wait(pollFrequency);
-					}
-				} catch (InterruptedException e) {
-					// ignore
-				} catch (Throwable e) {
-					log(Messages.error_main_loop, e);
-					done = true;
-				}
-			} while (!done);
-		}
-
-		public synchronized void done() {
-			done = true;
-			notify();
-		}
-	}
-
-	public final static String POLL = "eclipse.p2.directory.watcher.poll"; //$NON-NLS-1$
-	public final static String DIR = "eclipse.p2.directory.watcher.dir"; //$NON-NLS-1$
-	private static final long DEFAULT_POLL_FREQUENCY = 2000;
-
-	public static void log(String string, Throwable e) {
-		System.err.println(string + ": " + e); //$NON-NLS-1$
-	}
-
-	final File[] directories;
-
-	long poll = 2000;
-	private Set listeners = new HashSet();
-	private HashSet scannedFiles = new HashSet();
-	private HashSet removals;
-	private Set pendingDeletions;
-	private WatcherThread watcher;
-
-	public DirectoryWatcher(Dictionary properties, BundleContext context) {
-		String dir = (String) properties.get(DIR);
-		if (dir == null)
-			dir = "./load"; //$NON-NLS-1$
-
-		File targetDirectory = new File(dir);
-		targetDirectory.mkdirs();
-		directories = new File[] {targetDirectory};
-	}
-
-	public DirectoryWatcher(File directory) {
-		if (directory == null)
-			throw new IllegalArgumentException(Messages.null_folder);
-
-		this.directories = new File[] {directory};
-	}
-
-	public DirectoryWatcher(File[] directories) {
-		if (directories == null)
-			throw new IllegalArgumentException(Messages.null_folder);
-		this.directories = directories;
-	}
-
-	public synchronized void addListener(DirectoryChangeListener listener) {
-		listeners.add(listener);
-	}
-
-	public synchronized void removeListener(DirectoryChangeListener listener) {
-		listeners.remove(listener);
-	}
-
-	public void start() {
-		start(DEFAULT_POLL_FREQUENCY);
-	}
-
-	public synchronized void poll() {
-		startPoll();
-		scanDirectories();
-		stopPoll();
-	}
-
-	public synchronized void start(final long pollFrequency) {
-		if (watcher != null)
-			throw new IllegalStateException(Messages.thread_started);
-
-		watcher = new WatcherThread(pollFrequency);
-		watcher.start();
-	}
-
-	public synchronized void stop() {
-		if (watcher == null)
-			throw new IllegalStateException(Messages.thread_not_started);
-
-		watcher.done();
-		watcher = null;
-	}
-
-	public File[] getDirectories() {
-		return directories;
-	}
-
-	private void startPoll() {
-		removals = scannedFiles;
-		scannedFiles = new HashSet();
-		pendingDeletions = new HashSet();
-		for (Iterator i = listeners.iterator(); i.hasNext();)
-			((DirectoryChangeListener) i.next()).startPoll();
-	}
-
-	private void scanDirectories() {
-		for (int index = 0; index < directories.length; index++) {
-			File directory = directories[index];
-			File list[] = directory.listFiles();
-			if (list == null)
-				continue;
-			for (int i = 0; i < list.length; i++) {
-				File file = list[i];
-				// if this is a deletion marker then add to the list of pending deletions.
-				if (list[i].getPath().endsWith(DEL_EXT)) {
-					File target = new File(file.getPath().substring(0, file.getPath().length() - 4));
-					removals.add(target);
-					pendingDeletions.add(target);
-				} else {
-					// else remember that we saw the file and remove it from this list of files to be 
-					// removed at the end.  Then notify all the listeners as needed.
-					scannedFiles.add(file);
-					removals.remove(file);
-					for (Iterator iterator = listeners.iterator(); iterator.hasNext();) {
-						DirectoryChangeListener listener = (DirectoryChangeListener) iterator.next();
-						if (isInterested(listener, file))
-							processFile(file, listener);
-					}
-				}
-			}
-		}
-	}
-
-	private void stopPoll() {
-		notifyRemovals();
-		removals = scannedFiles;
-		for (Iterator i = listeners.iterator(); i.hasNext();)
-			((DirectoryChangeListener) i.next()).stopPoll();
-		processPendingDeletions();
-	}
-
-	private boolean isInterested(DirectoryChangeListener listener, File file) {
-		return listener.isInterested(file);
-	}
-
-	/**
-	 * Notify the listeners of the files that have been deleted or marked for deletion.
-	 */
-	private void notifyRemovals() {
-		Set removed = removals;
-		for (Iterator i = listeners.iterator(); i.hasNext();) {
-			DirectoryChangeListener listener = (DirectoryChangeListener) i.next();
-			for (Iterator j = removed.iterator(); j.hasNext();) {
-				File file = (File) j.next();
-				if (isInterested(listener, file))
-					listener.removed(file);
-			}
-		}
-	}
-
-	private void processFile(File file, DirectoryChangeListener listener) {
-		try {
-			Long oldTimestamp = listener.getSeenFile(file);
-			if (oldTimestamp == null) {
-				// The file is new
-				listener.added(file);
-			} else {
-				// The file is not new but may have changed
-				long lastModified = file.lastModified();
-				if (oldTimestamp.longValue() != lastModified)
-					listener.changed(file);
-			}
-		} catch (Exception e) {
-			log(NLS.bind(Messages.error_processing, listener), e);
-		}
-	}
-
-	/**
-	 * Try to remove the files that have been marked for deletion.
-	 */
-	private void processPendingDeletions() {
-		for (Iterator iterator = pendingDeletions.iterator(); iterator.hasNext();) {
-			File file = (File) iterator.next();
-			if (!file.exists() || file.delete())
-				iterator.remove();
-			new File(file.getPath() + DEL_EXT).delete();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/EntryAdvice.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/EntryAdvice.java
deleted file mode 100644
index 05a6bf9..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/EntryAdvice.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.actions.IPropertyAdvice;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-/**
- * Entry advice captures the name, location, modified time, shape etc of something
- * discovered by the repository listener.  It is a simplified structure intended to represent
- * only one entry at a time and that entry is the the only entry being published.  
- */
-public class EntryAdvice implements IPropertyAdvice {
-	private Properties metadataProps = new Properties();
-	private Properties artifactProps = new Properties();
-
-	public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version) {
-		return true;
-	}
-
-	void setProperties(File location, long timestamp, URI reference) {
-		setProperties(location, timestamp, reference, null);
-	}
-
-	void setProperties(File location, long timestamp, URI reference, String linkFile) {
-		if (reference == null)
-			artifactProps.remove(RepositoryListener.ARTIFACT_REFERENCE);
-		else
-			artifactProps.setProperty(RepositoryListener.ARTIFACT_REFERENCE, reference.toString());
-		if (location.isDirectory())
-			artifactProps.setProperty(RepositoryListener.ARTIFACT_FOLDER, Boolean.TRUE.toString());
-		else
-			artifactProps.remove(RepositoryListener.ARTIFACT_FOLDER);
-		artifactProps.setProperty(RepositoryListener.FILE_NAME, location.getAbsolutePath());
-		metadataProps.setProperty(RepositoryListener.FILE_NAME, location.getAbsolutePath());
-		metadataProps.setProperty(RepositoryListener.FILE_LAST_MODIFIED, Long.toString(timestamp));
-		if (linkFile != null)
-			metadataProps.setProperty(Site.PROP_LINK_FILE, linkFile);
-	}
-
-	public Map getInstructions(File location) {
-		return null;
-	}
-
-	public Properties getArtifactProperties(IInstallableUnit iu, IArtifactDescriptor descriptor) {
-		return artifactProps;
-	}
-
-	public Properties getInstallableUnitProperties(InstallableUnitDescription iu) {
-		return metadataProps;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
deleted file mode 100644
index 74d19b6..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.provisional.p2.directorywatcher.messages"; //$NON-NLS-1$
-	public static String artifact_repo_manager_not_registered;
-	public static String error_main_loop;
-	public static String error_processing;
-	public static String failed_create_artifact_repo;
-	public static String failed_create_metadata_repo;
-	public static String filename_missing;
-	public static String metadata_repo_manager_not_registered;
-	public static String null_folder;
-	public static String thread_not_started;
-	public static String thread_started;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
deleted file mode 100644
index f303d16..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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 implementation and ideas 
- *   Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.directorywatcher;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.util.NLS;
-
-public class RepositoryListener extends DirectoryChangeListener {
-	public static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
-	public static final String ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
-	public static final String FILE_LAST_MODIFIED = "file.lastModified"; //$NON-NLS-1$
-	public static final String FILE_NAME = "file.name"; //$NON-NLS-1$
-	private final IMetadataRepository metadataRepository;
-	private final CachingArtifactRepository artifactRepository;
-	// at any point in time currentFiles is the list of files/dirs that the watcher has seen and 
-	// believes to be on disk.
-	private final Map currentFiles = new HashMap();
-	private final Collection polledSeenFiles = new HashSet();
-
-	private EntryAdvice advice = new EntryAdvice();
-	private PublisherInfo info;
-	private IPublisherResult iusToAdd;
-	private IPublisherResult iusToChange;
-
-	/**
-	 * Create a repository listener that watches the specified folder and generates repositories
-	 * for its content.
-	 * @param repositoryName the repository name to use for the repository
-	 * @param hidden <code>true</code> if the repository should be hidden, <code>false</code> if not.
-	 */
-	public RepositoryListener(String repositoryName, boolean hidden) {
-		URI location = Activator.getDefaultRepositoryLocation(this, repositoryName);
-		metadataRepository = initializeMetadataRepository(repositoryName, location, hidden);
-		artifactRepository = initializeArtifactRepository(repositoryName, location, hidden);
-		initializePublisher();
-	}
-
-	public RepositoryListener(IMetadataRepository metadataRepository, IArtifactRepository artifactRepository) {
-		this.artifactRepository = new CachingArtifactRepository(artifactRepository);
-		this.metadataRepository = metadataRepository;
-		initializePublisher();
-	}
-
-	private void initializePublisher() {
-		info = new PublisherInfo();
-		info.setArtifactRepository(artifactRepository);
-		info.setMetadataRepository(metadataRepository);
-		info.addAdvice(advice);
-		info.setArtifactOptions(IPublisherInfo.A_INDEX);
-	}
-
-	protected CachingArtifactRepository initializeArtifactRepository(String repositoryName, URI repositoryLocation, boolean hidden) {
-		IArtifactRepositoryManager manager = Activator.getArtifactRepositoryManager();
-		if (manager == null)
-			throw new IllegalStateException(Messages.artifact_repo_manager_not_registered);
-
-		try {
-			IArtifactRepository result = manager.loadRepository(repositoryLocation, null);
-			return result == null ? null : new CachingArtifactRepository(result);
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-		try {
-			String name = repositoryName;
-			Map properties = new HashMap(1);
-			if (hidden) {
-				properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-				name = "artifact listener " + repositoryName; //$NON-NLS-1$
-			}
-			IArtifactRepository result = manager.createRepository(repositoryLocation, name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-			return result == null ? null : new CachingArtifactRepository(result);
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-			throw new IllegalStateException(NLS.bind(Messages.failed_create_artifact_repo, repositoryLocation));
-		}
-	}
-
-	protected IMetadataRepository initializeMetadataRepository(String repositoryName, URI repositoryLocation, boolean hidden) {
-		IMetadataRepositoryManager manager = Activator.getMetadataRepositoryManager();
-		if (manager == null)
-			throw new IllegalStateException(Messages.metadata_repo_manager_not_registered);
-
-		try {
-			return manager.loadRepository(repositoryLocation, null);
-		} catch (ProvisionException e) {
-			//fall through and create new repository
-		}
-		try {
-			String name = repositoryName;
-			Map properties = new HashMap(1);
-			if (hidden) {
-				properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-				name = "metadata listener " + repositoryName; //$NON-NLS-1$
-			}
-			return manager.createRepository(repositoryLocation, name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-			throw new IllegalStateException(NLS.bind(Messages.failed_create_metadata_repo, repositoryLocation));
-		}
-	}
-
-	public boolean added(File file) {
-		return process(file, true);
-	}
-
-	public boolean changed(File file) {
-		return process(file, false);
-	}
-
-	public boolean removed(File file) {
-		// the IUs and artifacts associated with this file will get removed in stopPoll
-		return currentFiles.containsKey(file);
-	}
-
-	private boolean process(File file, boolean isAddition) {
-		boolean isDirectory = file.isDirectory();
-		// is it a feature ?
-		if (isDirectory && file.getParentFile() != null && file.getParentFile().getName().equals("features") && new File(file, "feature.xml").exists()) //$NON-NLS-1$ //$NON-NLS-2$)
-			return processFeature(file, isAddition);
-		// could it be a bundle ?
-		if (isDirectory || file.getName().endsWith(".jar")) //$NON-NLS-1$
-			return processBundle(file, isDirectory, isAddition);
-		return false;
-	}
-
-	private boolean processBundle(File file, boolean isDirectory, boolean isAddition) {
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(file);
-		if (bundleDescription == null)
-			return false;
-
-		advice.setProperties(file, file.lastModified(), file.toURI());
-		return publish(new BundlesAction(new BundleDescription[] {bundleDescription}), isAddition);
-		// TODO see bug 222370
-		// we only want to return the bundle IU so must exclude all fragment IUs
-		// not sure if this is still relevant but we should investigate.
-	}
-
-	private boolean processFeature(File file, boolean isAddition) {
-		String link = (String) metadataRepository.getProperties().get(Site.PROP_LINK_FILE);
-		advice.setProperties(file, file.lastModified(), file.toURI(), link);
-		return publish(new FeaturesAction(new File[] {file}), isAddition);
-	}
-
-	private boolean publish(IPublisherAction action, boolean isAddition) {
-		IPublisherResult result = isAddition ? iusToAdd : iusToChange;
-		return action.perform(info, result, new NullProgressMonitor()).isOK();
-	}
-
-	public boolean isInterested(File file) {
-		return true;
-	}
-
-	public Long getSeenFile(File file) {
-		Long lastSeen = (Long) currentFiles.get(file);
-		if (lastSeen != null)
-			polledSeenFiles.add(file);
-		return lastSeen;
-	}
-
-	public void startPoll() {
-		iusToAdd = new PublisherResult();
-		iusToChange = new PublisherResult();
-		synchronizeCurrentFiles();
-	}
-
-	public void stopPoll() {
-		final Set filesToRemove = new HashSet(currentFiles.keySet());
-		filesToRemove.removeAll(polledSeenFiles);
-		polledSeenFiles.clear();
-
-		synchronizeMetadataRepository(filesToRemove);
-		synchronizeArtifactRepository(filesToRemove);
-		iusToAdd = null;
-		iusToChange = null;
-	}
-
-	/**
-	 * Flush all the pending changes to the metadata repository.
-	 */
-	private void synchronizeMetadataRepository(final Collection removedFiles) {
-		if (metadataRepository == null)
-			return;
-		final Collection changes = iusToChange.getIUs(null, null);
-		// first remove any IUs that have changed or that are associated with removed files
-		if (!removedFiles.isEmpty() || !changes.isEmpty()) {
-			metadataRepository.removeInstallableUnits((IInstallableUnit[]) changes.toArray(new IInstallableUnit[changes.size()]), null);
-
-			// create a query that will identify all ius related to removed files
-			IMatchQuery removeQuery = new MatchQuery() {
-				public boolean isMatch(Object candidate) {
-					if (!(candidate instanceof IInstallableUnit))
-						return false;
-					IInstallableUnit iu = (IInstallableUnit) candidate;
-					String filename = iu.getProperty(FILE_NAME);
-					if (filename == null) {
-						String message = NLS.bind(Messages.filename_missing, "installable unit", iu.getId()); //$NON-NLS-1$
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, null));
-						return false;
-					}
-					File iuFile = new File(filename);
-					return removedFiles.contains(iuFile);
-				}
-			};
-			Collector toRemove = metadataRepository.query(removeQuery, null);
-			metadataRepository.removeInstallableUnits((IInstallableUnit[]) toRemove.toArray(IInstallableUnit.class), null);
-		}
-		// Then add all the new IUs as well as the new copies of the ones that have changed
-		Collection additions = iusToAdd.getIUs(null, null);
-		additions.addAll(changes);
-		if (!additions.isEmpty())
-			metadataRepository.addInstallableUnits((IInstallableUnit[]) additions.toArray(new IInstallableUnit[additions.size()]));
-	}
-
-	/**
-	 * Here the artifacts have all been added to the artifact repo.  Remove the
-	 * descriptors related to any file that has been removed and flush the repo
-	 * to ensure that all the additions and removals have been completed.
-	 */
-	private void synchronizeArtifactRepository(final Collection removedFiles) {
-		if (artifactRepository == null)
-			return;
-		if (!removedFiles.isEmpty()) {
-			Collector descriptors = artifactRepository.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			for (Iterator iterator = descriptors.iterator(); iterator.hasNext();) {
-				SimpleArtifactDescriptor descriptor = (SimpleArtifactDescriptor) iterator.next();
-				String filename = descriptor.getRepositoryProperty(FILE_NAME);
-				if (filename == null) {
-					String message = NLS.bind(Messages.filename_missing, "artifact", descriptor.getArtifactKey()); //$NON-NLS-1$
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, null));
-				} else {
-					File artifactFile = new File(filename);
-					if (removedFiles.contains(artifactFile))
-						artifactRepository.removeDescriptor(descriptor);
-				}
-			}
-		}
-		artifactRepository.save();
-	}
-
-	/**
-	 * Prime the list of current files that the listener knows about.  This traverses the 
-	 * repos and looks for the related filename and modified timestamp information.
-	 */
-	private void synchronizeCurrentFiles() {
-		currentFiles.clear();
-		if (metadataRepository != null) {
-			Collector ius = metadataRepository.query(InstallableUnitQuery.ANY, null);
-			for (Iterator it = ius.iterator(); it.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) it.next();
-				String filename = iu.getProperty(FILE_NAME);
-				if (filename == null) {
-					String message = NLS.bind(Messages.filename_missing, "installable unit", iu.getId()); //$NON-NLS-1$
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, null));
-				} else {
-					File iuFile = new File(filename);
-					Long iuLastModified = new Long(iu.getProperty(FILE_LAST_MODIFIED));
-					currentFiles.put(iuFile, iuLastModified);
-				}
-			}
-		}
-		//
-		//		// TODO  should we be doing this for the artifact repo?  the metadata repo should
-		//		// be the main driver here.
-		//		if (artifactRepository != null) {
-		//			final List keys = new ArrayList(Arrays.asList(artifactRepository.getArtifactKeys()));
-		//			for (Iterator it = keys.iterator(); it.hasNext();) {
-		//				IArtifactKey key = (IArtifactKey) it.next();
-		//				IArtifactDescriptor[] descriptors = artifactRepository.getArtifactDescriptors(key);
-		//				for (int i = 0; i < descriptors.length; i++) {
-		//					ArtifactDescriptor descriptor = (ArtifactDescriptor) descriptors[i];
-		//					File artifactFile = new File(descriptor.getRepositoryProperty(FILE_NAME));
-		//					Long artifactLastModified = new Long(descriptor.getRepositoryProperty(FILE_LAST_MODIFIED));
-		//					currentFiles.put(artifactFile, artifactLastModified);
-		//				}
-		//			}
-		//		}
-	}
-
-	public IMetadataRepository getMetadataRepository() {
-		return metadataRepository;
-	}
-
-	public IArtifactRepository getArtifactRepository() {
-		return artifactRepository;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties b/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
deleted file mode 100644
index 428b095..0000000
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/src/org/eclipse/equinox/internal/provisional/p2/directorywatcher/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008 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
-###############################################################################
-artifact_repo_manager_not_registered=ArtifactRepositoryManager not registered.
-error_main_loop=Error in watcher thread main loop.
-error_processing=Error Processing: {0}
-failed_create_artifact_repo=Could not create artifact repository for: {0}
-failed_create_metadata_repo=Could not create metadata repository for: {0}
-filename_missing=The {0} {1} is missing the filename property.
-metadata_repo_manager_not_registered=MetadataRepositoryManager not registered.
-null_folder=Folder must not be null
-thread_not_started=Watcher thread not Started
-thread_started=Watcher thread already Started
diff --git a/bundles/org.eclipse.equinox.p2.engine/.classpath b/bundles/org.eclipse.equinox.p2.engine/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.options b/bundles/org.eclipse.equinox.p2.engine/.options
deleted file mode 100644
index 0792967..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.equinox.p2.engine/profileregistry/debug = false
-org.eclipse.equinox.p2.engine/engine/debug = false
-org.eclipse.equinox.p2.engine/enginesession/debug = false
diff --git a/bundles/org.eclipse.equinox.p2.engine/.project b/bundles/org.eclipse.equinox.p2.engine/.project
deleted file mode 100644
index 80984bc..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.engine</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/.api_filters b/bundles/org.eclipse.equinox.p2.engine/.settings/.api_filters
deleted file mode 100644
index 5cac838..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/.api_filters
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component id="org.eclipse.equinox.p2.engine" version="2">
-    <resource path="src/org/eclipse/equinox/p2/engine/MissingActionsException.java" type="org.eclipse.equinox.p2.engine.MissingActionsException">
-        <filter id="576720909">
-            <message_arguments>
-                <message_argument value="ProvisionException"/>
-                <message_argument value="MissingActionsException"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c98c987..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Fri Feb 22 09:19:01 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.engine/ExtensionWizardPage.java b/bundles/org.eclipse.equinox.p2.engine/ExtensionWizardPage.java
deleted file mode 100644
index fb7f024..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/ExtensionWizardPage.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.wst.server.discovery.internal.wizard;
-
-import org.eclipse.equinox.p2.engine.ProvisioningPlan;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.server.discovery.ExtensionWizard;
-import org.eclipse.wst.server.discovery.internal.Messages;
-import org.eclipse.wst.server.discovery.internal.Trace;
-import org.eclipse.wst.server.discovery.internal.model.Extension;
-
-public class ExtensionWizardPage extends WizardPage {
-	private ExtensionComposite comp;
-	protected AcceptLicensesWizardPage licensePage;
-	protected ErrorWizardPage errorPage;
-	protected IWizardPage nextPage;
-	private Extension extension;
-
-	public ExtensionWizardPage(AcceptLicensesWizardPage licenseWizardPage, ErrorWizardPage errorWizardPage) {
-		super("extension");
-		this.licensePage = licenseWizardPage;
-		this.errorPage = errorWizardPage;
-		setTitle(Messages.wizExtensionTitle);
-		setDescription(Messages.wizExtensionDescription);
-		setPageComplete(false);
-	}
-
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		composite.setLayoutData(data);
-		
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(4);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		//WorkbenchHelp.setHelp(this, ContextIds.SELECT_CLIENT_WIZARD);
-		
-		Label label = new Label(composite, SWT.WRAP);
-		data = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
-		data.widthHint = 350;
-		label.setLayoutData(data);
-		label.setText(Messages.wizExtensionMessage);
-		
-		comp = new ExtensionComposite(composite, SWT.NONE, new ExtensionComposite.ExtensionSelectionListener() {
-			public void extensionSelected(Extension sel) {
-				handleSelection(sel);
-			}
-		});
-		data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		data.heightHint = 375;
-		comp.setLayoutData(data);
-		
-		Dialog.applyDialogFont(composite);
-		setControl(composite);
-	}
-
-	protected void handleSelection(Extension sel) {
-		extension = sel;
-		if (extension == null)
-			licensePage.update(new IInstallableUnit[0], null);
-		else {
-			try {
-				getContainer().run(true, true, new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						final ProvisioningPlan plan = extension.getProvisioningPlan(true, monitor);
-						if (plan != null && plan.getStatus().isOK()) {
-							getShell().getDisplay().asyncExec(new Runnable() {
-								public void run() {
-									licensePage.update(extension.getIUs(), plan);
-									nextPage = licensePage;
-									((ExtensionWizard)getWizard()).setSecondPage(nextPage);
-								}
-							});
-						} else {
-							getShell().getDisplay().asyncExec(new Runnable() {
-								public void run() {
-									errorPage.setStatus(plan.getStatus());
-								}
-							});
-							nextPage = errorPage;
-							((ExtensionWizard)getWizard()).setSecondPage(nextPage);
-						}
-						monitor.done();
-					}
-				});
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error verifying license", e);
-			}
-		}
-		setPageComplete(extension != null);
-	}
-
-	public Extension getExtension() {
-		return extension;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
deleted file mode 100644
index bd6c6f0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,64 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 2.0.0.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.engine;
-  x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.pde.build,
-   org.eclipse.pde.core",
- org.eclipse.equinox.internal.p2.engine.phases;
-  x-friends:="org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.equinox.p2.director.app",
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.query,
- org.eclipse.equinox.p2.engine.spi
-Import-Package: javax.xml.parsers,
- org.eclipse.core.internal.preferences,
- org.eclipse.core.runtime.preferences,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.metadata.repository.io,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.spi,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.equinox.security.storage;version="1.0.0",
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.debug;version="1.1.0",
- org.eclipse.osgi.service.security;version="1.0.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.prefs,
- org.osgi.util.tracker;version="1.3.0",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
-Bundle-ActivationPolicy: lazy
-Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.registry,
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.100",
- org.eclipse.core.jobs;bundle-version="[3.4.0,4.0.0)"
-Service-Component: OSGI-INF/profileRegistry.xml, OSGI-INF/engine.xml
diff --git a/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/engine.xml b/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/engine.xml
deleted file mode 100644
index e656d36..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/engine.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.engine">
-   <implementation class="org.eclipse.equinox.internal.p2.engine.EngineComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.p2.engine.IEngine"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/profileRegistry.xml b/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/profileRegistry.xml
deleted file mode 100644
index 3d4ac83..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/OSGI-INF/profileRegistry.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.engine.registry">
-   <implementation class="org.eclipse.equinox.internal.p2.engine.ProfileRegistryComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.p2.engine.IProfileRegistry"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/about.html b/bundles/org.eclipse.equinox.p2.engine/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/build.properties b/bundles/org.eclipse.equinox.p2.engine/build.properties
deleted file mode 100644
index f55cc83..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-output.. = bin/
-bin.includes = META-INF/,\
-               OSGI-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               .options
-src.includes = about.html,\
-               schema/
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.engine/plugin.properties b/bundles/org.eclipse.equinox.p2.engine/plugin.properties
deleted file mode 100644
index 34875fd..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Engine
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.engine/plugin.xml b/bundles/org.eclipse.equinox.p2.engine/plugin.xml
deleted file mode 100644
index 3d469f4..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-<extension-point id="touchpoints"  name="Touchpoints" schema="schema/touchpoints.exsd"/>
-
-<extension-point id="actions" name="Actions" schema="schema/actions.exsd"/>
- <extension
-       id="metadataRepository"
-       point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-    <factory
-          class="org.eclipse.equinox.internal.p2.engine.ProfileMetadataRepositoryFactory">
-    </factory>
-    <filter
-          suffix="profile">
-    </filter>
- </extension>
-
-	<extension id="preferences" point="org.eclipse.equinox.preferences.preferences" name="%preferencesExtPtName">
-		<scope name="profile" class="org.eclipse.equinox.internal.p2.engine.ProfilePreferences"/>
-	</extension>
-	
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.engine/schema/actions.exsd b/bundles/org.eclipse.equinox.p2.engine/schema/actions.exsd
deleted file mode 100644
index d1069d5..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/schema/actions.exsd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.engine" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.engine" id="actions" name="Actions"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="action"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.engine.spi.ProvisioningAction:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="touchpointType" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="touchpointVersion" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd b/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
deleted file mode 100644
index 6635c97..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/schema/touchpoints.exsd
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.engine" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.engine" id="touchpoints" name="Touchpoints"/>
-      </appInfo>
-      <documentation>
-         Touchpoints are the provisioning system&apos;s interface to some part of the environment in which installable units are being installed. Defining a new touchpoint allows you to &quot;teach&quot; the provisioning system how to interact with some aspect of the environment (an operating system, another native application, etc).
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="touchpoint" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="touchpoint">
-      <complexType>
-         <attribute name="type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.engine.spi.Touchpoint:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         @since org.eclipse.equinox.p2.engine 1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-   &lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.equinox.p2.engine.touchpoints&quot; id=&quot;eclipse&quot; name=&quot;My Touchpoint&quot;&gt;
-  &lt;installAdaptor 
-   type=&quot;eclipse&quot; 
-   class=&quot;com.xyz.MyTouchpoint&quot;
-   version=&quot;1.0.0&quot;/&gt;
- &lt;/extension&gt;
-   &lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Touchpoint implementations must extend org.eclipse.equinox.internal.provisional.p2.engine.Touchpoint.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The platform provides touchpoint implementations for interacting with the operating system (org.eclipse.equinox.p2.native) and the OSGi framework (org.eclipse.equinox.p2.osgi).
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2008, 2009 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ActionManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ActionManager.java
deleted file mode 100644
index 7235ef1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ActionManager.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.osgi.util.NLS;
-
-public class ActionManager implements IRegistryChangeListener {
-
-	private static final String PT_ACTIONS = "actions"; //$NON-NLS-1$
-	private static final String ELEMENT_ACTION = "action"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
-	private static final String TOUCHPOINT_TYPE = "touchpointType"; //$NON-NLS-1$
-	private static final String TOUCHPOINT_VERSION = "touchpointVersion"; //$NON-NLS-1$
-	/**
-	 * Service name constant for the action manager service. This service is used internally
-	 * by the engine implementation and should not be referenced directly by clients.
-	 */
-	public static final String SERVICE_NAME = ActionManager.class.getName();
-
-	private HashMap actionMap;
-	private TouchpointManager touchpointManager;
-
-	public ActionManager() {
-		this.touchpointManager = new TouchpointManager();
-		RegistryFactory.getRegistry().addRegistryChangeListener(this, EngineActivator.ID);
-	}
-
-	public Touchpoint getTouchpointPoint(ITouchpointType type) {
-		if (type == null || type == ITouchpointType.NONE)
-			return null;
-		return touchpointManager.getTouchpoint(type);
-	}
-
-	public String getTouchpointQualifiedActionId(String actionId, ITouchpointType type) {
-		if (actionId.indexOf('.') == -1) {
-			if (type == null || type == ITouchpointType.NONE)
-				return actionId;
-
-			Touchpoint touchpoint = touchpointManager.getTouchpoint(type);
-			if (touchpoint == null)
-				throw new IllegalArgumentException(NLS.bind(Messages.ActionManager_Required_Touchpoint_Not_Found, type.toString(), actionId));
-			actionId = touchpoint.qualifyAction(actionId);
-		}
-		return actionId;
-	}
-
-	public ProvisioningAction getAction(String actionId, VersionRange versionRange) {
-		IConfigurationElement actionElement = (IConfigurationElement) getActionMap().get(actionId);
-		if (actionElement != null && actionElement.isValid()) {
-			try {
-				ProvisioningAction action = (ProvisioningAction) actionElement.createExecutableExtension(ATTRIBUTE_CLASS);
-
-				String touchpointType = actionElement.getAttribute(TOUCHPOINT_TYPE);
-				if (touchpointType != null) {
-					String touchpointVersion = actionElement.getAttribute(TOUCHPOINT_VERSION);
-					Touchpoint touchpoint = touchpointManager.getTouchpoint(touchpointType, touchpointVersion);
-					if (touchpoint == null)
-						throw new IllegalArgumentException(NLS.bind(Messages.ActionManager_Required_Touchpoint_Not_Found, touchpointType, actionId));
-					action.setTouchpoint(touchpoint);
-				}
-				return action;
-			} catch (InvalidRegistryObjectException e) {
-				// skip
-			} catch (CoreException e) {
-				throw new IllegalArgumentException(NLS.bind(Messages.ActionManager_Exception_Creating_Action_Extension, actionId));
-			}
-		}
-		return null;
-	}
-
-	private synchronized Map getActionMap() {
-		if (actionMap != null)
-			return actionMap;
-		IExtensionPoint point = RegistryFactory.getRegistry().getExtensionPoint(EngineActivator.ID, PT_ACTIONS);
-		IExtension[] extensions = point.getExtensions();
-		actionMap = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			try {
-				IConfigurationElement[] elements = extensions[i].getConfigurationElements();
-				for (int j = 0; j < elements.length; j++) {
-					IConfigurationElement actionElement = elements[j];
-					if (!actionElement.getName().equals(ELEMENT_ACTION))
-						continue;
-
-					String actionId = actionElement.getAttribute(ATTRIBUTE_NAME);
-					if (actionId == null)
-						continue;
-
-					if (actionId.indexOf('.') == -1)
-						actionId = actionElement.getNamespaceIdentifier() + "." + actionId; //$NON-NLS-1$
-
-					actionMap.put(actionId, actionElement);
-				}
-			} catch (InvalidRegistryObjectException e) {
-				// skip
-			}
-		}
-		return actionMap;
-	}
-
-	public synchronized void registryChanged(IRegistryChangeEvent event) {
-		actionMap = null;
-	}
-
-	static void reportError(String errorMsg) {
-		Status errorStatus = new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null);
-		LogHelper.log(errorStatus);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DebugHelper.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DebugHelper.java
deleted file mode 100644
index 2eccc81..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DebugHelper.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-
-import java.io.File;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-public class DebugHelper {
-	public static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	public static final boolean DEBUG_PROFILE_REGISTRY;
-	public static final boolean DEBUG_ENGINE;
-	public static final boolean DEBUG_ENGINE_SESSION;
-
-	static {
-		DebugOptions options = (DebugOptions) ServiceHelper.getService(EngineActivator.getContext(), DebugOptions.class.getName());
-		if (options != null) {
-			DEBUG_PROFILE_REGISTRY = options.getBooleanOption(EngineActivator.ID + "/profileregistry/debug", false); //$NON-NLS-1$
-			DEBUG_ENGINE = options.getBooleanOption(EngineActivator.ID + "/engine/debug", false); //$NON-NLS-1$
-			DEBUG_ENGINE_SESSION = options.getBooleanOption(EngineActivator.ID + "/enginesession/debug", false); //$NON-NLS-1$
-		} else {
-			DEBUG_PROFILE_REGISTRY = false;
-			DEBUG_ENGINE = false;
-			DEBUG_ENGINE_SESSION = false;
-		}
-	}
-
-	public static void debug(String name, String message) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("["); //$NON-NLS-1$
-		buffer.append(EngineActivator.ID + "-" + name); //$NON-NLS-1$
-		buffer.append("] "); //$NON-NLS-1$
-		buffer.append(new Date(System.currentTimeMillis()));
-		buffer.append(" - ["); //$NON-NLS-1$
-		buffer.append(Thread.currentThread().getName());
-		buffer.append("] " + LINE_SEPARATOR); //$NON-NLS-1$
-		buffer.append(message);
-		System.out.println(buffer.toString());
-	}
-
-	public static String formatArray(Object[] array, boolean toString, boolean newLines) {
-		if (array == null || array.length == 0)
-			return "[]"; //$NON-NLS-1$
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('[');
-		int i = 0;
-		for (;;) {
-			if (toString)
-				buffer.append(array[i].toString());
-			else
-				buffer.append(array[i].getClass().getName());
-			i++;
-			if (i == array.length)
-				break;
-			buffer.append(',');
-			if (newLines)
-				buffer.append(DebugHelper.LINE_SEPARATOR);
-			else
-				buffer.append(' ');
-		}
-		buffer.append(']');
-		return buffer.toString();
-	}
-
-	public static String formatOperation(PhaseSet phaseSet, Operand[] operands, ProvisioningContext context) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("phaseSet=" + formatPhaseSet(phaseSet)); //$NON-NLS-1$
-		buffer.append(","); //$NON-NLS-1$
-		buffer.append(DebugHelper.LINE_SEPARATOR);
-		buffer.append("operands=" + formatOperands(operands)); //$NON-NLS-1$
-		buffer.append(","); //$NON-NLS-1$
-		buffer.append(DebugHelper.LINE_SEPARATOR);
-		buffer.append("context=" + formatContext(context)); //$NON-NLS-1$
-		return buffer.toString();
-	}
-
-	public static String formatOperands(Operand[] operands) {
-		String[] operandStrings = new String[operands.length];
-		for (int i = 0; i < operands.length; i++) {
-			if (operands[i] instanceof InstallableUnitOperand) {
-				InstallableUnitOperand iuOperand = (InstallableUnitOperand) operands[i];
-				operandStrings[i] = formatInstallableUnitOperand(iuOperand);
-			} else {
-				operandStrings[i] = operands[i].toString();
-			}
-		}
-		return DebugHelper.formatArray(operandStrings, true, true);
-	}
-
-	public static String formatInstallableUnitOperand(InstallableUnitOperand iuOperand) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(iuOperand.first());
-		if (iuOperand.first() != null && iuOperand.first().getFragments() != null)
-			buffer.append(DebugHelper.formatArray(iuOperand.first().getFragments(), true, false));
-		buffer.append(" --> "); //$NON-NLS-1$
-		buffer.append(iuOperand.second());
-		if (iuOperand.second() != null && iuOperand.second().getFragments() != null)
-			buffer.append(DebugHelper.formatArray(iuOperand.second().getFragments(), true, false));
-		return buffer.toString();
-	}
-
-	public static String formatPhaseSet(PhaseSet phaseSet) {
-		StringBuffer buffer = new StringBuffer(phaseSet.getClass().getName());
-		buffer.append(DebugHelper.formatArray(phaseSet.getPhases(), false, false));
-		return buffer.toString();
-	}
-
-	public static String formatContext(ProvisioningContext context) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("{artifactRepos=" + DebugHelper.formatArray(context.getArtifactRepositories(), true, false)); //$NON-NLS-1$
-		buffer.append(", metadataRepos=" + DebugHelper.formatArray(context.getMetadataRepositories(), true, false)); //$NON-NLS-1$
-		buffer.append(", properties=" + context.getProperties() + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		return buffer.toString();
-	}
-
-	public static String formatAction(ProvisioningAction action, Map parameters) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(action.getClass().getName());
-		if (action instanceof ParameterizedProvisioningAction) {
-			ParameterizedProvisioningAction parameterizedAction = (ParameterizedProvisioningAction) action;
-			buffer.append("{action=" + parameterizedAction.getAction().getClass().getName()); //$NON-NLS-1$
-			buffer.append(", actionText=" + parameterizedAction.getActionText() + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		buffer.append(DebugHelper.LINE_SEPARATOR);
-		buffer.append("parameters=" + formatParameters(parameters)); //$NON-NLS-1$
-		return buffer.toString();
-	}
-
-	public static String formatParameters(Map parameters) {
-		Iterator it = parameters.entrySet().iterator();
-		if (!it.hasNext())
-			return "{}"; //$NON-NLS-1$
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('{');
-		for (;;) {
-			Entry e = (Entry) it.next();
-			String key = (String) e.getKey();
-			buffer.append(key);
-			buffer.append('=');
-			Object value = e.getValue();
-			if (value instanceof String || value instanceof File || value instanceof Operand || value instanceof IArtifactKey || value instanceof IInstallableUnit)
-				buffer.append(value);
-			else if (value instanceof IProfile)
-				buffer.append(((IProfile) value).getProfileId());
-			else
-				buffer.append(value.getClass().getName());
-			if (!it.hasNext()) {
-				buffer.append('}');
-				break;
-			}
-			buffer.append(',');
-			buffer.append(DebugHelper.LINE_SEPARATOR);
-			buffer.append(' ');
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
deleted file mode 100644
index 98b2cb6..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-public class DownloadManager {
-	private ProvisioningContext provContext = null;
-	ArrayList requestsToProcess = new ArrayList();
-
-	private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
-
-	/**
-	 * This Comparator sorts the repositories such that ´local´ repositories are first
-	 */
-	private static final Comparator LOCAL_FIRST_COMPARATOR = new Comparator() {
-
-		public int compare(Object arg0, Object arg1) {
-			Assert.isTrue(arg0 instanceof URI);
-			Assert.isTrue(arg1 instanceof URI);
-
-			String protocol0 = ((URI) arg0).getScheme();
-			String protocol1 = ((URI) arg1).getScheme();
-
-			if (FILE_PROTOCOL.equals(protocol0) && !FILE_PROTOCOL.equals(protocol1))
-				return -1;
-			if (!FILE_PROTOCOL.equals(protocol0) && FILE_PROTOCOL.equals(protocol1))
-				return 1;
-			return 0;
-		}
-	};
-	private final IArtifactRepositoryManager repositoryManager;
-
-	public DownloadManager(ProvisioningContext context, IArtifactRepositoryManager repositoryManager) {
-		provContext = context;
-		this.repositoryManager = repositoryManager;
-	}
-
-	/*
-	 * Add the given artifact to the download queue. When it
-	 * is downloaded, put it in the specified location.
-	 */
-	public void add(IArtifactRequest toAdd) {
-		Assert.isNotNull(toAdd);
-		requestsToProcess.add(toAdd);
-	}
-
-	public void add(IArtifactRequest[] toAdd) {
-		Assert.isNotNull(toAdd);
-		for (int i = 0; i < toAdd.length; i++) {
-			add(toAdd[i]);
-		}
-	}
-
-	private void filterUnfetched() {
-		for (Iterator iterator = requestsToProcess.iterator(); iterator.hasNext();) {
-			IArtifactRequest request = (IArtifactRequest) iterator.next();
-			if (request.getResult() != null && request.getResult().isOK()) {
-				iterator.remove();
-			}
-		}
-	}
-
-	/*
-	 * Start the downloads. Return a status message indicating success or failure of the overall operation
-	 */
-	public IStatus start(IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor, Messages.download_artifact, requestsToProcess.size());
-		try {
-			if (requestsToProcess.isEmpty())
-				return Status.OK_STATUS;
-
-			URI[] repositories = null;
-			if (provContext == null || provContext.getArtifactRepositories() == null)
-				repositories = repositoryManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-			else
-				repositories = provContext.getArtifactRepositories();
-			if (repositories.length == 0)
-				return new Status(IStatus.ERROR, EngineActivator.ID, Messages.download_no_repository, new Exception());
-			Arrays.sort(repositories, LOCAL_FIRST_COMPARATOR);
-			fetch(repositories, subMonitor);
-			return overallStatus(monitor);
-		} finally {
-			subMonitor.done();
-		}
-	}
-
-	private void fetch(URI[] repositories, SubMonitor monitor) {
-		for (int i = 0; i < repositories.length && !requestsToProcess.isEmpty() && !monitor.isCanceled(); i++) {
-			try {
-				IArtifactRepository current = repositoryManager.loadRepository(repositories[i], monitor.newChild(0));
-				IArtifactRequest[] requests = getRequestsForRepository(current);
-				IStatus dlStatus = current.getArtifacts(requests, monitor.newChild(requests.length));
-				if (dlStatus.getSeverity() == IStatus.CANCEL)
-					return;
-				filterUnfetched();
-				monitor.setWorkRemaining(requestsToProcess.size());
-			} catch (ProvisionException e) {
-				//skip unreachable repositories
-			}
-		}
-	}
-
-	private IArtifactRequest[] getRequestsForRepository(IArtifactRepository repository) {
-		ArrayList applicable = new ArrayList();
-		for (Iterator it = requestsToProcess.iterator(); it.hasNext();) {
-			IArtifactRequest request = (IArtifactRequest) it.next();
-			if (repository.contains(request.getArtifactKey()))
-				applicable.add(request);
-		}
-		return (IArtifactRequest[]) applicable.toArray(new IArtifactRequest[applicable.size()]);
-	}
-
-	//	private void notifyFetched() {
-	//		ProvisioningEventBus bus = (ProvisioningEventBus) ServiceHelper.getService(DownloadActivator.context, ProvisioningEventBus.class);
-	//		bus.publishEvent();
-	//	}
-
-	private IStatus overallStatus(IProgressMonitor monitor) {
-		if (monitor != null && monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-
-		if (requestsToProcess.size() == 0)
-			return Status.OK_STATUS;
-
-		MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		for (Iterator iterator = requestsToProcess.iterator(); iterator.hasNext();) {
-			IStatus failed = ((IArtifactRequest) iterator.next()).getResult();
-			if (failed != null && !failed.isOK())
-				result.add(failed);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Engine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Engine.java
deleted file mode 100644
index c9c10ad..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Engine.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-
-/**
- * TODO Move concrete class to non-API package
- */
-public class Engine implements IEngine {
-
-	private static final String ENGINE = "engine"; //$NON-NLS-1$
-	private IProvisioningAgent agent;
-
-	public Engine(IProvisioningAgent agent) {
-		this.agent = agent;
-		agent.registerService(ActionManager.SERVICE_NAME, new ActionManager());
-	}
-
-	private void checkArguments(IProfile iprofile, PhaseSet phaseSet, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
-		if (iprofile == null)
-			throw new IllegalArgumentException(Messages.null_profile);
-
-		if (phaseSet == null)
-			throw new IllegalArgumentException(Messages.null_phaseset);
-
-		if (operands == null)
-			throw new IllegalArgumentException(Messages.null_operands);
-	}
-
-	public IStatus perform(IProvisioningPlan plan, IPhaseSet phaseSet, IProgressMonitor monitor) {
-		return perform(plan.getProfile(), phaseSet, plan.getOperands(), plan.getContext(), monitor);
-	}
-
-	public IStatus perform(IProvisioningPlan plan, IProgressMonitor monitor) {
-		return perform(plan.getProfile(), new DefaultPhaseSet(), plan.getOperands(), plan.getContext(), monitor);
-	}
-
-	public IStatus perform(IProfile iprofile, IPhaseSet phases, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
-		PhaseSet phaseSet = (PhaseSet) phases;
-		checkArguments(iprofile, phaseSet, operands, context, monitor);
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		IProvisioningEventBus eventBus = (IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME);
-
-		if (context == null)
-			context = new ProvisioningContext();
-
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-
-		Profile profile = profileRegistry.validate(iprofile);
-
-		profileRegistry.lockProfile(profile);
-		try {
-			eventBus.publishEvent(new BeginOperationEvent(profile, phaseSet, operands, this));
-			if (DebugHelper.DEBUG_ENGINE)
-				DebugHelper.debug(ENGINE, "Beginning engine operation for profile=" + profile.getProfileId() + " [" + profile.getTimestamp() + "]:" + DebugHelper.LINE_SEPARATOR + DebugHelper.formatOperation(phaseSet, operands, context)); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-
-			EngineSession session = new EngineSession(agent, profile, context);
-
-			MultiStatus result = phaseSet.perform(session, operands, monitor);
-			if (result.isOK() || result.matches(IStatus.INFO | IStatus.WARNING)) {
-				if (DebugHelper.DEBUG_ENGINE)
-					DebugHelper.debug(ENGINE, "Preparing to commit engine operation for profile=" + profile.getProfileId()); //$NON-NLS-1$
-				result.merge(session.prepare(monitor));
-			}
-			if (result.matches(IStatus.ERROR | IStatus.CANCEL)) {
-				if (DebugHelper.DEBUG_ENGINE)
-					DebugHelper.debug(ENGINE, "Rolling back engine operation for profile=" + profile.getProfileId() + ". Reason was: " + result.toString()); //$NON-NLS-1$ //$NON-NLS-2$
-				IStatus status = session.rollback(monitor, result.getSeverity());
-				if (status.matches(IStatus.ERROR))
-					LogHelper.log(status);
-				eventBus.publishEvent(new RollbackOperationEvent(profile, phaseSet, operands, this, result));
-			} else {
-				if (DebugHelper.DEBUG_ENGINE)
-					DebugHelper.debug(ENGINE, "Committing engine operation for profile=" + profile.getProfileId()); //$NON-NLS-1$
-				if (profile.isChanged())
-					profileRegistry.updateProfile(profile);
-				IStatus status = session.commit(monitor);
-				if (status.matches(IStatus.ERROR))
-					LogHelper.log(status);
-				eventBus.publishEvent(new CommitOperationEvent(profile, phaseSet, operands, this));
-			}
-			//if there is only one child status, return that status instead because it will have more context
-			IStatus[] children = result.getChildren();
-			return children.length == 1 ? children[0] : result;
-		} finally {
-			profileRegistry.unlockProfile(profile);
-			profile.setChanged(false);
-		}
-	}
-
-	public IStatus validate(IProfile iprofile, PhaseSet phaseSet, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
-		checkArguments(iprofile, phaseSet, operands, context, monitor);
-
-		if (context == null)
-			context = new ProvisioningContext();
-
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-
-		ActionManager actionManager = (ActionManager) agent.getService(ActionManager.SERVICE_NAME);
-		return phaseSet.validate(actionManager, iprofile, operands, context, monitor);
-	}
-
-	public IPhaseSet createPhaseSetExcluding(String[] excludes) {
-		return PhaseSet.createPhaseSetExcluding(excludes);
-	}
-
-	public IPhaseSet createPhaseSetIncluding(String[] includes) {
-		return PhaseSet.createPhaseSetIncluding(includes);
-	}
-
-	public IProvisioningPlan createCustomPlan(IProfile profile, Operand[] operands, ProvisioningContext context) {
-		return new ProvisioningPlan(profile, operands, context);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
deleted file mode 100644
index 114b2ca..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class EngineActivator implements BundleActivator, ServiceTrackerCustomizer {
-	private static BundleContext context;
-	public static final String ID = "org.eclipse.equinox.p2.engine"; //$NON-NLS-1$
-
-	/**
-	 * System property describing the profile registry file format
-	 */
-	public static final String PROP_PROFILE_FORMAT = "eclipse.p2.profileFormat"; //$NON-NLS-1$
-
-	/**
-	 * Value for the PROP_PROFILE_FORMAT system property specifying raw XML file
-	 * format (used in p2 until and including 3.5.0 release).
-	 */
-	public static final String PROFILE_FORMAT_UNCOMPRESSED = "uncompressed"; //$NON-NLS-1$
-
-	/**
-	 * System property specifying how the engine should handle unsigned artifacts.
-	 * If this property is undefined, the default value is assumed to be "prompt".
-	 */
-	public static final String PROP_UNSIGNED_POLICY = "eclipse.p2.unsignedPolicy"; //$NON-NLS-1$
-
-	/**
-	 * System property value specifying that the engine should prompt for confirmation
-	 * when installing unsigned artifacts.
-	 */
-	public static final String UNSIGNED_PROMPT = "prompt"; //$NON-NLS-1$
-
-	/**
-	 * System property value specifying that the engine should fail when an attempt
-	 * is made to install unsigned artifacts.
-	 */
-	public static final String UNSIGNED_FAIL = "fail"; //$NON-NLS-1$
-
-	/**
-	 * System property value specifying that the engine should silently allow unsigned
-	 * artifacts to be installed.
-	 */
-	public static final String UNSIGNED_ALLOW = "allow"; //$NON-NLS-1$
-
-	private ServiceRegistration registration;
-
-	private ServiceTracker tracker;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public Object addingService(ServiceReference reference) {
-		if (registration == null) {
-			//TODO: eventually we shouldn't register a singleton engine automatically
-			IProvisioningAgent agent = (IProvisioningAgent) context.getService(reference);
-			IEngine engine = (IEngine) agent.getService(IEngine.SERVICE_NAME);
-			registration = context.registerService(IEngine.SERVICE_NAME, engine, null);
-			return agent;
-		}
-		return null;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// nothing to do
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		if (registration != null) {
-			registration.unregister();
-			registration = null;
-		}
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		EngineActivator.context = aContext;
-		//only want to register a service for the agent of the currently running system
-		String filter = "(&(objectClass=" + IProvisioningAgent.SERVICE_NAME + ")(agent.current=true))"; //$NON-NLS-1$ //$NON-NLS-2$
-		tracker = new ServiceTracker(context, aContext.createFilter(filter), this);
-		tracker.open();
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		tracker.close();
-		tracker = null;
-		//ensure there are no more profile preference save jobs running
-		Job.getJobManager().join(ProfilePreferences.PROFILE_SAVE_JOB_FAMILY, null);
-
-		EngineActivator.context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineComponent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineComponent.java
deleted file mode 100644
index 7a20606..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineComponent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.engine.IEngine;
-
-/**
- * Component that provides a factory that can create and initialize
- * {@link IEngine} instances.
- */
-public class EngineComponent implements IAgentServiceFactory {
-
-	/*(non-Javadoc)
-	 * @see org.eclipse.equinox.p2.core.spi.IAgentServiceFactory#createService(org.eclipse.equinox.p2.core.IProvisioningAgent)
-	 */
-	public Object createService(IProvisioningAgent agent) {
-		//various parts of the engine may need an open-ended set of services, so we pass the agent to the engine directly
-		return new Engine(agent);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineSession.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineSession.java
deleted file mode 100644
index a67e0e2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineSession.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * TODO: not API
- */
-public class EngineSession {
-	private static final String ENGINE_SESSION = "enginesession"; //$NON-NLS-1$
-
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	private static class ActionsRecord {
-		Operand operand;
-		List actions = new ArrayList();
-
-		ActionsRecord(Operand operand) {
-			this.operand = operand;
-		}
-	}
-
-	private List phaseActionRecordsPairs = new ArrayList();
-
-	private Phase currentPhase;
-	boolean currentPhaseActive;
-
-	private List currentActionRecords;
-	private ActionsRecord currentRecord;
-
-	private IProfile profile;
-
-	private ProvisioningContext context;
-
-	private final HashMap sessionServices = new HashMap();
-
-	private Set touchpoints = new HashSet();
-
-	private final IProvisioningAgent agent;
-
-	public EngineSession(IProvisioningAgent agent, IProfile profile, ProvisioningContext context) {
-		super();
-		this.agent = agent;
-		this.profile = profile;
-		this.context = context;
-	}
-
-	public IProfile getProfile() {
-		return profile;
-	}
-
-	public IProvisioningAgent getAgent() {
-		return agent;
-	}
-
-	public ProvisioningContext getProvisioningContext() {
-		return context;
-	}
-
-	public File getProfileDataDirectory() {
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		return profileRegistry.getProfileDataDirectory(profile.getProfileId());
-	}
-
-	/**
-	 * This is the interface through which parts of the engine obtain the services they need
-	 * @param serviceName The name of the service to obtain
-	 * @return The service instance, or <code>null</code> if no such service is available
-	 */
-	public Object getxService(String serviceName) {
-		Object result = sessionServices.get(serviceName);
-		if (result != null)
-			return result;
-		return agent.getService(serviceName);
-	}
-
-	IStatus prepare(IProgressMonitor monitor) {
-		monitor.subTask(Messages.preparing);
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		for (Iterator iterator = touchpoints.iterator(); iterator.hasNext();) {
-			Touchpoint touchpoint = (Touchpoint) iterator.next();
-			try {
-				status.add(touchpoint.prepare(profile));
-			} catch (RuntimeException e) {
-				// "touchpoint.prepare" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_prepare_error, touchpoint.getClass().getName()), e));
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_prepare_error, touchpoint.getClass().getName()), e));
-			}
-		}
-
-		if (status.matches(IStatus.ERROR)) {
-			MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, NLS.bind(Messages.session_prepare_error, profile.getProfileId()), null);
-			result.merge(status);
-			return result;
-		}
-		return status;
-	}
-
-	IStatus commit(IProgressMonitor monitor) {
-		monitor.subTask(Messages.committing);
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		phaseActionRecordsPairs.clear();
-		for (Iterator iterator = touchpoints.iterator(); iterator.hasNext();) {
-			Touchpoint touchpoint = (Touchpoint) iterator.next();
-			try {
-				IStatus result = touchpoint.commit(profile);
-				if (!result.isOK())
-					status.add(result);
-			} catch (RuntimeException e) {
-				// "touchpoint.commit" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_commit_error, touchpoint.getClass().getName()), e));
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_commit_error, touchpoint.getClass().getName()), e));
-			}
-		}
-
-		if (status.matches(IStatus.ERROR)) {
-			MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, NLS.bind(Messages.session_commit_error, profile.getProfileId()), null);
-			result.merge(status);
-			return result;
-		}
-		return status;
-	}
-
-	IStatus rollback(IProgressMonitor monitor, int severity) {
-		if (severity == IStatus.CANCEL)
-			monitor.subTask(Messages.rollingback_cancel);
-
-		if (severity == IStatus.ERROR)
-			monitor.subTask(Messages.rollingback_error);
-
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-
-		if (currentPhaseActive) {
-			try {
-				IStatus result = rollBackPhase(currentPhase, currentActionRecords);
-				if (!result.isOK())
-					status.add(result);
-			} catch (RuntimeException e) {
-				// "phase.prePerform and phase.postPerform" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_error, currentPhase.getClass().getName()), e));
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_error, currentPhase.getClass().getName()), e));
-			}
-			currentPhaseActive = false;
-			currentActionRecords = null;
-			currentRecord = null;
-		}
-		currentPhase = null;
-
-		for (ListIterator it = phaseActionRecordsPairs.listIterator(phaseActionRecordsPairs.size()); it.hasPrevious();) {
-			Object[] pair = (Object[]) it.previous();
-			Phase phase = (Phase) pair[0];
-			List actionRecords = (List) pair[1];
-			try {
-				final IStatus result = rollBackPhase(phase, actionRecords);
-				if (!result.isOK())
-					status.add(result);
-			} catch (RuntimeException e) {
-				// "phase.prePerform and phase.postPerform" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_error, phase.getClass().getName()), e));
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_error, phase.getClass().getName()), e));
-			}
-		}
-
-		phaseActionRecordsPairs.clear();
-		for (Iterator iterator = touchpoints.iterator(); iterator.hasNext();) {
-			Touchpoint touchpoint = (Touchpoint) iterator.next();
-			try {
-				IStatus result = touchpoint.rollback(profile);
-				if (!result.isOK())
-					status.add(result);
-			} catch (RuntimeException e) {
-				// "touchpoint.rollback" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_rollback_error, touchpoint.getClass().getName()), e));
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				status.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.touchpoint_rollback_error, touchpoint.getClass().getName()), e));
-			}
-		}
-
-		if (status.matches(IStatus.ERROR)) {
-			MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, NLS.bind(Messages.session_commit_error, profile.getProfileId()), null);
-			result.merge(status);
-			return result;
-		}
-		return status;
-	}
-
-	private IStatus rollBackPhase(Phase phase, List actionRecords) {
-		MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		try {
-			phase.actionManager = (ActionManager) agent.getService(ActionManager.SERVICE_NAME);
-
-			if (!currentPhaseActive)
-				phase.prePerform(result, this, new NullProgressMonitor());
-
-			for (ListIterator it = actionRecords.listIterator(actionRecords.size()); it.hasPrevious();) {
-				ActionsRecord record = (ActionsRecord) it.previous();
-				ProvisioningAction[] actions = (ProvisioningAction[]) record.actions.toArray(new ProvisioningAction[record.actions.size()]);
-				try {
-					phase.undo(result, this, profile, record.operand, actions, context);
-				} catch (RuntimeException e) {
-					// "phase.undo" calls user code and might throw an unchecked exception
-					// we catch the error here to gather information on where the problem occurred.
-					result.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_operand_error, phase.getClass().getName(), record.operand), e));
-				} catch (LinkageError e) {
-					// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-					result.add(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.phase_undo_operand_error, phase.getClass().getName(), record.operand), e));
-				}
-			}
-			phase.postPerform(result, this, new NullProgressMonitor());
-		} finally {
-			phase.actionManager = null;
-		}
-		return result;
-	}
-
-	void recordPhaseEnter(Phase phase) {
-		if (phase == null)
-			throw new IllegalArgumentException(Messages.null_phase);
-
-		if (currentPhase != null)
-			throw new IllegalStateException(Messages.phase_started);
-
-		currentPhase = phase;
-
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugPhaseEnter(phase);
-	}
-
-	void recordPhaseStart(Phase phase) {
-		if (phase == null)
-			throw new IllegalArgumentException(Messages.null_phase);
-
-		if (currentPhase != phase)
-			throw new IllegalArgumentException(Messages.not_current_phase);
-
-		currentPhaseActive = true;
-		currentActionRecords = new ArrayList();
-	}
-
-	void recordPhaseEnd(Phase phase) {
-		if (currentPhase == null)
-			throw new IllegalStateException(Messages.phase_not_started);
-
-		if (currentPhase != phase)
-			throw new IllegalArgumentException(Messages.not_current_phase);
-
-		phaseActionRecordsPairs.add(new Object[] {currentPhase, currentActionRecords});
-		currentActionRecords = null;
-		currentPhaseActive = false;
-	}
-
-	void recordPhaseExit(Phase phase) {
-		if (currentPhase == null)
-			throw new IllegalStateException(Messages.phase_not_started);
-
-		if (currentPhase != phase)
-			throw new IllegalArgumentException(Messages.not_current_phase);
-
-		currentPhase = null;
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugPhaseExit(phase);
-	}
-
-	void recordOperandStart(Operand operand) {
-		if (operand == null)
-			throw new IllegalArgumentException(Messages.null_operand);
-
-		if (currentRecord != null)
-			throw new IllegalStateException(Messages.operand_started);
-
-		currentRecord = new ActionsRecord(operand);
-		currentActionRecords.add(currentRecord);
-
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugOperandStart(operand);
-	}
-
-	void recordOperandEnd(Operand operand) {
-		if (currentRecord == null)
-			throw new IllegalStateException(Messages.operand_not_started);
-
-		if (currentRecord.operand != operand)
-			throw new IllegalArgumentException(Messages.not_current_operand);
-
-		currentRecord = null;
-
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugOperandEnd(operand);
-	}
-
-	void recordActionExecute(ProvisioningAction action, Map parameters) {
-		if (action == null)
-			throw new IllegalArgumentException(Messages.null_action);
-
-		currentRecord.actions.add(action);
-
-		Touchpoint touchpoint = action.getTouchpoint();
-		if (touchpoint != null)
-			touchpoints.add(touchpoint);
-
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugActionExecute(action, parameters);
-	}
-
-	public void recordActionUndo(ProvisioningAction action, Map parameters) {
-		if (DebugHelper.DEBUG_ENGINE_SESSION)
-			debugActionUndo(action, parameters);
-	}
-
-	public String getContextString(Phase phase, Operand operand, ProvisioningAction action) {
-		if (action instanceof ParameterizedProvisioningAction) {
-			ParameterizedProvisioningAction parameterizedAction = (ParameterizedProvisioningAction) action;
-			action = parameterizedAction.getAction();
-		}
-		String message = NLS.bind(Messages.session_context, new Object[] {profile.getProfileId(), phase.getClass().getName(), operand.toString(), getCurrentActionId()});
-		return message;
-	}
-
-	public String getContextString() {
-		String message = NLS.bind(Messages.session_context, new Object[] {profile.getProfileId(), getCurrentPhaseId(), getCurrentOperandId(), getCurrentActionId()});
-		return message;
-	}
-
-	private Object getCurrentActionId() {
-		if (currentRecord == null || currentRecord.actions.isEmpty())
-			return EMPTY_STRING;
-
-		Object currentAction = currentRecord.actions.get(currentRecord.actions.size() - 1);
-		if (currentAction instanceof ParameterizedProvisioningAction) {
-			ParameterizedProvisioningAction parameterizedAction = (ParameterizedProvisioningAction) currentAction;
-			currentAction = parameterizedAction.getAction();
-		}
-		return currentAction.getClass().getName();
-	}
-
-	private String getCurrentPhaseId() {
-		if (currentPhase == null)
-			return EMPTY_STRING;
-		return currentPhase.getClass().getName();
-	}
-
-	private String getCurrentOperandId() {
-		if (currentRecord == null)
-			return EMPTY_STRING;
-		return currentRecord.operand.toString();
-	}
-
-	private static void debugPhaseEnter(Phase phase) {
-		DebugHelper.debug(ENGINE_SESSION, "Entering phase: " + phase.getClass().getName()); //$NON-NLS-1$
-	}
-
-	private static void debugPhaseExit(Phase phase) {
-		DebugHelper.debug(ENGINE_SESSION, "Exiting phase: " + phase.getClass().getName()); //$NON-NLS-1$
-	}
-
-	private static void debugOperandStart(Operand operand) {
-		DebugHelper.debug(ENGINE_SESSION, "Starting processing of operand: " + operand.toString()); //$NON-NLS-1$
-	}
-
-	private static void debugOperandEnd(Operand operand) {
-		DebugHelper.debug(ENGINE_SESSION, "Ending processing of operand: " + operand.toString()); //$NON-NLS-1$
-	}
-
-	private static void debugActionExecute(ProvisioningAction action, Map parameters) {
-		DebugHelper.debug(ENGINE_SESSION, "Executing action: " + DebugHelper.formatAction(action, parameters)); //$NON-NLS-1$
-	}
-
-	private static void debugActionUndo(ProvisioningAction action, Map parameters) {
-		DebugHelper.debug(ENGINE_SESSION, "Undoing action: " + DebugHelper.formatAction(action, parameters)); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstallableUnitPhase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstallableUnitPhase.java
deleted file mode 100644
index 46788b7..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstallableUnitPhase.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public abstract class InstallableUnitPhase extends Phase {
-	public static final String PARM_ARTIFACT = "artifact"; //$NON-NLS-1$
-	public static final String PARM_IU = "iu"; //$NON-NLS-1$
-	public static final String PARM_INSTALL_FOLDER = "installFolder"; //$NON-NLS-1$
-
-	protected InstallableUnitPhase(String phaseId, int weight, boolean forced) {
-		super(phaseId, weight, forced);
-	}
-
-	protected InstallableUnitPhase(String phaseId, int weight) {
-		this(phaseId, weight, false);
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		parameters.put(PARM_INSTALL_FOLDER, profile.getProperty(IProfile.PROP_INSTALL_FOLDER));
-		return super.initializePhase(monitor, profile, parameters);
-	}
-
-	protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		mergeStatus(status, initializeOperand(profile, iuOperand, parameters, monitor));
-		IInstallableUnit unit = (IInstallableUnit) parameters.get(PARM_IU);
-		if (unit != null) {
-			Touchpoint touchpoint = getActionManager().getTouchpointPoint(unit.getTouchpointType());
-			if (touchpoint != null) {
-				parameters.put(PARM_TOUCHPOINT, touchpoint);
-			}
-		}
-		mergeStatus(status, super.initializeOperand(profile, operand, parameters, monitor));
-		return status;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		mergeStatus(status, super.completeOperand(profile, iuOperand, parameters, monitor));
-		mergeStatus(status, completeOperand(profile, iuOperand, parameters, monitor));
-		return status;
-	}
-
-	protected IStatus completeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	final protected ProvisioningAction[] getActions(Operand operand) {
-		if (!(operand instanceof InstallableUnitOperand))
-			return null;
-
-		InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-		return getActions(iuOperand);
-	}
-
-	protected abstract ProvisioningAction[] getActions(InstallableUnitOperand operand);
-
-	final public boolean isApplicable(Operand operand) {
-		if (!(operand instanceof InstallableUnitOperand))
-			return false;
-
-		InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-		return isApplicable(iuOperand);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand operand) {
-		return true;
-	}
-
-	protected final ProvisioningAction[] getActions(IInstallableUnit unit, String key) {
-		ITouchpointInstruction[] instructions = getInstructions(unit, key);
-		if (instructions == null || instructions.length == 0)
-			return null;
-
-		List actions = new ArrayList();
-		InstructionParser instructionParser = new InstructionParser(getActionManager());
-		for (int i = 0; i < instructions.length; i++) {
-			actions.addAll(Arrays.asList(instructionParser.parseActions(instructions[i], unit.getTouchpointType())));
-		}
-		return (ProvisioningAction[]) actions.toArray(new ProvisioningAction[actions.size()]);
-	}
-
-	private final static ITouchpointInstruction[] getInstructions(IInstallableUnit unit, String key) {
-		ITouchpointData[] data = unit.getTouchpointData();
-		if (data == null)
-			return null;
-
-		ArrayList matches = new ArrayList(data.length);
-		for (int i = 0; i < data.length; i++) {
-			ITouchpointInstruction instructions = data[i].getInstruction(key);
-			if (instructions != null)
-				matches.add(instructions);
-		}
-
-		ITouchpointInstruction[] result = (ITouchpointInstruction[]) matches.toArray(new ITouchpointInstruction[matches.size()]);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
deleted file mode 100644
index e9967b1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.MissingAction;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class InstructionParser {
-
-	public class ActionEntry {
-
-		protected final VersionRange versionRange;
-		protected final String actionId;
-
-		public ActionEntry(String actionId, VersionRange versionRange) {
-			this.actionId = actionId;
-			this.versionRange = versionRange;
-		}
-	}
-
-	private static final String VERSION_EQUALS = "version="; //$NON-NLS-1$
-	private ActionManager actionManager;
-
-	public InstructionParser(ActionManager actionManager) {
-		Assert.isNotNull(actionManager);
-		this.actionManager = actionManager;
-	}
-
-	public ProvisioningAction[] parseActions(ITouchpointInstruction instruction, ITouchpointType touchpointType) {
-		List actions = new ArrayList();
-		Map importMap = parseImportAttribute(instruction.getImportAttribute());
-		StringTokenizer tokenizer = new StringTokenizer(instruction.getBody(), ";"); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			actions.add(parseAction(tokenizer.nextToken(), importMap, touchpointType));
-		}
-
-		return (ProvisioningAction[]) actions.toArray(new ProvisioningAction[actions.size()]);
-	}
-
-	private Map parseImportAttribute(String importAttribute) {
-		if (importAttribute == null)
-			return Collections.EMPTY_MAP;
-
-		Map result = new HashMap();
-		StringTokenizer tokenizer = new StringTokenizer(importAttribute, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			StringTokenizer actionTokenizer = new StringTokenizer(tokenizer.nextToken(), ";"); //$NON-NLS-1$
-			String actionId = actionTokenizer.nextToken().trim();
-			int lastDot = actionId.lastIndexOf('.');
-			String actionKey = (lastDot == -1) ? actionId : actionId.substring(lastDot + 1);
-			VersionRange actionVersionRange = null;
-			while (actionTokenizer.hasMoreTokens()) {
-				String actionAttribute = actionTokenizer.nextToken().trim();
-				if (actionAttribute.startsWith(VERSION_EQUALS))
-					actionVersionRange = new VersionRange(actionAttribute.substring(VERSION_EQUALS.length() + 1));
-			}
-			result.put(actionKey, new ActionEntry(actionId, actionVersionRange));
-			result.put(actionId, new ActionEntry(actionId, actionVersionRange));
-		}
-		return result;
-	}
-
-	private ProvisioningAction parseAction(String statement, Map qualifier, ITouchpointType touchpointType) {
-		int openBracket = statement.indexOf('(');
-		int closeBracket = statement.lastIndexOf(')');
-		if (openBracket == -1 || closeBracket == -1 || openBracket > closeBracket)
-			throw new IllegalArgumentException(NLS.bind(Messages.action_syntax_error, statement));
-		String actionName = statement.substring(0, openBracket).trim();
-		ProvisioningAction action = lookupAction(actionName, qualifier, touchpointType);
-		if (action instanceof MissingAction)
-			return action;
-
-		String nameValuePairs = statement.substring(openBracket + 1, closeBracket);
-		if (nameValuePairs.length() == 0)
-			return new ParameterizedProvisioningAction(action, Collections.EMPTY_MAP, statement);
-
-		StringTokenizer tokenizer = new StringTokenizer(nameValuePairs, ","); //$NON-NLS-1$
-		Map parameters = new HashMap();
-		while (tokenizer.hasMoreTokens()) {
-			String nameValuePair = tokenizer.nextToken();
-			int colonIndex = nameValuePair.indexOf(":"); //$NON-NLS-1$
-			if (colonIndex == -1)
-				throw new IllegalArgumentException(NLS.bind(Messages.action_syntax_error, statement));
-			String name = nameValuePair.substring(0, colonIndex).trim();
-			String value = nameValuePair.substring(colonIndex + 1).trim();
-			parameters.put(name, value);
-		}
-		return new ParameterizedProvisioningAction(action, parameters, statement);
-	}
-
-	private ProvisioningAction lookupAction(String actionId, Map importMap, ITouchpointType touchpointType) {
-		VersionRange versionRange = null;
-		ActionEntry actionEntry = (ActionEntry) importMap.get(actionId);
-		if (actionEntry != null) {
-			actionId = actionEntry.actionId;
-			versionRange = actionEntry.versionRange;
-		}
-
-		actionId = actionManager.getTouchpointQualifiedActionId(actionId, touchpointType);
-		ProvisioningAction action = actionManager.getAction(actionId, versionRange);
-		if (action == null)
-			action = new MissingAction(actionId, versionRange);
-
-		return action;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
deleted file mode 100644
index fbdf962..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Messages.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	public static String action_not_found;
-
-	public static String action_syntax_error;
-	public static String action_undo_error;
-
-	public static String ActionManager_Exception_Creating_Action_Extension;
-	public static String ActionManager_Required_Touchpoint_Not_Found;
-
-	public static String actions_not_found;
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.engine.messages"; //$NON-NLS-1$
-
-	public static String CertificateChecker_CertificateError;
-	public static String CertificateChecker_CertificateRejected;
-	public static String CertificateChecker_KeystoreConnectionError;
-
-	public static String CertificateChecker_SignedContentError;
-	public static String CertificateChecker_SignedContentIOError;
-	public static String CertificateChecker_UnsignedNotAllowed;
-
-	public static String committing;
-	public static String download_artifact;
-	public static String download_no_repository;
-	public static String Engine_Operation_Canceled_By_User;
-	public static String error_parsing_profile;
-	public static String error_persisting_profile;
-	public static String forced_action_execute_error;
-	public static String InstallableUnitEvent_type_not_install_or_uninstall;
-	public static String io_FailedRead;
-	public static String io_NotFound;
-	public static String not_current_operand;
-	public static String not_current_phase;
-	public static String null_action;
-
-	public static String null_operand;
-	public static String null_operands;
-	public static String null_phase;
-	public static String null_phases;
-	public static String null_phaseset;
-	public static String null_profile;
-	public static String operand_not_started;
-
-	public static String operand_started;
-
-	public static String ParameterizedProvisioningAction_action_or_parameters_null;
-	public static String phase_error;
-	public static String phase_not_started;
-	public static String phase_started;
-	public static String phase_undo_error;
-	public static String phase_undo_operand_error;
-
-	public static String Phase_Collect_Error;
-	public static String Phase_Install_Error;
-	public static String Phase_Configure_Error;
-	public static String Phase_Configure_Task;
-	public static String Phase_Install_Task;
-	public static String Phase_Sizing_Error;
-	public static String Phase_Sizing_Warning;
-	public static String Phase_Unconfigure_Error;
-	public static String Phase_Uninstall_Error;
-
-	public static String phaseid_not_positive;
-	public static String phaseid_not_set;
-	public static String preparing;
-	public static String profile_does_not_exist;
-	public static String Profile_Duplicate_Root_Profile_Id;
-	public static String profile_lock_not_reentrant;
-	public static String profile_not_current;
-	public static String profile_not_registered;
-	public static String Profile_Null_Profile_Id;
-	public static String Profile_Parent_Not_Found;
-	public static String ProfilePreferences_saving;
-	public static String reg_dir_not_available;
-	public static String rollingback_cancel;
-	public static String rollingback_error;
-	public static String session_commit_error;
-	public static String session_context;
-	public static String session_prepare_error;
-	public static String shared_profile_not_found;
-
-	public static String SimpleProfileRegistry_Bad_profile_location;
-	public static String SimpleProfileRegistry_CannotRemoveCurrentSnapshot;
-	public static String SimpleProfileRegistry_Parser_Error_Parsing_Registry;
-	public static String SimpleProfileRegistry_Parser_Has_Incompatible_Version;
-	public static String SimpleProfileRegistry_Profile_in_use;
-	public static String SimpleProfileRegistry_Profile_not_locked;
-	public static String SimpleProfileRegistry_Profile_not_locked_due_to_exception;
-
-	public static String thread_not_owner;
-	public static String touchpoint_commit_error;
-	public static String touchpoint_prepare_error;
-	public static String touchpoint_rollback_error;
-
-	public static String TouchpointManager_Attribute_Not_Specified;
-	public static String TouchpointManager_Conflicting_Touchpoint_Types;
-	public static String TouchpointManager_Exception_Creating_Touchpoint_Extension;
-	public static String TouchpointManager_Incorrectly_Named_Extension;
-	public static String TouchpointManager_Null_Creating_Touchpoint_Extension;
-	public static String TouchpointManager_Null_Touchpoint_Type_Argument;
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
deleted file mode 100644
index 17c8267..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ParameterizedProvisioningAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-
-public class ParameterizedProvisioningAction extends ProvisioningAction {
-
-	private ProvisioningAction action;
-	private Map actionParameters;
-	private String actionText;
-
-	public ParameterizedProvisioningAction(ProvisioningAction action, Map actionParameters, String actionText) {
-		if (action == null || actionParameters == null)
-			throw new IllegalArgumentException(Messages.ParameterizedProvisioningAction_action_or_parameters_null);
-		this.action = action;
-		this.actionParameters = actionParameters;
-		this.actionText = actionText;
-	}
-
-	public IStatus execute(Map parameters) {
-		parameters = processActionParameters(parameters);
-		return action.execute(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		parameters = processActionParameters(parameters);
-		return action.undo(parameters);
-	}
-
-	private Map processActionParameters(Map parameters) {
-		Map result = new HashMap(parameters);
-		for (Iterator it = actionParameters.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			String name = (String) entry.getKey();
-			String value = processVariables((String) entry.getValue(), parameters);
-			result.put(name, value);
-		}
-		return Collections.unmodifiableMap(result);
-	}
-
-	private String processVariables(String parameterValue, Map parameters) {
-
-		int variableBeginIndex = parameterValue.indexOf("${"); //$NON-NLS-1$
-		if (variableBeginIndex == -1)
-			return parameterValue;
-
-		int variableEndIndex = parameterValue.indexOf('}', variableBeginIndex + 2);
-		if (variableEndIndex == -1)
-			return parameterValue;
-
-		String preVariable = parameterValue.substring(0, variableBeginIndex);
-		String variableName = parameterValue.substring(variableBeginIndex + 2, variableEndIndex);
-		Object value = parameters.get(variableName);
-
-		// try to replace this parameter with a character
-		if (value == null && variableName.charAt(0) == '#') {
-			try {
-				int code = Integer.parseInt(variableName.substring(1));
-				if (code >= 0 && code < 65536)
-					value = Character.toString((char) code);
-			} catch (Throwable t) {
-				// ignore and leave value as null
-			}
-		}
-
-		String variableValue = value == null ? "" : value.toString(); //$NON-NLS-1$
-		String postVariable = processVariables(parameterValue.substring(variableEndIndex + 1), parameters);
-		return preVariable + variableValue + postVariable;
-	}
-
-	public ProvisioningAction getAction() {
-		return action;
-	}
-
-	public Map getParameters() {
-		return actionParameters;
-	}
-
-	public String getActionText() {
-		return actionText;
-	}
-
-	public Touchpoint getTouchpoint() {
-		return action.getTouchpoint();
-	}
-
-	public void setTouchpoint(Touchpoint touchpoint) {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Phase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Phase.java
deleted file mode 100644
index 6bc0ead..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Phase.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class Phase {
-	protected static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
-	protected static final String PARM_PHASE_ID = "phaseId"; //$NON-NLS-1$
-	protected static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
-	protected static final String PARM_PROFILE_DATA_DIRECTORY = "profileDataDirectory"; //$NON-NLS-1$
-	protected static final String PARM_CONTEXT = "context"; //$NON-NLS-1$
-	/**
-	 * Internal property.
-	 */
-	protected static final String PARM_AGENT = "agent"; //$NON-NLS-1$
-	protected static final String PARM_FORCED = "forced"; //$NON-NLS-1$
-	protected static final String PARM_TOUCHPOINT = "touchpoint"; //$NON-NLS-1$
-
-	protected final String phaseId;
-	protected final int weight;
-	protected final boolean forced;
-	protected int prePerformWork = 1000;
-	protected int mainPerformWork = 10000;
-	protected int postPerformWork = 1000;
-	private Map operandParameters = null;
-	private Map phaseParameters = new HashMap();
-	private Map touchpointToTouchpointPhaseParameters = new HashMap();
-	private Map touchpointToTouchpointOperandParameters = new HashMap();
-	ActionManager actionManager; // injected from phaseset
-
-	protected Phase(String phaseId, int weight, boolean forced) {
-		if (phaseId == null || phaseId.length() == 0)
-			throw new IllegalArgumentException(Messages.phaseid_not_set);
-		if (weight <= 0)
-			throw new IllegalArgumentException(Messages.phaseid_not_positive);
-		this.weight = weight;
-		this.phaseId = phaseId;
-		this.forced = forced;
-	}
-
-	protected Phase(String phaseId, int weight) {
-		this(phaseId, weight, false);
-	}
-
-	final protected ActionManager getActionManager() {
-		return actionManager;
-	}
-
-	public String toString() {
-		return getClass().getName() + " - " + this.weight; //$NON-NLS-1$
-	}
-
-	void perform(MultiStatus status, EngineSession session, Operand[] operands, IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor, prePerformWork + mainPerformWork + postPerformWork);
-		session.recordPhaseEnter(this);
-		prePerform(status, session, subMonitor.newChild(prePerformWork));
-		if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-			return;
-		session.recordPhaseStart(this);
-
-		subMonitor.setWorkRemaining(mainPerformWork + postPerformWork);
-		mainPerform(status, session, operands, subMonitor.newChild(mainPerformWork));
-		if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-			return;
-
-		session.recordPhaseEnd(this);
-		subMonitor.setWorkRemaining(postPerformWork);
-		postPerform(status, session, subMonitor.newChild(postPerformWork));
-		phaseParameters.clear();
-		if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-			return;
-		session.recordPhaseExit(this);
-		subMonitor.done();
-	}
-
-	void prePerform(MultiStatus status, EngineSession session, IProgressMonitor monitor) {
-		IProfile profile = session.getProfile();
-		phaseParameters.put(PARM_PROFILE, profile);
-		phaseParameters.put(PARM_PROFILE_DATA_DIRECTORY, session.getProfileDataDirectory());
-		phaseParameters.put(PARM_CONTEXT, session.getProvisioningContext());
-		phaseParameters.put(PARM_PHASE_ID, phaseId);
-		phaseParameters.put(PARM_FORCED, Boolean.toString(forced));
-		phaseParameters.put(PARM_AGENT, session.getAgent());
-		mergeStatus(status, initializePhase(monitor, profile, phaseParameters));
-	}
-
-	private void mainPerform(MultiStatus status, EngineSession session, Operand[] operands, SubMonitor subMonitor) {
-		IProfile profile = session.getProfile();
-		subMonitor.beginTask("", operands.length); //$NON-NLS-1$
-		for (int i = 0; i < operands.length; i++) {
-			subMonitor.setWorkRemaining(operands.length - i);
-			if (subMonitor.isCanceled())
-				throw new OperationCanceledException();
-			Operand operand = operands[i];
-			if (!isApplicable(operand))
-				continue;
-
-			session.recordOperandStart(operand);
-			ProvisioningAction[] actions = getActions(operand);
-			operandParameters = new HashMap(phaseParameters);
-			operandParameters.put(PARM_OPERAND, operand);
-			mergeStatus(status, initializeOperand(profile, operand, operandParameters, subMonitor));
-			if (status.matches(IStatus.ERROR | IStatus.CANCEL)) {
-				operandParameters = null;
-				return;
-			}
-
-			Touchpoint operandTouchpoint = (Touchpoint) operandParameters.get(PARM_TOUCHPOINT);
-			if (operandTouchpoint != null) {
-				mergeStatus(status, initializeTouchpointParameters(profile, operand, operandTouchpoint, subMonitor));
-				if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-					return;
-
-				operandParameters = (Map) touchpointToTouchpointOperandParameters.get(operandTouchpoint);
-			}
-
-			operandParameters = Collections.unmodifiableMap(operandParameters);
-			if (actions != null) {
-				for (int j = 0; j < actions.length; j++) {
-					ProvisioningAction action = actions[j];
-					Map parameters = operandParameters;
-					Touchpoint touchpoint = action.getTouchpoint();
-					if (touchpoint != null) {
-						mergeStatus(status, initializeTouchpointParameters(profile, operand, touchpoint, subMonitor));
-						if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-							return;
-
-						parameters = (Map) touchpointToTouchpointOperandParameters.get(touchpoint);
-					}
-					IStatus actionStatus = null;
-					try {
-						session.recordActionExecute(action, parameters);
-						actionStatus = action.execute(parameters);
-					} catch (RuntimeException e) {
-						if (!forced)
-							throw e;
-						// "action.execute" calls user code and might throw an unchecked exception
-						// we catch the error here to gather information on where the problem occurred.
-						actionStatus = new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.forced_action_execute_error, action.getClass().getName()), e);
-					} catch (LinkageError e) {
-						if (!forced)
-							throw e;
-						// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-						actionStatus = new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.forced_action_execute_error, action.getClass().getName()), e);
-					}
-					if (forced && actionStatus != null && actionStatus.matches(IStatus.ERROR)) {
-						MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, getProblemMessage(), null);
-						result.add(new Status(IStatus.ERROR, EngineActivator.ID, session.getContextString(this, operand, action), null));
-						LogHelper.log(result);
-						actionStatus = Status.OK_STATUS;
-					}
-					mergeStatus(status, actionStatus);
-					if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-						return;
-				}
-			}
-			mergeStatus(status, touchpointCompleteOperand(profile, operand, operandParameters, subMonitor));
-			mergeStatus(status, completeOperand(profile, operand, operandParameters, subMonitor));
-			if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-				return;
-			operandParameters = null;
-			session.recordOperandEnd(operand);
-			subMonitor.worked(1);
-		}
-	}
-
-	private IStatus initializeTouchpointParameters(IProfile profile, Operand operand, Touchpoint touchpoint, IProgressMonitor monitor) {
-		if (touchpointToTouchpointOperandParameters.containsKey(touchpoint))
-			return Status.OK_STATUS;
-
-		Map touchpointPhaseParameters = (Map) touchpointToTouchpointPhaseParameters.get(touchpoint);
-		if (touchpointPhaseParameters == null) {
-			touchpointPhaseParameters = new HashMap(phaseParameters);
-			IStatus status = touchpoint.initializePhase(monitor, profile, phaseId, touchpointPhaseParameters);
-			if (status != null && status.matches(IStatus.ERROR | IStatus.CANCEL))
-				return status;
-			touchpointToTouchpointPhaseParameters.put(touchpoint, touchpointPhaseParameters);
-		}
-
-		Map touchpointOperandParameters = new HashMap(touchpointPhaseParameters);
-		touchpointOperandParameters.putAll(operandParameters);
-		IStatus status = touchpoint.initializeOperand(profile, operand, touchpointOperandParameters);
-		if (status != null && status.matches(IStatus.ERROR | IStatus.CANCEL))
-			return status;
-		touchpointToTouchpointOperandParameters.put(touchpoint, touchpointOperandParameters);
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Merges a given IStatus into a MultiStatus
-	 */
-	protected static void mergeStatus(MultiStatus multi, IStatus status) {
-		if (status != null && !status.isOK())
-			multi.merge(status);
-	}
-
-	void postPerform(MultiStatus status, EngineSession session, IProgressMonitor monitor) {
-		IProfile profile = session.getProfile();
-		mergeStatus(status, touchpointCompletePhase(monitor, profile, phaseParameters));
-		mergeStatus(status, completePhase(monitor, profile, phaseParameters));
-	}
-
-	void undo(MultiStatus status, EngineSession session, IProfile profile, Operand operand, ProvisioningAction[] actions, ProvisioningContext context) {
-		if (operandParameters == null) {
-			operandParameters = new HashMap(phaseParameters);
-			operandParameters.put(PARM_OPERAND, operand);
-			mergeStatus(status, initializeOperand(profile, operand, operandParameters, new NullProgressMonitor()));
-			Touchpoint operandTouchpoint = (Touchpoint) operandParameters.get(PARM_TOUCHPOINT);
-			if (operandTouchpoint != null) {
-				mergeStatus(status, initializeTouchpointParameters(profile, operand, operandTouchpoint, new NullProgressMonitor()));
-				if (status.matches(IStatus.ERROR | IStatus.CANCEL))
-					return;
-
-				operandParameters = (Map) touchpointToTouchpointOperandParameters.get(operandTouchpoint);
-			}
-			operandParameters = Collections.unmodifiableMap(operandParameters);
-		}
-		for (int j = 0; j < actions.length; j++) {
-			ProvisioningAction action = actions[j];
-			Map parameters = operandParameters;
-			Touchpoint touchpoint = action.getTouchpoint();
-			if (touchpoint != null) {
-				mergeStatus(status, initializeTouchpointParameters(profile, operand, touchpoint, new NullProgressMonitor()));
-				if (status.matches(IStatus.ERROR))
-					return;
-
-				parameters = (Map) touchpointToTouchpointOperandParameters.get(touchpoint);
-			}
-			IStatus actionStatus = null;
-			try {
-				session.recordActionUndo(action, parameters);
-				actionStatus = action.undo(parameters);
-			} catch (RuntimeException e) {
-				// "action.undo" calls user code and might throw an unchecked exception
-				// we catch the error here to gather information on where the problem occurred.
-				actionStatus = new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.action_undo_error, action.getClass().getName()), e);
-			} catch (LinkageError e) {
-				// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-				actionStatus = new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.action_undo_error, action.getClass().getName()), e);
-			}
-			if (actionStatus != null && actionStatus.matches(IStatus.ERROR)) {
-				MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, getProblemMessage(), null);
-				result.add(new Status(IStatus.ERROR, EngineActivator.ID, session.getContextString(this, operand, action), null));
-				result.merge(actionStatus);
-			}
-		}
-		mergeStatus(status, touchpointCompleteOperand(profile, operand, operandParameters, new NullProgressMonitor()));
-		mergeStatus(status, completeOperand(profile, operand, operandParameters, new NullProgressMonitor()));
-		operandParameters = null;
-	}
-
-	public boolean isApplicable(Operand operand) {
-		return true;
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	IStatus touchpointCompletePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		if (touchpointToTouchpointPhaseParameters.isEmpty())
-			return Status.OK_STATUS;
-
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		for (Iterator it = touchpointToTouchpointPhaseParameters.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			Touchpoint touchpoint = (Touchpoint) entry.getKey();
-			Map touchpointParameters = (Map) entry.getValue();
-			mergeStatus(status, touchpoint.completePhase(monitor, profile, phaseId, touchpointParameters));
-		}
-		touchpointToTouchpointPhaseParameters.clear();
-		return status;
-	}
-
-	protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	IStatus touchpointCompleteOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		if (touchpointToTouchpointOperandParameters.isEmpty())
-			return Status.OK_STATUS;
-
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		for (Iterator it = touchpointToTouchpointOperandParameters.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			Touchpoint touchpoint = (Touchpoint) entry.getKey();
-			Map touchpointParameters = (Map) entry.getValue();
-			mergeStatus(status, touchpoint.completeOperand(profile, operand, touchpointParameters));
-		}
-		touchpointToTouchpointOperandParameters.clear();
-		return status;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-		return Status.OK_STATUS;
-	}
-
-	protected abstract ProvisioningAction[] getActions(Operand operand);
-
-	/**
-	 * Returns a human-readable message to be displayed in case of an error performing
-	 * this phase. Subclasses should override.
-	 */
-	protected String getProblemMessage() {
-		return NLS.bind(Messages.phase_error, getClass().getName());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/PhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/PhaseSet.java
deleted file mode 100644
index cb836c2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/PhaseSet.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.phases.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class PhaseSet implements IPhaseSet {
-
-	public static final List DEFAULT_PHASES = Arrays.asList(new String[] {IPhaseSet.PHASE_COLLECT, IPhaseSet.PHASE_UNCONFIGURE, IPhaseSet.PHASE_UNINSTALL, IPhaseSet.PHASE_PROPERTY, IPhaseSet.PHASE_CHECK_TRUST, IPhaseSet.PHASE_INSTALL, IPhaseSet.PHASE_CONFIGURE});
-
-	public static final boolean forcedUninstall = Boolean.valueOf(EngineActivator.getContext().getProperty("org.eclipse.equinox.p2.engine.forcedUninstall")).booleanValue(); //$NON-NLS-1$
-
-	private final Phase[] phases;
-
-	public static IPhaseSet createPhaseSetExcluding(String[] excludes) {
-		ArrayList phases = new ArrayList(DEFAULT_PHASES);
-		if (excludes != null) {
-			for (int i = 0; i < excludes.length; i++) {
-				phases.remove(excludes[i]);
-			}
-		}
-		return createPhaseSetIncluding((String[]) phases.toArray(new String[phases.size()]));
-	}
-
-	public static IPhaseSet createPhaseSetIncluding(String[] includes) {
-		ArrayList phases = new ArrayList();
-		for (int i = 0; i < includes.length; i++) {
-			String current = includes[i];
-			if (current.equals(IPhaseSet.PHASE_CONFIGURE))
-				phases.add(new Configure(10));
-			else if (current.equals(IPhaseSet.PHASE_CHECK_TRUST))
-				phases.add(new CheckTrust(10));
-			else if (current.equals(IPhaseSet.PHASE_COLLECT))
-				phases.add(new Collect(100));
-			else if (current.equals(IPhaseSet.PHASE_INSTALL))
-				phases.add(new Install(50));
-			else if (current.equals(IPhaseSet.PHASE_PROPERTY))
-				phases.add(new Property(1));
-			else if (current.equals(IPhaseSet.PHASE_UNCONFIGURE))
-				phases.add(new Unconfigure(10, forcedUninstall));
-			else if (current.equals(IPhaseSet.PHASE_UNINSTALL))
-				phases.add(new Uninstall(50, forcedUninstall));
-		}
-		return new PhaseSet((Phase[]) phases.toArray(new Phase[phases.size()]));
-	}
-
-	public PhaseSet(Phase[] phases) {
-		if (phases == null)
-			throw new IllegalArgumentException(Messages.null_phases);
-
-		this.phases = phases;
-	}
-
-	public final MultiStatus perform(EngineSession session, Operand[] operands, IProgressMonitor monitor) {
-		MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null);
-		int[] weights = getProgressWeights(operands);
-		int totalWork = getTotalWork(weights);
-		SubMonitor pm = SubMonitor.convert(monitor, totalWork);
-		try {
-			for (int i = 0; i < phases.length; i++) {
-				if (pm.isCanceled()) {
-					status.add(Status.CANCEL_STATUS);
-					return status;
-				}
-				Phase phase = phases[i];
-				phase.actionManager = (ActionManager) session.getAgent().getService(ActionManager.SERVICE_NAME);
-				try {
-					phase.perform(status, session, operands, pm.newChild(weights[i]));
-				} catch (OperationCanceledException e) {
-					// propagate operation cancellation
-					status.add(new Status(IStatus.CANCEL, EngineActivator.ID, e.getMessage(), e));
-				} catch (RuntimeException e) {
-					// "perform" calls user code and might throw an unchecked exception
-					// we catch the error here to gather information on where the problem occurred.
-					status.add(new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage(), e));
-				} catch (LinkageError e) {
-					// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-					status.add(new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage(), e));
-				} finally {
-					phase.actionManager = null;
-				}
-				if (status.matches(IStatus.CANCEL)) {
-					MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.CANCEL, Messages.Engine_Operation_Canceled_By_User, null);
-					result.merge(status);
-					return result;
-				} else if (status.matches(IStatus.ERROR)) {
-					MultiStatus result = new MultiStatus(EngineActivator.ID, IStatus.ERROR, phase.getProblemMessage(), null);
-					result.add(new Status(IStatus.ERROR, EngineActivator.ID, session.getContextString(), null));
-					result.merge(status);
-					return result;
-				}
-			}
-		} finally {
-			pm.done();
-		}
-		return status;
-	}
-
-	public final IStatus validate(ActionManager actionManager, IProfile profile, Operand[] operands, ProvisioningContext context, IProgressMonitor monitor) {
-		Set missingActions = new HashSet();
-		for (int i = 0; i < phases.length; i++) {
-			Phase phase = phases[i];
-			phase.actionManager = actionManager;
-			try {
-				for (int j = 0; j < operands.length; j++) {
-					Operand operand = operands[j];
-					try {
-						if (!phase.isApplicable(operand))
-							continue;
-
-						ProvisioningAction[] actions = phase.getActions(operand);
-						if (actions == null)
-							continue;
-						for (int k = 0; k < actions.length; k++) {
-							ProvisioningAction action = actions[k];
-							if (action instanceof MissingAction)
-								missingActions.add(action);
-						}
-					} catch (RuntimeException e) {
-						// "perform" calls user code and might throw an unchecked exception
-						// we catch the error here to gather information on where the problem occurred.
-						return new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage() + " " + getContextString(profile, phase, operand), e); //$NON-NLS-1$
-					} catch (LinkageError e) {
-						// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
-						return new Status(IStatus.ERROR, EngineActivator.ID, e.getMessage() + " " + getContextString(profile, phase, operand), e); //$NON-NLS-1$
-					}
-				}
-			} finally {
-				phase.actionManager = null;
-			}
-		}
-		if (!missingActions.isEmpty()) {
-			MissingAction[] missingActionsArray = (MissingAction[]) missingActions.toArray(new MissingAction[missingActions.size()]);
-			MissingActionsException exception = new MissingActionsException(missingActionsArray);
-			return (new Status(IStatus.ERROR, EngineActivator.ID, exception.getMessage(), exception));
-		}
-		return Status.OK_STATUS;
-	}
-
-	private String getContextString(IProfile profile, Phase phase, Operand operand) {
-		return NLS.bind(Messages.session_context, new Object[] {profile.getProfileId(), phase.getClass().getName(), operand.toString(), ""}); //$NON-NLS-1$
-	}
-
-	private int getTotalWork(int[] weights) {
-		int sum = 0;
-		for (int i = 0; i < weights.length; i++)
-			sum += weights[i];
-		return sum;
-	}
-
-	private int[] getProgressWeights(Operand[] operands) {
-		int[] weights = new int[phases.length];
-		for (int i = 0; i < phases.length; i += 1) {
-			if (operands.length > 0)
-				//alter weights according to the number of operands applicable to that phase
-				weights[i] = (phases[i].weight * countApplicable(phases[i], operands) / operands.length);
-			else
-				weights[i] = phases[i].weight;
-		}
-		return weights;
-	}
-
-	private int countApplicable(Phase phase, Operand[] operands) {
-		int count = 0;
-		for (int i = 0; i < operands.length; i++) {
-			if (phase.isApplicable(operands[i]))
-				count++;
-		}
-		return count;
-	}
-
-	public String[] getPhaseIds() {
-		String[] ids = new String[phases.length];
-		for (int i = 0; i < ids.length; i++) {
-			ids[i] = phases[i].phaseId;
-		}
-		return ids;
-	}
-
-	public Phase[] getPhases() {
-		return phases;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
deleted file mode 100644
index 10c2c6e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/Profile.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ISurrogateProfileHandler;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.osgi.util.NLS;
-
-public class Profile implements IQueryable, IProfile {
-
-	//Internal id of the profile
-	private final String profileId;
-
-	private Profile parentProfile;
-
-	/**
-	 * 	A collection of child profiles.
-	 */
-	private List subProfileIds; // child profile ids
-
-	private static final String[] noSubProfiles = new String[0];
-	/**
-	 * This storage is to be used by the touchpoints to store data.
-	 */
-	private OrderedProperties storage = new OrderedProperties();
-
-	private Set ius = new HashSet();
-	private Map iuProperties = new HashMap();
-	private boolean changed = false;
-
-	private long timestamp;
-	private ISurrogateProfileHandler surrogateProfileHandler;
-
-	public Profile(String profileId, Profile parent, Map properties) {
-		if (profileId == null || profileId.length() == 0) {
-			throw new IllegalArgumentException(NLS.bind(Messages.Profile_Null_Profile_Id, null));
-		}
-		this.profileId = profileId;
-		setParent(parent);
-		if (properties != null)
-			storage.putAll(properties);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProfileId()
-	 */
-	public String getProfileId() {
-		return profileId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getParentProfile()
-	 */
-	public IProfile getParentProfile() {
-		return parentProfile;
-	}
-
-	public void setParent(Profile profile) {
-		if (profile == parentProfile)
-			return;
-
-		if (parentProfile != null)
-			parentProfile.removeSubProfile(profileId);
-
-		parentProfile = profile;
-		if (parentProfile != null)
-			parentProfile.addSubProfile(profileId);
-	}
-
-	/*
-	 * 	A profile is a root profile if it is not a sub-profile
-	 * 	of another profile.
-	 */
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#isRootProfile()
-	 */
-	public boolean isRootProfile() {
-		return parentProfile == null;
-	}
-
-	public void addSubProfile(String subProfileId) throws IllegalArgumentException {
-		if (subProfileIds == null)
-			subProfileIds = new ArrayList();
-
-		if (!subProfileIds.contains(subProfileId))
-			subProfileIds.add(subProfileId);
-
-		//		if (!subProfileIds.add(subProfileId))
-		//			throw new IllegalArgumentException(NLS.bind(Messages.Profile_Duplicate_Child_Profile_Id, new String[] {subProfileId, this.getProfileId()}));
-	}
-
-	public void removeSubProfile(String subProfileId) throws IllegalArgumentException {
-		if (subProfileIds != null)
-			subProfileIds.remove(subProfileId);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#hasSubProfiles()
-	 */
-	public boolean hasSubProfiles() {
-		return subProfileIds != null && !subProfileIds.isEmpty();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getSubProfileIds()
-	 */
-	public String[] getSubProfileIds() {
-		if (subProfileIds == null)
-			return noSubProfiles;
-
-		return (String[]) subProfileIds.toArray(new String[subProfileIds.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProperty(java.lang.String)
-	 */
-	public String getProperty(String key) {
-		String value = getLocalProperty(key);
-		if (value == null && parentProfile != null) {
-			value = parentProfile.getProperty(key);
-		}
-		return value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getLocalProperty(java.lang.String)
-	 */
-	public String getLocalProperty(String key) {
-		return storage.getProperty(key);
-	}
-
-	/**
-	 * 	Associate the given value with the given key
-	 * 	in the local storage of this profile.
-	 */
-	public void setProperty(String key, String value) {
-		storage.setProperty(key, value);
-		changed = true;
-	}
-
-	public void removeProperty(String key) {
-		storage.remove(key);
-		changed = true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#query(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		propagateProfileContext(query);
-		if (query instanceof IUProfilePropertyQuery) {
-			return query.perform(iuProperties.keySet().iterator(), collector);
-		}
-		return query.perform(ius.iterator(), collector);
-	}
-
-	private void propagateProfileContext(IQuery query) {
-		// FIXME
-		if (query instanceof IUProfilePropertyQuery) {
-			((IUProfilePropertyQuery) query).setProfile(this);
-			return;
-		}
-		IQuery[] queries = null;
-		if (query instanceof ICompositeQuery) {
-			queries = ((ICompositeQuery) query).getQueries();
-		}
-		if (queries != null) {
-			for (int i = 0; i < queries.length; i++) {
-				propagateProfileContext(queries[i]);
-			}
-		}
-	}
-
-	public Collector available(IQuery query, IProgressMonitor monitor) {
-		if (surrogateProfileHandler != null)
-			return surrogateProfileHandler.queryProfile(this, query, monitor);
-		return query(query, new NullProgressMonitor());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getInstallableUnitProperty(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit, java.lang.String)
-	 */
-	public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
-		OrderedProperties properties = (OrderedProperties) iuProperties.get(iu);
-		if (properties == null)
-			return null;
-
-		return properties.getProperty(key);
-	}
-
-	public String setInstallableUnitProperty(IInstallableUnit iu, String key, String value) {
-		//		String iuKey = createIUKey(iu);
-		OrderedProperties properties = (OrderedProperties) iuProperties.get(iu);
-		if (properties == null) {
-			properties = new OrderedProperties();
-			iuProperties.put(iu, properties);
-		}
-
-		changed = true;
-		return (String) properties.setProperty(key, value);
-	}
-
-	public String removeInstallableUnitProperty(IInstallableUnit iu, String key) {
-		//		String iuKey = createIUKey(iu);
-		OrderedProperties properties = (OrderedProperties) iuProperties.get(iu);
-		if (properties == null)
-			return null;
-
-		String oldValue = (String) properties.remove(key);
-		if (properties.isEmpty())
-			iuProperties.remove(iu);
-
-		changed = true;
-		return oldValue;
-	}
-
-	//	private static String createIUKey(IInstallableUnit iu) {
-	//		return iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
-	//	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getLocalProperties()
-	 */
-	public Map getLocalProperties() {
-		return OrderedProperties.unmodifiableProperties(storage);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getProperties()
-	 */
-	public Map getProperties() {
-		if (parentProfile == null)
-			return getLocalProperties();
-
-		Map properties = new HashMap(parentProfile.getProperties());
-		properties.putAll(storage);
-		return OrderedProperties.unmodifiableProperties(properties);
-	}
-
-	/**
-	 * 	Add all the properties in the map to the local properties
-	 * 	of the profile.
-	 */
-	public void addProperties(Map properties) {
-		storage.putAll(properties);
-		changed = true;
-	}
-
-	public void addInstallableUnit(IInstallableUnit iu) {
-		iu = iu.unresolved();
-		if (ius.contains(iu))
-			return;
-
-		ius.add(iu);
-		changed = true;
-	}
-
-	public void removeInstallableUnit(IInstallableUnit iu) {
-		iu = iu.unresolved();
-		ius.remove(iu);
-		changed = true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfile#getInstallableUnitProperties(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit)
-	 */
-	public Map getInstallableUnitProperties(IInstallableUnit iu) {
-		OrderedProperties properties = (OrderedProperties) iuProperties.get(iu);
-		if (properties == null)
-			properties = new OrderedProperties();
-
-		return OrderedProperties.unmodifiableProperties(properties);
-	}
-
-	public void clearLocalProperties() {
-		storage.clear();
-		changed = true;
-	}
-
-	public boolean isChanged() {
-		return changed;
-	}
-
-	public void setChanged(boolean isChanged) {
-		changed = isChanged;
-	}
-
-	public void clearInstallableUnits() {
-		ius.clear();
-		iuProperties.clear();
-		changed = true;
-	}
-
-	public Profile snapshot() {
-		Profile parentSnapshot = null;
-		if (parentProfile != null)
-			parentSnapshot = parentProfile.snapshot();
-
-		Profile snapshot = new Profile(profileId, parentSnapshot, storage);
-		if (surrogateProfileHandler != null)
-			snapshot.setSurrogateProfileHandler(surrogateProfileHandler);
-		snapshot.setTimestamp(timestamp);
-
-		if (subProfileIds != null) {
-			for (Iterator it = subProfileIds.iterator(); it.hasNext();) {
-				String subProfileId = (String) it.next();
-				snapshot.addSubProfile(subProfileId);
-			}
-		}
-
-		for (Iterator it = ius.iterator(); it.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) it.next();
-			snapshot.addInstallableUnit(iu);
-			Map properties = getInstallableUnitProperties(iu);
-			if (properties != null)
-				snapshot.addInstallableUnitProperties(iu, properties);
-		}
-		snapshot.setChanged(false);
-		return snapshot;
-	}
-
-	public void addInstallableUnitProperties(IInstallableUnit iu, Map properties) {
-		for (Iterator it = properties.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			String key = (String) entry.getKey();
-			String value = (String) entry.getValue();
-			setInstallableUnitProperty(iu, key, value);
-		}
-	}
-
-	public void clearInstallableUnitProperties(IInstallableUnit iu) {
-		iuProperties.remove(iu);
-		changed = true;
-	}
-
-	public void clearOrphanedInstallableUnitProperties() {
-		Set keys = iuProperties.keySet();
-		//		Set orphans = new HashSet();
-		Collection toRemove = new ArrayList();
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			Object iu = iterator.next();
-			if (!ius.contains(iu))
-				toRemove.add(iu);
-		}
-
-		for (Iterator iterator = toRemove.iterator(); iterator.hasNext();) {
-			iuProperties.remove(iterator.next());
-		}
-		//		List iuKeys = new ArrayList();
-		//		for (Iterator it = ius.iterator(); it.hasNext();)
-		//			iuKeys.add((IInstallableUnit) it.next());
-		//
-		//		iuProperties.keySet().retainAll(iuKeys);
-	}
-
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	public void setTimestamp(long millis) {
-		timestamp = millis;
-	}
-
-	public void setSurrogateProfileHandler(ISurrogateProfileHandler surrogateProfileHandler) {
-		this.surrogateProfileHandler = surrogateProfileHandler;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileLock.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileLock.java
deleted file mode 100644
index 96d94f2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileLock.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The purpose of this class is to enable cross process locking.
- * See 257654 for more details.
- */
-public class ProfileLock {
-	private static final String LOCK_FILENAME = ".lock"; //$NON-NLS-1$
-
-	private final Location location;
-	private final Object lock;
-	private Thread lockHolder;
-	private int waiting;
-
-	public ProfileLock(Object lock, File profileDirectory) {
-		this.lock = lock;
-		location = createLockLocation(profileDirectory);
-	}
-
-	private static Location createLockLocation(File parent) {
-		Location anyLoc = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName());
-		try {
-			final URL url = parent.toURL();
-			Location location = anyLoc.createLocation(null, url, false);
-			location.set(url, false, LOCK_FILENAME);
-			return location;
-		} catch (MalformedURLException e) {
-			throw new IllegalArgumentException(NLS.bind(Messages.SimpleProfileRegistry_Bad_profile_location, e.getLocalizedMessage()));
-		} catch (IllegalStateException e) {
-			throw e;
-		} catch (IOException e) {
-			throw new IllegalStateException(e.getLocalizedMessage());
-		}
-	}
-
-	/**
-	 * Asserts that this thread currently holds the profile lock.
-	 * @throws IllegalStateException If this thread does not currently hold the profile lock
-	 */
-	public void checkLocked() {
-		synchronized (lock) {
-			if (lockHolder == null)
-				throw new IllegalStateException(Messages.SimpleProfileRegistry_Profile_not_locked);
-
-			Thread current = Thread.currentThread();
-			if (lockHolder != current)
-				throw new IllegalStateException(Messages.thread_not_owner);
-		}
-	}
-
-	/**
-	 * Attempts to obtain an exclusive write lock on a profile. The profile lock must be
-	 * owned by any process and thread that wants to modify a profile. If the lock
-	 * is currently held by another thread in this process, this method will  block until
-	 * the lock becomes available. If the lock is currently held by another process,
-	 * this method returns <code>false</code>. Re-entrant attempts to acquire the
-	 * same profile lock multiple times in the same thread is not allowed.
-	 * 
-	 * @return <code>true</code> if the lock was successfully obtained by this thread,
-	 * and <code>false</code> if another process is currently holding the lock.
-	 */
-	public boolean lock() {
-		synchronized (lock) {
-			Thread current = Thread.currentThread();
-			if (lockHolder == current)
-				throw new IllegalStateException(Messages.profile_lock_not_reentrant);
-
-			boolean locationLocked = (waiting != 0);
-			while (lockHolder != null) {
-				locationLocked = true;
-				waiting++;
-				boolean interrupted = false;
-				try {
-					lock.wait();
-				} catch (InterruptedException e) {
-					interrupted = true;
-				} finally {
-					waiting--;
-					// if interrupted restore interrupt to thread state
-					if (interrupted)
-						current.interrupt();
-				}
-			}
-			try {
-				if (!locationLocked && !location.lock())
-					return false;
-
-				lockHolder = current;
-			} catch (IOException e) {
-				throw new IllegalStateException(NLS.bind(Messages.SimpleProfileRegistry_Profile_not_locked_due_to_exception, e.getLocalizedMessage()));
-			}
-			return true;
-		}
-	}
-
-	/**
-	 * Releases the exclusive write lock on a profile. This method must only be called
-	 * by a thread that currently owns the lock.
-	 */
-	public void unlock() {
-		synchronized (lock) {
-			if (lockHolder == null)
-				throw new IllegalStateException(Messages.SimpleProfileRegistry_Profile_not_locked);
-
-			Thread current = Thread.currentThread();
-			if (lockHolder != current)
-				throw new IllegalStateException(Messages.thread_not_owner);
-
-			lockHolder = null;
-			if (waiting == 0)
-				location.release();
-			else
-				lock.notify();
-		}
-	}
-
-	/**
-	 * Returns whether a thread in this process currently holds the profile lock.
-	 * 
-	 * @return <code>true</code> if a thread in this process owns the profile lock,
-	 * and <code>false</code> otherwise
-	 */
-	public boolean processHoldsLock() {
-		synchronized (lock) {
-			return lockHolder != null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepository.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepository.java
deleted file mode 100644
index 7deed5c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepository.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class ProfileMetadataRepository extends AbstractMetadataRepository {
-
-	private static final String DEFAULT_ARTIFACT_REPO_DIRECTORY = "org.eclipse.equinox.p2.core/cache"; //$NON-NLS-1$
-	private static final String ARTIFACTS_XML = "artifacts.xml"; //$NON-NLS-1$
-	private static final String FILE_SCHEME = "file"; //$NON-NLS-1$
-	private static final String DOT_PROFILE = ".profile"; //$NON-NLS-1$
-	public static final String TYPE = "org.eclipse.equinox.p2.engine.repo.metadataRepository"; //$NON-NLS-1$
-	public static final Integer VERSION = new Integer(1);
-	private IProfile profile;
-
-	public ProfileMetadataRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		super(location.toString(), TYPE, VERSION.toString(), location, null, null, null);
-
-		try {
-			profile = getProfile(location);
-		} catch (RuntimeException e) {
-			throw new ProvisionException(new Status(IStatus.ERROR, EngineActivator.ID, ProvisionException.REPOSITORY_FAILED_READ, e.getMessage(), e));
-		}
-		publishArtifactRepos();
-	}
-
-	private void publishArtifactRepos() {
-		List artifactRepos = findArtifactRepos();
-
-		IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(EngineActivator.getContext(), IProvisioningEventBus.SERVICE_NAME);
-		if (bus == null)
-			return;
-		for (Iterator it = artifactRepos.iterator(); it.hasNext();) {
-			URI repo = (URI) it.next();
-			bus.publishEvent(new RepositoryEvent(repo, IRepository.TYPE_ARTIFACT, RepositoryEvent.DISCOVERED, true));
-		}
-	}
-
-	private List findArtifactRepos() {
-		List artifactRepos = new ArrayList();
-		File p2Directory = findP2Directory();
-
-		// Add the profile registry's default agent artifact repository.
-		// Currently this is used by the Native Touchpoint to store artifacts however
-		// other touchpoints might use this as well.
-		File agentArtifactRepository = findAgentArtifactRepositoryDirectory(p2Directory);
-		if (agentArtifactRepository != null)
-			artifactRepos.add(agentArtifactRepository.toURI());
-
-		// bundle pool
-		String bundlePool = profile.getProperty(IProfile.PROP_CACHE);
-		if (bundlePool != null) {
-			File bundlePoolFile = new File(bundlePool);
-			if (bundlePoolFile.exists())
-				artifactRepos.add(bundlePoolFile.toURI());
-			else if (Boolean.valueOf(profile.getProperty(IProfile.PROP_ROAMING)).booleanValue()) {
-				// the profile has not been used yet but is a roaming profile
-				// best effort to add "just" the default bundle pool
-				bundlePoolFile = findDefaultBundlePool(p2Directory);
-				if (bundlePoolFile != null)
-					artifactRepos.add(bundlePoolFile.toURI());
-				return artifactRepos;
-			}
-		}
-
-		// shared bundle pool
-		String sharedBundlePool = profile.getProperty(IProfile.PROP_SHARED_CACHE);
-		if (sharedBundlePool != null)
-			artifactRepos.add(new File(sharedBundlePool).toURI());
-
-		// cache extensions
-		// Currently set exclusively by dropins
-		String dropinRepositories = profile.getProperty("org.eclipse.equinox.p2.cache.extensions"); //$NON-NLS-1$
-		if (dropinRepositories != null) {
-			StringTokenizer tokenizer = new StringTokenizer(dropinRepositories, "|"); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String repoLocation = ""; //$NON-NLS-1$
-				try {
-					repoLocation = tokenizer.nextToken();
-					artifactRepos.add(new URI(repoLocation));
-				} catch (URISyntaxException e) {
-					LogHelper.log(new Status(IStatus.WARNING, EngineActivator.ID, "invalid repo reference with location: " + repoLocation, e)); //$NON-NLS-1$
-				}
-			}
-		}
-		return artifactRepos;
-	}
-
-	private File findAgentArtifactRepositoryDirectory(File p2Directory) {
-		if (p2Directory == null)
-			return null;
-
-		File agentArtifactRepositoryDirectory = new File(p2Directory, DEFAULT_ARTIFACT_REPO_DIRECTORY);
-		if (!agentArtifactRepositoryDirectory.isDirectory())
-			return null;
-
-		return agentArtifactRepositoryDirectory;
-	}
-
-	private File findDefaultBundlePool(File p2Directory) {
-		if (p2Directory == null)
-			return null;
-
-		File productDirectory = p2Directory.getParentFile();
-		if (productDirectory == null || !(new File(productDirectory, ARTIFACTS_XML).exists()))
-			return null;
-
-		return productDirectory;
-	}
-
-	private File findP2Directory() {
-		File target = new File(location);
-		if (target.isFile())
-			target = target.getParentFile();
-
-		// by default the profile registry is in {product}/p2/org.eclipse.equinox.p2.engine/profileRegistry
-		// the default bundle pool is in the {product} folder
-		File profileRegistryDirectory = target.getParentFile();
-		if (profileRegistryDirectory == null)
-			return null;
-
-		File p2EngineDirectory = profileRegistryDirectory.getParentFile();
-		if (p2EngineDirectory == null)
-			return null;
-
-		return p2EngineDirectory.getParentFile();
-	}
-
-	public void initialize(RepositoryState state) {
-		// nothing to do
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		return profile.query(query, monitor);
-	}
-
-	public static void validate(URI location, IProgressMonitor monitor) throws ProvisionException {
-		try {
-			getProfile(location);
-		} catch (RuntimeException e) {
-			throw new ProvisionException(new Status(IStatus.ERROR, EngineActivator.ID, ProvisionException.REPOSITORY_FAILED_READ, e.getMessage(), e));
-		}
-	}
-
-	private static IProfile getProfile(URI location) throws ProvisionException {
-		if (!FILE_SCHEME.equalsIgnoreCase(location.getScheme()))
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-
-		File target = new File(location);
-		if (!target.exists())
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-
-		long timestamp = -1;
-		int index = target.getName().lastIndexOf(DOT_PROFILE);
-		if (index == -1)
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-		String profileId = target.getName().substring(0, index);
-		if (target.isFile()) {
-			try {
-				timestamp = Long.parseLong(profileId);
-			} catch (NumberFormatException e) {
-				fail(location, ProvisionException.REPOSITORY_FAILED_READ);
-			}
-			target = target.getParentFile();
-			if (target == null)
-				fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-			index = target.getName().lastIndexOf(DOT_PROFILE);
-			profileId = target.getName().substring(0, index);
-		}
-		profileId = SimpleProfileRegistry.unescape(profileId);
-
-		File registryDirectory = target.getParentFile();
-		if (registryDirectory == null)
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-		SimpleProfileRegistry profileRegistry = new SimpleProfileRegistry(registryDirectory, null, false);
-		if (timestamp == -1) {
-			long[] timestamps = profileRegistry.listProfileTimestamps(profileId);
-			timestamp = timestamps[timestamps.length - 1];
-		}
-		IProfile profile = profileRegistry.getProfile(profileId, timestamp);
-		if (profile == null)
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-
-		return profile;
-	}
-
-	private static void fail(URI location, int code) throws ProvisionException {
-		switch (code) {
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				String msg = NLS.bind(Messages.io_NotFound, location);
-				throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				msg = NLS.bind(Messages.io_FailedRead, location);
-				throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepositoryFactory.java
deleted file mode 100644
index ba3798e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-public class ProfileMetadataRepositoryFactory extends MetadataRepositoryFactory {
-
-	/**
-	 * @throws ProvisionException
-	 * documenting to avoid warning 
-	 */
-	public IMetadataRepository create(URI location, String name, String type, Map properties) throws ProvisionException {
-		return null;
-	}
-
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		//return null if the caller wanted a modifiable repo
-		if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-			return null;
-		}
-		return new ProfileMetadataRepository(location, monitor);
-	}
-
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			ProfileMetadataRepository.validate(location, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
deleted file mode 100644
index e9db684..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileParser.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.Attributes;
-
-/**
- *	An abstract XML parser class for parsing profiles as written by the ProfileWriter.
- */
-public abstract class ProfileParser extends MetadataParser implements ProfileXMLConstants {
-
-	public ProfileParser(BundleContext context, String bundleId) {
-		super(context, bundleId);
-	}
-
-	protected class ProfileHandler extends RootHandler {
-
-		private final String[] required = new String[] {ID_ATTRIBUTE};
-
-		private String profileId;
-		private String parentId;
-		private String timestamp;
-		private PropertiesHandler propertiesHandler;
-		private InstallableUnitsHandler unitsHandler;
-		private IUsPropertiesHandler iusPropertiesHandler;
-
-		public ProfileHandler() {
-			// default
-		}
-
-		protected ProfileHandler(String profileId) {
-			this.profileId = profileId;
-		}
-
-		protected void handleRootAttributes(Attributes attributes) {
-			profileId = parseRequiredAttributes(attributes, required)[0];
-			parentId = parseOptionalAttribute(attributes, PARENT_ID_ATTRIBUTE);
-			timestamp = parseOptionalAttribute(attributes, TIMESTAMP_ATTRIBUTE);
-
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (PROPERTIES_ELEMENT.equals(name)) {
-				if (propertiesHandler == null) {
-					propertiesHandler = new PropertiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (INSTALLABLE_UNITS_ELEMENT.equals(name)) {
-				if (unitsHandler == null) {
-					unitsHandler = new InstallableUnitsHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (IUS_PROPERTIES_ELEMENT.equals(name)) {
-				if (iusPropertiesHandler == null) {
-					iusPropertiesHandler = new IUsPropertiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		public String getProfileId() {
-			return profileId;
-		}
-
-		public String getParentId() {
-			return parentId;
-		}
-
-		public long getTimestamp() {
-			if (timestamp != null) {
-				try {
-					return Long.parseLong(timestamp);
-				} catch (NumberFormatException e) {
-					// TODO: log
-				}
-			}
-			return 0;
-		}
-
-		public Map getProperties() {
-			if (propertiesHandler == null)
-				return null;
-			return propertiesHandler.getProperties();
-		}
-
-		public IInstallableUnit[] getInstallableUnits() {
-			if (unitsHandler == null)
-				return null;
-			return unitsHandler.getUnits();
-		}
-
-		public Map getIUProperties(IInstallableUnit iu) {
-			if (iusPropertiesHandler == null)
-				return null;
-
-			Map iusPropertiesMap = iusPropertiesHandler.getIUsPropertiesMap();
-			if (iusPropertiesMap == null)
-				return null;
-
-			String iuIdentity = iu.getId() + "_" + iu.getVersion().toString(); //$NON-NLS-1$
-			return (Map) iusPropertiesMap.get(iuIdentity);
-		}
-	}
-
-	protected class IUPropertiesHandler extends AbstractHandler {
-
-		private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
-		private String iuIdentity;
-		private Map iusPropertiesMap;
-		private PropertiesHandler propertiesHandler;
-
-		public IUPropertiesHandler(AbstractHandler parentHandler, Attributes attributes, Map iusPropertiesMap) {
-			super(parentHandler, IU_PROPERTIES_ELEMENT);
-			this.iusPropertiesMap = iusPropertiesMap;
-
-			String values[] = parseRequiredAttributes(attributes, required);
-			String id = values[0];
-			Version version = checkVersion(IU_PROPERTIES_ELEMENT, VERSION_ATTRIBUTE, values[1]);
-			iuIdentity = id + "_" + version.toString(); //$NON-NLS-1$
-		}
-
-		protected void finished() {
-			if (isValidXML() && iuIdentity != null && propertiesHandler != null) {
-				iusPropertiesMap.put(iuIdentity, propertiesHandler.getProperties());
-			}
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(PROPERTIES_ELEMENT)) {
-				propertiesHandler = new PropertiesHandler(this, attributes);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class IUsPropertiesHandler extends AbstractHandler {
-
-		private Map iusPropertiesMap;
-
-		public IUsPropertiesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, IUS_PROPERTIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			iusPropertiesMap = (size != null ? new LinkedHashMap(new Integer(size).intValue()) : new LinkedHashMap(4));
-		}
-
-		public Map getIUsPropertiesMap() {
-			return iusPropertiesMap;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(IU_PROPERTIES_ELEMENT)) {
-				new IUPropertiesHandler(this, attributes, iusPropertiesMap);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfilePreferences.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfilePreferences.java
deleted file mode 100644
index 2255ca0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfilePreferences.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.internal.preferences.EclipsePreferences;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.security.storage.EncodingUtils;
-import org.osgi.framework.*;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * A preference implementation that stores preferences in the engine's profile
- * data area. There is one preference file per profile, with an additional file
- * that is used when there is no currently running profile.
- */
-public class ProfilePreferences extends EclipsePreferences {
-	private class SaveJob extends Job {
-		SaveJob() {
-			super(Messages.ProfilePreferences_saving);
-			setSystem(true);
-		}
-
-		public boolean belongsTo(Object family) {
-			return family == PROFILE_SAVE_JOB_FAMILY;
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				doSave();
-			} catch (BackingStoreException e) {
-				LogHelper.log(new Status(IStatus.WARNING, EngineActivator.ID, "Exception saving profile preferences", e)); //$NON-NLS-1$
-			}
-			return Status.OK_STATUS;
-		}
-	}
-
-	// cache which nodes have been loaded from disk
-	private static Set loadedNodes = Collections.synchronizedSet(new HashSet());
-
-	public static final Object PROFILE_SAVE_JOB_FAMILY = new Object();
-
-	private static final long SAVE_SCHEDULE_DELAY = 500;
-	//private IPath location;
-	private IEclipsePreferences loadLevel;
-	private Object profileLock;
-	private String qualifier;
-
-	private SaveJob saveJob;
-	private int segmentCount;
-
-	public ProfilePreferences() {
-		this(null, null);
-	}
-
-	public ProfilePreferences(EclipsePreferences nodeParent, String nodeName) {
-		super(nodeParent, nodeName);
-		//path is /profile/{agent location}/{profile id}/qualifier
-
-		// cache the segment count
-		String path = absolutePath();
-		segmentCount = getSegmentCount(path);
-
-		if (segmentCount <= 2)
-			return;
-
-		if (segmentCount == 3)
-			profileLock = new Object();
-
-		if (segmentCount < 4)
-			return;
-		// cache the qualifier
-		qualifier = getSegment(path, 3);
-	}
-
-	private boolean containsProfile(IProvisioningAgent agent, String profileId) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		if (profileId == null || profileRegistry == null)
-			return false;
-		return profileRegistry.containsProfile(profileId);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * Create an Engine phase to save profile preferences
-	 */
-	protected void doSave() throws BackingStoreException {
-		synchronized (((ProfilePreferences) parent).profileLock) {
-			ServiceReference agentRef = getAgent(getSegment(absolutePath(), 1));
-			IProvisioningAgent agent = (IProvisioningAgent) EngineActivator.getContext().getService(agentRef);
-			try {
-				String profileId = getSegment(absolutePath(), 2);
-				if (!containsProfile(agent, profileId)) {
-					//use the default location for the self profile, otherwise just do nothing and return
-					if (IProfileRegistry.SELF.equals(profileId)) {
-						IPath location = getDefaultLocation();
-						if (location != null) {
-							super.save(location);
-							return;
-						}
-					}
-					if (Tracing.DEBUG_PROFILE_PREFERENCES)
-						Tracing.debug("Not saving preferences since there is no file for node: " + absolutePath()); //$NON-NLS-1$
-					return;
-				}
-				super.save(getProfileLocation(agent, profileId));
-			} finally {
-				EngineActivator.getContext().ungetService(agentRef);
-			}
-		}
-	}
-
-	/**
-	 * Returns a reference to the agent service corresponding to the given encoded
-	 * agent location. Never returns null; throws an exception if the agent could not be found.
-	 */
-	private ServiceReference getAgent(String segment) throws BackingStoreException {
-		String locationString = EncodingUtils.decodeSlashes(segment);
-		Exception failure = null;
-		try {
-			String filter = "(locationURI=" + encodeForFilter(locationString) + ')'; //$NON-NLS-1$
-			ServiceReference[] refs = EngineActivator.getContext().getServiceReferences(IProvisioningAgent.SERVICE_NAME, filter);
-			if (refs != null && refs.length > 0)
-				return refs[0];
-		} catch (InvalidSyntaxException e) {
-			failure = e;
-		}
-		throw new BackingStoreException("Unable to determine provisioning agent from location: " + segment, failure); //$NON-NLS-1$
-	}
-
-	/**
-	 * Encodes a string so that it is suitable for use as a value for a filter property.
-	 * Any reserved filter characters are escaped.
-	 */
-	private String encodeForFilter(String string) {
-		StringBuffer result = new StringBuffer(string.length());
-		char[] input = string.toCharArray();
-		for (int i = 0; i < input.length; i++) {
-			switch (input[i]) {
-				case '(' :
-				case ')' :
-				case '*' :
-				case '\\' :
-					result.append('\\');
-					//fall through
-				default :
-					result.append(input[i]);
-			}
-		}
-		return result.toString();
-	}
-
-	/**
-	 * Returns the preference file to use when there is no active profile.
-	 */
-	private IPath getDefaultLocation() {
-		//use engine agent location for preferences if there is no self profile
-		IAgentLocation location = (IAgentLocation) ServiceHelper.getService(EngineActivator.getContext(), IAgentLocation.SERVICE_NAME);
-		if (location == null) {
-			LogHelper.log(new Status(IStatus.WARNING, EngineActivator.ID, "Agent location service not available", new RuntimeException())); //$NON-NLS-1$
-			return null;
-		}
-		IPath dataArea = new Path(URIUtil.toFile(location.getDataArea(EngineActivator.ID)).getAbsolutePath());
-		return computeLocation(dataArea, qualifier);
-	}
-
-	protected IEclipsePreferences getLoadLevel() {
-		if (loadLevel == null) {
-			if (qualifier == null)
-				return null;
-			// Make it relative to this node rather than navigating to it from the root.
-			// Walk backwards up the tree starting at this node.
-			// This is important to avoid a chicken/egg thing on startup.
-			IEclipsePreferences node = this;
-			for (int i = 4; i < segmentCount; i++)
-				node = (EclipsePreferences) node.parent();
-			loadLevel = node;
-		}
-		return loadLevel;
-	}
-
-	/**
-	 * Returns the location of the preference file for the given profile.
-	 */
-	private IPath getProfileLocation(IProvisioningAgent agent, String profileId) {
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		File profileDataDirectory = profileRegistry.getProfileDataDirectory(profileId);
-		return computeLocation(new Path(profileDataDirectory.getAbsolutePath()), qualifier);
-	}
-
-	protected EclipsePreferences internalCreate(EclipsePreferences nodeParent, String nodeName, Object context) {
-		return new ProfilePreferences(nodeParent, nodeName);
-	}
-
-	protected boolean isAlreadyLoaded(IEclipsePreferences node) {
-		return loadedNodes.contains(node.absolutePath());
-	}
-
-	protected boolean isAlreadyLoaded(String path) {
-		return loadedNodes.contains(path);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * Create an Engine phase to load profile preferences
-	 */
-	protected void load() throws BackingStoreException {
-		synchronized (((ProfilePreferences) parent).profileLock) {
-			ServiceReference agentRef = getAgent(getSegment(absolutePath(), 1));
-			IProvisioningAgent agent = (IProvisioningAgent) EngineActivator.getContext().getService(agentRef);
-			try {
-				String profileId = getSegment(absolutePath(), 2);
-				if (!containsProfile(agent, profileId)) {
-					//use the default location for the self profile, otherwise just do nothing and return
-					if (IProfileRegistry.SELF.equals(profileId)) {
-						IPath location = getDefaultLocation();
-						if (location != null) {
-							load(location);
-							return;
-						}
-					}
-					if (Tracing.DEBUG_PROFILE_PREFERENCES)
-						Tracing.debug("Not loading preferences since there is no file for node: " + absolutePath()); //$NON-NLS-1$
-					return;
-				}
-				load(getProfileLocation(agent, profileId));
-			} finally {
-				EngineActivator.getContext().ungetService(agentRef);
-			}
-		}
-	}
-
-	protected void loaded() {
-		loadedNodes.add(name());
-	}
-
-	public void removeNode() throws BackingStoreException {
-		super.removeNode();
-		loadedNodes.remove(this.absolutePath());
-	}
-
-	/**
-	 * Schedules the save job. This method is synchronized to protect lazily initialization 
-	 * of the save job instance.
-	 */
-	protected synchronized void save() {
-		if (saveJob == null)
-			saveJob = new SaveJob();
-		//only schedule a save if the engine bundle is still running
-		BundleContext context = EngineActivator.getContext();
-		if (context == null)
-			return;
-		try {
-			if (context.getBundle().getState() == Bundle.ACTIVE)
-				saveJob.schedule(SAVE_SCHEDULE_DELAY);
-		} catch (IllegalStateException e) {
-			//bundle has been stopped concurrently, so don't save
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileRegistryComponent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileRegistryComponent.java
deleted file mode 100644
index 1870b59..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileRegistryComponent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-
-/**
- * Instantiates default instances of {@link IProfileRegistry}.
- */
-public class ProfileRegistryComponent implements IAgentServiceFactory {
-
-	public Object createService(IProvisioningAgent agent) {
-		IAgentLocation location = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(SimpleProfileRegistry.getDefaultRegistryDirectory(location));
-		registry.setEventBus((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME));
-		return registry;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
deleted file mode 100644
index 2d20e18..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileWriter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class ProfileWriter extends MetadataWriter implements ProfileXMLConstants {
-
-	public ProfileWriter(OutputStream output, ProcessingInstruction[] processingInstructions) throws IOException {
-		super(output, processingInstructions);
-	}
-
-	public void writeProfile(IProfile profile) {
-		start(PROFILE_ELEMENT);
-		attribute(ID_ATTRIBUTE, profile.getProfileId());
-		attribute(TIMESTAMP_ATTRIBUTE, Long.toString(profile.getTimestamp()));
-		writeProperties(profile.getProperties());
-		Collector collector = profile.query(InstallableUnitQuery.ANY, null);
-		ArrayList ius = new ArrayList(collector.toCollection());
-		Collections.sort(ius, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				IInstallableUnit iu1 = (IInstallableUnit) o1;
-				IInstallableUnit iu2 = (IInstallableUnit) o2;
-				int IdCompare = iu1.getId().compareTo(iu2.getId());
-				if (IdCompare != 0)
-					return IdCompare;
-
-				return iu1.getVersion().compareTo(iu2.getVersion());
-			}
-		});
-		writeInstallableUnits(ius.iterator(), ius.size());
-		writeInstallableUnitsProperties(ius.iterator(), ius.size(), profile);
-		end(PROFILE_ELEMENT);
-		flush();
-	}
-
-	private void writeInstallableUnitsProperties(Iterator it, int size, IProfile profile) {
-		if (size == 0)
-			return;
-		start(IUS_PROPERTIES_ELEMENT);
-		attribute(COLLECTION_SIZE_ATTRIBUTE, size);
-		while (it.hasNext()) {
-			IInstallableUnit iu = (IInstallableUnit) it.next();
-			Map properties = profile.getInstallableUnitProperties(iu);
-			if (properties.isEmpty())
-				continue;
-
-			start(IU_PROPERTIES_ELEMENT);
-			attribute(ID_ATTRIBUTE, iu.getId());
-			attribute(VERSION_ATTRIBUTE, iu.getVersion().toString());
-			writeProperties(properties);
-			end(IU_PROPERTIES_ELEMENT);
-		}
-		end(IUS_PROPERTIES_ELEMENT);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
deleted file mode 100644
index de6e93b..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ProfileXMLConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import org.eclipse.equinox.internal.p2.persistence.XMLConstants;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- *	Constants defining the structure of the XML for a Profile
- */
-public interface ProfileXMLConstants extends XMLConstants {
-
-	// A format version number for profile XML.
-	public static final Version CURRENT_VERSION = Version.createOSGi(1, 0, 0);
-	public static final Version COMPATIBLE_VERSION = Version.createOSGi(0, 0, 1);
-	public static final VersionRange XML_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, Version.createOSGi(2, 0, 0), false);
-
-	// Constants for profile elements
-
-	public static final String PROFILE_ELEMENT = "profile"; //$NON-NLS-1$
-	public static final String TIMESTAMP_ATTRIBUTE = "timestamp"; //$NON-NLS-1$
-	public static final String IUS_PROPERTIES_ELEMENT = "iusProperties"; //$NON-NLS-1$
-	public static final String IU_PROPERTIES_ELEMENT = "iuProperties"; //$NON-NLS-1$
-	public static final String PROFILE_TARGET = "profile"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
deleted file mode 100644
index 0c99c88..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
+++ /dev/null
@@ -1,835 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.*;
-import java.lang.ref.SoftReference;
-import java.net.URI;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class SimpleProfileRegistry implements IProfileRegistry {
-
-	private static final String PROFILE_REGISTRY = "profile registry"; //$NON-NLS-1$
-
-	private static final String PROFILE_EXT = ".profile"; //$NON-NLS-1$
-	private static final String PROFILE_GZ_EXT = ".profile.gz"; //$NON-NLS-1$
-	public static final String DEFAULT_STORAGE_DIR = "profileRegistry"; //$NON-NLS-1$
-	private static final String DATA_EXT = ".data"; //$NON-NLS-1$
-
-	/**
-	 * Reference to Map of String(Profile id)->Profile. 
-	 */
-	private SoftReference profiles;
-	private Map profileLocks = new HashMap();
-
-	private String self;
-
-	//Whether the registry should update the self profile when the registry is restored
-	private boolean updateSelfProfile;
-
-	private File store;
-
-	ISurrogateProfileHandler surrogateProfileHandler;
-
-	private IProvisioningEventBus eventBus;
-
-	public SimpleProfileRegistry(File registryDirectory) {
-		this(registryDirectory, new SurrogateProfileHandler(), true);
-	}
-
-	public SimpleProfileRegistry(File registryDirectory, ISurrogateProfileHandler handler, boolean updateSelfProfile) {
-		store = registryDirectory;
-		surrogateProfileHandler = handler;
-		Assert.isNotNull(store, "Profile registry requires a directory"); //$NON-NLS-1$
-		findSelf();
-		this.updateSelfProfile = updateSelfProfile;
-	}
-
-	/**
-	 * Determine the id of the "self" profile. This is only applicable for the registry
-	 * of the currently running system.
-	 */
-	private void findSelf() {
-		//the location for the currently running system is registered as a service
-		ServiceReference ref = EngineActivator.getContext().getServiceReference(IAgentLocation.SERVICE_NAME);
-		if (ref == null)
-			return;
-		IAgentLocation location = (IAgentLocation) EngineActivator.getContext().getService(ref);
-		if (location == null)
-			return;
-		if (store.equals(getDefaultRegistryDirectory(location))) {
-			//we are the registry for the currently running system
-			self = EngineActivator.getContext().getProperty("eclipse.p2.profile"); //$NON-NLS-1$
-		}
-		EngineActivator.getContext().ungetService(ref);
-	}
-
-	public static File getDefaultRegistryDirectory(IAgentLocation agent) {
-		File registryDirectory = null;
-		if (agent == null)
-			throw new IllegalStateException("Profile Registry inialization failed: Agent Location is not available"); //$NON-NLS-1$
-		final URI engineDataArea = agent.getDataArea(EngineActivator.ID);
-		URI registryURL = URIUtil.append(engineDataArea, DEFAULT_STORAGE_DIR);
-		registryDirectory = new File(registryURL);
-		registryDirectory.mkdirs();
-		return registryDirectory;
-	}
-
-	/**
-	 * If the current profile for self is marked as a roaming profile, we need
-	 * to update its install and bundle pool locations.
-	 */
-	private void updateSelfProfile(Map profileMap) {
-		if (profileMap == null)
-			return;
-		Profile selfProfile = (Profile) profileMap.get(self);
-		if (selfProfile == null)
-			return;
-
-		if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-			DebugHelper.debug(PROFILE_REGISTRY, "SimpleProfileRegistry.updateSelfProfile"); //$NON-NLS-1$
-		boolean changed = false;
-		//only update if self is a roaming profile
-		if (Boolean.valueOf(selfProfile.getProperty(IProfile.PROP_ROAMING)).booleanValue())
-			changed = updateRoamingProfile(selfProfile);
-
-		if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(selfProfile))
-			changed = changed || surrogateProfileHandler.updateProfile(selfProfile);
-
-		if (changed)
-			saveProfile(selfProfile);
-	}
-
-	private boolean updateRoamingProfile(Profile selfProfile) {
-		if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-			DebugHelper.debug(PROFILE_REGISTRY, "SimpleProfileRegistry.updateRoamingProfile"); //$NON-NLS-1$
-		Location installLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		File location = new File(installLocation.getURL().getPath());
-		boolean changed = false;
-		if (!location.equals(new File(selfProfile.getProperty(IProfile.PROP_INSTALL_FOLDER)))) {
-			selfProfile.setProperty(IProfile.PROP_INSTALL_FOLDER, location.getAbsolutePath());
-			changed = true;
-		}
-		String propCache = selfProfile.getProperty(IProfile.PROP_CACHE);
-		if (propCache != null && !location.equals(new File(propCache))) {
-			selfProfile.setProperty(IProfile.PROP_CACHE, location.getAbsolutePath());
-			changed = true;
-		}
-		if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-			DebugHelper.debug(PROFILE_REGISTRY, "SimpleProfileRegistry.updateRoamingProfile(changed=" + changed + ')'); //$NON-NLS-1$
-		return changed;
-	}
-
-	public synchronized String toString() {
-		return getProfileMap().toString();
-	}
-
-	public synchronized IProfile getProfile(String id) {
-		Profile profile = internalGetProfile(id);
-		if (profile == null)
-			return null;
-		return profile.snapshot();
-	}
-
-	public synchronized IProfile getProfile(String id, long timestamp) {
-		if (SELF.equals(id))
-			id = self;
-
-		if (profiles != null) {
-			IProfile profile = getProfile(id);
-			if (profile != null && profile.getTimestamp() == timestamp)
-				return profile;
-		}
-
-		File profileDirectory = new File(store, escape(id) + PROFILE_EXT);
-		if (!profileDirectory.isDirectory())
-			return null;
-
-		File profileFile = new File(profileDirectory, Long.toString(timestamp) + PROFILE_GZ_EXT);
-		if (!profileFile.exists()) {
-			profileFile = new File(profileDirectory, Long.toString(timestamp) + PROFILE_EXT);
-			if (!profileFile.exists())
-				return null;
-		}
-
-		Parser parser = new Parser(EngineActivator.getContext(), EngineActivator.ID);
-		try {
-			parser.parse(profileFile);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.error_parsing_profile, profileFile), e));
-		}
-		return (IProfile) parser.getProfileMap().get(id);
-	}
-
-	public synchronized long[] listProfileTimestamps(String id) {
-		if (SELF.equals(id))
-			id = self;
-		//guard against null self profile
-		if (id == null)
-			return new long[0];
-
-		File profileDirectory = new File(store, escape(id) + PROFILE_EXT);
-		if (!profileDirectory.isDirectory())
-			return new long[0];
-
-		File[] profileFiles = profileDirectory.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return (pathname.getName().endsWith(PROFILE_EXT) || pathname.getName().endsWith(PROFILE_GZ_EXT)) && pathname.isFile();
-			}
-		});
-
-		long[] timestamps = new long[profileFiles.length];
-		for (int i = 0; i < profileFiles.length; i++) {
-			String filename = profileFiles[i].getName();
-			int extensionIndex = filename.lastIndexOf(PROFILE_EXT);
-			try {
-				timestamps[i] = Long.parseLong(filename.substring(0, extensionIndex));
-			} catch (NumberFormatException e) {
-				throw new IllegalStateException("Incompatible profile file name. Expected format is {timestamp}" + PROFILE_GZ_EXT + " (or {timestamp}" + PROFILE_EXT + ") but was " + filename + "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			}
-		}
-		Arrays.sort(timestamps);
-		return timestamps;
-	}
-
-	private Profile internalGetProfile(String id) {
-		if (SELF.equals(id))
-			id = self;
-		Profile profile = (Profile) getProfileMap().get(id);
-		if (profile == null && self != null && self.equals(id))
-			profile = createSurrogateProfile(id);
-
-		return profile;
-	}
-
-	private Profile createSurrogateProfile(String id) {
-		if (surrogateProfileHandler == null)
-			return null;
-
-		Profile profile = (Profile) surrogateProfileHandler.createProfile(id);
-		if (profile == null)
-			return null;
-
-		saveProfile(profile);
-		resetProfiles();
-		return (Profile) getProfileMap().get(id);
-	}
-
-	public synchronized IProfile[] getProfiles() {
-		Map profileMap = getProfileMap();
-		Profile[] result = new Profile[profileMap.size()];
-		int i = 0;
-		for (Iterator it = profileMap.values().iterator(); it.hasNext(); i++) {
-			Profile profile = (Profile) it.next();
-			result[i] = profile.snapshot();
-		}
-		return result;
-	}
-
-	/**
-	 * Returns an initialized map of String(Profile id)->Profile. 
-	 */
-	protected Map getProfileMap() {
-		if (profiles != null) {
-			Map result = (Map) profiles.get();
-			if (result != null)
-				return result;
-		}
-		Map result = restore();
-		if (result == null)
-			result = new LinkedHashMap(8);
-		profiles = new SoftReference(result);
-		if (updateSelfProfile) {
-			//update self profile on first load
-			updateSelfProfile(result);
-		}
-		return result;
-	}
-
-	public synchronized void updateProfile(Profile profile) {
-		String id = profile.getProfileId();
-		Profile current = internalGetProfile(id);
-		if (current == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.profile_does_not_exist, id));
-
-		ProfileLock lock = (ProfileLock) profileLocks.get(id);
-		lock.checkLocked();
-
-		current.clearLocalProperties();
-		current.clearInstallableUnits();
-
-		current.addProperties(profile.getLocalProperties());
-		Collector collector = profile.query(InstallableUnitQuery.ANY, null);
-		for (Iterator collectorIt = collector.iterator(); collectorIt.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) collectorIt.next();
-			current.addInstallableUnit(iu);
-			Map iuProperties = profile.getInstallableUnitProperties(iu);
-			if (iuProperties != null)
-				current.addInstallableUnitProperties(iu, iuProperties);
-		}
-		saveProfile(current);
-		profile.clearOrphanedInstallableUnitProperties();
-		profile.setTimestamp(current.getTimestamp());
-		broadcastChangeEvent(id, ProfileEvent.CHANGED);
-	}
-
-	public IProfile addProfile(String id) throws ProvisionException {
-		return addProfile(id, null, null);
-	}
-
-	public IProfile addProfile(String id, Map profileProperties) throws ProvisionException {
-		return addProfile(id, profileProperties, null);
-	}
-
-	public synchronized IProfile addProfile(String id, Map profileProperties, String parentId) throws ProvisionException {
-		if (SELF.equals(id))
-			id = self;
-		Map profileMap = getProfileMap();
-		if (profileMap.get(id) != null)
-			throw new ProvisionException(NLS.bind(Messages.Profile_Duplicate_Root_Profile_Id, id));
-
-		Profile parent = null;
-		if (parentId != null) {
-			if (SELF.equals(parentId))
-				parentId = self;
-			parent = (Profile) profileMap.get(parentId);
-			if (parent == null)
-				throw new ProvisionException(NLS.bind(Messages.Profile_Parent_Not_Found, parentId));
-		}
-
-		Profile profile = new Profile(id, parent, profileProperties);
-		if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(profile))
-			profile.setSurrogateProfileHandler(surrogateProfileHandler);
-		profileMap.put(id, profile);
-		saveProfile(profile);
-		broadcastChangeEvent(id, ProfileEvent.ADDED);
-		return profile.snapshot();
-	}
-
-	public synchronized void removeProfile(String profileId) {
-		if (SELF.equals(profileId))
-			profileId = self;
-		//note we need to maintain a reference to the profile map until it is persisted to prevent gc
-		Map profileMap = getProfileMap();
-		Profile profile = (Profile) profileMap.get(profileId);
-		if (profile == null)
-			return;
-
-		String[] subProfileIds = profile.getSubProfileIds();
-		for (int i = 0; i < subProfileIds.length; i++) {
-			removeProfile(subProfileIds[i]);
-		}
-		internalLockProfile(profile);
-		// The above call recursively locked the parent(s). So save it away to rewind the locking process.
-		IProfile savedParent = profile.getParentProfile();
-		try {
-			profile.setParent(null);
-		} finally {
-			internalUnlockProfile(profile);
-			// The above call will not recurse since parent is now null. So do it explicitly.
-			if (savedParent != null) {
-				internalUnlockProfile(savedParent);
-			}
-		}
-		profileMap.remove(profileId);
-		profileLocks.remove(profileId);
-		deleteProfile(profileId);
-		broadcastChangeEvent(profileId, ProfileEvent.REMOVED);
-	}
-
-	public synchronized void removeProfile(String id, long timestamp) throws ProvisionException {
-		if (SELF.equals(id))
-			id = self;
-
-		if (profiles != null) {
-			IProfile profile = getProfile(id);
-			if (profile != null && profile.getTimestamp() == timestamp)
-				throw new ProvisionException(Messages.SimpleProfileRegistry_CannotRemoveCurrentSnapshot);
-		}
-
-		File profileDirectory = new File(store, escape(id) + PROFILE_EXT);
-		if (!profileDirectory.isDirectory())
-			return;
-
-		File profileFile = new File(profileDirectory, Long.toString(timestamp) + PROFILE_GZ_EXT);
-		if (!profileFile.exists()) {
-			profileFile = new File(profileDirectory, Long.toString(timestamp) + PROFILE_EXT);
-			if (!profileFile.exists())
-				return;
-		}
-		FileUtils.deleteAll(profileFile);
-	}
-
-	private void broadcastChangeEvent(String profileId, byte reason) {
-		if (eventBus != null)
-			eventBus.publishEvent(new ProfileEvent(profileId, reason));
-	}
-
-	/**
-	 * Restores the profile registry from disk, and returns the loaded profile map.
-	 * Returns <code>null</code> if unable to read the registry.
-	 */
-	private Map restore() {
-		if (store == null || !store.isDirectory())
-			throw new IllegalStateException(NLS.bind(Messages.reg_dir_not_available, store));
-
-		Parser parser = new Parser(EngineActivator.getContext(), EngineActivator.ID);
-		File[] profileDirectories = store.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.getName().endsWith(PROFILE_EXT) && pathname.isDirectory();
-			}
-		});
-		for (int i = 0; i < profileDirectories.length; i++) {
-			String directoryName = profileDirectories[i].getName();
-			String profileId = unescape(directoryName.substring(0, directoryName.lastIndexOf(PROFILE_EXT)));
-			ProfileLock lock = (ProfileLock) profileLocks.get(profileId);
-			if (lock == null) {
-				lock = new ProfileLock(this, profileDirectories[i]);
-				profileLocks.put(profileId, lock);
-			}
-
-			boolean locked = false;
-			if (lock.processHoldsLock() || (locked = lock.lock())) {
-				try {
-					File profileFile = findLatestProfileFile(profileDirectories[i]);
-					if (profileFile != null) {
-						try {
-							parser.parse(profileFile);
-						} catch (IOException e) {
-							LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.error_parsing_profile, profileFile), e));
-						}
-					}
-				} finally {
-					if (locked)
-						lock.unlock();
-				}
-			} else {
-				// could not lock the profile, so add a place holder
-				parser.addProfilePlaceHolder(profileId);
-			}
-		}
-		return parser.getProfileMap();
-	}
-
-	private File findLatestProfileFile(File profileDirectory) {
-		File latest = null;
-		long latestTimestamp = 0;
-		File[] profileFiles = profileDirectory.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return (pathname.getName().endsWith(PROFILE_GZ_EXT) || pathname.getName().endsWith(PROFILE_EXT)) && !pathname.isDirectory();
-			}
-		});
-		for (int i = 0; i < profileFiles.length; i++) {
-			File profileFile = profileFiles[i];
-			String fileName = profileFile.getName();
-			try {
-				long timestamp = Long.parseLong(fileName.substring(0, fileName.indexOf(PROFILE_EXT)));
-				if (timestamp > latestTimestamp) {
-					latestTimestamp = timestamp;
-					latest = profileFile;
-				}
-			} catch (NumberFormatException e) {
-				// ignore
-			}
-		}
-		return latest;
-	}
-
-	private void saveProfile(Profile profile) {
-		File profileDirectory = new File(store, escape(profile.getProfileId()) + PROFILE_EXT);
-		profileDirectory.mkdir();
-
-		long previousTimestamp = profile.getTimestamp();
-		long currentTimestamp = System.currentTimeMillis();
-		if (currentTimestamp <= previousTimestamp)
-			currentTimestamp = previousTimestamp + 1;
-		boolean shouldGzipFile = shouldGzipFile(profile);
-		File profileFile = new File(profileDirectory, Long.toString(currentTimestamp) + (shouldGzipFile ? PROFILE_GZ_EXT : PROFILE_EXT));
-
-		// Log a stack trace to see who is writing the profile.
-		if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-			DebugHelper.debug(PROFILE_REGISTRY, "Saving profile to: " + profileFile.getAbsolutePath()); //$NON-NLS-1$
-
-		profile.setTimestamp(currentTimestamp);
-		profile.setChanged(false);
-		OutputStream os = null;
-		try {
-			if (shouldGzipFile)
-				os = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(profileFile)));
-			else
-				os = new BufferedOutputStream(new FileOutputStream(profileFile));
-			Writer writer = new Writer(os);
-			writer.writeProfile(profile);
-		} catch (IOException e) {
-			profile.setTimestamp(previousTimestamp);
-			profileFile.delete();
-			LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.error_persisting_profile, profile.getProfileId()), e));
-		} finally {
-			try {
-				if (os != null)
-					os.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	public void setEventBus(IProvisioningEventBus bus) {
-		this.eventBus = bus;
-	}
-
-	/**
-	 * Returns whether the profile file for the given profile should be written in gzip format.
-	 */
-	private boolean shouldGzipFile(Profile profile) {
-		//check system property controlling compression
-		String format = EngineActivator.getContext().getProperty(EngineActivator.PROP_PROFILE_FORMAT);
-		if (format != null && format.equals(EngineActivator.PROFILE_FORMAT_UNCOMPRESSED))
-			return false;
-
-		//check whether the profile contains the p2 engine from 3.5.0 or earlier
-		return profile.available(new InstallableUnitQuery("org.eclipse.equinox.p2.engine", new VersionRange("[0.0.0, 1.0.101)")), null).isEmpty(); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	private void deleteProfile(String profileId) {
-		File profileDirectory = new File(store, escape(profileId) + PROFILE_EXT);
-		FileUtils.deleteAll(profileDirectory);
-	}
-
-	/**
-	 * Converts a profile id into a string that can be used as a file name in any file system.
-	 */
-	public static String escape(String toEscape) {
-		StringBuffer buffer = new StringBuffer();
-		int length = toEscape.length();
-		for (int i = 0; i < length; ++i) {
-			char ch = toEscape.charAt(i);
-			switch (ch) {
-				case '\\' :
-				case '/' :
-				case ':' :
-				case '*' :
-				case '?' :
-				case '"' :
-				case '<' :
-				case '>' :
-				case '|' :
-				case '%' :
-					buffer.append("%" + (int) ch + ";"); //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				default :
-					buffer.append(ch);
-			}
-		}
-		return buffer.toString();
-	}
-
-	public static String unescape(String text) {
-		if (text.indexOf('%') == -1)
-			return text;
-
-		StringBuffer buffer = new StringBuffer();
-		int length = text.length();
-		for (int i = 0; i < length; ++i) {
-			char ch = text.charAt(i);
-			if (ch == '%') {
-				int colon = text.indexOf(';', i);
-				if (colon == -1)
-					throw new IllegalStateException("error unescaping the sequence at character (" + i + ") for " + text + ". Expected %{int};."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				ch = (char) Integer.parseInt(text.substring(i + 1, colon));
-				i = colon;
-			}
-			buffer.append(ch);
-		}
-		return buffer.toString();
-	}
-
-	static class Writer extends ProfileWriter {
-
-		public Writer(OutputStream output) throws IOException {
-			super(output, new ProcessingInstruction[] {ProcessingInstruction.makeTargetVersionInstruction(PROFILE_TARGET, ProfileXMLConstants.CURRENT_VERSION)});
-		}
-	}
-
-	/*
-	 * 	Parser for the contents of a SimpleProfileRegistry,
-	 * 	as written by the Writer class.
-	 */
-	class Parser extends ProfileParser {
-		private final Map profileHandlers = new HashMap();
-
-		public Parser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		public void addProfilePlaceHolder(String profileId) {
-			profileHandlers.put(profileId, new ProfileHandler(profileId));
-		}
-
-		public void parse(File file) throws IOException {
-			InputStream is;
-			if (file.getName().endsWith(PROFILE_GZ_EXT)) {
-				is = new BufferedInputStream(new GZIPInputStream(new FileInputStream(file)));
-			} else { // backward compatibility. SimpleProfileRegistry doesn't write non-gzipped profiles any more. 
-				is = new BufferedInputStream(new FileInputStream(file));
-			}
-			parse(is);
-		}
-
-		public synchronized void parse(InputStream stream) throws IOException {
-			this.status = null;
-			try {
-				// TODO: currently not caching the parser since we make no assumptions
-				//		 or restrictions on concurrent parsing
-				getParser();
-				ProfileHandler profileHandler = new ProfileHandler();
-				xmlReader.setContentHandler(new ProfileDocHandler(PROFILE_ELEMENT, profileHandler));
-				xmlReader.parse(new InputSource(stream));
-				profileHandlers.put(profileHandler.getProfileId(), profileHandler);
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				throw new IOException(e.getMessage());
-			} finally {
-				stream.close();
-			}
-		}
-
-		protected Object getRootObject() {
-			return this;
-		}
-
-		public Map getProfileMap() {
-			Map profileMap = new HashMap();
-			for (Iterator it = profileHandlers.keySet().iterator(); it.hasNext();) {
-				String profileId = (String) it.next();
-				addProfile(profileId, profileMap);
-			}
-			return profileMap;
-		}
-
-		private void addProfile(String profileId, Map profileMap) {
-			if (profileMap.containsKey(profileId))
-				return;
-
-			ProfileHandler profileHandler = (ProfileHandler) profileHandlers.get(profileId);
-			Profile parentProfile = null;
-
-			String parentId = profileHandler.getParentId();
-			if (parentId != null) {
-				addProfile(parentId, profileMap);
-				parentProfile = (Profile) profileMap.get(parentId);
-			}
-
-			Profile profile = new Profile(profileId, parentProfile, profileHandler.getProperties());
-			if (surrogateProfileHandler != null && surrogateProfileHandler.isSurrogate(profile))
-				profile.setSurrogateProfileHandler(surrogateProfileHandler);
-
-			profile.setTimestamp(profileHandler.getTimestamp());
-
-			IInstallableUnit[] ius = profileHandler.getInstallableUnits();
-			if (ius != null) {
-				for (int i = 0; i < ius.length; i++) {
-					IInstallableUnit iu = ius[i];
-					profile.addInstallableUnit(iu);
-					Map iuProperties = profileHandler.getIUProperties(iu);
-					if (iuProperties != null) {
-						for (Iterator it = iuProperties.entrySet().iterator(); it.hasNext();) {
-							Entry entry = (Entry) it.next();
-							String key = (String) entry.getKey();
-							String value = (String) entry.getValue();
-							profile.setInstallableUnitProperty(iu, key, value);
-						}
-					}
-				}
-			}
-			profile.setChanged(false);
-			profileMap.put(profileId, profile);
-		}
-
-		private final class ProfileDocHandler extends DocHandler {
-
-			public ProfileDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (ProfileXMLConstants.PROFILE_TARGET.equals(target)) {
-					Version repositoryVersion = extractPIVersion(target, data);
-					if (!ProfileXMLConstants.XML_TOLERANCE.isIncluded(repositoryVersion)) {
-						throw new SAXException(NLS.bind(Messages.SimpleProfileRegistry_Parser_Has_Incompatible_Version, repositoryVersion, ProfileXMLConstants.XML_TOLERANCE));
-					}
-				}
-			}
-		}
-
-		protected String getErrorMessage() {
-			return Messages.SimpleProfileRegistry_Parser_Error_Parsing_Registry;
-		}
-
-		public String toString() {
-			// TODO:
-			return null;
-		}
-
-	}
-
-	public synchronized boolean isCurrent(IProfile profile) {
-		Profile internalProfile = internalGetProfile(profile.getProfileId());
-		if (internalProfile == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.profile_not_registered, profile.getProfileId()));
-
-		if (!internalLockProfile(internalProfile))
-			throw new IllegalStateException(Messages.SimpleProfileRegistry_Profile_in_use);
-
-		try {
-			return (!((Profile) profile).isChanged() && checkTimestamps(profile, internalProfile));
-		} finally {
-			internalUnlockProfile(internalProfile);
-		}
-	}
-
-	public synchronized void lockProfile(Profile profile) {
-		Profile internalProfile = internalGetProfile(profile.getProfileId());
-		if (internalProfile == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.profile_not_registered, profile.getProfileId()));
-
-		if (!internalLockProfile(internalProfile))
-			throw new IllegalStateException(Messages.SimpleProfileRegistry_Profile_in_use);
-
-		boolean isCurrent = false;
-		try {
-			if (profile.isChanged()) {
-				if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-					DebugHelper.debug(PROFILE_REGISTRY, "Profile is marked as changed."); //$NON-NLS-1$
-				throw new IllegalStateException(NLS.bind(Messages.profile_not_current, profile.getProfileId()));
-			}
-			if (!checkTimestamps(profile, internalProfile)) {
-				if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-					DebugHelper.debug(PROFILE_REGISTRY, "Unexpected timestamp difference in profile."); //$NON-NLS-1$
-				throw new IllegalStateException(NLS.bind(Messages.profile_not_current, profile.getProfileId()));
-			}
-			isCurrent = true;
-		} finally {
-			// this check is done here to ensure we unlock even if a runtime exception is thrown
-			if (!isCurrent)
-				internalUnlockProfile(internalProfile);
-		}
-	}
-
-	private boolean internalLockProfile(IProfile profile) {
-		ProfileLock lock = (ProfileLock) profileLocks.get(profile.getProfileId());
-		if (lock == null) {
-			lock = new ProfileLock(this, new File(store, escape(profile.getProfileId()) + PROFILE_EXT));
-			profileLocks.put(profile.getProfileId(), lock);
-		}
-		return lock.lock();
-	}
-
-	private boolean checkTimestamps(IProfile profile, IProfile internalProfile) {
-		long[] timestamps = listProfileTimestamps(profile.getProfileId());
-		if (timestamps.length == 0) {
-			if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-				DebugHelper.debug(PROFILE_REGISTRY, "check timestamp: expected " + profile.getTimestamp() + " but no profiles were found"); //$NON-NLS-1$ //$NON-NLS-2$
-			resetProfiles();
-			return false;
-		}
-
-		long currentTimestamp = (timestamps.length == 0) ? -1 : timestamps[timestamps.length - 1];
-		if (profile.getTimestamp() != currentTimestamp) {
-			if (DebugHelper.DEBUG_PROFILE_REGISTRY)
-				DebugHelper.debug(PROFILE_REGISTRY, "check timestamp: expected " + profile.getTimestamp() + " but was " + currentTimestamp); //$NON-NLS-1$ //$NON-NLS-2$
-			if (internalProfile.getTimestamp() != currentTimestamp)
-				resetProfiles();
-			return false;
-		}
-
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry#containsProfile(java.lang.String)
-	 */
-	public synchronized boolean containsProfile(String id) {
-		if (SELF.equals(id))
-			id = self;
-		//null check done after self check, because self can be null
-		if (id == null)
-			return false;
-
-		// check profiles to avoid restoring the profile registry
-		if (profiles != null)
-			if (getProfile(id) != null)
-				return true;
-
-		File profileDirectory = new File(store, escape(id) + PROFILE_EXT);
-		if (!profileDirectory.isDirectory())
-			return false;
-		File[] profileFiles = profileDirectory.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return (pathname.getName().endsWith(PROFILE_GZ_EXT) || pathname.getName().endsWith(PROFILE_EXT)) && pathname.isFile();
-			}
-		});
-		return profileFiles.length > 0;
-	}
-
-	public synchronized void resetProfiles() {
-		profiles = null;
-	}
-
-	public synchronized void unlockProfile(IProfile profile) {
-		Profile internalProfile = internalGetProfile(profile.getProfileId());
-		if (internalProfile == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.profile_not_registered, profile.getProfileId()));
-		internalUnlockProfile(internalProfile);
-	}
-
-	private void internalUnlockProfile(IProfile profile) {
-		ProfileLock lock = (ProfileLock) profileLocks.get(profile.getProfileId());
-		lock.unlock();
-	}
-
-	public Profile validate(IProfile candidate) {
-		if (candidate instanceof Profile)
-			return (Profile) candidate;
-
-		throw new IllegalArgumentException("Profile incompatible: expected " + Profile.class.getName() + " but was " + ((candidate != null) ? candidate.getClass().getName() : "null") + "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-
-	public synchronized File getProfileDataDirectory(String id) {
-		if (SELF.equals(id))
-			id = self;
-		File profileDirectory = new File(store, escape(id) + PROFILE_EXT);
-		File profileDataArea = new File(profileDirectory, DATA_EXT);
-		if (!profileDataArea.isDirectory() && !profileDataArea.mkdir())
-			throw new IllegalStateException("Could not create profile data area " + profileDataArea.getAbsolutePath() + "for: " + id); //$NON-NLS-1$ //$NON-NLS-2$
-		return profileDataArea;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
deleted file mode 100644
index 2c2c38c..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SurrogateProfileHandler.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.io.File;
-import java.lang.ref.SoftReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ISurrogateProfileHandler;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-
-public class SurrogateProfileHandler implements ISurrogateProfileHandler {
-
-	private static final String NATIVE_TOUCHPOINT_TYPE = "org.eclipse.equinox.p2.native"; //$NON-NLS-1$
-	private static final String P2_ENGINE_DIR = "p2/" + EngineActivator.ID + "/"; //$NON-NLS-1$//$NON-NLS-2$
-	private static final String OSGI_INSTALL_AREA = "osgi.install.area"; //$NON-NLS-1$
-	private static final String ECLIPSE_INI_IGNORED = "eclipse.ini.ignored"; //$NON-NLS-1$
-	private static final String IU_LOCKED = Integer.toString(IProfile.LOCK_UNINSTALL | IProfile.LOCK_UPDATE);
-	private static final String PROP_SURROGATE = "org.eclipse.equinox.p2.surrogate"; //$NON-NLS-1$
-	private static final String PROP_SHARED_TIMESTAMP = "org.eclipse.equinox.p2.shared.timestamp"; //$NON-NLS-1$
-	private static final String PROP_BASE = "org.eclipse.equinox.p2.base"; //$NON-NLS-1$
-	private static final String PROP_RESOLVE = "org.eclipse.equinox.p2.resolve"; //$NON-NLS-1$
-	private static final String OPTIONAL = "OPTIONAL"; //$NON-NLS-1$
-	private static final String PROP_INCLUSION_RULES = "org.eclipse.equinox.p2.internal.inclusion.rules"; //$NON-NLS-1$
-
-	private SimpleProfileRegistry profileRegistry;
-
-	private SoftReference cachedProfile;
-
-	private static void addSharedProfileBaseIUs(final IProfile sharedProfile, final Profile userProfile) {
-		IQuery rootIUQuery = CompoundQuery.createCompoundQuery(new IQuery[] {new UserVisibleRootQuery(), new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate instanceof IInstallableUnit) {
-					IInstallableUnit iu = (IInstallableUnit) candidate;
-					if (iu.getTouchpointType().getId().equals(NATIVE_TOUCHPOINT_TYPE))
-						return true;
-				}
-				return false;
-			}
-		}}, false);
-		Collector rootIUs = sharedProfile.query(rootIUQuery, null);
-		for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			userProfile.addInstallableUnit(iu);
-			userProfile.addInstallableUnitProperties(iu, sharedProfile.getInstallableUnitProperties(iu));
-			userProfile.setInstallableUnitProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU, IU_LOCKED);
-			userProfile.setInstallableUnitProperty(iu, PROP_BASE, Boolean.TRUE.toString());
-		}
-	}
-
-	private static void removeUserProfileBaseIUs(final Profile userProfile) {
-		IQuery rootIUQuery = new IUProfilePropertyQuery(PROP_BASE, Boolean.TRUE.toString());
-		Collector rootIUs = userProfile.query(rootIUQuery, null);
-		for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			userProfile.removeInstallableUnit(iu);
-		}
-	}
-
-	private static void markRootsOptional(final Profile userProfile) {
-		Collector rootIUs = userProfile.query(new UserVisibleRootQuery(), null);
-		for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			userProfile.setInstallableUnitProperty(iu, PROP_INCLUSION_RULES, OPTIONAL);
-		}
-	}
-
-	private static void updateProperties(final IProfile sharedProfile, Profile userProfile) {
-		userProfile.setProperty(PROP_SHARED_TIMESTAMP, Long.toString(sharedProfile.getTimestamp()));
-		Location installLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		File installFolder = new File(installLocation.getURL().getPath());
-
-		if (Boolean.valueOf(sharedProfile.getProperty(IProfile.PROP_ROAMING)).booleanValue()) {
-			userProfile.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.getAbsolutePath());
-			userProfile.setProperty(IProfile.PROP_SHARED_CACHE, installFolder.getAbsolutePath());
-			userProfile.setProperty(IProfile.PROP_ROAMING, Boolean.FALSE.toString());
-		} else {
-			String cache = sharedProfile.getProperty(IProfile.PROP_CACHE);
-			if (cache != null)
-				userProfile.setProperty(IProfile.PROP_SHARED_CACHE, cache);
-		}
-
-		Location configurationLocation = (Location) ServiceHelper.getService(EngineActivator.getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
-		File configurationFolder = new File(configurationLocation.getURL().getPath());
-		userProfile.setProperty(IProfile.PROP_CONFIGURATION_FOLDER, configurationFolder.getAbsolutePath());
-
-		// We need to check that the configuration folder is not a file system root. 
-		// some of the profiles resources are stored as siblings to the configuration folder.
-		// also see bug 230384
-		if (configurationFolder.getParentFile() == null)
-			throw new IllegalArgumentException("Configuration folder must not be a file system root."); //$NON-NLS-1$
-
-		userProfile.setProperty(IProfile.PROP_CACHE, configurationFolder.getParentFile().getAbsolutePath());
-
-		File launcherConfigFile = new File(configurationFolder, ECLIPSE_INI_IGNORED);
-		userProfile.setProperty(IProfile.PROP_LAUNCHER_CONFIGURATION, launcherConfigFile.getAbsolutePath());
-	}
-
-	private synchronized SimpleProfileRegistry getProfileRegistry() {
-		if (profileRegistry == null) {
-			String installArea = EngineActivator.getContext().getProperty(OSGI_INSTALL_AREA);
-			try {
-				URL registryURL = new URL(installArea + P2_ENGINE_DIR + SimpleProfileRegistry.DEFAULT_STORAGE_DIR);
-				File sharedRegistryDirectory = new File(registryURL.getPath());
-				profileRegistry = new SimpleProfileRegistry(sharedRegistryDirectory, null, false);
-			} catch (MalformedURLException e) {
-				//this is not possible because we know the above URL is valid
-			}
-		}
-		return profileRegistry;
-	}
-
-	// this method must not try to lock the profile registry
-	private IProfile getSharedProfile(String id) {
-		SimpleProfileRegistry registry = getProfileRegistry();
-		long[] timestamps = registry.listProfileTimestamps(id);
-		if (timestamps.length == 0)
-			return null;
-
-		long currentTimestamp = timestamps[timestamps.length - 1];
-
-		//see if we have a cached profile
-		if (cachedProfile != null) {
-			IProfile profile = (IProfile) cachedProfile.get();
-			if (profile != null && profile.getProfileId().equals(id) && profile.getTimestamp() == currentTimestamp)
-				return profile;
-		}
-
-		final IProfile profile = registry.getProfile(id, currentTimestamp);
-		if (profile != null)
-			cachedProfile = new SoftReference(profile);
-		return profile;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#createProfile(java.lang.String)
-	 */
-	public IProfile createProfile(String id) {
-		final IProfile sharedProfile = getSharedProfile(id);
-		if (sharedProfile == null)
-			return null;
-
-		Profile userProfile = new Profile(id, null, sharedProfile.getProperties());
-		userProfile.setProperty(PROP_SURROGATE, Boolean.TRUE.toString());
-		userProfile.setSurrogateProfileHandler(this);
-		updateProperties(sharedProfile, userProfile);
-		addSharedProfileBaseIUs(sharedProfile, userProfile);
-		return userProfile;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#isSurrogate(org.eclipse.equinox.internal.provisional.p2.engine.IProfile)
-	 */
-	public boolean isSurrogate(IProfile profile) {
-		return Boolean.valueOf(profile.getProperty(PROP_SURROGATE)).booleanValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.engine.ISurrogateProfileHandler#queryProfile(org.eclipse.equinox.internal.provisional.p2.engine.IProfile, org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Collector queryProfile(IProfile profile, IQuery query, IProgressMonitor monitor) {
-		IProfile sharedProfile = getSharedProfile(profile.getProfileId());
-		Collector result = new Collector();
-		if (sharedProfile != null)
-			result.addAll(sharedProfile.query(query, monitor));
-
-		result.addAll(profile.query(query, monitor));
-		return result;
-	}
-
-	public boolean updateProfile(IProfile userProfile) {
-		final IProfile sharedProfile = getSharedProfile(userProfile.getProfileId());
-		if (sharedProfile == null)
-			throw new IllegalStateException(NLS.bind(Messages.shared_profile_not_found, userProfile.getProfileId()));
-
-		String sharedTimeStamp = Long.toString(sharedProfile.getTimestamp());
-		String userSharedTimeStamp = userProfile.getProperty(PROP_SHARED_TIMESTAMP);
-
-		if (userSharedTimeStamp != null && userSharedTimeStamp.equals(sharedTimeStamp))
-			return false;
-
-		Profile writableUserProfile = (Profile) userProfile;
-		updateProperties(sharedProfile, writableUserProfile);
-		removeUserProfileBaseIUs(writableUserProfile);
-		if (!userProfile.query(InstallableUnitQuery.ANY, null).isEmpty()) {
-			writableUserProfile.setProperty(PROP_RESOLVE, Boolean.TRUE.toString());
-			markRootsOptional(writableUserProfile);
-		}
-		addSharedProfileBaseIUs(sharedProfile, writableUserProfile);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
deleted file mode 100644
index 7f8dd45..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.osgi.util.NLS;
-
-//TODO This needs to support multiple version of each touchpoint and have a lookup that supports version semantics
-public class TouchpointManager implements IRegistryChangeListener {
-
-	private static final String PT_TOUCHPOINTS = "touchpoints"; //$NON-NLS-1$
-	private static final String ELEMENT_TOUCHPOINT = "touchpoint"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_TYPE = "type"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_VERSION = "version"; //$NON-NLS-1$
-
-	private class TouchpointEntry {
-
-		private IConfigurationElement element;
-		private boolean createdExtension = false;
-		private Touchpoint touchpoint = null;
-
-		public TouchpointEntry(IConfigurationElement element) {
-			this.element = element;
-		}
-
-		public Touchpoint getTouchpoint() {
-			if (!createdExtension) {
-				String id = getType();
-				try {
-					Touchpoint touchpointInstance = (Touchpoint) element.createExecutableExtension(ATTRIBUTE_CLASS);
-					if (touchpointInstance != null) {
-						this.touchpoint = touchpointInstance;
-					} else {
-						String errorMsg = NLS.bind(Messages.TouchpointManager_Null_Creating_Touchpoint_Extension, id);
-						throw new CoreException(new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null));
-					}
-				} catch (CoreException cexcpt) {
-					LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.TouchpointManager_Exception_Creating_Touchpoint_Extension, id), cexcpt));
-				} catch (ClassCastException ccexcpt) {
-					LogHelper.log(new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.TouchpointManager_Exception_Creating_Touchpoint_Extension, id), ccexcpt));
-				}
-				// Mark as created even in error cases,
-				// so exceptions are not logged multiple times
-				createdExtension = true;
-			}
-			return this.touchpoint;
-		}
-
-		public Version getVersion() {
-			try {
-				return Version.create(element.getAttribute(ATTRIBUTE_VERSION));
-			} catch (InvalidRegistryObjectException e) {
-				return null;
-			}
-		}
-
-		public String getType() {
-			try {
-				return element.getAttribute(ATTRIBUTE_TYPE);
-			} catch (InvalidRegistryObjectException e) {
-				return null;
-			}
-		}
-
-		public String toString() {
-			StringBuffer result = new StringBuffer(element.toString());
-			if (createdExtension) {
-				String touchpointString = touchpoint != null ? touchpoint.toString() : "not created"; //$NON-NLS-1$
-				result.append(" => " + touchpointString); //$NON-NLS-1$
-			}
-			return result.toString();
-		}
-	}
-
-	// TODO: Do we really want to store the touchpoints? The danger is 
-	//	     that if two installations are performed simultaneously, then...
-	// TODO: Figure out locking, concurrency requirements for touchpoints.
-	private Map touchpointEntries;
-
-	public TouchpointManager() {
-		RegistryFactory.getRegistry().addRegistryChangeListener(this, EngineActivator.ID);
-	}
-
-	/*
-	 * Return the touchpoint which is registered for the given type,
-	 * or <code>null</code> if none are registered.
-	 */
-	public synchronized Touchpoint getTouchpoint(ITouchpointType type) {
-		if (type == null)
-			throw new IllegalArgumentException(Messages.TouchpointManager_Null_Touchpoint_Type_Argument);
-		return getTouchpoint(type.getId(), type.getVersion().toString());
-	}
-
-	/*
-	 * Return the touchpoint which is registered for the given type and optionally version,
-	 * or <code>null</code> if none are registered.
-	 */
-	public Touchpoint getTouchpoint(String typeId, String versionRange) {
-		if (typeId == null || typeId.length() == 0)
-			throw new IllegalArgumentException(Messages.TouchpointManager_Null_Touchpoint_Type_Argument);
-
-		TouchpointEntry entry = (TouchpointEntry) getTouchpointEntries().get(typeId);
-		if (entry == null)
-			return null;
-		if (versionRange != null) {
-			VersionRange range = new VersionRange(versionRange);
-			if (!range.isIncluded(entry.getVersion()))
-				return null;
-		}
-
-		return entry.getTouchpoint();
-	}
-
-	/*
-	 * Construct a map of the extensions that implement the touchpoints extension point.
-	 */
-	private synchronized Map getTouchpointEntries() {
-		if (touchpointEntries != null)
-			return touchpointEntries;
-
-		IExtensionPoint point = RegistryFactory.getRegistry().getExtensionPoint(EngineActivator.ID, PT_TOUCHPOINTS);
-		IExtension[] extensions = point.getExtensions();
-		touchpointEntries = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			try {
-				IConfigurationElement[] elements = extensions[i].getConfigurationElements();
-				for (int j = 0; j < elements.length; j++) {
-					String elementName = elements[j].getName();
-					if (!ELEMENT_TOUCHPOINT.equalsIgnoreCase(elementName)) {
-						reportError(NLS.bind(Messages.TouchpointManager_Incorrectly_Named_Extension, elements[j].getName(), ELEMENT_TOUCHPOINT));
-						continue;
-					}
-					String id = elements[j].getAttribute(ATTRIBUTE_TYPE);
-					if (id == null) {
-						reportError(NLS.bind(Messages.TouchpointManager_Attribute_Not_Specified, ATTRIBUTE_TYPE));
-						continue;
-					}
-					if (touchpointEntries.get(id) == null) {
-						touchpointEntries.put(id, new TouchpointEntry(elements[j]));
-					} else {
-						reportError(NLS.bind(Messages.TouchpointManager_Conflicting_Touchpoint_Types, id));
-					}
-				}
-			} catch (InvalidRegistryObjectException e) {
-				//skip this extension
-			}
-		}
-		return touchpointEntries;
-	}
-
-	static void reportError(String errorMsg) {
-		Status errorStatus = new Status(IStatus.ERROR, EngineActivator.ID, 1, errorMsg, null);
-		LogHelper.log(errorStatus);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IRegistryChangeListener#registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
-	 */
-	public synchronized void registryChanged(IRegistryChangeEvent event) {
-		// just flush the cache when something changed.  It will be recomputed on demand.
-		touchpointEntries = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
deleted file mode 100644
index f9bc0c3..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/messages.properties
+++ /dev/null
@@ -1,104 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-ActionManager_Exception_Creating_Action_Extension=Error creating action with id: {0}.
-ActionManager_Required_Touchpoint_Not_Found=The required {0} touchpoint for the {1} action is not included in the installation manager configuration.
-action_syntax_error=Invalid action syntax: {0}.
-download_artifact=Downloading artifacts
-download_no_repository=No artifact repository available.
-
-error_parsing_profile=Error parsing profile {0}.
-error_persisting_profile=Error persisting profile {0}.
-io_FailedRead=Failed to read profile repository at {0}
-io_NotFound=No repository found at {0}
-
-TouchpointManager_Null_Touchpoint_Type_Argument=A null or empty string was passed as the type of a touchpoint.
-TouchpointManager_Incorrectly_Named_Extension=A touchpoint extension is incorrectly named {0} instead of {1}.
-TouchpointManager_Attribute_Not_Specified=The required attribute {0} is not specified for the touchpoints extension point.
-TouchpointManager_Conflicting_Touchpoint_Types=Two or more touchpoint extensions of type {0} are defined.
-TouchpointManager_Exception_Creating_Touchpoint_Extension=An exception was thrown and caught when creating the extension point instance for the {0} touchpoint.
-TouchpointManager_Null_Creating_Touchpoint_Extension=A null object was returned when creating the extension point instance for the {0} touchpoint.
-
-ParameterizedProvisioningAction_action_or_parameters_null=Both action and action parameters must not be null.
-Profile_Null_Profile_Id=A profile must have an non-empty id.
-Profile_Duplicate_Root_Profile_Id=Adding a profile with duplicate id: {0}.
-Profile_Parent_Not_Found=Parent profile not found: {0}.
-
-SimpleProfileRegistry_Parser_Error_Parsing_Registry=\
-	Error parsing the profile registry.
-SimpleProfileRegistry_Parser_Has_Incompatible_Version=\
-	The profile registry has incompatible version {0}; expected {1}.
-SimpleProfileRegistry_Profile_in_use=The profile is currently in use.
-SimpleProfileRegistry_Profile_not_locked=The profile is not locked.
-SimpleProfileRegistry_Profile_not_locked_due_to_exception=Profile not locked due to exception: {0}
-SimpleProfileRegistry_Bad_profile_location=Bad profile location: {0}
-SimpleProfileRegistry_CannotRemoveCurrentSnapshot=Cannot remove the current profile timestamp
-profile_does_not_exist=Profile to be updated does not exist: {0}.
-profile_not_current=Profile {0} is not current.
-profile_not_registered=Profile {0} not registered.
-reg_dir_not_available=Registry Directory not available: {0}.
-thread_not_owner=Thread not lock owner.
-profile_lock_not_reentrant=Lock failed. Profile does not permit reentrant locking.
-shared_profile_not_found=Shared profile {0} not found.
-
-ProfilePreferences_saving=Saving profile preferences
-phase_error=An error occurred during the {0} phase.
-action_undo_error=An error occurred while rolling back the engine operation while undoing the {0} action.
-forced_action_execute_error=An error occurred while performing the engine operation while executing the {0} action in forced mode. The operation will continue.
-phaseid_not_positive=Phase weight must be positive.
-phaseid_not_set=Phase id must be set.
-action_not_found=No action found for: {0}.
-actions_not_found=No actions found for: {0}.
-not_current_phase=Current phase does not match argument.
-null_operands=Operands must not be null.
-null_phase=Phase must not be null.
-null_phases=Phases must not be null
-null_phaseset=PhaseSet must not be null.
-null_profile=Profile must not be null.
-touchpoint_prepare_error=An error occurred while preparing the engine operation for the {0} touchpoint.
-touchpoint_commit_error=An error occurred while committing the engine operation for the {0} touchpoint.
-touchpoint_rollback_error=An error occurred while rolling back the engine operation for the {0} touchpoint.
-phase_undo_error=An error occurred while undoing the {0} phase.
-phase_undo_operand_error=An error occurred while undoing the {0} phase for operand {1}.
-phase_not_started=There is no phase to end.
-phase_started=A phase is already started.
-
-session_prepare_error=An error occurred while preparing the engine session for profile: {0}.
-session_commit_error=An error occurred while committing the engine session for profile: {0}.
-null_operand=Operand must not be null.
-operand_started=An operand is already started.
-operand_not_started=There is no operand to end.
-not_current_operand=Current operand does not match argument.
-null_action=Action must not be null
-session_context=session context was:(profile={0}, phase={1}, operand={2}, action={3}).
-preparing=Preparing to commit the provisioning operation.
-committing=Committing the provisioning operation.
-rollingback_error=An error was detected while performing the engine operation and the changes are being rolled back. See the log for details.
-rollingback_cancel=The engine operation was cancelled and the changes are being rolled back.
-
-Engine_Operation_Canceled_By_User=Operation canceled by the user.
-InstallableUnitEvent_type_not_install_or_uninstall=type must be either UNINSTALL(0) or INSTALL(1)
-CertificateChecker_CertificateError=An invalid certificate was found.
-CertificateChecker_CertificateRejected=One or more certificates rejected. Cannot proceed with installation.
-CertificateChecker_KeystoreConnectionError=Cannot connect to keystore.
-CertificateChecker_SignedContentError=Error with signed content.
-CertificateChecker_SignedContentIOError=Error reading signed content.
-CertificateChecker_UnsignedNotAllowed=Installing unsigned artifacts is not permitted: {0}
-
-Phase_Collect_Error=An error occurred while collecting items to be installed
-Phase_Configure_Error=An error occurred while configuring the installed items
-Phase_Configure_Task=Configuring {0}
-Phase_Install_Error=An error occurred while installing the items
-Phase_Install_Task=Installing {0}
-Phase_Sizing_Error=Error computing the size.  Some of the items to be installed could not be found.
-Phase_Sizing_Warning=The size may not be accurate.  Some of the items did not report a size.
-Phase_Unconfigure_Error=An error occurred while unconfiguring the items to uninstall
-Phase_Uninstall_Error=An error occurred while uninstalling
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CertificateChecker.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CertificateChecker.java
deleted file mode 100644
index 63fdb23..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CertificateChecker.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.security.cert.Certificate;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.TrustInfo;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.osgi.service.security.TrustEngine;
-import org.eclipse.osgi.signedcontent.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class CertificateChecker {
-	private ArrayList artifacts;
-	private final IProvisioningAgent agent;
-
-	public CertificateChecker() {
-		this(null);
-	}
-
-	public CertificateChecker(IProvisioningAgent agent) {
-		this.agent = agent;
-		artifacts = new ArrayList();
-	}
-
-	public IStatus start() {
-		final BundleContext context = EngineActivator.getContext();
-		ServiceReference contentFactoryRef = context.getServiceReference(SignedContentFactory.class.getName());
-		SignedContentFactory verifierFactory = (SignedContentFactory) context.getService(contentFactoryRef);
-		ServiceReference trustEngineRef = context.getServiceReference(TrustEngine.class.getName());
-		TrustEngine trustEngine = (TrustEngine) context.getService(trustEngineRef);
-		try {
-			return checkCertificates(trustEngine, verifierFactory);
-		} finally {
-			context.ungetService(contentFactoryRef);
-			context.ungetService(trustEngineRef);
-		}
-	}
-
-	private IStatus checkCertificates(TrustEngine trustEngine, SignedContentFactory verifierFactory) {
-		IServiceUI serviceUI = (IServiceUI) agent.getService(IServiceUI.SERVICE_NAME);
-		SignedContent content = null;
-		SignerInfo[] signerInfo = null;
-		ArrayList untrusted = new ArrayList();
-		ArrayList unsigned = new ArrayList();
-		ArrayList untrustedChain = new ArrayList();
-		IStatus status = Status.OK_STATUS;
-		if (artifacts.size() == 0 || serviceUI == null)
-			return status;
-		for (Iterator it = artifacts.iterator(); it.hasNext();) {
-			File artifact = (File) it.next();
-			try {
-				content = verifierFactory.getSignedContent(artifact);
-				if (!content.isSigned()) {
-					unsigned.add(artifact);
-					continue;
-				}
-				signerInfo = content.getSignerInfos();
-			} catch (GeneralSecurityException e) {
-				return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_SignedContentError, e);
-			} catch (IOException e) {
-				return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_SignedContentIOError, e);
-			}
-			for (int i = 0; i < signerInfo.length; i++) {
-				Certificate[] certificateChain = signerInfo[i].getCertificateChain();
-				try {
-					Certificate trustAnchor = trustEngine.findTrustAnchor(certificateChain);
-					if (trustAnchor == null) {
-						if (!untrusted.contains(certificateChain[0])) {
-							untrusted.add(certificateChain[0]);
-							untrustedChain.add(certificateChain);
-						}
-					}
-				} catch (IOException e) {
-					return new Status(IStatus.ERROR, EngineActivator.ID, Messages.CertificateChecker_KeystoreConnectionError, e);
-				}
-			}
-		}
-		String policy = getUnsignedContentPolicy();
-		//if there is unsigned content and we should never allow it, then fail without further checking certificates
-		if (!unsigned.isEmpty() && EngineActivator.UNSIGNED_FAIL.equals(policy))
-			return new Status(IStatus.ERROR, EngineActivator.ID, NLS.bind(Messages.CertificateChecker_UnsignedNotAllowed, unsigned));
-
-		String[] details;
-		// If we always allow unsigned content, or we don't have any, we don't prompt the user about it
-		if (EngineActivator.UNSIGNED_ALLOW.equals(policy) || unsigned.isEmpty())
-			details = null;
-		else {
-			details = new String[unsigned.size()];
-			for (int i = 0; i < details.length; i++) {
-				details[i] = unsigned.get(i).toString();
-			}
-		}
-		Certificate[][] unTrustedCertificateChains;
-		if (untrusted.isEmpty()) {
-			unTrustedCertificateChains = null;
-		} else {
-			unTrustedCertificateChains = new Certificate[untrustedChain.size()][];
-			for (int i = 0; i < untrustedChain.size(); i++) {
-				unTrustedCertificateChains[i] = (Certificate[]) untrustedChain.get(i);
-			}
-		}
-
-		// If there was no unsigned content, and nothing untrusted, no need to prompt.
-		if (details == null && unTrustedCertificateChains == null)
-			return status;
-
-		TrustInfo trustInfo = serviceUI.getTrustInfo(unTrustedCertificateChains, details);
-
-		// If user doesn't trust unsigned content, cancel the operation
-		if (!trustInfo.trustUnsignedContent())
-			return Status.CANCEL_STATUS;
-
-		Certificate[] trustedCertificates = trustInfo.getTrustedCertificates();
-		// If we had untrusted chains and nothing was trusted, cancel the operation
-		if (unTrustedCertificateChains != null && trustedCertificates == null) {
-			return new Status(IStatus.CANCEL, EngineActivator.ID, Messages.CertificateChecker_CertificateRejected);
-		}
-		// Anything that was trusted should be removed from the untrusted list
-		if (trustedCertificates != null) {
-			for (int i = 0; i < trustedCertificates.length; i++) {
-				untrusted.remove(trustedCertificates[i]);
-			}
-		}
-
-		// If there is still untrusted content, cancel the operation
-		if (untrusted.size() > 0)
-			return new Status(IStatus.CANCEL, EngineActivator.ID, Messages.CertificateChecker_CertificateRejected);
-		// If we should persist the trusted certificates, add them to the trust engine
-		if (trustInfo.persistTrust()) {
-			for (int i = 0; i < trustedCertificates.length; i++) {
-				try {
-					trustEngine.addTrustAnchor(trustedCertificates[i], trustedCertificates[i].toString());
-				} catch (IOException e) {
-					//just return an INFO so the user can proceed with the install
-					return new Status(IStatus.INFO, EngineActivator.ID, Messages.CertificateChecker_KeystoreConnectionError, e);
-				} catch (GeneralSecurityException e) {
-					return new Status(IStatus.INFO, EngineActivator.ID, Messages.CertificateChecker_CertificateError, e);
-				}
-			}
-		}
-
-		return status;
-	}
-
-	/**
-	 * Return the policy on unsigned content.
-	 */
-	private String getUnsignedContentPolicy() {
-		String policy = EngineActivator.getContext().getProperty(EngineActivator.PROP_UNSIGNED_POLICY);
-		if (policy == null)
-			policy = EngineActivator.UNSIGNED_PROMPT;
-		return policy;
-
-	}
-
-	public void add(File toAdd) {
-		artifacts.add(toAdd);
-	}
-
-	public void add(Object[] toAdd) {
-		for (int i = 0; i < toAdd.length; i++) {
-			if (toAdd[i] instanceof File)
-				add((File) toAdd[i]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CheckTrust.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CheckTrust.java
deleted file mode 100644
index b91e958..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/CheckTrust.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.InstallableUnitPhase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An install phase that checks if the certificates used to sign the artifacts
- * being installed are from a trusted source.
- */
-public class CheckTrust extends InstallableUnitPhase {
-
-	private static final String PHASE_ID = IPhaseSet.PHASE_CHECK_TRUST;
-	public static final String PARM_ARTIFACT_FILES = "artifactFiles"; //$NON-NLS-1$
-
-	public CheckTrust(int weight) {
-		super(PHASE_ID, weight);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.second() != null);
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		Collection artifactRequests = (Collection) parameters.get(PARM_ARTIFACT_FILES);
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-
-		// Instantiate a check trust manager
-		CertificateChecker certificateChecker = new CertificateChecker(agent);
-		certificateChecker.add(artifactRequests.toArray());
-		IStatus status = certificateChecker.start();
-
-		return status;
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-		IInstallableUnit unit = operand.second();
-		ProvisioningAction[] parsedActions = getActions(unit, phaseId);
-		if (parsedActions != null)
-			return parsedActions;
-
-		ITouchpointType type = unit.getTouchpointType();
-		if (type == null || type == ITouchpointType.NONE)
-			return null;
-
-		String actionId = getActionManager().getTouchpointQualifiedActionId(phaseId, type);
-		ProvisioningAction action = getActionManager().getAction(actionId, null);
-		if (action == null) {
-			return null;
-		}
-		return new ProvisioningAction[] {action};
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		IInstallableUnit iu = operand.second();
-		parameters.put(PARM_IU, iu);
-
-		return super.initializeOperand(profile, operand, parameters, monitor);
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		parameters.put(PARM_ARTIFACT_FILES, new ArrayList());
-		return super.initializePhase(monitor, profile, parameters);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Collect.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Collect.java
deleted file mode 100644
index 8510b05..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Collect.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-
-/**
- * The goal of the collect phase is to ask the touchpoints if the artifacts associated with an IU need to be downloaded.
- */
-public class Collect extends InstallableUnitPhase {
-	private static final String PHASE_ID = IPhaseSet.PHASE_COLLECT;
-	public static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
-
-	public Collect(int weight) {
-		super(PHASE_ID, weight);
-		//re-balance work since postPerform will do almost all the time-consuming work
-		prePerformWork = 0;
-		mainPerformWork = 100;
-		postPerformWork = 1000;
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.second() != null && !op.second().equals(op.first()));
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-		IInstallableUnit unit = operand.second();
-		ProvisioningAction[] parsedActions = getActions(unit, phaseId);
-		if (parsedActions != null)
-			return parsedActions;
-
-		ITouchpointType type = unit.getTouchpointType();
-		if (type == null || type == ITouchpointType.NONE)
-			return null;
-
-		String actionId = getActionManager().getTouchpointQualifiedActionId(phaseId, type);
-		ProvisioningAction action = getActionManager().getAction(actionId, null);
-		if (action == null) {
-			return null;
-		}
-		return new ProvisioningAction[] {action};
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Collect_Error;
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		List artifactRequests = (List) parameters.get(PARM_ARTIFACT_REQUESTS);
-		ProvisioningContext context = (ProvisioningContext) parameters.get(PARM_CONTEXT);
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-		IArtifactRepositoryManager repositoryManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-
-		DownloadManager dm = new DownloadManager(context, repositoryManager);
-		for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
-			IArtifactRequest[] requests = (IArtifactRequest[]) it.next();
-			dm.add(requests);
-		}
-		return dm.start(monitor);
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		parameters.put(PARM_ARTIFACT_REQUESTS, new ArrayList());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Configure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Configure.java
deleted file mode 100644
index 6112264..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Configure.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.InstallableUnitPhase;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.osgi.util.NLS;
-
-public class Configure extends InstallableUnitPhase {
-
-	public Configure(int weight) {
-		super(IPhaseSet.PHASE_CONFIGURE, weight);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.second() != null);
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
-		IInstallableUnit unit = currentOperand.second();
-		if (FragmentQuery.isFragment(unit))
-			return null;
-		return getActions(unit, phaseId);
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Configure_Error;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		IInstallableUnit iu = operand.second();
-		monitor.subTask(NLS.bind(Messages.Phase_Configure_Task, iu.getId()));
-		parameters.put(PARM_IU, iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put(PARM_ARTIFACT, artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java
deleted file mode 100644
index e114204..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.osgi.util.NLS;
-
-public class Install extends InstallableUnitPhase {
-
-	final static class BeforeInstallEventAction extends ProvisioningAction {
-
-		public IStatus execute(Map parameters) {
-			IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.INSTALL, getTouchpoint()));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-			profile.removeInstallableUnit(iu);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.UNINSTALL, getTouchpoint()));
-			return null;
-		}
-	}
-
-	final static class AfterInstallEventAction extends ProvisioningAction {
-
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-			profile.addInstallableUnit(iu);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.INSTALL, getTouchpoint()));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.UNINSTALL, getTouchpoint()));
-			return null;
-		}
-	}
-
-	private static final String PHASE_ID = IPhaseSet.PHASE_INSTALL;
-
-	public Install(int weight) {
-		super(PHASE_ID, weight);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.second() != null && !op.second().equals(op.first()));
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
-		//TODO: monitor.subTask(NLS.bind(Messages.Engine_Installing_IU, unit.getId()));
-
-		ProvisioningAction beforeAction = new BeforeInstallEventAction();
-		ProvisioningAction afterAction = new AfterInstallEventAction();
-
-		IInstallableUnit unit = currentOperand.second();
-		Touchpoint touchpoint = getActionManager().getTouchpointPoint(unit.getTouchpointType());
-		if (touchpoint != null) {
-			beforeAction.setTouchpoint(touchpoint);
-			afterAction.setTouchpoint(touchpoint);
-		}
-
-		if (FragmentQuery.isFragment(unit))
-			return new ProvisioningAction[] {beforeAction, afterAction};
-
-		ProvisioningAction[] parsedActions = getActions(unit, phaseId);
-		if (parsedActions == null)
-			return new ProvisioningAction[] {beforeAction, afterAction};
-
-		ProvisioningAction[] actions = new ProvisioningAction[parsedActions.length + 2];
-		actions[0] = beforeAction;
-		System.arraycopy(parsedActions, 0, actions, 1, parsedActions.length);
-		actions[actions.length - 1] = afterAction;
-		return actions;
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Install_Error;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		IInstallableUnit iu = operand.second();
-		monitor.subTask(NLS.bind(Messages.Phase_Install_Task, iu.getId()));
-		parameters.put(PARM_IU, iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put(PARM_ARTIFACT, artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Property.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Property.java
deleted file mode 100644
index 0835828..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Property.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.Phase;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class Property extends Phase {
-
-	public class ProfilePropertyAction extends ProvisioningAction {
-
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			PropertyOperand propertyOperand = (PropertyOperand) parameters.get(PARM_OPERAND);
-
-			if (propertyOperand.second() == null)
-				removeProfileProperty(profile, propertyOperand);
-			else
-				setProfileProperty(profile, propertyOperand, false);
-
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			PropertyOperand propertyOperand = (PropertyOperand) parameters.get(PARM_OPERAND);
-
-			if (propertyOperand.first() == null)
-				removeProfileProperty(profile, propertyOperand);
-			else
-				setProfileProperty(profile, propertyOperand, true);
-
-			return null;
-		}
-
-		private void setProfileProperty(Profile profile, PropertyOperand propertyOperand, boolean undo) {
-
-			String value = (String) (undo ? propertyOperand.first() : propertyOperand.second());
-
-			if (propertyOperand instanceof InstallableUnitPropertyOperand) {
-				InstallableUnitPropertyOperand iuPropertyOperand = (InstallableUnitPropertyOperand) propertyOperand;
-				profile.setInstallableUnitProperty(iuPropertyOperand.getInstallableUnit(), iuPropertyOperand.getKey(), value);
-			} else {
-				profile.setProperty(propertyOperand.getKey(), value);
-			}
-		}
-
-		private void removeProfileProperty(Profile profile, PropertyOperand propertyOperand) {
-			if (propertyOperand instanceof InstallableUnitPropertyOperand) {
-				InstallableUnitPropertyOperand iuPropertyOperand = (InstallableUnitPropertyOperand) propertyOperand;
-				profile.removeInstallableUnitProperty(iuPropertyOperand.getInstallableUnit(), iuPropertyOperand.getKey());
-			} else {
-				profile.removeProperty(propertyOperand.getKey());
-			}
-		}
-	}
-
-	public class UpdateInstallableUnitProfilePropertiesAction extends ProvisioningAction {
-
-		// we do not need to use a memento here since the profile is not persisted unless the operation is successful
-		Map originalSourceProperties;
-		Map originalTargetProperties;
-
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
-			IInstallableUnit source = iuOperand.first();
-			originalSourceProperties = profile.getInstallableUnitProperties(source);
-
-			IInstallableUnit target = iuOperand.second();
-			originalTargetProperties = profile.getInstallableUnitProperties(target);
-
-			profile.addInstallableUnitProperties(target, originalSourceProperties);
-			profile.clearInstallableUnitProperties(source);
-
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
-			IInstallableUnit source = iuOperand.first();
-			profile.clearInstallableUnitProperties(source);
-			profile.addInstallableUnitProperties(source, originalSourceProperties);
-
-			IInstallableUnit target = iuOperand.second();
-			profile.clearInstallableUnitProperties(target);
-			profile.addInstallableUnitProperties(target, originalTargetProperties);
-
-			return null;
-		}
-	}
-
-	public class RemoveInstallableUnitProfilePropertiesAction extends ProvisioningAction {
-
-		// we do not need to use a memento here since the profile is not persisted unless the operation is successful
-		Map originalSourceProperties;
-		Map originalTargetProperties;
-
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
-			IInstallableUnit source = iuOperand.first();
-			originalSourceProperties = profile.getInstallableUnitProperties(source);
-			profile.clearInstallableUnitProperties(source);
-
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			InstallableUnitOperand iuOperand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-
-			IInstallableUnit source = iuOperand.first();
-			profile.clearInstallableUnitProperties(source);
-			profile.addInstallableUnitProperties(source, originalSourceProperties);
-
-			return null;
-		}
-	}
-
-	private static final String PHASE_ID = IPhaseSet.PHASE_PROPERTY;
-
-	public Property(int weight) {
-		super(PHASE_ID, weight);
-	}
-
-	protected ProvisioningAction[] getActions(Operand operand) {
-		if (operand instanceof PropertyOperand)
-			return new ProvisioningAction[] {new ProfilePropertyAction()};
-
-		if (operand instanceof InstallableUnitOperand) {
-			InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
-			if (iuOperand.first() != null) {
-				if (iuOperand.second() != null) {
-					return new ProvisioningAction[] {new UpdateInstallableUnitProfilePropertiesAction()};
-				}
-				return new ProvisioningAction[] {new RemoveInstallableUnitProfilePropertiesAction()};
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Sizing.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Sizing.java
deleted file mode 100644
index 1743bcd..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Sizing.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-public class Sizing extends InstallableUnitPhase {
-	private static final String PHASE_ID = "sizing"; //$NON-NLS-1$
-	private static final String COLLECT_PHASE_ID = "collect"; //$NON-NLS-1$
-
-	private long sizeOnDisk;
-	private long dlSize;
-
-	public Sizing(int weight, String phaseName) {
-		super(PHASE_ID, weight);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.second() != null && !op.second().equals(op.first()));
-	}
-
-	public long getDiskSize() {
-		return sizeOnDisk;
-	}
-
-	public long getDlSize() {
-		return dlSize;
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-		IInstallableUnit unit = operand.second();
-		ProvisioningAction[] parsedActions = getActions(unit, COLLECT_PHASE_ID);
-		if (parsedActions != null)
-			return parsedActions;
-
-		ITouchpointType type = unit.getTouchpointType();
-		if (type == null || type == ITouchpointType.NONE)
-			return null;
-
-		String actionId = getActionManager().getTouchpointQualifiedActionId(COLLECT_PHASE_ID, type);
-		ProvisioningAction action = getActionManager().getAction(actionId, null);
-		if (action == null) {
-			return null;
-		}
-		return new ProvisioningAction[] {action};
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Sizing_Error;
-	}
-
-	protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		List artifactRequests = (List) parameters.get(Collect.PARM_ARTIFACT_REQUESTS);
-		ProvisioningContext context = (ProvisioningContext) parameters.get(PARM_CONTEXT);
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-		int statusCode = 0;
-
-		Set artifactsToObtain = new HashSet(artifactRequests.size());
-
-		for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
-			IArtifactRequest[] requests = (IArtifactRequest[]) it.next();
-			if (requests == null)
-				continue;
-			for (int i = 0; i < requests.length; i++) {
-				artifactsToObtain.add(requests[i]);
-			}
-		}
-
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-
-		IArtifactRepositoryManager repoMgr = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-		URI[] repositories = null;
-		if (context == null || context.getArtifactRepositories() == null)
-			repositories = repoMgr.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		else
-			repositories = context.getArtifactRepositories();
-
-		for (Iterator iterator = artifactsToObtain.iterator(); iterator.hasNext() && !monitor.isCanceled();) {
-			IArtifactRequest artifactRequest = (IArtifactRequest) iterator.next();
-			boolean found = false;
-			for (int i = 0; i < repositories.length; i++) {
-				IArtifactRepository repo;
-				try {
-					repo = repoMgr.loadRepository(repositories[i], monitor);
-				} catch (ProvisionException e) {
-					continue;//skip unresponsive repositories
-				}
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(artifactRequest.getArtifactKey());
-				if (descriptors.length > 0) {
-					if (descriptors[0].getProperty(IArtifactDescriptor.ARTIFACT_SIZE) != null)
-						sizeOnDisk += Long.parseLong(descriptors[0].getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
-					else
-						statusCode = ProvisionException.ARTIFACT_INCOMPLETE_SIZING;
-					if (descriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_SIZE) != null)
-						dlSize += Long.parseLong(descriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-					else
-						statusCode = ProvisionException.ARTIFACT_INCOMPLETE_SIZING;
-					found = true;
-					break;
-				}
-			}
-			if (!found)
-				// The artifact wasn't present in any repository
-				return new Status(IStatus.ERROR, EngineActivator.ID, ProvisionException.ARTIFACT_NOT_FOUND, Messages.Phase_Sizing_Error, null);
-		}
-		if (statusCode != 0)
-			return new Status(IStatus.WARNING, EngineActivator.ID, statusCode, Messages.Phase_Sizing_Warning, null);
-		return null;
-	}
-
-	protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-		parameters.put(Collect.PARM_ARTIFACT_REQUESTS, new ArrayList());
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Unconfigure.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Unconfigure.java
deleted file mode 100644
index 86b6edf..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Unconfigure.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.InstallableUnitPhase;
-import org.eclipse.equinox.internal.p2.engine.Messages;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-
-public class Unconfigure extends InstallableUnitPhase {
-
-	public Unconfigure(int weight, boolean forced) {
-		super(IPhaseSet.PHASE_UNCONFIGURE, weight, forced);
-	}
-
-	public Unconfigure(int weight) {
-		this(weight, false);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.first() != null);
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
-		//TODO: monitor.subTask(NLS.bind(Messages.Engine_Unconfiguring_IU, unit.getId()));
-
-		IInstallableUnit unit = currentOperand.first();
-		if (FragmentQuery.isFragment(unit))
-			return null;
-
-		return getActions(unit, phaseId);
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Unconfigure_Error;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		IInstallableUnit iu = operand.first();
-		parameters.put(PARM_IU, iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put(PARM_ARTIFACT, artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Uninstall.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Uninstall.java
deleted file mode 100644
index 05a838a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Uninstall.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.engine.phases;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-
-public class Uninstall extends InstallableUnitPhase {
-
-	final static class BeforeUninstallEventAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.UNINSTALL, getTouchpoint()));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-			profile.addInstallableUnit(iu);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.INSTALL, getTouchpoint()));
-			return null;
-		}
-	}
-
-	final static class AfterUninstallEventAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			Profile profile = (Profile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-			profile.removeInstallableUnit(iu);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, false, profile, operand, InstallableUnitEvent.UNINSTALL, getTouchpoint()));
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			IProfile profile = (IProfile) parameters.get(PARM_PROFILE);
-			String phaseId = (String) parameters.get(PARM_PHASE_ID);
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			((IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME)).publishEvent(new InstallableUnitEvent(phaseId, true, profile, operand, InstallableUnitEvent.INSTALL, getTouchpoint()));
-			return null;
-		}
-	}
-
-	public Uninstall(int weight, boolean forced) {
-		super(IPhaseSet.PHASE_UNINSTALL, weight, forced);
-	}
-
-	public Uninstall(int weight) {
-		this(weight, false);
-	}
-
-	protected boolean isApplicable(InstallableUnitOperand op) {
-		return (op.first() != null && !op.first().equals(op.second()));
-	}
-
-	protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) {
-		//TODO: monitor.subTask(NLS.bind(Messages.Engine_Uninstalling_IU, unit.getId()));
-
-		ProvisioningAction beforeAction = new BeforeUninstallEventAction();
-		ProvisioningAction afterAction = new AfterUninstallEventAction();
-
-		IInstallableUnit unit = currentOperand.first();
-		Touchpoint touchpoint = getActionManager().getTouchpointPoint(unit.getTouchpointType());
-		if (touchpoint != null) {
-			beforeAction.setTouchpoint(touchpoint);
-			afterAction.setTouchpoint(touchpoint);
-		}
-
-		if (FragmentQuery.isFragment(unit))
-			return new ProvisioningAction[] {beforeAction, afterAction};
-		ProvisioningAction[] parsedActions = getActions(unit, phaseId);
-		if (parsedActions == null)
-			return new ProvisioningAction[] {beforeAction, afterAction};
-
-		ProvisioningAction[] actions = new ProvisioningAction[parsedActions.length + 2];
-		actions[0] = beforeAction;
-		System.arraycopy(parsedActions, 0, actions, 1, parsedActions.length);
-		actions[actions.length - 1] = afterAction;
-		return actions;
-	}
-
-	protected String getProblemMessage() {
-		return Messages.Phase_Uninstall_Error;
-	}
-
-	protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-		IInstallableUnit iu = operand.first();
-		parameters.put(PARM_IU, iu);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts != null && artifacts.length > 0)
-			parameters.put(PARM_ARTIFACT, artifacts[0]);
-
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java
deleted file mode 100644
index 98576a3..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/BeginOperationEvent.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-
-/**
- * @since 2.0
- */
-public class BeginOperationEvent extends TransactionEvent {
-
-	private static final long serialVersionUID = 6389318375739324865L;
-
-	public BeginOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
-		super(profile, phaseSet, operands, engine);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
deleted file mode 100644
index 5b993dc..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/CommitOperationEvent.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-
-/**
- * @since 2.0
- */
-public class CommitOperationEvent extends TransactionEvent {
-	private static final long serialVersionUID = -523967775426133720L;
-
-	public CommitOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
-		super(profile, phaseSet, operands, engine);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
deleted file mode 100644
index 96d5fd1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/DefaultPhaseSet.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.p2.engine.phases.*;
-
-/**
- * @since 2.0
- */
-public class DefaultPhaseSet extends PhaseSet {
-
-	private static final boolean forcedUninstall = Boolean.valueOf(EngineActivator.getContext().getProperty("org.eclipse.equinox.p2.engine.forcedUninstall")).booleanValue(); //$NON-NLS-1$
-
-	public static int PHASE_COLLECT = 0x02;
-	public static int PHASE_UNCONFIGURE = 0x20;
-	public static int PHASE_UNINSTALL = 0x40;
-	public static int PHASE_PROPERTY = 0x10;
-	public static int PHASE_CHECK_TRUST = 0x01;
-	public static int PHASE_INSTALL = 0x08;
-	public static int PHASE_CONFIGURE = 0x04;
-
-	public DefaultPhaseSet() {
-		this(new Phase[] {new Collect(100), new Unconfigure(10, forcedUninstall), new Uninstall(50, forcedUninstall), new Property(1), new CheckTrust(10), new Install(50), new Configure(10)});
-	}
-
-	private DefaultPhaseSet(Phase[] phases) {
-		super(phases);
-	}
-
-	/**
-	 * Creates a default phase set that covers all the provisioning operations.
-	 * Phases can be specified for exclusion.
-	 * 
-	 * @param exclude - A set of bit options that specify the phases to exclude.
-	 * See {@link DefaultPhaseSet} for possible options
-	 * @return the {@link PhaseSet}
-	 */
-	public static final PhaseSet createDefaultPhaseSet(int exclude) {
-		ArrayList phases = new ArrayList();
-		if ((PHASE_COLLECT & exclude) != PHASE_COLLECT)
-			phases.add(new Collect(100));
-		if ((PHASE_UNCONFIGURE & exclude) != PHASE_UNCONFIGURE)
-			phases.add(new Unconfigure(10, forcedUninstall));
-		if ((PHASE_UNINSTALL & exclude) != PHASE_UNINSTALL)
-			phases.add(new Uninstall(50, forcedUninstall));
-		if ((PHASE_PROPERTY & exclude) != PHASE_PROPERTY)
-			phases.add(new Property(1));
-		if ((PHASE_CHECK_TRUST & exclude) != PHASE_CHECK_TRUST)
-			phases.add(new CheckTrust(10));
-		if ((PHASE_INSTALL & exclude) != PHASE_INSTALL)
-			phases.add(new Install(50));
-		if ((PHASE_CONFIGURE & exclude) != PHASE_CONFIGURE)
-			phases.add(new Configure(10));
-		return new DefaultPhaseSet((Phase[]) phases.toArray(new Phase[phases.size()]));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IEngine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IEngine.java
deleted file mode 100644
index 67d0f8d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IEngine.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Band XI International, LLC 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:
- *   Band XI - initial API and implementation
- *   IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * The engine is a service that naively performs a set of requested changes to a provisioned
- * system. No attempt is made to determine whether the requested changes or the
- * resulting system are valid or consistent. It is assumed that the engine client has
- * crafted a valid provisioning plan for the engine to perform, typically by using a planner
- * service.
- * <p>
- * The engine operates by executing a series of installation phases. The client can
- * customize the set of phases that are executed, or else the engine will execute
- * a default set of phases. During each phase the changes described by the provisioning
- * plan are performed against the profile being provisioned.
- * 
- * @since 2.0
- */
-public interface IEngine {
-	/**
-	 * Service name constant for the engine service.
-	 */
-	public static final String SERVICE_NAME = IEngine.class.getName();
-
-	/**
-	 * Creates a customized provisioning plan describing a set of changes that have already been validated.
-	 * This is an advanced method for clients that know they are creating changes that do
-	 * not require validation by a planner. Most clients should instead obtain a validated plan
-	 * from a planner.
-	 * 
-	 * @param profile The profile to operate against
-	 * @param operands The operands to perform
-	 * @param context The provisioning context for the plan
-	 * @return A provisioning plan
-	 */
-	public IProvisioningPlan createCustomPlan(IProfile profile, Operand[] operands, ProvisioningContext context);
-
-	/**
-	 * Creates a phase set with a default set of phases, excluding the specified phases.
-	 * @param excludes The phases to exclude, or <code>null</code> to include
-	 * all default phases.
-	 * 
-	 * @return A new phase set
-	 */
-	public IPhaseSet createPhaseSetExcluding(String[] excludes);
-
-	/**
-	 * Creates and returns a phase set including only the specified phases.
-	 * @param includes The phases to include
-	 * @return A new phase set
-	 */
-	public IPhaseSet createPhaseSetIncluding(String[] includes);
-
-	/**
-	 * Executes a provisioning plan.
-	 * 
-	 * @param plan The plan describing the changes to be made
-	 * @param phaseSet The phases to run, or <code>null</code> to run default phases
-	 * @param monitor A progress monitor, or <code>null</code> if progress reporting is not required
-	 * @return The result of executing the plan
-	 */
-	public IStatus perform(IProvisioningPlan plan, IPhaseSet phaseSet, IProgressMonitor monitor);
-
-	/**
-	 * Executes a provisioning plan with a default phase set and context.
-	 * 
-	 * @param plan The plan describing the changes to be made
-	 * @param monitor A progress monitor, or <code>null</code> if progress reporting is not required
-	 * @return The result of executing the plan
-	 */
-	public IStatus perform(IProvisioningPlan plan, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IPhaseSet.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IPhaseSet.java
deleted file mode 100644
index 4344c61..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IPhaseSet.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-
-/**
- * Describes a set of provisioning phases to be performed by an {@link IEngine}.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface IPhaseSet {
-
-	/**
-	 * A phase id (value "checkTrust") describing the certificate trust check phase.
-	 * This phase examines the code signing certificates of the artifacts being installed
-	 * to ensure they are signed and trusted by the running system.
-	 */
-	public static String PHASE_CHECK_TRUST = "checkTrust"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "collect") describing the collect phase.
-	 * This phase gathers all the artifacts to be installed, typically by copying them
-	 * from some repository into a suitable local location for the application being installed.
-	 */
-	public static String PHASE_COLLECT = "collect"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "configure") describing the configuration phase.
-	 * This phase writes configuration data related to the software being provisioned.
-	 * Until configuration occurs the end user of the software will be have access to
-	 * the installed functionality.
-	 */
-	public static String PHASE_CONFIGURE = "configure"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "install") describing the install phase.
-	 * This phase performs any necessary transformations on the downloaded
-	 * artifacts to put them in the correct shape for the running application, such
-	 * as decompressing or moving content, setting file permissions, etc).
-	 */
-	public static String PHASE_INSTALL = "install"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "property") describing the property modification phase.
-	 * This phase performs changes to profile properties.
-	 */
-	public static String PHASE_PROPERTY = "property"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "unconfigure") describing the unconfigure phase.
-	 * This phase removes configuration data related to the software being removed.
-	 * This phase is the inverse of the changes performed in the configure phase.
-	 */
-	public static String PHASE_UNCONFIGURE = "unconfigure"; //$NON-NLS-1$
-	/**
-	 * A phase id (value "uninstall") describing the uninstall phase.
-	 * This phase removes artifacts from the system being provisioned that are
-	 * no longer required in the new profile.
-	 */
-	public static String PHASE_UNINSTALL = "uninstall"; //$NON-NLS-1$
-
-	/**
-	 * Returns the ids of the phases to be performed by this phase set. The order
-	 * of the returned ids indicates the order in which the phases will be run.
-	 * @return The phase ids.
-	 */
-	public String[] getPhaseIds();
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfile.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfile.java
deleted file mode 100644
index 93ac1ca..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfile.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * @since 2.0
- */
-public interface IProfile extends IQueryable {
-
-	/**
-	 * Constant used to indicate that an installable unit is not locked in anyway.
-	 * @see #PROP_PROFILE_LOCKED_IU
-	 */
-	public static int LOCK_NONE = 0;
-	/**
-	 * Constant used to indicate that an installable unit is locked so that it may
-	 * not be uninstalled.
-	 * @see #PROP_PROFILE_LOCKED_IU
-	 */
-	public static int LOCK_UNINSTALL = 1 << 0;
-	/**
-	 * Constant used to indicate that an installable unit is locked so that it may
-	 * not be updated. updates.
-	 * @see #PROP_PROFILE_LOCKED_IU
-	 */
-	public static int LOCK_UPDATE = 1 << 1;
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.type.lock"</code>) for an
-	 * integer property indicating how an installable unit is locked in its profile.
-	 * The integer is a bit-mask indicating the different locks defined on the installable
-	 * unit.  The property should be obtained from a profile using 
-	 * IProfile#getInstallableUnitProperty(IInstallableUnit, String).
-	 * 
-	 * @see #LOCK_UNINSTALL
-	 * @see #LOCK_UPDATE
-	 * @see #LOCK_NONE
-	 */
-	public static final String PROP_PROFILE_LOCKED_IU = "org.eclipse.equinox.p2.type.lock"; //$NON-NLS-1$
-
-	//TODO Move to UI
-	public static final String PROP_PROFILE_ROOT_IU = "org.eclipse.equinox.p2.type.root"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating the install folder for the profile.
-	 */
-	public static final String PROP_INSTALL_FOLDER = "org.eclipse.equinox.p2.installFolder"; //$NON-NLS-1$
-	/**
-	 * Profile property constant indicating the configuration folder for the profile.
-	 */
-	public static final String PROP_CONFIGURATION_FOLDER = "org.eclipse.equinox.p2.configurationFolder"; //$NON-NLS-1$
-	/**
-	 * Profile property constant indicating the location of the launcher configuration file for the profile.
-	 */
-	public static final String PROP_LAUNCHER_CONFIGURATION = "org.eclipse.equinox.p2.launcherConfiguration"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating the installed language(s) for the profile.
-	 */
-	public static final String PROP_NL = "org.eclipse.equinox.p2.nl"; //$NON-NLS-1$
-	/**
-	 * Profile property constant for a string property indicating a user visible short 
-	 * textual description of this profile. May be empty or <code>null</code>, and 
-	 * generally will be for non-top level install contexts.
-	 */
-	public static final String PROP_DESCRIPTION = "org.eclipse.equinox.p2.description"; //$NON-NLS-1$
-	/**
-	 * Profile property constant for a string property indicating a user visible name of this profile.
-	 * May be empty or <code>null</code>, and generally will be for non-top level
-	 * install contexts.
-	 */
-	public static final String PROP_NAME = "org.eclipse.equinox.p2.name"; //$NON-NLS-1$
-	/**
-	 * Profile property constant indicating the list of environments
-	 * (e.g., OS, WS, ...) in which a profile can operate. The value of the property
-	 * is a comma-delimited string of key/value pairs.
-	 */
-	public static final String PROP_ENVIRONMENTS = "org.eclipse.equinox.p2.environments"; //$NON-NLS-1$
-	/**
-	 * Profile property constant for a boolean property indicating if the profiling
-	 * is roaming.  A roaming profile is one whose physical install location varies
-	 * and is updated whenever it runs.
-	 */
-	public static final String PROP_ROAMING = "org.eclipse.equinox.p2.roaming"; //$NON-NLS-1$
-	/**
-	 * Profile property constant indicating the bundle pool cache location.
-	 */
-	public static final String PROP_CACHE = "org.eclipse.equinox.p2.cache"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant indicating a shared read-only bundle pool cache location.
-	 */
-	public static final String PROP_SHARED_CACHE = "org.eclipse.equinox.p2.cache.shared"; //$NON-NLS-1$
-
-	/**
-	 * Profile property constant for a boolean property indicating if update features should
-	 * be installed in this profile
-	 */
-	public static final String PROP_INSTALL_FEATURES = "org.eclipse.update.install.features"; //$NON-NLS-1$
-
-	public String getProfileId();
-
-	/**
-	 * Get the stored value associated with the given key.
-	 *  
-	 * <code>null</code> is returned if this property is not present
-	 */
-	public String getProperty(String key);
-
-	public String getInstallableUnitProperty(IInstallableUnit iu, String key);
-
-	public Map getProperties();
-
-	public Map getInstallableUnitProperties(IInstallableUnit iu);
-
-	public long getTimestamp();
-
-	public Collector available(IQuery query, IProgressMonitor monitor);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
deleted file mode 100644
index b951ec2..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProfileRegistry.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * This encapsulates the access to the profile registry. 
- * It deals with persistence in a transparent way.
- * @since 2.0
- */
-public interface IProfileRegistry {
-	public static final String SELF = "_SELF_"; //$NON-NLS-1$
-	/**
-	 * Service name constant for the profile registry service.
-	 */
-	public static final String SERVICE_NAME = IProfileRegistry.class.getName();
-
-	/**
-	 * Return the profile in the registry that has the given id. If it does not exist, 
-	 * then return <code>null</code>.
-	 * 
-	 * @param id the profile identifier
-	 * @return the profile or <code>null</code>
-	 */
-	IProfile getProfile(String id);
-
-	/**
-	 * Return the profile in the registry that has the given id and timestamp. If it does not exist, 
-	 * then return <code>null</code>.
-	 * 
-	 * @param id the profile identifier
-	 * @param timestamp the profile's timestamp
-
-	 * @return the profile or <code>null</code>
-	 */
-	IProfile getProfile(String id, long timestamp);
-
-	/**
-	 * Return an array of timestamps in ascending order for the profile in question. If there are none, then
-	 * return an empty array.
-	 * 
-	 * @return the array of timestamps
-	 */
-	long[] listProfileTimestamps(String id);
-
-	/**
-	 * Return an array of profiles known to this registry. If there are none, then
-	 * return an empty array.
-	 * 
-	 * @return the array of profiles
-	 */
-	IProfile[] getProfiles();
-
-	/**
-	 * Add the given profile to this profile registry.
-	 * 
-	 * @param id the profile id
-	 * 
-	 * @throws ProvisionException if a profile
-	 *         with the same id is already present in the registry.
-	 */
-	IProfile addProfile(String id) throws ProvisionException;
-
-	/**
-	 * Add the given profile to this profile registry.
-	 * 
-	 * @param id the profile id
-	 * @param properties the profile properties
-	 * 
-	 * @throws ProvisionException if a profile
-	 *         with the same id is already present in the registry.
-	 */
-	IProfile addProfile(String id, Map properties) throws ProvisionException;
-
-	/**
-	 * Returns whether this profile registry contains a profile with the given id.
-	 * 
-	 * @param profileId The id of the profile to search for
-	 * @return <code>true</code> if this registry contains a profile with the given id,
-	 * and <code>false</code> otherwise.
-	 */
-	public boolean containsProfile(String profileId);
-
-	/**
-	 * Remove the given profile snapshot from this profile registry. This method has no effect
-	 * if this registry does not contain a profile with the given id and timestamp.
-	 * The current profile cannot be removed using this method.
-	 * 
-	 * @param id the profile to remove
-	 * @param timestamp the timestamp of the profile to remove 
-	 * 
-	 * @throws ProvisionException if the profile with the specified id and timestamp is the current profile.
-	 */
-	void removeProfile(String id, long timestamp) throws ProvisionException;
-
-	/**
-	 * Remove the given profile from this profile registry.  This method has no effect
-	 * if this registry does not contain a profile with the given id.
-	 * 
-	 * @param id the profile to remove
-	 */
-	void removeProfile(String id);
-
-	/**
-	 * Check if the given profile from this profile registry is up-to-date.
-	 * 
-	 * @param profile the profile to check
-	 * @return boolean  true if the profile is current; false otherwise.
-	 */
-	public boolean isCurrent(IProfile profile);
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProvisioningPlan.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProvisioningPlan.java
deleted file mode 100644
index 3bdf496..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/IProvisioningPlan.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A provisioning plan describes a proposed set of changes to a profile. The
- * proposed changes may represent a valid and consistent set of changes, or it
- * may represent a set of changes that would cause errors if executed. In this
- * case the plan contains information about the severity and explanation for the
- * problems.
- * 
- * @since 2.0
- */
-public interface IProvisioningPlan {
-
-	/**
-	 * Returns the proposed set of installable units to be added to the profile.
-	 * 
-	 * @return The proposed profile additions
-	 */
-	public abstract IQueryable getAdditions();
-
-	/**
-	 * Returns the provisioning context in which this plan was created.
-	 * 
-	 * @return The plan's provisioning context
-	 */
-	public ProvisioningContext getContext();
-
-	/**
-	 * Returns a plan describing the proposed set of changes to the provisioning infrastructure
-	 * required by this plan.  The installer changes must be performed before this plan 
-	 * can be successfully executed.
-	 * 
-	 * @return The installer plan.
-	 */
-	public abstract IProvisioningPlan getInstallerPlan();
-
-	/**
-	 * The operands to pass to the engine.
-	 * @return the operands to be executed. This may be an empty array if the
-	 * plan has errors or if there is nothing to do.
-	 */
-	public abstract Operand[] getOperands();
-
-	/**
-	 * Returns the profile that this plan will operate on.
-	 * 
-	 * @return The target profile for this plan
-	 */
-	public abstract IProfile getProfile();
-
-	/**
-	 * Returns the proposed set of installable units to be removed from this profile.
-	 * 
-	 * @return The proposed profile removals.
-	 */
-	public abstract IQueryable getRemovals();
-
-	/**
-	 * Returns the problems associated with changes to the given installable unit
-	 * in this plan. A status with severity {@link IStatus#OK} is returned if the unit
-	 * can be provisioned successfully, or if this plan does not include changes to the
-	 * given unit.
-	 * 
-	 * @param iu The installable unit to return status for
-	 * @return The status for the given unit in this plan
-	 */
-	public abstract IStatus getRequestStatus(IInstallableUnit iu);
-
-	/**
-	 * Returns a map of side-effects that will occur as a result of the plan being executed.
-	 * Side-effects of an install may include:
-	 * <ul>
-	 * <li>Optional software being installed that will become satisfied once the plan
-	 * is executed.</li>
-	 * <li>Optional software currently in the profile that will be uninstalled as a result
-	 * of the plan being executed. This occurs when the optional software has dependencies
-	 * that are incompatible with the software being installed.
-	 * This includes additional software that will be installed as a result of the change,
-	 * or optional
-	 * @return A map of {@link IInstallableUnit} to {@link IStatus} of the additional 
-	 * changes and their corresponding explanation.
-	 */
-	public abstract Map getSideEffectChanges();
-
-	/**
-	 * Returns the overall plan status. The severity of this status indicates
-	 * whether the plan can be successfully executed or not:
-	 * <ul>
-	 * <li>A status of {@link IStatus#OK} indicates that the plan can be executed successfully.</li>
-	 * <li>A status of {@link IStatus#INFO} or {@link IStatus#WARNING} indicates
-	 * that the plan can be executed but may cause problems.</li>
-	 * <li>A status of {@link IStatus#ERROR} indicates that the plan cannot be executed
-	 * successfully.</li>
-	 * <li>A status of {@link IStatus#CANCEL} indicates that the plan computation was
-	 * canceled and is incomplete. A canceled plan cannot be executed.</li>
-	 * </ul>
-	 * 
-	 * @return The overall plan status.
-	 */
-	public abstract IStatus getStatus();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ISurrogateProfileHandler.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ISurrogateProfileHandler.java
deleted file mode 100644
index 72e5ca8..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ISurrogateProfileHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * @since 2.0
- */
-public interface ISurrogateProfileHandler {
-
-	public abstract IProfile createProfile(String id);
-
-	public abstract boolean isSurrogate(IProfile profile);
-
-	public abstract Collector queryProfile(IProfile profile, IQuery query, IProgressMonitor monitor);
-
-	public abstract boolean updateProfile(IProfile selfProfile);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
deleted file mode 100644
index 86af78a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitEvent.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.internal.p2.engine.Messages;
-
-import java.util.EventObject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-
-/**
- * @since 2.0
- */
-public class InstallableUnitEvent extends EventObject {
-	public static final int UNINSTALL = 0;
-	public static final int INSTALL = 1;
-	private static final long serialVersionUID = 3318712818811459886L;
-
-	private String phaseId;
-	private boolean prePhase;
-
-	private IProfile profile;
-	private InstallableUnitOperand operand;
-	private Touchpoint touchpoint;
-	private IStatus result;
-	private int type;
-
-	public InstallableUnitEvent(String phaseId, boolean prePhase, IProfile profile, InstallableUnitOperand operand, int type, Touchpoint touchpoint) {
-		this(phaseId, prePhase, profile, operand, type, touchpoint, null);
-	}
-
-	public InstallableUnitEvent(String phaseId, boolean prePhase, IProfile profile, InstallableUnitOperand operand, int type, Touchpoint touchpoint, IStatus result) {
-		super(profile);
-		this.phaseId = phaseId;
-		this.prePhase = prePhase;
-		this.profile = profile;
-		this.operand = operand;
-		if (type != UNINSTALL && type != INSTALL)
-			throw new IllegalArgumentException(Messages.InstallableUnitEvent_type_not_install_or_uninstall);
-		this.type = type;
-		this.result = result;
-		this.touchpoint = touchpoint;
-
-	}
-
-	public Touchpoint getTouchpoint() {
-		return touchpoint;
-	}
-
-	public IProfile getProfile() {
-		return profile;
-	}
-
-	public InstallableUnitOperand getOperand() {
-		return operand;
-	}
-
-	public String getPhase() {
-		return phaseId;
-	}
-
-	public boolean isPre() {
-		return prePhase;
-	}
-
-	public boolean isPost() {
-		return !prePhase;
-	}
-
-	public IStatus getResult() {
-		return (result != null ? result : Status.OK_STATUS);
-	}
-
-	public boolean isInstall() {
-		return type == INSTALL;
-	}
-
-	public boolean isUninstall() {
-		return type == UNINSTALL;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitOperand.java
deleted file mode 100644
index edab40f..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitOperand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 2.0
- */
-public class InstallableUnitOperand extends Operand {
-	private final IInstallableUnit first;
-	private final IInstallableUnit second;
-
-	/**
-	 * Creates a new operand that represents replacing an installable unit
-	 * with another. At least one of the provided installable units must be
-	 * non-null.
-	 * 
-	 * @param first The installable unit being removed, or <code>null</code>
-	 * @param second The installable unit being added, or <code>null</code>
-	 */
-	public InstallableUnitOperand(IInstallableUnit first, IInstallableUnit second) {
-		//the operand must have at least one non-null units
-		Assert.isTrue(first != null || second != null);
-		this.first = first;
-		this.second = second;
-	}
-
-	public IInstallableUnit first() {
-		return first;
-	}
-
-	public IInstallableUnit second() {
-		return second;
-	}
-
-	public String toString() {
-		return first + " --> " + second; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitPropertyOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitPropertyOperand.java
deleted file mode 100644
index 265da8d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/InstallableUnitPropertyOperand.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 2.0
- */
-public class InstallableUnitPropertyOperand extends PropertyOperand {
-	private final IInstallableUnit iu;
-
-	/**
-	 * Creates a new operand that represents replacing a property value associated
-	 * with an IU with another.  At least one of the provided property values must be
-	 * non-null.
-	 * 
-	 * @param iu The IInstallableUnit with which the property is associated
-	 * @param key The key of the property being modified
-	 * @param first The property value being removed, or <code>null</code>
-	 * @param second The property value being added, or <code>null</code>
-	 */
-	public InstallableUnitPropertyOperand(IInstallableUnit iu, String key, Object first, Object second) {
-		super(key, first, second);
-		//the iu must be specified.
-		Assert.isTrue(iu != null);
-		this.iu = iu;
-	}
-
-	public IInstallableUnit getInstallableUnit() {
-		return iu;
-	}
-
-	public String toString() {
-		return "[IInstallableUnit property for " + iu.toString() + "] " + super.toString(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingAction.java
deleted file mode 100644
index bfc217e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.internal.p2.engine.Messages;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 2.0
- */
-public class MissingAction extends ProvisioningAction {
-
-	private String actionId;
-	private VersionRange versionRange;
-
-	public MissingAction(String actionId, VersionRange versionRange) {
-		this.actionId = actionId;
-		this.versionRange = versionRange;
-	}
-
-	public String getActionId() {
-		return actionId;
-	}
-
-	public VersionRange getVersionRange() {
-		return versionRange;
-	}
-
-	public IStatus execute(Map parameters) {
-		throw new IllegalArgumentException(NLS.bind(Messages.action_not_found, actionId + (versionRange == null ? "" : "/" + versionRange.toString()))); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public IStatus undo(Map parameters) {
-		// do nothing as we want this action to undo successfully
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingActionsException.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingActionsException.java
deleted file mode 100644
index 21c44ab..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/MissingActionsException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.equinox.internal.p2.engine.Messages;
-
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 2.0
- */
-public class MissingActionsException extends ProvisionException {
-
-	private static final long serialVersionUID = 8617693596359747490L;
-	private final MissingAction[] missingActions;
-
-	public MissingActionsException(MissingAction[] missingActions) {
-		super(getMissingActionsMessage(missingActions));
-		this.missingActions = missingActions;
-	}
-
-	private static String getMissingActionsMessage(MissingAction[] missingActions) {
-
-		if (missingActions.length == 0)
-			throw new IllegalArgumentException("Bad exception: No missing actions"); //$NON-NLS-1$
-
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < missingActions.length; i++) {
-			MissingAction missingAction = missingActions[i];
-			buffer.append(missingAction.getActionId());
-			if (missingAction.getVersionRange() != null) {
-				buffer.append("/"); //$NON-NLS-1$
-				buffer.append(missingAction.getVersionRange().toString());
-			}
-			if (i + 1 != missingActions.length)
-				buffer.append(", "); //$NON-NLS-1$
-		}
-
-		return NLS.bind(Messages.actions_not_found, buffer.toString());
-	}
-
-	public MissingAction[] getMissingActions() {
-		return missingActions;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
deleted file mode 100644
index 7efeb9e..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/Operand.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-/**
- * The common base class for engine operands.
- * 
- * @see IEngine#createCustomPlan(IProfile, Operand[], ProvisioningContext)
- * @since 2.0
- */
-public class Operand {
-	// marker class
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
deleted file mode 100644
index 064717d..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.EventObject;
-
-/**
- * @noextend This class is not intended to be subclassed by clients.
- * @since 2.0
- */
-public class ProfileEvent extends EventObject {
-	private static final long serialVersionUID = 3082402920617281765L;
-
-	public static final byte ADDED = 0;
-	public static final byte REMOVED = 1;
-	public static final byte CHANGED = 2;
-
-	private byte reason;
-
-	public ProfileEvent(String profileId, byte reason) {
-		super(profileId);
-		this.reason = reason;
-	}
-
-	public byte getReason() {
-		return reason;
-	}
-
-	public String getProfileId() {
-		return (String) getSource();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileScope.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileScope.java
deleted file mode 100644
index e0ab51a..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProfileScope.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.internal.preferences.PreferencesService;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.security.storage.EncodingUtils;
-
-/**
- * A profile scope contains the preferences associated with a particular profile
- * in a provisioned system.
- * @see IProfile
- * @since 2.0
- */
-public final class ProfileScope implements IScopeContext {
-
-	/*
-	 * String constant (value of <code>"profile"</code>) used for the 
-	 * scope name for this preference scope.
-	 */
-	public static final String SCOPE = "profile"; //$NON-NLS-1$
-
-	private String profileId;
-
-	private IAgentLocation location;
-
-	/**
-	 * Create and return a new profile scope for the given profile. The given
-	 * profile id must not be null. The provisioning agent of the currently running
-	 * system is used.
-	 * @deprecated use {@link ProfileScope#ProfileScope(IAgentLocation, String)} instead
-	 */
-	public ProfileScope(String profileId) {
-		this(getDefaultAgent(), profileId);
-	}
-
-	/**
-	 * Creates and returns a profile scope for the given profile id and agent.
-	 * @param agentLocation The location of the provisioning agent to obtain profile preferences for
-	 * @param profileId The id of the profile to obtain preferences for
-	 */
-	public ProfileScope(IAgentLocation agentLocation, String profileId) {
-		super();
-		Assert.isNotNull(agentLocation);
-		Assert.isNotNull(profileId);
-		this.profileId = profileId;
-		this.location = agentLocation;
-	}
-
-	private static IAgentLocation getDefaultAgent() {
-		return (IAgentLocation) ServiceHelper.getService(EngineActivator.getContext(), IAgentLocation.SERVICE_NAME);
-	}
-
-	public IPath getLocation() {
-		// Null returned as the location should only be used when the profile is locked
-		return null;
-	}
-
-	public String getName() {
-		return SCOPE;
-	}
-
-	/*
-	 * Default path hierarchy for profile nodes is /profile/<profileId>/<qualifier>.
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.IScopeContext#getNode(java.lang.String)
-	 */
-	public IEclipsePreferences getNode(String qualifier) {
-		if (qualifier == null)
-			throw new IllegalArgumentException();
-		String locationString = EncodingUtils.encodeSlashes(location.getRootLocation().toString());
-		//format is /profile/{agentLocationURI}/{profileId}/qualifier
-		return (IEclipsePreferences) PreferencesService.getDefault().getRootNode().node(getName()).node(locationString).node(profileId).node(qualifier);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!super.equals(obj))
-			return false;
-		if (!(obj instanceof ProfileScope))
-			return false;
-		ProfileScope other = (ProfileScope) obj;
-		return profileId.equals(other.profileId);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + profileId.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PropertyOperand.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PropertyOperand.java
deleted file mode 100644
index 3751abb..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/PropertyOperand.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.Assert;
-
-/**
- * @since 2.0
- */
-public class PropertyOperand extends Operand {
-	private final Object first;
-	private final Object second;
-	private final String key;
-
-	/**
-	 * Creates a new operand that represents replacing a property value
-	 * with another.  At least one of the provided property values must be
-	 * non-null.
-	 * 
-	 * @param key The key of the property being modified
-	 * @param first The property value being removed, or <code>null</code>
-	 * @param second The property value being added, or <code>null</code>
-	 */
-	public PropertyOperand(String key, Object first, Object second) {
-		//the operand must specify have a key and have at least one non-null value
-		Assert.isTrue(key != null && (first != null || second != null));
-		this.first = first;
-		this.second = second;
-		this.key = key;
-	}
-
-	public Object first() {
-		return first;
-	}
-
-	public Object second() {
-		return second;
-	}
-
-	public String getKey() {
-		return key;
-	}
-
-	public String toString() {
-		return key + " = " + first + " --> " + second; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
deleted file mode 100644
index 4dd7cee..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningContext.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     WindRiver - https://bugs.eclipse.org/bugs/show_bug.cgi?id=227372
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.net.URI;
-import java.util.*;
-
-/**
- * @since 2.0
- */
-public class ProvisioningContext {
-	private URI[] metadataRepositories; //metadata repositories to consult
-	private URI[] artifactRepositories; //artifact repositories to consult
-	private Properties properties = new Properties();
-	private List extraIUs = new ArrayList();
-	private Collection additionalRequirements;
-
-	public ProvisioningContext() {
-		// null repos means look at them all
-		metadataRepositories = null;
-		artifactRepositories = null;
-	}
-
-	public ProvisioningContext(URI[] metadataRepositories) {
-		this.metadataRepositories = metadataRepositories;
-	}
-
-	/**
-	 * Artifact repositories to consult when performing an operation.
-	 * @param artifactRepositories array of URLs
-	*/
-	public void setArtifactRepositories(URI[] artifactRepositories) {
-		this.artifactRepositories = artifactRepositories;
-	}
-
-	public URI[] getMetadataRepositories() {
-		return metadataRepositories;
-	}
-
-	public URI[] getArtifactRepositories() {
-		return artifactRepositories;
-	}
-
-	public String getProperty(String key) {
-		return properties.getProperty(key);
-	}
-
-	public void setProperty(String key, String value) {
-		properties.setProperty(key, value);
-	}
-
-	public Properties getProperties() {
-		return properties;
-	}
-
-	public List getExtraIUs() {
-		return extraIUs;
-	}
-
-	public void setExtraIUs(List extraIUs) {
-		this.extraIUs = extraIUs;
-	}
-
-	public void setAdditionalRequirements(Collection requirements) {
-		additionalRequirements = requirements;
-	}
-
-	public Collection getAdditionalRequirements() {
-		return additionalRequirements;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningPlan.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningPlan.java
deleted file mode 100644
index 29db1f1..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/ProvisioningPlan.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * @since 2.0
- */
-public class ProvisioningPlan implements IProvisioningPlan {
-	IStatus status;
-	Operand[] operands;
-	Map actualChangeRequest;
-	Map sideEffectChanges;
-	IProvisioningPlan installerPlan;
-	IStatus globalRequestStatus;
-	IProfile profile;
-	IQueryable completeState;
-	private final ProvisioningContext context;
-
-	public ProvisioningPlan(IProfile profile, Operand[] operands, ProvisioningContext context) {
-		this(Status.OK_STATUS, operands, null, Status.OK_STATUS, null, profile, null, context);
-	}
-
-	public ProvisioningPlan(IStatus status, IProfile profile, IProvisioningPlan installerPlan, ProvisioningContext context) {
-		this(status, new Operand[0], null, null, installerPlan, profile, null, null);
-	}
-
-	public ProvisioningPlan(IStatus status, Operand[] operands, Map[] actualChangeRequest, IStatus globalStatus, IProvisioningPlan installerPlan, IProfile profile, IQueryable futureState, ProvisioningContext context) {
-		this.status = status;
-		this.operands = operands;
-		if (actualChangeRequest != null) {
-			this.actualChangeRequest = actualChangeRequest[0];
-			this.sideEffectChanges = actualChangeRequest[1];
-		}
-		this.globalRequestStatus = globalStatus;
-		this.installerPlan = installerPlan;
-		this.profile = profile;
-		if (futureState == null) {
-			futureState = new IQueryable() {
-				public Collector query(IQuery query, IProgressMonitor monitor) {
-					return new Collector();
-				}
-			};
-		}
-		completeState = futureState;
-		if (context == null)
-			context = new ProvisioningContext();
-		this.context = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getStatus()
-	 */
-	public IStatus getStatus() {
-		return status;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getProfile()
-	 */
-	public IProfile getProfile() {
-		return profile;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getOperands()
-	 */
-	public Operand[] getOperands() {
-		return operands;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getRemovals()
-	 */
-	public IQueryable getRemovals() {
-		return new QueryablePlan(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getAdditions()
-	 */
-	public IQueryable getAdditions() {
-		return new QueryablePlan(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getRequestStatus(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit)
-	 */
-	public IStatus getRequestStatus(IInstallableUnit iu) {
-		if (actualChangeRequest == null)
-			return null;
-		return (IStatus) actualChangeRequest.get(iu);
-	}
-
-	public IStatus getRequestStatus() {
-		return globalRequestStatus;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getSideEffectChanges()
-	 */
-	public Map getSideEffectChanges() {
-		if (sideEffectChanges == null)
-			return Collections.EMPTY_MAP;
-		return sideEffectChanges;
-	}
-
-	private class QueryablePlan implements IQueryable {
-		private boolean addition;
-
-		public QueryablePlan(boolean add) {
-			this.addition = add;
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			if (operands == null || status.getSeverity() == IStatus.ERROR)
-				return collector;
-			Collection list = new ArrayList();
-			for (int i = 0; i < operands.length; i++) {
-				if (!(operands[i] instanceof InstallableUnitOperand))
-					continue;
-				InstallableUnitOperand op = ((InstallableUnitOperand) operands[i]);
-				IInstallableUnit iu = addition ? op.second() : op.first();
-				if (iu != null)
-					list.add(iu);
-			}
-			return query.perform(list.iterator(), collector);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.engine.IProvisioningPlan#getInstallerPlan()
-	 */
-	public IProvisioningPlan getInstallerPlan() {
-		return installerPlan;
-	}
-
-	public ProvisioningContext getContext() {
-		return context;
-	}
-
-	public void setInstallerPlan(IProvisioningPlan p) {
-		installerPlan = p;
-	}
-
-	public IQueryable getCompleteState() {
-		return completeState;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java
deleted file mode 100644
index c9473d4..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/RollbackOperationEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-
-public class RollbackOperationEvent extends TransactionEvent {
-
-	private static final long serialVersionUID = -2076492953949691215L;
-	private IStatus cause;
-
-	public RollbackOperationEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine, IStatus cause) {
-		super(profile, phaseSet, operands, engine);
-		this.cause = cause;
-	}
-
-	public IStatus getStatus() {
-		return cause;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
deleted file mode 100644
index 07bf407..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/TransactionEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine;
-
-import java.util.EventObject;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-
-public abstract class TransactionEvent extends EventObject {
-	private static final long serialVersionUID = 6278706971855493984L;
-	protected IProfile profile;
-	protected PhaseSet phaseSet;
-	protected Operand[] operands;
-
-	public TransactionEvent(IProfile profile, PhaseSet phaseSet, Operand[] operands, IEngine engine) {
-		super(engine);
-		this.profile = profile;
-		this.phaseSet = phaseSet;
-		this.operands = operands;
-	}
-
-	public IProfile getProfile() {
-		return profile;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/package.html b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/package.html
deleted file mode 100644
index 8cf8516..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for interacting with the p2 provisioning engine
-<h2>
-Package Specification</h2>
-<p>
-This package specifies API for interacting with the p2 provisioning engine. The engine
-is a naive service that blindly performs a set of requested changes to a provisioned
-system. No attempt is made to resolve dependencies or determine whether the
-resulting system is valid or consistent. It is assumed that the engine client has
-crafted a valid provisioning plan for the engine to perform, typically by using a planner
-service.
-<p>
-@since 2.0
-<p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/IUProfilePropertyQuery.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/IUProfilePropertyQuery.java
deleted file mode 100644
index 487e2d9..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/IUProfilePropertyQuery.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query that searches for {@link IInstallableUnit} instances that have
- * a property associated with the specified profile, whose value matches the provided value.
- * @since 2.0
- */
-public class IUProfilePropertyQuery extends IUPropertyQuery {
-	private IProfile profile;
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public void setProfile(IProfile profile) {
-		this.profile = profile;
-	}
-
-	/**
-	 * Creates a new query on the given property name and value.
-	 * Because the queryable for this query is typically the profile
-	 * instance, we use a reference to the profile rather than the
-	 * profile id for performance reasons.
-	 */
-	public IUProfilePropertyQuery(String propertyName, String propertyValue) {
-		super(propertyName, propertyValue);
-	}
-
-	protected String getProperty(IInstallableUnit iu, String name) {
-		if (profile == null)
-			return null;
-		return profile.getInstallableUnitProperty(iu, name);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/UserVisibleRootQuery.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/UserVisibleRootQuery.java
deleted file mode 100644
index 20ea0d0..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/query/UserVisibleRootQuery.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine.query;
-
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-
-/**
- * A query matching all the {@link IInstallableUnit}s that are marked visible to the user. 
- * @since 2.0
- */
-public class UserVisibleRootQuery extends IUProfilePropertyQuery {
-
-	public UserVisibleRootQuery() {
-		super(IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit}, in the context of a {@link IProfile} is visible to the user 
-	 * @param iu the element being tested.
-	 * @param profile the context in which the iu is tested
-	 * @return <tt>true</tt> if the element is visible to the user.
-	 */
-	public static boolean isUserVisible(IInstallableUnit iu, IProfile profile) {
-		String value = profile.getInstallableUnitProperty(iu, IProfile.PROP_PROFILE_ROOT_IU);
-		if (value != null && (value.equals(Boolean.TRUE.toString())))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
deleted file mode 100644
index ab8a300..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine.spi;
-
-import java.util.*;
-
-/**
- * @since 2.0
- */
-public class Memento {
-	private static final long serialVersionUID = 3257399736837461585L;
-	private static final Collection simples = Arrays.asList(new Class[] {String.class, Integer.class, Long.class, Float.class, Double.class, Byte.class, Short.class, Character.class, Boolean.class});
-	private static final Collection simpleArrays = Arrays.asList(new Class[] {String[].class, Integer[].class, Long[].class, Float[].class, Double[].class, Byte[].class, Short[].class, Character[].class, Boolean[].class});
-	private static final Collection primitiveArrays = Arrays.asList(new Class[] {long[].class, int[].class, short[].class, char[].class, byte[].class, double[].class, float[].class, boolean[].class});
-
-	Map mementoMap = new HashMap();
-
-	public Object remove(String key) {
-		if (key == null)
-			throw new NullPointerException();
-
-		// TODO: persist change
-		return mementoMap.remove(key);
-	}
-
-	public Object put(String key, Object value) {
-		if (key == null)
-			throw new NullPointerException();
-
-		validateValue(value);
-
-		// TODO: persist change
-		return mementoMap.put(key, value);
-	}
-
-	public Object get(String key) {
-		if (key == null)
-			throw new NullPointerException();
-
-		return mementoMap.get(key);
-	}
-
-	public Enumeration getKeys() {
-		return new Enumeration() {
-			Iterator keysIterator = mementoMap.keySet().iterator();
-
-			public boolean hasMoreElements() {
-				return keysIterator.hasNext();
-			}
-
-			public Object nextElement() {
-				return keysIterator.next();
-			}
-		};
-	}
-
-	private static void validateValue(Object value) {
-		if (value == null)
-			return;
-
-		Class clazz = value.getClass();
-
-		if (simples.contains(clazz))
-			return;
-
-		if (simpleArrays.contains(clazz) || primitiveArrays.contains(clazz))
-			return;
-
-		throw new IllegalArgumentException(clazz.getName());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/ProvisioningAction.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/ProvisioningAction.java
deleted file mode 100644
index e2cfb21..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/ProvisioningAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine.spi;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * @since 2.0
- */
-public abstract class ProvisioningAction {
-
-	private Memento memento = new Memento();
-	private Touchpoint touchpoint;
-
-	protected Memento getMemento() {
-		return memento;
-	}
-
-	public abstract IStatus execute(Map parameters);
-
-	public abstract IStatus undo(Map parameters);
-
-	// TODO: these probably should not be visible
-	public void setTouchpoint(Touchpoint touchpoint) {
-		this.touchpoint = touchpoint;
-	}
-
-	public Touchpoint getTouchpoint() {
-		return touchpoint;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Touchpoint.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Touchpoint.java
deleted file mode 100644
index c7c2093..0000000
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Touchpoint.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.engine.spi;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.Operand;
-
-/**
- * A touchpoint is responsible for executing a given phase for a given 
- * targeted system (eclipse, native). The order of phases is defined in the {@link PhaseSet}.  
- * @since 2.0
- */
-public abstract class Touchpoint {
-
-	/** NOT API -- this is for backwards compatibility only */
-	public String qualifyAction(String actionId) {
-		return actionId;
-	}
-
-	public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus initializeOperand(IProfile profile, Operand operand, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus completeOperand(IProfile profile, Operand operand, Map parameters) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus prepare(IProfile profile) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus commit(IProfile profile) {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus rollback(IProfile profile) {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath b/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.project b/bundles/org.eclipse.equinox.p2.exemplarysetup/.project
deleted file mode 100644
index 1b81b1e..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.exemplarysetup</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b3fb58a..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,339 +0,0 @@
-#Thu Sep 06 23:48:04 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index bb66afe..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:11 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
deleted file mode 100644
index 9ec90fc..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.exemplarysetup;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.garbagecollector,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.metadata,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.p2.exemplarysetup.Activator
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.exemplarysetup;x-internal:=true
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.5.100"
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html b/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties b/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties b/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
deleted file mode 100644
index a0c085e..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Exemplary Setup
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java b/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
deleted file mode 100644
index 8b45a86..0000000
--- a/bundles/org.eclipse.equinox.p2.exemplarysetup/src/org/eclipse/equinox/internal/p2/exemplarysetup/Activator.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.exemplarysetup;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.p2.core.*;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-	public static BundleContext context;
-	public static final String ID = "org.eclipse.equinox.p2.exemplarysetup"; //$NON-NLS-1$
-
-	private IProvisioningAgent agent;
-	private IProvisioningEventBus bus;
-
-	private ServiceRegistration registrationBus;
-	private ServiceRegistration registrationDefaultManager;
-	private ServiceRegistration registrationDirector;
-	private ServiceRegistration registrationPlanner;
-	private ServiceRegistration registrationProfileRegistry;
-
-	/**
-	 * Register the agent instance representing the currently running system.
-	 * This will be the "default" agent for anyone not specifically trying to manipulate
-	 * a different p2 agent location
-	 */
-	private void registerAgent() {
-		//currently location is defined by p2.core but will be defined by the agent in the future
-		//for now continue to treat it as a singleton
-		ServiceReference locationRef = context.getServiceReference(IAgentLocation.SERVICE_NAME);
-		if (locationRef == null)
-			throw new RuntimeException("Unable to instantiate p2 agent because agent location is not available"); //$NON-NLS-1$
-		IAgentLocation location = (IAgentLocation) context.getService(locationRef);
-		if (location == null)
-			throw new RuntimeException("Unable to instantiate p2 agent because agent location is not available"); //$NON-NLS-1$
-
-		ServiceReference agentProviderRef = context.getServiceReference(IProvisioningAgentProvider.SERVICE_NAME);
-		IProvisioningAgentProvider provider = (IProvisioningAgentProvider) context.getService(agentProviderRef);
-		try {
-			agent = provider.createAgent(null);
-		} catch (Exception e) {
-			//we can't proceed without an agent, so fail early
-			final String msg = "Unable to instantiate p2 agent at location " + location.getRootLocation(); //$NON-NLS-1$
-			LogHelper.log(new Status(IStatus.ERROR, ID, msg, e));
-			throw new RuntimeException(msg);
-		}
-
-	}
-
-	private void registerDirector() {
-		IDirector director = (IDirector) agent.getService(IDirector.SERVICE_NAME);
-		registrationDirector = context.registerService(IDirector.SERVICE_NAME, director, null);
-	}
-
-	private void registerEventBus() {
-		bus = (IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME);
-		registrationBus = context.registerService(IProvisioningEventBus.SERVICE_NAME, bus, null);
-	}
-
-	/**
-	 * Returns a metadata repository manager, registering a service if there isn't
-	 * one registered already.
-	 */
-	private void registerMetadataRepositoryManager() {
-		//make sure there isn't a repository manager already registered
-		if (context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME) == null) {
-			IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-			registrationDefaultManager = context.registerService(IMetadataRepositoryManager.SERVICE_NAME, manager, null);
-		}
-	}
-
-	private void registerPlanner() {
-		IPlanner planner = (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
-		registrationPlanner = context.registerService(IPlanner.SERVICE_NAME, planner, null);
-	}
-
-	private void registerProfileRegistry() {
-		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-		registrationProfileRegistry = context.registerService(IProfileRegistry.SERVICE_NAME, profileRegistry, null);
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		//Need to do the configuration of all the bits and pieces:
-		Activator.context = aContext;
-
-		registerAgent();
-		registerEventBus();
-		//create the profile registry
-		registerProfileRegistry();
-		registerMetadataRepositoryManager();
-
-		//create the director and planner.  The planner must be
-		//registered first because the director finds it in its constructor.
-		registerPlanner();
-		registerDirector();
-		startGarbageCollector();
-
-		//create artifact repositories
-		//		registerDefaultArtifactRepoManager();
-	}
-
-	private void startGarbageCollector() {
-		new GarbageCollector();
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		//		unregisterDefaultArtifactRepoManager();
-		unregisterDirector();
-		unregisterPlanner();
-		unregisterDefaultMetadataRepoManager();
-		unregisterProfileRegistry();
-		unregisterEventBus();
-		unregisterAgent();
-		Activator.context = null;
-
-	}
-
-	private void unregisterAgent() {
-		if (agent != null) {
-			agent.stop();
-			agent = null;
-		}
-	}
-
-	private void unregisterDefaultMetadataRepoManager() {
-		//unregister the service if we registered it
-		if (registrationDefaultManager != null) {
-			registrationDefaultManager.unregister();
-			registrationDefaultManager = null;
-		}
-	}
-
-	private void unregisterDirector() {
-		registrationDirector.unregister();
-		registrationDirector = null;
-	}
-
-	private void unregisterEventBus() {
-		if (registrationBus != null) {
-			registrationBus.unregister();
-			registrationBus = null;
-		}
-		if (bus != null) {
-			bus.close();
-			bus = null;
-		}
-	}
-
-	private void unregisterPlanner() {
-		registrationPlanner.unregister();
-		registrationPlanner = null;
-	}
-
-	private void unregisterProfileRegistry() {
-		registrationProfileRegistry.unregister();
-		registrationProfileRegistry = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath b/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore b/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.project b/bundles/org.eclipse.equinox.p2.extensionlocation/.project
deleted file mode 100644
index 01274d2..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.extensionlocation</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index aceba4d..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Thu Nov 20 12:57:22 PST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
deleted file mode 100644
index c620dcd..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,36 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
-Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.extensionlocation;x-friends:="org.eclipse.equinox.p2.reconciler.dropins"
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.publisher.eclipse,
- org.eclipse.equinox.internal.p2.touchpoint.eclipse,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.publisher.eclipse,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.service.datalocation;version="1.1.0",
- org.eclipse.osgi.service.resolver;version="1.2.0",
- org.eclipse.osgi.util,
- org.osgi.framework
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.equinox.p2.metadata
-Bundle-ActivationPolicy: lazy
-
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/about.html b/bundles/org.eclipse.equinox.p2.extensionlocation/about.html
deleted file mode 100644
index d42b3ce..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
deleted file mode 100644
index 3945947..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-source.. = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
deleted file mode 100644
index 1f6e623..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Extension Location Repository Support
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml b/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
deleted file mode 100644
index 21d41e2..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension
-			id="metadataRepository"
-			point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-		<factory class="org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepositoryFactory" />
-		<filter suffix="eclipse" />
-	</extension>
-
-	<extension 
-			id="artifactRepository"
-			point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
-		<factory class="org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepositoryFactory" />
-        <filter suffix="eclipse" />
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
deleted file mode 100644
index e6011a6..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Activator.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URL;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-
-public class Activator implements BundleActivator {
-
-	public static final String ID = "org.eclipse.equinox.p2.extensionlocation"; //$NON-NLS-1$null;
-	private static volatile BundleContext bundleContext;
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-
-	/*
-	 * Helper method to get the configuration location. Return null if
-	 * it is unavailable.
-	 */
-	public static File getConfigurationLocation() {
-		Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
-		if (configurationLocation == null || !configurationLocation.isSet())
-			return null;
-		URL url = configurationLocation.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	public static IProfile getCurrentProfile() {
-		ServiceReference reference = bundleContext.getServiceReference(IProfileRegistry.SERVICE_NAME);
-		if (reference == null)
-			return null;
-		IProfileRegistry profileRegistry = (IProfileRegistry) bundleContext.getService(reference);
-		try {
-			return profileRegistry.getProfile(IProfileRegistry.SELF);
-		} finally {
-			bundleContext.ungetService(reference);
-		}
-	}
-
-	public static IProvisioningAgent getCurrentAgent() {
-		ServiceReference reference = bundleContext.getServiceReference(IProvisioningAgent.class.getName());
-		if (reference == null)
-			return null;
-		return (IProvisioningAgent) bundleContext.getService(reference);
-	}
-
-	public static IFileArtifactRepository getBundlePoolRepository() {
-		IProfile profile = getCurrentProfile();
-		IProvisioningAgent agent = getCurrentAgent();
-		if (profile == null || agent == null)
-			return null;
-
-		return Util.getAggregatedBundleRepository(agent, profile, Util.AGGREGATE_CACHE | Util.AGGREGATE_SHARED_CACHE);
-	}
-
-	/**
-	 * Returns a reasonable human-readable repository name for the given location.
-	 */
-	public static String getRepositoryName(URI location) {
-		File file = URIUtil.toFile(location);
-		return file == null ? location.toString() : file.getAbsolutePath();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
deleted file mode 100644
index 6e4d378..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/BundlePoolFilteredListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-
-public class BundlePoolFilteredListener extends DirectoryChangeListener {
-
-	private DirectoryChangeListener delegate;
-	private Set bundlePoolFiles = new HashSet();
-
-	public BundlePoolFilteredListener(DirectoryChangeListener listener) {
-		delegate = listener;
-		IFileArtifactRepository bundlePool = Activator.getBundlePoolRepository();
-		if (bundlePool != null) {
-			Collector keys = bundlePool.query(ArtifactKeyQuery.ALL_KEYS, null);
-			for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-				IArtifactKey key = (IArtifactKey) iterator.next();
-				File artifactFile = bundlePool.getArtifactFile(key);
-				if (artifactFile != null)
-					bundlePoolFiles.add(artifactFile);
-			}
-		}
-	}
-
-	public boolean added(File file) {
-		return delegate.added(file);
-	}
-
-	public boolean changed(File file) {
-		return delegate.changed(file);
-	}
-
-	public Long getSeenFile(File file) {
-		return delegate.getSeenFile(file);
-	}
-
-	public boolean isInterested(File file) {
-		if (bundlePoolFiles.contains(file))
-			return false;
-
-		return delegate.isInterested(file);
-	}
-
-	public boolean removed(File file) {
-		return delegate.removed(file);
-	}
-
-	public void startPoll() {
-		delegate.startPoll();
-	}
-
-	public void stopPoll() {
-		delegate.stopPoll();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
deleted file mode 100644
index 51c4bc8..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Constants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-/**
- * @since 1.0
- */
-public interface Constants {
-
-	public static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	public static final String EXTENSION_LOCATION = ".eclipseextension"; //$NON-NLS-1$
-	public static final String FEATURES = "features"; //$NON-NLS-1$
-	public static final String FILE = "file"; //$NON-NLS-1$
-	public static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	public static final String SITE_XML = "site.xml"; //$NON-NLS-1$
-	public static final String SITE = "site"; //$NON-NLS-1$
-	public static final String DOT_XML = ".xml"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
deleted file mode 100644
index f29762a..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class ExtensionLocationArtifactRepository extends AbstractRepository implements IFileArtifactRepository, Constants {
-
-	public static final String TYPE = "org.eclipse.equinox.p2.extensionlocation.artifactRepository"; //$NON-NLS-1$
-	public static final Integer VERSION = new Integer(1);
-	public static final List STANDARD_P2_REPOSITORY_FILE_NAMES = Arrays.asList(new Object[] {"artifacts.xml", "content.xml", "compositeArtifacts.xml", "compositeContent.xml"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-	IFileArtifactRepository artifactRepository;
-	private File base;
-	private Object state = SiteListener.UNINITIALIZED;
-
-	/*
-	 * Return the location of a local repository based on
-	 * the given URL.
-	 */
-	public static URI getLocalRepositoryLocation(URI location) {
-		BundleContext context = Activator.getContext();
-		String stateDirName = Integer.toString(location.toString().hashCode());
-		File bundleData = context.getDataFile(null);
-		File stateDir = new File(bundleData, stateDirName);
-		return stateDir.toURI();
-	}
-
-	/*
-	 * Constructor for the class. Return a new extension location repository based on 
-	 * the given url and nested repository.
-	 */
-	public ExtensionLocationArtifactRepository(URI location, IFileArtifactRepository repository, IProgressMonitor monitor) throws ProvisionException {
-		super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
-		this.artifactRepository = repository;
-		this.base = getBaseDirectory(location);
-	}
-
-	public synchronized void ensureInitialized() {
-		if (state == SiteListener.INITIALIZED || state == SiteListener.INITIALIZING)
-			return;
-		// if the repo has not been synchronized for us already, synchronize it.
-		// Note: this will reload "artifactRepository"
-		SiteListener.synchronizeRepositories(null, this, base);
-	}
-
-	void reload() {
-		try {
-			ExtensionLocationArtifactRepository repo = (ExtensionLocationArtifactRepository) new ExtensionLocationArtifactRepositoryFactory().load(getLocation(), 0, null);
-			artifactRepository = repo.artifactRepository;
-			base = repo.base;
-		} catch (ProvisionException e) {
-			//unexpected
-			e.printStackTrace();
-			throw new IllegalStateException(e.getMessage());
-		}
-	}
-
-	void state(Object value) {
-		state = value;
-	}
-
-	public static void validate(URI location, IProgressMonitor monitor) throws ProvisionException {
-		File base = getBaseDirectory(location);
-		if (new File(base, EXTENSION_LOCATION).exists() || location.getPath().endsWith(EXTENSION_LOCATION))
-			return;
-		if (containsUpdateSiteFile(base)) {
-			String message = NLS.bind(Messages.error_update_site, location.toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
-		}
-		if (containsStandardP2Repository(base)) {
-			String message = NLS.bind(Messages.error_p2_repository, location.toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
-		}
-	}
-
-	private static boolean containsStandardP2Repository(File base) {
-		File[] foundRepos = base.listFiles(new FilenameFilter() {
-			public boolean accept(File dir, String name) {
-				return (STANDARD_P2_REPOSITORY_FILE_NAMES.contains(name));
-			}
-		});
-		return foundRepos.length > 0;
-	}
-
-	private static boolean containsUpdateSiteFile(File base) {
-		String[] fileNames = base.list();
-		if (fileNames == null)
-			return false;
-		for (int i = 0; i < fileNames.length; i++) {
-			if (fileNames[i].endsWith(DOT_XML) && fileNames[i].indexOf(SITE) != -1)
-				return true;
-		}
-		return false;
-	}
-
-	public static File getBaseDirectory(URI uri) throws ProvisionException {
-		if (!FILE.equals(uri.getScheme()))
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, Messages.not_file_protocol, null));
-
-		String path = URIUtil.toFile(uri).getAbsolutePath();
-		if (path.endsWith(EXTENSION_LOCATION))
-			path = path.substring(0, path.length() - EXTENSION_LOCATION.length());
-		File base = new File(path);
-
-		if (!base.isDirectory())
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_directory, uri.toString()), null));
-
-		if (isBaseDirectory(base))
-			return base;
-
-		File eclipseBase = new File(base, ECLIPSE);
-		if (isBaseDirectory(eclipseBase))
-			return eclipseBase;
-
-		throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_eclipse_extension, uri.toString()), null));
-	}
-
-	private static boolean isBaseDirectory(File base) {
-		File plugins = new File(base, PLUGINS);
-		File features = new File(base, FEATURES);
-
-		return plugins.isDirectory() || features.isDirectory();
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeAll() {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		throw new UnsupportedOperationException();
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		ensureInitialized();
-		return artifactRepository.contains(descriptor);
-	}
-
-	public boolean contains(IArtifactKey key) {
-		ensureInitialized();
-		return artifactRepository.contains(key);
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ensureInitialized();
-		return artifactRepository.getArtifact(descriptor, destination, monitor);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ensureInitialized();
-		return artifactRepository.getRawArtifact(descriptor, destination, monitor);
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		ensureInitialized();
-		return artifactRepository.getArtifactDescriptors(key);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		ensureInitialized();
-		return artifactRepository.getArtifacts(requests, monitor);
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-		ensureInitialized();
-		return artifactRepository.getOutputStream(descriptor);
-	}
-
-	public File getArtifactFile(IArtifactKey key) {
-		ensureInitialized();
-		return artifactRepository.getArtifactFile(key);
-	}
-
-	public File getArtifactFile(IArtifactDescriptor descriptor) {
-		ensureInitialized();
-		return artifactRepository.getArtifactFile(descriptor);
-	}
-
-	public Map getProperties() {
-		ensureInitialized();
-		return artifactRepository.getProperties();
-	}
-
-	public String setProperty(String key, String value) {
-		ensureInitialized();
-		String oldValue = artifactRepository.setProperty(key, value);
-		// if the value didn't really change then just return
-		if (oldValue == value || (oldValue != null && oldValue.equals(value)))
-			return oldValue;
-		// we want to re-initialize if we are changing the site policy or plug-in list
-		if (!SiteListener.SITE_LIST.equals(key) && !SiteListener.SITE_POLICY.equals(key))
-			return oldValue;
-		state = SiteListener.UNINITIALIZED;
-		ensureInitialized();
-		return oldValue;
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return artifactRepository.createArtifactDescriptor(key);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		ensureInitialized();
-		return artifactRepository.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
deleted file mode 100644
index 6822dca..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class ExtensionLocationArtifactRepositoryFactory extends ArtifactRepositoryFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
-	 */
-	public IArtifactRepository create(URI location, String name, String type, Map properties) throws ProvisionException {
-		// TODO proper progress monitoring
-		IStatus status = validate(location, null);
-		if (!status.isOK())
-			throw new ProvisionException(status);
-		URI repoLocation = ExtensionLocationArtifactRepository.getLocalRepositoryLocation(location);
-		// unexpected
-		if (repoLocation == null)
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
-		// make sure that we aren't trying to create a repo at a location
-		// where one already exists
-		boolean failed = false;
-		try {
-			new SimpleArtifactRepositoryFactory().load(repoLocation, 0, null);
-			failed = true;
-		} catch (ProvisionException e) {
-			// expected
-		}
-		if (failed) {
-			String msg = NLS.bind(Messages.repo_already_exists, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_EXISTS, msg, null));
-		}
-		IFileArtifactRepository repo = (IFileArtifactRepository) new SimpleArtifactRepositoryFactory().create(repoLocation, name, type, properties);
-		return new ExtensionLocationArtifactRepository(location, repo, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IArtifactRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		//return null if the caller wanted a modifiable repo
-		if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-			return null;
-		}
-
-		// TODO proper progress monitoring
-		IStatus status = validate(location, null);
-		if (!status.isOK())
-			throw new ProvisionException(status);
-		URI repoLocation = ExtensionLocationArtifactRepository.getLocalRepositoryLocation(location);
-		// unexpected
-		if (repoLocation == null)
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
-		// TODO proper progress monitoring
-		try {
-			IFileArtifactRepository repo = (IFileArtifactRepository) new SimpleArtifactRepositoryFactory().load(repoLocation, flags, null);
-			return new ExtensionLocationArtifactRepository(location, repo, monitor);
-		} catch (ProvisionException e) {
-			return create(location, Activator.getRepositoryName(location), ExtensionLocationArtifactRepository.TYPE, null);
-		}
-	}
-
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			ExtensionLocationArtifactRepository.validate(location, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
deleted file mode 100644
index fd6a253..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepository.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class ExtensionLocationMetadataRepository extends AbstractMetadataRepository implements Constants {
-
-	public static final String TYPE = "org.eclipse.equinox.p2.extensionlocation.metadataRepository"; //$NON-NLS-1$
-	public static final Integer VERSION = new Integer(1);
-	public static final List STANDARD_P2_REPOSITORY_FILE_NAMES = Arrays.asList(new Object[] {"artifacts.xml", "content.xml", "compositeArtifacts.xml", "compositeContent.xml"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-	IMetadataRepository metadataRepository;
-	private File base;
-	private Object state = SiteListener.UNINITIALIZED;
-
-	/*
-	 * Return the URL for this repo's nested local repository.
-	 */
-	public static URI getLocalRepositoryLocation(URI location) {
-		BundleContext context = Activator.getContext();
-		String stateDirName = Integer.toString(location.toString().hashCode());
-		File bundleData = context.getDataFile(null);
-		return new File(bundleData, stateDirName).toURI();
-	}
-
-	/*
-	 * Constructor for the class. Return a new extension location repository based on the 
-	 * given location and specified nested repo.
-	 */
-	public ExtensionLocationMetadataRepository(URI location, IMetadataRepository repository, IProgressMonitor monitor) throws ProvisionException {
-		super(Activator.getRepositoryName(location), TYPE, VERSION.toString(), location, null, null, null);
-		this.metadataRepository = repository;
-		this.base = getBaseDirectory(location);
-	}
-
-	public synchronized void ensureInitialized() {
-		if (state == SiteListener.INITIALIZED || state == SiteListener.INITIALIZING)
-			return;
-		// if the repo has not been synchronized for us already, synchronize it.
-		// Note: this will reload "metadataRepository"
-		SiteListener.synchronizeRepositories(this, null, base);
-	}
-
-	void reload() {
-		try {
-			ExtensionLocationMetadataRepository repo = (ExtensionLocationMetadataRepository) new ExtensionLocationMetadataRepositoryFactory().load(getLocation(), 0, null);
-			metadataRepository = repo.metadataRepository;
-			base = repo.base;
-		} catch (ProvisionException e) {
-			//unexpected
-			e.printStackTrace();
-			throw new IllegalStateException(e.getMessage());
-		}
-	}
-
-	void state(Object value) {
-		state = value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#addInstallableUnits(org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit[])
-	 */
-	public void addInstallableUnits(IInstallableUnit[] installableUnits) {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#removeAll()
-	 */
-	public void removeAll() {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository#removeInstallableUnits(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.query.IQueryable#query(org.eclipse.equinox.internal.provisional.p2.query.Query, org.eclipse.equinox.internal.provisional.p2.query.Collector, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		ensureInitialized();
-		return metadataRepository.query(query, monitor);
-	}
-
-	public static void validate(URI location, IProgressMonitor monitor) throws ProvisionException {
-		File base = getBaseDirectory(location);
-		if (new File(base, EXTENSION_LOCATION).exists() || location.getPath().endsWith(EXTENSION_LOCATION))
-			return;
-		if (containsUpdateSiteFile(base)) {
-			String message = NLS.bind(Messages.error_update_site, location.toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
-		}
-		if (containsStandardP2Repository(base)) {
-			String message = NLS.bind(Messages.error_p2_repository, location.toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, message, null));
-		}
-	}
-
-	private static boolean containsStandardP2Repository(File base) {
-		File[] foundRepos = base.listFiles(new FilenameFilter() {
-			public boolean accept(File dir, String name) {
-				return (STANDARD_P2_REPOSITORY_FILE_NAMES.contains(name));
-			}
-		});
-		return foundRepos.length > 0;
-	}
-
-	private static boolean containsUpdateSiteFile(File base) {
-		String[] fileNames = base.list();
-		if (fileNames == null)
-			return false;
-		for (int i = 0; i < fileNames.length; i++) {
-			if (fileNames[i].endsWith(DOT_XML) && fileNames[i].indexOf(SITE) != -1)
-				return true;
-		}
-		return false;
-	}
-
-	public static File getBaseDirectory(URI uri) throws ProvisionException {
-		if (!FILE.equals(uri.getScheme()))
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, Messages.not_file_protocol, null));
-
-		File base = URIUtil.toFile(uri);
-		String path = base.getAbsolutePath();
-		if (path.endsWith(EXTENSION_LOCATION))
-			base = new File(path.substring(0, path.length() - EXTENSION_LOCATION.length()));
-
-		if (!base.isDirectory())
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_directory, uri.toString()), null));
-
-		if (isBaseDirectory(base))
-			return base;
-
-		File eclipseBase = new File(base, ECLIPSE);
-		if (isBaseDirectory(eclipseBase))
-			return eclipseBase;
-
-		throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.not_eclipse_extension, uri.toString()), null));
-	}
-
-	private static boolean isBaseDirectory(File base) {
-		File plugins = new File(base, PLUGINS);
-		File features = new File(base, FEATURES);
-
-		return plugins.isDirectory() || features.isDirectory();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository#getProperties()
-	 */
-	public Map getProperties() {
-		ensureInitialized();
-		return metadataRepository.getProperties();
-	}
-
-	public void initialize(RepositoryState repositoryState) {
-		//nothing to do
-	}
-
-	public String setProperty(String key, String value) {
-		ensureInitialized();
-		String oldValue = metadataRepository.setProperty(key, value);
-		// if the value didn't really change then just return
-		if (oldValue == value || (oldValue != null && oldValue.equals(value)))
-			return oldValue;
-		// we want to re-initialize if we are changing the site policy or plug-in list
-		if (!SiteListener.SITE_LIST.equals(key) && !SiteListener.SITE_POLICY.equals(key))
-			return oldValue;
-		state = SiteListener.UNINITIALIZED;
-		ensureInitialized();
-		return oldValue;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
deleted file mode 100644
index 7c92e23..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class ExtensionLocationMetadataRepositoryFactory extends MetadataRepositoryFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
-	 */
-	public IMetadataRepository create(URI location, String name, String type, Map properties) throws ProvisionException {
-		// TODO proper progress monitoring
-		IStatus status = validate(location, null);
-		if (!status.isOK())
-			throw new ProvisionException(status);
-		URI repoLocation = ExtensionLocationMetadataRepository.getLocalRepositoryLocation(location);
-		// unexpected
-		if (repoLocation == null)
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
-		// ensure that we aren't trying to create a repository at a location
-		// where one already exists
-		boolean failed = false;
-		try {
-			new SimpleMetadataRepositoryFactory().load(repoLocation, 0, null);
-			failed = true;
-		} catch (ProvisionException e) {
-			// expected
-		}
-		if (failed) {
-			String msg = NLS.bind(Messages.repo_already_exists, location.toString());
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_EXISTS, msg, null));
-		}
-		IMetadataRepository repository = new SimpleMetadataRepositoryFactory().create(repoLocation, name, null, properties);
-		return new ExtensionLocationMetadataRepository(location, repository, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		//return null if the caller wanted a modifiable repo
-		if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-			return null;
-		}
-
-		// TODO proper progress monitoring
-		IStatus status = validate(location, null);
-		if (!status.isOK())
-			throw new ProvisionException(status);
-		URI repoLocation = ExtensionLocationMetadataRepository.getLocalRepositoryLocation(location);
-		// unexpected
-		if (repoLocation == null)
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, Messages.failed_create_local_artifact_repository));
-		// TODO proper progress monitoring
-		try {
-			IMetadataRepository repository = new SimpleMetadataRepositoryFactory().load(repoLocation, flags, null);
-			return new ExtensionLocationMetadataRepository(location, repository, monitor);
-		} catch (ProvisionException e) {
-			return create(location, Activator.getRepositoryName(location), ExtensionLocationMetadataRepository.TYPE, null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			ExtensionLocationMetadataRepository.validate(location, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
deleted file mode 100644
index 1498de7..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.extensionlocation.messages"; //$NON-NLS-1$
-	public static String error_update_site;
-	public static String failed_create_local_artifact_repository;
-	public static String not_directory;
-	public static String not_eclipse_extension;
-	public static String not_file_protocol;
-	public static String repo_already_exists;
-	public static String error_p2_repository;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
deleted file mode 100644
index 05113e8..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/SiteListener.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.extensionlocation;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-/**
- * @since 1.0
- */
-public class SiteListener extends DirectoryChangeListener {
-
-	public static final String SITE_POLICY = "org.eclipse.update.site.policy"; //$NON-NLS-1$
-	public static final String SITE_LIST = "org.eclipse.update.site.list"; //$NON-NLS-1$
-	private static final String FEATURES = "features"; //$NON-NLS-1$
-	private static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String FEATURE_MANIFEST = "feature.xml"; //$NON-NLS-1$
-	public static final Object UNINITIALIZED = "uninitialized"; //$NON-NLS-1$
-	public static final Object INITIALIZING = "initializing"; //$NON-NLS-1$
-	public static final Object INITIALIZED = "initialized"; //$NON-NLS-1$
-
-	private String policy;
-	private String[] list;
-	private String siteLocation;
-	private DirectoryChangeListener delegate;
-	private String[] managedFiles;
-	private String[] toBeRemoved;
-
-	/*
-	 * Return true if the given list contains the full path of the given file 
-	 * handle. Return false otherwise.
-	 */
-	private static boolean contains(String[] plugins, File file) {
-		String filename = file.getAbsolutePath();
-		for (int i = 0; i < plugins.length; i++)
-			if (filename.endsWith(new File(plugins[i]).toString()))
-				return true;
-		return false;
-	}
-
-	/**
-	 * Given one repo and a base location, ensure cause the other repo to be loaded and then 
-	 * poll the base location once updating the repositories accordingly.  This method is used to 
-	 * ensure that both the metadata and artifact repos corresponding to one location are 
-	 * synchronized in one go.  It is expected that both repos have been previously created
-	 * so simply loading them here will work and that all their properties etc have been configured
-	 * previously.
-	 * @param metadataRepository
-	 * @param artifactRepository
-	 * @param base
-	 */
-	public static synchronized void synchronizeRepositories(ExtensionLocationMetadataRepository metadataRepository, ExtensionLocationArtifactRepository artifactRepository, File base) {
-		try {
-			if (metadataRepository == null) {
-				artifactRepository.reload();
-				ExtensionLocationMetadataRepositoryFactory factory = new ExtensionLocationMetadataRepositoryFactory();
-				metadataRepository = (ExtensionLocationMetadataRepository) factory.load(artifactRepository.getLocation(), 0, null);
-			} else if (artifactRepository == null) {
-				metadataRepository.reload();
-				ExtensionLocationArtifactRepositoryFactory factory = new ExtensionLocationArtifactRepositoryFactory();
-				artifactRepository = (ExtensionLocationArtifactRepository) factory.load(metadataRepository.getLocation(), 0, null);
-			}
-		} catch (ProvisionException e) {
-			// TODO need proper error handling here.  What should we do if there is a failure
-			// when loading "the other" repo?
-			e.printStackTrace();
-			return;
-		}
-
-		artifactRepository.state(INITIALIZING);
-		metadataRepository.state(INITIALIZING);
-		File plugins = new File(base, PLUGINS);
-		File features = new File(base, FEATURES);
-		DirectoryWatcher watcher = new DirectoryWatcher(new File[] {plugins, features});
-		//  here we have to sync with the inner repos as the extension location repos are 
-		// read-only wrappers.
-		DirectoryChangeListener listener = new RepositoryListener(metadataRepository.metadataRepository, artifactRepository.artifactRepository);
-		if (metadataRepository.getProperties().get(SiteListener.SITE_POLICY) != null)
-			listener = new SiteListener(metadataRepository.getProperties(), metadataRepository.getLocation().toString(), new BundlePoolFilteredListener(listener));
-		watcher.addListener(listener);
-		watcher.poll();
-		artifactRepository.state(INITIALIZED);
-		metadataRepository.state(INITIALIZED);
-	}
-
-	/*
-	 * Create a new site listener on the given site.
-	 */
-	public SiteListener(Map properties, String url, DirectoryChangeListener delegate) {
-		this.siteLocation = url;
-		this.delegate = delegate;
-		this.policy = (String) properties.get(SITE_POLICY);
-		Collection listCollection = new HashSet();
-		String listString = (String) properties.get(SITE_LIST);
-		if (listString != null)
-			for (StringTokenizer tokenizer = new StringTokenizer(listString, ","); tokenizer.hasMoreTokens();) //$NON-NLS-1$
-				listCollection.add(tokenizer.nextToken());
-		this.list = (String[]) listCollection.toArray(new String[listCollection.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener#isInterested(java.io.File)
-	 */
-	public boolean isInterested(File file) {
-		// make sure that our delegate and super-class are both interested in 
-		// the file before we consider it
-		if (!delegate.isInterested(file))
-			return false;
-		if (Site.POLICY_MANAGED_ONLY.equals(policy)) {
-			// we only want plug-ins referenced by features
-			return contains(getManagedFiles(), file);
-		} else if (Site.POLICY_USER_EXCLUDE.equals(policy)) {
-			// ensure the file doesn't refer to a plug-in in our list
-			if (contains(list, file))
-				return false;
-		} else if (Site.POLICY_USER_INCLUDE.equals(policy)) {
-			// we are only interested in plug-ins in the list
-			if (!contains(list, file))
-				return false;
-		} else {
-			// shouldn't happen... unknown policy type
-			return false;
-		}
-		// at this point we have either a user-include or user-exclude policy set
-		// and we think we are interested in the file. we should first check to
-		// see if it is in the list of things to be removed
-		return !isToBeRemoved(file);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the feature pointed to
-	 * by the given file is in the update manager's list of features to be
-	 * uninstalled in its clean-up phase.
-	 */
-	private boolean isToBeRemoved(File file) {
-		String[] removed = getToBeRemoved();
-		if (removed.length == 0)
-			return false;
-		Feature feature = getFeature(file);
-		if (feature == null)
-			return false;
-		for (int i = 0; i < removed.length; i++) {
-			String line = removed[i];
-			// the line is a versioned identifier which is id_version
-			if (line.equals(feature.getId() + '_' + feature.getVersion()))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * Parse and return the feature.xml file in the given location. 
-	 * Can return null.
-	 */
-	private Feature getFeature(File location) {
-		if (location.isFile())
-			return null;
-		File manifest = new File(location, FEATURE_MANIFEST);
-		if (!manifest.exists())
-			return null;
-		FeatureParser parser = new FeatureParser();
-		return parser.parse(location);
-	}
-
-	/*
-	 * Return an array describing the list of features are are going
-	 * to be removed by the update manager in its clean-up phase.
-	 * The strings are in the format of versioned identifiers: id_version
-	 */
-	private String[] getToBeRemoved() {
-		if (toBeRemoved != null)
-			return toBeRemoved;
-		File configurationLocation = Activator.getConfigurationLocation();
-		if (configurationLocation == null) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to compute the configuration location.")); //$NON-NLS-1$
-			toBeRemoved = new String[0];
-			return toBeRemoved;
-		}
-		File toBeUninstalledFile = new File(configurationLocation, "org.eclipse.update/toBeUninstalled"); //$NON-NLS-1$
-		if (!toBeUninstalledFile.exists()) {
-			toBeRemoved = new String[0];
-			return toBeRemoved;
-		}
-		// set it to be empty here in case we don't have a match in the file
-		toBeRemoved = new String[0];
-		Properties properties = new Properties();
-		InputStream input = null;
-		try {
-			input = new BufferedInputStream(new FileInputStream(toBeUninstalledFile));
-			properties.load(input);
-		} catch (IOException e) {
-			// TODO
-		} finally {
-			try {
-				if (input != null)
-					input.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		String urlString = siteLocation;
-		if (urlString.endsWith(Constants.EXTENSION_LOCATION))
-			urlString = urlString.substring(0, urlString.length() - Constants.EXTENSION_LOCATION.length());
-		List result = new ArrayList();
-		for (Enumeration e = properties.elements(); e.hasMoreElements();) {
-			String line = (String) e.nextElement();
-			StringTokenizer tokenizer = new StringTokenizer(line, ";"); //$NON-NLS-1$
-			String targetSite = tokenizer.nextToken();
-			if (!urlString.equals(targetSite))
-				continue;
-			result.add(tokenizer.nextToken());
-		}
-		toBeRemoved = (String[]) result.toArray(new String[result.size()]);
-		return toBeRemoved;
-	}
-
-	/*
-	 * Return an array of files which are managed. This includes all of the features
-	 * for this site, as well as the locations for all the plug-ins referenced by those
-	 * features.
-	 */
-	private String[] getManagedFiles() {
-		if (managedFiles != null)
-			return managedFiles;
-		List result = new ArrayList();
-		File siteFile;
-		try {
-			siteFile = URIUtil.toFile(new URI(siteLocation));
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to create a URL from site location: " + siteLocation, e)); //$NON-NLS-1$
-			return new String[0];
-		}
-		Map pluginCache = getPlugins(siteFile);
-		Map featureCache = getFeatures(siteFile);
-		for (Iterator iter = featureCache.keySet().iterator(); iter.hasNext();) {
-			File featureFile = (File) iter.next();
-			// add the feature path
-			result.add(featureFile.toString());
-			Feature feature = (Feature) featureCache.get(featureFile);
-			FeatureEntry[] entries = feature.getEntries();
-			for (int inner = 0; inner < entries.length; inner++) {
-				FeatureEntry entry = entries[inner];
-				// grab the right location from the plug-in cache
-				String key = entry.getId() + '/' + entry.getVersion();
-				File pluginLocation = (File) pluginCache.get(key);
-				if (pluginLocation != null)
-					result.add(pluginLocation.toString());
-			}
-		}
-		managedFiles = (String[]) result.toArray(new String[result.size()]);
-		return managedFiles;
-	}
-
-	/*
-	 * Iterate over the feature directory and return a map of 
-	 * File to Feature objects (from the generator bundle)
-	 */
-	private Map getFeatures(File location) {
-		Map result = new HashMap();
-		File featureDir = new File(location, FEATURES);
-		File[] children = featureDir.listFiles();
-		for (int i = 0; i < children.length; i++) {
-			File featureLocation = children[i];
-			if (featureLocation.isDirectory() && featureLocation.getParentFile() != null && featureLocation.getParentFile().getName().equals("features") && new File(featureLocation, "feature.xml").exists()) {//$NON-NLS-1$ //$NON-NLS-2$
-				FeatureParser parser = new FeatureParser();
-				Feature entry = parser.parse(featureLocation);
-				if (entry != null)
-					result.put(featureLocation, entry);
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Iterate over the plugins directory and return a map of
-	 * plug-in id/version to File locations.
-	 */
-	private Map getPlugins(File location) {
-		File[] plugins = new File(location, PLUGINS).listFiles();
-		Map result = new HashMap();
-		for (int i = 0; plugins != null && i < plugins.length; i++) {
-			File bundleLocation = plugins[i];
-			if (bundleLocation.isDirectory() || bundleLocation.getName().endsWith(".jar")) { //$NON-NLS-1$
-				BundleDescription description = BundlesAction.createBundleDescription(bundleLocation);
-				if (description != null) {
-					String id = description.getSymbolicName();
-					String version = description.getVersion().toString();
-					result.put(id + '/' + version, bundleLocation);
-				}
-			}
-		}
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#added(java.io.File)
-	 */
-	public boolean added(File file) {
-		return delegate.added(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#changed(java.io.File)
-	 */
-	public boolean changed(File file) {
-		return delegate.changed(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#getSeenFile(java.io.File)
-	 */
-	public Long getSeenFile(File file) {
-		return delegate.getSeenFile(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#removed(java.io.File)
-	 */
-	public boolean removed(File file) {
-		return delegate.removed(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#startPoll()
-	 */
-	public void startPoll() {
-		delegate.startPoll();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener#stopPoll()
-	 */
-	public void stopPoll() {
-		delegate.stopPoll();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties b/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
deleted file mode 100644
index 5048ffb..0000000
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/src/org/eclipse/equinox/internal/p2/extensionlocation/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-error_update_site=Error: {0} is not a valid extension location because it contains a site.xml file.
-error_p2_repository=Error: {0} is not a valid extension location because it already contains a standard p2 repository file.
-failed_create_local_artifact_repository=Failed to create local repository.
-not_directory=Location: {0} not a directory.
-not_eclipse_extension=Location: {0} is not a valid extension location.
-not_file_protocol=Location must use file protocol.
-repo_already_exists=Repository: {0} already exists.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath b/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.cvsignore b/bundles/org.eclipse.equinox.p2.garbagecollector/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.options b/bundles/org.eclipse.equinox.p2.garbagecollector/.options
deleted file mode 100644
index d94f572..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.equinox.p2.garbagecollector/debug = false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.project b/bundles/org.eclipse.equinox.p2.garbagecollector/.project
deleted file mode 100644
index 772f2af..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.garbagecollector</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1546d82..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Tue Aug 21 11:27:48 CDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
deleted file mode 100644
index 85b7376..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Import-Package: org.eclipse.core.runtime.preferences,
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.service.prefs;version="1.1.0"
-Bundle-Activator: org.eclipse.equinox.internal.p2.garbagecollector.GCActivator
-Export-Package: org.eclipse.equinox.internal.p2.garbagecollector;x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.pde.core"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.equinox.p2.engine,
- org.eclipse.osgi;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.equinox.registry;bundle-version="[3.4.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/about.html b/bundles/org.eclipse.equinox.p2.garbagecollector/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/build.properties b/bundles/org.eclipse.equinox.p2.garbagecollector/build.properties
deleted file mode 100644
index f84c26e..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               schema/,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.properties b/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.properties
deleted file mode 100644
index 923b284..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Provisioning Garbage Collector
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.xml b/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.xml
deleted file mode 100644
index a34d420..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="marksetproviders" name="Garbage Collector" schema="schema/GarbageCollector.exsd"/>
-   
-	<!--<extension
-			point="org.eclipse.equinox.p2.rootsetproviders"
-			id="RootSetTest">
-			<run 
-				class="org.eclipse.equinox.p2.garbagecollector.test.RootSetTest"/>
-	</extension>-->
-	
-	 <!--<extension
-	point="org.eclipse.equinox.p2.marksetproviders"
-	id="TestProvider">
-	<run 
-		class="org.eclipse.equinox.p2.garbagecollector.test.MarkSetProviderTest"/>
-</extension>-->
-
-	<extension id="application" point="org.eclipse.core.runtime.applications"> 
-      <application> 
-         <run class="org.eclipse.equinox.internal.p2.garbagecollector.Application"/> 
-      </application> 
-   </extension>
-	
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/schema/GarbageCollector.exsd b/bundles/org.eclipse.equinox.p2.garbagecollector/schema/GarbageCollector.exsd
deleted file mode 100644
index 3c3fae0..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/schema/GarbageCollector.exsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.garbagecollector" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.garbagecollector" id="marksetproviders" name="Profile-based mark set providers"/>
-      </appinfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.internal.p2.garbagecollector.MarkSetProvider:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         org.eclipse.equinox.p2.garbagecollector 1.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiInfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2007, 2008 IBM Corporation and others.&lt;br&gt;
-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 &lt;a 
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Application.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Application.java
deleted file mode 100644
index 4bc2399..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Application.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import java.util.Map;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-
-/**
- * @since 1.0
- */
-public class Application implements IApplication {
-
-	private static final String DEFAULT_PROFILE_ID = "SDKProfile"; //$NON-NLS-1$
-	private String profileId;
-
-	/*
-	 * Return the profile with the given id, or null if not found.
-	 */
-	private IProfile getProfile(String id) {
-		IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(GCActivator.getContext(), IProfileRegistry.SERVICE_NAME);
-		return profileRegistry == null ? null : profileRegistry.getProfile(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		// TODO - do we have to start exemplarySetup here?
-		Map allArgs = context.getArguments();
-		String[] args = (String[]) allArgs.get(IApplicationContext.APPLICATION_ARGS);
-		processArguments(args);
-		// if the user didn't give us a profile id, then use the default SDK one
-		if (profileId == null)
-			profileId = DEFAULT_PROFILE_ID;
-		IProfile profile = getProfile(profileId);
-		if (profile == null)
-			throw new IllegalArgumentException("\"" + profileId + "\" is not a valid profile identifier.");
-		new GarbageCollector().runGC(profile);
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// nothing to do
-	}
-
-	/*
-	 * Iterate over the command-line arguments and pull out the ones which are important to us.
-	 */
-	public void processArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			String opt = args[i];
-			// check for args with parameters. If we are at the last argument or if the next 
-			// one has a '-' as the first character, then we can't have an arg with a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-			if (opt.equalsIgnoreCase("-profile")) //$NON-NLS-1$
-				profileId = arg;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/CoreGarbageCollector.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/CoreGarbageCollector.java
deleted file mode 100644
index 85e3c92..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/CoreGarbageCollector.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-/**
- * Given a MarkSet, the CoreGarbageCollector removes any IArtifactDescriptors which
- * are not mapped to be an IArtifactKey in the MarkSet.
- */
-public class CoreGarbageCollector {
-
-	/**
-	 * When set to true, information will be logged every time an artifact is removed 
-	 */
-	private static boolean debugMode = false;
-
-	/**
-	 * Given a list of IArtifactKeys and an IArtifactRepository, removes all artifacts
-	 * in aRepository that are not mapped to by an IArtifactKey in markSet
-	 */
-	public synchronized void clean(IArtifactKey[] markSet, IArtifactRepository aRepository) {
-		final Set set = new HashSet(Arrays.asList(markSet));
-		ArtifactKeyQuery query = new ArtifactKeyQuery() {
-			public boolean isMatch(Object candidate) {
-				return !set.contains(candidate);
-			}
-		};
-		Collector inactive = aRepository.query(query, null);
-		for (Iterator iterator = inactive.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			aRepository.removeDescriptor(key);
-			if (debugMode) {
-				Tracing.debug("Key removed:" + key); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/*
-	 * If set to true, debug mode will log information about each artifact deleted by the CoreGarbageCollector
-	 * @param inDebugMode
-	 */
-	public static void setDebugMode(boolean inDebugMode) {
-		debugMode = inDebugMode;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GCActivator.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GCActivator.java
deleted file mode 100644
index 25916ec..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GCActivator.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.osgi.service.debug.DebugOptions;
-import org.osgi.framework.*;
-import org.osgi.service.prefs.Preferences;
-
-public class GCActivator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.garbagecollector"; //$NON-NLS-1$
-	public static final String GC_ENABLED = "gc_enabled"; //$NON-NLS-1$
-	private static final String DEBUG_STRING = GCActivator.ID + "/debug"; //$NON-NLS-1$
-	private static final boolean DEFAULT_DEBUG = false;
-
-	static BundleContext context;
-
-	private SynchronousProvisioningListener busListener;
-
-	static Object getService(BundleContext ctx, String name) {
-		ServiceReference reference = ctx.getServiceReference(name);
-		if (reference == null)
-			return null;
-		Object result = ctx.getService(reference);
-		ctx.ungetService(reference);
-		return result;
-	}
-
-	public void start(BundleContext inContext) throws Exception {
-		GCActivator.context = inContext;
-		DebugOptions debug = (DebugOptions) getService(inContext, DebugOptions.class.getName());
-		if (debug != null) {
-			CoreGarbageCollector.setDebugMode(debug.getBooleanOption(DEBUG_STRING, DEFAULT_DEBUG));
-		}
-		registerGCTrigger();
-	}
-
-	//	Register the listener used to trigger the GC.
-	private void registerGCTrigger() {
-		IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(GCActivator.context, IProvisioningEventBus.SERVICE_NAME);
-		if (eventBus == null) {
-			LogHelper.log(new Status(IStatus.ERROR, GCActivator.ID, Messages.Missing_bus));
-			return;
-		}
-		eventBus.addListener(busListener = new SynchronousProvisioningListener() {
-			//The GC is triggered when an uninstall event occurred during a "transaction" and the transaction is committed.   
-			private boolean uninstallEventOccurred = false;
-
-			public void notify(EventObject o) {
-				if (o instanceof InstallableUnitEvent) {
-					InstallableUnitEvent event = (InstallableUnitEvent) o;
-					if (event.isUninstall() && event.isPost()) {
-						uninstallEventOccurred = true;
-					}
-				} else if (o instanceof CommitOperationEvent) {
-					if (uninstallEventOccurred == true) {
-						CommitOperationEvent event = (CommitOperationEvent) o;
-						if (getBooleanPreference(GC_ENABLED, true)) {
-							new GarbageCollector().runGC(event.getProfile());
-						}
-						uninstallEventOccurred = false;
-					}
-				} else if (o instanceof RollbackOperationEvent) {
-					uninstallEventOccurred = false;
-				}
-			}
-		});
-	}
-
-	protected boolean getBooleanPreference(String key, boolean defaultValue) {
-		IPreferencesService prefService = (IPreferencesService) getService(context, IPreferencesService.class.getName());
-		if (prefService == null)
-			return defaultValue;
-		List nodes = new ArrayList();
-		// todo we should look in the instance scope as well but have to be careful that the instance location has been set
-		nodes.add(new ConfigurationScope().getNode(ID));
-		nodes.add(new DefaultScope().getNode(ID));
-		return Boolean.valueOf(prefService.get(key, Boolean.toString(defaultValue), (Preferences[]) nodes.toArray(new Preferences[nodes.size()]))).booleanValue();
-	}
-
-	private void unregisterGCTrigger() {
-		IProvisioningEventBus eventBus = (IProvisioningEventBus) getService(GCActivator.context, IProvisioningEventBus.SERVICE_NAME);
-		if (eventBus != null && busListener != null)
-			eventBus.removeListener(busListener);
-	}
-
-	public void stop(BundleContext inContext) throws Exception {
-		unregisterGCTrigger();
-		GCActivator.context = null;
-	}
-
-	public static BundleContext getContext() {
-		return context;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GarbageCollector.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GarbageCollector.java
deleted file mode 100644
index 30fe1e1..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/GarbageCollector.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-/**
- * The main control point for the p2 garbage collector.  Takes a Profile and runs the CoreGarbageCollector with the
- * appropriate MarkSets for the repositories used by that Profile.
- * 
- * Takes the profile passed in and creates a set (markSet) that maps the artifact repositories it uses to the
- * artifact keys its IUs hold.  This is done by getting MarkSets from all registered IMarkSetProviders.
- * 
- * Then, the MarkSets are obtained for every other registered Profile in a similar fashion.  Each MarkSet is
- * checked to see if its artifact repository is already a key in markSet.  If so, that MarkSet's artifact keys 
- * are added to the list that is mapped to by the artifact repository. 
- */
-public class GarbageCollector {
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	private static final String PT_MARKSET = GCActivator.ID + ".marksetproviders"; //$NON-NLS-1$
-
-	/**
-	 * Maps IArtifactRepository objects to their respective "marked set" of IArtifactKeys
-	 */
-	private Map markSet;
-	final IProvisioningAgent agent;
-
-	public GarbageCollector() {
-		// we need to use DS to create an Agent Listener here
-		agent = (IProvisioningAgent) GCActivator.getContext().getService(GCActivator.getContext().getServiceReference(IProvisioningAgent.class.getName()));
-	}
-
-	public void runGC(IProfile profile) {
-		markSet = new HashMap();
-		if (!traverseMainProfile(profile))
-			return;
-
-		//Complete each MarkSet with the MarkSets provided by all of the other registered Profiles
-		traverseRegisteredProfiles();
-
-		//Run the GC on each MarkSet
-		invokeCoreGC();
-	}
-
-	private boolean traverseMainProfile(IProfile profile) {
-		IExtensionRegistry registry = RegistryFactory.getRegistry();
-		IConfigurationElement[] configElts = registry.getConfigurationElementsFor(PT_MARKSET);
-
-		//First we collect all repos and keys for the profile being GC'ed
-		for (int i = 0; i < configElts.length; i++) {
-			if (!(configElts[i].getName().equals("run"))) { //$NON-NLS-1$
-				continue;
-			}
-			IConfigurationElement runAttribute = configElts[i];
-			if (runAttribute == null) {
-				continue;
-			}
-
-			contributeMarkSets(runAttribute, profile, true);
-		}
-		return true;
-	}
-
-	private void invokeCoreGC() {
-		Iterator keyIterator = markSet.keySet().iterator();
-		while (keyIterator.hasNext()) {
-			IArtifactRepository nextRepo = (IArtifactRepository) keyIterator.next();
-			IArtifactKey[] keys = (IArtifactKey[]) ((Collection) markSet.get(nextRepo)).toArray(new IArtifactKey[0]);
-			MarkSet aMarkSet = new MarkSet(keys, nextRepo);
-			new CoreGarbageCollector().clean(aMarkSet.getKeys(), aMarkSet.getRepo());
-		}
-	}
-
-	private void traverseRegisteredProfiles() {
-		IExtensionRegistry registry = RegistryFactory.getRegistry();
-		IConfigurationElement[] configElts = registry.getConfigurationElementsFor(PT_MARKSET);
-		for (int i = 0; i < configElts.length; i++) {
-			if (!(configElts[i].getName().equals("run"))) { //$NON-NLS-1$
-				continue;
-			}
-			IConfigurationElement runAttribute = configElts[i];
-			if (runAttribute == null) {
-				continue;
-			}
-
-			IProfileRegistry profileRegistry = (IProfileRegistry) GCActivator.getService(GCActivator.getContext(), IProfileRegistry.SERVICE_NAME);
-			if (profileRegistry == null)
-				return;
-			IProfile[] registeredProfiles = profileRegistry.getProfiles();
-
-			for (int j = 0; j < registeredProfiles.length; j++) {
-				contributeMarkSets(runAttribute, registeredProfiles[j], false);
-			}
-		}
-	}
-
-	private class ParameterizedSafeRunnable implements ISafeRunnable {
-		IConfigurationElement cfg;
-		IProfile aProfile;
-		MarkSet[] aProfileMarkSets;
-
-		public ParameterizedSafeRunnable(IConfigurationElement runtAttribute, IProfile profile) {
-			cfg = runtAttribute;
-			aProfile = profile;
-		}
-
-		public void handleException(Throwable exception) {
-			LogHelper.log(new Status(IStatus.ERROR, GCActivator.ID, Messages.Error_in_extension, exception));
-		}
-
-		public void run() throws Exception {
-			MarkSetProvider aMarkSetProvider = (MarkSetProvider) cfg.createExecutableExtension(ATTRIBUTE_CLASS);
-			if (aMarkSetProvider == null) {
-				aProfileMarkSets = null;
-				return;
-			}
-			aProfileMarkSets = aMarkSetProvider.getMarkSets(agent, aProfile);
-		}
-
-		public MarkSet[] getResult() {
-			return aProfileMarkSets;
-		}
-	}
-
-	private void contributeMarkSets(IConfigurationElement runAttribute, IProfile profile, boolean addRepositories) {
-		ParameterizedSafeRunnable providerExecutor = new ParameterizedSafeRunnable(runAttribute, profile);
-		SafeRunner.run(providerExecutor);
-		MarkSet[] aProfileMarkSets = providerExecutor.getResult();
-		if (aProfileMarkSets == null || aProfileMarkSets.length == 0 || aProfileMarkSets[0] == null)
-			return;
-
-		for (int i = 0; i < aProfileMarkSets.length; i++) {
-			if (aProfileMarkSets[i] == null) {
-				continue;
-			}
-			Collection keys = (Collection) markSet.get(aProfileMarkSets[i].getRepo());
-			if (keys == null) {
-				if (addRepositories) {
-					keys = new HashSet();
-					markSet.put(aProfileMarkSets[i].getRepo(), keys);
-					addKeys(keys, aProfileMarkSets[i].getKeys());
-				}
-			} else {
-				addKeys(keys, aProfileMarkSets[i].getKeys());
-			}
-		}
-	}
-
-	private void addKeys(Collection keyList, IArtifactKey[] keyArray) {
-		for (int i = 0; i < keyArray.length; i++)
-			keyList.add(keyArray[i]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSet.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSet.java
deleted file mode 100644
index 453e0d5..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-/**
- * Wrapper class used to store an IArtifactRepository and its root set of IArtifactKeys.
- */
-public class MarkSet {
-
-	/**
-	 * The root set for repo.  This is the set of keys that currently map to an artifact in repo.
-	 */
-	private IArtifactKey[] keys;
-
-	/**
-	 * The ArtifactRepository for which a root set is being stored.
-	 */
-	private IArtifactRepository repo;
-
-	public MarkSet(IArtifactKey[] inKeys, IArtifactRepository inRepo) {
-		Assert.isNotNull(inKeys);
-		Assert.isNotNull(inRepo);
-		keys = inKeys;
-		repo = inRepo;
-	}
-
-	public IArtifactKey[] getKeys() {
-		return keys;
-	}
-
-	public IArtifactRepository getRepo() {
-		return repo;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSetProvider.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSetProvider.java
deleted file mode 100644
index f69716c..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/MarkSetProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-/** 
- * Any class which declares itself as an extension to the <tt>org.eclipse.equinox.p2.garbagecollector.marksetproviders</tt>
- * extension point must extend this base class.  Given a Profile, implementors are required
- * to provide an array of MarkSet objects, each of which must contain an IArtifactRepository 
- * and the IArtifactKeys used by the given Profile.
- */
-public abstract class MarkSetProvider {
-
-	/**
-	 * Returns a MarkSet for each bundle pool used by a Profile p.  The MarkSet will contain
-	 * all of the IArtifactKeys found in p, as well as the IArtifactRepository over which the
-	 * root set of keys is being created.
-	 * @param profile A profile whose ArtifactRepositories require a garbage collection
-	 * @return An array of MarkSet object(s) containing p's IArtifactRepository and its root set of IArtifactKeys
-	 */
-	public abstract MarkSet[] getMarkSets(IProvisioningAgent agent, IProfile profile);
-
-	/**
-	 * Returns the IArtifactRepository for which this MarkSetProvider provides a MarkSet.
-	 * @param p The Profile whose IArtifactRepository is required
-	 * @return The IArtifactRepository for which this MarkSetProvider provides a MarkSet.
-	 */
-	public abstract IArtifactRepository getRepository(IProvisioningAgent agent, IProfile p);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Messages.java b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Messages.java
deleted file mode 100644
index cd0fea7..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/Messages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.garbagecollector;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.garbagecollector.messages"; //$NON-NLS-1$
-
-	public static String Error_in_extension;
-	public static String Missing_bus;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/messages.properties b/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/messages.properties
deleted file mode 100644
index a2eba87..0000000
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/src/org/eclipse/equinox/internal/p2/garbagecollector/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2008 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
-###############################################################################
-Error_in_extension=An error occurred while calling to an IMarkSetProvider.
-Missing_bus=ProvisioningEventBus service could not be obtained, CoreGarbageCollector will not function properly.
diff --git a/bundles/org.eclipse.equinox.p2.installer/.classpath b/bundles/org.eclipse.equinox.p2.installer/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.installer/.project b/bundles/org.eclipse.equinox.p2.installer/.project
deleted file mode 100644
index 8fc72c3..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.installer</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 99a0b3d..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,341 +0,0 @@
-#Thu Oct 11 16:46:31 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a14e009..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Thu Oct 11 16:54:11 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
deleted file mode 100644
index 75cf0ac..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.installer;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.200.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.installer.InstallerActivator
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.osgi,
- org.eclipse.equinox.app,
- org.eclipse.equinox.common,
- org.eclipse.equinox.p2.director,
- org.eclipse.equinox.p2.metadata.repository,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.artifact.repository,
- org.eclipse.swt,
- org.eclipse.core.net;bundle-version="1.1.0",
- org.eclipse.equinox.p2.repository;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.installer;x-internal:=true,
- org.eclipse.equinox.internal.p2.installer.ui;x-internal:=true,
- org.eclipse.equinox.internal.provisional.p2.installer;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/README.txt b/bundles/org.eclipse.equinox.p2.installer/README.txt
deleted file mode 100644
index bafccac..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
- This is a simple install application that demonstrates use of p2.  See the class
- comment on the InstallDescription class for details.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/about.html b/bundles/org.eclipse.equinox.p2.installer/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/build.properties b/bundles/org.eclipse.equinox.p2.installer/build.properties
deleted file mode 100644
index 973e370..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               product_lg.gif,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.installer/installer.product b/bundles/org.eclipse.equinox.p2.installer/installer.product
deleted file mode 100644
index 20e7a43..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/installer.product
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Equinox p2 Installer" id="org.eclipse.equinox.p2.installer.product" application="org.eclipse.equinox.p2.installer.application" useFeatures="false" includeLaunchers="true">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         P2 Installer
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-      <linux>/org.eclipse.equinox.p2.installer/config.ini</linux>
-      <solaris>/org.eclipse.equinox.p2.installer/config.ini</solaris>
-      <win32>/org.eclipse.equinox.p2.installer/config.ini</win32>
-   </configIni>
-
-   <launcherArgs>
-      <vmArgs>-Xmx512m</vmArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <splash
-      location="org.eclipse.equinox.p2.installer" />
-   <launcher name="p2installer">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.net"/>
-      <plugin id="org.eclipse.core.net.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.core.net.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.core.net.win32.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.launcher"/>
-      <plugin id="org.eclipse.equinox.launcher.carbon.macosx" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.s390" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.s390x" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.solaris.sparc" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.solaris.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.motif.aix.ppc" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.motif.hpux.ia64_32" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.motif.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.motif.solaris.sparc" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.wpf.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.installer"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.repository"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
-      <plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
-      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.motif.aix.ppc" fragment="true"/>
-      <plugin id="org.eclipse.swt.motif.hpux.ia64_32" fragment="true"/>
-      <plugin id="org.eclipse.swt.motif.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.motif.solaris.sparc" fragment="true"/>
-      <plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.swt.wpf.win32.x86" fragment="true"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.eclipse.equinox.app" autoStart="true" startLevel="4" />
-      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox" autoStart="true" startLevel="3" />
-      <plugin id="org.eclipse.equinox.registry" autoStart="true" startLevel="3" />
-      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator" autoStart="true" startLevel="3" />
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.installer/installer.properties b/bundles/org.eclipse.equinox.p2.installer/installer.properties
deleted file mode 100644
index a917f01..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/installer.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.p2.metadata=http://download.eclipse.org/eclipse/updates/3.5
-eclipse.p2.artifacts=http://download.eclipse.org/eclipse/updates/3.5
-eclipse.p2.flavor=tooling
-eclipse.p2.profileName=Eclipse SDK
-eclipse.p2.launcherName=eclipse
-eclipse.p2.rootId=org.eclipse.sdk.ide
-eclipse.p2.autoStart=true
diff --git a/bundles/org.eclipse.equinox.p2.installer/plugin.properties b/bundles/org.eclipse.equinox.p2.installer/plugin.properties
deleted file mode 100644
index d8931e0..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Installer
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.installer/plugin.xml b/bundles/org.eclipse.equinox.p2.installer/plugin.xml
deleted file mode 100644
index 39ef657..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.internal.p2.installer.InstallApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.installer.application"
-            name="Equinox p2 Installer">
-         <property
-               name="appName"
-               value="Equinox p2 Installer">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-         <property
-               name="aboutText"
-               value="P2 Installer">
-         </property>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.installer/product_lg.gif b/bundles/org.eclipse.equinox.p2.installer/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
deleted file mode 100644
index d34d10c..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/HeadlessInstallAdvisor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.installer.*;
-
-/**
- * A headless install advisor that prints everything to a log.
- */
-public class HeadlessInstallAdvisor extends InstallAdvisor {
-	class HeadlessProgressMonitor implements IProgressMonitor {
-		private boolean canceled;
-
-		public void beginTask(String name, int totalWork) {
-			setResult(new Status(IStatus.INFO, InstallerActivator.PI_INSTALLER, name));
-		}
-
-		public void done() {
-			//nothing to do
-		}
-
-		public void internalWorked(double work) {
-			//nothing to do
-		}
-
-		public boolean isCanceled() {
-			return canceled;
-		}
-
-		public void setCanceled(boolean value) {
-			canceled = value;
-		}
-
-		public void setTaskName(String name) {
-			setResult(new Status(IStatus.INFO, InstallerActivator.PI_INSTALLER, name));
-		}
-
-		public void subTask(String name) {
-			//nothing to do
-		}
-
-		public void worked(int work) {
-			//nothing to do
-		}
-	}
-
-	public IStatus performInstall(IInstallOperation operation) {
-		return operation.install(new HeadlessProgressMonitor());
-	}
-
-	public InstallDescription prepareInstallDescription(InstallDescription description) {
-		// The headless advisor has no further input on the install location.
-		return description;
-	}
-
-	public boolean promptForLaunch(InstallDescription description) {
-		return false;
-	}
-
-	public void setResult(IStatus status) {
-		LogHelper.log(status);
-	}
-
-	public void start() {
-		//nothing to do
-	}
-
-	public void stop() {
-		//nothing to do
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
deleted file mode 100644
index f928dca..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallApplication.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.installer.ui.SWTInstallAdvisor;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallAdvisor;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.osgi.framework.*;
-
-/**
- * This is a simple installer application built using P2.  The application must be given
- * an "install description" as a command line argument or system property 
- * ({@link #SYS_PROP_INSTALL_DESCRIPTION}).  The application reads this
- * install description, and looks for an existing profile in the local install registry that
- * matches it.  If no profile is found, it creates a new profile, and installs the root
- * IU in the install description into the profile. It may then launch the installed application,
- * depending on the specification in the install description.  If an existing profile is found,
- * the application instead performs an update on the existing profile with the new root
- * IU in the install description. Thus, an installed application can be updated by dropping
- * in a new install description file, and re-running this installer application.
- */
-public class InstallApplication implements IApplication {
-	/**
-	 * A property whose value is the URL of an install description. An install description is a file
-	 * that contains all the information required to complete the install.
-	 */
-	private static final String SYS_PROP_INSTALL_DESCRIPTION = "org.eclipse.equinox.p2.installDescription"; //$NON-NLS-1$
-
-	/**
-	 * The install advisor. This field is non null while the install application is running.
-	 */
-	private InstallAdvisor advisor;
-
-	/**
-	 * Throws an exception of severity error with the given error message.
-	 */
-	private static CoreException fail(String message, Throwable throwable) {
-		return new CoreException(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, message, throwable));
-	}
-
-	/**
-	 * Copied from ServiceHelper because we need to obtain services
-	 * before p2 has been started.
-	 */
-	public static Object getService(BundleContext context, String name) {
-		if (context == null)
-			return null;
-		ServiceReference reference = context.getServiceReference(name);
-		if (reference == null)
-			return null;
-		Object result = context.getService(reference);
-		context.ungetService(reference);
-		return result;
-	}
-
-	/**
-	 * Loads the install description, filling in any missing data if needed.
-	 */
-	private InstallDescription computeInstallDescription() throws CoreException {
-		InstallDescription description = fetchInstallDescription(SubMonitor.convert(null));
-		return advisor.prepareInstallDescription(description);
-	}
-
-	private InstallAdvisor createInstallContext() {
-		//TODO create an appropriate advisor depending on whether headless or GUI install is desired.
-		InstallAdvisor result = new SWTInstallAdvisor();
-		result.start();
-		return result;
-	}
-
-	/**
-	 * Fetch and return the install description to be installed.
-	 */
-	private InstallDescription fetchInstallDescription(SubMonitor monitor) throws CoreException {
-		String site = System.getProperty(SYS_PROP_INSTALL_DESCRIPTION);
-		try {
-			return InstallDescriptionParser.createDescription(site, monitor);
-		} catch (Exception e) {
-			throw fail(Messages.App_InvalidSite + site, e);
-		}
-	}
-
-	private IStatus getStatus(final Exception failure) {
-		Throwable cause = failure;
-		//unwrap target exception if applicable
-		if (failure instanceof InvocationTargetException) {
-			cause = ((InvocationTargetException) failure).getTargetException();
-			if (cause == null)
-				cause = failure;
-		}
-		if (cause instanceof CoreException)
-			return ((CoreException) cause).getStatus();
-		return new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, Messages.App_Error, cause);
-	}
-
-	private void launchProduct(InstallDescription description) throws CoreException {
-		IPath installLocation = description.getInstallLocation();
-		IPath toRun = installLocation.append(description.getLauncherName());
-		try {
-			Runtime.getRuntime().exec(toRun.toString(), null, installLocation.toFile());
-		} catch (IOException e) {
-			throw fail(Messages.App_LaunchFailed + toRun, e);
-		}
-		//wait a few seconds to give the user a chance to read the message
-		try {
-			Thread.sleep(3000);
-		} catch (InterruptedException e) {
-			//ignore
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext appContext) {
-		try {
-			appContext.applicationRunning();
-			initializeProxySupport();
-			advisor = createInstallContext();
-			//fetch description of what to install
-			InstallDescription description = null;
-			try {
-				description = computeInstallDescription();
-				startRequiredBundles(description);
-				//perform long running install operation
-				InstallUpdateProductOperation operation = new InstallUpdateProductOperation(InstallerActivator.getDefault().getContext(), description);
-				IStatus result = advisor.performInstall(operation);
-				if (!result.isOK()) {
-					LogHelper.log(result);
-					advisor.setResult(result);
-					return IApplication.EXIT_OK;
-				}
-				//just exit after a successful update
-				if (!operation.isFirstInstall())
-					return IApplication.EXIT_OK;
-				if (canAutoStart(description))
-					launchProduct(description);
-				else {
-					//notify user that the product was installed
-					//TODO present the user an option to immediately start the product
-					advisor.setResult(result);
-				}
-			} catch (OperationCanceledException e) {
-				advisor.setResult(Status.CANCEL_STATUS);
-			} catch (Exception e) {
-				IStatus error = getStatus(e);
-				advisor.setResult(error);
-				LogHelper.log(error);
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			if (advisor != null)
-				advisor.stop();
-		}
-	}
-
-	private void initializeProxySupport() {
-		IProxyService proxies = (IProxyService) getService(InstallerActivator.getDefault().getContext(), IProxyService.class.getName());
-		if (proxies == null)
-			return;
-		proxies.setProxiesEnabled(true);
-		proxies.setSystemProxiesEnabled(true);
-	}
-
-	/**
-	 * Returns whether the configuration described by the given install
-	 * description can be started automatically.
-	 */
-	private boolean canAutoStart(InstallDescription description) {
-		if (!description.isAutoStart())
-			return false;
-		//can't start if we don't know launcher name and path
-		if (description.getLauncherName() == null || description.getInstallLocation() == null)
-			return false;
-		return advisor.promptForLaunch(description);
-	}
-
-	/**
-	 * Starts the p2 bundles needed to continue with the install.
-	 */
-	private void startRequiredBundles(InstallDescription description) throws CoreException {
-		IPath installLocation = description.getInstallLocation();
-		if (installLocation == null)
-			throw fail(Messages.App_NoInstallLocation, null);
-		//set agent location if specified
-		IPath agentLocation = description.getAgentLocation();
-		if (agentLocation != null) {
-			String agentArea = System.getProperty("eclipse.p2.data.area"); //$NON-NLS-1$
-			// TODO a bit of a hack here.  If the value is already set and it is set to @config/p2 then 
-			// it may well be the default value put in by PDE.  Overwrite it.
-			// Its kind of unclear why we would NOT overwrite.  At this point the user set their choice
-			// of shared or standalone and those dicate where the agent should put its info...
-			if (agentArea == null || agentArea.length() == 0 || agentArea.startsWith("@config")) //$NON-NLS-1$
-				System.setProperty("eclipse.p2.data.area", agentLocation.toOSString()); //$NON-NLS-1$ 
-		}
-		//start up p2
-		try {
-			if (agentLocation != null) {
-				// reset the agent location
-				InstallerActivator.getDefault().getBundle("org.eclipse.equinox.p2.core").stop(Bundle.STOP_TRANSIENT); //$NON-NLS-1$
-				InstallerActivator.getDefault().getBundle("org.eclipse.equinox.p2.core").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-			}
-			InstallerActivator.getDefault().getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-		} catch (BundleException e) {
-			throw fail(Messages.App_FailedStart, e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		//note this method can be called from another thread
-		InstallAdvisor tempContext = advisor;
-		if (tempContext != null) {
-			tempContext.stop();
-			advisor = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
deleted file mode 100644
index ff8f828..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallDescriptionParser.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionedId;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-
-/**
- * This class is responsible for loading install descriptions from a stream.
- */
-public class InstallDescriptionParser {
-	private static final String PROP_AGENT_LOCATION = "eclipse.p2.agentLocation"; //$NON-NLS-1$
-	private static final String PROP_ARTIFACT_REPOSITORY = "eclipse.p2.artifacts";//$NON-NLS-1$
-	private static final String PROP_BUNDLE_LOCATION = "eclipse.p2.bundleLocation";//$NON-NLS-1$
-	private static final String PROP_INSTALL_LOCATION = "eclipse.p2.installLocation";//$NON-NLS-1$
-	private static final String PROP_IS_AUTO_START = "eclipse.p2.autoStart";//$NON-NLS-1$
-	private static final String PROP_LAUNCHER_NAME = "eclipse.p2.launcherName";//$NON-NLS-1$
-	private static final String PROP_METADATA_REPOSITORY = "eclipse.p2.metadata";//$NON-NLS-1$
-	private static final String PROP_PROFILE_NAME = "eclipse.p2.profileName";//$NON-NLS-1$
-	private static final String PROP_ROOT_ID = "eclipse.p2.rootId";//$NON-NLS-1$
-	private static final String PROP_ROOT_VERSION = "eclipse.p2.rootVersion";//$NON-NLS-1$
-	private static final String PROP_ROOTS = "eclipse.p2.roots";//$NON-NLS-1$
-
-	/**
-	 * Loads and returns an install description that is stored in a properties file.
-	 * @param site The URL of the install properties file.
-	 */
-	public static InstallDescription createDescription(String site, SubMonitor monitor) throws Exception {
-		// if no description URL was given from the outside, look for an "install.properties" file 
-		// in relative to where the installer is running.  This allows the installer to be self-contained
-		if (site == null)
-			site = "installer.properties"; //$NON-NLS-1$
-
-		URI propsURI = URIUtil.fromString(site);
-		InputStream in = null;
-		if (!propsURI.isAbsolute()) {
-			String installerInstallArea = System.getProperty("osgi.install.area");
-			if (installerInstallArea == null)
-				throw new IllegalStateException("Install area is not specified.");
-
-			propsURI = URIUtil.append(URIUtil.fromString(installerInstallArea), site);
-			File installerDescription = URIUtil.toFile(propsURI);
-			if (!installerDescription.exists()) {
-				throw new IllegalStateException("Can't find install description file: " + installerDescription);
-			}
-		}
-		in = propsURI.toURL().openStream();
-
-		Properties properties = new Properties();
-		try {
-			if (in != null)
-				properties.load(in);
-		} finally {
-			safeClose(in);
-		}
-
-		URI base = getBase(propsURI);
-		InstallDescription result = new InstallDescription();
-		result = initialize(result, properties, base);
-		initializeProfileProperties(result, properties);
-
-		// now override the properties from anything interesting in system properties
-		result = initialize(result, System.getProperties(), base);
-		return result;
-	}
-
-	private static URI getBase(URI uri) {
-		if (uri == null)
-			return null;
-
-		String uriString = uri.toString();
-		int slashIndex = uriString.lastIndexOf('/');
-		if (slashIndex == -1 || slashIndex == (uriString.length() - 1))
-			return uri;
-
-		return URI.create(uriString.substring(0, slashIndex + 1));
-	}
-
-	private static InstallDescription initialize(InstallDescription description, Properties properties, URI base) {
-		String property = properties.getProperty(PROP_ARTIFACT_REPOSITORY);
-		if (property != null)
-			description.setArtifactRepositories(getURIs(property, base));
-
-		property = properties.getProperty(PROP_METADATA_REPOSITORY);
-		if (property != null)
-			description.setMetadataRepositories(getURIs(property, base));
-
-		property = properties.getProperty(PROP_IS_AUTO_START);
-		if (property != null)
-			description.setAutoStart(Boolean.TRUE.toString().equalsIgnoreCase(property));
-
-		property = properties.getProperty(PROP_LAUNCHER_NAME);
-		if (property != null)
-			description.setLauncherName(property);
-
-		property = properties.getProperty(PROP_INSTALL_LOCATION);
-		if (property != null)
-			description.setInstallLocation(new Path(property));
-
-		property = properties.getProperty(PROP_AGENT_LOCATION);
-		if (property != null)
-			description.setAgentLocation(new Path(property));
-
-		property = properties.getProperty(PROP_BUNDLE_LOCATION);
-		if (property != null)
-			description.setBundleLocation(new Path(property));
-
-		property = properties.getProperty(PROP_PROFILE_NAME);
-		if (property != null)
-			description.setProductName(property);
-
-		// Process the retro root id and rootVersion properties
-		String id = properties.getProperty(PROP_ROOT_ID);
-		if (id != null) {
-			String version = properties.getProperty(PROP_ROOT_VERSION);
-			try {
-				description.setRoots(new IVersionedId[] {new VersionedId(id, version)});
-			} catch (IllegalArgumentException e) {
-				LogHelper.log(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, "Invalid version in install description: " + version, e)); //$NON-NLS-1$
-			}
-		}
-
-		String rootSpec = properties.getProperty(PROP_ROOTS);
-		if (rootSpec != null) {
-			String[] rootList = getArrayFromString(rootSpec, ","); //$NON-NLS-1$
-			ArrayList roots = new ArrayList(rootList.length);
-			for (int i = 0; i < rootList.length; i++) {
-				try {
-					roots.add(VersionedId.parse(rootList[i]));
-				} catch (IllegalArgumentException e) {
-					LogHelper.log(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, "Invalid version in install description: " + rootList[i], e)); //$NON-NLS-1$
-				}
-			}
-			if (!roots.isEmpty())
-				description.setRoots((IVersionedId[]) roots.toArray(new IVersionedId[roots.size()]));
-		}
-		return description;
-	}
-
-	/**
-	 * Add all of the given properties to profile properties of the given description 
-	 * after removing the keys known to be for the installer.  This allows install descriptions 
-	 * to also set random profile properties.
-	 * @param description
-	 * @param properties
-	 */
-	private static void initializeProfileProperties(InstallDescription description, Properties properties) {
-		//any remaining properties are profile properties
-		Map profileProperties = new HashMap(properties);
-		profileProperties.remove(PROP_PROFILE_NAME);
-		profileProperties.remove(PROP_ARTIFACT_REPOSITORY);
-		profileProperties.remove(PROP_METADATA_REPOSITORY);
-		profileProperties.remove(PROP_IS_AUTO_START);
-		profileProperties.remove(PROP_LAUNCHER_NAME);
-		profileProperties.remove(PROP_AGENT_LOCATION);
-		profileProperties.remove(PROP_BUNDLE_LOCATION);
-		profileProperties.remove(PROP_ROOT_ID);
-		profileProperties.remove(PROP_ROOT_VERSION);
-		profileProperties.remove(PROP_ROOTS);
-		description.setProfileProperties(profileProperties);
-	}
-
-	/**
-	 * Returns an array of URIs from the given comma-separated list
-	 * of URLs. Returns null if the given spec does not contain any URLs.
-	 * @param base 
-	 * @return An array of URIs in the given spec, or <code>null</code>
-	 */
-	private static URI[] getURIs(String spec, URI base) {
-		String[] urlSpecs = getArrayFromString(spec, ","); //$NON-NLS-1$
-		ArrayList result = new ArrayList(urlSpecs.length);
-		for (int i = 0; i < urlSpecs.length; i++) {
-			try {
-				URI uri = URIUtil.fromString(urlSpecs[i]);
-				uri = URIUtil.makeAbsolute(uri, base);
-				result.add(uri);
-			} catch (URISyntaxException e) {
-				LogHelper.log(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, "Invalid URL in install description: " + urlSpecs[i], e)); //$NON-NLS-1$
-			}
-		}
-		if (result.isEmpty())
-			return null;
-		return (URI[]) result.toArray(new URI[result.size()]);
-	}
-
-	private static void safeClose(InputStream in) {
-		try {
-			if (in != null)
-				in.close();
-		} catch (IOException e) {
-			//ignore secondary failure during close
-		}
-	}
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				result.add(token);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
deleted file mode 100644
index b942d44..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallUpdateProductOperation.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * This operation performs installation or update of an Eclipse-based product.
- */
-public class InstallUpdateProductOperation implements IInstallOperation {
-
-	private IArtifactRepositoryManager artifactRepoMan;
-	private BundleContext bundleContext;
-	private IDirector director;
-	private final InstallDescription installDescription;
-	private boolean isInstall = true;
-	private IMetadataRepositoryManager metadataRepoMan;
-	private IProfileRegistry profileRegistry;
-	private IStatus result;
-
-	private ArrayList serviceReferences = new ArrayList();
-
-	public InstallUpdateProductOperation(BundleContext context, InstallDescription description) {
-		this.bundleContext = context;
-		this.installDescription = description;
-	}
-
-	/**
-	 * Determine what top level installable units should be installed by the director
-	 */
-	private IInstallableUnit[] computeUnitsToInstall() throws CoreException {
-		ArrayList result = new ArrayList();
-		IVersionedId roots[] = installDescription.getRoots();
-		for (int i = 0; i < roots.length; i++) {
-			IVersionedId root = roots[i];
-			IInstallableUnit iu = findUnit(root);
-			if (iu != null)
-				result.add(iu);
-		}
-		return (IInstallableUnit[]) result.toArray(new IInstallableUnit[result.size()]);
-	}
-
-	/**
-	 * This profile is being updated; return the units to uninstall from the profile.
-	 */
-	private IInstallableUnit[] computeUnitsToUninstall(IProfile p) {
-		return (IInstallableUnit[]) p.query(InstallableUnitQuery.ANY, null).toArray(IInstallableUnit.class);
-	}
-
-	/**
-	 * Create and return the profile into which units will be installed.
-	 */
-	private IProfile createProfile() throws ProvisionException {
-		IProfile profile = getProfile();
-		if (profile == null) {
-			Map properties = new HashMap();
-			properties.put(IProfile.PROP_INSTALL_FOLDER, installDescription.getInstallLocation().toString());
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(InstallerActivator.getDefault().getContext(), EnvironmentInfo.class.getName());
-			String env = "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			properties.put(IProfile.PROP_ENVIRONMENTS, env);
-			properties.put(IProfile.PROP_NAME, installDescription.getProductName());
-			properties.putAll(installDescription.getProfileProperties());
-			IPath location = installDescription.getBundleLocation();
-			if (location != null)
-				properties.put(IProfile.PROP_CACHE, location.toOSString());
-			profile = profileRegistry.addProfile(getProfileId(), properties);
-		}
-		return profile;
-	}
-
-	/**
-	 * Performs the actual product install or update.
-	 */
-	private void doInstall(SubMonitor monitor) throws CoreException {
-		prepareMetadataRepositories();
-		prepareArtifactRepositories();
-		IProfile p = createProfile();
-		IInstallableUnit[] toInstall = computeUnitsToInstall();
-		monitor.worked(5);
-
-		IStatus s;
-		ProfileChangeRequest request = new ProfileChangeRequest(p);
-		if (isInstall) {
-			monitor.setTaskName(NLS.bind(Messages.Op_Installing, installDescription.getProductName()));
-			request.addInstallableUnits(toInstall);
-			s = director.provision(request, null, monitor.newChild(90));
-		} else {
-			monitor.setTaskName(NLS.bind(Messages.Op_Updating, installDescription.getProductName()));
-			IInstallableUnit[] toUninstall = computeUnitsToUninstall(p);
-			request.removeInstallableUnits(toUninstall);
-			request.addInstallableUnits(toInstall);
-			s = director.provision(request, null, monitor.newChild(90));
-		}
-		if (!s.isOK())
-			throw new CoreException(s);
-	}
-
-	/**
-	 * Returns an exception of severity error with the given error message.
-	 */
-	private CoreException fail(String message) {
-		return fail(message, null);
-	}
-
-	/**
-	 * Returns an exception of severity error with the given error message.
-	 */
-	private CoreException fail(String message, Throwable throwable) {
-		return new CoreException(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, message, throwable));
-	}
-
-	/**
-	 * Finds and returns the installable unit with the given id, and optionally the
-	 * given version.
-	 */
-	private IInstallableUnit findUnit(IVersionedId spec) throws CoreException {
-		String id = spec.getId();
-		if (id == null)
-			throw fail(Messages.Op_NoId);
-		Version version = spec.getVersion();
-		VersionRange range = VersionRange.emptyRange;
-		if (version != null && !version.equals(Version.emptyVersion))
-			range = new VersionRange(version, true, version, true);
-		IQuery query = new InstallableUnitQuery(id, range);
-		Collector collector = new Collector();
-		Iterator matches = metadataRepoMan.query(query, null).iterator();
-		// pick the newest match
-		IInstallableUnit newest = null;
-		while (matches.hasNext()) {
-			IInstallableUnit candidate = (IInstallableUnit) matches.next();
-			if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
-				newest = candidate;
-		}
-		if (newest == null)
-			throw fail(Messages.Op_IUNotFound + id);
-		return newest;
-	}
-
-	/**
-	 * Returns the profile being installed into.
-	 */
-	private IProfile getProfile() {
-		return profileRegistry.getProfile(getProfileId());
-	}
-
-	/**
-	 * Returns the id of the profile to use for install/update based on this operation's install description.
-	 */
-	private String getProfileId() {
-		IPath location = installDescription.getInstallLocation();
-		if (location != null)
-			return location.toString();
-		return installDescription.getProductName();
-	}
-
-	/**
-	 * Returns the result of the install operation, or <code>null</code> if
-	 * no install operation has been run.
-	 */
-	public IStatus getResult() {
-		return result;
-	}
-
-	private Object getService(String name) throws CoreException {
-		ServiceReference ref = bundleContext.getServiceReference(name);
-		if (ref == null)
-			throw fail(Messages.Op_NoService + name);
-		Object service = bundleContext.getService(ref);
-		if (service == null)
-			throw fail(Messages.Op_NoServiceImpl + name);
-		serviceReferences.add(ref);
-		return service;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation#install(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus install(IProgressMonitor pm) {
-		SubMonitor monitor = SubMonitor.convert(pm, Messages.Op_Preparing, 100);
-		try {
-			try {
-				preInstall();
-				isInstall = getProfile() == null;
-				doInstall(monitor);
-				result = new Status(IStatus.OK, InstallerActivator.PI_INSTALLER, isInstall ? Messages.Op_InstallComplete : Messages.Op_UpdateComplete, null);
-				monitor.setTaskName(Messages.Op_Cleanup);
-			} finally {
-				postInstall();
-			}
-		} catch (CoreException e) {
-			result = e.getStatus();
-		} finally {
-			monitor.done();
-		}
-		return result;
-	}
-
-	/**
-	 * Returns whether this operation represents the product being installed
-	 * for the first time, in a new profile.
-	 */
-	public boolean isFirstInstall() {
-		return isInstall;
-	}
-
-	private void postInstall() {
-		for (Iterator it = serviceReferences.iterator(); it.hasNext();) {
-			ServiceReference sr = (ServiceReference) it.next();
-			bundleContext.ungetService(sr);
-		}
-		serviceReferences.clear();
-	}
-
-	private void preInstall() throws CoreException {
-		//obtain required services
-		serviceReferences.clear();
-		director = (IDirector) getService(IDirector.SERVICE_NAME);
-		metadataRepoMan = (IMetadataRepositoryManager) getService(IMetadataRepositoryManager.SERVICE_NAME);
-		artifactRepoMan = (IArtifactRepositoryManager) getService(IArtifactRepositoryManager.SERVICE_NAME);
-		profileRegistry = (IProfileRegistry) getService(IProfileRegistry.SERVICE_NAME);
-	}
-
-	private void prepareArtifactRepositories() throws ProvisionException {
-		URI[] repos = installDescription.getArtifactRepositories();
-		if (repos == null)
-			return;
-
-		// Repositories must be registered before they are loaded
-		// This is to avoid them being possibly overridden with the configuration as a referenced repository
-		for (int i = 0; i < repos.length; i++) {
-			artifactRepoMan.addRepository(repos[i]);
-			artifactRepoMan.loadRepository(repos[i], null);
-		}
-	}
-
-	private void prepareMetadataRepositories() throws ProvisionException {
-		URI[] repos = installDescription.getMetadataRepositories();
-		if (repos == null)
-			return;
-
-		// Repositories must be registered before they are loaded
-		// This is to avoid them being possibly overridden with the configuration as a referenced repository
-		for (int i = 0; i < repos.length; i++) {
-			metadataRepoMan.addRepository(repos[i]);
-			metadataRepoMan.loadRepository(repos[i], null);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
deleted file mode 100644
index 57a66c2..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/InstallerActivator.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class InstallerActivator implements BundleActivator {
-	// The plug-in ID
-	public static final String PI_INSTALLER = "org.eclipse.equinox.p2.installer"; //$NON-NLS-1$
-	// The shared instance
-	private static InstallerActivator plugin;
-
-	private BundleContext context;
-
-	private PackageAdmin packageAdmin = null;
-
-	private ServiceReference packageAdminRef = null;
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static InstallerActivator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * The constructor
-	 */
-	public InstallerActivator() {
-		//nothing to do
-	}
-
-	public Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the bundle context for this bundle.
-	 * @return the bundle context
-	 */
-	public BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext aContext) throws Exception {
-		this.context = aContext;
-		plugin = this;
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext aContext) throws Exception {
-		context.ungetService(packageAdminRef);
-		packageAdmin = null;
-		packageAdminRef = null;
-		plugin = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
deleted file mode 100644
index f0599e1..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/Messages.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.installer.messages"; //$NON-NLS-1$
-	public static String Advisor_Canceled;
-	public static String Advisor_Preparing;
-	public static String App_Error;
-	public static String App_FailedStart;
-	public static String App_InvalidSite;
-	public static String App_LaunchFailed;
-	public static String App_NoInstallLocation;
-	public static String Dialog_BrowseButton;
-	public static String Dialog_CancelButton;
-	public static String Dialog_CloseButton;
-	public static String Dialog_ExplainShared;
-	public static String Dialog_ExplainStandalone;
-	public static String Dialog_InstallButton;
-	public static String Dialog_InstalllingProgress;
-	public static String Dialog_InternalError;
-	public static String Dialog_LaunchButton;
-	public static String Dialog_LayoutGroup;
-	public static String Dialog_LocationField;
-	public static String Dialog_LocationLabel;
-	public static String Dialog_LocationPrompt;
-	public static String Dialog_ManualProxyCheckBox;
-	public static String Dialog_PromptStart;
-	public static String Dialog_ProxiesGroup;
-	public static String Dialog_SelectLocation;
-	public static String Dialog_SettingsButton;
-	public static String Dialog_SharedButton;
-	public static String Dialog_ShellTitle;
-	public static String Dialog_StandaloneButton;
-	public static String Op_Cleanup;
-	public static String Op_InstallComplete;
-	public static String Op_Installing;
-	public static String Op_IUNotFound;
-	public static String Op_NoId;
-	public static String Op_NoService;
-	public static String Op_NoServiceImpl;
-	public static String Op_Preparing;
-	public static String Op_UpdateComplete;
-	public static String Op_Updating;
-	public static String ProxiesDialog_DialogTitle;
-	public static String ProxiesDialog_EmptyHostMessage;
-	public static String ProxiesDialog_EmptyPasswordMessage;
-	public static String ProxiesDialog_EmptyProtMessage;
-	public static String ProxiesDialog_EmptyUserMessage;
-	public static String ProxiesDialog_FailedToReadProxySettingsMessage;
-	public static String ProxiesDialog_FailedToSetProxyMessage;
-	public static String ProxiesDialog_HostLabel;
-	public static String ProxiesDialog_InvalitHostMessage;
-	public static String ProxiesDialog_NegativValue;
-	public static String ProxiesDialog_OkLabel;
-	public static String ProxiesDialog_PasswordLabel;
-	public static String ProxiesDialog_PortLabel;
-	public static String ProxiesDialog_ServiceNotAvailableMessage;
-	public static String ProxiesDialog_ShemaLabel;
-	public static String ProxiesDialog_StatusPrefix;
-	public static String ProxiesDialog_UnknownProxyTypeMessage;
-	public static String ProxiesDialog_UserLabel;
-	public static String ProxiesDialog_WrongFormat;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		//nothing to do
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
deleted file mode 100644
index 9df9519..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/messages.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 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
-###############################################################################
-Advisor_Canceled=Install canceled
-Advisor_Preparing=Preparing to install
-App_Error=An error occurred during installation
-App_FailedStart=Unable to start provisioning infrastructure
-App_InvalidSite=Invalid install site: 
-App_LaunchFailed=Failed to launch the product: 
-App_NoInstallLocation=Install failed because the install location was not set
-Dialog_BrowseButton=&Browse...
-Dialog_CancelButton=&Cancel
-Dialog_CloseButton=&Close
-Dialog_ExplainShared=In a shared install, common components are stored together, allowing them to be shared across multiple products.
-Dialog_ExplainStandalone=In a stand-alone install, each product is installed in its own directory without any sharing between products
-Dialog_InstallButton=&Install
-Dialog_InstalllingProgress=Installing...
-Dialog_InternalError=An internal error has occurred
-Dialog_LaunchButton=&Launch
-Dialog_LayoutGroup=Layout
-Dialog_LocationField=Location
-Dialog_LocationLabel=Select the product install directory:
-Dialog_LocationPrompt=Select where you want {0} to be installed
-Dialog_ManualProxyCheckBox=Use manual proxy settings
-Dialog_PromptStart=Install complete. Do you want to start {0} immediately?
-Dialog_ProxiesGroup=Proxy Settings
-Dialog_SelectLocation=Select the install location
-Dialog_SettingsButton=Settings...
-Dialog_SharedButton=&Shared install
-Dialog_ShellTitle=Installer
-Dialog_StandaloneButton=Stand-&alone install
-Op_Cleanup=Some final housekeeping
-Op_InstallComplete=Install complete
-Op_Installing=Installing {0}
-Op_IUNotFound=Installable unit not found: 
-Op_NoId=Installable unit id not specified
-Op_NoService=Install requires a service that is not available: 
-Op_NoServiceImpl=Install requires a service implementation that is not available: 
-Op_Preparing=Preparing to install
-Op_UpdateComplete=Update complete
-Op_Updating=Updating {0}
-ProxiesDialog_DialogTitle=Proxy Settings Dialog
-ProxiesDialog_EmptyHostMessage=Empty host
-ProxiesDialog_EmptyPasswordMessage=Empty password
-ProxiesDialog_EmptyProtMessage=Empty port
-ProxiesDialog_EmptyUserMessage=Empty user
-ProxiesDialog_FailedToReadProxySettingsMessage=Failed to read proxy settings
-ProxiesDialog_FailedToSetProxyMessage=Failed to set proxy settings.
-ProxiesDialog_HostLabel=Host:
-ProxiesDialog_InvalitHostMessage=Invalid host
-ProxiesDialog_NegativValue=Proxy value can not be negativ
-ProxiesDialog_OkLabel=OK
-ProxiesDialog_PasswordLabel=Password:
-ProxiesDialog_PortLabel=Port:
-ProxiesDialog_ServiceNotAvailableMessage=Failed to set proxy settings. Service not available
-ProxiesDialog_ShemaLabel=Schema:
-ProxiesDialog_StatusPrefix=Status: 
-ProxiesDialog_UnknownProxyTypeMessage=Not applied because proxy type unknown.
-ProxiesDialog_UserLabel=User:
-ProxiesDialog_WrongFormat=Wrong proxy format
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
deleted file mode 100644
index d78406a..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/InstallDialog.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer.ui;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.installer.*;
-import org.eclipse.equinox.internal.provisional.p2.installer.IInstallOperation;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The install wizard that drives the install. This dialog is used for user input
- * prior to the install, progress feedback during the install, and displaying results
- * at the end of the install.
- */
-public class InstallDialog {
-	/**
-	 * A progress monitor implementation that asynchronously updates the progress bar.
-	 */
-	class Monitor implements IProgressMonitor {
-
-		boolean canceled = false, running = false;
-		String subTaskName = ""; //$NON-NLS-1$
-		double totalWork, usedWork;
-
-		public void beginTask(final String name, final int work) {
-			totalWork = work;
-			running = true;
-			update();
-		}
-
-		public void done() {
-			running = false;
-			usedWork = totalWork;
-			update();
-		}
-
-		public void internalWorked(double work) {
-			usedWork = Math.min(usedWork + work, totalWork);
-			update();
-		}
-
-		public boolean isCanceled() {
-			return returnCode == CANCEL;
-		}
-
-		public void setCanceled(boolean value) {
-			returnCode = CANCEL;
-		}
-
-		public void setTaskName(String name) {
-			subTaskName = name == null ? "" : name; //$NON-NLS-1$
-			update();
-		}
-
-		public void subTask(String name) {
-			subTaskName = name == null ? "" : name; //$NON-NLS-1$
-			update();
-		}
-
-		void update() {
-			Display display = getDisplay();
-			if (display == null)
-				return;
-			display.asyncExec(new Runnable() {
-				public void run() {
-					Shell theShell = getShell();
-					if (theShell == null || theShell.isDisposed())
-						return;
-					progressSubTask.setText(shorten(subTaskName));
-					if (progressBar.isDisposed())
-						return;
-					progressBar.setVisible(running);
-					progressBar.setMaximum(1000);
-					progressBar.setMinimum(0);
-					int value = (int) (usedWork / totalWork * 1000);
-					if (progressBar.getSelection() < value)
-						progressBar.setSelection(value);
-				}
-
-				private String shorten(String text) {
-					if (text.length() <= 64)
-						return text;
-					int len = text.length();
-					return text.substring(0, 30) + "..." + text.substring(len - 30, len); //$NON-NLS-1$
-				}
-			});
-		}
-
-		public void worked(int work) {
-			internalWorked(work);
-		}
-	}
-
-	/**
-	 * Encapsulates a result passed from an operation running in a background
-	 * thread to the UI thread.
-	 */
-	static class Result {
-		private boolean done;
-		private IStatus status;
-
-		synchronized void done() {
-			done = true;
-		}
-
-		synchronized void failed(Throwable t) {
-			String msg = Messages.Dialog_InternalError;
-			status = new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, msg, t);
-		}
-
-		synchronized IStatus getStatus() {
-			return status;
-		}
-
-		synchronized boolean isDone() {
-			return done;
-		}
-
-		public void setStatus(IStatus status) {
-			this.status = status;
-		}
-	}
-
-	private static final int BUTTON_WIDTH = 100;
-	private static final int CANCEL = 1;
-	private static final int OK = 0;
-
-	private Button cancelButton;
-	private Composite contents;
-	private Button okButton;
-
-	ProgressBar progressBar;
-	Label progressSubTask;
-	Label progressTask;
-
-	int returnCode = -1;
-
-	private Button settingsBrowse;
-	private Label settingsExplain;
-	private Composite settingsGroup;
-	private Text settingsLocation;
-	private Label settingsLocationLabel;
-	private Button settingsShared;
-	private Button settingsStandalone;
-
-	private Shell shell;
-
-	private boolean waitingForClose = false;
-	private Button proxySettingsButton;
-	private Button manualProxyTypeCheckBox;
-
-	/**
-	 * Creates and opens a progress monitor dialog.
-	 */
-	public InstallDialog() {
-		createShell();
-		progressTask = new Label(contents, SWT.WRAP | SWT.LEFT);
-		progressTask.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		createInstallSettingsControls();
-		createProgressControls();
-		createButtonBar();
-
-		shell.pack();
-		shell.layout();
-		shell.open();
-	}
-
-	protected void browsePressed() {
-		DirectoryDialog dirDialog = new DirectoryDialog(shell);
-		dirDialog.setMessage(Messages.Dialog_SelectLocation);
-		String location = dirDialog.open();
-		if (location == null)
-			location = ""; //$NON-NLS-1$
-		settingsLocation.setText(location);
-		validateInstallSettings();
-	}
-
-	protected void buttonPressed(int code) {
-		returnCode = code;
-		if (waitingForClose)
-			close();
-		//grey out the cancel button to indicate the request was heard
-		if (code == CANCEL && !cancelButton.isDisposed())
-			cancelButton.setEnabled(false);
-	}
-
-	public void close() {
-		if (shell == null)
-			return;
-		if (!shell.isDisposed())
-			shell.dispose();
-		shell = null;
-	}
-
-	private void createButtonBar() {
-		Composite buttonBar = new Composite(contents, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalAlignment = SWT.RIGHT;
-		buttonBar.setLayoutData(data);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonBar.setLayout(layout);
-
-		okButton = new Button(buttonBar, SWT.PUSH);
-		data = new GridData(BUTTON_WIDTH, SWT.DEFAULT);
-		okButton.setLayoutData(data);
-		okButton.setText(Messages.Dialog_InstallButton);
-		okButton.setEnabled(false);
-		okButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				buttonPressed(OK);
-			}
-		});
-
-		cancelButton = new Button(buttonBar, SWT.PUSH);
-		data = new GridData(BUTTON_WIDTH, SWT.DEFAULT);
-		cancelButton.setLayoutData(data);
-		cancelButton.setText(Messages.Dialog_CancelButton);
-		cancelButton.setEnabled(false);
-		cancelButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				buttonPressed(CANCEL);
-			}
-		});
-	}
-
-	/**
-	 * Creates the controls to prompt for the agent and install locations.
-	 */
-	private void createInstallSettingsControls() {
-		settingsGroup = new Composite(contents, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		settingsGroup.setLayout(layout);
-		settingsGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Listener validateListener = new Listener() {
-			public void handleEvent(Event event) {
-				validateInstallSettings();
-			}
-		};
-
-		//The group asking for the product install directory
-		Group installLocationGroup = new Group(settingsGroup, SWT.NONE);
-		installLocationGroup.setLayout(new GridLayout());
-		installLocationGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		installLocationGroup.setText(Messages.Dialog_LocationField);
-		settingsLocationLabel = new Label(installLocationGroup, SWT.NONE);
-		settingsLocationLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		settingsLocationLabel.setText(Messages.Dialog_LocationLabel);
-
-		//The sub-group with text entry field and browse button
-		Composite locationFieldGroup = new Composite(installLocationGroup, SWT.NONE);
-		locationFieldGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		locationFieldGroup.setLayout(layout);
-		settingsLocation = new Text(locationFieldGroup, SWT.SINGLE | SWT.BORDER);
-		settingsLocation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		settingsLocation.addListener(SWT.Modify, validateListener);
-		settingsLocation.addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent event) {
-				if (event.character == SWT.CR || event.character == SWT.KEYPAD_CR)
-					buttonPressed(OK);
-			}
-		});
-		settingsBrowse = new Button(locationFieldGroup, SWT.PUSH);
-		settingsBrowse.setLayoutData(new GridData(BUTTON_WIDTH, SWT.DEFAULT));
-		settingsBrowse.setText(Messages.Dialog_BrowseButton);
-		settingsBrowse.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				browsePressed();
-			}
-		});
-
-		//Create the radio button group asking for the kind of install (shared vs. standalone)
-		Group installKindGroup = new Group(settingsGroup, SWT.NONE);
-		installKindGroup.setText(Messages.Dialog_LayoutGroup);
-		installKindGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		installKindGroup.setLayout(new GridLayout());
-		settingsStandalone = new Button(installKindGroup, SWT.RADIO);
-		settingsStandalone.setText(Messages.Dialog_StandaloneButton);
-		settingsStandalone.addListener(SWT.Selection, validateListener);
-		settingsStandalone.setSelection(true);
-		settingsShared = new Button(installKindGroup, SWT.RADIO);
-		settingsShared.setText(Messages.Dialog_SharedButton);
-		settingsShared.addListener(SWT.Selection, validateListener);
-		settingsExplain = new Label(installKindGroup, SWT.WRAP);
-		GridData data = new GridData(SWT.DEFAULT, 40);
-		data.grabExcessHorizontalSpace = true;
-		data.horizontalAlignment = GridData.FILL;
-		settingsExplain.setLayoutData(data);
-		settingsExplain.setText(Messages.Dialog_ExplainStandalone);
-
-		//The group asking for the product proxy configuration
-		Group proxySettingsGroup = new Group(settingsGroup, SWT.NONE);
-		proxySettingsGroup.setLayout(new GridLayout());
-		proxySettingsGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		proxySettingsGroup.setText(Messages.Dialog_ProxiesGroup);
-
-		//The sub-group with check box, label entry field and settings button
-		Composite proxySettingsFieldGroup = new Composite(proxySettingsGroup, SWT.NONE);
-		proxySettingsFieldGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.makeColumnsEqualWidth = false;
-		proxySettingsFieldGroup.setLayout(layout);
-
-		manualProxyTypeCheckBox = new Button(proxySettingsFieldGroup, SWT.CHECK);
-		manualProxyTypeCheckBox.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		manualProxyTypeCheckBox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IProxyService proxies = (IProxyService) InstallApplication.getService(InstallerActivator.getDefault().getContext(), IProxyService.class.getName());
-				if (proxies != null) {
-					//When the manual check box is selected the system properties should be disabled. 
-					//This cases the net component to switch to manual proxy provider.
-					proxies.setSystemProxiesEnabled(!manualProxyTypeCheckBox.getSelection());
-					if (proxySettingsButton != null) {
-						proxySettingsButton.setEnabled(manualProxyTypeCheckBox.getSelection());
-					}
-				} else {
-					openMessage(Messages.ProxiesDialog_ServiceNotAvailableMessage, SWT.ICON_ERROR | SWT.OK);
-				}
-			}
-		});
-		manualProxyTypeCheckBox.setText(Messages.Dialog_ManualProxyCheckBox);
-		proxySettingsButton = new Button(proxySettingsFieldGroup, SWT.PUSH);
-		proxySettingsButton.setLayoutData(new GridData(BUTTON_WIDTH, SWT.DEFAULT));
-		proxySettingsButton.setText(Messages.Dialog_SettingsButton);
-		proxySettingsButton.setEnabled(manualProxyTypeCheckBox.getSelection());
-		proxySettingsButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				IProxyService proxies = (IProxyService) InstallApplication.getService(InstallerActivator.getDefault().getContext(), IProxyService.class.getName());
-				if (proxies != null) {
-					ProxiesDialog proxiesDialog = new ProxiesDialog(proxies);
-					proxiesDialog.open();
-				} else {
-					openMessage(Messages.ProxiesDialog_ServiceNotAvailableMessage, SWT.ICON_ERROR | SWT.OK);
-				}
-			}
-		});
-
-		//make the entire group invisible until we actually need to prompt for locations
-		settingsGroup.setVisible(false);
-	}
-
-	private void createProgressControls() {
-		progressBar = new ProgressBar(contents, SWT.HORIZONTAL | SWT.SMOOTH);
-		progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		progressBar.setVisible(false);
-		progressSubTask = new Label(contents, SWT.WRAP | SWT.LEFT);
-		progressSubTask.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	}
-
-	private void createShell() {
-		shell = new Shell(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.MIN | SWT.RESIZE);
-		shell.setBounds(300, 200, 600, 400);
-		shell.setText(Messages.Dialog_ShellTitle);
-		shell.setLayout(new FillLayout());
-		contents = new Composite(shell, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 15;
-		layout.marginHeight = 15;
-		contents.setLayout(layout);
-	}
-
-	public Display getDisplay() {
-		Shell theShell = shell;
-		if (theShell == null || theShell.isDisposed())
-			return null;
-		return theShell.getDisplay();
-	}
-
-	public Shell getShell() {
-		return shell;
-	}
-
-	/**
-	 * Asks the user to close the dialog, and returns once the dialog is closed.
-	 */
-	public void promptForClose(String message) {
-		Display display = getDisplay();
-		if (display == null)
-			return;
-		progressTask.setText(message);
-		progressSubTask.setText(""); //$NON-NLS-1$
-		progressBar.setVisible(false);
-		okButton.setVisible(false);
-		cancelButton.setText(Messages.Dialog_CloseButton);
-		cancelButton.setEnabled(true);
-		waitingForClose = true;
-		while (shell != null && !shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-	}
-
-	public boolean promptForLaunch(InstallDescription description) {
-		Display display = getDisplay();
-		if (display == null)
-			return false;
-		progressTask.setText(NLS.bind(Messages.Dialog_PromptStart, description.getProductName()));
-		progressSubTask.setText(""); //$NON-NLS-1$
-		progressBar.setVisible(false);
-		okButton.setText(Messages.Dialog_LaunchButton);
-		okButton.setVisible(true);
-		cancelButton.setText(Messages.Dialog_CloseButton);
-		cancelButton.setVisible(true);
-		waitingForClose = true;
-		while (shell != null && !shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		return returnCode == OK;
-	}
-
-	/**
-	 * Prompts the user for the install location, and whether the install should
-	 * be shared or standalone.
-	 */
-	public void promptForLocations(InstallDescription description) {
-		progressTask.setText(NLS.bind(Messages.Dialog_LocationPrompt, description.getProductName()));
-		okButton.setText(Messages.Dialog_InstallButton);
-		okButton.setVisible(true);
-		cancelButton.setText(Messages.Dialog_CancelButton);
-		cancelButton.setEnabled(true);
-		settingsGroup.setVisible(true);
-		validateInstallSettings();
-		Display display = getDisplay();
-		returnCode = -1;
-		while (returnCode == -1 && shell != null && !shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		if (returnCode == CANCEL)
-			close();
-		if (shell == null || shell.isDisposed())
-			throw new OperationCanceledException();
-		setInstallSettingsEnablement(false);
-		Path location = new Path(settingsLocation.getText());
-		description.setInstallLocation(location);
-		if (settingsStandalone.getSelection()) {
-			//force everything to be co-located regardless of what values were set in the install description
-			description.setAgentLocation(location.append("p2")); //$NON-NLS-1$
-			description.setBundleLocation(location);
-		} else {
-			if (description.getAgentLocation() == null)
-				description.setAgentLocation(new Path(System.getProperty("user.home")).append(".p2/")); //$NON-NLS-1$ //$NON-NLS-2$
-			//use bundle pool location specified in install description
-			//by default this will be null, causing the bundle pool to be nested in the agent location
-		}
-		okButton.setVisible(false);
-	}
-
-	/**
-	 * This method runs the given operation in the context of a progress dialog.
-	 * The dialog is opened automatically prior to starting the operation, and closed
-	 * automatically upon completion.
-	 * <p>
-	 * This method must be called from the UI thread. The operation will be
-	 * executed outside the UI thread.
-	 * 
-	 * @param operation The operation to run
-	 * @return The result of the operation
-	 */
-	public IStatus run(final IInstallOperation operation) {
-		final Result result = new Result();
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					result.setStatus(operation.install(new Monitor()));
-				} catch (ThreadDeath t) {
-					//must rethrow or the thread won't die
-					throw t;
-				} catch (RuntimeException t) {
-					result.failed(t);
-				} catch (Error t) {
-					result.failed(t);
-				} finally {
-					Display display = getDisplay();
-					//ensure all events from the operation have run
-					if (display != null) {
-						display.syncExec(new Runnable() {
-							public void run() {
-								//do nothing
-							}
-						});
-					}
-					result.done();
-					//wake the event loop
-					if (display != null)
-						display.wake();
-				}
-			}
-		};
-		waitingForClose = false;
-		progressTask.setText(Messages.Dialog_InstalllingProgress);
-		cancelButton.setText(Messages.Dialog_CancelButton);
-		thread.start();
-		Display display = getDisplay();
-		while (!result.isDone()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		return result.getStatus();
-	}
-
-	private void setInstallSettingsEnablement(boolean value) {
-		settingsLocation.setEnabled(value);
-		settingsShared.setEnabled(value);
-		settingsStandalone.setEnabled(value);
-		settingsGroup.setEnabled(value);
-		settingsExplain.setEnabled(value);
-		settingsBrowse.setEnabled(value);
-		settingsLocationLabel.setEnabled(value);
-	}
-
-	public void setMessage(String message) {
-		if (progressTask != null && !progressTask.isDisposed())
-			progressTask.setText(message);
-	}
-
-	/**
-	 * Validates that the user has correctly entered all required install settings.
-	 */
-	void validateInstallSettings() {
-		boolean enabled = settingsStandalone.getSelection() || settingsShared.getSelection();
-		enabled &= Path.ROOT.isValidPath(settingsLocation.getText());
-		if (enabled) {
-			//make sure the install location is an absolute path
-			IPath location = new Path(settingsLocation.getText());
-			enabled &= location.isAbsolute();
-		}
-		okButton.setEnabled(enabled);
-
-		if (settingsStandalone.getSelection())
-			settingsExplain.setText(Messages.Dialog_ExplainStandalone);
-		else
-			settingsExplain.setText(Messages.Dialog_ExplainShared);
-	}
-
-	private void openMessage(String msg, int style) {
-		MessageBox messageBox = new MessageBox(Display.getDefault().getActiveShell(), style);
-		messageBox.setMessage(msg);
-		messageBox.open();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/ProxiesDialog.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/ProxiesDialog.java
deleted file mode 100644
index 00212bc..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/ProxiesDialog.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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:
- *     EclipseSource
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.installer.ui;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.installer.InstallerActivator;
-import org.eclipse.equinox.internal.p2.installer.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-public final class ProxiesDialog {
-
-	private IProxyData data;
-	private Label typeLabel;
-	private Combo typeCombo;
-	private Label hostLabel;
-	private Text hostText;
-	private Label portLabel;
-	private Text portText;
-
-	private Label userIdLabel;
-	private Text userIdText;
-	private Label passwordLabel;
-	private Text passwordText;
-	private Button okButton;
-	private Button cancelButton;
-	private final IProxyService service;
-	private Shell shell;
-	private List types;
-	private Label statuslabel;
-
-	public ProxiesDialog(IProxyService service) {
-		if (service == null) {
-			throw new IllegalArgumentException();
-		}
-
-		this.service = service;
-		initTypes();
-	}
-
-	public IProxyData getValue() {
-		return data;
-	}
-
-	public void open() {
-		this.data = service.getProxyData(IProxyData.HTTP_PROXY_TYPE);
-		if (data == null) {
-			openMessage(Messages.ProxiesDialog_FailedToReadProxySettingsMessage, SWT.ICON_ERROR | SWT.OK);
-			return;
-		}
-
-		Shell activeShell = Display.getDefault().getActiveShell();
-		shell = new Shell(activeShell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.MIN | SWT.RESIZE);
-		//Computes the bounds
-		Rectangle bounds = null;
-		if (activeShell == null) {
-			bounds = new Rectangle(300, 200, 600, 400);
-		} else {
-			Rectangle parentBounds = activeShell.getBounds();
-			bounds = new Rectangle(parentBounds.x + 100, parentBounds.y + 100, 600, 400);
-		}
-		shell.setBounds(bounds);
-
-		shell.setText(Messages.ProxiesDialog_DialogTitle);
-		shell.setLayout(new GridLayout());
-
-		createDialogArea(shell);
-		createButtonBar(shell);
-
-		shell.pack();
-		shell.open();
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(4, false));
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-
-		typeLabel = new Label(composite, SWT.NONE);
-		typeLabel.setText(Messages.ProxiesDialog_ShemaLabel);
-		typeLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
-		typeCombo = new Combo(composite, SWT.BORDER);
-		typeCombo.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 3, 1));
-		//Currently only these three proxy types are supported.
-		for (int i = 0; i < types.size(); i++) {
-			typeCombo.add((String) types.get(i));
-		}
-
-		typeCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String selection = typeCombo.getText();
-				IProxyData selectedProxy = service.getProxyData(selection);
-				if (selectedProxy == null) {
-					updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_UnknownProxyTypeMessage, null));
-				} else {
-					data = selectedProxy;
-					applyData();
-				}
-			}
-		});
-
-		hostLabel = new Label(composite, SWT.NONE);
-		hostLabel.setText(Messages.ProxiesDialog_HostLabel);
-		hostLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
-		hostText = new Text(composite, SWT.BORDER);
-		GridData gdata = new GridData(SWT.FILL, SWT.TOP, true, false);
-		gdata.widthHint = 250;
-		hostText.setLayoutData(gdata);
-
-		portLabel = new Label(composite, SWT.NONE);
-		portLabel.setText(Messages.ProxiesDialog_PortLabel);
-		portText = new Text(composite, SWT.BORDER);
-		gdata = new GridData();
-		gdata.widthHint = 30;
-		portText.setLayoutData(gdata);
-
-		userIdLabel = new Label(composite, SWT.NONE);
-		userIdLabel.setText(Messages.ProxiesDialog_UserLabel);
-		userIdLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
-		userIdText = new Text(composite, SWT.BORDER);
-		userIdText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1));
-
-		passwordLabel = new Label(composite, SWT.NONE);
-		passwordLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, true, 1, 1));
-		passwordLabel.setText(Messages.ProxiesDialog_PasswordLabel);
-		passwordText = new Text(composite, SWT.BORDER);
-		passwordText.setEchoChar('*');
-		passwordText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true, 3, 1));
-
-		ModifyListener validationListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateStatus();
-			}
-		};
-		typeCombo.addModifyListener(validationListener);
-		hostText.addModifyListener(validationListener);
-		portText.addModifyListener(validationListener);
-		userIdText.addModifyListener(validationListener);
-		passwordText.addModifyListener(validationListener);
-
-		//Initialize the UI with the selected data
-		applyData();
-		hostText.setFocus();
-		updateStatus();
-		return composite;
-	}
-
-	private void createButtonBar(Composite parent) {
-		Composite buttonBar = new Composite(parent, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalAlignment = SWT.RIGHT;
-		buttonBar.setLayoutData(gridData);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.makeColumnsEqualWidth = false;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonBar.setLayout(layout);
-
-		statuslabel = new Label(buttonBar, SWT.NONE);
-		gridData = new GridData(300, SWT.DEFAULT);
-		statuslabel.setLayoutData(gridData);
-
-		okButton = new Button(buttonBar, SWT.PUSH);
-		gridData = new GridData(100, SWT.DEFAULT);
-		okButton.setLayoutData(gridData);
-		okButton.setText(Messages.ProxiesDialog_OkLabel);
-		okButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				okPressed();
-				shell.dispose();
-			}
-		});
-
-		cancelButton = new Button(buttonBar, SWT.PUSH);
-		cancelButton.setLayoutData(gridData);
-		cancelButton.setText(Messages.Dialog_CancelButton);
-		cancelButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	public void create() {
-		validateHostName();
-	}
-
-	private String toString(String str) {
-		return str == null ? "" : str; //$NON-NLS-1$
-	}
-
-	private void applyData() {
-		typeCombo.setText(toString(data.getType()));
-		hostText.setText(toString(data.getHost()));
-		if (data.getPort() != -1) {
-			portText.setText(toString(Integer.toString(data.getPort())));
-		} else {
-			portText.setText(""); //$NON-NLS-1$
-		}
-		userIdText.setText(toString(data.getUserId()));
-		passwordText.setText(toString(data.getPassword()));
-	}
-
-	private boolean validateHostName() {
-		try {
-			new URI(hostText.getText());
-		} catch (URISyntaxException e) {
-			updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_InvalitHostMessage, null));
-			return false;
-		}
-		return true;
-	}
-
-	protected void okPressed() {
-		data.setHost(hostText.getText());
-		data.setPort(Integer.parseInt(portText.getText()));
-		data.setUserid(userIdText.getText());
-		data.setPassword(passwordText.getText());
-		try {
-			if (service != null) {
-				service.setProxyData(new IProxyData[] {data});
-			} else {
-				openMessage(Messages.ProxiesDialog_ServiceNotAvailableMessage, SWT.ICON_ERROR | SWT.OK);
-			}
-		} catch (Exception e) {
-			openMessage(Messages.ProxiesDialog_FailedToSetProxyMessage + e.getLocalizedMessage(), SWT.ICON_ERROR | SWT.OK);
-		}
-	}
-
-	protected void updateStatus() {
-		if (!validateHostName()) {
-			return;
-		}
-		if (hostText.getText().length() == 0) {
-			updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_EmptyHostMessage, null));
-			return;
-		}
-
-		if (userIdText.getText().length() == 0) {
-			updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_EmptyUserMessage, null));
-			return;
-		}
-
-		if (passwordText.getText().length() == 0) {
-			updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_EmptyPasswordMessage, null));
-			return;
-		}
-
-		try {
-			//Port checks
-			String portAsString = portText.getText();
-			if (portAsString == null || portAsString.length() == 0) {
-				updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_EmptyProtMessage, null));
-				return;
-			}
-			int port = Integer.parseInt(portAsString);
-			if (port < 0) {
-				updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_NegativValue, null));
-				return;
-			}
-		} catch (NumberFormatException e) {
-			updateStatus(new Status(IStatus.ERROR, InstallerActivator.PI_INSTALLER, IStatus.OK, Messages.ProxiesDialog_WrongFormat, null));
-			return;
-		}
-		updateStatus(Status.OK_STATUS);
-	}
-
-	private void updateStatus(IStatus status) {
-
-		if (okButton != null) {
-			okButton.setEnabled(status.isOK());
-		}
-		if (statuslabel != null) {
-			String statusText = status.isOK() ? "" : Messages.ProxiesDialog_StatusPrefix + status.getMessage(); //$NON-NLS-1$
-			statuslabel.setText(statusText);
-		}
-	}
-
-	private void openMessage(String msg, int style) {
-		MessageBox messageBox = new MessageBox(Display.getDefault().getActiveShell(), style);
-		messageBox.setMessage(msg);
-		messageBox.open();
-	}
-
-	private void initTypes() {
-		types = new ArrayList();
-		types.add(IProxyData.HTTP_PROXY_TYPE);
-		types.add(IProxyData.HTTPS_PROXY_TYPE);
-		types.add(IProxyData.SOCKS_PROXY_TYPE);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
deleted file mode 100644
index 2360615..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/p2/installer/ui/SWTInstallAdvisor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.installer.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.installer.Messages;
-import org.eclipse.equinox.internal.provisional.p2.installer.*;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Install context that creates a simple SWT-based UI and interacts with a user.
- */
-public class SWTInstallAdvisor extends InstallAdvisor {
-	private InstallDialog dialog;
-	private boolean started = false;
-	private boolean stopped = false;
-
-	public IStatus performInstall(IInstallOperation operation) {
-		return dialog.run(operation);
-	}
-
-	public InstallDescription prepareInstallDescription(InstallDescription description) {
-		if (description.getInstallLocation() == null)
-			dialog.promptForLocations(description);
-		return description;
-	}
-
-	public boolean promptForLaunch(InstallDescription description) {
-		return dialog.promptForLaunch(description);
-	}
-
-	public void setResult(IStatus status) {
-		String message;
-		if (status.getSeverity() == IStatus.CANCEL) {
-			message = Messages.Advisor_Canceled;
-		} else {
-			message = status.getMessage();
-		}
-		dialog.promptForClose(message);
-	}
-
-	public synchronized void start() {
-		if (stopped || started)
-			return;
-		started = true;
-		Display display = Display.getCurrent();
-		if (display == null)
-			display = new Display();
-		dialog = new InstallDialog();
-		dialog.setMessage(Messages.Advisor_Preparing);
-	}
-
-	public synchronized void stop() {
-		if (stopped || !started)
-			return;
-		stopped = true;
-		final InstallDialog activeDialog = dialog;
-		if (activeDialog == null)
-			return;
-		//clear the window now, so the reference is gone no matter what happens during cleanup
-		dialog = null;
-		final Display display = activeDialog.getDisplay();
-		if (display == null || display.isDisposed())
-			return;
-		display.syncExec(new Runnable() {
-			public void run() {
-				activeDialog.close();
-			}
-		});
-		display.dispose();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
deleted file mode 100644
index fb05a89..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/IInstallOperation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * The operation that will perform the install. This interface exists to allow
- * the install advisor to act as the runnable context for the install, handling
- * progress monitoring and cancelation.
- * <p>
- * This interface is not intended to be implemented by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IInstallOperation {
-	/**
-	 * Performs the install.
-	 * <p>
-	 * The provided monitor can be used to report progress and respond to 
-	 * cancellation.  If the progress monitor has been canceled, the job
-	 * should finish its execution at the earliest convenience and return a result
-	 * status of severity {@link IStatus#CANCEL}.  The singleton
-	 * cancel status {@link Status#CANCEL_STATUS} can be used for
-	 * this purpose.  The monitor is only valid for the duration of the invocation
-	 * of this method.
-	 * 
-	 * @param monitor the monitor to be used for reporting progress and
-	 * responding to cancelation, or <code>null</code> if progress reporting
-	 * and cancelation are not desired.
-	 * @return resulting status of the run. The result must not be <code>null</code>
-	 */
-	public IStatus install(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
deleted file mode 100644
index 76eacc5..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallAdvisor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * The install advisor helps to make decisions during install, and is the conduit
- * for reporting progress and results back to an end user or log.
- */
-public abstract class InstallAdvisor {
-	/**
-	 * Performs the actual install. The advisor is responsible for handling progress
-	 * monitoring and cancelation. The advisor may perform the install in
-	 * another thread, but must block the calling thread until the install
-	 * completes.
-	 * 
-	 * @param operation The install operation to run
-	 * @return IStatus The result of the install operation. This is typically
-	 * just the return value of {@link IInstallOperation#install(IProgressMonitor)},
-	 * but the advisor may alter the result status if desired.
-	 */
-	public abstract IStatus performInstall(IInstallOperation operation);
-
-	/**
-	 * Allows the advisor to modify or fill in missing values in the install description.  
-	 * @param description The initial install description
-	 * @return The install description to be used for the install.
-	 * @exception OperationCanceledException if the install should be canceled.
-	 */
-	public abstract InstallDescription prepareInstallDescription(InstallDescription description);
-
-	/**
-	 * Prompts for whether the installed application should be launched immediately.
-	 * This method is only called after a successful install.
-	 * 
-	 * @param description The initial install description
-	 * @return <code>true</code> if the product should be launched, and 
-	 * <code>false</code> otherwise.
-	 */
-	public abstract boolean promptForLaunch(InstallDescription description);
-
-	/**
-	 * Reports some result information to the context.  The status may be
-	 * information, warning, or an error.
-	 */
-	public abstract void setResult(IStatus status);
-
-	/**
-	 * Initializes the install advisor.  This method must be called before calling any 
-	 * other methods on the advisor are called.  Subsequent invocations of this
-	 * method are ignored.
-	 */
-	public abstract void start();
-
-	/**
-	 * Stops the install advisor. The advisor becomes invalid after it has been
-	 * stopped; a stopped advisor cannot be restarted.
-	 */
-	public abstract void stop();
-}
diff --git a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java b/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
deleted file mode 100644
index a4bb423..0000000
--- a/bundles/org.eclipse.equinox.p2.installer/src/org/eclipse/equinox/internal/provisional/p2/installer/InstallDescription.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.installer;
-
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-
-/**
- * An install information captures all the data needed to perform a product install.
- * This includes information on where the installed product comes from, what will
- * be installed, and where it will be installed.
- */
-public class InstallDescription {
-	private URI[] artifactRepos;
-	private IPath installLocation;
-	private IPath agentLocation;
-	private IPath bundleLocation;
-	private boolean isAutoStart;
-	private String launcherName;
-	private URI[] metadataRepos;
-	private String productName;
-	private IVersionedId[] roots;
-	private final Map profileProperties = new HashMap();
-
-	/**
-	 * Returns the p2 agent location, or <code>null</code> to indicate
-	 * the default agent location.
-	 */
-	public IPath getAgentLocation() {
-		return agentLocation;
-	}
-
-	/**
-	 * Returns the locations of the artifact repositories to install from
-	 * @return a list of artifact repository URLs
-	 */
-	public URI[] getArtifactRepositories() {
-		return artifactRepos;
-	}
-
-	/**
-	 * Returns the bundle pool location, or <code>null</code> to
-	 * indicate the default bundle pool location.
-	 */
-	public IPath getBundleLocation() {
-		return bundleLocation;
-	}
-
-	/**
-	 * Returns the local file system location to install into.
-	 * @return a local file system location
-	 */
-	public IPath getInstallLocation() {
-		return installLocation;
-	}
-
-	/**
-	 * Returns the name of the product's launcher executable
-	 * @return the name of the launcher executable
-	 */
-	public String getLauncherName() {
-		return launcherName;
-	}
-
-	/**
-	 * Returns the locations of the metadata repositories to install from
-	 * @return a list of metadata repository URLs
-	 */
-	public URI[] getMetadataRepositories() {
-		return metadataRepos;
-	}
-
-	/**
-	 * Returns the profile properties for this install.
-	 */
-	public Map getProfileProperties() {
-		return profileProperties;
-	}
-
-	/**
-	 * Returns a human-readable name for this install.
-	 * @return the name of the product
-	 */
-	public String getProductName() {
-		return productName;
-	}
-
-	/**
-	 * Returns whether the installed product should be started upon successful
-	 * install.
-	 * @return <code>true</code> if the product should be started upon successful
-	 * install, and <code>false</code> otherwise
-	 */
-	public boolean isAutoStart() {
-		return isAutoStart;
-	}
-
-	public void setAgentLocation(IPath agentLocation) {
-		this.agentLocation = agentLocation;
-	}
-
-	public void setArtifactRepositories(URI[] value) {
-		this.artifactRepos = value;
-	}
-
-	public void setAutoStart(boolean value) {
-		this.isAutoStart = value;
-	}
-
-	public void setBundleLocation(IPath bundleLocation) {
-		this.bundleLocation = bundleLocation;
-	}
-
-	public void setInstallLocation(IPath location) {
-		this.installLocation = location;
-	}
-
-	public void setLauncherName(String name) {
-		this.launcherName = name;
-	}
-
-	public void setMetadataRepositories(URI[] value) {
-		this.metadataRepos = value;
-	}
-
-	/**
-	 * Supplies a set of profile properties to be added when the profile is created.
-	 * @param properties the profile properties to be added
-	 */
-	public void setProfileProperties(Map properties) {
-		profileProperties.putAll(properties);
-	}
-
-	/**
-	 * Returns the set of roots to be installed for this installation
-	 * @return the roots to install
-	 */
-	public IVersionedId[] getRoots() {
-		return roots;
-	}
-
-	/**
-	 * Set the list of roots to install
-	 * @param value the set of roots to install
-	 */
-	public void setRoots(IVersionedId[] value) {
-		roots = value;
-	}
-
-	/**
-	 * Set the name of the product being installed.
-	 * @param value the new name of the product to install
-	 */
-	public void setProductName(String value) {
-		productName = value;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath b/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
deleted file mode 100644
index 0179ed6..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.externalToolBuilders/AntTaskBuilder.launch b/bundles/org.eclipse.equinox.p2.jarprocessor/.externalToolBuilders/AntTaskBuilder.launch
deleted file mode 100644
index ae56944..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.externalToolBuilders/AntTaskBuilder.launch
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.jarprocessor/localbuild.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.jarprocessor"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.jarprocessor/localbuild.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.equinox.p2.jarprocessor}"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.project b/bundles/org.eclipse.equinox.p2.jarprocessor/.project
deleted file mode 100644
index cf69b35..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.jarprocessor</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/AntTaskBuilder.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a465148..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,345 +0,0 @@
-#Thu Sep 24 13:53:16 EDT 2009
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0d3112f..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Thu Sep 24 13:53:46 EDT 2009
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.sort_members=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.remove_unused_private_members=false
-org.eclipse.jdt.ui.staticondemandthreshold=3
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.never_use_parentheses_in_expressions=true
-formatter_profile=_core
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.organize_imports=true
-sp_cleanup.always_use_blocks=true
-org.eclipse.jdt.ui.importorder=;
-sp_cleanup.use_blocks=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members_all=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.ondemandthreshold=3
-sp_cleanup.add_missing_methods=false
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.format_source_code=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.remove_unused_private_fields=true
-formatter_settings_version=11
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-org.eclipse.jdt.ui.ignorelowercasenames=true
-sp_cleanup.add_serial_version_id=false
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 69a2717..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Aug 28 11:19:59 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
deleted file mode 100644
index e43fb43..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.200.qualifier
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Main-Class: org.eclipse.equinox.internal.p2.jarprocessor.Main
-Export-Package: org.eclipse.equinox.internal.p2.jarprocessor;x-friends:="org.eclipse.equinox.p2.artifact.repository,org.eclipse.pde.build",
- org.eclipse.equinox.internal.p2.jarprocessor.unsigner;x-internal:=true,
- org.eclipse.equinox.internal.p2.jarprocessor.verifier;x-internal:=true,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor;x-friends:="org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.repository,org.eclipse.pde.build"
-Import-Package: org.eclipse.core.runtime;version="3.4.0";resolution:=optional,
- org.eclipse.core.runtime.jobs;resolution:=optional
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/about.html b/bundles/org.eclipse.equinox.p2.jarprocessor/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties b/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
deleted file mode 100644
index f0c7174..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/build.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               lib/jarprocessor-ant.jar
-src.includes = about.html
-
-source.lib/jarprocessor-ant.jar = src_ant/
-output.lib/jarprocessor-ant.jar = bin_ant/
-
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
-jars.compile.order = .,\
-                     lib/jarprocessor-ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/lib/.cvsignore b/bundles/org.eclipse.equinox.p2.jarprocessor/lib/.cvsignore
deleted file mode 100644
index c45d3e9..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-jarprocessor-ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/localbuild.xml b/bundles/org.eclipse.equinox.p2.jarprocessor/localbuild.xml
deleted file mode 100644
index 107dcb2..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/localbuild.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<project name="project" default="workspaceBinaries">
-	<description>
-    	 Build the jarprocessor-ant.jar by gathering up the results of a workspace build from bin_ant.
-    </description>
-
-	<target name="workspaceBinaries" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="lib" />
-		<delete file="lib/jarprocessor-ant.jar" failonerror="false"/>
-		<jar destfile="lib/jarprocessor-ant.jar" basedir="bin_ant"/>
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties b/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
deleted file mode 100644
index 937ec91..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning JAR Processor
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.xml b/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.xml
deleted file mode 100644
index 36d254f..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-	<!-- Tasks -->
-   <extension
-         point="org.eclipse.ant.core.antTasks">
-      <antTask
-            class="org.eclipse.equinox.internal.p2.jarprocessor.ant.JarProcessorTask"
-            headless="true"
-            library="lib/jarprocessor-ant.jar"
-            name="eclipse.jarProcessor">
-      </antTask>
-   </extension>
-	<!-- Extra Classpath -->
-   <extension
-         point="org.eclipse.ant.core.extraClasspathEntries">
-      <extraClasspathEntry
-            library="lib/jarprocessor-ant.jar">
-      </extraClasspathEntry>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
deleted file mode 100644
index dde6660..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/CommandStep.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.IProcessStep;
-
-public abstract class CommandStep implements IProcessStep {
-	protected String command = null;
-	protected String extension = null;
-	private Properties options = null;
-	protected boolean verbose = false;
-
-	public CommandStep(Properties options, String command, String extension, boolean verbose) {
-		this.command = command;
-		this.extension = extension;
-		this.options = options;
-		this.verbose = verbose;
-	}
-
-	protected static int execute(String[] cmd) {
-		return execute(cmd, false);
-	}
-
-	protected static int execute(String[] cmd, boolean verbose) {
-		Runtime runtime = Runtime.getRuntime();
-		Process proc = null;
-		try {
-			proc = runtime.exec(cmd);
-			StreamProcessor.start(proc.getErrorStream(), StreamProcessor.STDERR, verbose);
-			StreamProcessor.start(proc.getInputStream(), StreamProcessor.STDOUT, verbose);
-		} catch (Exception e) {
-			if (verbose) {
-				System.out.println("Error executing command " + Utils.concat(cmd)); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-			return -1;
-		}
-		try {
-			int result = proc.waitFor();
-			return result;
-		} catch (InterruptedException e) {
-			if (verbose)
-				e.printStackTrace();
-		}
-		return -1;
-	}
-
-	public Properties getOptions() {
-		if (options == null)
-			options = new Properties();
-		return options;
-	}
-
-	public void adjustInf(File input, Properties inf, List containers) {
-		//nothing
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
deleted file mode 100644
index 23df70d..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-public class Main {
-
-	private static void printUsage() {
-		System.out.println("[-option ...]... input"); //$NON-NLS-1$
-		System.out.println("The following options are supported:"); //$NON-NLS-1$
-		System.out.println("-processAll     process all jars, regardless of whether they were previously normalized"); //$NON-NLS-1$
-		System.out.println("                By default only normalized jars will be processed."); //$NON-NLS-1$
-		System.out.println("-repack         normalize jars "); //$NON-NLS-1$
-		System.out.println("-sign <command> sign jars using <command>"); //$NON-NLS-1$
-		System.out.println("-pack           pack the jars.  pack and repack are redundant unless"); //$NON-NLS-1$
-		System.out.println("                sign is also specified."); //$NON-NLS-1$
-		System.out.println("-unpack         unpack pack.gz files. Unpack is mutually exclusive"); //$NON-NLS-1$
-		System.out.println("                with repack, sign and pack."); //$NON-NLS-1$
-		System.out.println();
-		System.out.println("-outputDir <dir>  the output directory"); //$NON-NLS-1$
-		System.out.println("-verbose        verbose mode "); //$NON-NLS-1$
-	}
-
-	public static JarProcessorExecutor.Options processArguments(String[] args) {
-		if (args.length == 0) {
-			printUsage();
-			return null;
-		}
-
-		JarProcessorExecutor.Options options = new JarProcessorExecutor.Options();
-		int i = 0;
-		for (; i < args.length - 1; i++) {
-			if (args[i].equals("-pack")) {//$NON-NLS-1$
-				options.pack = true;
-			} else if (args[i].equals("-unpack")) { //$NON-NLS-1$
-				options.unpack = true;
-			} else if (args[i].equals("-sign") && i < args.length - 2) { //$NON-NLS-1$
-				if (args[i + 1].startsWith("-")) { //$NON-NLS-1$
-					printUsage();
-					return null;
-				}
-				options.signCommand = args[++i];
-			} else if (args[i].equals("-repack")) { //$NON-NLS-1$
-				options.repack = true;
-			} else if (args[i].equals("-outputDir") && i < args.length - 2) { //$NON-NLS-1$
-				if (args[i + 1].startsWith("-")) { //$NON-NLS-1$
-					printUsage();
-					return null;
-				}
-				options.outputDir = args[++i];
-			} else if (args[i].equals("-verbose")) { //$NON-NLS-1$
-				options.verbose = true;
-			}  else if (args[i].equals("-processAll")) { //$NON-NLS-1$
-				options.processAll = true;
-			} 
-		}
-
-		options.input = new File(args[i]);
-
-		String problemMessage = null;
-		String inputName = options.input.getName();
-		if (options.unpack) {
-			if (!JarProcessor.canPerformUnpack()) {
-				problemMessage = "The unpack200 command cannot be found."; //$NON-NLS-1$
-			} else 	if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".pack.gz")) { //$NON-NLS-1$ //$NON-NLS-2$
-				problemMessage = "Input file is not a pack.gz file."; //$NON-NLS-1$
-			} else 	if (options.pack || options.repack || options.signCommand != null) {
-				problemMessage = "Pack, repack or sign cannot be specified with unpack."; //$NON-NLS-1$
-			}
-		} else {
-			if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
-				problemMessage = "Input file is not a jar file."; //$NON-NLS-1$
-			} else	if ((options.pack || options.repack) && !JarProcessor.canPerformPack()) {
-				problemMessage = "The pack200 command can not be found."; //$NON-NLS-1$
-			}
-		}
-		if(problemMessage != null){
-			System.out.println(problemMessage);
-			System.out.println();
-			printUsage();
-			return null;
-		}
-
-		return options;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		JarProcessorExecutor.Options options = processArguments(args);
-		if (options == null)
-			return;
-		new JarProcessorExecutor().runJarProcessor(options);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
deleted file mode 100644
index 3d51973..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2006, 2008 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-public class PackStep extends CommandStep {
-
-	protected static String packCommand = null;
-	private static Boolean canPack = null;
-
-	private Set exclusions = Collections.EMPTY_SET;
-
-	public static boolean canPack() {
-		if (canPack != null)
-			return canPack.booleanValue();
-
-		String[] locations = Utils.getPack200Commands("pack200"); //$NON-NLS-1$
-		if (locations == null) {
-			canPack = Boolean.FALSE;
-			packCommand = null;
-			return false;
-		}
-
-		int result;
-		for (int i = 0; i < locations.length; i++) {
-			if (locations[i] == null)
-				continue;
-			result = execute(new String[] {locations[i], "-V"}); //$NON-NLS-1$
-			if (result == 0) {
-				packCommand = locations[i];
-				canPack = Boolean.TRUE;
-				return true;
-			}
-		}
-
-		canPack = Boolean.FALSE;
-		return false;
-	}
-
-	public PackStep(Properties options) {
-		super(options, null, null, false);
-		exclusions = Utils.getPackExclusions(options);
-	}
-
-	public PackStep(Properties options, boolean verbose) {
-		super(options, null, null, verbose);
-		exclusions = Utils.getPackExclusions(options);
-	}
-
-	public String recursionEffect(String entryName) {
-		if (canPack() && entryName.endsWith(".jar") && !exclusions.contains(entryName)) { //$NON-NLS-1$
-			return entryName + Utils.PACKED_SUFFIX;
-		}
-		return null;
-	}
-
-	public File preProcess(File input, File workingDirectory, List containers) {
-		return null;
-	}
-
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (canPack() && packCommand != null) {
-			Properties inf = Utils.getEclipseInf(input, verbose);
-			if (!shouldPack(input, containers, inf))
-				return null;
-			File outputFile = new File(workingDirectory, input.getName() + Utils.PACKED_SUFFIX);
-			try {
-				String[] cmd = getCommand(input, outputFile, inf, containers);
-				int result = execute(cmd, verbose);
-				if (result != 0 && verbose)
-					System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (IOException e) {
-				if (verbose)
-					e.printStackTrace();
-				return null;
-			}
-			return outputFile;
-		}
-		return null;
-	}
-
-	protected boolean shouldPack(File input, List containers, Properties inf) {
-		//1: exclude by containers
-		// innermost jar is first on the list, it can override outer jars
-		for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
-			Properties container = (Properties) iterator.next();
-			if (container.containsKey(Utils.MARK_EXCLUDE_CHILDREN_PACK)) {
-				if (Boolean.valueOf(container.getProperty(Utils.MARK_EXCLUDE_CHILDREN_PACK)).booleanValue()) {
-					if (verbose)
-						System.out.println(input.getName() + " is excluded from pack200 by its containers."); //$NON-NLS-1$
-					return false;
-				}
-				break;
-			}
-		}
-
-		//2: excluded by self
-		if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_PACK) && Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_PACK)).booleanValue()) {
-			if (verbose)
-				System.out.println("Excluding " + input.getName() + " from " + getStepName()); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-
-		return true;
-	}
-
-	protected String[] getCommand(File input, File outputFile, Properties inf, List containers) throws IOException {
-		String[] cmd = null;
-		String arguments = getArguments(input, inf, containers);
-		if (arguments != null && arguments.length() > 0) {
-			String[] args = Utils.toStringArray(arguments, ","); //$NON-NLS-1$
-			cmd = new String[3 + args.length];
-			cmd[0] = packCommand;
-			System.arraycopy(args, 0, cmd, 1, args.length);
-			cmd[cmd.length - 2] = outputFile.getCanonicalPath();
-			cmd[cmd.length - 1] = input.getCanonicalPath();
-		} else {
-			cmd = new String[] {packCommand, outputFile.getCanonicalPath(), input.getCanonicalPath()};
-		}
-		return cmd;
-	}
-
-	protected String getArguments(File input, Properties inf, List containers) {
-		//1: Explicitly marked in our .inf file
-		if (inf != null && inf.containsKey(Utils.PACK_ARGS)) {
-			return inf.getProperty(Utils.PACK_ARGS);
-		}
-
-		//2: Defaults set in one of our containing jars
-		for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
-			Properties container = (Properties) iterator.next();
-			if (container.containsKey(Utils.DEFAULT_PACK_ARGS)) {
-				return container.getProperty(Utils.DEFAULT_PACK_ARGS);
-			}
-		}
-
-		//3: Set by name in outside pack.properties file
-		Properties options = getOptions();
-		String argsKey = input.getName() + Utils.PACK_ARGS_SUFFIX;
-		if (options.containsKey(argsKey)) {
-			return options.getProperty(argsKey);
-		}
-
-		//4: Set by default in outside pack.properties file
-		if (options.containsKey(Utils.DEFAULT_PACK_ARGS)) {
-			return options.getProperty(Utils.DEFAULT_PACK_ARGS);
-		}
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public String getStepName() {
-		return "Pack"; //$NON-NLS-1$
-	}
-
-	public void adjustInf(File input, Properties inf, List containers) {
-		if (input == null || inf == null)
-			return;
-
-		//don't be verbose to check if we should mark the inf
-		boolean v = verbose;
-		verbose = false;
-		if (!shouldPack(input, containers, inf)) {
-			verbose = v;
-			return;
-		}
-		verbose = v;
-
-		//mark as conditioned if not previously marked.  A signed jar is assumed to be previously conditioned.
-		if (inf.getProperty(Utils.MARK_PROPERTY) == null) {
-			inf.put(Utils.MARK_PROPERTY, "true"); //$NON-NLS-1$
-
-			//record arguments used
-			String arguments = inf.getProperty(Utils.PACK_ARGS);
-			if (arguments == null) {
-				arguments = getArguments(input, inf, containers);
-				if (arguments != null && arguments.length() > 0)
-					inf.put(Utils.PACK_ARGS, arguments);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
deleted file mode 100644
index 79707a6..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class PackUnpackStep extends PackStep {
-	private Set exclusions = null;
-
-	public PackUnpackStep(Properties options) {
-		super(options);
-		exclusions = Utils.getPackExclusions(options);
-	}
-
-	public PackUnpackStep(Properties options, boolean verbose) {
-		super(options, verbose);
-		exclusions = Utils.getPackExclusions(options);
-	}
-
-	public String recursionEffect(String entryName) {
-		if (canPack() && entryName.endsWith(".jar") && !exclusions.contains(entryName)) { //$NON-NLS-1$
-			return entryName;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.internal.jarprocessor.PackStep#postProcess(java.io.File, java.io.File, java.util.LinkedList)
-	 */
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (canPack() && packCommand != null && input != null) {
-			Properties inf = Utils.getEclipseInf(input, verbose);
-			if (!shouldPack(input, containers, inf))
-				return null;
-			File tempFile = new File(workingDirectory, "temp_" + input.getName()); //$NON-NLS-1$
-			try {
-				String[] tmp = getCommand(input, tempFile, inf, containers);
-				String[] cmd = new String[tmp.length + 1];
-				cmd[0] = tmp[0];
-				cmd[1] = "-r"; //$NON-NLS-1$
-				System.arraycopy(tmp, 1, cmd, 2, tmp.length - 1);
-
-				int result = execute(cmd, verbose);
-				if (result == 0 && tempFile.exists()) {
-					File finalFile = new File(workingDirectory, input.getName());
-					if (finalFile.exists())
-						finalFile.delete();
-					tempFile.renameTo(finalFile);
-					return finalFile;
-				} else if (verbose) {
-					System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			} catch (IOException e) {
-				if (verbose)
-					e.printStackTrace();
-				return null;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.internal.jarprocessor.PackStep#preProcess(java.io.File, java.io.File, java.util.LinkedList)
-	 */
-	public File preProcess(File input, File workingDirectory, List containers) {
-		return null;
-	}
-
-	public String getStepName() {
-		return "Repack"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
deleted file mode 100644
index e648808..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/SignCommandStep.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-public class SignCommandStep extends CommandStep {
-	private Set exclusions = null;
-
-	public SignCommandStep(Properties options, String command) {
-		super(options, command, ".jar", false); //$NON-NLS-1$
-		exclusions = Utils.getSignExclusions(options);
-	}
-
-	public SignCommandStep(Properties options, String command, boolean verbose) {
-		super(options, command, ".jar", verbose); //$NON-NLS-1$
-		exclusions = Utils.getSignExclusions(options);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#recursionEffect(java.lang.String)
-	 */
-	public String recursionEffect(String entryName) {
-		if (entryName.endsWith(extension) && !exclusions.contains(entryName))
-			return entryName;
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#preProcess(java.io.File, java.io.File)
-	 */
-	public File preProcess(File input, File workingDirectory, List containers) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#postProcess(java.io.File, java.io.File)
-	 */
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (command != null && input != null && shouldSign(input, containers)) {
-			try {
-				String[] cmd = new String[] {command, input.getCanonicalPath()};
-				int result = execute(cmd, verbose);
-				if (result == 0) {
-					return input;
-				} else if (verbose) {
-					System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			} catch (IOException e) {
-				if (verbose) {
-					e.printStackTrace();
-				}
-			}
-		}
-		return null;
-	}
-
-	public boolean shouldSign(File input, List containers) {
-		Properties inf = null;
-
-		//1: Are we excluded from signing by our parents?
-		//innermost jar is first on the list, it overrides outer jars
-		for (Iterator iterator = containers.iterator(); iterator.hasNext();) {
-			inf = (Properties) iterator.next();
-			if (inf.containsKey(Utils.MARK_EXCLUDE_CHILDREN_SIGN)){
-				if(Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_CHILDREN_SIGN)).booleanValue()) {
-					if (verbose)
-						System.out.println(input.getName() + "is excluded from signing by its containers."); //$NON-NLS-1$ 
-					return false;
-				}
-				break;
-			}
-		}
-
-		//2: Is this jar itself marked as exclude?
-		inf = Utils.getEclipseInf(input, verbose);
-		if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_SIGN) && Boolean.valueOf(inf.getProperty(Utils.MARK_EXCLUDE_SIGN)).booleanValue()) {
-			if (verbose)
-				System.out.println("Excluding " + input.getName() + " from signing."); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-		return true;
-	}
-
-	public String getStepName() {
-		return "Sign"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
deleted file mode 100644
index df1a236..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-
-public class StreamProcessor {
-	private static final String JOBS = "org.eclipse.core.runtime.jobs.Job"; //$NON-NLS-1$
-	public static final String STREAM_PROCESSOR = "Stream Processor"; //$NON-NLS-1$
-	public static final String STDERR = "STDERR"; //$NON-NLS-1$
-	public static final String STDOUT = "STDOUT"; //$NON-NLS-1$
-
-	static private boolean haveJobs = false;
-
-	static {
-		try {
-			haveJobs = (Class.forName(JOBS) != null);
-		} catch (ClassNotFoundException e) {
-			//no jobs
-		}
-	}
-
-	static public void start(final InputStream is, final String name, final boolean verbose) {
-		if (haveJobs) {
-			new StreamProcessorJob(is, name, verbose).schedule();
-		} else {
-			Thread job = new Thread(STREAM_PROCESSOR) {
-				public void run() {
-					StreamProcessor.run(is, name, verbose);
-				}
-			};
-			job.start();
-		}
-	}
-
-	static public void run(InputStream inputStream, String name, boolean verbose) {
-		try {
-			InputStreamReader isr = new InputStreamReader(inputStream);
-			BufferedReader br = new BufferedReader(isr);
-			while (true) {
-				String s = br.readLine();
-				if (s == null) {
-					break;
-				}
-				if (verbose) {
-					if (STDERR.equals(name))
-						System.err.println(name + ": " + s); //$NON-NLS-1$
-					else
-						System.out.println(name + ": " + s); //$NON-NLS-1$
-				}
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessorJob.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessorJob.java
deleted file mode 100644
index db404fe..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/StreamProcessorJob.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.InputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-
-public class StreamProcessorJob extends Job {
-	private InputStream inputStream = null;
-	private String name = null;
-	private boolean verbose = false;
-
-	public StreamProcessorJob(InputStream stream, String name, boolean verbose) {
-		super(StreamProcessor.STREAM_PROCESSOR + " : " + name); //$NON-NLS-1$
-		setPriority(Job.SHORT);
-		setSystem(true);
-		this.inputStream = stream;
-		this.name = name;
-		this.verbose = verbose;
-	}
-
-	protected IStatus run(IProgressMonitor monitor) {
-		StreamProcessor.run(inputStream, name, verbose);
-		inputStream = null;
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
deleted file mode 100644
index a6c84bf..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @author aniefer
- *
- */
-public class UnpackStep extends CommandStep {
-	public static final String UNPACKER_PROPERTY = "org.eclipse.update.jarprocessor.Unpacker"; //$NON-NLS-1$
-	private static Boolean canUnpack = null;
-	private static String unpackCommand = null;
-
-	public static boolean canUnpack() {
-		if (canUnpack != null)
-			return canUnpack.booleanValue();
-
-		String[] locations = Utils.getPack200Commands("unpack200"); //$NON-NLS-1$
-		if (locations == null) {
-			canUnpack = Boolean.FALSE;
-			unpackCommand = null;
-			return false;
-		}
-
-		int result;
-		for (int i = 0; i < locations.length; i++) {
-			if (locations[i] == null)
-				continue;
-			result = execute(new String[] {locations[i], "-V"}); //$NON-NLS-1$
-			if (result == 0) {
-				unpackCommand = locations[i];
-				canUnpack = Boolean.TRUE;
-				return true;
-			}
-		}
-
-		canUnpack = Boolean.FALSE;
-		return false;
-	}
-
-	public UnpackStep(Properties options) {
-		super(options, null, null, false);
-	}
-
-	public UnpackStep(Properties options, boolean verbose) {
-		super(options, null, null, verbose);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#recursionEffect(java.lang.String)
-	 */
-	public String recursionEffect(String entryName) {
-		if (canUnpack() && entryName.endsWith(Utils.PACKED_SUFFIX)) {
-			return entryName.substring(0, entryName.length() - Utils.PACKED_SUFFIX.length());
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#preProcess(java.io.File, java.io.File)
-	 */
-	public File preProcess(File input, File workingDirectory, List containers) {
-		if (canUnpack() && unpackCommand != null) {
-			String name = input.getName();
-			if (name.endsWith(Utils.PACKED_SUFFIX)) {
-				name = name.substring(0, name.length() - Utils.PACKED_SUFFIX.length());
-
-				File unpacked = new File(workingDirectory, name);
-				File parent = unpacked.getParentFile();
-				if (!parent.exists())
-					parent.mkdirs();
-				try {
-					String options = getOptions().getProperty(input.getName() + ".unpack.args"); //$NON-NLS-1$
-					String[] cmd = null;
-					if (options != null) {
-						cmd = new String[] {unpackCommand, options, input.getCanonicalPath(), unpacked.getCanonicalPath()};
-					} else {
-						cmd = new String[] {unpackCommand, input.getCanonicalPath(), unpacked.getCanonicalPath()};
-					}
-					int result = execute(cmd, verbose);
-					if (result != 0 && verbose)
-						System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
-				} catch (IOException e) {
-					if (verbose)
-						e.printStackTrace();
-					return null;
-				}
-				return unpacked;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.jarprocessor.IProcessStep#postProcess(java.io.File, java.io.File)
-	 */
-	public File postProcess(File input, File workingDirectory, List containers) {
-		return null;
-	}
-
-	public String getStepName() {
-		return "Unpack"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
deleted file mode 100644
index d6bbc6a..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.zip.ZipException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class Utils {
-	public static final String MARK_FILE_NAME = "META-INF/eclipse.inf"; //$NON-NLS-1$
-
-	/*
-	 * Properties found in outer pack.properties file
-	 */
-	//comma separated list of jars to exclude from sigining
-	public static final String SIGN_EXCLUDES = "sign.excludes"; //$NON-NLS-1$
-	//comma separated list of jars to exlclude from packing
-	public static final String PACK_EXCLUDES = "pack.excludes"; //$NON-NLS-1$
-	//Suffix used when specifying arguments to use when running pack200 on a jar
-	public static final String PACK_ARGS_SUFFIX = ".pack.args"; //$NON-NLS-1$
-
-	/*
-	 * Properties found in both pack.properties and eclipse.inf
-	 */
-	//	Default arguments to use when running pack200.
-	// Affects all jars when specified in pack.properties, affects children when specified in eclipse.inf
-	public static final String DEFAULT_PACK_ARGS = "pack200.default.args"; //$NON-NLS-1$
-
-	/*
-	 * Properties found in eclipse.inf file
-	 */
-	//This jar has been conditioned with pack200
-	public static final String MARK_PROPERTY = "pack200.conditioned"; //$NON-NLS-1$
-	//Exclude this jar from processing
-	public static final String MARK_EXCLUDE = "jarprocessor.exclude"; //$NON-NLS-1$
-	//Exclude this jar from pack200
-	public static final String MARK_EXCLUDE_PACK = "jarprocessor.exclude.pack"; //$NON-NLS-1$
-	//Exclude this jar from signing
-	public static final String MARK_EXCLUDE_SIGN = "jarprocessor.exclude.sign"; //$NON-NLS-1$
-	//Exclude this jar's children from processing
-	public static final String MARK_EXCLUDE_CHILDREN = "jarprocessor.exclude.children"; //$NON-NLS-1$
-	//Exclude this jar's children from pack200
-	public static final String MARK_EXCLUDE_CHILDREN_PACK = "jarprocessor.exclude.children.pack"; //$NON-NLS-1$
-	//Exclude this jar's children from signing
-	public static final String MARK_EXCLUDE_CHILDREN_SIGN = "jarprocessor.exclude.children.sign"; //$NON-NLS-1$
-	//Arguments used in pack200 for this jar
-	public static final String PACK_ARGS = "pack200.args"; //$NON-NLS-1$
-
-	public static final String PACK200_PROPERTY = "org.eclipse.update.jarprocessor.pack200"; //$NON-NLS-1$
-	public static final String JRE = "@jre"; //$NON-NLS-1$
-	public static final String PATH = "@path"; //$NON-NLS-1$
-	public static final String NONE = "@none"; //$NON-NLS-1$
-
-	public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
-	public static final String JAR_SUFFIX = ".jar"; //$NON-NLS-1$
-
-	public static final FileFilter JAR_FILTER = new FileFilter() {
-		public boolean accept(File pathname) {
-			return pathname.isFile() && pathname.getName().endsWith(".jar"); //$NON-NLS-1$
-		}
-	};
-
-	public static final FileFilter PACK_GZ_FILTER = new FileFilter() {
-		public boolean accept(File pathname) {
-			return pathname.isFile() && pathname.getName().endsWith(JarProcessor.PACKED_SUFFIX);
-		}
-	};
-
-	public static void close(Object stream) {
-		if (stream != null) {
-			try {
-				if (stream instanceof InputStream)
-					((InputStream) stream).close();
-				else if (stream instanceof OutputStream)
-					((OutputStream) stream).close();
-				else if (stream instanceof JarFile)
-					((JarFile) stream).close();
-			} catch (IOException e) {
-				//ignore
-			}
-		}
-	}
-
-	/**
-	 * get the set of commands to try to execute pack/unpack 
-	 * @param cmd the command, either "pack200" or "unpack200"
-	 * @return String [] or null
-	 */
-	public static String[] getPack200Commands(String cmd) {
-		String[] locations = null;
-		String prop = System.getProperty(PACK200_PROPERTY);
-		String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
-		if (NONE.equals(prop)) {
-			return null;
-		} else if (JRE.equals(prop)) {
-			locations = new String[] {javaHome + "/bin/" + cmd}; //$NON-NLS-1$
-		} else if (PATH.equals(prop)) {
-			locations = new String[] {cmd};
-		} else if (prop == null) {
-			locations = new String[] {javaHome + "/bin/" + cmd, cmd}; //$NON-NLS-1$ 
-		} else {
-			locations = new String[] {prop + "/" + cmd}; //$NON-NLS-1$
-		}
-		return locations;
-	}
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given
-	 * output stream. Closes both streams if close == true, regardless of failure. 
-	 * Flushes the destination stream if close == false
-	 * 
-	 * @param source
-	 * @param destination
-	 * @param close 
-	 * @throws IOException
-	 */
-	public static void transferStreams(InputStream source, OutputStream destination, boolean close) throws IOException {
-		source = new BufferedInputStream(source);
-		destination = new BufferedOutputStream(destination);
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				if ((bytesRead = source.read(buffer)) == -1)
-					break;
-				destination.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			if (close) {
-				close(source);
-				close(destination);
-			} else {
-				destination.flush();
-			}
-		}
-	}
-
-	/**
-	 * Deletes all the files and directories from the given root down (inclusive).
-	 * Returns false if we could not delete some file or an exception occurred
-	 * at any point in the deletion.
-	 * Even if an exception occurs, a best effort is made to continue deleting.
-	 */
-	public static boolean clear(java.io.File root) {
-		boolean result = clearChildren(root);
-		try {
-			if (root.exists())
-				result &= root.delete();
-		} catch (Exception e) {
-			result = false;
-		}
-		return result;
-	}
-
-	/**
-	 * Deletes all the files and directories from the given root down, except for 
-	 * the root itself.
-	 * Returns false if we could not delete some file or an exception occurred
-	 * at any point in the deletion.
-	 * Even if an exception occurs, a best effort is made to continue deleting.
-	 */
-	public static boolean clearChildren(java.io.File root) {
-		boolean result = true;
-		if (root.isDirectory()) {
-			String[] list = root.list();
-			// for some unknown reason, list() can return null.  
-			// Just skip the children If it does.
-			if (list != null)
-				for (int i = 0; i < list.length; i++)
-					result &= clear(new java.io.File(root, list[i]));
-		}
-		return result;
-	}
-
-	public static Set getPackExclusions(Properties properties) {
-		if (properties == null)
-			return Collections.EMPTY_SET;
-
-		String packExcludes = properties.getProperty(PACK_EXCLUDES);
-		if (packExcludes != null) {
-			String[] excludes = toStringArray(packExcludes, ","); //$NON-NLS-1$
-			Set packExclusions = new HashSet();
-			for (int i = 0; i < excludes.length; i++) {
-				packExclusions.add(excludes[i]);
-			}
-			return packExclusions;
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	public static Set getSignExclusions(Properties properties) {
-		if (properties == null)
-			return Collections.EMPTY_SET;
-		String signExcludes = properties.getProperty(SIGN_EXCLUDES);
-		if (signExcludes != null) {
-			String[] excludes = toStringArray(signExcludes, ","); //$NON-NLS-1$
-			Set signExclusions = new HashSet();
-			for (int i = 0; i < excludes.length; i++) {
-				signExclusions.add(excludes[i]);
-			}
-			return signExclusions;
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	public static String concat(String[] array) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < array.length; i++) {
-			if (i > 0)
-				buffer.append(' ');
-			buffer.append(array[i]);
-		}
-		return buffer.toString();
-	}
-
-	public static String[] toStringArray(String input, String separator) {
-		StringTokenizer tokenizer = new StringTokenizer(input, separator);
-		int count = tokenizer.countTokens();
-		String[] result = new String[count];
-		for (int i = 0; i < count; i++) {
-			result[i] = tokenizer.nextToken().trim();
-		}
-		return result;
-	}
-
-	/**
-	 * Get the properties from the eclipse.inf file from the given jar.  If the file is not a jar, null is returned.
-	 * If the file is a jar, but does not contain an eclipse.inf file, an empty Properties object is returned.
-	 * @param jarFile
-	 * @return The eclipse.inf properties for the given jar file
-	 */
-	public static Properties getEclipseInf(File jarFile, boolean verbose) {
-		if (jarFile == null || !jarFile.exists()) {
-			if (verbose)
-				System.out.println("Failed to obtain eclipse.inf due to missing jar file: " + jarFile); //$NON-NLS-1$
-			return null;
-		}
-		JarFile jar = null;
-		try {
-			jar = new JarFile(jarFile, false);
-		} catch (ZipException e) {
-			//not a jar, don't bother logging this.
-			return null;
-		} catch (IOException e) {
-			if (verbose) {
-				System.out.println("Failed to obtain eclipse.inf due to IOException: " + jarFile); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-			return null;
-		}
-		try {
-			JarEntry mark = jar.getJarEntry(MARK_FILE_NAME);
-			if (mark != null) {
-				InputStream in = jar.getInputStream(mark);
-				Properties props = new Properties();
-				props.load(in);
-				in.close();
-				return props;
-			}
-			return new Properties();
-		} catch (IOException e) {
-			if (verbose) {
-				System.out.println("Failed to obtain eclipse.inf due to IOException: " + jarFile); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-			return null;
-		} finally {
-			close(jar);
-		}
-	}
-
-	public static boolean shouldSkipJar(File input, boolean processAll, boolean verbose) {
-		Properties inf = getEclipseInf(input, verbose);
-		if (inf == null) {
-			//not a jar, could be a pack.gz
-			return false;
-		}
-		String exclude = inf.getProperty(MARK_EXCLUDE);
-
-		//was marked as exclude, we should skip
-		if (exclude != null && Boolean.valueOf(exclude).booleanValue())
-			return true;
-
-		//process all was set, don't skip
-		if (processAll)
-			return false;
-
-		//otherwise, we skip if not marked marked
-		String marked = inf.getProperty(MARK_PROPERTY);
-		return !Boolean.valueOf(marked).booleanValue();
-	}
-
-	/**
-	 * Stores the given properties in the output stream.  We store the properties 
-	 * in sorted order so that the signing hash doesn't change if the properties didn't change. 
-	 * @param props
-	 * @param stream
-	 */
-	public static void storeProperties(Properties props, OutputStream stream) {
-		PrintStream printStream = new PrintStream(stream);
-		printStream.print("#Processed using Jarprocessor\n"); //$NON-NLS-1$
-		SortedMap sorted = new TreeMap(props);
-		for (Iterator iter = sorted.keySet().iterator(); iter.hasNext();) {
-			String key = (String) iter.next();
-			printStream.print(key);
-			printStream.print(" = "); //$NON-NLS-1$
-			printStream.print(sorted.get(key));
-			printStream.print("\n"); //$NON-NLS-1$
-
-		}
-		printStream.flush();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
deleted file mode 100644
index 9f413f0..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2006, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public class ZipProcessor {
-
-	private JarProcessorExecutor executor = null;
-	private JarProcessorExecutor.Options options = null;
-
-	private String workingDirectory = null;
-	private Properties properties = null;
-	private Set packExclusions = null;
-	private Set signExclusions = null;
-
-	public void setExecutor(JarProcessorExecutor executor) {
-		this.executor = executor;
-	}
-
-	public void setOptions(JarProcessorExecutor.Options options) {
-		this.options = options;
-	}
-
-	public void setWorkingDirectory(String dir) {
-		workingDirectory = dir;
-	}
-
-	public String getWorkingDirectory() {
-		if (workingDirectory == null)
-			workingDirectory = "."; //$NON-NLS-1$
-		return workingDirectory;
-	}
-
-	private boolean repacking() {
-		return options.repack || (options.pack && options.signCommand != null);
-	}
-
-	public void processZip(File zipFile) throws ZipException, IOException {
-		if (options.verbose)
-			System.out.println("Processing " + zipFile.getPath()); //$NON-NLS-1$
-		ZipFile zip = new ZipFile(zipFile);
-		initialize(zip);
-
-		String extension = options.unpack ? "pack.gz" : ".jar"; //$NON-NLS-1$ //$NON-NLS-2$
-		File tempDir = new File(getWorkingDirectory(), "temp_" + zipFile.getName()); //$NON-NLS-1$
-		JarProcessor processor = new JarProcessor();
-		processor.setVerbose(options.verbose);
-		processor.setProcessAll(options.processAll);
-		processor.setWorkingDirectory(tempDir.getCanonicalPath());
-		if (options.unpack) {
-			executor.addPackUnpackStep(processor, properties, options);
-		}
-
-		File outputFile = new File(getWorkingDirectory(), zipFile.getName() + ".temp"); //$NON-NLS-1$
-		File parent = outputFile.getParentFile();
-		if (!parent.exists())
-			parent.mkdirs();
-		ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(outputFile));
-		Enumeration entries = zip.entries();
-		if (entries.hasMoreElements()) {
-			for (ZipEntry entry = (ZipEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (ZipEntry) entries.nextElement() : null) {
-				String name = entry.getName();
-
-				InputStream entryStream = zip.getInputStream(entry);
-
-				boolean pack = options.pack && !packExclusions.contains(name);
-				boolean sign = options.signCommand != null && !signExclusions.contains(name);
-				boolean repack = repacking() && !packExclusions.contains(name);
-
-				File extractedFile = null;
-
-				if (entry.getName().endsWith(extension) && (pack || sign || repack || options.unpack)) {
-					extractedFile = new File(tempDir, name);
-					parent = extractedFile.getParentFile();
-					if (!parent.exists())
-						parent.mkdirs();
-					if (options.verbose)
-						System.out.println("Extracting " + entry.getName()); //$NON-NLS-1$
-					FileOutputStream extracted = new FileOutputStream(extractedFile);
-					Utils.transferStreams(entryStream, extracted, true); // this will close the stream
-					entryStream = null;
-
-					boolean skip = Utils.shouldSkipJar(extractedFile, options.processAll, options.verbose);
-					if (skip) {
-						//skipping this file 
-						entryStream = new FileInputStream(extractedFile);
-						if (options.verbose)
-							System.out.println(entry.getName() + " is not marked, skipping."); //$NON-NLS-1$
-					} else {
-						if (options.unpack) {
-							File result = processor.processJar(extractedFile);
-							name = name.substring(0, name.length() - extractedFile.getName().length()) + result.getName();
-							extractedFile = result;
-						} else {
-							if (repack || sign) {
-								processor.clearProcessSteps();
-								if (repack)
-									executor.addPackUnpackStep(processor, properties, options);
-								if (sign)
-									executor.addSignStep(processor, properties, options);
-								extractedFile = processor.processJar(extractedFile);
-							}
-							if (pack) {
-								processor.clearProcessSteps();
-								executor.addPackStep(processor, properties, options);
-								File modifiedFile = processor.processJar(extractedFile);
-								if (modifiedFile.exists()) {
-									try {
-										String newName = name.substring(0, name.length() - extractedFile.getName().length()) + modifiedFile.getName();
-										if (options.verbose) {
-											System.out.println("Adding " + newName + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-											System.out.println();
-										}
-										ZipEntry zipEntry = new ZipEntry(newName);
-										entryStream = new FileInputStream(modifiedFile);
-										zipOut.putNextEntry(zipEntry);
-										Utils.transferStreams(entryStream, zipOut, false); //we want to keep zipOut open
-										entryStream.close();
-										Utils.clear(modifiedFile);
-									} catch (IOException e) {
-										Utils.close(entryStream);
-										if (options.verbose) {
-											e.printStackTrace();
-											System.out.println("Warning: Problem reading " + modifiedFile.getPath() + ".");
-										}
-									}
-									entryStream = null;
-								} else if (options.verbose) {
-									System.out.println("Warning: " + modifiedFile.getPath() + " not found.");
-								}
-							}
-						}
-						if (extractedFile.exists()) {
-							try {
-								entryStream = new FileInputStream(extractedFile);
-							} catch (IOException e) {
-								if (options.verbose) {
-									e.printStackTrace();
-									System.out.println("Warning: Problem reading " + extractedFile.getPath() + ".");
-								}
-							}
-						}
-
-						if (options.verbose && entryStream != null) {
-							System.out.println("Adding " + name + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-					}
-				}
-				if (entryStream != null) {
-					ZipEntry newEntry = new ZipEntry(name);
-					try {
-						zipOut.putNextEntry(newEntry);
-						Utils.transferStreams(entryStream, zipOut, false);
-						zipOut.closeEntry();
-					} catch (ZipException e) {
-						if (options.verbose) {
-							System.out.println("Warning: " + name + " already exists in " + outputFile.getName() + ".  Skipping.");
-						}
-					}
-					entryStream.close();
-				}
-
-				if (extractedFile != null)
-					Utils.clear(extractedFile);
-
-				if (options.verbose) {
-					System.out.println();
-					System.out.println("Processing " + zipFile.getPath()); //$NON-NLS-1$
-				}
-			}
-		}
-		zipOut.close();
-		zip.close();
-
-		File finalFile = new File(getWorkingDirectory(), zipFile.getName());
-		if (finalFile.exists())
-			finalFile.delete();
-		outputFile.renameTo(finalFile);
-		Utils.clear(tempDir);
-	}
-
-	private void initialize(ZipFile zip) {
-		ZipEntry entry = zip.getEntry("pack.properties"); //$NON-NLS-1$
-		properties = new Properties();
-		if (entry != null) {
-			InputStream stream = null;
-			try {
-				stream = zip.getInputStream(entry);
-				properties.load(stream);
-			} catch (IOException e) {
-				if (options.verbose)
-					e.printStackTrace();
-			} finally {
-				Utils.close(stream);
-			}
-		}
-
-		packExclusions = Utils.getPackExclusions(properties);
-		signExclusions = Utils.getSignExclusions(properties);
-
-		if (executor == null)
-			executor = new JarProcessorExecutor();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
deleted file mode 100644
index ef5fe5e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/pack-readme.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <title>Eclipse update packing tool readme</title>
-</head>
-<body>
-<h1>Eclipse update packing tool</h1>
-
-<h3>Overview</h3>
-The update packing tool processes a hierarchy of arbitrarily nested
-JARs and ZIP files.  It is a generic utility that performs a depth first traversal of 
-a nested hierarchy of ZIPs and JARs, performs various commands on
-each of the JARs in the hierarchy, and then rebuilds the same hierarchy
-of ZIPs and JARs again.  Currently its main functions are:
-<ul>
-	<li>Packing JARs using the Java 1.5 <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/pack200.html">pack200</a>
-	 command.</li>
-	 <li>Unpacking PACK.GZs using the Java 1.5 <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/unpack200.html">unpack200</a>
-	 command.</li>
-	 <li>Normalizing JARs for future compression by pack200. This is accomplished
-	 by running the pack200 command with the <tt>--repack</tt> command line argument.</li>
-	 <li>Signing JARs to allow for authentication of the origin of JARs. This is accomplished by
-	 running a supplied command (typically the command will just be a wrapper around
-	 the Java <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/jarsigner.html">jarsigner</a> tool).</li>
-</ul>
-The packing tool is used in the following contexts:
-<ul>
-	<li>During a PDE build, to prepare JARs for uploading to an Eclipse
-	update site.  In this usage, it is used to both nomalize JAR contents
-	(pack200 -repack), and sign JARs.</li>
-	<li>On an update site, to convert traditional JAR content into the 
-	compressed pack200 format.</li>
-	<li>From an Eclipse client application during update, to convert
-	compressed pack200 format content into executable JAR files.</li>
-</ul>
-<h3>Tool usage</h3>
-To run the packing tool, you need a 1.5 JRE installed. The tool is run
-by invoking Java as follows:
-
-<pre>
-	java jarprocessor.jar [options] input
-</pre>
-
-Where <tt>input</tt> is either a zip file, a directory, or a JAR (or a pack.gz file). All files ending 
-in ".jar" or ".pack.gz" in the provided zip or directory hierarchy
-will be processed. 
-The following additional command line arguments are supported:
-<ul>
-<li>-repack : Normalize the jars using pack200 <tt>--repack</tt></li>
-<li>-sign &lt;cmd&gt; : signs the jars by executing the provided command.  
-The command will be provided a single argument that will be the full path of the JAR to process.
-</li>
-<li>-pack : for each input in JAR form, produce a corresponding output
-in packed form.  For an input "a.jar", the output is a.jar.pack.gz.  
-</li>
-<li>-unpack : for each input in packed form, produce a corresponding output
-in unpacked form.  For an input "a.jar.pack.gz", the output is "a.jar". -unpack is mutually exclusive with -repack, -pack and -sign.</li>
-<li>-outputDir &lt;dir&gt; : The directory to put the tool's output into.  If the input was a zip file, then an output zip file will be
-created containg all the output files.  If the input was a directory, for each input file there is a corresponding output file in the output directory. By default the current working directory is used.  If the input is in the same
-directory as the output, the input files may be overwritten.</li>
-</ul>
-
-Additionally, when the input is a zip file, it may contain a file called
-<tt>pack.properties</tt>.  The pack.properties file supports the following values:
-<ul>
-<li>pack.excludes =  jarName[, jarName]* : A comma-delimited list of JARs that should not be packed or repacked.
-</li>
-<li>sign.excludes =  jarName[, jarName]* : A comma-delimited list of JARs that should not be signed.
-</li>
-<li>&lt;jarname&gt;.pack.args = option[, option]* : A comma-delimited list of additional arguments that should
-be passed to pack200 when packing any jar with name &lt;jarname&gt;.
-</ul>
-</p>
-<p>
-<font size=-1>
-Copyright (c) IBM Corporation and others 2006. All rights reserved. This program and the accompanying materials
-are made available under the terms of the 
-<a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v1.0</a>.
-</font>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/UnsignCommand.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/UnsignCommand.java
deleted file mode 100644
index 30a9e85..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/UnsignCommand.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor.unsigner;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.equinox.internal.p2.jarprocessor.SignCommandStep;
-
-public class UnsignCommand extends SignCommandStep {
-
-	public UnsignCommand(Properties options, String command, boolean verbose) {
-		super(options, command, verbose);
-	}
-
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (command != null && input != null && shouldSign(input, containers)) {
-			execute(input);
-		}
-		return null;
-	}
-
-	private void execute(File input) {
-		Unsigner jarUnsigner = new Unsigner();
-		jarUnsigner.setJar(input);
-		jarUnsigner.setKeepManifestEntries(false);
-		jarUnsigner.execute();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/Unsigner.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/Unsigner.java
deleted file mode 100644
index 6e8ca82..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/unsigner/Unsigner.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor.unsigner;
-import java.io.*;
-import java.util.Enumeration;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import java.util.zip.*;
-
-/**
- * This class removes the signature files from a jar and clean up the manifest.   
- */
-public class Unsigner {
-	private static final String META_INF = "META-INF"; //$NON-NLS-1$
-	private static final String DSA_EXT = ".DSA"; //$NON-NLS-1$
-	private static final String RSA_EXT = ".RSA"; //$NON-NLS-1$
-	private static final String SF_EXT = ".SF"; //$NON-NLS-1$
-	private static final String META_INF_PREFIX = META_INF + '/';
-	
-	private String[] signers;
-	private File jarFile;
-	private boolean keepManifestContent = false;
-	
-	private boolean isSigned(File file) {
-		ZipFile jar = null;
-		try {
-			jar = new ZipFile(file);
-
-			if (signers != null) {
-				for (int i = 0; i < signers.length; i++) {
-					if (jar.getEntry((META_INF_PREFIX + signers[i] + SF_EXT).toUpperCase()) != null)
-						return true;
-				}
-			} else {
-				Enumeration entries = jar.entries();
-				while (entries.hasMoreElements()) {
-					ZipEntry entry = (ZipEntry) entries.nextElement();
-					String entryName = entry.getName();
-					if(entryName.endsWith(SF_EXT) && entryName.startsWith(META_INF))
-						return true;
-				}
-			}
-			return false;
-		} catch (ZipException e) {
-			return false;
-		} catch (IOException e) {
-			return false;
-		} finally {
-			if (jar != null)
-				try {
-					jar.close();
-				} catch (IOException e) {
-					//Ignore
-				}
-		}
-	}
-	
-	public void execute() {
-		processJar(jarFile);
-	}
-	
-	private void processJar(File inputFile) {
-		if (!isSigned(inputFile))
-			return;
-
-		try {
-			ZipInputStream input = new ZipInputStream(new BufferedInputStream(new FileInputStream(inputFile)));
-			File outputFile = File.createTempFile("removing.", ".signature", inputFile.getParentFile()); //$NON-NLS-1$ //$NON-NLS-2$
-			ZipOutputStream output = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outputFile)));
-
-			ZipEntry inputZe = input.getNextEntry();
-			byte[] b = new byte[8192];
-			while (inputZe != null) {
-				byte remove = shouldRemove(inputZe);
-				if (remove == 2) {
-					inputZe = input.getNextEntry();
-					continue;
-				}
-
-				//copy the file or modify the manifest.mf
-				if (remove == 1) {
-					output.putNextEntry(new ZipEntry(inputZe.getName()));
-					Manifest m = new Manifest();
-					m.read(input);
-					m.getEntries().clear(); //This is probably not subtle enough
-					m.write(output);
-				} else {
-					output.putNextEntry(inputZe);
-					while (input.available() != 0) {
-						int read = input.read(b);
-						if (read != -1)
-							output.write(b, 0, read);
-					}
-				}
-				output.closeEntry();
-				input.closeEntry();
-
-				inputZe = input.getNextEntry();
-			}
-			output.close();
-			input.close();
-			inputFile.delete();
-			outputFile.renameTo(inputFile);
-		} catch (FileNotFoundException e) {
-			//this can't happen we have checked before
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	private byte shouldRemove(ZipEntry entry) {
-		String entryName = entry.getName();
-		if(keepManifestContent == false && entryName.equalsIgnoreCase(JarFile.MANIFEST_NAME)) {
-			return 1;
-		}
-		if (signers != null) {
-			for (int i = 0; i < signers.length; i++) {
-				if (entryName.equalsIgnoreCase(META_INF_PREFIX + signers[i] + SF_EXT) || entryName.equalsIgnoreCase(META_INF_PREFIX + signers[i] + RSA_EXT) || entryName.equalsIgnoreCase(META_INF_PREFIX + signers[i] + DSA_EXT))
-					return 2;
-			}
-		} else {
-			if (entryName.startsWith(META_INF) && (entryName.endsWith(SF_EXT) || entryName.endsWith(RSA_EXT) || entryName.endsWith(DSA_EXT)))
-				return 2;
-		}
-		return 0;
-	}
-	
-	public void setRemoveSigners(String[] fileName) {
-		signers = fileName;
-	}
-	
-	public void setJar(File file) {
-		jarFile = file;
-	}
-	
-	public void setKeepManifestEntries(boolean keep) {
-		keepManifestContent = keep;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
deleted file mode 100644
index 8aea9d1..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.jarprocessor.verifier;
-
-import java.io.*;
-import java.util.Iterator;
-import java.util.Properties;
-import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-public class Verifier extends JarProcessorExecutor {
-
-	private static void printUsage() {
-		System.out.println("This tool verifies that unpacking a pack.gz file with the jarprocessor results in a valid jar file."); //$NON-NLS-1$
-		System.out.println("Usage: java -cp jarprocessor.jar org.eclipse.update.internal.jarprocessor.verifier.Verifier -dir <workingDirectory> input [input]"); //$NON-NLS-1$
-		System.out.println(""); //$NON-NLS-1$
-		System.out.println("-dir : specifies a working directory where pack.gz files can be temporarily unpacked"); //$NON-NLS-1$
-		System.out.println("input : a list of directories and/or pack.gz files to verify."); //$NON-NLS-1$
-
-	}
-
-	public static void main(String[] args) {
-		if (!VerifyStep.canVerify()) {
-			System.out.println("Can't find jarsigner.  Please adjust your system path or use a jdk."); //$NON-NLS-1$
-			printUsage();
-			return;
-		}
-
-		String workingDirectory = null;
-		String[] input;
-
-		if (args.length == 0) {
-			workingDirectory = "."; //$NON-NLS-1$
-			input = new String[] {"."}; //$NON-NLS-1$
-		} else {
-			int idx = 0;
-			if (args[0] == "-help") { //$NON-NLS-1$
-				printUsage();
-				return;
-			}
-			if (args[idx] == "-dir") { //$NON-NLS-1$
-				workingDirectory = args[++idx];
-				idx++;
-			} else {
-				workingDirectory = "temp"; //$NON-NLS-1$
-			}
-
-			input = new String[args.length - idx];
-			System.arraycopy(args, idx, input, 0, args.length - idx);
-		}
-
-		File workingDir = new File(workingDirectory);
-		boolean clear = false;
-		if (workingDir.exists()) {
-			workingDir = new File(workingDir, "jarprocessor.verifier.temp"); //$NON-NLS-1$
-			clear = true;
-		}
-
-		Verifier verifier = new Verifier();
-		verifier.verify(workingDir, input);
-
-		if (clear)
-			workingDir.deleteOnExit();
-	}
-
-	public void verify(final File workingDirectory, String[] input) {
-		options = new Options();
-		options.verbose = false;
-		options.repack = true; // We first unpack first during repack/sign phase
-		options.pack = true; // then we are verifying during the pack phase.
-		options.outputDir = workingDirectory.toString();
-
-		Properties properties = new Properties();
-
-		/* There is no need to use a full processor to do the verification unless we want to verify nested jars as well.
-		 * So for now, use a custom processor to just call the verify step directly.
-		 */
-		final VerifyStep verifyStep = new VerifyStep(properties, false);
-		JarProcessor verifier = new JarProcessor() {
-			public File processJar(File inputFile) throws IOException {
-				Iterator iterator = getStepIterator();
-				if (iterator.hasNext() && iterator.next() instanceof VerifyStep)
-					return verifyStep.postProcess(inputFile, workingDirectory, null);
-				//else we are unpacking, call super
-				return super.processJar(inputFile);
-			}
-		};
-
-		for (int i = 0; i < input.length; i++) {
-			File inputFile = new File(input[i]);
-			if (inputFile.exists()) {
-				try {
-					process(inputFile, Utils.PACK_GZ_FILTER, true, verifier, properties);
-				} catch (FileNotFoundException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-		Utils.clear(workingDirectory);
-	}
-
-	public void addPackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
-		processor.addProcessStep(new VerifyStep(properties, processOptions.verbose));
-	}
-
-	public void addPackUnpackStep(JarProcessor processor, Properties properties, Options processOptions) {
-		processor.addProcessStep(new UnpackStep(properties, processOptions.verbose));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
deleted file mode 100644
index f9b1935..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/VerifyStep.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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 http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.jarprocessor.verifier;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.equinox.internal.p2.jarprocessor.CommandStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
-
-public class VerifyStep extends CommandStep {
-
-	static String verifyCommand = "jarsigner"; //$NON-NLS-1$
-	static Boolean canVerify = null;
-
-	public static boolean canVerify() {
-		if (canVerify != null)
-			return canVerify.booleanValue();
-
-		String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
-		String command = javaHome + "/../bin/jarsigner"; //$NON-NLS-1$
-		int result = execute(new String[] {command});
-		if (result < 0) {
-			command = "jarsigner"; //$NON-NLS-1$
-			result = execute(new String[] {command});
-			if (result < 0) {
-				canVerify = Boolean.FALSE;
-				return false;
-			}
-		}
-		verifyCommand = command;
-		canVerify = Boolean.TRUE;
-		return true;
-	}
-
-	public VerifyStep(Properties options, boolean verbose) {
-		super(options, verifyCommand, ".jar", verbose); //$NON-NLS-1$
-	}
-
-	public String getStepName() {
-		return "Verify"; //$NON-NLS-1$
-	}
-
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (canVerify() && verifyCommand != null) {
-			try {
-				System.out.print("Verifying " + input.getName() + ":  "); //$NON-NLS-1$ //$NON-NLS-2$
-				String[] cmd = new String[] {verifyCommand, "-verify", input.getCanonicalPath()}; //$NON-NLS-1$
-				int result = execute(cmd, true);
-				if (result != 0 && verbose)
-					System.out.println("Error: " + result + " was returned from command: " + Utils.concat(cmd)); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (IOException e) {
-				if (verbose)
-					e.printStackTrace();
-				return null;
-			}
-			return input;
-		}
-		return null;
-	}
-
-	public File preProcess(File input, File workingDirectory, List containers) {
-		return null;
-	}
-
-	public String recursionEffect(String entryName) {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
deleted file mode 100644
index 1479c4c..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/IProcessStep.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @author aniefer@ca.ibm.com
- *
- */
-public interface IProcessStep {
-
-	/**
-	 * The effect of this processing step if the JarProcessor was to recurse on this entry.
-	 * Return null if this step will not do anything with this entry.
-	 * Return the new entryName if this step will modify this entry on recursion.
-	 * @param entryName
-	 * @return The new entry name, or <code>null</code>
-	 */
-	public String recursionEffect(String entryName);
-
-	/**
-	 * Perform some processing on the input file before the JarProcessor considers the entries for recursion.
-	 * @param input
-	 * @param workingDirectory
-	 * @param containers inf properties for containing jars, innermost jar is first on the list
-	 * @return the file containing the result of the processing
-	 */
-	public File preProcess(File input, File workingDirectory, List containers);
-
-	/**
-	 * Perform some processing on the input file after the JarProcessor returns from recursion.
-	 *
-	 * @param input
-	 * @param workingDirectory
-	 * @param containers inf properties for containing jars, innermost jar is first on the list
-	 * @return the file containing the result of the processing
-	 */
-	public File postProcess(File input, File workingDirectory, List containers);
-
-	/**
-	 * Return the name of this process step
-	 * @return the name of this process step
-	 */
-	public String getStepName();
-
-	/**
-	 * Adjust any properties in the eclipse.inf as appropriate for this step
-	 * @param input
-	 * @param inf
-	 * @param containers inf properties for containing jars, innermost jar is first on the list
-	 */
-	public void adjustInf(File input, Properties inf, List containers);
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
deleted file mode 100644
index b22bc8e..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-import org.eclipse.equinox.internal.p2.jarprocessor.*;
-
-public class JarProcessor {
-	public static final String PACKED_SUFFIX = "pack.gz"; //$NON-NLS-1$
-
-	private List steps = new ArrayList();
-	private String workingDirectory = ""; //$NON-NLS-1$
-	private int depth = -1;
-	private boolean verbose = false;
-	private boolean processAll = false;
-	private LinkedList containingInfs = new LinkedList();
-
-	static public JarProcessor getUnpackProcessor(Properties properties) {
-		if (!canPerformUnpack())
-			throw new UnsupportedOperationException();
-		JarProcessor processor = new JarProcessor();
-		processor.addProcessStep(new UnpackStep(properties));
-		return processor;
-	}
-
-	static public JarProcessor getPackProcessor(Properties properties) {
-		if (!canPerformPack())
-			throw new UnsupportedOperationException();
-		JarProcessor processor = new JarProcessor();
-		processor.addProcessStep(new PackStep(properties));
-		return processor;
-	}
-
-	static public boolean canPerformPack() {
-		return PackStep.canPack();
-	}
-
-	static public boolean canPerformUnpack() {
-		return UnpackStep.canUnpack();
-	}
-
-	public String getWorkingDirectory() {
-		return workingDirectory;
-	}
-
-	public void setWorkingDirectory(String dir) {
-		if (dir != null)
-			workingDirectory = dir;
-	}
-
-	public void setVerbose(boolean verbose) {
-		this.verbose = verbose;
-	}
-
-	public void setProcessAll(boolean all) {
-		this.processAll = all;
-	}
-
-	public void addProcessStep(IProcessStep step) {
-		steps.add(step);
-	}
-
-	public void clearProcessSteps() {
-		steps.clear();
-	}
-
-	public Iterator getStepIterator() {
-		return steps.iterator();
-	}
-
-	/**
-	 * Recreate a jar file.  The replacements map specifies entry names to be replaced, the replacements are
-	 * expected to be found in directory.
-	 * 
-	 * @param jar - The input jar
-	 * @param outputJar - the output
-	 * @param replacements - map of entryName -> new entryName
-	 * @param directory - location to find file for new entryName
-	 * @throws IOException
-	 */
-	private void recreateJar(JarFile jar, JarOutputStream outputJar, Map replacements, File directory, Properties inf) throws IOException {
-		InputStream in = null;
-		boolean marked = false;
-		try {
-			Enumeration entries = jar.entries();
-			for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
-				File replacement = null;
-				JarEntry newEntry = null;
-				if (replacements.containsKey(entry.getName())) {
-					String name = (String) replacements.get(entry.getName());
-					replacement = new File(directory, name);
-					if (name != null) {
-						if (replacement.exists()) {
-							try {
-								in = new BufferedInputStream(new FileInputStream(replacement));
-								newEntry = new JarEntry(name);
-							} catch (Exception e) {
-								if (verbose) {
-									e.printStackTrace();
-									System.out.println("Warning: Problem reading " + replacement.getPath() + ", using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-								}
-							}
-						} else if (verbose) {
-							System.out.println("Warning: " + replacement.getPath() + " not found, using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						}
-					}
-				}
-				if (newEntry == null) {
-					try {
-						in = new BufferedInputStream(jar.getInputStream(entry));
-						newEntry = new JarEntry(entry.getName());
-					} catch (Exception e) {
-						if (verbose) {
-							e.printStackTrace();
-							System.out.println("ERROR: problem reading " + entry.getName() + " from " + jar.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						continue;
-					}
-				}
-				newEntry.setTime(entry.getTime());
-				outputJar.putNextEntry(newEntry);
-				if (entry.getName().equals(Utils.MARK_FILE_NAME)) {
-					//The eclipse.inf file was read in earlier, don't need to reread it, just write it out now
-					Utils.storeProperties(inf, outputJar);
-					marked = true;
-				} else {
-					Utils.transferStreams(in, outputJar, false);
-				}
-				outputJar.closeEntry();
-				in.close();
-
-				//delete the nested jar file
-				if (replacement != null) {
-					replacement.delete();
-				}
-			}
-			if (!marked) {
-				JarEntry entry = new JarEntry(Utils.MARK_FILE_NAME);
-				outputJar.putNextEntry(entry);
-				Utils.storeProperties(inf, outputJar);
-				outputJar.closeEntry();
-			}
-		} finally {
-			Utils.close(outputJar);
-			Utils.close(jar);
-			Utils.close(in);
-		}
-	}
-
-	private String recursionEffect(String entryName) {
-		String result = null;
-		for (Iterator iter = steps.iterator(); iter.hasNext();) {
-			IProcessStep step = (IProcessStep) iter.next();
-
-			result = step.recursionEffect(entryName);
-			if (result != null)
-				entryName = result;
-		}
-		return result;
-	}
-
-	private void extractEntries(JarFile jar, File tempDir, Map data, Properties inf) throws IOException {
-		if (inf != null) {
-			//skip if excluding children
-			if (inf.containsKey(Utils.MARK_EXCLUDE_CHILDREN)) {
-				String excludeChildren = inf.getProperty(Utils.MARK_EXCLUDE_CHILDREN);
-				if (Boolean.valueOf(excludeChildren).booleanValue())
-					if (verbose) {
-						for (int i = 0; i <= depth; i++)
-							System.out.print("  "); //$NON-NLS-1$
-						System.out.println("Children of " + jar.getName() + "are excluded from processing."); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				return;
-			}
-		}
-
-		Enumeration entries = jar.entries();
-		if (entries.hasMoreElements()) {
-			for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
-				String name = entry.getName();
-				String newName = recursionEffect(name);
-				if (newName != null) {
-					if (verbose) {
-						for (int i = 0; i <= depth; i++)
-							System.out.print("  "); //$NON-NLS-1$
-						System.out.println("Processing nested file: " + name); //$NON-NLS-1$
-					}
-					//extract entry to temp directory
-					File extracted = new File(tempDir, name);
-					File parentDir = extracted.getParentFile();
-					if (!parentDir.exists())
-						parentDir.mkdirs();
-
-					InputStream in = null;
-					OutputStream out = null;
-					try {
-						in = jar.getInputStream(entry);
-						out = new BufferedOutputStream(new FileOutputStream(extracted));
-						Utils.transferStreams(in, out, true); //this will close both streams
-					} finally {
-						Utils.close(in);
-						Utils.close(out);
-					}
-					extracted.setLastModified(entry.getTime());
-
-					//recurse
-					String dir = getWorkingDirectory();
-					try {
-						containingInfs.addFirst(inf);
-						setWorkingDirectory(parentDir.getCanonicalPath());
-						File result = processJar(extracted);
-						newName = name.substring(0, name.length() - extracted.getName().length()) + result.getName();
-						data.put(name, newName);
-					} finally {
-						setWorkingDirectory(dir);
-						containingInfs.removeFirst();
-					}
-
-					//delete the extracted item leaving the recursion result
-					if (!name.equals(newName))
-						extracted.delete();
-				}
-			}
-		}
-	}
-
-	private File preProcess(File input, File tempDir) {
-		File result = null;
-		for (Iterator iter = steps.iterator(); iter.hasNext();) {
-			IProcessStep step = (IProcessStep) iter.next();
-			result = step.preProcess(input, tempDir, containingInfs);
-			if (result != null)
-				input = result;
-		}
-		return input;
-	}
-
-	private File postProcess(File input, File tempDir) {
-		File result = null;
-		for (Iterator iter = steps.iterator(); iter.hasNext();) {
-			IProcessStep step = (IProcessStep) iter.next();
-			result = step.postProcess(input, tempDir, containingInfs);
-			if (result != null)
-				input = result;
-		}
-		return input;
-	}
-
-	private void adjustInf(File input, Properties inf) {
-		for (Iterator iter = steps.iterator(); iter.hasNext();) {
-			IProcessStep step = (IProcessStep) iter.next();
-			step.adjustInf(input, inf, containingInfs);
-		}
-	}
-
-	public File processJar(File input) throws IOException {
-		File tempDir = null;
-		++depth;
-		try {
-			long lastModified = input.lastModified();
-			File workingDir = new File(getWorkingDirectory());
-			if (!workingDir.exists())
-				workingDir.mkdirs();
-
-			boolean skip = Utils.shouldSkipJar(input, processAll, verbose);
-			if (depth == 0 && verbose) {
-				if (skip)
-					System.out.println("Skipping " + input.getPath()); //$NON-NLS-1$
-				else {
-					System.out.print("Running "); //$NON-NLS-1$ 
-					for (Iterator iter = steps.iterator(); iter.hasNext();) {
-						IProcessStep step = (IProcessStep) iter.next();
-						System.out.print(step.getStepName() + " "); //$NON-NLS-1$
-					}
-					System.out.println("on " + input.getPath()); //$NON-NLS-1$
-				}
-			}
-
-			if (skip) {
-				//This jar was not marked as conditioned, and we are only processing conditioned jars, so do nothing
-				return input;
-			}
-
-			//pre
-			File workingFile = preProcess(input, workingDir);
-
-			//Extract entries from jar and recurse on them
-			if (depth == 0) {
-				tempDir = new File(workingDir, "temp." + workingFile.getName()); //$NON-NLS-1$
-			} else {
-				File parent = workingDir.getParentFile();
-				tempDir = new File(parent, "temp_" + depth + '_' + workingFile.getName()); //$NON-NLS-1$
-			}
-
-			JarFile jar = new JarFile(workingFile, false);
-			Map replacements = new HashMap();
-			Properties inf = Utils.getEclipseInf(workingFile, verbose);
-			extractEntries(jar, tempDir, replacements, inf);
-
-			if (inf != null)
-				adjustInf(workingFile, inf);
-
-			//Recreate the jar with replacements. 
-			//TODO: This is not strictly necessary if we didn't change the inf file and didn't change any content
-			File tempJar = null;
-			tempJar = new File(tempDir, workingFile.getName());
-			File parent = tempJar.getParentFile();
-			if (!parent.exists())
-				parent.mkdirs();
-			JarOutputStream jarOut = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(tempJar)));
-			recreateJar(jar, jarOut, replacements, tempDir, inf);
-
-			jar.close();
-			if (tempJar != null) {
-				if (!workingFile.equals(input)) {
-					workingFile.delete();
-				}
-				workingFile = tempJar;
-			}
-
-			//post
-			File result = postProcess(workingFile, workingDir);
-
-			//have to normalize after the post steps
-			normalize(result, workingDir);
-
-			if (!result.equals(workingFile) && !workingFile.equals(input))
-				workingFile.delete();
-			if (!result.getParentFile().equals(workingDir)) {
-				File finalFile = new File(workingDir, result.getName());
-				if (finalFile.exists())
-					finalFile.delete();
-				result.renameTo(finalFile);
-				result = finalFile;
-			}
-
-			result.setLastModified(lastModified);
-			return result;
-		} finally {
-			--depth;
-			if (tempDir != null && tempDir.exists())
-				Utils.clear(tempDir);
-		}
-	}
-
-	private void normalize(File input, File directory) {
-		if (input.getName().endsWith(JarProcessor.PACKED_SUFFIX)) {
-			//not a jar
-			return;
-		}
-		try {
-			File tempJar = new File(directory, "temp_" + input.getName()); //$NON-NLS-1$
-			JarFile jar = null;
-			try {
-				jar = new JarFile(input, false);
-			} catch (JarException e) {
-				//not a jar
-				return;
-			}
-			JarOutputStream jarOut = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(tempJar)));
-			InputStream in = null;
-			try {
-				Enumeration entries = jar.entries();
-				for (JarEntry entry = (JarEntry) entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
-					JarEntry newEntry = new JarEntry(entry.getName());
-					newEntry.setTime(entry.getTime());
-					in = new BufferedInputStream(jar.getInputStream(entry));
-					jarOut.putNextEntry(newEntry);
-					Utils.transferStreams(in, jarOut, false);
-					jarOut.closeEntry();
-					in.close();
-				}
-			} finally {
-				Utils.close(jarOut);
-				Utils.close(jar);
-				Utils.close(in);
-			}
-			tempJar.setLastModified(input.lastModified());
-			input.delete();
-			tempJar.renameTo(input);
-		} catch (IOException e) {
-			if (verbose) {
-				System.out.println("Error normalizing jar " + input.getName()); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
deleted file mode 100644
index 332333f..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.internal.provisional.equinox.p2.jarprocessor;
-
-import java.io.*;
-import java.util.Properties;
-import java.util.Set;
-import java.util.zip.ZipException;
-import org.eclipse.equinox.internal.p2.jarprocessor.*;
-
-public class JarProcessorExecutor {
-	public static class Options {
-		public String outputDir = "."; //$NON-NLS-1$
-		public String signCommand = null;
-		public boolean pack = false;
-		public boolean repack = false;
-		public boolean unpack = false;
-		public boolean verbose = false;
-		public boolean processAll = false;
-		public File input = null;
-	}
-
-	protected Options options = null;
-	private Set packExclusions = null;
-	private Set signExclusions = null;
-
-	public void runJarProcessor(Options processOptions) {
-		this.options = processOptions;
-		if (options.input.isFile() && options.input.getName().endsWith(".zip")) { //$NON-NLS-1$
-			ZipProcessor processor = new ZipProcessor();
-			processor.setWorkingDirectory(options.outputDir);
-			processor.setOptions(options);
-			processor.setExecutor(this);
-			try {
-				processor.processZip(options.input);
-			} catch (ZipException e) {
-				if (options.verbose)
-					e.printStackTrace();
-			} catch (IOException e) {
-				if (options.verbose)
-					e.printStackTrace();
-			}
-		} else {
-			JarProcessor processor = new JarProcessor();
-
-			processor.setWorkingDirectory(options.outputDir);
-			processor.setProcessAll(options.processAll);
-			processor.setVerbose(options.verbose);
-
-			//load options file
-			Properties properties = new Properties();
-			if (options.input.isDirectory()) {
-				File packProperties = new File(options.input, "pack.properties"); //$NON-NLS-1$
-				if (packProperties.exists() && packProperties.isFile()) {
-					InputStream in = null;
-					try {
-						in = new BufferedInputStream(new FileInputStream(packProperties));
-						properties.load(in);
-					} catch (IOException e) {
-						if (options.verbose)
-							e.printStackTrace();
-					} finally {
-						Utils.close(in);
-					}
-				}
-
-				packExclusions = Utils.getPackExclusions(properties);
-				signExclusions = Utils.getSignExclusions(properties);
-			}
-
-			try {
-				FileFilter filter = createFileFilter(options);
-				process(options.input, filter, options.verbose, processor, properties);
-			} catch (FileNotFoundException e) {
-				if (options.verbose)
-					e.printStackTrace();
-			}
-		}
-	}
-
-	protected FileFilter createFileFilter(Options processOptions) {
-		return processOptions.unpack ? Utils.PACK_GZ_FILTER : Utils.JAR_FILTER;
-	}
-
-	protected String getRelativeName(File file) {
-		if (options.input == null)
-			return file.toString();
-		try {
-			File input = options.input.getCanonicalFile();
-			File subFile = file.getCanonicalFile();
-
-			if (input.isFile())
-				return subFile.getName();
-
-			if (!subFile.toString().startsWith(input.toString())) {
-				// the file is not under the base folder.
-				return file.toString();
-			}
-
-			File parent = subFile.getParentFile();
-			String result = subFile.getName();
-			while (!parent.equals(input)) {
-				result = parent.getName() + '/' + result;
-				parent = parent.getParentFile();
-			}
-			return result;
-
-		} catch (IOException e) {
-			return file.getName();
-		}
-	}
-
-	private boolean shouldPack(String name) {
-		if (!options.pack)
-			return false;
-		return packExclusions == null ? true : !packExclusions.contains(name);
-	}
-
-	private boolean shouldSign(String name) {
-		if (options.signCommand == null)
-			return false;
-		return signExclusions == null ? true : !signExclusions.contains(name);
-	}
-
-	private boolean shouldRepack(String name) {
-		if (shouldSign(name) && shouldPack(name))
-			return true;
-		if (!options.repack)
-			return false;
-		return packExclusions == null ? true : !packExclusions.contains(name);
-	}
-
-	protected void process(File input, FileFilter filter, boolean verbose, JarProcessor processor, Properties packProperties) throws FileNotFoundException {
-		if (!input.exists())
-			throw new FileNotFoundException();
-
-		File[] files = null;
-		if (input.isDirectory()) {
-			files = input.listFiles();
-		} else if (filter.accept(input)) {
-			files = new File[] {input};
-		} else
-			return;
-		for (int i = 0; i < files.length; i++) {
-			if (files[i].isDirectory()) {
-				processDirectory(files[i], filter, verbose, processor, packProperties);
-			} else if (filter.accept(files[i])) {
-				try {
-					processor.clearProcessSteps();
-					if (options.unpack) {
-						addUnpackStep(processor, packProperties, options);
-						processor.processJar(files[i]);
-					} else {
-						String name = getRelativeName(files[i]);
-						boolean sign = shouldSign(name);
-						boolean repack = shouldRepack(name);
-
-						if (repack || sign) {
-							processor.clearProcessSteps();
-							if (repack)
-								addPackUnpackStep(processor, packProperties, options);
-							if (sign)
-								addSignStep(processor, packProperties, options);
-							files[i] = processor.processJar(files[i]);
-						}
-
-						if (shouldPack(name)) {
-							processor.clearProcessSteps();
-							addPackStep(processor, packProperties, options);
-							processor.processJar(files[i]);
-						}
-					}
-				} catch (IOException e) {
-					if (verbose)
-						e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	protected void processDirectory(File input, FileFilter filter, boolean verbose, JarProcessor processor, Properties packProperties) throws FileNotFoundException {
-		if (!input.isDirectory())
-			return;
-		String dir = processor.getWorkingDirectory();
-		processor.setWorkingDirectory(dir + "/" + input.getName()); //$NON-NLS-1$
-		process(input, filter, verbose, processor, packProperties);
-		processor.setWorkingDirectory(dir);
-	}
-
-	public void addPackUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
-		processor.addProcessStep(new PackUnpackStep(properties, processOptions.verbose));
-	}
-
-	public void addSignStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
-		processor.addProcessStep(new SignCommandStep(properties, processOptions.signCommand, processOptions.verbose));
-	}
-
-	public void addPackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
-		processor.addProcessStep(new PackStep(properties, processOptions.verbose));
-	}
-
-	public void addUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
-		processor.addProcessStep(new UnpackStep(properties, processOptions.verbose));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntBasedProcessorExecutor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntBasedProcessorExecutor.java
deleted file mode 100644
index 7639262..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntBasedProcessorExecutor.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor.ant;
-
-import java.io.*;
-import java.util.*;
-import org.apache.tools.ant.Project;
-import org.eclipse.equinox.internal.p2.jarprocessor.unsigner.UnsignCommand;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-
-public class AntBasedProcessorExecutor extends JarProcessorExecutor {
-	private final Project project;
-	private final Properties signArguments;
-	private final String antTaskName;
-	private List inputFiles;
-	private HashSet filterSet = null;
-	private FileFilter baseFilter = null;
-
-	public AntBasedProcessorExecutor(Properties signArguments, Project project, String antTaskName) {
-		this.signArguments = signArguments;
-		this.project = project;
-		this.antTaskName = antTaskName;
-	}
-
-	protected FileFilter createFileFilter(Options options) {
-		baseFilter = super.createFileFilter(options);
-		if (inputFiles == null || inputFiles.size() == 0)
-			return baseFilter;
-
-		filterSet = new HashSet();
-		filterSet.addAll(inputFiles);
-		return new FileFilter() {
-			public boolean accept(File pathname) {
-				return getFilterSet().contains(pathname);
-			}
-		};
-	}
-
-	protected HashSet getFilterSet() {
-		return filterSet;
-	}
-
-	protected void processDirectory(File input, FileFilter filter, boolean verbose, JarProcessor processor, Properties packProperties) throws FileNotFoundException {
-		if (filterSet != null && filterSet.contains(input)) {
-			File[] files = input.listFiles();
-			for (int i = 0; i < files.length; i++) {
-				if (files[i].isDirectory() || baseFilter.accept(files[i]))
-					filterSet.add(files[i]);
-			}
-		}
-		super.processDirectory(input, filter, verbose, processor, packProperties);
-	}
-
-	public void addSignStep(JarProcessor processor, Properties properties, Options options) {
-		if (signArguments.get(JarProcessorTask.UNSIGN) != null)
-			processor.addProcessStep(new UnsignCommand(properties, options.signCommand, options.verbose));
-		if (signArguments.get(JarProcessorTask.SIGN) != null)
-			processor.addProcessStep(new AntSignCommand(properties, signArguments, project, antTaskName, options.signCommand, options.verbose));
-	}
-
-	public void setInputFiles(List inputFiles) {
-		this.inputFiles = inputFiles;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntSignCommand.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntSignCommand.java
deleted file mode 100644
index 591cf8c..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/AntSignCommand.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor.ant;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.SignJar;
-import org.eclipse.equinox.internal.p2.jarprocessor.SignCommandStep;
-
-public class AntSignCommand extends SignCommandStep {
-	private final Project project;
-	private final Properties jarSignerArguments;
-	private final String antTaskName;
-
-	public AntSignCommand(Properties options, Properties signArguments, Project project, String antTaskName, String command, boolean verbose) {
-		super(options, command, verbose);
-		this.project = project;
-		this.jarSignerArguments = signArguments;
-		this.antTaskName = antTaskName;
-	}
-
-	public File postProcess(File input, File workingDirectory, List containers) {
-		if (command != null && input != null && shouldSign(input, containers)) {
-			execute(input);
-		}
-		return null;
-	}
-
-	private void execute(File input) {
-		try {
-			SignJar jarSigner = new SignJar();
-			jarSigner.setJar(input);
-			jarSigner.setAlias(jarSignerArguments.getProperty(JarProcessorTask.ALIAS));
-			jarSigner.setKeystore(jarSignerArguments.getProperty(JarProcessorTask.KEYSTORE));
-			jarSigner.setStorepass(jarSignerArguments.getProperty(JarProcessorTask.STOREPASS));
-			jarSigner.setKeypass(jarSignerArguments.getProperty(JarProcessorTask.KEYPASS));
-			jarSigner.setProject(project);
-			jarSigner.setTaskName(antTaskName);
-			jarSigner.execute();
-		} catch (BuildException e) {
-			if (e.getCause() instanceof IOException) {
-				throw new BuildException("The jarsigner could not be found. Make sure to run with the build with a JDK.", e); //$NON-NLS-1$
-			}
-			throw e;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
deleted file mode 100644
index c8cfbfa..0000000
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.jarprocessor.ant;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Properties;
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.types.FileSet;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
-
-/**
- * This task provides massaging facilities for jar files.
- * It supports: signing, unsigning, normalization, packing
- * 	- 
- */
-public class JarProcessorTask extends Task {
-	private final Options options = new Options();
-	private final Properties signArgs = new Properties();
-	private final ArrayList inputFiles = new ArrayList();
-
-	public static final String ALIAS = "alias"; //$NON-NLS-1$
-	public static final String KEYSTORE = "keystore"; //$NON-NLS-1$
-	public static final String STOREPASS = "storepass"; //$NON-NLS-1$
-	public static final String KEYPASS = "keypass"; //$NON-NLS-1$
-	public static final String UNSIGN = "unsign"; //$NON-NLS-1$
-	public static final String SIGN = "sign"; //$NON-NLS-1$
-
-	private static final String FAKE_COMMAND = "fake"; //$NON-NLS-1$
-
-	public void setAlias(String alias) {
-		signArgs.setProperty(ALIAS, alias);
-	}
-
-	public void setKeystore(String keystore) {
-		signArgs.setProperty(KEYSTORE, keystore);
-	}
-
-	public void setJar(File jar) {
-		options.input = jar;
-		options.outputDir = jar.getParentFile().getAbsolutePath();
-	}
-
-	public void setInputFolder(File folder) {
-		options.input = folder;
-		options.outputDir = folder.getAbsolutePath();
-	}
-
-	public void setStorepass(String storepass) {
-		signArgs.setProperty(STOREPASS, storepass);
-	}
-
-	public void setKeypass(String keypass) {
-		if (keypass != null && keypass.length() > 0 && !keypass.startsWith("${")) //$NON-NLS-1$
-			signArgs.setProperty(KEYPASS, keypass);
-	}
-
-	public void setPack(boolean pack) {
-		options.pack = pack;
-	}
-
-	public void setNormalize(boolean normalize) {
-		options.repack = normalize;
-	}
-
-	public void setUnsign(boolean unsign) {
-		if (unsign) {
-			signArgs.put(UNSIGN, Boolean.TRUE.toString());
-			options.signCommand = FAKE_COMMAND;
-		}
-	}
-
-	public void setSign(boolean sign) {
-		if (sign) {
-			signArgs.put(SIGN, Boolean.TRUE.toString());
-			options.signCommand = FAKE_COMMAND;
-		}
-	}
-
-	private void adjustAndValidateConfiguration() {
-		//Sign and pack implies a normalization
-		if (options.signCommand != null && options.pack)
-			options.repack = true;
-
-		//Check that alias, and storepass are set
-		if (options.signCommand != null && signArgs.getProperty(UNSIGN) == null) {
-			if (signArgs.getProperty(ALIAS) == null)
-				throw new BuildException("Alias must be set"); //$NON-NLS-1$
-
-			if (signArgs.getProperty(STOREPASS) == null)
-				throw new BuildException("Storepass must be set"); //$NON-NLS-1$
-		}
-	}
-
-	public void execute() {
-		options.processAll = true;
-		adjustAndValidateConfiguration();
-		AntBasedProcessorExecutor executor = new AntBasedProcessorExecutor(signArgs, getProject(), getTaskName());
-		if (inputFiles.size() > 0)
-			executor.setInputFiles(inputFiles);
-		executor.runJarProcessor(options);
-	}
-
-	public void setVerbose(boolean verbose) {
-		options.verbose = verbose;
-	}
-
-	public void addInputFile(File file) {
-		inputFiles.add(file);
-	}
-
-	public void addConfiguredFile(FileSet fileset) {
-		DirectoryScanner scanner = fileset.getDirectoryScanner(getProject());
-		String [] included = scanner.getIncludedFiles();
-		for (int i = 0; i < included.length; i++) {
-			addInputFile(new File(scanner.getBasedir(), included[i]));
-		}
-		included = scanner.getIncludedDirectories();
-		for (int i = 0; i < included.length; i++) {
-			addInputFile(new File(scanner.getBasedir(), included[i]));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath b/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore b/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
deleted file mode 100644
index e17d879..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.equinox.simpleconfigurator.jar
-org.eclipse.update.configurator.jar
-bin
-ant_tasks
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
deleted file mode 100644
index 4356918..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1255396900634_19&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.equinox.p2.metadata.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.metadata.generator"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.project b/bundles/org.eclipse.equinox.p2.metadata.generator/.project
deleted file mode 100644
index f1612dd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.metadata.generator</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9c85103..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,344 +0,0 @@
-#Thu Feb 21 15:21:23 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index f873868..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Thu Jan 24 12:13:40 EST 2008
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
deleted file mode 100644
index dde120a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.0_Foundation-1.0.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io
-org.osgi.framework.bootdelegation = \
- javax.microedition.io
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0
-osgi.java.profile.name = CDC-1.0/Foundation-1.0
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
deleted file mode 100644
index 67b20c7..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/CDC-1.1_Foundation-1.1.profile
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- CDC-1.0/Foundation-1.0,\
- CDC-1.1/Foundation-1.1
-osgi.java.profile.name = CDC-1.1/Foundation-1.1
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
deleted file mode 100644
index ab98b67..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.2.profile
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- org.omg.CORBA,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1,\
- J2SE-1.2
-osgi.java.profile.name = J2SE-1.2
-org.eclipse.jdt.core.compiler.compliance=1.2
-org.eclipse.jdt.core.compiler.source=1.2
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
deleted file mode 100644
index da3538e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.3.profile
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.omg.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3
-osgi.java.profile.name = J2SE-1.3
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
deleted file mode 100644
index abaa0c3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.4.profile
+++ /dev/null
@@ -1,129 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4
-osgi.java.profile.name = J2SE-1.4
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
deleted file mode 100644
index e56a929..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/J2SE-1.5.profile
+++ /dev/null
@@ -1,157 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5
-osgi.java.profile.name = J2SE-1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
deleted file mode 100644
index 7bb8b46..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/JRE-1.1.profile
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1
-osgi.java.profile.name = JRE-1.1
-org.eclipse.jdt.core.compiler.compliance=1.1
-org.eclipse.jdt.core.compiler.source=1.1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
deleted file mode 100644
index 68e811f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/JavaSE-1.6.profile
+++ /dev/null
@@ -1,194 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activation,\
- javax.activity,\
- javax.annotation,\
- javax.annotation.processing,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.jws,\
- javax.jws.soap,\
- javax.lang.model,\
- javax.lang.model.element,\
- javax.lang.model.type,\
- javax.lang.model.util,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.script,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.tools,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.bind,\
- javax.xml.bind.annotation,\
- javax.xml.bind.annotation.adapters,\
- javax.xml.bind.attachment,\
- javax.xml.bind.helpers,\
- javax.xml.bind.util,\
- javax.xml.crypto,\
- javax.xml.crypto.dom,\
- javax.xml.crypto.dsig,\
- javax.xml.crypto.dsig.dom,\
- javax.xml.crypto.dsig.keyinfo,\
- javax.xml.crypto.dsig.spec,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.soap,\
- javax.xml.stream,\
- javax.xml.stream.events,\
- javax.xml.stream.util,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.ws,\
- javax.xml.ws.handler,\
- javax.xml.ws.handler.soap,\
- javax.xml.ws.http,\
- javax.xml.ws.soap,\
- javax.xml.ws.spi,\
- javax.xml.ws.wsaddressing,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views,\
- org.w3c.dom.xpath,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5,\
- JavaSE-1.6
-osgi.java.profile.name = JavaSE-1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
deleted file mode 100644
index 4ba1999..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,42 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.generator;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.200.qualifier
-Require-Bundle: org.eclipse.equinox.p2.core,
- org.eclipse.osgi,
- org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.frameworkadmin.equinox,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata,
- org.w3c.dom,
- org.xml.sax,
- org.xml.sax.helpers
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.generator.Activator
-Export-Package: org.eclipse.equinox.internal.p2.metadata.generator;x-internal:=true,
- org.eclipse.equinox.internal.p2.metadata.generator.features;x-friends:="org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-  x-friends:="org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.updatesite"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
deleted file mode 100644
index 5464e64..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Plugins and Features.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Metadata Generator Plugins and Features"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:C:/equinox.p2/servers/&#13;&#10;-artifactRepository file:C:/equinox.p2/servers/&#13;&#10;-source d:/tmp/orbit/eclipse&#13;&#10;-publishArtifacts&#13;&#10;-append&#13;&#10;-noDefaultIUs"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.ant.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.app@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.common@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.variables@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.runtime@default:true"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
deleted file mode 100644
index 2fd1986..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator SDK.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Metadata Generator SDK"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/j2sdk1.4.2_08"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:C:/equinox.p2/servers/&#13;&#10;-artifactRepository file:C:/equinox.p2/servers/&#13;&#10;-source c:\eclipse\latest\eclipse&#13;&#10;-root sdk&#13;&#10;-rootVersion 3.4.0.I20080212withcopyrightlicensechanges&#13;&#10;-flavor tooling&#13;&#10;-publishArtifacts&#13;&#10;-append"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.eclipse.update.configurator@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
deleted file mode 100644
index bb6ef0e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/Metadata Generator Update Site.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Metadata Generator Update Site"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-updateSite d:/ganymedeM5/&#13;&#10;-site file:d:/ganymedeM5/site.xml&#13;&#10;-metadataRepository file:d:/ganymedeM5/&#13;&#10;-metadataRepositoryName &quot;Ganymede Update Site&quot;&#13;&#10;-artifactRepository file:d:/ganymedeM5/&#13;&#10;-artifactRepositoryName &quot;Ganymede Artifacts&quot;&#13;&#10;-append&#13;&#10;-compress&#13;&#10;-reusePack200Files"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.common*3.4.0.v20080407@default:default,com.ibm.icu*3.8.1.v20080304@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.equinox.launcher*1.0.100.v20080407@default:default,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.update.configurator*3.2.200.v20080404@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080407@default:false,org.eclipse.equinox.app*1.0.100.v20080331@default:true,org.eclipse.osgi*3.4.0.v20080407@:,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.equinox.security.win32.x86*1.0.0.v20080324@default:false,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.equinox.registry*3.4.0.v20080316@default:default,org.eclipse.equinox.security*1.0.0.v20080407@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.core.runtime*3.4.0.v20080324-1725@default:default,org.eclipse.core.contenttype*3.3.0.v20080407@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.core.net*1.0.100.I20080322@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
deleted file mode 100644
index 773501a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.0.profile
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0
-osgi.java.profile.name = OSGi/Minimum-1.0
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
deleted file mode 100644
index 5031392..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.1.profile
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1
-osgi.java.profile.name = OSGi/Minimum-1.1
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.2.profile b/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.2.profile
deleted file mode 100644
index 601b373..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/OSGi_Minimum-1.2.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2
-osgi.java.profile.name = OSGi/Minimum-1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/about.html b/bundles/org.eclipse.equinox.p2.metadata.generator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
deleted file mode 100644
index ca56ce6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/build.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-source.ant_tasks/generator-ant.jar=src_ant/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               OSGi_Minimum-1.1.profile,\
-               OSGi_Minimum-1.0.profile,\
-               JavaSE-1.6.profile,\
-               JRE-1.1.profile,\
-               J2SE-1.5.profile,\
-               J2SE-1.4.profile,\
-               J2SE-1.3.profile,\
-               J2SE-1.2.profile,\
-               CDC-1.1_Foundation-1.1.profile,\
-               CDC-1.0_Foundation-1.0.profile,\
-               plugin.xml,\
-               ant_tasks/generator-ant.jar,\
-               plugin.properties
-src.includes = about.html
-jars.compile.order=.,ant_tasks/generator-ant.jar
-extra.ant_tasks/generator-ant.jar = platform:/plugin/org.apache.ant
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini b/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
deleted file mode 100644
index ec13298..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/config.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the 
-# System properties on system startup.  The values control the way the 
-# runtime is structured and runs.
-
-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 
-# URLs given may include a version number (e.g., .../location_1.2.3).  
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number.  If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point.  The default value is
-# platform:/base/plugins/org.eclipse.osgi 
-#osgi.framework=platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location.  This 
-# comma-separated list contains either URLs or simple element names.  Simple
-# names are assumed to be relative to the framework's install directory.  
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file.  There is no default value.
-#osgi.splashPath=
-
-# The location of the splash screen file.  If this value is set at system startup it is used 
-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running.  Each entry if of the form
-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start,org.eclipse.equinox.frameworkadmin.equinox@start
-
-# The product to run.  A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc 
-# as well as define the default application to run.  
-#eclipse.product=
-
-# The application to run.  The value specified here is the id of the application extension
-# the runtime will find, instantiate and execute once the system is up.  Note that typically 
-# the identified eclipse.product defines the default application to run.
-#eclipse.application=
-
-# The build identifier
-eclipse.buildId=@build@
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product b/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
deleted file mode 100644
index 1e313cd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/generator.product
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="Equinox Provisioning Metadata Generator" id="org.eclipse.equinox.p2.metadata.generator.product" application="org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" useFeatures="true">
-
-   <configIni use="custom" path="/org.eclipse.equinox.p2.metadata.generator/config.ini"/>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <launcher name="eclipse">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.equinox.p2.generator.feature" version="0.0.0"/>
-      <feature id="org.eclipse.rcp" version="0.0.0"/>
-   </features>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch b/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
deleted file mode 100644
index 7ad55f2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/p2-izer update site.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2-izer update site"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:d:/ganymedeM5/&#13;&#10;-artifactRepository file:d:/ganymedeM5/&#13;&#10;-updateSite d:/ganymedeM5/&#13;&#10;-site file:d:/ganymedeM5/site.xml&#13;&#10;-flavor tooling&#13;&#10;-append&#13;&#10;-reusePack200Files&#13;&#10;-compress"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.app*1.0.100.v20080303@default:true,org.eclipse.equinox.preferences*3.2.200.v20080201@default:default,org.eclipse.update.configurator*3.2.200.v20080107@default:default,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.core.runtime*3.4.0.v20080303@default:default,org.eclipse.core.jobs*3.3.100.v20080224@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080201a@default:false,com.ibm.icu*3.8.1.v20080103@default:default,org.eclipse.equinox.launcher*1.0.100.v20080303@default:default,org.eclipse.equinox.common*3.4.0.v20080201@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.osgi*3.4.0.v20080304@:,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080201a@default:false,org.eclipse.equinox.registry*3.4.0.v20080201@default:default,org.eclipse.equinox.launcher*1.0.100.v20080303@default:default,org.eclipse.core.contenttype*3.3.0.v20080201@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf*1.4.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf.identity*1.3.0.qualifier@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
deleted file mode 100644
index 0c08404..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Metadata Generator
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml b/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
deleted file mode 100644
index 9b38c12..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         id="EclipseGenerator"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.metadata.generator.EclipseGenerator"
-            name="Equinox Provisioning Metadata Generator">
-      </product>
-   </extension>
-
-	<extension point="org.eclipse.ant.core.antTasks">
-		<antTask
-			library="ant_tasks/generator-ant.jar"
-			name="p2.generator"
-			class="org.eclipse.equinox.internal.p2.metadata.generator.ant.GeneratorTask">
-		</antTask>
-	</extension>
-
-	<extension point="org.eclipse.ant.core.extraClasspathEntries">
-		<extraClasspathEntry library="ant_tasks/generator-ant.jar"/>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml b/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
deleted file mode 100644
index b570060..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.equinox.p2.metadata.generator" default="default" basedir="..">
-
-	<target name="init" depends="properties">
-		<property name="plugin" value="org.eclipse.equinox.p2.metadata.generator"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}/ant_tasks"/>
-		<property name="version.suffix" value="_3.1.0"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="buildScripts" depends="init" description="Build from generated scripts">
-		<tstamp/>
-		<eclipse.buildScript elements="plugin@${plugin}" 
-			buildDirectory="${buildDirectory}" 
-			configInfo="*,*,*" 
-			baseLocation="${baseLocation}" 
-			buildingOSGi="true" 
-			outputUpdateJars="false"
-			pluginpath="${basedir}"
-			forceContextQualifier="z${DSTAMP}${TSTAMP}"
-			/>
-		<delete file="${basedir}/ant_tasks/generator-ant.jar" failonerror="false"/>
-		<ant antfile="${basedir}/build.xml" target="ant_tasks/generator-ant.jar"/>
-	</target>
-
-	<target name="default" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="${basedir}/ant_tasks" />
-		<delete file="${basedir}/ant_tasks/generator-ant.jar" failonerror="false"/>
-		<jar destfile="${basedir}/ant_tasks/generator-ant.jar" basedir="bin_ant"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
deleted file mode 100644
index 5c2cb2c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Activator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static BundleContext context = null;
-	public static String ID = "org.eclipse.equinox.p2.metadata.generator"; //$NON-NLS-1$
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		Activator.context = context;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		Activator.context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
deleted file mode 100644
index 70981ad..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/EclipseGeneratorApplication.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.ServiceReference;
-
-public class EclipseGeneratorApplication implements IApplication {
-
-	// The mapping rules for in-place generation need to construct paths into the structure
-	// of an eclipse installation; in the future the default artifact mapping declared in
-	// SimpleArtifactRepository may change, for example, to not have a 'bundles' directory
-	// instead of a 'plugins' directory, so a separate constant is defined and used here.
-	static final private String[][] INPLACE_MAPPING_RULES = { {"(& (classifier=osgi.bundle) (format=packed)", "${repoUrl}/features/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}}; //$NON-NLS-1$//$NON-NLS-2$
-
-	static final public String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
-	private Generator.GeneratorResult incrementalResult = null;
-	private boolean generateRootIU = true;
-	private URI metadataLocation;
-	private String metadataRepoName;
-	private URI artifactLocation;
-	private String artifactRepoName;
-	private String operation;
-	private String argument;
-	private String features;
-	private String bundles;
-	private String base;
-	//whether repository xml files should be compressed
-	private String compress = "false"; //$NON-NLS-1$
-
-	private ServiceReference agentRef;
-	private IProvisioningAgent agent;
-
-	private File getExecutableName(String base, EclipseInstallGeneratorInfoProvider provider) {
-		File location = provider.getExecutableLocation();
-		if (location == null)
-			return new File(base, EclipseInstallGeneratorInfoProvider.getDefaultExecutableName(null));
-		if (location.isAbsolute())
-			return location;
-		return new File(base, location.getPath());
-	}
-
-	private void initialize(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
-		if ("-source".equalsIgnoreCase(operation)) //$NON-NLS-1$
-			provider.initialize(new File(argument));
-		else if ("-inplace".equalsIgnoreCase(operation)) { //$NON-NLS-1$
-			provider.initialize(new File(argument));
-			initializeForInplace(provider);
-		} else if ("-config".equalsIgnoreCase(operation)) { //$NON-NLS-1$
-			provider.initialize(new File(argument), new File(argument, "configuration"), getExecutableName(argument, provider), null, null); //$NON-NLS-1$
-		} else if ("-updateSite".equalsIgnoreCase(operation)) { //$NON-NLS-1$
-			provider.setAddDefaultIUs(false);
-			provider.initialize(new File(argument), null, null, new File[] {new File(argument, "plugins")}, new File(argument, "features")); //$NON-NLS-1$ //$NON-NLS-2$
-			initializeForInplace(provider);
-		} else {
-			// base is set but we expect everything else to have been set using 
-			// explicit args.  Note that if we are coming in via an Ant task, we have
-			// to ensure all the values are passed in
-			if (base != null) {
-				File[] bundlesLocation = bundles == null ? null : new File[] {new File(bundles)};
-				File featuresLocation = features == null ? null : new File(features);
-				provider.initialize(new File(base), null, null, bundlesLocation, featuresLocation);
-			}
-		}
-		initializeRepositories(provider);
-	}
-
-	private void initializeArtifactRepository(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
-		if (artifactLocation == null)
-			return;
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.context, IArtifactRepositoryManager.SERVICE_NAME);
-		URI location = artifactLocation;
-
-		String repositoryName = (artifactRepoName != null && artifactRepoName.length() > 0) ? artifactRepoName : artifactLocation + " - artifacts"; //$NON-NLS-1$
-		Map properties = new HashMap(1);
-		properties.put(IRepository.PROP_COMPRESSED, compress);
-		if (provider.reuseExistingPack200Files())
-			properties.put(PUBLISH_PACK_FILES_AS_SIBLINGS, Boolean.TRUE.toString());
-		IArtifactRepository result = null;
-		try {
-			result = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-			manager.removeRepository(location);
-			provider.setArtifactRepository(result);
-			return;
-		} catch (ProvisionException e) {
-			//fall through a load existing repo
-		}
-
-		IArtifactRepository repository = manager.loadRepository(location, null);
-		if (repository != null) {
-			manager.removeRepository(location);
-			if (!repository.isModifiable())
-				throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNotWritable, location));
-			provider.setArtifactRepository(repository);
-			if (provider.reuseExistingPack200Files())
-				repository.setProperty(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
-			if (!provider.append()) {
-				File repoLocation = URIUtil.toFile(location);
-				if (repoLocation.isFile())
-					repoLocation = repoLocation.getParentFile();
-				if (repoLocation.equals(provider.getBaseLocation()))
-					throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, location));
-
-				repository.removeAll();
-			}
-		}
-		return;
-	}
-
-	public void initializeForInplace(EclipseInstallGeneratorInfoProvider provider) {
-		File location = provider.getBaseLocation();
-		if (location == null)
-			location = provider.getBundleLocations()[0];
-		metadataLocation = location.toURI();
-		artifactLocation = location.toURI();
-		provider.setPublishArtifactRepository(true);
-		provider.setPublishArtifacts(false);
-		provider.setAppend(true);
-		provider.setMappingRules(INPLACE_MAPPING_RULES);
-	}
-
-	private void initializeMetadataRepository(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
-		if (metadataLocation == null)
-			return;
-		URI location = metadataLocation;
-
-		// 	First try to create a simple repo, this will fail if one already exists
-		//  We try creating a repo first instead of just loading what is there because we don't want a repo based
-		//  on a site.xml if there is one there.
-
-		String repositoryName = (metadataRepoName == null || metadataRepoName.length() == 0) ? metadataLocation + " - metadata" : metadataRepoName; //$NON-NLS-1$
-		Map properties = new HashMap(1);
-		properties.put(IRepository.PROP_COMPRESSED, compress);
-
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.context, IMetadataRepositoryManager.SERVICE_NAME);
-		try {
-			IMetadataRepository result = manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-			manager.removeRepository(location);
-			provider.setMetadataRepository(result);
-			return;
-		} catch (ProvisionException e) {
-			//fall through and load the existing repo
-		}
-
-		IMetadataRepository repository = manager.loadRepository(location, null);
-		if (repository != null) {
-			manager.removeRepository(location);
-			// don't set the compress flag here because we don't want to change the format
-			// of an already existing repository
-			if (!repository.isModifiable())
-				throw new IllegalArgumentException(NLS.bind(Messages.exception_metadataRepoNotWritable, location));
-			provider.setMetadataRepository(repository);
-			if (!provider.append())
-				repository.removeAll();
-			return;
-		}
-	}
-
-	private void initializeRepositories(EclipseInstallGeneratorInfoProvider provider) throws ProvisionException {
-		initializeArtifactRepository(provider);
-		initializeMetadataRepository(provider);
-	}
-
-	public void setCompress(String value) {
-		if (Boolean.valueOf(value).booleanValue())
-			compress = "true"; //$NON-NLS-1$
-	}
-
-	public void processCommandLineArguments(String[] args, EclipseInstallGeneratorInfoProvider provider) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-
-			if (args[i].equalsIgnoreCase("-publishArtifacts") || args[i].equalsIgnoreCase("-pa")) //$NON-NLS-1$ //$NON-NLS-2$
-				provider.setPublishArtifacts(true);
-
-			if (args[i].equalsIgnoreCase("-publishArtifactRepository") || args[i].equalsIgnoreCase("-par")) //$NON-NLS-1$ //$NON-NLS-2$
-				provider.setPublishArtifactRepository(true);
-
-			if (args[i].equalsIgnoreCase("-append")) //$NON-NLS-1$
-				provider.setAppend(true);
-
-			if (args[i].equalsIgnoreCase("-noDefaultIUs")) //$NON-NLS-1$
-				provider.setAddDefaultIUs(false);
-
-			if (args[i].equalsIgnoreCase("-compress")) //$NON-NLS-1$
-				compress = "true"; //$NON-NLS-1$
-
-			if (args[i].equalsIgnoreCase("-reusePack200Files")) //$NON-NLS-1$
-				provider.reuseExistingPack200Files(true);
-
-			// check for args with parameters. If we are at the last argument or if the next one
-			// has a '-' as the first character, then we can't have an arg with a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase("-source")) { //$NON-NLS-1$
-				operation = args[i - 1];
-				argument = arg;
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-inplace")) { //$NON-NLS-1$
-				operation = args[i - 1];
-				argument = arg;
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-config")) { //$NON-NLS-1$
-				operation = args[i - 1];
-				argument = arg;
-			}
-			if (args[i - 1].equalsIgnoreCase("-updateSite")) { //$NON-NLS-1$
-				operation = args[i - 1];
-				argument = arg;
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-exe")) //$NON-NLS-1$
-				provider.setExecutableLocation(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-launcherConfig")) //$NON-NLS-1$
-				provider.setLauncherConfig(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-metadataRepositoryName")) //$NON-NLS-1$
-				metadataRepoName = arg;
-
-			try {
-				if (args[i - 1].equalsIgnoreCase("-metadataRepository") || args[i - 1].equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$
-					metadataLocation = URIUtil.fromString(arg);
-
-				if (args[i - 1].equalsIgnoreCase("-artifactRepository") | args[i - 1].equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$
-					artifactLocation = URIUtil.fromString(arg);
-
-				if (args[i - 1].equalsIgnoreCase("-site")) //$NON-NLS-1$
-					provider.setSiteLocation(URIUtil.fromString(arg));
-			} catch (URISyntaxException e) {
-				throw new IllegalArgumentException("Repository location (" + arg + ") must be a URL."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			if (args[i - 1].equalsIgnoreCase("-artifactRepositoryName")) //$NON-NLS-1$
-				artifactRepoName = arg;
-
-			if (args[i - 1].equalsIgnoreCase("-flavor")) //$NON-NLS-1$
-				provider.setFlavor(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-productFile")) //$NON-NLS-1$
-				provider.setProductFile(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-features")) //$NON-NLS-1$
-				features = arg;
-
-			if (args[i - 1].equalsIgnoreCase("-bundles")) //$NON-NLS-1$
-				bundles = arg;
-
-			if (args[i - 1].equalsIgnoreCase("-base")) //$NON-NLS-1$
-				base = arg;
-
-			if (args[i - 1].equalsIgnoreCase("-root")) //$NON-NLS-1$
-				provider.setRootId(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-rootVersion")) //$NON-NLS-1$
-				provider.setRootVersion(arg);
-
-			if (args[i - 1].equalsIgnoreCase("-p2.os")) //$NON-NLS-1$
-				provider.setOS(arg);
-
-		}
-	}
-
-	public Object run(String args[]) throws Exception {
-		EclipseInstallGeneratorInfoProvider provider = new EclipseInstallGeneratorInfoProvider();
-		processCommandLineArguments(args, provider);
-		Object result = run(provider);
-		if (result != IApplication.EXIT_OK)
-			for (int i = 0; i < args.length; i++)
-				System.out.println(args[i]);
-		return result;
-	}
-
-	public Object run(EclipseInstallGeneratorInfoProvider provider) throws Exception {
-		initializeAgent();
-		initialize(provider);
-
-		if (provider.getBaseLocation() == null && provider.getProductFile() == null && !generateRootIU) {
-			System.out.println(Messages.exception_baseLocationNotSpecified);
-			return new Integer(-1);
-		}
-
-		// if we asked for artifacts to be published in some form, there must be a repo given
-		if ((provider.publishArtifactRepository() || provider.publishArtifacts()) && provider.getArtifactRepository() == null) {
-			System.out.println(Messages.exception_artifactRepoNotSpecified);
-			return new Integer(-1);
-		}
-
-		if (provider.getMetadataRepository() == null) {
-			System.out.println(Messages.exception_metadataRepoNotSpecified);
-			return new Integer(-1);
-		}
-
-		System.out.println(NLS.bind(Messages.message_generatingMetadata, provider.getBaseLocation()));
-
-		long before = System.currentTimeMillis();
-		IStatus result = generate(provider);
-
-		long after = System.currentTimeMillis();
-		if (result.isOK()) {
-			System.out.println(NLS.bind(Messages.message_generationCompleted, String.valueOf((after - before) / 1000)));
-			return IApplication.EXIT_OK;
-		}
-		System.out.println(result);
-		return new Integer(1);
-	}
-
-	private void initializeAgent() throws ProvisionException {
-		agentRef = Activator.getContext().getServiceReference(IProvisioningAgent.SERVICE_NAME);
-		if (agentRef != null) {
-			agent = (IProvisioningAgent) Activator.getContext().getService(agentRef);
-			if (agent != null)
-				return;
-		}
-		ServiceReference providerRef = Activator.getContext().getServiceReference(IProvisioningAgentProvider.SERVICE_NAME);
-		if (providerRef == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		IProvisioningAgentProvider provider = (IProvisioningAgentProvider) Activator.getContext().getService(providerRef);
-		if (provider == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		//obtain agent for currently running system
-		agent = provider.createAgent(null);
-		Activator.getContext().ungetService(providerRef);
-	}
-
-	protected IStatus generate(EclipseInstallGeneratorInfoProvider provider) {
-		Generator generator = new Generator(provider);
-		if (incrementalResult != null)
-			generator.setIncrementalResult(incrementalResult);
-		generator.setGenerateRootIU(generateRootIU);
-		IStatus result = generator.generate();
-		incrementalResult = null;
-		return result;
-	}
-
-	public Object start(IApplicationContext context) throws Exception {
-		return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
-	}
-
-	public void stop() {
-		if (agentRef != null) {
-			Activator.getContext().ungetService(agentRef);
-			agentRef = null;
-		}
-	}
-
-	public void setBase(String base) {
-		this.base = base;
-	}
-
-	public void setArtifactLocation(URI location) {
-		this.artifactLocation = location;
-	}
-
-	public void setBundles(String bundles) {
-		this.bundles = bundles;
-	}
-
-	public void setOperation(String operation, String argument) {
-		this.operation = operation;
-		this.argument = argument;
-	}
-
-	public void setFeatures(String features) {
-		this.features = features;
-	}
-
-	public void setMetadataLocation(URI location) {
-		this.metadataLocation = location;
-	}
-
-	public void setMetadataRepositoryName(String name) {
-		this.metadataRepoName = name;
-	}
-
-	public void setArtifactRepositoryName(String name) {
-		this.artifactRepoName = name;
-	}
-
-	public void setIncrementalResult(Generator.GeneratorResult ius) {
-		this.incrementalResult = ius;
-	}
-
-	public void setGeneratorRootIU(boolean b) {
-		this.generateRootIU = b;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
deleted file mode 100644
index deeae27..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/LocalizationHelper.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.*;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * 	Helper functions supporting the processing of localized
- * 	property files.
- *
- */
-public final class LocalizationHelper {
-
-	private static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
-	private static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
-	private static LocalizationHelper instance = new LocalizationHelper();
-
-	// Extract the locale string from the properties file with the given filename
-	// where the locale string follows the given prefix. For example, return "zh_HK"
-	// from filename == "plugin_zh_HK.properties" and prefix == "plugin". 
-	static public String getLocaleString(String filename, String prefix) {
-		String localeString = null;
-		if (filename.startsWith(prefix) && filename.endsWith(PROPERTIES_FILE_EXTENSION)) {
-			if (filename.length() > prefix.length() + PROPERTIES_FILE_EXTENSION.length()) {
-				localeString = filename.substring(prefix.length() + 1, filename.length() - PROPERTIES_FILE_EXTENSION.length());
-			} else {
-				localeString = ""; //$NON-NLS-1$
-			}
-		}
-		return localeString;
-	}
-
-	// Get the locale corresponding to the given locale string
-	static public Locale getLocale(String localeString) {
-		Locale locale = DEFAULT_LOCALE;
-		if (localeString.length() == 5 && localeString.indexOf('_') == 2) {
-			locale = new Locale(localeString.substring(0, 2), localeString.substring(3, 5));
-		} else if (localeString.length() == 2) {
-			locale = new Locale(localeString.substring(0, 2));
-		}
-		return locale;
-	}
-
-	// For the given root directory and path to localization files within that directory
-	// get a map from locale to property set for the localization property files.
-	public static Map getDirPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
-		File fullPath = new File(root, localizationPath);
-		File localizationDir = fullPath.getParentFile();
-		final String localizationFile = fullPath.getName();
-		String[] localizationFiles = LocalizationHelper.getLocalizationFiles(localizationDir, localizationFile);
-
-		HashMap localizations = null;
-
-		if (localizationFiles != null) {
-			localizations = new HashMap(localizationFiles.length);
-			for (int i = 0; i < localizationFiles.length; i++) {
-				String nextFile = localizationFiles[i];
-				Locale nextLocale = getLocale(LocalizationHelper.getLocaleString(nextFile, localizationFile));
-
-				try {
-					Properties properties = loadProperties(root, nextFile);
-					Properties localizedStrings = getLocalizedProperties(propertyKeys, properties);
-					if (localizedStrings.size() > 0) {
-						localizations.put(nextLocale, localizedStrings);
-						if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
-							localizations.put(nextLocale, localizedStrings);
-						}
-					}
-				} catch (IOException ioe) {
-					ioe.printStackTrace();
-				}
-			}
-		}
-
-		return localizations;
-	}
-
-	public static Map getJarPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
-		ZipFile jarFile = null;
-		Map localizations = new HashMap(4);
-		try {
-			jarFile = new ZipFile(root, ZipFile.OPEN_READ);
-			for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) {
-				ZipEntry nextEntry = (ZipEntry) entries.nextElement();
-				String nextName = nextEntry.getName();
-				String localeString = LocalizationHelper.getLocaleString(nextName, localizationPath);
-
-				if (!nextEntry.isDirectory() && localeString != null) {
-					Locale nextLocale = LocalizationHelper.getLocale(localeString);
-					InputStream stream = null;
-					try {
-						stream = jarFile.getInputStream(nextEntry);
-						Properties properties = new Properties();
-						properties.load(stream);
-						Properties localizedStrings = LocalizationHelper.getLocalizedProperties(propertyKeys, properties);
-						if (localizedStrings.size() > 0) {
-							localizations.put(nextLocale, localizedStrings);
-							if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
-								localizations.put(nextLocale, localizedStrings);
-							}
-						}
-					} finally {
-						if (stream != null)
-							stream.close();
-					}
-				}
-			}
-		} catch (IOException ioe) {
-			ioe.printStackTrace();
-		} finally {
-			if (jarFile != null) {
-				try {
-					jarFile.close();
-				} catch (IOException ioe) {
-					// do nothing
-				}
-			}
-		}
-
-		return localizations;
-	}
-
-	// Load a property set from given root and file with the given name
-	private static Properties loadProperties(File root, String propertyFilename) throws IOException {
-		Properties result = new Properties();
-		InputStream propertyStream = null;
-		try {
-			try {
-				if (root.isDirectory())
-					propertyStream = new FileInputStream(new File(root, propertyFilename));
-				else {
-					URLConnection connection = new URL("jar:" + root.toURL().toExternalForm() + "!/" + propertyFilename).openConnection(); //$NON-NLS-1$ //$NON-NLS-2$
-					connection.setUseCaches(false);
-					propertyStream = connection.getInputStream();
-				}
-			} catch (FileNotFoundException e) {
-				// if there is no messages file then just return;
-				return result;
-			}
-			result.load(propertyStream);
-		} finally {
-			if (propertyStream != null)
-				propertyStream.close();
-		}
-		return result;
-	}
-
-	// Given a list of keys and the corresponding localized property set,
-	// return a new property set with those keys and the localized values. 
-	static public Properties getLocalizedProperties(String[] propertyKeys, Properties properties) {
-		Properties localizedProperties = new Properties();
-		for (int i = 0; i < propertyKeys.length; i++) {
-			String key = propertyKeys[i];
-			if (key != null) {
-				String localizedValue = properties.getProperty(key);
-				if (localizedValue != null)
-					localizedProperties.put(key, localizedValue);
-			}
-		}
-		return localizedProperties;
-	}
-
-	public static String[] getLocalizationFiles(File localizationDir, final String filenamePrefix) {
-		return localizationDir.list(instance.new FileFilter() {
-			public boolean accept(File directory, String filename) {
-				return (getLocaleString(filename, filenamePrefix) != null ? true : false);
-			}
-		});
-	}
-
-	private abstract class FileFilter implements FilenameFilter {
-
-		public FileFilter() {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
-		 */
-		public abstract boolean accept(File directory, String filename);
-	}
-
-	private LocalizationHelper() {
-		//
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
deleted file mode 100644
index 8663c54..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.messages";//$NON-NLS-1$
-
-	public static String exception_errorConverting;
-	public static String exception_errorParsingUpdateSite;
-	public static String exception_stateAddition;
-	public static String exception_sourceDirectoryInvalid;
-	public static String exception_artifactRepoNotWritable;
-	public static String exception_artifactRepoNotSpecified;
-	public static String exception_metadataRepoNotWritable;
-	public static String exception_metadataRepoNotSpecified;
-	public static String exception_baseLocationNotSpecified;
-	public static String exception_artifactRepoNoAppendDestroysInput;
-
-	public static String message_generatingMetadata;
-	public static String message_generationCompleted;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
deleted file mode 100644
index 6dc4f11..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/ProductQuery.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.ProductFile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator.GeneratorResult;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class ProductQuery extends MatchQuery {
-	private static final String EQUINOX_LAUNCHER = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-
-	private final ProductFile product;
-	private final String flavor;
-	private final Map children = new HashMap();
-	private final String versionAdvice;
-
-	public ProductQuery(ProductFile product, String flavor, Map configIUs, String versionAdvice) {
-		this.product = product;
-		this.flavor = flavor;
-		this.versionAdvice = versionAdvice;
-		initialize(configIUs);
-	}
-
-	private Properties loadVersions(String location) {
-		Properties properties = new Properties();
-		if (location == null)
-			return properties;
-		File file = new File(location);
-		if (file.exists()) {
-			InputStream stream = null;
-			try {
-				stream = new BufferedInputStream(new FileInputStream(file));
-				properties.load(stream);
-			} catch (IOException e) {
-				// nothing
-			} finally {
-				if (stream != null)
-					try {
-						stream.close();
-					} catch (IOException e) {
-						//nothing
-					}
-			}
-		}
-		return properties;
-	}
-
-	private void initialize(Map configIUs) {
-		boolean features = product.useFeatures();
-		Properties versions = loadVersions(versionAdvice);
-
-		List contents = features ? product.getFeatures() : product.getPlugins();
-		for (Iterator iterator = contents.iterator(); iterator.hasNext();) {
-			String item = (String) iterator.next();
-
-			VersionRange range = VersionRange.emptyRange;
-			if (versions.containsKey(item)) {
-				Version value = Version.create(versions.getProperty(item));
-				range = new VersionRange(value, true, value, true);
-			}
-
-			if (features) // for features we want the group
-				item = MetadataGeneratorHelper.getTransformedId(item, false, true);
-
-			children.put(item, range);
-			if (configIUs.containsKey(item)) {
-				for (Iterator ius = ((Set) configIUs.get(item)).iterator(); ius.hasNext();) {
-					IInstallableUnit object = (IInstallableUnit) ius.next();
-					children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
-				}
-			}
-		}
-
-		//also include the launcher CU fragments as a workaround to bug 218890
-		String launcherPrefix = product.getId() + ".launcher"; //$NON-NLS-1$
-		if (configIUs.containsKey(launcherPrefix)) {
-			for (Iterator ius = ((Set) configIUs.get(launcherPrefix)).iterator(); ius.hasNext();) {
-				IInstallableUnit object = (IInstallableUnit) ius.next();
-				children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
-			}
-		}
-
-		//also add the launcher.jar
-		if (!children.containsKey(EQUINOX_LAUNCHER)) {
-			children.put(EQUINOX_LAUNCHER, VersionRange.emptyRange);
-			children.put(flavor + EQUINOX_LAUNCHER, VersionRange.emptyRange);
-		}
-
-		// and launcher fragment CUs
-		if (configIUs.containsKey(EQUINOX_LAUNCHER)) {
-			for (Iterator ius = ((Set) configIUs.get(EQUINOX_LAUNCHER)).iterator(); ius.hasNext();) {
-				IInstallableUnit object = (IInstallableUnit) ius.next();
-				children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
-			}
-		}
-
-		// feature based product, individual bundle config CUs are under CONFIGURATION_CUS for convenience
-		if (features && configIUs.containsKey(GeneratorResult.CONFIGURATION_CUS)) {
-			for (Iterator ius = ((Set) configIUs.get(GeneratorResult.CONFIGURATION_CUS)).iterator(); ius.hasNext();) {
-				IInstallableUnit object = (IInstallableUnit) ius.next();
-				children.put(object.getId(), new VersionRange(object.getVersion(), true, object.getVersion(), true));
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.query.Query#isMatch(java.lang.Object)
-	 */
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		VersionRange range = (VersionRange) children.get(candidate.getId());
-		if (range != null) {
-			return range.isIncluded(candidate.getVersion());
-		}
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
deleted file mode 100644
index 6552f56..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/DefaultSiteParser.java
+++ /dev/null
@@ -1,731 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.URLEntry;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parses a site.xml file.
- * This class was initially copied from org.eclipse.update.core.model.DefaultSiteParser.
- */
-public class DefaultSiteParser extends DefaultHandler {
-
-	private static final String ARCHIVE = "archive"; //$NON-NLS-1$
-	private static final String CATEGORY = "category"; //$NON-NLS-1$
-	private static final String CATEGORY_DEF = "category-def"; //$NON-NLS-1$
-
-	private static final String ASSOCIATE_SITES_URL = "associateSitesURL"; //$NON-NLS-1$
-	private static final String ASSOCIATE_SITE = "associateSite"; //$NON-NLS-1$
-	private static final String DEFAULT_INFO_URL = "index.html"; //$NON-NLS-1$
-	private static final String DESCRIPTION = "description"; //$NON-NLS-1$
-	private static final String FEATURE = "feature"; //$NON-NLS-1$
-	private static final String FEATURES = "features/"; //$NON-NLS-1$
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-	private static final String PLUGIN_ID = Activator.ID;
-	private static final String SITE = "site"; //$NON-NLS-1$
-
-	private static final int STATE_ARCHIVE = 3;
-	private static final int STATE_CATEGORY = 4;
-	private static final int STATE_CATEGORY_DEF = 5;
-	private static final int STATE_DESCRIPTION_CATEGORY_DEF = 7;
-	private static final int STATE_DESCRIPTION_SITE = 6;
-	private static final int STATE_FEATURE = 2;
-	private static final int STATE_IGNORED_ELEMENT = -1;
-	private static final int STATE_INITIAL = 0;
-	private static final int STATE_SITE = 1;
-
-	private int currentState;
-
-	private boolean DESCRIPTION_SITE_ALREADY_SEEN = false;
-	// Current object stack (used to hold the current object we are
-	// populating in this plugin descriptor
-	Stack objectStack = new Stack();
-
-	private SAXParser parser;
-
-	// Current State Information
-	Stack stateStack = new Stack();
-
-	// List of string keys for translated strings
-	private final List messageKeys = new ArrayList(4);
-
-	private MultiStatus status;
-
-	/*
-	 * 
-	 */
-	private static void debug(String s) {
-		Tracing.debug("DefaultSiteParser: " + s); //$NON-NLS-1$
-	}
-
-	private static URLEntry[] getAssociateSites(String associateSitesURL) {
-
-		try {
-			DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder builder = domFactory.newDocumentBuilder();
-			Document document = builder.parse(associateSitesURL);
-			if (document == null)
-				return null;
-			NodeList mirrorNodes = document.getElementsByTagName(ASSOCIATE_SITE);
-			URLEntry[] mirrors = new URLEntry[mirrorNodes.getLength()];
-			for (int i = 0; i < mirrorNodes.getLength(); i++) {
-				Element mirrorNode = (Element) mirrorNodes.item(i);
-				mirrors[i] = new URLEntry();
-				String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
-				String label = mirrorNode.getAttribute("label"); //$NON-NLS-1$
-				mirrors[i].setURL(infoURL);
-				mirrors[i].setAnnotation(label);
-
-				if (Tracing.DEBUG_GENERATOR_PARSING)
-					debug("Processed mirror: url:" + infoURL + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return mirrors;
-		} catch (Exception e) {
-			// log if absolute url
-			if (associateSitesURL != null && (associateSitesURL.startsWith("http://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("https://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("file://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("ftp://") //$NON-NLS-1$
-			|| associateSitesURL.startsWith("jar://"))) //$NON-NLS-1$
-				log(Messages.DefaultSiteParser_mirrors, e);
-			return null;
-		}
-	}
-
-	static void log(Exception e) {
-		LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Internal Error", e)); //$NON-NLS-1$
-	}
-
-	static void log(String message) {
-		LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, null));
-	}
-
-	static void log(String message, Exception e) {
-		LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, e));
-	}
-
-	/**
-	 * Constructs a site parser.
-	 */
-	public DefaultSiteParser() {
-		super();
-		stateStack = new Stack();
-		objectStack = new Stack();
-		status = null;
-		DESCRIPTION_SITE_ALREADY_SEEN = false;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			log(e);
-		} catch (SAXException e) {
-			log(e);
-		}
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("Created"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Handle character text
-	 * @see DefaultHandler#characters(char[], int, int)
-	 * @since 2.0
-	 */
-	public void characters(char[] ch, int start, int length) {
-		String text = new String(ch, start, length);
-		//only push if description
-		int state = ((Integer) stateStack.peek()).intValue();
-		if (state == STATE_DESCRIPTION_SITE || state == STATE_DESCRIPTION_CATEGORY_DEF)
-			objectStack.push(text);
-
-	}
-
-	/**
-	 * Handle end of element tags
-	 * @see DefaultHandler#endElement(String, String, String)
-	 * @since 2.0
-	 */
-	public void endElement(String uri, String localName, String qName) {
-
-		String text = null;
-		URLEntry info = null;
-
-		int state = ((Integer) stateStack.peek()).intValue();
-		switch (state) {
-			case STATE_IGNORED_ELEMENT :
-			case STATE_ARCHIVE :
-			case STATE_CATEGORY :
-				stateStack.pop();
-				break;
-
-			case STATE_INITIAL :
-				internalError(Messages.DefaultSiteParser_ParsingStackBackToInitialState);
-				break;
-
-			case STATE_SITE :
-				stateStack.pop();
-				if (objectStack.peek() instanceof String) {
-					text = (String) objectStack.pop();
-					SiteModel site = (SiteModel) objectStack.peek();
-					site.getDescription().setAnnotation(text);
-				}
-				//do not pop the object
-				break;
-
-			case STATE_FEATURE :
-				stateStack.pop();
-				objectStack.pop();
-				break;
-
-			case STATE_CATEGORY_DEF :
-				stateStack.pop();
-				if (objectStack.peek() instanceof String) {
-					text = (String) objectStack.pop();
-					SiteCategory category = (SiteCategory) objectStack.peek();
-					category.setDescription(text);
-				}
-				objectStack.pop();
-				break;
-
-			case STATE_DESCRIPTION_SITE :
-				stateStack.pop();
-				text = ""; //$NON-NLS-1$
-				while (objectStack.peek() instanceof String) {
-					// add text, preserving at most one space between text fragments
-					String newText = (String) objectStack.pop();
-					if (trailingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-					text = newText.trim() + text;
-					if (leadingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-				}
-				text = text.trim();
-
-				info = (URLEntry) objectStack.pop();
-				if (text != null)
-					info.setAnnotation(text);
-
-				SiteModel siteModel = (SiteModel) objectStack.peek();
-				// override description.
-				// do not raise error as previous description may be default one
-				// when parsing site tag
-				if (DESCRIPTION_SITE_ALREADY_SEEN)
-					debug(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state)})));
-				siteModel.setDescription(info);
-				DESCRIPTION_SITE_ALREADY_SEEN = true;
-				break;
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				stateStack.pop();
-				text = ""; //$NON-NLS-1$
-				while (objectStack.peek() instanceof String) {
-					// add text, preserving at most one space between text fragments
-					String newText = (String) objectStack.pop();
-					if (trailingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-					text = newText.trim() + text;
-					if (leadingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-				}
-				text = text.trim();
-
-				info = (URLEntry) objectStack.pop();
-				if (text != null)
-					info.setAnnotation(text);
-
-				SiteCategory category = (SiteCategory) objectStack.peek();
-				if (category.getDescription() != null)
-					internalError(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state), category.getLabel()})));
-				else
-					category.setDescription(info.getAnnotation());
-				break;
-
-			default :
-				internalError(NLS.bind(Messages.DefaultSiteParser_UnknownEndState, (new String[] {getState(state)})));
-				break;
-		}
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End Element:" + uri + ":" + localName + ":" + qName);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/*
-	 * Handles an error state specified by the status.  The collection of all logged status
-	 * objects can be accessed using <code>getStatus()</code>.
-	 *
-	 * @param error a status detailing the error condition
-	 */
-	private void error(IStatus error) {
-
-		if (status == null) {
-			status = new MultiStatus(PLUGIN_ID, 0, Messages.DefaultSiteParser_ErrorParsingSite, null);
-		}
-
-		status.add(error);
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			LogHelper.log(error);
-	}
-
-	/**
-	 * Handle errors
-	 * @see DefaultHandler#error(SAXParseException)
-	 * @since 2.0
-	 */
-	public void error(SAXParseException ex) {
-		logStatus(ex);
-	}
-
-	/**
-	 * Handle fatal errors
-	 * @see DefaultHandler#fatalError(SAXParseException)
-	 * @exception SAXException
-	 * @since 2.0
-	 */
-	public void fatalError(SAXParseException ex) throws SAXException {
-		logStatus(ex);
-		throw ex;
-	}
-
-	/*
-	 * return the state as String
-	 */
-	private String getState(int state) {
-
-		switch (state) {
-			case STATE_IGNORED_ELEMENT :
-				return "Ignored"; //$NON-NLS-1$
-
-			case STATE_INITIAL :
-				return "Initial"; //$NON-NLS-1$
-
-			case STATE_SITE :
-				return "Site"; //$NON-NLS-1$
-
-			case STATE_FEATURE :
-				return "Feature"; //$NON-NLS-1$
-
-			case STATE_ARCHIVE :
-				return "Archive"; //$NON-NLS-1$
-
-			case STATE_CATEGORY :
-				return "Category"; //$NON-NLS-1$
-
-			case STATE_CATEGORY_DEF :
-				return "Category Def"; //$NON-NLS-1$
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				return "Description / Category Def"; //$NON-NLS-1$
-
-			case STATE_DESCRIPTION_SITE :
-				return "Description / Site"; //$NON-NLS-1$
-
-			default :
-				return Messages.DefaultSiteParser_UnknownState;
-		}
-	}
-
-	/**
-	 * Returns all status objects accumulated by the parser.
-	 *
-	 * @return multi-status containing accumulated status, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public MultiStatus getStatus() {
-		return status;
-	}
-
-	private void handleCategoryDefState(String elementName, Attributes attributes) {
-		if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_CATEGORY_DEF));
-			processInfo(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleCategoryState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(CATEGORY)) {
-			stateStack.push(new Integer(STATE_CATEGORY));
-			processCategory(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleFeatureState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(CATEGORY)) {
-			stateStack.push(new Integer(STATE_CATEGORY));
-			processCategory(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleInitialState(String elementName, Attributes attributes) throws SAXException {
-		if (elementName.equals(SITE)) {
-			stateStack.push(new Integer(STATE_SITE));
-			processSite(attributes);
-		} else {
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-			// what we received was not a site.xml, no need to continue
-			throw new SAXException(Messages.DefaultSiteParser_InvalidXMLStream);
-		}
-
-	}
-
-	private void handleSiteState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	/*
-	 * 
-	 */
-	private void internalError(String message) {
-		error(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, message, null));
-	}
-
-	/*
-	 * 
-	 */
-	private void internalErrorUnknownTag(String msg) {
-		stateStack.push(new Integer(STATE_IGNORED_ELEMENT));
-		internalError(msg);
-	}
-
-	private boolean leadingSpace(String str) {
-		if (str.length() <= 0) {
-			return false;
-		}
-		return Character.isWhitespace(str.charAt(0));
-	}
-
-	/*
-	 * 
-	 */
-	private void logStatus(SAXParseException ex) {
-		String name = ex.getSystemId();
-		if (name == null)
-			name = ""; //$NON-NLS-1$
-		else
-			name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
-		String msg;
-		if (name.equals("")) //$NON-NLS-1$
-			msg = NLS.bind(Messages.DefaultSiteParser_ErrorParsing, (new String[] {ex.getMessage()}));
-		else {
-			String[] values = new String[] {name, Integer.toString(ex.getLineNumber()), Integer.toString(ex.getColumnNumber()), ex.getMessage()};
-			msg = NLS.bind(Messages.DefaultSiteParser_ErrorlineColumnMessage, values);
-		}
-		error(new Status(IStatus.ERROR, PLUGIN_ID, msg, ex));
-	}
-
-	/**
-	 * Parses the specified input steam and constructs a site model.
-	 * The input stream is not closed as part of this operation.
-	 * 
-	 * @param in input stream
-	 * @return site model
-	 * @exception SAXException
-	 * @exception IOException
-	 * @since 2.0
-	 */
-	public SiteModel parse(InputStream in) throws SAXException, IOException {
-		stateStack.push(new Integer(STATE_INITIAL));
-		currentState = ((Integer) stateStack.peek()).intValue();
-		parser.parse(new InputSource(in), this);
-		if (objectStack.isEmpty())
-			throw new SAXException(Messages.DefaultSiteParser_NoSiteTag);
-		if (objectStack.peek() instanceof SiteModel) {
-			SiteModel site = (SiteModel) objectStack.pop();
-			site.setMessageKeys(messageKeys);
-			return site;
-		}
-		String stack = ""; //$NON-NLS-1$
-		Iterator iter = objectStack.iterator();
-		while (iter.hasNext()) {
-			stack = stack + iter.next().toString() + "\r\n"; //$NON-NLS-1$
-		}
-		throw new SAXException(NLS.bind(Messages.DefaultSiteParser_WrongParsingStack, (new String[] {stack})));
-	}
-
-	/* 
-	 * process archive info
-	 */
-	private void processArchive(Attributes attributes) {
-		URLEntry archive = new URLEntry();
-		String id = attributes.getValue("path"); //$NON-NLS-1$
-		if (id == null || id.trim().equals("")) { //$NON-NLS-1$
-			internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"path", getState(currentState)}))); //$NON-NLS-1$
-		}
-
-		archive.setAnnotation(id);
-
-		String url = attributes.getValue("url"); //$NON-NLS-1$
-		if (url == null || url.trim().equals("")) { //$NON-NLS-1$
-			internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"archive", getState(currentState)}))); //$NON-NLS-1$
-		} else {
-			archive.setURL(url);
-
-			SiteModel site = (SiteModel) objectStack.peek();
-			site.addArchive(archive);
-		}
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing Archive: path:" + id + " url:" + url);//$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	/* 
-	 * process the Category  info
-	 */
-	private void processCategory(Attributes attributes) {
-		String category = attributes.getValue("name"); //$NON-NLS-1$
-		SiteFeature feature = (SiteFeature) objectStack.peek();
-		feature.addCategoryName(category);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing Category: name:" + category); //$NON-NLS-1$
-	}
-
-	/* 
-	 * process category def info
-	 */
-	private void processCategoryDef(Attributes attributes) {
-		SiteCategory category = new SiteCategory();
-		String name = attributes.getValue("name"); //$NON-NLS-1$
-		String label = attributes.getValue("label"); //$NON-NLS-1$
-		checkTranslated(label);
-		category.setName(name);
-		category.setLabel(label);
-
-		SiteModel site = (SiteModel) objectStack.peek();
-		site.addCategory(category);
-		objectStack.push(category);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing CategoryDef: name:" + name + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/* 
-	 * process feature info
-	 */
-	private void processFeature(Attributes attributes) {
-		SiteFeature feature = new SiteFeature();
-
-		// feature location on the site
-		String urlInfo = attributes.getValue("url"); //$NON-NLS-1$
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		boolean noURL = (urlInfo == null || urlInfo.trim().equals("")); //$NON-NLS-1$
-		boolean noId = (id == null || id.trim().equals("")); //$NON-NLS-1$
-		boolean noVersion = (ver == null || ver.trim().equals("")); //$NON-NLS-1$
-
-		// We need to have id and version, or the url, or both.
-		if (noURL) {
-			if (noId || noVersion)
-				internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"url", getState(currentState)}))); //$NON-NLS-1$
-			else
-				// default url
-				urlInfo = FEATURES + id + '_' + ver; // 
-		}
-
-		feature.setURLString(urlInfo);
-
-		// if one is null, and not the other
-		if (noId ^ noVersion) {
-			String[] values = new String[] {id, ver, getState(currentState)};
-			log(NLS.bind(Messages.DefaultFeatureParser_IdOrVersionInvalid, values));
-		} else {
-			feature.setFeatureIdentifier(id);
-			feature.setFeatureVersion(ver);
-		}
-
-		SiteModel site = (SiteModel) objectStack.peek();
-		site.addFeature(feature);
-
-		objectStack.push(feature);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End Processing DefaultFeature Tag: url:" + urlInfo); //$NON-NLS-1$
-
-	}
-
-	/* 
-	 * process URL info with element text
-	 */
-	private void processInfo(Attributes attributes) {
-		URLEntry inf = new URLEntry();
-		String infoURL = attributes.getValue("url"); //$NON-NLS-1$
-		inf.setURL(infoURL);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("Processed Info: url:" + infoURL); //$NON-NLS-1$
-
-		objectStack.push(inf);
-	}
-
-	/* 
-	 * process site info
-	 */
-	private void processSite(Attributes attributes) {
-		// create site map
-		SiteModel site = new SiteModel();
-
-		// provide default description URL
-		// If <description> is specified, for the site,  it takes precedence		
-		URLEntry description = new URLEntry();
-		description.setURL(DEFAULT_INFO_URL);
-		site.setDescription(description);
-
-		// get mirrors, if any
-		String mirrorsURL = attributes.getValue("mirrorsURL"); //$NON-NLS-1$
-		if (mirrorsURL != null && mirrorsURL.trim().length() > 0) {
-			site.setMirrorsURLString(mirrorsURL);
-		}
-
-		if (attributes.getValue(ASSOCIATE_SITES_URL) != null)
-			site.setAssociateSites(getAssociateSites(attributes.getValue(ASSOCIATE_SITES_URL)));
-
-		objectStack.push(site);
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		if (Tracing.DEBUG_GENERATOR_PARSING) {
-			debug("State: " + currentState); //$NON-NLS-1$
-			debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-		switch (currentState) {
-			case STATE_IGNORED_ELEMENT :
-				internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {localName, getState(currentState)})));
-				break;
-			case STATE_INITIAL :
-				handleInitialState(localName, attributes);
-				break;
-
-			case STATE_SITE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_FEATURE :
-				handleFeatureState(localName, attributes);
-				break;
-
-			case STATE_ARCHIVE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_CATEGORY :
-				handleCategoryState(localName, attributes);
-				break;
-
-			case STATE_CATEGORY_DEF :
-				handleCategoryDefState(localName, attributes);
-				break;
-
-			case STATE_DESCRIPTION_SITE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				handleSiteState(localName, attributes);
-				break;
-
-			default :
-				internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownStartState, (new String[] {getState(currentState)})));
-				break;
-		}
-		int newState = ((Integer) stateStack.peek()).intValue();
-		if (newState != STATE_IGNORED_ELEMENT)
-			currentState = newState;
-
-	}
-
-	private boolean trailingSpace(String str) {
-		if (str.length() <= 0) {
-			return false;
-		}
-		return Character.isWhitespace(str.charAt(str.length() - 1));
-	}
-
-	// Add translatable strings from the site.xml
-	// to the list of message keys.
-	private void checkTranslated(String value) {
-		if (value != null && value.length() > 1 && value.startsWith("%")) //$NON-NLS-1$
-			messageKeys.add(value.substring(1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
deleted file mode 100644
index c6a0627..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/FeatureParser.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.LocalizationHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.FeatureEntry;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- * 
- * @since 3.0
- */
-public class FeatureParser extends DefaultHandler {
-
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-	private SAXParser parser;
-	protected Feature result;
-	private URL url;
-	private StringBuffer characters = null;
-
-	private Properties messages = null;
-	private List messageKeys = null;
-
-	public FeatureParser() {
-		this(true);
-	}
-
-	protected FeatureParser(boolean createParser) {
-		super();
-		if (!createParser)
-			return;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-
-	public void characters(char[] ch, int start, int length) throws SAXException {
-		if (characters == null)
-			return;
-		characters.append(ch, start, length);
-	}
-
-	protected Feature createFeature(String id, String version) {
-		return new Feature(id, version);
-	}
-
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-		if (characters == null)
-			return;
-		if ("description".equals(localName)) { //$NON-NLS-1$
-			result.setDescription(localize(characters.toString().trim()));
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			result.setLicense(localize(characters.toString().trim()));
-		} else if ("copyright".equals(localName)) { //$NON-NLS-1$
-			result.setCopyright(localize(characters.toString().trim()));
-		}
-		characters = null;
-	}
-
-	private void loadProperties(File directory, Properties properties) {
-		//skip directories that don't contain a feature.properties file
-		File file = new File(directory, "feature.properties"); //$NON-NLS-1$
-		if (!file.exists())
-			return;
-		try {
-			InputStream input = new BufferedInputStream(new FileInputStream(file));
-			try {
-				properties.load(input);
-			} finally {
-				if (input != null)
-					input.close();
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	private void loadProperties(JarFile jar, Properties properties) {
-		JarEntry entry = jar.getJarEntry("feature.properties"); //$NON-NLS-1$
-		if (entry == null)
-			return;
-		try {
-			InputStream input = new BufferedInputStream(jar.getInputStream(entry));
-			try {
-				properties.load(input);
-			} finally {
-				if (input != null)
-					input.close();
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	private String localize(String value) {
-		if (messages == null || value == null)
-			return value;
-		if (!value.startsWith("%")) //$NON-NLS-1$
-			return value;
-		String key = value.substring(1);
-		messageKeys.add(key);
-		return value;
-	}
-
-	/**
-	 * Parses the specified location and constructs a feature. The given location 
-	 * should be either the location of the feature JAR or the directory containing
-	 * the feature.
-	 * 
-	 * @param location the location of the feature to parse.  
-	 */
-	public Feature parse(File location) {
-		if (!location.exists())
-			return null;
-
-		Feature feature = null;
-		Properties properties = new Properties();
-
-		if (location.isDirectory()) {
-			//skip directories that don't contain a feature.xml file
-			File file = new File(location, "feature.xml"); //$NON-NLS-1$
-			if (!file.exists())
-				return null;
-			loadProperties(location, properties);
-			try {
-				InputStream input = new BufferedInputStream(new FileInputStream(file));
-				feature = parse(input, properties);
-				if (feature != null) {
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					feature.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
-				}
-			} catch (FileNotFoundException e) {
-				e.printStackTrace();
-			}
-		} else if (location.getName().endsWith(".jar")) { //$NON-NLS-1$
-			JarFile jar = null;
-			try {
-				jar = new JarFile(location);
-				loadProperties(jar, properties);
-				JarEntry entry = jar.getJarEntry("feature.xml"); //$NON-NLS-1$
-				if (entry == null)
-					return null;
-				InputStream input = new BufferedInputStream(jar.getInputStream(entry));
-				feature = parse(input, properties);
-				if (feature != null) {
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					feature.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			} catch (SecurityException e) {
-				LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Exception parsing feature: " + location.getAbsolutePath(), e)); //$NON-NLS-1$
-			} finally {
-				try {
-					if (jar != null)
-						jar.close();
-				} catch (IOException e) {
-					//
-				}
-			}
-		}
-		return feature;
-	}
-
-	/**
-	 * Parse the given input stream and return a feature object
-	 * or null. This method closes the input stream.
-	 */
-	public Feature parse(InputStream in, Properties messages) {
-		this.messages = messages;
-		this.messageKeys = new ArrayList(messages.size());
-		result = null;
-		try {
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		} finally {
-			try {
-				in.close();
-			} catch (IOException e1) {
-				//					Utils.log(e1.getLocalizedMessage());
-			}
-		}
-		return result;
-	}
-
-	private void processCopyright(Attributes attributes) {
-		result.setCopyrightURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processDescription(Attributes attributes) {
-		result.setDescriptionURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processDiscoverySite(Attributes attributes) {
-		//ignore discovery sites of type 'web'
-		if ("web".equals(attributes.getValue("type"))) //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		result.addDiscoverySite(attributes.getValue("label"), attributes.getValue("url")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	protected void processFeature(Attributes attributes) {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-				|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			//			System.out.println(NLS.bind(Messages.FeatureParser_IdOrVersionInvalid, (new String[] { id, ver})));
-		} else {
-			result = createFeature(id, ver);
-			result.setApplication(attributes.getValue("application")); //$NON-NLS-1$
-			result.setPlugin(attributes.getValue("plugin")); //$NON-NLS-1$
-			result.setExclusive(Boolean.valueOf(attributes.getValue("exclusive")).booleanValue()); //$NON-NLS-1$
-			result.setPrimary(Boolean.valueOf(attributes.getValue("primary")).booleanValue()); //$NON-NLS-1$
-
-			//TODO rootURLs
-			if (url != null && "file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File f = new File(url.getFile().replace('/', File.separatorChar));
-				result.setURL("features" + "/" + f.getParentFile().getName() + "/");// + f.getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			} else {
-				// externalized URLs might be in relative form, ensure they are absolute				
-				//				feature.setURL(Utils.makeAbsolute(Utils.getInstallURL(), url).toExternalForm());
-			}
-
-			result.setProviderName(localize(attributes.getValue("provider-name"))); //$NON-NLS-1$
-			result.setLabel(localize(attributes.getValue("label"))); //$NON-NLS-1$
-
-			//			Utils.debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	private void processImport(Attributes attributes) {
-		String id = attributes.getValue("feature"); //$NON-NLS-1$
-		FeatureEntry entry = null;
-		if (id != null) {
-			if ("true".equalsIgnoreCase(attributes.getValue("patch"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				entry = FeatureEntry.createRequires(id, attributes.getValue("version"), "perfect", attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setPatch(true);
-			} else {
-				entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-		} else {
-			id = attributes.getValue("plugin"); //$NON-NLS-1$
-			entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		result.addEntry(entry);
-	}
-
-	private void processIncludes(Attributes attributes) {
-		FeatureEntry entry = new FeatureEntry(attributes.getValue("id"), attributes.getValue("version"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		String flag = attributes.getValue("optional"); //$NON-NLS-1$
-		if (flag != null)
-			entry.setOptional(Boolean.valueOf(flag).booleanValue());
-		setEnvironment(attributes, entry);
-		result.addEntry(entry);
-	}
-
-	private void processInstallHandler(Attributes attributes) {
-		result.setInstallHandler(attributes.getValue("handler")); //$NON-NLS-1$
-		result.setInstallHandlerLibrary(attributes.getValue("library")); //$NON-NLS-1$
-		result.setInstallHandlerURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-
-	private void processLicense(Attributes attributes) {
-		result.setLicenseURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processPlugin(Attributes attributes) {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String version = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") || version == null || version.trim().equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println(NLS.bind("FeatureParser#processPlugin, ID {0} or version {1} invalid", (new String[] {id, version}))); //$NON-NLS-1$
-		} else {
-			FeatureEntry plugin = new FeatureEntry(id, version, true);
-			setEnvironment(attributes, plugin);
-			String unpack = attributes.getValue("unpack"); //$NON-NLS-1$
-			if (unpack != null)
-				plugin.setUnpack(Boolean.valueOf(unpack).booleanValue());
-			String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
-			if (fragment != null)
-				plugin.setFragment(Boolean.valueOf(fragment).booleanValue());
-			String filter = attributes.getValue("filter"); //$NON-NLS-1$
-			if (filter != null)
-				plugin.setFilter(filter);
-			result.addEntry(plugin);
-
-			//			Utils.debug("End process DefaultFeature tag: id:" + id + " ver:" + ver + " url:" + feature.getURL()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	private void processUpdateSite(Attributes attributes) {
-		result.setUpdateSiteLabel(attributes.getValue("label")); //$NON-NLS-1$
-		result.setUpdateSiteURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-
-	private void setEnvironment(Attributes attributes, FeatureEntry entry) {
-		String os = attributes.getValue("os"); //$NON-NLS-1$
-		String ws = attributes.getValue("ws"); //$NON-NLS-1$
-		String nl = attributes.getValue("nl"); //$NON-NLS-1$
-		String arch = attributes.getValue("arch"); //$NON-NLS-1$
-		entry.setEnvironment(os, ws, arch, nl);
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		//		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if ("plugin".equals(localName)) { //$NON-NLS-1$
-			processPlugin(attributes);
-		} else if ("description".equals(localName)) { //$NON-NLS-1$
-			processDescription(attributes);
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			processLicense(attributes);
-		} else if ("copyright".equals(localName)) { //$NON-NLS-1$
-			processCopyright(attributes);
-		} else if ("feature".equals(localName)) { //$NON-NLS-1$
-			processFeature(attributes);
-		} else if ("import".equals(localName)) { //$NON-NLS-1$
-			processImport(attributes);
-		} else if ("includes".equals(localName)) { //$NON-NLS-1$
-			processIncludes(attributes);
-		} else if ("install-handler".equals(localName)) { //$NON-NLS-1$
-			processInstallHandler(attributes);
-		} else if ("update".equals(localName)) { //$NON-NLS-1$
-			processUpdateSite(attributes);
-		} else if ("discovery".equals(localName)) { //$NON-NLS-1$
-			processDiscoverySite(attributes);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
deleted file mode 100644
index dce8bba..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.features.messages";//$NON-NLS-1$
-
-	public static String DefaultFeatureParser_IdOrVersionInvalid;
-	public static String DefaultSiteParser_NoSiteTag;
-	public static String DefaultSiteParser_WrongParsingStack;
-	public static String DefaultSiteParser_UnknownElement;
-	public static String DefaultSiteParser_UnknownStartState;
-	public static String DefaultSiteParser_Missing;
-	public static String DefaultSiteParser_ParsingStackBackToInitialState;
-	public static String DefaultSiteParser_ElementAlreadySet;
-	public static String DefaultSiteParser_UnknownEndState;
-	public static String DefaultSiteParser_ErrorParsing;
-	public static String DefaultSiteParser_ErrorlineColumnMessage;
-	public static String DefaultSiteParser_ErrorParsingSite;
-	public static String DefaultSiteParser_UnknownState;
-	public static String DefaultSiteParser_InvalidXMLStream;
-	public static String DefaultSiteParser_mirrors;
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
deleted file mode 100644
index fd1e550..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/ProductFile.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * 
- * @since 3.1
- */
-public class ProductFile extends DefaultHandler {
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-
-	private static final String PROGRAM_ARGS = "programArgs"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_LINUX = "programArgsLin"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_MAC = "programArgsMac"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_SOLARIS = "programArgsSol"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_WIN = "programArgsWin"; //$NON-NLS-1$
-	private static final String VM_ARGS = "vmArgs"; //$NON-NLS-1$
-	private static final String VM_ARGS_LINUX = "vmArgsLin"; //$NON-NLS-1$
-	private static final String VM_ARGS_MAC = "vmArgsMac"; //$NON-NLS-1$
-	private static final String VM_ARGS_SOLARIS = "vmArgsSol"; //$NON-NLS-1$
-	private static final String VM_ARGS_WIN = "vmArgsWin"; //$NON-NLS-1$
-
-	private static final String SOLARIS_LARGE = "solarisLarge"; //$NON-NLS-1$
-	private static final String SOLARIS_MEDIUM = "solarisMedium"; //$NON-NLS-1$
-	private static final String SOLARIS_SMALL = "solarisSmall"; //$NON-NLS-1$
-	private static final String SOLARIS_TINY = "solarisTiny"; //$NON-NLS-1$
-	private static final String WIN32_16_LOW = "winSmallLow"; //$NON-NLS-1$
-	private static final String WIN32_16_HIGH = "winSmallHigh"; //$NON-NLS-1$
-	private static final String WIN32_24_LOW = "win24Low"; //$NON-NLS-1$
-	private static final String WIN32_32_LOW = "winMediumLow"; //$NON-NLS-1$
-	private static final String WIN32_32_HIGH = "winMediumHigh"; //$NON-NLS-1$
-	private static final String WIN32_48_LOW = "winLargeLow"; //$NON-NLS-1$
-	private static final String WIN32_48_HIGH = "winLargeHigh"; //$NON-NLS-1$
-
-	private static final String OS_WIN32 = "win32";//$NON-NLS-1$
-	private static final String OS_LINUX = "linux";//$NON-NLS-1$
-	private static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
-	private static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
-	private static final String PRODUCT = "product"; //$NON-NLS-1$
-	private static final String CONFIG_INI = "configIni"; //$NON-NLS-1$
-	private static final String LAUNCHER = "launcher"; //$NON-NLS-1$
-	private static final String LAUNCHER_ARGS = "launcherArgs"; //$NON-NLS-1$
-	private static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String FEATURES = "features"; //$NON-NLS-1$
-	private static final String P_USE_ICO = "useIco"; //$NON-NLS-1$
-
-	//These constants form a small state machine to parse the .product file
-	private static final int STATE_START = 0;
-	private static final int STATE_PRODUCT = 1;
-	private static final int STATE_LAUNCHER = 2;
-	private static final int STATE_LAUNCHER_ARGS = 3;
-	private static final int STATE_PLUGINS = 4;
-	private static final int STATE_FEATURES = 5;
-	private static final int STATE_PROGRAM_ARGS = 6;
-	private static final int STATE_PROGRAM_ARGS_LINUX = 7;
-	private static final int STATE_PROGRAM_ARGS_MAC = 8;
-	private static final int STATE_PROGRAM_ARGS_SOLARIS = 9;
-	private static final int STATE_PROGRAM_ARGS_WIN = 10;
-	private static final int STATE_VM_ARGS = 11;
-	private static final int STATE_VM_ARGS_LINUX = 12;
-	private static final int STATE_VM_ARGS_MAC = 13;
-	private static final int STATE_VM_ARGS_SOLARIS = 14;
-	private static final int STATE_VM_ARGS_WIN = 15;
-	private static final int STATE_CONFIG_INI = 16;
-
-	private int state = STATE_START;
-
-	private final SAXParser parser;
-	private String currentOS = null;
-	private boolean useIco = false;
-	private final ArrayList result = new ArrayList(6);
-	private final Map platformSpecificConfigPaths = new HashMap();
-	private String configPlatform = null;
-	private String platformConfigPath = null;
-	private String launcherName = null;
-	private String id = null;
-	private String uid = null;
-	private boolean useFeatures = false;
-	private List plugins = null;
-	private List fragments = null;
-	private List features = null;
-	private String productName = null;
-	private String version = null;
-
-	private Properties launcherArgs = new Properties();
-
-	private static String normalize(String text) {
-		if (text == null || text.trim().length() == 0)
-			return ""; //$NON-NLS-1$
-
-		text = text.replaceAll("\\r|\\n|\\f|\\t", " "); //$NON-NLS-1$ //$NON-NLS-2$
-		return text.replaceAll("\\s+", " "); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Constructs a feature parser.
-	 */
-	public ProductFile(String location, String os) throws Exception {
-		super();
-		this.currentOS = os;
-
-		parserFactory.setNamespaceAware(true);
-		parser = parserFactory.newSAXParser();
-		InputStream in = new BufferedInputStream(new FileInputStream(location));
-		try {
-			parser.parse(new InputSource(in), this);
-		} finally {
-			if (in != null)
-				in.close();
-		}
-	}
-
-	public List getPlugins() {
-		return getPlugins(true);
-	}
-
-	public List getPlugins(boolean includeFragments) {
-		List p = plugins != null ? plugins : Collections.EMPTY_LIST;
-		if (!includeFragments)
-			return p;
-
-		List f = fragments != null ? fragments : Collections.EMPTY_LIST;
-		int size = p.size() + f.size();
-		if (size == 0)
-			return Collections.EMPTY_LIST;
-
-		List both = new ArrayList(size);
-		both.addAll(p);
-		both.addAll(f);
-		return both;
-	}
-
-	public List getFeatures() {
-		if (features == null)
-			return Collections.EMPTY_LIST;
-		return features;
-	}
-
-	public String getId() {
-		if (uid != null)
-			return uid;
-		return id;
-	}
-
-	public String getProductId() {
-		return id;
-	}
-
-	public String getProductName() {
-		return productName;
-	}
-
-	public boolean useFeatures() {
-		return useFeatures;
-	}
-
-	public String getVersion() {
-		return (version == null || version.length() == 0) ? "0.0.0" : version; //$NON-NLS-1$
-	}
-
-	public String getLauncherName() {
-		return launcherName;
-	}
-
-	public String getVMArguments(String os) {
-		String key = null;
-		if (os.equals(OS_WIN32)) {
-			key = VM_ARGS_WIN;
-		} else if (os.equals(OS_LINUX)) {
-			key = VM_ARGS_LINUX;
-		} else if (os.equals(OS_MACOSX)) {
-			key = VM_ARGS_MAC;
-		} else if (os.equals(OS_SOLARIS)) {
-			key = VM_ARGS_SOLARIS;
-		}
-
-		String prefix = launcherArgs.getProperty(VM_ARGS);
-		String platform = null, args = null;
-		if (key != null)
-			platform = launcherArgs.getProperty(key);
-		if (prefix != null)
-			args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
-		else
-			args = platform != null ? platform : ""; //$NON-NLS-1$
-		return normalize(args);
-	}
-
-	public String getProgramArguments(String os) {
-		String key = null;
-		if (os.equals(OS_WIN32)) {
-			key = PROGRAM_ARGS_WIN;
-		} else if (os.equals(OS_LINUX)) {
-			key = PROGRAM_ARGS_LINUX;
-		} else if (os.equals(OS_MACOSX)) {
-			key = PROGRAM_ARGS_MAC;
-		} else if (os.equals(OS_SOLARIS)) {
-			key = PROGRAM_ARGS_SOLARIS;
-		}
-
-		String prefix = launcherArgs.getProperty(PROGRAM_ARGS);
-		String platform = null, args = null;
-		if (key != null)
-			platform = launcherArgs.getProperty(key);
-		if (prefix != null)
-			args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
-		else
-			args = platform != null ? platform : ""; //$NON-NLS-1$
-		return normalize(args);
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) {
-		switch (state) {
-			case STATE_START :
-				if (PRODUCT.equals(localName)) {
-					processProduct(attributes);
-					state = STATE_PRODUCT;
-				}
-				break;
-
-			case STATE_PRODUCT :
-				if (CONFIG_INI.equals(localName)) {
-					processConfigIni(attributes);
-					state = STATE_CONFIG_INI;
-				} else if (LAUNCHER.equals(localName)) {
-					processLauncher(attributes);
-					state = STATE_LAUNCHER;
-				} else if (PLUGINS.equals(localName)) {
-					state = STATE_PLUGINS;
-				} else if (FEATURES.equals(localName)) {
-					state = STATE_FEATURES;
-				} else if (LAUNCHER_ARGS.equals(localName)) {
-					state = STATE_LAUNCHER_ARGS;
-				}
-				break;
-
-			case STATE_CONFIG_INI :
-				processConfigIniPlatform(localName, true);
-				break;
-
-			case STATE_LAUNCHER :
-				if (OS_SOLARIS.equals(localName)) {
-					processSolaris(attributes);
-				} else if ("win".equals(localName)) { //$NON-NLS-1$
-					processWin(attributes);
-				} else if (OS_LINUX.equals(localName)) {
-					processLinux(attributes);
-				} else if (OS_MACOSX.equals(localName)) {
-					processMac(attributes);
-				}
-				if ("ico".equals(localName)) { //$NON-NLS-1$
-					processIco(attributes);
-				} else if ("bmp".equals(localName)) { //$NON-NLS-1$
-					processBmp(attributes);
-				}
-				break;
-
-			case STATE_LAUNCHER_ARGS :
-				if (PROGRAM_ARGS.equals(localName)) {
-					state = STATE_PROGRAM_ARGS;
-				} else if (PROGRAM_ARGS_LINUX.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_LINUX;
-				} else if (PROGRAM_ARGS_MAC.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_MAC;
-				} else if (PROGRAM_ARGS_SOLARIS.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_SOLARIS;
-				} else if (PROGRAM_ARGS_WIN.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_WIN;
-				} else if (VM_ARGS.equals(localName)) {
-					state = STATE_VM_ARGS;
-				} else if (VM_ARGS_LINUX.equals(localName)) {
-					state = STATE_VM_ARGS_LINUX;
-				} else if (VM_ARGS_MAC.equals(localName)) {
-					state = STATE_VM_ARGS_MAC;
-				} else if (VM_ARGS_SOLARIS.equals(localName)) {
-					state = STATE_VM_ARGS_SOLARIS;
-				} else if (VM_ARGS_WIN.equals(localName)) {
-					state = STATE_VM_ARGS_WIN;
-				}
-				break;
-
-			case STATE_PLUGINS :
-				if ("plugin".equals(localName)) { //$NON-NLS-1$
-					processPlugin(attributes);
-				}
-				break;
-
-			case STATE_FEATURES :
-				if ("feature".equals(localName)) { //$NON-NLS-1$
-					processFeature(attributes);
-				}
-				break;
-		}
-	}
-
-	public void endElement(String uri, String localName, String qName) {
-		switch (state) {
-			case STATE_PLUGINS :
-				if (PLUGINS.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_FEATURES :
-				if (FEATURES.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_LAUNCHER_ARGS :
-				if (LAUNCHER_ARGS.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_LAUNCHER :
-				if (LAUNCHER.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-
-			case STATE_PROGRAM_ARGS :
-			case STATE_PROGRAM_ARGS_LINUX :
-			case STATE_PROGRAM_ARGS_MAC :
-			case STATE_PROGRAM_ARGS_SOLARIS :
-			case STATE_PROGRAM_ARGS_WIN :
-			case STATE_VM_ARGS :
-			case STATE_VM_ARGS_LINUX :
-			case STATE_VM_ARGS_MAC :
-			case STATE_VM_ARGS_SOLARIS :
-			case STATE_VM_ARGS_WIN :
-				state = STATE_LAUNCHER_ARGS;
-				break;
-
-			case STATE_CONFIG_INI :
-				if (CONFIG_INI.equals(localName))
-					state = STATE_PRODUCT;
-				else
-					processConfigIniPlatform(localName, false);
-				break;
-		}
-	}
-
-	public void characters(char[] ch, int start, int length) {
-		switch (state) {
-			case STATE_PROGRAM_ARGS :
-				addLaunchArgumentToMap(PROGRAM_ARGS, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_LINUX :
-				addLaunchArgumentToMap(PROGRAM_ARGS_LINUX, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_MAC :
-				addLaunchArgumentToMap(PROGRAM_ARGS_MAC, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_SOLARIS :
-				addLaunchArgumentToMap(PROGRAM_ARGS_SOLARIS, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_WIN :
-				addLaunchArgumentToMap(PROGRAM_ARGS_WIN, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS :
-				addLaunchArgumentToMap(VM_ARGS, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_LINUX :
-				addLaunchArgumentToMap(VM_ARGS_LINUX, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_MAC :
-				addLaunchArgumentToMap(VM_ARGS_MAC, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_SOLARIS :
-				addLaunchArgumentToMap(VM_ARGS_SOLARIS, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_WIN :
-				addLaunchArgumentToMap(VM_ARGS_WIN, String.valueOf(ch, start, length));
-				break;
-			case STATE_CONFIG_INI :
-				if (platformConfigPath != null)
-					platformConfigPath += String.valueOf(ch, start, length);
-				break;
-		}
-	}
-
-	private void addLaunchArgumentToMap(String key, String value) {
-		if (launcherArgs == null)
-			launcherArgs = new Properties();
-
-		String oldValue = launcherArgs.getProperty(key);
-		if (oldValue != null)
-			launcherArgs.setProperty(key, oldValue + value);
-		else
-			launcherArgs.setProperty(key, value);
-	}
-
-	private void processPlugin(Attributes attributes) {
-		String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
-		if (fragment != null && new Boolean(fragment).booleanValue()) {
-			if (fragments == null)
-				fragments = new ArrayList();
-			fragments.add(attributes.getValue("id")); //$NON-NLS-1$
-		} else {
-			if (plugins == null)
-				plugins = new ArrayList();
-			plugins.add(attributes.getValue("id")); //$NON-NLS-1$
-		}
-	}
-
-	private void processFeature(Attributes attributes) {
-		if (features == null)
-			features = new ArrayList();
-		features.add(attributes.getValue("id")); //$NON-NLS-1$
-	}
-
-	private void processProduct(Attributes attributes) {
-		id = attributes.getValue("id"); //$NON-NLS-1$
-		uid = attributes.getValue("uid"); //$NON-NLS-1$
-		productName = attributes.getValue("name"); //$NON-NLS-1$
-		String use = attributes.getValue("useFeatures"); //$NON-NLS-1$
-		if (use != null)
-			useFeatures = Boolean.valueOf(use).booleanValue();
-		version = attributes.getValue("version"); //$NON-NLS-1$
-	}
-
-	private void processConfigIni(Attributes attributes) {
-		String path = null;
-		if ("custom".equals(attributes.getValue("use"))) { //$NON-NLS-1$//$NON-NLS-2$
-			path = attributes.getValue("path"); //$NON-NLS-1$
-		}
-		String os = attributes.getValue("os"); //$NON-NLS-1$
-		if (os != null && os.length() > 0) {
-			// TODO should we allow a platform-specific default to over-ride a custom generic path?
-			if (path != null)
-				platformSpecificConfigPaths.put(os, path);
-		} else if (path != null) {
-			//			configPath = path;
-		}
-	}
-
-	private void processConfigIniPlatform(String key, boolean begin) {
-		if (begin) {
-			configPlatform = key;
-			platformConfigPath = ""; //$NON-NLS-1$
-		} else if (configPlatform.equals(key) && platformConfigPath.length() > 0) {
-			platformSpecificConfigPaths.put(key, platformConfigPath);
-			platformConfigPath = null;
-		}
-	}
-
-	private void processLauncher(Attributes attributes) {
-		launcherName = attributes.getValue("name"); //$NON-NLS-1$
-	}
-
-	private boolean osMatch(String os) {
-		if (os == currentOS)
-			return true;
-		if (os == null)
-			return false;
-		return os.equals(currentOS);
-	}
-
-	private void processSolaris(Attributes attributes) {
-		if (!osMatch(OS_SOLARIS))
-			return;
-		result.add(attributes.getValue(SOLARIS_LARGE));
-		result.add(attributes.getValue(SOLARIS_MEDIUM));
-		result.add(attributes.getValue(SOLARIS_SMALL));
-		result.add(attributes.getValue(SOLARIS_TINY));
-	}
-
-	private void processWin(Attributes attributes) {
-		if (!osMatch(OS_WIN32))
-			return;
-		useIco = Boolean.valueOf(attributes.getValue(P_USE_ICO)).booleanValue();
-	}
-
-	private void processIco(Attributes attributes) {
-		if (!osMatch(OS_WIN32) || !useIco)
-			return;
-		result.add(attributes.getValue("path")); //$NON-NLS-1$
-	}
-
-	private void processBmp(Attributes attributes) {
-		if (!osMatch(OS_WIN32) || useIco)
-			return;
-		result.add(attributes.getValue(WIN32_16_HIGH));
-		result.add(attributes.getValue(WIN32_16_LOW));
-		result.add(attributes.getValue(WIN32_24_LOW));
-		result.add(attributes.getValue(WIN32_32_HIGH));
-		result.add(attributes.getValue(WIN32_32_LOW));
-		result.add(attributes.getValue(WIN32_48_HIGH));
-		result.add(attributes.getValue(WIN32_48_LOW));
-	}
-
-	private void processLinux(Attributes attributes) {
-		if (!osMatch(OS_LINUX))
-			return;
-		result.add(attributes.getValue("icon")); //$NON-NLS-1$
-	}
-
-	private void processMac(Attributes attributes) {
-		if (!osMatch(OS_MACOSX))
-			return;
-		result.add(attributes.getValue("icon")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
deleted file mode 100644
index 8acf123..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteCategory.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.util.Map;
-
-/**
- * A category in an update site.
- * 
- * Based on org.eclipse.update.core.model.CategoryModel.
- */
-public class SiteCategory {
-
-	private String description;
-	private String label;
-	private String name;
-	private Map localizations;
-
-	/**
-	 * Creates an uninitialized model object.
-	 * 
-	 * @since 2.0
-	 */
-	public SiteCategory() {
-		super();
-	}
-
-	/**
-	 * Compare two category models for equality.
-	 * 
-	 * @see Object#equals(Object)
-	 * @since 2.0
-	 */
-	public boolean equals(Object obj) {
-		boolean result = false;
-		if (obj instanceof SiteCategory) {
-			SiteCategory otherCategory = (SiteCategory) obj;
-			result = getName().equalsIgnoreCase(otherCategory.getName());
-		}
-		return result;
-	}
-
-	/**
-	 * Retrieve the detailed category description
-	 * 
-	 * @return category description, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Retrieve the non-localized displayable label for the category.
-	 * 
-	 * @return non-localized displayable label, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Gets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @return a map from locale to property set
-	 * @since 3.4
-	 */
-	public Map getLocalizations() {
-		return this.localizations;
-	}
-
-	/**
-	 * Retrieve the name of the category.
-	 * 
-	 * @return category name, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Compute hash code for category model.
-	 * 
-	 * @see Object#hashCode()
-	 * @since 2.0
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-	/**
-	 * Sets the category description.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param description category description
-	 * @since 2.0
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the category displayable label.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param label displayable label, or resource key
-	 * @since 2.0
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Sets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @param localizations as a map from locale to property set
-	 * @since 3.4
-	 */
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-	}
-
-	/**
-	 * Sets the category name.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param name category name
-	 * @since 2.0
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
deleted file mode 100644
index ef3a743..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteFeature.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2008 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
- *     James D Miles (IBM Corp.) - bug 191783, NullPointerException in FeatureDownloader
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A reference to a feature in an update site.xml file.
- * 
- * Based on org.eclipse.update.core.model.FeatureReferenceModel.
- */
-public class SiteFeature {
-
-	// performance
-	private URL base;
-	private List /* of String*/categoryNames;
-	private String featureId;
-	private String featureVersion;
-
-	private final boolean resolved = false;
-	private URL url;
-	private String urlString;
-
-	/*
-	 * Compares two URL for equality
-	 * Return false if one of them is null
-	 */
-	public static boolean sameURL(URL url1, URL url2) {
-
-		if (url1 == null || url2 == null)
-			return false;
-		if (url1 == url2)
-			return true;
-		if (url1.equals(url2))
-			return true;
-
-		// check if URL are file: URL as we may
-		// have 2 URL pointing to the same featureReference
-		// but with different representation
-		// (i.e. file:/C;/ and file:C:/)
-		if (!"file".equalsIgnoreCase(url1.getProtocol())) //$NON-NLS-1$
-			return false;
-		if (!"file".equalsIgnoreCase(url2.getProtocol())) //$NON-NLS-1$
-			return false;
-
-		File file1 = new File(url1.getFile());
-		File file2 = new File(url2.getFile());
-
-		if (file1 == null)
-			return false;
-
-		return (file1.equals(file2));
-	}
-
-	/**
-	 * Creates an uninitialized feature reference model object.
-	 */
-	public SiteFeature() {
-		super();
-	}
-
-	/**
-	 * Adds the name of a category this feature belongs to.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param categoryName category name
-	 */
-	public void addCategoryName(String categoryName) {
-		if (this.categoryNames == null)
-			this.categoryNames = new ArrayList();
-		if (!this.categoryNames.contains(categoryName))
-			this.categoryNames.add(categoryName);
-	}
-
-	private void delayedResolve() {
-
-		// PERF: delay resolution
-		if (resolved)
-			return;
-
-		// resolve local elements
-		try {
-			url = new URL(base, urlString);
-		} catch (MalformedURLException e) {
-			//			UpdateCore.warn("", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Compares 2 feature reference models for equality
-	 *  
-	 * @param object feature reference model to compare with
-	 * @return <code>true</code> if the two models are equal, 
-	 * <code>false</code> otherwise
-	 */
-	public boolean equals(Object object) {
-
-		if (object == null)
-			return false;
-		if (getURL() == null)
-			return false;
-
-		if (!(object instanceof SiteFeature))
-			return false;
-
-		SiteFeature f = (SiteFeature) object;
-
-		return sameURL(getURL(), f.getURL());
-	}
-
-	/**
-	 * Returns the names of categories the referenced feature belongs to.
-	 * 
-	 * @return an array of names, or an empty array.
-	 */
-	public String[] getCategoryNames() {
-		if (categoryNames == null)
-			return new String[0];
-
-		return (String[]) categoryNames.toArray(new String[0]);
-	}
-
-	/**
-	 * Returns the feature identifier as a string
-	 * 
-	 * @return feature identifier
-	 */
-	public String getFeatureIdentifier() {
-		return featureId;
-	}
-
-	/**
-	 * Returns the feature version as a string
-	 * 
-	 * @return feature version 
-	 */
-	public String getFeatureVersion() {
-		return featureVersion;
-	}
-
-	/**
-	 * Returns the resolved URL for the feature reference.
-	 * 
-	 * @return url string
-	 */
-	public URL getURL() {
-		delayedResolve();
-		return url;
-	}
-
-	/**
-	 * Sets the feature identifier.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param featureId feature identifier
-	 */
-	public void setFeatureIdentifier(String featureId) {
-		this.featureId = featureId;
-	}
-
-	/**
-	 * Sets the feature version.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param featureVersion feature version
-	 */
-	public void setFeatureVersion(String featureVersion) {
-		this.featureVersion = featureVersion;
-	}
-
-	/**
-	 * Sets the unresolved URL for the feature reference.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param urlString unresolved URL string
-	 */
-	public void setURLString(String urlString) {
-		this.urlString = urlString;
-		this.url = null;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getClass().toString() + " :"); //$NON-NLS-1$
-		buffer.append(" at "); //$NON-NLS-1$
-		if (url != null)
-			buffer.append(url.toExternalForm());
-		return buffer.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
deleted file mode 100644
index 8b784ea..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/SiteModel.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.features;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.URLEntry;
-
-/**
- * A model of an update site.
- * 
- * Copied from org.eclipse.update.core.model.SiteModel.
- */
-public class SiteModel {
-
-	private List /*of ArchiveReferenceModel*/archiveReferences;
-	/**
-	 * Map of String (category id) -> SiteCategory
-	 */
-	private Map categories;
-	private URLEntry description;
-	/**
-	 * Map of String (feature id) -> SiteFeature
-	 */
-	private List features;
-	private String mirrorsURLString;
-	private URLEntry[] associateSites;
-	private List messageKeys;
-	private Map localizations;
-
-	/**
-	 * Creates an uninitialized site model object.
-	 * 
-	 * @since 2.0
-	 */
-	public SiteModel() {
-		super();
-	}
-
-	/**
-	 * Adds an archive reference model to site.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param archiveReference archive reference model
-	 * @since 2.0
-	 */
-	public void addArchive(URLEntry archiveReference) {
-		if (this.archiveReferences == null)
-			this.archiveReferences = new ArrayList();
-		if (!this.archiveReferences.contains(archiveReference))
-			this.archiveReferences.add(archiveReference);
-	}
-
-	/**
-	 * Adds a category to the site.
-	 * 
-	 * @param category category model
-	 */
-	public void addCategory(SiteCategory category) {
-		if (categories == null)
-			categories = new HashMap();
-		if (!categories.containsKey(category.getName())) {
-			categories.put(category.getName(), category);
-			if (localizations != null && !localizations.isEmpty())
-				category.setLocalizations(localizations);
-		}
-	}
-
-	/**
-	 * Adds a feature reference model to site.
-	 * 
-	 * @param featureReference feature reference model
-	 */
-	public void addFeature(SiteFeature featureReference) {
-		if (this.features == null)
-			this.features = new ArrayList();
-		this.features.add(featureReference);
-	}
-
-	public URLEntry[] getAssociatedSites() {
-		return associateSites;
-	}
-
-	/**
-	 * Returns the category with the given name.
-	 * @return the category with the given name, or <code>null</code>
-	 */
-	public SiteCategory getCategory(String name) {
-		return (SiteCategory) (categories == null ? null : categories.get(name));
-	}
-
-	/**
-	 * Returns the site description.
-	 * 
-	 * @return site description, or <code>null</code>.
-	 */
-	public URLEntry getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns an array of feature reference models on this site.
-	 * 
-	 * @return an array of feature reference models, or an empty array.
-	 */
-	public SiteFeature[] getFeatures() {
-		if (features == null || features.size() == 0)
-			return new SiteFeature[0];
-		return (SiteFeature[]) features.toArray(new SiteFeature[0]);
-	}
-
-	/**
-	 * Return the keys for translatable strings
-	 *
-	 * @return the list of keys for translatable strings; may be null
-	 * @since 3.4
-	 */
-	public List getMessageKeys() {
-		return messageKeys;
-	}
-
-	/**
-	 * Returns the URL from which the list of mirrors of this site can be retrieved.
-	 * 
-	 * @since org.eclipse.equinox.p2.metadata.generator 1.0
-	 */
-	public String getMirrorsURL() {
-		return mirrorsURLString;
-	}
-
-	/**
-	 * Sets the site description.
-	 * 
-	 * @param description site description
-	 * @since 2.0
-	 */
-	public void setDescription(URLEntry description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @param localizations as a map from locale to property set
-	 * @since 3.4
-	 */
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-		if (localizations != null && !localizations.isEmpty() && //
-				categories != null && !categories.isEmpty()) {
-			for (Iterator catIter = categories.entrySet().iterator(); catIter.hasNext();) {
-				Map.Entry entry = (Map.Entry) catIter.next();
-				SiteCategory category = (SiteCategory) entry.getValue();
-				category.setLocalizations(localizations);
-			}
-		}
-	}
-
-	/**
-	 * Sets keys for translatable strings
-	 * 
-	 * @param keys for translatable strings
-	 * @since 3.4
-	 */
-	public void setMessageKeys(List keys) {
-		this.messageKeys = keys;
-	}
-
-	/**
-	 * Sets the mirrors url. Mirror sites will then be obtained from this mirror url later.
-	 * This method is complementary to setMirrorsiteEntryModels(), and only one of these 
-	 * methods should be called.
-	 * 
-	 * @param mirrorsURL additional update site mirrors
-	 * @since 3.1
-	 */
-	public void setMirrorsURLString(String mirrorsURL) {
-		this.mirrorsURLString = mirrorsURL;
-	}
-
-	/**
-	 * Sets the associated sites for this update site.
-	 * 
-	 * @param associateSites the associated sites
-	 */
-	public void setAssociateSites(URLEntry[] associateSites) {
-		this.associateSites = associateSites;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
deleted file mode 100644
index 78bd8ff..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/features/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2008 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
-###############################################################################
-# Install Update Core Properties File
-#
-
-DefaultFeatureParser_IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty for the State: \"{2}\": unique identifier=\"{0}\" version=\"{1}\".
-DefaultSiteParser_NoSiteTag= Error parsing site stream. Unable to find root element \"site\" in the stream.
-DefaultSiteParser_WrongParsingStack= Internal Error parsing site stream. Unexpected Parsing Stack: \"{0}\"
-DefaultSiteParser_UnknownElement= Error parsing site stream. Unknown element \"{0}\" in parsing state \"{1}\". Check the validity of the XML file.
-DefaultSiteParser_UnknownStartState= Internal Error parsing site stream. Unknown start state \"{0}\".
-DefaultSiteParser_Missing= Error parsing site stream. The \"{0}\" tag of the element \"{1}\" is null or empty. Value is required.
-DefaultSiteParser_ParsingStackBackToInitialState= Internal Error parsing site stream. Parsing stack back to Initial State.
-DefaultSiteParser_ElementAlreadySet= Error parsing site stream. Element: \"{0}\" already set for the Site.
-DefaultSiteParser_UnknownEndState= Internal Error parsing site stream. Unknown end state \"{0}\".
-DefaultSiteParser_ErrorParsing= Error Parsing site stream. Error: \"{0}\"
-DefaultSiteParser_ErrorlineColumnMessage= Error Parsing site stream. Element \"{0}\" line: \"{1}\" column:\"{2}\". Error: \"{3}\".
-DefaultSiteParser_ErrorParsingSite= Error Parsing site stream.
-DefaultSiteParser_UnknownState= Unknown State \"{0}\".
-DefaultSiteParser_InvalidXMLStream= The XML stream is not a valid default \"site.xml\" file. The root tag is not site.
-DefaultSiteParser_mirrors = Error processing update site mirror.
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
deleted file mode 100644
index 348bc1e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/p2/metadata/generator/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 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
-###############################################################################
-exception_errorConverting = An error occurred while generating manifest for {0}.
-exception_errorParsingUpdateSite = Error parsing update site: {0}.
-exception_stateAddition = An error has occurred while adding the bundle {0}.
-exception_sourceDirectoryInvalid = Source directory is invalid: {0}.
-exception_artifactRepoNotWritable = Artifact repository is not writable: {0}.
-exception_artifactRepoNotSpecified = An artifact repository was not specified.
-exception_metadataRepoNotWritable = Metadata repository not writable: {0}.
-exception_metadataRepoNotSpecified = A metadata repository location was not specified.
-exception_baseLocationNotSpecified = Eclipse base location not specified.
-exception_artifactRepoNoAppendDestroysInput = Not appending to artifact repository ({0}) will destroy input files.
-message_generatingMetadata = Generating metadata for {0}.
-message_generationCompleted = Generation completed with success [{0} seconds].
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
deleted file mode 100644
index 218c6fe6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/BundleDescriptionFactory.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleException;
-
-/**
- * @deprecated All of the function here has moved to BundlesAction static methods
- */
-public class BundleDescriptionFactory {
-	static final String DIR = "dir"; //$NON-NLS-1$
-	static final String JAR = "jar"; //$NON-NLS-1$
-	private static final String FEATURE_FILENAME_DESCRIPTOR = "feature.xml"; //$NON-NLS-1$
-	private static final String PLUGIN_FILENAME_DESCRIPTOR = "plugin.xml"; //$NON-NLS-1$
-	private static final String FRAGMENT_FILENAME_DESCRIPTOR = "fragment.xml"; //$NON-NLS-1$
-
-	static String BUNDLE_FILE_KEY = "eclipse.p2.bundle.format"; //$NON-NLS-1$
-
-	//	static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$	
-	//	static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
-	//	static final String MANIFEST_LOCALIZATIONS = "eclipse.p2.manifest.localizations"; //$NON-NLS-1$
-	//
-	//	static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
-	//	static final Locale PSEUDO_LOCALE = new Locale("zz", "ZZ"); //$NON-NLS-1$//$NON-NLS-2$
-
-	StateObjectFactory factory;
-	State state;
-
-	public BundleDescriptionFactory(StateObjectFactory factory, State state) {
-		this.factory = factory;
-		this.state = state;
-		//TODO find a state and a factory when not provided
-	}
-
-	private PluginConverter acquirePluginConverter() {
-		return (PluginConverter) ServiceHelper.getService(Activator.getContext(), PluginConverter.class.getName());
-	}
-
-	private Dictionary convertPluginManifest(File bundleLocation, boolean logConversionException) {
-		PluginConverter converter;
-		try {
-			converter = acquirePluginConverter();
-			if (converter == null) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to aquire PluginConverter service during generation for: " + bundleLocation));
-				return null;
-			}
-			return converter.convertManifest(bundleLocation, false, null, true, null);
-		} catch (PluginConversionException convertException) {
-			// only log the exception if we had a plugin.xml or fragment.xml and we failed conversion
-			if (bundleLocation.getName().equals(FEATURE_FILENAME_DESCRIPTOR))
-				return null;
-			if (!new File(bundleLocation, PLUGIN_FILENAME_DESCRIPTOR).exists() && !new File(bundleLocation, FRAGMENT_FILENAME_DESCRIPTOR).exists())
-				return null;
-			if (logConversionException) {
-				IStatus status = new Status(IStatus.WARNING, Activator.ID, 0, NLS.bind(Messages.exception_errorConverting, bundleLocation.getAbsolutePath()), convertException);
-				LogHelper.log(status);
-			}
-			return null;
-		}
-	}
-
-	public BundleDescription getBundleDescription(Dictionary enhancedManifest, File bundleLocation) {
-		try {
-			BundleDescription descriptor = factory.createBundleDescription(state, enhancedManifest, bundleLocation != null ? bundleLocation.getAbsolutePath() : null, 1); //TODO Do we need to have a real bundle id
-			descriptor.setUserObject(enhancedManifest);
-			return descriptor;
-		} catch (BundleException e) {
-			String message = NLS.bind(Messages.exception_stateAddition, bundleLocation == null ? null : bundleLocation.getAbsoluteFile());
-			IStatus status = new Status(IStatus.WARNING, Activator.ID, message, e);
-			LogHelper.log(status);
-			return null;
-		}
-	}
-
-	public BundleDescription getBundleDescription(File bundleLocation) {
-		Dictionary manifest = loadManifest(bundleLocation);
-		if (manifest == null)
-			return null;
-		return getBundleDescription(manifest, bundleLocation);
-	}
-
-	public BundleDescription getBundleDescription(InputStream manifestStream, File bundleLocation) {
-		Hashtable entries = new Hashtable();
-		try {
-			ManifestElement.parseBundleManifest(manifestStream, entries);
-			return getBundleDescription(entries, bundleLocation);
-		} catch (IOException e) {
-			String message = "An error occurred while reading the bundle description " + (bundleLocation == null ? "" : bundleLocation.getAbsolutePath() + '.'); //$NON-NLS-1$ //$NON-NLS-2$
-			IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
-			LogHelper.log(status);
-		} catch (BundleException e) {
-			String message = "An error occurred while reading the bundle description " + (bundleLocation == null ? "" : bundleLocation.getAbsolutePath() + '.'); //$NON-NLS-1$ //$NON-NLS-2$
-			IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
-			LogHelper.log(status);
-		}
-		return null;
-	}
-
-	public Dictionary loadManifest(File bundleLocation) {
-		InputStream manifestStream = null;
-		ZipFile jarFile = null;
-		try {
-			if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && bundleLocation.isFile()) { //$NON-NLS-1$
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
-				if (manifestEntry != null) {
-					manifestStream = jarFile.getInputStream(manifestEntry);
-				}
-			} else {
-				File manifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
-				if (manifestFile.exists())
-					manifestStream = new BufferedInputStream(new FileInputStream(manifestFile));
-			}
-		} catch (IOException e) {
-			//ignore but log
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
-		}
-
-		Dictionary manifest = null;
-		if (manifestStream != null) {
-			try {
-				Map manifestMap = ManifestElement.parseBundleManifest(manifestStream, null);
-				// TODO temporary hack.  We are reading a Map but everyone wants a Dictionary so convert.
-				// real answer is to have people expect a Map but that is a wider change.
-				manifest = new Hashtable(manifestMap);
-			} catch (IOException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
-				return null;
-			} catch (BundleException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "An error occurred while loading the bundle manifest " + bundleLocation, e)); //$NON-NLS-1$
-				return null;
-			} finally {
-				try {
-					if (jarFile != null)
-						jarFile.close();
-				} catch (IOException e2) {
-					//Ignore
-				}
-			}
-		} else {
-			manifest = convertPluginManifest(bundleLocation, true);
-		}
-
-		if (manifest == null)
-			return null;
-
-		//Deal with the pre-3.0 plug-in shape who have a default jar manifest.mf
-		if (manifest.get(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME) == null)
-			manifest = convertPluginManifest(bundleLocation, true);
-
-		if (manifest == null)
-			return null;
-
-		manifest.put(BUNDLE_FILE_KEY, bundleLocation.isDirectory() ? DIR : JAR);
-		return manifest;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
deleted file mode 100644
index cd89780..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/EclipseInstallGeneratorInfoProvider.java
+++ /dev/null
@@ -1,538 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import java.util.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * @deprecated The function in this class has been refactored into more focused locations
- * such as IPublisherAction and IPublishingAdvice classes.  See the individual method deprecations
- * for more information on where the code has moved.
- */
-public class EclipseInstallGeneratorInfoProvider implements IGeneratorInfo {
-	private final static String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	private final static String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)"; //$NON-NLS-1$ //$NON-NLS-2$
-	//String filterFwVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_VERSION + "=" + props.getProperty("equinox.fw.version") + ")";
-	private final static String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)"; //$NON-NLS-1$ //$NON-NLS-2$
-	//String filterLauncherVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_VERSION + "=" + props.getProperty("equinox.launcher.version") + ")";
-	private final static String frameworkAdminFillter = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-	private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-	private static final String ORG_ECLIPSE_EQUINOX_P2_RECONCILER_DROPINS = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
-
-	private String os;
-
-	/**
-	 * Returns a default name for the executable.
-	 * @param providedOS The operating system to return the executable for. If null,
-	 * the operating system is determined from the current runtime environment.
-	 */
-	public static String getDefaultExecutableName(String providedOS) {
-		String theOS = providedOS;
-		if (theOS == null) {
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-			theOS = info.getOS();
-		}
-		if (theOS.equalsIgnoreCase("win32")) //$NON-NLS-1$
-			return "eclipse.exe"; //$NON-NLS-1$
-		if (theOS.equalsIgnoreCase("macosx")) //$NON-NLS-1$
-			return "Eclipse.app"; //$NON-NLS-1$
-		//FIXME Is this a reasonable default for all non-Windows platforms?
-		return "eclipse"; //$NON-NLS-1$
-	}
-
-	private boolean addDefaultIUs = true;
-
-	private boolean append = false;
-	private IArtifactRepository artifactRepository;
-	private File baseLocation;
-	private File[] bundleLocations;
-	private File configLocation;
-	private ArrayList defaultIUs;
-	private List otherIUs;
-	private File executableLocation;
-	private File featuresLocation;
-	private String flavor;
-	private ServiceTracker frameworkAdminTracker;
-	private Manipulator manipulator;
-	private IMetadataRepository metadataRepository;
-	private boolean publishArtifactRepo = false;
-	private boolean publishArtifacts = false;
-	private String rootId;
-	private String rootVersion;
-	private String productFile = null;
-	private String launcherConfig;
-	private String versionAdvice;
-
-	private URI siteLocation;
-
-	private boolean reuseExistingPack200Files = false;
-
-	public EclipseInstallGeneratorInfoProvider() {
-		super();
-	}
-
-	public boolean addDefaultIUs() {
-		return addDefaultIUs;
-	}
-
-	public boolean append() {
-		return append;
-	}
-
-	/** 
-	 * @deprecated moved to DefaultCUsAction
-	 */
-	protected GeneratorBundleInfo createDefaultConfigurationBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName("defaultConfigure"); //$NON-NLS-1$
-		result.setVersion("1.0.0"); //$NON-NLS-1$
-		result.setStartLevel(4);
-		// These should just be in the install section now
-		//		result.setSpecialConfigCommands("installBundle(bundle:${artifact});");
-		return result;
-	}
-
-	/** 
-	 * @deprecated moved to DefaultCUsAction
-	 */
-	protected GeneratorBundleInfo createDefaultUnconfigurationBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName("defaultUnconfigure"); //$NON-NLS-1$
-		result.setVersion("1.0.0"); //$NON-NLS-1$
-		// These should just be in the uninstall section now
-		//		result.setSpecialConfigCommands("uninstallBundle(bundle:${artifact});");
-		return result;
-	}
-
-	/**
-	 * Obtains the framework manipulator instance. Throws an exception
-	 * if it could not be created.
-	 * @deprecated see DataLoader
-	 */
-	private void createFrameworkManipulator() {
-		FrameworkAdmin admin = getFrameworkAdmin();
-		if (admin == null)
-			throw new RuntimeException("Framework admin service not found"); //$NON-NLS-1$
-		manipulator = admin.getManipulator();
-		if (manipulator == null)
-			throw new RuntimeException("Framework manipulator not found"); //$NON-NLS-1$
-	}
-
-	/** 
-	 * @deprecated moved to EquinoxLauncherData
-	 */
-	public static GeneratorBundleInfo createLauncher() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName("org.eclipse.equinox.launcher"); //$NON-NLS-1$
-		result.setVersion("0.0.0"); //$NON-NLS-1$
-		//result.setSpecialConfigCommands("manipulator.addProgramArgument('-startup'); manipulator.addProgramArgument(artifact);");
-		result.setSpecialConfigCommands("addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-		result.setSpecialUnconfigCommands("removeProgramArg(programArg:-startup);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-		return result;
-	}
-
-	/** 
-	 * @deprecated moved to EquinoxLauncherCUAction
-	 */
-	private Collection createLauncherBundleInfo(Set ius) {
-		Collection result = new HashSet();
-		Collection launchers = getIUs(ius, "org.eclipse.equinox.launcher."); //$NON-NLS-1$
-		if (launchers.size() > 0) {
-			for (Iterator iterator = launchers.iterator(); iterator.hasNext();) {
-				IInstallableUnit object = (IInstallableUnit) iterator.next();
-				if (object.getId().endsWith(".source")) //$NON-NLS-1$
-					continue;
-				GeneratorBundleInfo temp = new GeneratorBundleInfo();
-				temp.setSymbolicName(object.getId());
-				temp.setVersion(object.getVersion().toString());
-				temp.setSpecialConfigCommands("addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-				temp.setSpecialUnconfigCommands("removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-				result.add(temp);
-			}
-		} else if (launcherConfig != null) {
-			String[] config = Generator.parseConfigSpec(launcherConfig);
-			//we want ws.os.arch
-			GeneratorBundleInfo temp = new GeneratorBundleInfo();
-			temp.setSymbolicName("org.eclipse.equinox.launcher." + config[1] + '.' + config[0] + '.' + config[2]); //$NON-NLS-1$
-			temp.setSpecialConfigCommands("addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-			temp.setSpecialUnconfigCommands("removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-			result.add(temp);
-		}
-		return result;
-	}
-
-	/**
-	 * @deprecated moved to EclipseInstallAction (perhaps it will be somewhere more general...)
-	 */
-	private GeneratorBundleInfo createSimpleConfiguratorBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR);
-		result.setVersion("0.0.0"); //$NON-NLS-1$
-		result.setStartLevel(1);
-		result.setMarkedAsStarted(true);
-		return result;
-	}
-
-	/**
-	 * @deprecated moved to EclipseInstallAction (perhaps it will be somewhere more general...)
-	 */
-	private GeneratorBundleInfo createDropinsReconcilerBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName(ORG_ECLIPSE_EQUINOX_P2_RECONCILER_DROPINS);
-		result.setVersion("0.0.0"); //$NON-NLS-1$
-		result.setMarkedAsStarted(true);
-		result.setSpecialConfigCommands("mkdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
-		result.setSpecialUnconfigCommands("rmdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
-		return result;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private void expandBundleLocations() {
-		if (bundleLocations == null) {
-			bundleLocations = new File[] {};
-			return;
-		}
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < bundleLocations.length; i++) {
-			File location = bundleLocations[i];
-			if (location.isDirectory()) {
-				File[] list = location.listFiles();
-				for (int j = 0; j < list.length; j++)
-					result.add(list[j]);
-			} else {
-				result.add(location);
-			}
-		}
-		bundleLocations = (File[]) result.toArray(new File[result.size()]);
-	}
-
-	public IArtifactRepository getArtifactRepository() {
-		return artifactRepository;
-	}
-
-	public File getBaseLocation() {
-		return baseLocation;
-	}
-
-	public File[] getBundleLocations() {
-		return bundleLocations;
-	}
-
-	public ConfigData getConfigData() {
-		return manipulator == null ? null : manipulator.getConfigData();
-	}
-
-	/**
-	 * @deprecated moved to DataLoader
-	 */
-	public ConfigData loadConfigData(File location) {
-		if (manipulator == null)
-			return null;
-
-		EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(Activator.getContext());
-		try {
-			parser.readFwConfig(manipulator, location);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (URISyntaxException e) {
-			e.printStackTrace();
-		}
-
-		ConfigData data = manipulator.getConfigData();
-		String value = data.getProperty(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL);
-		if (value != null) {
-			try {
-				//config.ini uses simpleconfigurator, read the bundles.info and replace the bundle infos
-				SimpleConfiguratorManipulator simpleManipulator = (SimpleConfiguratorManipulator) ServiceHelper.getService(Activator.getContext(), SimpleConfiguratorManipulator.class.getName());
-				BundleInfo[] bundleInfos = simpleManipulator.loadConfiguration(new URL(value), null);
-				data.setBundles(bundleInfos);
-			} catch (MalformedURLException e1) {
-				// ignore
-			} catch (IOException e1) {
-				// ignore
-			}
-
-			try {
-				data.setProperty(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, EquinoxManipulatorImpl.makeRelative(value, configLocation.toURL()));
-			} catch (MalformedURLException e) {
-				//ignore
-			}
-		}
-
-		return data;
-	}
-
-	/**
-	 * @deprecated logic moved to EclipseInstallAction (and related actions)
-	 */
-	public ArrayList getDefaultIUs(Set ius) {
-		if (defaultIUs != null)
-			return defaultIUs;
-		defaultIUs = new ArrayList(5);
-		if (addDefaultIUs) {
-			defaultIUs.addAll(createLauncherBundleInfo(ius));
-			defaultIUs.add(createLauncher());
-			defaultIUs.add(createSimpleConfiguratorBundleInfo());
-			defaultIUs.add(createDropinsReconcilerBundleInfo());
-			//			defaultIUs.add(createDefaultConfigurationBundleInfo());
-			//			defaultIUs.add(createDefaultUnconfigurationBundleInfo());
-		}
-		return defaultIUs;
-	}
-
-	// TODO: This is kind of ugly. It's purpose is to allow us to craft CUs that we know about and need for our build
-	// We should try to replace this with something more generic prior to release
-	/**
-	 * @deprecated this has been replaced with RootIUAdvice and related things
-	 */
-	public Collection getOtherIUs() {
-		if (otherIUs != null)
-			return otherIUs;
-		otherIUs = new ArrayList();
-		otherIUs.add(createDropinsReconcilerBundleInfo());
-		return otherIUs;
-	}
-
-	public File getExecutableLocation() {
-		return executableLocation;
-	}
-
-	public File getFeaturesLocation() {
-		return featuresLocation;
-	}
-
-	public String getFlavor() {
-		//use 'tooling' as default flavor since we are not actively using flavors yet
-		return flavor == null ? "tooling" : flavor; //$NON-NLS-1$
-	}
-
-	/**
-	 * @deprecated moved to DataLoader
-	 */
-	private FrameworkAdmin getFrameworkAdmin() {
-		if (frameworkAdminTracker == null) {
-			try {
-				Filter filter = Activator.getContext().createFilter(frameworkAdminFillter);
-				frameworkAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
-				frameworkAdminTracker.open();
-			} catch (InvalidSyntaxException e) {
-				// never happens
-				e.printStackTrace();
-			}
-		}
-
-		return (FrameworkAdmin) frameworkAdminTracker.getService();
-	}
-
-	private Collection getIUs(Set ius, String prefix) {
-		Set result = new HashSet();
-		for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
-			IInstallableUnit tmp = (IInstallableUnit) iterator.next();
-			if (tmp.getId().startsWith(prefix))
-				result.add(tmp);
-		}
-		return result;
-	}
-
-	public File getJRELocation() {
-		//assume JRE is relative to install location
-		if (executableLocation == null)
-			return null;
-		return new File(executableLocation.getParentFile(), "jre"); //$NON-NLS-1$
-	}
-
-	public String getLauncherConfig() {
-		return launcherConfig;
-	}
-
-	public LauncherData getLauncherData() {
-		return manipulator == null ? null : manipulator.getLauncherData();
-	}
-
-	public IMetadataRepository getMetadataRepository() {
-		return metadataRepository;
-	}
-
-	public String getRootId() {
-		return rootId;
-	}
-
-	public String getRootVersion() {
-		if (rootVersion == null || rootVersion.length() == 0)
-			return "0.0.0"; //$NON-NLS-1$
-		return rootVersion;
-	}
-
-	public String getProductFile() {
-		return productFile;
-	}
-
-	public URI getSiteLocation() {
-		return siteLocation;
-	}
-
-	public void initialize(File base) {
-		// if the various locations are set in self, use them.  Otherwise compute defaults
-		File[] bundles = bundleLocations == null ? new File[] {new File(base, "plugins")} : bundleLocations; //$NON-NLS-1$
-		File features = featuresLocation == null ? new File(base, "features") : featuresLocation; //$NON-NLS-1$
-		File executable = executableLocation == null ? new File(base, getDefaultExecutableName(os)) : executableLocation;
-		File configuration = configLocation == null ? new File(base, "configuration") : configLocation; //$NON-NLS-1$
-
-		initialize(base, configuration, executable, bundles, features);
-	}
-
-	public void initialize(File base, File config, File executable, File[] bundles, File features) {
-		if (base == null || !base.exists())
-			throw new RuntimeException(NLS.bind(Messages.exception_sourceDirectoryInvalid, base == null ? "null" : base.getAbsolutePath())); //$NON-NLS-1$
-		this.baseLocation = base;
-		if (config == null || config.exists())
-			this.configLocation = config;
-		if (executable == null || executable.exists())
-			this.executableLocation = executable;
-		if (bundles != null)
-			bundleLocations = bundles;
-		if (features != null)
-			featuresLocation = features;
-		expandBundleLocations();
-
-		// if the config or exe are not set then we cannot be generating any data related to the config so 
-		// don't bother setting up the manipulator.  In fact, the manipulator will likely be invalid without
-		// these locations.
-		if (configLocation == null || executableLocation == null)
-			return;
-
-		createFrameworkManipulator();
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwPersistentDataLocation(configLocation, true);
-		launcherData.setLauncher(executableLocation);
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		} catch (FrameworkAdminRuntimeException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		} catch (IOException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		}
-	}
-
-	public boolean publishArtifactRepository() {
-		return publishArtifactRepo;
-	}
-
-	public boolean publishArtifacts() {
-		return publishArtifacts;
-	}
-
-	public boolean reuseExistingPack200Files() {
-		return reuseExistingPack200Files;
-	}
-
-	public void reuseExistingPack200Files(boolean publishPack) {
-		reuseExistingPack200Files = publishPack;
-	}
-
-	public void setAddDefaultIUs(boolean value) {
-		addDefaultIUs = value;
-	}
-
-	public void setAppend(boolean value) {
-		append = value;
-	}
-
-	public void setArtifactRepository(IArtifactRepository value) {
-		artifactRepository = value;
-	}
-
-	public void setExecutableLocation(String value) {
-		executableLocation = new File(value);
-	}
-
-	public void setFlavor(String value) {
-		flavor = value;
-	}
-
-	public void setLauncherConfig(String value) {
-		launcherConfig = value;
-	}
-
-	public void setMappingRules(String[][] value) {
-	}
-
-	public void setMetadataRepository(IMetadataRepository value) {
-		metadataRepository = value;
-	}
-
-	public void setOS(String os) {
-		this.os = os;
-	}
-
-	public void setPublishArtifactRepository(boolean value) {
-		publishArtifactRepo = value;
-	}
-
-	public void setPublishArtifacts(boolean value) {
-		publishArtifacts = value;
-	}
-
-	public void setRootId(String value) {
-		rootId = value;
-	}
-
-	public void setRootVersion(String value) {
-		rootVersion = value;
-	}
-
-	public void setProductFile(String file) {
-		productFile = file;
-	}
-
-	/**
-	 * Sets the location of site.xml if applicable.
-	 */
-	public void setSiteLocation(URI location) {
-		this.siteLocation = location;
-	}
-
-	public String getVersionAdvice() {
-		return versionAdvice;
-	}
-
-	public void setVersionAdvice(String advice) {
-		this.versionAdvice = advice;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
deleted file mode 100644
index e27ff87..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Feature.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-/**
- * 
- * Feature information
- */
-public class Feature {
-
-	private final String id;
-	private final String version;
-	private String label;
-	private String pluginId;
-	private boolean primary = false;
-	private boolean exclusive = false;
-	private String application;
-
-	private URLEntry description;
-	private URLEntry license;
-	private URLEntry copyright;
-
-	private String installHandler;
-	private String installHandlerURL;
-	private String installHandlerLibrary;
-
-	private URLEntry updateSite;
-	private ArrayList discoverySites;
-
-	private ArrayList entries;
-	private String providerName;
-
-	private String location;
-
-	private Map localizations;
-
-	public Feature(String id, String version) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		this.id = id;
-		this.version = version;
-	}
-
-	public void addDiscoverySite(String siteLabel, String url) {
-		if (siteLabel == null && url == null)
-			return;
-
-		if (this.discoverySites == null)
-			this.discoverySites = new ArrayList();
-
-		URLEntry entry = new URLEntry(url, siteLabel);
-		this.discoverySites.add(entry);
-	}
-
-	public void addEntry(FeatureEntry plugin) {
-		if (entries == null)
-			entries = new ArrayList();
-		entries.add(plugin);
-	}
-
-	public String getApplication() {
-		return application;
-	}
-
-	public String getCopyright() {
-		if (copyright != null)
-			return copyright.getAnnotation();
-		return null;
-	}
-
-	public String getCopyrightURL() {
-		if (copyright != null)
-			return copyright.getURL();
-		return null;
-	}
-
-	public String getDescription() {
-		if (description != null)
-			return description.getAnnotation();
-		return null;
-	}
-
-	public String getDescriptionURL() {
-		if (description != null)
-			return description.getURL();
-		return null;
-	}
-
-	public URLEntry[] getDiscoverySites() {
-		if (discoverySites == null)
-			return new URLEntry[0];
-		return (URLEntry[]) discoverySites.toArray(new URLEntry[discoverySites.size()]);
-	}
-
-	public FeatureEntry[] getEntries() {
-		if (entries == null)
-			return new FeatureEntry[0];
-		return (FeatureEntry[]) entries.toArray(new FeatureEntry[entries.size()]);
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getInstallHandler() {
-		return installHandler;
-	}
-
-	public String getInstallHandlerLibrary() {
-		return installHandlerLibrary;
-	}
-
-	public String getInstallHandlerURL() {
-		return installHandlerURL;
-	}
-
-	public String getLabel() {
-		return label;
-	}
-
-	public String getLicense() {
-		if (license != null)
-			return license.getAnnotation();
-		return null;
-	}
-
-	public String getLicenseURL() {
-		if (license != null)
-			return license.getURL();
-		return null;
-	}
-
-	public Map getLocalizations() {
-		return this.localizations;
-	}
-
-	public String getLocation() {
-		return this.location;
-	}
-
-	public String getPlugin() {
-		return pluginId;
-	}
-
-	public String getProviderName() {
-		return providerName;
-	}
-
-	public URLEntry getUpdateSite() {
-		return updateSite;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public boolean isExclusive() {
-		return exclusive;
-	}
-
-	public boolean isPrimary() {
-		return primary;
-	}
-
-	public void setApplication(String application) {
-		this.application = application;
-	}
-
-	public void setCopyright(String copyright) {
-		if (this.copyright == null)
-			this.copyright = new URLEntry();
-		this.copyright.setAnnotation(copyright);
-	}
-
-	public void setCopyrightURL(String copyrightURL) {
-		if (this.copyright == null)
-			this.copyright = new URLEntry();
-		this.copyright.setURL(copyrightURL);
-	}
-
-	public void setDescription(String description) {
-		if (this.description == null)
-			this.description = new URLEntry();
-		this.description.setAnnotation(description);
-	}
-
-	public void setDescriptionURL(String descriptionURL) {
-		if (this.description == null)
-			this.description = new URLEntry();
-		this.description.setURL(descriptionURL);
-	}
-
-	public void setExclusive(boolean exclusive) {
-		this.exclusive = exclusive;
-	}
-
-	public void setInstallHandler(String installHandler) {
-		this.installHandler = installHandler;
-	}
-
-	public void setInstallHandlerLibrary(String installHandlerLibrary) {
-		this.installHandlerLibrary = installHandlerLibrary;
-	}
-
-	public void setInstallHandlerURL(String installHandlerURL) {
-		this.installHandlerURL = installHandlerURL;
-	}
-
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	public void setLicense(String license) {
-		if (this.license == null)
-			this.license = new URLEntry();
-		this.license.setAnnotation(license);
-	}
-
-	public void setLicenseURL(String licenseURL) {
-		if (this.license == null)
-			this.license = new URLEntry();
-		this.license.setURL(licenseURL);
-	}
-
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-	}
-
-	public void setLocation(String location) {
-		this.location = location;
-	}
-
-	public void setPlugin(String pluginId) {
-		this.pluginId = pluginId;
-	}
-
-	public void setPrimary(boolean primary) {
-		this.primary = primary;
-	}
-
-	public void setProviderName(String value) {
-		providerName = value;
-	}
-
-	public void setUpdateSiteLabel(String updateSiteLabel) {
-		if (this.updateSite == null)
-			this.updateSite = new URLEntry();
-		this.updateSite.setAnnotation(updateSiteLabel);
-	}
-
-	public void setUpdateSiteURL(String updateSiteURL) {
-		if (this.updateSite == null)
-			this.updateSite = new URLEntry();
-		this.updateSite.setURL(updateSiteURL);
-	}
-
-	public void setURL(String value) {
-		//
-	}
-
-	/**
-	 * For debugging purposes only.
-	 */
-	public String toString() {
-		return "Feature " + id + " version: " + version; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
deleted file mode 100644
index 13b5ca0..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- */
-public class FeatureEntry {
-	private final String id;
-	private final String version;
-	private String os;
-	private String ws;
-	private String arch;
-	private String nl;
-	private String match;
-	private final boolean isPlugin;
-	private boolean isFragment = false;
-	private boolean isRequires = false;
-	private boolean unpack = true;
-	private boolean optional = false;
-	private boolean isPatch = false;
-
-	/**
-	 * Temporary field to add provisioning filters to features
-	 */
-	private String filter;
-
-	public static FeatureEntry createRequires(String id, String version, String match, String filter, boolean isPlugin) {
-		FeatureEntry result = new FeatureEntry(id, version, isPlugin);
-		result.match = match;
-		result.isRequires = true;
-		if (filter != null)
-			result.setFilter(filter);
-		return result;
-	}
-
-	public FeatureEntry(String id, String version, boolean isPlugin) {
-		this.id = id;
-		this.version = Version.parseVersion(version).toString();
-		this.isPlugin = isPlugin;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		final FeatureEntry other = (FeatureEntry) obj;
-		if (id == null) {
-			if (other.id != null)
-				return false;
-		} else if (!id.equals(other.id))
-			return false;
-		if (version == null) {
-			if (other.version != null)
-				return false;
-		} else if (!version.equals(other.version))
-			return false;
-		return true;
-	}
-
-	public String getArch() {
-		return arch;
-	}
-
-	/**
-	 * Temporary method to add provisioning filters to features
-	 */
-	public String getFilter() {
-		return filter;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getMatch() {
-		return match;
-	}
-
-	public String getNL() {
-		return nl;
-	}
-
-	public String getOS() {
-		return os;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String getWS() {
-		return ws;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((id == null) ? 0 : id.hashCode());
-		result = prime * result + ((version == null) ? 0 : version.hashCode());
-		return result;
-	}
-
-	public boolean isFragment() {
-		return isFragment;
-	}
-
-	public boolean isOptional() {
-		return optional;
-	}
-
-	public boolean isPlugin() {
-		return isPlugin;
-	}
-
-	public boolean isRequires() {
-		return isRequires;
-	}
-
-	public boolean isUnpack() {
-		return unpack;
-	}
-
-	public void setEnvironment(String os, String ws, String arch, String nl) {
-		this.os = os;
-		this.ws = ws;
-		this.arch = arch;
-		this.nl = nl;
-	}
-
-	/**
-	 * Temporary method to add provisioning filters to features
-	 */
-	public void setFilter(String filter) {
-		this.filter = filter;
-
-	}
-
-	public void setFragment(boolean value) {
-		isFragment = value;
-	}
-
-	public void setOptional(boolean value) {
-		optional = value;
-	}
-
-	public void setUnpack(boolean value) {
-		unpack = value;
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-
-		result.append(isPlugin ? "Plugin: " : "Feature: "); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(id != null ? id.toString() : ""); //$NON-NLS-1$
-		result.append(version != null ? " " + version.toString() : ""); //$NON-NLS-1$ //$NON-NLS-2$
-		return result.toString();
-	}
-
-	public boolean isPatch() {
-		return isPatch;
-	}
-
-	public void setPatch(boolean patch) {
-		this.isPatch = patch;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
deleted file mode 100644
index 6751d29..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java
+++ /dev/null
@@ -1,1399 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxConstants;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.metadata.generator.*;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Generator {
-	/**
-	 * Captures the output of an execution of the generator.
-	 */
-	public static class GeneratorResult {
-		public static final String CONFIGURATION_CUS = "CONFIGURATION_CUS"; //$NON-NLS-1$
-
-		final public Map pluginShape = new HashMap();
-
-		/**
-		 * The set of generated IUs that will be children of the root IU
-		 */
-		final public Set rootIUs = new HashSet();
-		/**
-		 * The set of generated IUs that will not be children of the root IU
-		 */
-		final public Set nonRootIUs = new HashSet();
-
-		/**
-		 * Map of symbolic name to a set of generated CUs for that IU
-		 */
-		final public Map configurationIUs = new HashMap();
-
-		/**
-		 * Map launcherConfig to config.ini ConfigData
-		 */
-		final public Map configData = new HashMap();
-
-		/**
-		 * Returns all IUs generated during this execution of the generator.
-		 */
-		public Set allGeneratedIUs() {
-			HashSet all = new HashSet();
-			all.addAll(rootIUs);
-			all.addAll(nonRootIUs);
-			return all;
-		}
-
-		/**
-		 * Returns the IU in this result with the given id.
-		 */
-		public IInstallableUnit getInstallableUnit(String id) {
-			for (Iterator iterator = rootIUs.iterator(); iterator.hasNext();) {
-				IInstallableUnit tmp = (IInstallableUnit) iterator.next();
-				if (tmp.getId().equals(id))
-					return tmp;
-			}
-			for (Iterator iterator = nonRootIUs.iterator(); iterator.hasNext();) {
-				IInstallableUnit tmp = (IInstallableUnit) iterator.next();
-				if (tmp.getId().equals(id))
-					return tmp;
-			}
-			return null;
-
-		}
-
-		public Map getPluginShapeInfo() {
-			return pluginShape;
-		}
-	}
-
-	private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-	private static final String ORG_ECLIPSE_UPDATE_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	private static final String ORG_ECLIPSE_EQUINOX_LAUNCHER = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-
-	private static final String PRODUCT_CONFIG_SUFFIX = ".config"; //$NON-NLS-1$
-	private static final String PRODUCT_INI_SUFFIX = ".ini"; //$NON-NLS-1$
-	private static final String PRODUCT_LAUCHER_SUFFIX = ".launcher"; //$NON-NLS-1$
-	private static final String CONFIG_ANY = "ANY"; //$NON-NLS-1$
-
-	private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
-	protected final IGeneratorInfo info;
-
-	private GeneratorResult incrementalResult = null;
-	private ProductFile productFile = null;
-	private boolean generateRootIU = true;
-
-	/**
-	 * Short term fix to ensure IUs that have no corresponding category are not lost.
-	 * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=211521.
-	 */
-	protected final Set rootCategory = new HashSet();
-
-	private StateObjectFactory stateObjectFactory;
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				result.add(token);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	public static String[] parseConfigSpec(String config) {
-		String[] parsed = getArrayFromString(config, "_"); //$NON-NLS-1$
-		for (int i = 0; i < parsed.length; i++) {
-			if (parsed[i].equals("*")) //$NON-NLS-1$
-				parsed[i] = "ANY"; //$NON-NLS-1$
-		}
-		if (parsed.length > 3) {
-			String[] adjusted = new String[] {parsed[0], parsed[1], parsed[2] + '_' + parsed[3]};
-			return adjusted;
-		}
-		return parsed;
-	}
-
-	public Generator(IGeneratorInfo infoProvider) {
-		this.info = infoProvider;
-		// TODO need to figure a better way of configuring the generator...
-		PlatformAdmin platformAdmin = (PlatformAdmin) ServiceHelper.getService(Activator.getContext(), PlatformAdmin.class.getName());
-		if (platformAdmin != null) {
-			stateObjectFactory = platformAdmin.getFactory();
-		}
-	}
-
-	public void setIncrementalResult(GeneratorResult result) {
-		this.incrementalResult = result;
-	}
-
-	private String getProductVersion() {
-		String version = "1.0.0"; //$NON-NLS-1$
-		if (productFile != null && !productFile.getVersion().equals("0.0.0")) //$NON-NLS-1$
-			version = productFile.getVersion();
-		else if (!info.getRootVersion().equals("0.0.0")) //$NON-NLS-1$
-			version = info.getRootVersion();
-		return version;
-	}
-
-	/** 
-	 * @deprecated moved to ProductAction
-	 */
-	protected IInstallableUnit createProductIU(GeneratorResult result) {
-		generateProductConfigCUs(result);
-
-		GeneratorResult productContents = new GeneratorResult();
-
-		ProductQuery productQuery = new ProductQuery(productFile, info.getFlavor(), result.configurationIUs, info.getVersionAdvice());
-		PipedQuery query = new PipedQuery(new IQuery[] {productQuery, new LatestIUVersionQuery()});
-		Collector collector = info.getMetadataRepository().query(query, null);
-		for (Iterator iterator = collector.iterator(); iterator.hasNext();) {
-			productContents.rootIUs.add(iterator.next());
-		}
-
-		String version = getProductVersion();
-		VersionRange range = new VersionRange(Version.create(version), true, Version.create(version), true);
-		ArrayList requires = new ArrayList(1);
-		requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_LAUCHER_SUFFIX, range, null, false, true));
-		requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, range, null, false, false));
-		requires.add(MetadataFactory.createRequiredCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, range, null, false, false));
-
-		//default CUs		
-		requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId(MetadataGeneratorHelper.OSGI_BUNDLE_CLASSIFIER, info.getFlavor()), VersionRange.emptyRange, null, false, false));
-		requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId("source", info.getFlavor()), VersionRange.emptyRange, null, false, false)); //$NON-NLS-1$
-		if (productFile.useFeatures())
-			requires.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, MetadataGeneratorHelper.createDefaultConfigUnitId(MetadataGeneratorHelper.ECLIPSE_FEATURE_CLASSIFIER, info.getFlavor()), VersionRange.emptyRange, MetadataGeneratorHelper.INSTALL_FEATURES_FILTER, true, false));
-
-		InstallableUnitDescription root = createTopLevelIUDescription(productContents, productFile.getId(), version, productFile.getProductName(), requires, false);
-		return MetadataFactory.createInstallableUnit(root);
-	}
-
-	/**
-	 * @deprecated moved to RootIUAction
-	 */
-	protected IInstallableUnit createTopLevelIU(GeneratorResult result, String configurationIdentification, String configurationVersion) {
-		// TODO, bit of a hack but for now set the name of the IU to the ID.
-		InstallableUnitDescription root = createTopLevelIUDescription(result, configurationIdentification, configurationVersion, configurationIdentification, null, true);
-		return MetadataFactory.createInstallableUnit(root);
-	}
-
-	/**
-	 * @deprecated moved to RootIUAction
-	 */
-	protected InstallableUnitDescription createTopLevelIUDescription(GeneratorResult result, String configurationIdentification, String configurationVersion, String configurationName, List requires, boolean configureLauncherData) {
-		InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription();
-		root.setSingleton(true);
-		root.setId(configurationIdentification);
-		root.setVersion(Version.create(configurationVersion));
-		root.setProperty(IInstallableUnit.PROP_NAME, configurationName);
-
-		ArrayList reqsConfigurationUnits = new ArrayList(result.rootIUs.size());
-		for (Iterator iterator = result.rootIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
-			//			boolean isOptional = checkOptionalRootDependency(iu);
-			reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, ((LDAPQuery) iu.getFilter()).getFilter(), false, false));
-		}
-		if (requires != null)
-			reqsConfigurationUnits.addAll(requires);
-		root.setRequiredCapabilities((IRequirement[]) reqsConfigurationUnits.toArray(new IRequirement[reqsConfigurationUnits.size()]));
-		root.setArtifacts(new IArtifactKey[0]);
-
-		root.setProperty("lineUp", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(configurationIdentification, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null));
-		root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		root.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configurationIdentification, Version.create(configurationVersion))});
-		root.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-
-		// Publisher refactor - the configdata stuff moved to a distinct IU added by the ConfigCUsAction
-		String configurationData = ""; //$NON-NLS-1$
-		String unconfigurationData = ""; //$NON-NLS-1$
-
-		ConfigData configData = info.getConfigData();
-		if (configData != null) {
-			String[] dataStrings = getConfigurationStrings(configData);
-			configurationData += dataStrings[0];
-			unconfigurationData += dataStrings[1];
-		}
-
-		if (configureLauncherData) {
-			LauncherData launcherData = info.getLauncherData();
-			if (launcherData != null) {
-				String[] dataStrings = getLauncherConfigStrings(launcherData.getJvmArgs(), launcherData.getProgramArgs());
-				configurationData += dataStrings[0];
-				unconfigurationData += dataStrings[1];
-			}
-		}
-		touchpointData.put("configure", configurationData); //$NON-NLS-1$
-		touchpointData.put("unconfigure", unconfigurationData); //$NON-NLS-1$
-		//look for additional touchpoint instructions in a p2.inf file
-		final String productFileLocation = info.getProductFile();
-		if (productFileLocation != null) {
-			File productFilePath = new File(productFileLocation);
-			if (productFilePath.exists()) {
-				Map advice = MetadataGeneratorHelper.getBundleAdvice(productFilePath.getParent(), "p2.inf");//$NON-NLS-1$
-				if (advice != null)
-					MetadataGeneratorHelper.mergeInstructionsAdvice(touchpointData, advice);
-			}
-		}
-
-		root.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		return root;
-	}
-
-	/**
-	 * @deprecated moved to ConfigCUsAction
-	 */
-	private String[] getConfigurationStrings(ConfigData configData) {
-		String configurationData = ""; //$NON-NLS-1$
-		String unconfigurationData = ""; //$NON-NLS-1$
-		for (Iterator iterator = configData.getProperties().entrySet().iterator(); iterator.hasNext();) {
-			Entry aProperty = (Entry) iterator.next();
-			String key = ((String) aProperty.getKey());
-			if (key.equals("osgi.frameworkClassPath") || key.equals("osgi.framework") || key.equals("osgi.bundles") || key.equals("eof")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				continue;
-			configurationData += "setProgramProperty(propName:" + key + ", propValue:" + ((String) aProperty.getValue()) + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			unconfigurationData += "setProgramProperty(propName:" + key + ", propValue:);"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		for (Iterator iterator = configData.getProperties().entrySet().iterator(); iterator.hasNext();) {
-			Entry aProperty = (Entry) iterator.next();
-			String key = ((String) aProperty.getKey());
-			if (key.equals("osgi.frameworkClassPath") || key.equals("osgi.framework") || key.equals("osgi.bundles") || key.equals("eof")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				continue;
-			configurationData += "setProgramProperty(propName:" + key + ", propValue:" + ((String) aProperty.getValue()) + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			unconfigurationData += "setProgramProperty(propName:" + key + ", propValue:);"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		return new String[] {configurationData, unconfigurationData};
-	}
-
-	/**
-	 * @deprecated moved to ConfigCUsAction
-	 */
-	private String[] getLauncherConfigStrings(final String[] jvmArgs, final String[] programArgs) {
-		String configurationData = ""; //$NON-NLS-1$
-		String unconfigurationData = ""; //$NON-NLS-1$
-
-		for (int i = 0; i < jvmArgs.length; i++) {
-			configurationData += "addJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-			unconfigurationData += "removeJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		for (int i = 0; i < programArgs.length; i++) {
-			String programArg = programArgs[i];
-			if (programArg.equals("--launcher.library") || programArg.equals("-startup") || programArg.equals("-configuration")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				i++;
-			configurationData += "addProgramArg(programArg:" + programArg + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-			unconfigurationData += "removeProgramArg(programArg:" + programArg + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return new String[] {configurationData, unconfigurationData};
-	}
-
-	public IStatus generate() {
-		GeneratorResult result = incrementalResult != null ? incrementalResult : new GeneratorResult();
-
-		if (info.getProductFile() != null) {
-			try {
-				productFile = new ProductFile(info.getProductFile(), null);
-			} catch (Exception e) {
-				//TODO
-			}
-		}
-
-		Feature[] features = getFeatures(info.getFeaturesLocation());
-		generateFeatureIUs(features, result, info.getArtifactRepository());
-
-		BundleDescription[] bundles = getBundleDescriptions(info.getBundleLocations());
-		generateBundleIUs(bundles, result, info.getArtifactRepository());
-
-		generateNativeIUs(info.getExecutableLocation(), result, info.getArtifactRepository());
-
-		generateConfigIUs(result);
-
-		if (info.addDefaultIUs())
-			generateDefaultConfigIU(result.rootIUs);
-
-		if (generateRootIU)
-			generateRootIU(result, info.getRootId(), info.getRootVersion());
-
-		//		persistence.setMappingRules(info.getMappingRules() == null ? defaultMappingRules : info.getMappingRules());
-		//		if (info.publishArtifacts() || info.publishArtifactRepository()) {
-		//			persistence.saveArtifactRepository();
-		//		}
-		IMetadataRepository metadataRepository = info.getMetadataRepository();
-		if (metadataRepository != null) {
-			Set allGeneratedUnits = result.allGeneratedIUs();
-			metadataRepository.addInstallableUnits((IInstallableUnit[]) allGeneratedUnits.toArray(new IInstallableUnit[allGeneratedUnits.size()]));
-		}
-
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	protected void generateBundleIUs(BundleDescription[] bundles, GeneratorResult result, IArtifactRepository destination) {
-		// Computing the path for localized property files in a NL fragment bundle
-		// requires the BUNDLE_LOCALIZATION property from the manifest of the host bundle,
-		// so a first pass is done over all the bundles to cache this value as well as the tags
-		// from the manifest for the localizable properties.
-		final int CACHE_PHASE = 0;
-		final int GENERATE_PHASE = 1;
-		Map bundleLocalizationMap = new HashMap(bundles.length);
-		Set localizationIUs = new HashSet(32);
-		for (int phase = CACHE_PHASE; phase <= GENERATE_PHASE; phase++) {
-			for (int i = 0; i < bundles.length; i++) {
-				BundleDescription bd = bundles[i];
-				// A bundle may be null if the associated plug-in does not have a manifest file -
-				// for example, org.eclipse.jdt.launching.j9
-				if (bd != null && bd.getSymbolicName() != null && bd.getVersion() != null) {
-					Map bundleManifest = (Map) bd.getUserObject();
-
-					if (phase == CACHE_PHASE) {
-						if (bundleManifest != null) {
-							String[] cachedValues = MetadataGeneratorHelper.getManifestCachedValues(bundleManifest);
-							bundleLocalizationMap.put(makeSimpleKey(bd), cachedValues);
-						}
-					} else {
-						String format = (String) result.getPluginShapeInfo().get(bd.getSymbolicName() + '_' + bd.getVersion());
-						if (format == null)
-							format = (String) bundleManifest.get(BundleDescriptionFactory.BUNDLE_FILE_KEY);
-						boolean isDir = (format != null && format.equals(BundleDescriptionFactory.DIR) ? true : false);
-
-						IArtifactKey key = new ArtifactKey(MetadataGeneratorHelper.OSGI_BUNDLE_CLASSIFIER, bd.getSymbolicName(), Version.create(bd.getVersion().toString()));
-						IArtifactDescriptor ad = MetadataGeneratorHelper.createArtifactDescriptor(key, new File(bd.getLocation()), true, false);
-						((ArtifactDescriptor) ad).setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
-						File bundleFile = new File(bd.getLocation());
-						if (bundleFile.isDirectory())
-							publishArtifact(ad, bundleFile.listFiles(), destination, false, bundleFile);
-						else
-							publishArtifact(ad, new File[] {bundleFile}, destination, true);
-						if (info.reuseExistingPack200Files() && !info.publishArtifacts()) {
-							File packFile = new Path(bd.getLocation()).addFileExtension("pack.gz").toFile(); //$NON-NLS-1$
-							if (packFile.exists()) {
-								IArtifactDescriptor ad200 = MetadataGeneratorHelper.createPack200ArtifactDescriptor(key, packFile, ad.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
-								publishArtifact(ad200, new File[] {packFile}, destination, true);
-							}
-						}
-
-						IInstallableUnit bundleIU = MetadataGeneratorHelper.createBundleIU(bd, bundleManifest, isDir, key, true);
-
-						if (isFragment(bd)) {
-							// TODO: Can NL fragments be multi-host?  What special handling
-							//		 is required for multi-host fragments in general?
-							String hostId = bd.getHost().getName();
-							String hostKey = makeSimpleKey(hostId);
-							String[] cachedValues = (String[]) bundleLocalizationMap.get(hostKey);
-
-							if (cachedValues != null) {
-								MetadataGeneratorHelper.createHostLocalizationFragment(bundleIU, bd, hostId, cachedValues, localizationIUs);
-							}
-						}
-
-						result.rootIUs.add(bundleIU);
-						result.nonRootIUs.addAll(localizationIUs);
-						localizationIUs.clear();
-					}
-				}
-			}
-		}
-	}
-
-	private static boolean isFragment(BundleDescription bd) {
-		return (bd.getHost() != null ? true : false);
-	}
-
-	private static String makeSimpleKey(BundleDescription bd) {
-		// TODO: can't use the bundle version in the key for the BundleLocalization
-		//		 property map since the host specification for a fragment has a
-		//		 version range, not a version. Hence, this mechanism for finding
-		// 		 manifest localization property files may break under changes
-		//		 to the BundleLocalization property of a bundle.
-		return makeSimpleKey(bd.getSymbolicName() /*, bd.getVersion() */);
-	}
-
-	private static String makeSimpleKey(String id /*, Version version */) {
-		return id; // + '_' + version.toString();
-	}
-
-	/**
-	 * Generates IUs corresponding to update site categories.
-	 * @param categoriesToFeatures Map of SiteCategory ->Set (Feature IUs in that category).
-	 * @param result The generator result being built
-	 * @deprecated moved to SiteXMLAction
-	 */
-	protected void generateCategoryIUs(Map categoriesToFeatures, GeneratorResult result) {
-		for (Iterator it = categoriesToFeatures.keySet().iterator(); it.hasNext();) {
-			SiteCategory category = (SiteCategory) it.next();
-			result.nonRootIUs.add(MetadataGeneratorHelper.createCategoryIU(category, (Set) categoriesToFeatures.get(category), null));
-		}
-	}
-
-	/**
-	 * @deprecated moved to ConfigCUsAction
-	 */
-	private void storeConfigData(GeneratorResult result) {
-		if (result.configData.containsKey(info.getLauncherConfig()))
-			return; //been here, done this
-
-		LauncherData launcherData = info.getLauncherData();
-		if (launcherData == null)
-			return;
-
-		File fwConfigFile = new File(launcherData.getFwConfigLocation(), EquinoxConstants.CONFIG_INI);
-		if (fwConfigFile.exists()) {
-			if (info instanceof EclipseInstallGeneratorInfoProvider) {
-				((EclipseInstallGeneratorInfoProvider) info).loadConfigData(fwConfigFile);
-				ConfigData data = info.getConfigData();
-				result.configData.put(info.getLauncherConfig(), data);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated moved to ConfigCUsAction
-	 */
-	protected GeneratorBundleInfo createGeneratorBundleInfo(BundleInfo bundleInfo, GeneratorResult result) {
-		if (bundleInfo.getLocation() != null)
-			return new GeneratorBundleInfo(bundleInfo);
-
-		String name = bundleInfo.getSymbolicName();
-
-		//easy case: do we have a matching IU?
-		IInstallableUnit iu = result.getInstallableUnit(name);
-		if (iu != null) {
-			bundleInfo.setVersion(iu.getVersion().toString());
-			return new GeneratorBundleInfo(bundleInfo);
-		}
-
-		//harder: try id_version
-		int i = name.indexOf('_');
-		while (i > -1) {
-			Version version = null;
-			try {
-				version = Version.create(name.substring(i));
-				bundleInfo.setSymbolicName(name.substring(0, i));
-				bundleInfo.setVersion(version.toString());
-				return new GeneratorBundleInfo(bundleInfo);
-			} catch (IllegalArgumentException e) {
-				// the '_' found was probably part of the symbolic id
-				i = name.indexOf('_', i);
-			}
-		}
-
-		//Query the repo
-		IQuery query = new InstallableUnitQuery(name);
-		Iterator matches = info.getMetadataRepository().query(query, null).iterator();
-		//pick the newest match
-		IInstallableUnit newest = null;
-		while (matches.hasNext()) {
-			IInstallableUnit candidate = (IInstallableUnit) matches.next();
-			if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
-				newest = candidate;
-		}
-		if (newest != null) {
-			bundleInfo.setVersion(newest.getVersion().toString());
-			return new GeneratorBundleInfo(bundleInfo);
-		}
-
-		return null;
-	}
-
-	/** 
-	 * @deprecated moved to ConfigCUsAction
-	 */
-	protected void generateBundleConfigIUs(BundleInfo[] infos, GeneratorResult result, String launcherConfig, int defaultStartLevel) {
-		if (infos == null)
-			return;
-
-		String cuIdPrefix = ""; //$NON-NLS-1$
-		String filter = null;
-		if (launcherConfig != null) {
-			//launcher config is os_ws_arch, we want suffix ws.os.arch
-			String[] config = parseConfigSpec(launcherConfig);
-			cuIdPrefix = config[1] + '.' + config[0] + '.' + config[2];
-
-			filter = "(& (osgi.ws=" + config[1] + ") (osgi.os=" + config[0] + ") (osgi.arch=" + config[2] + "))"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-
-		List allCUs = new ArrayList();
-		for (int i = 0; i < infos.length; i++) {
-			GeneratorBundleInfo bundle = createGeneratorBundleInfo(infos[i], result);
-			if (bundle == null)
-				continue;
-
-			if (bundle.getSymbolicName().equals(ORG_ECLIPSE_EQUINOX_LAUNCHER)) {
-				bundle = EclipseInstallGeneratorInfoProvider.createLauncher();
-			} else if (bundle.getSymbolicName().startsWith(ORG_ECLIPSE_EQUINOX_LAUNCHER + '.')) {
-				//launcher fragments will be handled by generateDefaultConfigIU(Set) for --launcher.library.
-				//they don't need to be started so skip them here to avoid having to merge config commands
-				continue;
-			}
-			if (bundle.getSymbolicName().equals(ORG_ECLIPSE_UPDATE_CONFIGURATOR)) {
-				bundle.setStartLevel(BundleInfo.NO_LEVEL);
-				bundle.setMarkedAsStarted(false);
-				bundle.setSpecialConfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);"); //$NON-NLS-1$
-				bundle.setSpecialUnconfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);"); //$NON-NLS-1$
-			} else if ((bundle.getStartLevel() == BundleInfo.NO_LEVEL || bundle.getStartLevel() == defaultStartLevel) && !bundle.isMarkedAsStarted()) {
-				// this bundle does not require any particular configuration, the plug-in default IU will handle installing it
-				continue;
-			}
-
-			IInstallableUnit cu = MetadataGeneratorHelper.createBundleConfigurationUnit(bundle.getSymbolicName(), Version.create(bundle.getVersion()), false, bundle, info.getFlavor() + cuIdPrefix, filter);
-			if (cu != null) {
-				allCUs.add(cu);
-				result.rootIUs.add(cu);
-				String key = (productFile != null && productFile.useFeatures()) ? GeneratorResult.CONFIGURATION_CUS : bundle.getSymbolicName();
-				if (result.configurationIUs.containsKey(key)) {
-					((Set) result.configurationIUs.get(key)).add(cu);
-				} else {
-					Set set = new HashSet();
-					set.add(cu);
-					result.configurationIUs.put(key, set);
-				}
-			}
-		}
-		IMetadataRepository metadataRepository = info.getMetadataRepository();
-		if (metadataRepository != null && !allCUs.isEmpty()) {
-			// Product Query will run against the repo later in createProductIU, make sure these CUs are in before then
-			metadataRepository.addInstallableUnits((IInstallableUnit[]) allCUs.toArray(new IInstallableUnit[allCUs.size()]));
-		}
-
-	}
-
-	/**
-	 * @deprecated moved to ConfigCUsAction (and perhaps a couple other places...)
-	 */
-	protected void generateConfigIUs(GeneratorResult result) {
-		ConfigData data = info.getConfigData();
-		if ((data == null || data.getBundles().length == 0) && info.getLauncherConfig() != null) {
-			//We have the config.ini but not necessarily all the needed bundle IUs, remember for later
-			storeConfigData(result);
-		} else if (data != null) {
-			// generation against an eclipse install (config.ini + bundles)
-			generateBundleConfigIUs(data.getBundles(), result, info.getLauncherConfig(), data.getInitialBundleStartLevel());
-		} else if (result.configData.size() > 0 && generateRootIU) {
-			// generation from remembered config.ini's
-			// we have N platforms, generate a CU for each
-			// TODO try and find common properties across platforms
-			for (Iterator iterator = result.configData.keySet().iterator(); iterator.hasNext();) {
-				String launcherConfig = (String) iterator.next();
-				data = (ConfigData) result.configData.get(launcherConfig);
-				generateBundleConfigIUs(data.getBundles(), result, launcherConfig, data.getInitialBundleStartLevel());
-			}
-		}
-
-		List bundleInfoList = new ArrayList();
-		List defaults = new ArrayList();
-		if (info.addDefaultIUs())
-			bundleInfoList.addAll(info.getDefaultIUs(result.rootIUs));
-
-		bundleInfoList.addAll(info.getOtherIUs());
-
-		for (Iterator iterator = bundleInfoList.iterator(); iterator.hasNext();) {
-			GeneratorBundleInfo bundle = (GeneratorBundleInfo) iterator.next();
-			IInstallableUnit configuredIU = result.getInstallableUnit(bundle.getSymbolicName());
-			if (configuredIU == null) {
-				if (!generateRootIU && data == null)
-					continue;
-				IQuery query = new InstallableUnitQuery(bundle.getSymbolicName());
-				Collector collector = new Collector();
-				IMetadataRepository metadataRepository = info.getMetadataRepository();
-				if (metadataRepository == null)
-					continue;
-				Iterator matches = metadataRepository.query(query, null).iterator();
-				//pick the newest match
-				IInstallableUnit newest = null;
-				while (matches.hasNext()) {
-					IInstallableUnit candidate = (IInstallableUnit) matches.next();
-					if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
-						newest = candidate;
-				}
-				if (newest != null) {
-					configuredIU = newest;
-				} else {
-					continue;
-				}
-			}
-			bundle.setVersion(configuredIU.getVersion().toString());
-			LDAPQuery filter = (LDAPQuery) (configuredIU == null ? null : configuredIU.getFilter());
-			IInstallableUnit cu = MetadataGeneratorHelper.createBundleConfigurationUnit(bundle.getSymbolicName(), Version.create(bundle.getVersion()), false, bundle, info.getFlavor(), filter == null ? null : filter.getFilter());
-			//the configuration unit should share the same platform filter as the IU being configured.
-			if (cu != null) {
-				result.rootIUs.add(cu);
-				defaults.add(cu);
-			}
-			String key = null;
-			if (productFile != null && productFile.useFeatures())
-				key = GeneratorResult.CONFIGURATION_CUS;
-			else if (bundle.getSymbolicName().startsWith(ORG_ECLIPSE_EQUINOX_LAUNCHER + '.'))
-				key = ORG_ECLIPSE_EQUINOX_LAUNCHER;
-			else
-				key = bundle.getSymbolicName();
-			if (result.configurationIUs.containsKey(key)) {
-				((Set) result.configurationIUs.get(key)).add(cu);
-			} else {
-				Set set = new HashSet();
-				set.add(cu);
-				result.configurationIUs.put(key, set);
-			}
-		}
-
-		IMetadataRepository metadataRepository = info.getMetadataRepository();
-		if (metadataRepository != null && !defaults.isEmpty()) {
-			// Product Query will run against the repo later in createProductIU, make sure these CUs are in before then
-			metadataRepository.addInstallableUnits((IInstallableUnit[]) defaults.toArray(new IInstallableUnit[defaults.size()]));
-		}
-	}
-
-	/**
-	 * Short term fix to ensure IUs that have no corresponding category are not lost.
-	 * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=211521.
-	 * @deprecated moved to RootIUAction
-	 */
-	private IInstallableUnit generateDefaultCategory(IInstallableUnit rootIU) {
-		rootCategory.add(rootIU);
-
-		InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
-		cat.setSingleton(true);
-		String categoryId = rootIU.getId() + ".categoryIU"; //$NON-NLS-1$
-		cat.setId(categoryId);
-		cat.setVersion(Version.emptyVersion);
-		cat.setProperty(IInstallableUnit.PROP_NAME, rootIU.getProperty(IInstallableUnit.PROP_NAME));
-		cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, rootIU.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-
-		ArrayList required = new ArrayList(rootCategory.size());
-		for (Iterator iterator = rootCategory.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			required.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), VersionRange.emptyRange, ((LDAPQuery) iu.getFilter()).getFilter(), false, false));
-		}
-		cat.setRequiredCapabilities((IRequirement[]) required.toArray(new IRequirement[required.size()]));
-		cat.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, categoryId, Version.emptyVersion)});
-		cat.setArtifacts(new IArtifactKey[0]);
-		cat.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
-		return MetadataFactory.createInstallableUnit(cat);
-	}
-
-	/** 
-	 * @deprecated moved to DefaultCUsAction
-	 */
-	private void generateDefaultConfigIU(Set ius) {
-		//		TODO this is a bit of a hack.  We need to have the default IU fragment generated with code that configures
-		//		and unconfigures.  The Generator should be decoupled from any particular provider but it is not clear
-		//		that we should add the create* methods to IGeneratorInfo...
-		//		MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure");
-		//		MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure");
-		EclipseInstallGeneratorInfoProvider provider = (EclipseInstallGeneratorInfoProvider) info;
-		ius.add(MetadataGeneratorHelper.createDefaultBundleConfigurationUnit(provider.createDefaultConfigurationBundleInfo(), provider.createDefaultUnconfigurationBundleInfo(), info.getFlavor()));
-		ius.add(MetadataGeneratorHelper.createDefaultFeatureConfigurationUnit(info.getFlavor()));
-		ius.add(MetadataGeneratorHelper.createDefaultConfigurationUnitForSourceBundles(info.getFlavor()));
-	}
-
-	/**
-	 * This method generates IUs for the launchers found in the org.eclipse.executable feature, if present.
-	 * @return <code>true</code> if the executable feature was processed successfully,
-	 * and <code>false</code> otherwise.
-	 * @deprecated moved to ExecutablesDescriptor and EquinoxExecutableAction
-	 */
-	private boolean generateExecutableFeatureIUs(GeneratorResult result, IArtifactRepository destination) {
-		File parentDir = info.getFeaturesLocation();
-		if (parentDir == null || !parentDir.exists())
-			return false;
-		File[] featureDirs = parentDir.listFiles();
-		if (featureDirs == null)
-			return false;
-		File executableFeatureDir = null;
-		final String featurePrefix = "org.eclipse.equinox.executable_"; //$NON-NLS-1$
-		for (int i = 0; i < featureDirs.length; i++) {
-			if (featureDirs[i].getName().startsWith(featurePrefix)) {
-				executableFeatureDir = featureDirs[i];
-				break;
-			}
-		}
-		if (executableFeatureDir == null)
-			return false;
-		File binDir = new File(executableFeatureDir, "bin"); //$NON-NLS-1$
-		if (!binDir.exists())
-			return false;
-		//the bin directory is dividing into a directory tree of the form /bin/ws/os/arch
-		File[] wsDirs = binDir.listFiles();
-		if (wsDirs == null)
-			return false;
-		String versionString = executableFeatureDir.getName().substring(featurePrefix.length());
-		for (int wsIndex = 0; wsIndex < wsDirs.length; wsIndex++) {
-			String ws = wsDirs[wsIndex].getName();
-			File[] osDirs = wsDirs[wsIndex].listFiles();
-			if (osDirs == null)
-				continue;
-			for (int osIndex = 0; osIndex < osDirs.length; osIndex++) {
-				String os = osDirs[osIndex].getName();
-				File[] archDirs = osDirs[osIndex].listFiles();
-				if (archDirs == null)
-					continue;
-				for (int archIndex = 0; archIndex < archDirs.length; archIndex++) {
-					String arch = archDirs[archIndex].getName();
-					generateExecutableIUs(ws, os, arch, versionString, archDirs[archIndex], result, destination);
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Generates IUs and CUs for the files that make up the launcher for a given
-	 * ws/os/arch combination.
-	 * @deprecated moved to EquinoxExecutableAction
-	 */
-	private void generateExecutableIUs(String ws, String os, final String arch, String version, File root, GeneratorResult result, IArtifactRepository destination) {
-		if (root == null)
-			return;
-
-		//Create the IU
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(true);
-		String productNamespace = (productFile != null) ? productFile.getId() : "org.eclipse"; //$NON-NLS-1$
-		String launcherIdPrefix = productNamespace + PRODUCT_LAUCHER_SUFFIX;
-		String launcherId = launcherIdPrefix + '.' + ws + '.' + os + '.' + arch;
-		iu.setId(launcherId);
-		Version launcherVersion = Version.create(version);
-		iu.setVersion(launcherVersion);
-		iu.setSingleton(true);
-		String filter = null;
-		if (!ws.equals(CONFIG_ANY) && !os.equals(CONFIG_ANY) && !arch.equals(CONFIG_ANY)) {
-			filter = "(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			iu.setFilter(filter);
-		}
-
-		IArtifactKey key = MetadataGeneratorHelper.createLauncherArtifactKey(launcherId, launcherVersion);
-		iu.setArtifacts(new IArtifactKey[] {key});
-		iu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_NATIVE);
-		IProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productNamespace, launcherIdPrefix, launcherVersion);
-		iu.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(launcherId, launcherVersion), launcherCapability});
-
-		String launcherFragment = ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + ws + '.' + os;
-		if (!(Constants.OS_MACOSX.equals(os) && !Constants.ARCH_X86_64.equals(arch)))
-			launcherFragment += '.' + arch;
-		iu.setRequiredCapabilities(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)});
-		result.rootIUs.add(MetadataFactory.createInstallableUnit(iu));
-
-		//Create the CU
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = info.getFlavor() + launcherId;
-		cu.setId(configUnitId);
-		cu.setVersion(launcherVersion);
-		if (filter != null)
-			cu.setFilter(filter);
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(launcherVersion, true, launcherVersion, true), null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		//TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now.
-		cu.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configUnitId, launcherVersion)});
-
-		mungeLauncherFileNames(root);
-
-		cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_NATIVE);
-		Map touchpointData = new HashMap();
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-
-		IInstallableUnit launcherNameIU = null;
-
-		File executableLocation = info.getExecutableLocation();
-		if (executableLocation != null) {
-			if (!executableLocation.exists()) {
-				if (Constants.OS_WIN32.equals(os) && !executableLocation.getName().endsWith(".exe")) { //$NON-NLS-1$
-					executableLocation = new File(executableLocation.getParentFile(), executableLocation.getName() + ".exe"); //$NON-NLS-1$
-				} else if (Constants.OS_MACOSX.equals(os)) {
-					String name = executableLocation.getName();
-					File parent = executableLocation.getParentFile();
-					executableLocation = new File(parent, name + ".app/Contents/MacOS/" + name); //$NON-NLS-1$
-				}
-			}
-
-			if (executableLocation.exists() && executableLocation.isFile())
-				launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(executableLocation.getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
-		}
-
-		if (launcherNameIU == null && productFile != null && productFile.getLauncherName() != null) {
-			launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(productFile.getLauncherName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
-		}
-
-		if (Constants.OS_MACOSX.equals(os)) {
-			File[] appFolders = root.listFiles(new FilenameFilter() {
-				public boolean accept(File dir, String name) {
-					return name.substring(name.length() - 4, name.length()).equalsIgnoreCase(".app"); //$NON-NLS-1$
-				}
-			});
-			for (int i = 0; appFolders != null && i < appFolders.length; i++) {
-				File macOSFolder = new File(appFolders[i], "Contents/MacOS"); //$NON-NLS-1$
-				if (macOSFolder.exists()) {
-					File[] launcherFiles = macOSFolder.listFiles();
-					for (int j = 0; j < launcherFiles.length; j++) {
-						configurationData += " chmod(targetDir:${installFolder}/" + appFolders[i].getName() + "/Contents/MacOS/, targetFile:" + launcherFiles[j].getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						if (launcherNameIU == null && launcherFiles[i].isFile() && new Path(launcherFiles[j].getName()).getFileExtension() == null)
-							launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[j].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
-					}
-				}
-			}
-		} else if (!Constants.OS_WIN32.equals(os)) {
-			File[] launcherFiles = root.listFiles();
-			for (int i = 0; launcherFiles != null && i < launcherFiles.length; i++) {
-				configurationData += " chmod(targetDir:${installFolder}, targetFile:" + launcherFiles[i].getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$
-				if (launcherNameIU == null && launcherFiles[i].isFile() && new Path(launcherFiles[i].getName()).getFileExtension() == null)
-					launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[i].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
-			}
-		} else if (launcherNameIU == null) {
-			//windows
-			File[] launcherFiles = root.listFiles(new FilenameFilter() {
-				public boolean accept(File parent, String name) {
-					return name.endsWith(".exe"); //$NON-NLS-1$
-				}
-			});
-			if (launcherNameIU != null && launcherFiles != null && launcherFiles.length > 0)
-				launcherNameIU = MetadataGeneratorHelper.generateLauncherSetter(launcherFiles[0].getName(), launcherId, launcherVersion, os, ws, arch, result.rootIUs);
-		}
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		IInstallableUnit unit = MetadataFactory.createInstallableUnit(cu);
-		result.rootIUs.add(unit);
-		//The Product Query will need to include the launcher CU fragments as a workaround to bug 218890
-		if (result.configurationIUs.containsKey(launcherIdPrefix)) {
-			((Set) result.configurationIUs.get(launcherIdPrefix)).add(unit);
-			if (launcherNameIU != null)
-				((Set) result.configurationIUs.get(launcherIdPrefix)).add(launcherNameIU);
-		} else {
-			Set set = new HashSet();
-			set.add(unit);
-			if (launcherNameIU != null)
-				set.add(launcherNameIU);
-			result.configurationIUs.put(launcherIdPrefix, set);
-		}
-
-		//Create the artifact descriptor
-		IArtifactDescriptor descriptor = MetadataGeneratorHelper.createArtifactDescriptor(key, root, false, true);
-		publishArtifact(descriptor, root.listFiles(), destination, false, root);
-	}
-
-	/**
-	 * For each platform, generate a CU containing the information for the config.ini
-	 * @deprecated moved to ProductAction and ConfigCUsAction
-	 */
-	private void generateProductConfigCUs(GeneratorResult result) {
-		for (Iterator iterator = result.configData.keySet().iterator(); iterator.hasNext();) {
-			String launcherConfig = (String) iterator.next();
-			String[] config = parseConfigSpec(launcherConfig);
-			String ws = config[1];
-			String os = config[0];
-			String arch = config[2];
-
-			ConfigData data = (ConfigData) result.configData.get(launcherConfig);
-
-			InstallableUnitDescription cu = new MetadataFactory.InstallableUnitDescription();
-			String configUnitId = info.getFlavor() + productFile.getId() + ".config." + ws + '.' + os + '.' + arch; //$NON-NLS-1$
-
-			String version = getProductVersion();
-			Version cuVersion = Version.create(version);
-			cu.setId(configUnitId);
-			cu.setVersion(cuVersion);
-			cu.setSingleton(true);
-			cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-			IProvidedCapability productConfigCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, cuVersion);
-			IProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion);
-			cu.setCapabilities(new IProvidedCapability[] {selfCapability, productConfigCapability});
-
-			cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
-			Map touchpointData = new HashMap();
-			String[] dataStrings = getConfigurationStrings(data);
-			touchpointData.put("configure", dataStrings[0]); //$NON-NLS-1$
-			touchpointData.put("unconfigure", dataStrings[1]); //$NON-NLS-1$
-			cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-			result.rootIUs.add(MetadataFactory.createInstallableUnit(cu));
-		}
-	}
-
-	/**
-	 * For the given platform (ws, os, arch) generate the CU that will populate the product.ini file 
-	 * @deprecated moved to ProductAction and ConfigCUsAction
-	 */
-	private void generateProductIniCU(String ws, String os, String arch, String version, GeneratorResult result) {
-		if (productFile == null)
-			return;
-
-		//attempt to merge arguments from the launcher data and the product file
-		Set jvmArgs = new LinkedHashSet();
-		Set progArgs = new LinkedHashSet();
-		LauncherData launcherData = info.getLauncherData();
-		if (launcherData != null) {
-			jvmArgs.addAll(Arrays.asList(launcherData.getJvmArgs()));
-			progArgs.addAll(Arrays.asList(launcherData.getProgramArgs()));
-		}
-		progArgs.addAll(Arrays.asList(getArrayFromString(productFile.getProgramArguments(os), " "))); //$NON-NLS-1$
-		jvmArgs.addAll(Arrays.asList(getArrayFromString(productFile.getVMArguments(os), " "))); //$NON-NLS-1$
-
-		String[] dataStrings = getLauncherConfigStrings((String[]) jvmArgs.toArray(new String[jvmArgs.size()]), (String[]) progArgs.toArray(new String[progArgs.size()]));
-		String configurationData = dataStrings[0];
-		String unconfigurationData = dataStrings[1];
-
-		InstallableUnitDescription cu = new MetadataFactory.InstallableUnitDescription();
-		String configUnitId = info.getFlavor() + productFile.getId() + ".ini." + ws + '.' + os + '.' + arch; //$NON-NLS-1$
-		Version cuVersion = Version.create(version);
-		cu.setId(configUnitId);
-		cu.setVersion(cuVersion);
-		cu.setSingleton(true);
-		cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-		IProvidedCapability productIniCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, cuVersion);
-		IProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion);
-		cu.setCapabilities(new IProvidedCapability[] {selfCapability, productIniCapability});
-
-		cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		touchpointData.put("configure", configurationData); //$NON-NLS-1$
-		touchpointData.put("unconfigure", unconfigurationData); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		result.rootIUs.add(MetadataFactory.createInstallableUnit(cu));
-
-	}
-
-	/**
-	 * Generates metadata for the given features.
-	 * @deprecated moved to FeaturesAction
-	 */
-	protected void generateFeatureIUs(Feature[] features, GeneratorResult result, IArtifactRepository destination) {
-		Map categoriesToFeatureIUs = new HashMap();
-		Map featuresToCategories = getFeatureToCategoryMappings();
-		//Build Feature IUs, and add them to any corresponding categories
-		for (int i = 0; i < features.length; i++) {
-			Feature feature = features[i];
-			//publish feature site references
-			URLEntry updateURL = feature.getUpdateSite();
-			//don't enable feature update sites by default since this results in too many
-			//extra sites being loaded and searched (Bug 234177)
-			if (updateURL != null)
-				generateSiteReference(updateURL.getURL(), updateURL.getAnnotation(), feature.getId(), false);
-			URLEntry[] discoverySites = feature.getDiscoverySites();
-			for (int j = 0; j < discoverySites.length; j++)
-				generateSiteReference(discoverySites[j].getURL(), discoverySites[j].getAnnotation(), feature.getId(), false);
-
-			//generate feature IU
-			String location = feature.getLocation();
-			boolean isExploded = (location.endsWith(".jar") ? false : true); //$NON-NLS-1$
-			IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true);
-			IArtifactKey[] artifacts = featureIU.getArtifacts();
-			storePluginShape(feature, result);
-			for (int arti = 0; arti < artifacts.length; arti++) {
-				IArtifactDescriptor ad = MetadataGeneratorHelper.createArtifactDescriptor(artifacts[arti], new File(location), true, false);
-				if (isExploded)
-					publishArtifact(ad, new File(location).listFiles(), destination, false, new File(location));
-				else
-					publishArtifact(ad, new File[] {new File(location)}, destination, true);
-			}
-			IInstallableUnit generated = MetadataGeneratorHelper.createGroupIU(feature, featureIU);
-			result.rootIUs.add(generated);
-			result.rootIUs.add(featureIU);
-
-			// @deprecated  moved to SiteXMLAction
-			Set categories = getCategories(feature, featuresToCategories);
-			if (categories != null) {
-				for (Iterator it = categories.iterator(); it.hasNext();) {
-					SiteCategory category = (SiteCategory) it.next();
-					Set featureIUs = (Set) categoriesToFeatureIUs.get(category);
-					if (featureIUs == null) {
-						featureIUs = new HashSet();
-						categoriesToFeatureIUs.put(category, featureIUs);
-					}
-					featureIUs.add(generated);
-				}
-			} else {
-				rootCategory.add(generated);
-			}
-		}
-		generateCategoryIUs(categoriesToFeatureIUs, result);
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	private void storePluginShape(Feature feature, GeneratorResult result) {
-		FeatureEntry[] entries = feature.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].isPlugin() || entries[i].isFragment()) {
-				result.getPluginShapeInfo().put(entries[i].getId() + '_' + entries[i].getVersion(), entries[i].isUnpack() ? BundleDescriptionFactory.DIR : BundleDescriptionFactory.JAR);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated moved to various other places.  mainly the aggregator actions (e.g., EclipseInstallAction)
-	 */
-	protected void generateNativeIUs(File executableLocation, GeneratorResult result, IArtifactRepository destination) {
-		//generate data for JRE
-		File jreLocation = info.getJRELocation();
-		IArtifactDescriptor artifact = MetadataGeneratorHelper.createJREData(jreLocation, result.rootIUs);
-		publishArtifact(artifact, new File[] {jreLocation}, destination, false);
-
-		if (info.getLauncherConfig() != null) {
-			String[] config = parseConfigSpec(info.getLauncherConfig());
-			String version = getProductVersion();
-			File root = null;
-			if (executableLocation != null)
-				root = executableLocation.getParentFile();
-			else if (info instanceof EclipseInstallGeneratorInfoProvider)
-				root = ((EclipseInstallGeneratorInfoProvider) info).getBaseLocation();
-			generateExecutableIUs(config[1], config[0], config[2], version, root, result, destination);
-			generateProductIniCU(config[1], config[0], config[2], version, result);
-			return;
-		}
-
-		//If the executable feature is present, use it to generate IUs for launchers
-		if (generateExecutableFeatureIUs(result, destination) || executableLocation == null)
-			return;
-
-		//generate data for executable launcher
-		artifact = MetadataGeneratorHelper.createLauncherIU(executableLocation, info.getFlavor(), result.rootIUs);
-		File[] launcherFiles = null;
-		//hard-coded name is ok, since console launcher is not branded, and appears on Windows only
-		File consoleLauncher = new File(executableLocation.getParentFile(), "eclipsec.exe"); //$NON-NLS-1$
-		if (consoleLauncher.exists())
-			launcherFiles = new File[] {executableLocation, consoleLauncher};
-		else
-			launcherFiles = new File[] {executableLocation};
-		publishArtifact(artifact, launcherFiles, destination, false);
-	}
-
-	/**
-	 * @deprecated moved to various other places.  mainly the aggregator actions (e.g., EclipseInstallAction)
-	 */
-	protected void generateRootIU(GeneratorResult result, String rootIUId, String rootIUVersion) {
-		IInstallableUnit rootIU = null;
-
-		if (info.getProductFile() != null)
-			rootIU = createProductIU(result);
-		else if (rootIUId != null)
-			rootIU = createTopLevelIU(result, rootIUId, rootIUVersion);
-
-		if (rootIU == null)
-			return;
-
-		result.nonRootIUs.add(rootIU);
-		result.nonRootIUs.add(generateDefaultCategory(rootIU));
-	}
-
-	/**
-	 * Generates and publishes a reference to an update site location
-	 * @param location The update site location
-	 * @param featureId the identifier of the feature where the error occurred, or null
-	 * @param isEnabled Whether the site should be enabled by default
-	 * @deprecated moved to FeaturesAction
-	 */
-	private void generateSiteReference(String location, String name, String featureId, boolean isEnabled) {
-		IMetadataRepository metadataRepo = info.getMetadataRepository();
-		try {
-			URI associateLocation = URIUtil.fromString(location);
-			int flags = isEnabled ? IRepository.ENABLED : IRepository.NONE;
-			metadataRepo.addReference(associateLocation, name, IRepository.TYPE_METADATA, flags);
-			metadataRepo.addReference(associateLocation, name, IRepository.TYPE_ARTIFACT, flags);
-		} catch (URISyntaxException e) {
-			String message = "Invalid site reference: " + location; //$NON-NLS-1$
-			if (featureId != null)
-				message = message + " in feature: " + featureId; //$NON-NLS-1$
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
-		}
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	protected BundleDescription[] getBundleDescriptions(File[] bundleLocations) {
-		if (bundleLocations == null)
-			return new BundleDescription[0];
-		boolean addSimpleConfigurator = false;
-		boolean scIn = false;
-		for (int i = 0; i < bundleLocations.length; i++) {
-			if (!addSimpleConfigurator)
-				addSimpleConfigurator = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_UPDATE_CONFIGURATOR) > 0;
-			if (!scIn) {
-				scIn = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR) > 0;
-				if (scIn)
-					break;
-			}
-		}
-		if (scIn)
-			addSimpleConfigurator = false;
-		BundleDescription[] result = new BundleDescription[bundleLocations.length + (addSimpleConfigurator ? 1 : 0)];
-		BundleDescriptionFactory factory = getBundleFactory();
-		for (int i = 0; i < bundleLocations.length; i++) {
-			BundleDescription desc = factory.getBundleDescription(bundleLocations[i]);
-			if (desc != null)
-				result[i] = desc;
-		}
-		if (addSimpleConfigurator) {
-			//Add simple configurator to the list of bundles
-			try {
-				File location = new File(FileLocator.toFileURL(Activator.getContext().getBundle().getEntry(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR + ".jar")).getFile()); //$NON-NLS-1$
-				result[result.length - 1] = factory.getBundleDescription(location);
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	protected BundleDescriptionFactory getBundleFactory() {
-		return new BundleDescriptionFactory(stateObjectFactory, null);
-	}
-
-	/**
-	 * Returns the categories corresponding to the given feature, or null if there
-	 * are no applicable categories.
-	 * @param feature The feature to return categories for
-	 * @param featuresToCategories A map of SiteFeature->Set<SiteCategory>
-	 * @return A Set<SiteCategory> of the categories corresponding to the feature, or <code>null</code>
-	 * @deprecated moved to SiteXMLAction
-	 */
-	private Set getCategories(Feature feature, Map featuresToCategories) {
-		//find the SiteFeature corresponding to the given feature
-		for (Iterator it = featuresToCategories.keySet().iterator(); it.hasNext();) {
-			SiteFeature siteFeature = (SiteFeature) it.next();
-			String siteVersion = siteFeature.getFeatureVersion();
-			if (!siteFeature.getFeatureIdentifier().equals(feature.getId()))
-				continue;
-			if (siteVersion.endsWith("qualifier")) { //$NON-NLS-1$
-				String withoutQualifier = siteVersion.substring(0, siteVersion.lastIndexOf("qualifier")); //$NON-NLS-1$
-				String featureVersion = feature.getVersion();
-				if (featureVersion.length() >= withoutQualifier.length() && featureVersion.substring(0, withoutQualifier.length()).equals(withoutQualifier))
-					return (Set) featuresToCategories.get(siteFeature);
-			} else if (siteFeature.getFeatureVersion().equals(feature.getVersion())) {
-				return (Set) featuresToCategories.get(siteFeature);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	protected Feature[] getFeatures(File folder) {
-		if (folder == null || !folder.exists())
-			return new Feature[0];
-		File[] locations = folder.listFiles();
-		ArrayList result = new ArrayList(locations.length);
-		for (int i = 0; i < locations.length; i++) {
-			Feature feature = new FeatureParser().parse(locations[i]);
-			if (feature != null) {
-				feature.setLocation(locations[i].getAbsolutePath());
-				result.add(feature);
-			}
-		}
-		return (Feature[]) result.toArray(new Feature[result.size()]);
-	}
-
-	/**
-	 * Computes the mapping of features to categories as defined in the site.xml,
-	 * if available. Returns an empty map if there is not site.xml, or no categories.
-	 * @return A map of SiteFeature -> Set<SiteCategory>.
-	 */
-	protected Map getFeatureToCategoryMappings() {
-		HashMap mappings = new HashMap();
-		URI siteLocation = info.getSiteLocation();
-		if (siteLocation == null)
-			return mappings;
-		InputStream input;
-		SiteModel site = null;
-		try {
-			input = new BufferedInputStream(URIUtil.toURL(siteLocation).openStream());
-			site = new DefaultSiteParser().parse(input);
-		} catch (FileNotFoundException e) {
-			//don't complain if the update site is not present
-		} catch (Exception e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.exception_errorParsingUpdateSite, siteLocation), e));
-		}
-		if (site == null)
-			return mappings;
-
-		//copy mirror information from update site to p2 repositories
-		String mirrors = site.getMirrorsURL();
-		if (mirrors != null) {
-			//remove site.xml file reference
-			int index = mirrors.indexOf("site.xml"); //$NON-NLS-1$
-			if (index != -1)
-				mirrors = mirrors.substring(0, index) + mirrors.substring(index + "site.xml".length()); //$NON-NLS-1$
-			info.getMetadataRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
-			info.getArtifactRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
-		}
-
-		//publish associate sites as repository references
-		URLEntry[] associatedSites = site.getAssociatedSites();
-		if (associatedSites != null)
-			for (int i = 0; i < associatedSites.length; i++)
-				generateSiteReference(associatedSites[i].getURL(), associatedSites[i].getAnnotation(), null, true);
-
-		if (PROTOCOL_FILE.equals(siteLocation.getScheme())) {
-			File siteFile = URIUtil.toFile(siteLocation);
-			if (siteFile.exists()) {
-				File siteParent = siteFile.getParentFile();
-
-				List messageKeys = site.getMessageKeys();
-				if (siteParent.isDirectory()) {
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					site.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
-				} else if (siteFile.getName().endsWith(".jar")) { //$NON-NLS-1$
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					site.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
-				}
-			}
-		}
-
-		SiteFeature[] features = site.getFeatures();
-		for (int i = 0; i < features.length; i++) {
-			//add a mapping for each category this feature belongs to
-			String[] categoryNames = features[i].getCategoryNames();
-			for (int j = 0; j < categoryNames.length; j++) {
-				SiteCategory category = site.getCategory(categoryNames[j]);
-				if (category != null) {
-					Set categories = (Set) mappings.get(features[i]);
-					if (categories == null) {
-						categories = new HashSet();
-						mappings.put(features[i], categories);
-					}
-					categories.add(category);
-				}
-			}
-		}
-		return mappings;
-	}
-
-	/**
-	 * @TODO This method is a temporary hack to rename the launcher.exe files
-	 * to eclipse.exe (or "launcher" to "eclipse"). Eventually we will either hand-craft
-	 * metadata/artifacts for launchers, or alter the delta pack to contain eclipse-branded
-	 * launchers.
-	 * @deprecated moved to EquinoxExecutableAction
-	 */
-	private void mungeLauncherFileNames(File root) {
-		if (root.isDirectory()) {
-			File[] children = root.listFiles();
-			for (int i = 0; i < children.length; i++) {
-				mungeLauncherFileNames(children[i]);
-			}
-		} else if (root.isFile()) {
-			if (root.getName().equals("launcher")) //$NON-NLS-1$
-				root.renameTo(new File(root.getParentFile(), "eclipse")); //$NON-NLS-1$
-			else if (root.getName().equals("launcher.exe")) //$NON-NLS-1$
-				root.renameTo(new File(root.getParentFile(), "eclipse.exe")); //$NON-NLS-1$
-		}
-	}
-
-	protected void publishArtifact(IArtifactDescriptor descriptor, File[] files, IArtifactRepository destination, boolean asIs) {
-		publishArtifact(descriptor, files, destination, asIs, null);
-	}
-
-	// Put the artifact on the server
-	/**
-	 * @deprecated moved to AbstractPublishingAction
-	 */
-	protected void publishArtifact(IArtifactDescriptor descriptor, File[] files, IArtifactRepository destination, boolean asIs, File root) {
-		if (descriptor == null || destination == null)
-			return;
-		if (!info.publishArtifacts()) {
-			destination.addDescriptor(descriptor);
-			return;
-		}
-		if (asIs && files.length == 1) {
-			try {
-				if (!destination.contains(descriptor)) {
-					if (destination instanceof IFileArtifactRepository) {
-						//if the file is already in the same location the repo will put it, just add the descriptor and exit
-						File descriptorFile = ((IFileArtifactRepository) destination).getArtifactFile(descriptor);
-						if (files[0].equals(descriptorFile)) {
-							destination.addDescriptor(descriptor);
-							return;
-						}
-					}
-					OutputStream output = new BufferedOutputStream(destination.getOutputStream(descriptor));
-					FileUtils.copyStream(new BufferedInputStream(new FileInputStream(files[0])), true, output, true);
-				}
-			} catch (ProvisionException e) {
-				LogHelper.log(e.getStatus());
-			} catch (IOException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
-			}
-		} else {
-			File tempFile = null;
-			try {
-				tempFile = File.createTempFile("p2.generator", ""); //$NON-NLS-1$ //$NON-NLS-2$
-				IPathComputer computer = null;
-				if (root != null)
-					computer = FileUtils.createRootPathComputer(root);
-				else
-					computer = FileUtils.createDynamicPathComputer(1);
-				FileUtils.zip(files, null, tempFile, computer);
-				if (!destination.contains(descriptor)) {
-					destination.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
-					OutputStream output = new BufferedOutputStream(destination.getOutputStream(descriptor));
-					FileUtils.copyStream(new BufferedInputStream(new FileInputStream(tempFile)), true, output, true);
-				}
-			} catch (ProvisionException e) {
-				LogHelper.log(e.getStatus());
-			} catch (IOException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
-			} finally {
-				if (tempFile != null)
-					tempFile.delete();
-			}
-		}
-	}
-
-	public void setGenerateRootIU(boolean generateRootIU) {
-		this.generateRootIU = generateRootIU;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
deleted file mode 100644
index e26620c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/GeneratorBundleInfo.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-
-public class GeneratorBundleInfo extends BundleInfo {
-	//	public static final int NO_LEVEL = -1;
-
-	//	private String symbolicName;
-	//	private String version;
-	//	private String location;
-	//	private int expectedState;
-	//	private int startLevel = NO_LEVEL;
-	//	private String manifest;
-
-	private String specialConfigCommands;
-	private String specialUnconfigCommands;
-
-	public GeneratorBundleInfo(BundleInfo bInfo) {
-		super.setBundleId(bInfo.getBundleId());
-		super.setLocation(bInfo.getLocation());
-		super.setManifest(bInfo.getManifest());
-		super.setMarkedAsStarted(bInfo.isMarkedAsStarted());
-		super.setResolved(bInfo.isResolved());
-		super.setStartLevel(bInfo.getStartLevel());
-		super.setSymbolicName(bInfo.getSymbolicName());
-		super.setVersion(bInfo.getVersion());
-	}
-
-	public GeneratorBundleInfo() {
-		// TODO Auto-generated constructor stub
-	}
-
-	//	/* (non-Javadoc)
-	//	 * @see java.lang.Object#hashCode()
-	//	 */
-	//	public int hashCode() {
-	//		int result = symbolicName == null ? 0 : symbolicName.hashCode();
-	//		result = result + (version == null ? 0 : version.hashCode());
-	//		result = result + (location == null ? 0 : location.hashCode());
-	//		return result;
-	//	}
-	//
-	//	public String getSymbolicName() {
-	//		return symbolicName;
-	//	}
-	//
-	//	public String getVersion() {
-	//		return version;
-	//	}
-	//
-	//	public int expectedState() {
-	//		return expectedState;
-	//	}
-	//
-	//	public int getStartLevel() {
-	//		return startLevel;
-	//	}
-	//
-	//	public String getLocation() {
-	//		return location;
-	//	}
-	//
-	//	public void setSymbolicName(String id) {
-	//		symbolicName = id;
-	//	}
-	//
-	//	public void setVersion(String version) {
-	//		this.version = version;
-	//	}
-	//
-	//	public void setExpectedState(int state) {
-	//		expectedState = state;
-	//	}
-	//
-	//	public void setStartLevel(int level) {
-	//		this.startLevel = level;
-	//	}
-	//
-	//	public void setLocation(String location) {
-	//		this.location = location;
-	//	}
-	//
-	//	public void setManifest(String manifest) {
-	//		this.manifest = manifest;
-	//	}
-	//	
-	//	public String getManifest() {
-	//		return manifest;
-	//	}
-	//	
-	public String getSpecialConfigCommands() {
-		return specialConfigCommands;
-	}
-
-	public void setSpecialConfigCommands(String specialConfigCommands) {
-		this.specialConfigCommands = specialConfigCommands;
-	}
-
-	public String getSpecialUnconfigCommands() {
-		return specialUnconfigCommands;
-	}
-
-	public void setSpecialUnconfigCommands(String specialUnconfigCommands) {
-		this.specialUnconfigCommands = specialUnconfigCommands;
-	}
-
-	//	/* (non-Javadoc)
-	//	 * @see java.lang.Object#equals(java.lang.Object)
-	//	 */
-	//	public boolean equals(Object toCompare) {
-	//		if (toCompare instanceof GeneratorBundleInfo) {
-	//			GeneratorBundleInfo info = (GeneratorBundleInfo) toCompare;
-	//			if (info.symbolicName.equals(symbolicName) && info.version.equals(version) && (info.location == null || location == null ? true : info.location.equals(location)))
-	//				return true;
-	//		}
-	//		return false;
-	//	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		String superSt = super.toString();
-		if (superSt.length() > 0)
-			buffer.append(superSt.substring(0, superSt.length() - 1));
-		buffer.append(", this.specialConfigCommands="); //$NON-NLS-1$
-		buffer.append(this.specialConfigCommands);
-		buffer.append(')');
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
deleted file mode 100644
index 21dd8e2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IGeneratorInfo.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-public interface IGeneratorInfo {
-
-	/**
-	 * Returns whether or not to add the default IUs to the published result.
-	 * The default IUs are typically used to configure bundles, features and 
-	 * source bundles.
-	 * @return whether or not to publish default IUs
-	 */
-	public boolean addDefaultIUs();
-
-	/**
-	 * Returns whether or not to append to existing repositories or overwrite.
-	 * @return whether or not to append to existing repositories or overwrite.
-	 */
-	public boolean append();
-
-	/**
-	 * Returns the artifact repository into which any publishable artifacts are published
-	 * or <code>null</code> if none.
-	 * @return a destination artifact repository or <code>null</code>
-	 */
-	public IArtifactRepository getArtifactRepository();
-
-	/**
-	 * Returns a list of locations in which bundles may be found.  The locations may
-	 * be directories to search or actual bundle files.
-	 * @return the list of locations holding bundles to process.
-	 */
-	public File[] getBundleLocations();
-
-	/** 
-	 * Return the configuration data to use during publishing or <code>null</code> 
-	 * if none.  The configuration data details the framework and launcher setup.
-	 *
-	 * @return the configuration data or <code>null</code>
-	 */
-	public ConfigData getConfigData();
-
-	public ArrayList getDefaultIUs(Set ius);
-
-	public File getExecutableLocation();
-
-	public File getFeaturesLocation();
-
-	public String getFlavor();
-
-	public File getJRELocation();
-
-	/**
-	 * The platform for the data this location
-	 * @return Returns a pde.build style platform config in the form os_ws_arch
-	 */
-	public String getLauncherConfig();
-
-	public LauncherData getLauncherData();
-
-	public IMetadataRepository getMetadataRepository();
-
-	public String getRootId();
-
-	public String getRootVersion();
-
-	public String getProductFile();
-
-	public String getVersionAdvice();
-
-	/**
-	 * Returns the location of the site.xml file, or <code>null</code> if not
-	 * generating for an update site.
-	 * @return The location of site.xml, or <code>null</code>
-	 */
-	public URI getSiteLocation();
-
-	public boolean publishArtifactRepository();
-
-	public boolean publishArtifacts();
-
-	public boolean reuseExistingPack200Files();
-
-	public void reuseExistingPack200Files(boolean publishPack);
-
-	public void setArtifactRepository(IArtifactRepository value);
-
-	public void setFlavor(String value);
-
-	public void setMetadataRepository(IMetadataRepository value);
-
-	public void setPublishArtifacts(boolean value);
-
-	public void setRootId(String value);
-
-	public void setVersionAdvice(String advice);
-
-	// TODO: This is kind of ugly. It's purpose is to allow us to craft CUs that we know about and need for our build
-	// We should try to replace this with something more generic prior to release
-	public Collection getOtherIUs();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
deleted file mode 100644
index cb90025..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/IncrementalGenerator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator.GeneratorResult;
-
-/**
- * A class to enable carrying GeneratorResults across multiple invocations of the Generator.
- * Done here in the bundle instead of in GeneratorTask because of the way org.eclipse.ant.core.AntRunner uses class loaders.
- * @since 1.0
- */
-
-public class IncrementalGenerator {
-	private static String MODE_INCREMENTAL = "incremental"; //$NON-NLS-1$
-	private String mode = null;
-	static private GeneratorResult result = null;
-
-	public void setMode(String mode) {
-		this.mode = mode;
-	}
-
-	public void run(EclipseGeneratorApplication generator, EclipseInstallGeneratorInfoProvider provider) throws Exception {
-		if (MODE_INCREMENTAL.equals(mode)) {
-			if (result == null)
-				result = new GeneratorResult();
-			generator.setIncrementalResult(result);
-			generator.setGeneratorRootIU(false);
-		} else if ("final".equals(mode) && result != null) { //$NON-NLS-1$
-			generator.setIncrementalResult(result);
-			generator.setGeneratorRootIU(true);
-		}
-
-		generator.run(provider);
-
-		if (!MODE_INCREMENTAL.equals(mode)) {
-			result = null;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
deleted file mode 100644
index 458d92d..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
+++ /dev/null
@@ -1,1384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.metadata.generator.Activator;
-import org.eclipse.equinox.internal.p2.metadata.generator.LocalizationHelper;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.SiteCategory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-/**
- * @deprecated this class has been renamed to PublisherHelper and the vast majority
- * of the function has been deprecated and moved elsewhere.  See the deprecation notices there
- * for more information.
- */
-public class MetadataGeneratorHelper {
-	/**
-	 * A capability namespace representing the type of Eclipse resource (bundle, feature, source bundle, etc)
-	 * @see IProvidedCapability#getNamespace()
-	 */
-	public static final String NAMESPACE_ECLIPSE_TYPE = "org.eclipse.equinox.p2.eclipse.type"; //$NON-NLS-1$
-
-	/**
-	 * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
-	 * representing and OSGi bundle resource
-	 * @see IProvidedCapability#getName()
-	 */
-	public static final String TYPE_ECLIPSE_BUNDLE = "bundle"; //$NON-NLS-1$
-	/**
-	 * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
-	 * representing a feature
-	 */
-	public static final String TYPE_ECLIPSE_FEATURE = "feature"; //$NON-NLS-1$
-
-	/**
-	 * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace
-	 * representing a source bundle
-	 */
-	public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$
-
-	/**
-	 * A capability namespace representing the localization (translation)
-	 * of strings from a specified IU in a specified locale
-	 * @see IProvidedCapability#getNamespace()
-	 * TODO: this should be in API, probably in IInstallableUnit
-	 */
-	public static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
-	// Only certain properties in the bundle manifest are assumed to be localized.
-	public static final String[] BUNDLE_LOCALIZED_PROPERTIES = {Constants.BUNDLE_NAME, Constants.BUNDLE_DESCRIPTION, Constants.BUNDLE_VENDOR, Constants.BUNDLE_CONTACTADDRESS, Constants.BUNDLE_DOCURL, Constants.BUNDLE_UPDATELOCATION};
-	public static final int BUNDLE_LOCALIZATION_INDEX = BUNDLE_LOCALIZED_PROPERTIES.length;
-
-	private static final String[] BUNDLE_IU_PROPERTY_MAP = {Constants.BUNDLE_NAME, IInstallableUnit.PROP_NAME, Constants.BUNDLE_DESCRIPTION, IInstallableUnit.PROP_DESCRIPTION, Constants.BUNDLE_VENDOR, IInstallableUnit.PROP_PROVIDER, Constants.BUNDLE_CONTACTADDRESS, IInstallableUnit.PROP_CONTACT, Constants.BUNDLE_DOCURL, IInstallableUnit.PROP_DOC_URL};
-
-	private static final String CAPABILITY_NS_JAVA_PACKAGE = "java.package"; //$NON-NLS-1$
-	private static final String CAPABILITY_NS_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$
-	private static final String CAPABILITY_NS_OSGI_FRAGMENT = "osgi.fragment"; //$NON-NLS-1$
-
-	private static final String CAPABILITY_NS_UPDATE_FEATURE = "org.eclipse.update.feature"; //$NON-NLS-1$
-
-	private static final Version DEFAULT_JRE_VERSION = Version.create("1.6"); //$NON-NLS-1$
-
-	public static final String ECLIPSE_FEATURE_CLASSIFIER = "org.eclipse.update.feature"; //$NON-NLS-1$
-	public static final String OSGI_BUNDLE_CLASSIFIER = "osgi.bundle"; //$NON-NLS-1$
-	public static final String BINARY_ARTIFACT_CLASSIFIER = "binary"; //$NON-NLS-1$
-
-	public static final String INSTALL_FEATURES_FILTER = "(org.eclipse.update.install.features=true)"; //$NON-NLS-1$
-
-	private static final String IU_NAMESPACE = IInstallableUnit.NAMESPACE_IU_ID;
-
-	private static final String LAUNCHER_ID_PREFIX = "org.eclipse.launcher"; //$NON-NLS-1$
-
-	private static final String ECLIPSE_INSTALL_HANDLER_PROP = "org.eclipse.update.installHandler"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_EXCLUSIVE_PROP = "org.eclipse.update.feature.exclusive"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
-	//TODO - need to come up with a way to infer launcher version
-	private static final Version LAUNCHER_VERSION = Version.createOSGi(1, 0, 0);
-
-	public static final ITouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
-	public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
-
-	public static final IProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, Version.createOSGi(1, 0, 0));
-	public static final IProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, Version.createOSGi(1, 0, 0));
-	public static final IProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, Version.createOSGi(1, 0, 0));
-
-	static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$
-
-	static final String BUNDLE_ADVICE_FILE = "META-INF/p2.inf"; //$NON-NLS-1$
-	static final String ADVICE_INSTRUCTIONS_PREFIX = "instructions."; //$NON-NLS-1$
-
-	static final String NAMESPACE_FLAVOR = "org.eclipse.equinox.p2.flavor"; //$NON-NLS-1$"
-
-	public static IArtifactDescriptor createArtifactDescriptor(IArtifactKey key, File pathOnDisk, boolean asIs, boolean recur) {
-		//TODO this size calculation is bogus
-		ArtifactDescriptor result = new ArtifactDescriptor(key);
-		if (pathOnDisk != null) {
-			result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, Long.toString(pathOnDisk.length()));
-			// TODO - this is wrong but I'm testing a work-around for bug 205842
-			result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
-		}
-		String md5 = computeMD5(pathOnDisk);
-		if (md5 != null)
-			result.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, md5);
-		return result;
-	}
-
-	private static String computeMD5(File file) {
-		if (file == null || file.isDirectory() || !file.exists())
-			return null;
-		MessageDigest md5Checker;
-		try {
-			md5Checker = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			return null;
-		}
-		InputStream fis = null;
-		try {
-			fis = new BufferedInputStream(new FileInputStream(file));
-			int read = -1;
-			while ((read = fis.read()) != -1) {
-				md5Checker.update((byte) read);
-			}
-			byte[] digest = md5Checker.digest();
-			StringBuffer buf = new StringBuffer();
-			for (int i = 0; i < digest.length; i++) {
-				if ((digest[i] & 0xFF) < 0x10)
-					buf.append('0');
-				buf.append(Integer.toHexString(digest[i] & 0xFF));
-			}
-			return buf.toString();
-		} catch (FileNotFoundException e) {
-			return null;
-		} catch (IOException e) {
-			return null;
-		} finally {
-			if (fis != null)
-				try {
-					fis.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	/**
-	 * @deprecated moved to AbstractPublishingAction
-	 */
-	public static IArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File pathOnDisk, String installSize) {
-		final String PACKED_FORMAT = "packed"; //$NON-NLS-1$
-		//TODO this size calculation is bogus
-		ArtifactDescriptor result = new ArtifactDescriptor(key);
-		if (pathOnDisk != null) {
-			result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
-			// TODO - this is wrong but I'm testing a work-around for bug 205842
-			result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
-		}
-		ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-		result.setProcessingSteps(steps);
-		result.setProperty(IArtifactDescriptor.FORMAT, PACKED_FORMAT);
-		return result;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static IInstallableUnit createBundleConfigurationUnit(String iuId, Version iuVersion, boolean isBundleFragment, GeneratorBundleInfo configInfo, String configurationFlavor, String filter) {
-		if (configInfo == null)
-			return null;
-
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = configurationFlavor + iuId;
-		cu.setId(configUnitId);
-		cu.setVersion(iuVersion);
-
-		//Indicate the IU to which this CU apply
-		cu.setHost(new IRequirement[] { //
-				MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, iuId, new VersionRange(iuVersion, true, Version.MAX_VERSION, true), null, false, false, true), //
-						MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), false), null, false, false, false)});
-
-		//Adds capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, iuVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		Map touchpointData = new HashMap();
-		touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("configure", createConfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
-		touchpointData.put("unconfigure", createUnconfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cu.setFilter(filter);
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, boolean useNestedAdvice) {
-		Map manifestLocalizations = null;
-		if (manifest != null && bd.getLocation() != null) {
-			manifestLocalizations = getManifestLocalizations(manifest, new File(bd.getLocation()));
-		}
-
-		return createBundleIU(bd, manifest, isFolderPlugin, key, manifestLocalizations, useNestedAdvice);
-	}
-
-	private static VersionRange computeUpdateRange(org.osgi.framework.Version base) {
-		VersionRange updateRange = null;
-		if (!base.equals(org.osgi.framework.Version.emptyVersion)) {
-			updateRange = new VersionRange(Version.emptyVersion, true, Version.fromOSGiVersion(base), false);
-		} else {
-			updateRange = VersionRange.emptyRange;
-		}
-		return updateRange;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static IInstallableUnit createBundleIU(BundleDescription bd, Map manifest, boolean isFolderPlugin, IArtifactKey key, Map manifestLocalizations, boolean useNestedAdvice) {
-		boolean isBinaryBundle = true;
-		if (manifest != null && manifest.containsKey("Eclipse-SourceBundle")) { //$NON-NLS-1$
-			isBinaryBundle = false;
-		}
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(bd.isSingleton());
-		iu.setId(bd.getSymbolicName());
-		iu.setVersion(Version.fromOSGiVersion(bd.getVersion()));
-		iu.setFilter(bd.getPlatformFilter());
-
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(bd.getSymbolicName(), computeUpdateRange(bd.getVersion()), IUpdateDescriptor.NORMAL, null));
-
-		boolean isFragment = bd.getHost() != null;
-		//		boolean requiresAFragment = isFragment ? false : requireAFragment(bd, manifest);
-
-		//Process the required bundles
-		BundleSpecification requiredBundles[] = bd.getRequiredBundles();
-		ArrayList reqsDeps = new ArrayList();
-		//		if (requiresAFragment)
-		//			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_TYPE_OSGI_FRAGMENTS, bd.getSymbolicName(), VersionRange.emptyRange, null, false, false));
-		if (isFragment)
-			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getHost().getName(), VersionRange.fromOSGiVersionRange(bd.getHost().getVersionRange()), null, false, false));
-		for (int j = 0; j < requiredBundles.length; j++)
-			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, requiredBundles[j].getName(), VersionRange.fromOSGiVersionRange(requiredBundles[j].getVersionRange()), null, requiredBundles[j].isOptional(), false));
-
-		// Process the import packages
-		ImportPackageSpecification osgiImports[] = bd.getImportPackages();
-		for (int i = 0; i < osgiImports.length; i++) {
-			// TODO we need to sort out how we want to handle wild-carded dynamic imports - for now we ignore them
-			ImportPackageSpecification importSpec = osgiImports[i];
-			String importPackageName = importSpec.getName();
-			if (importPackageName.indexOf('*') != -1)
-				continue;
-
-			VersionRange versionRange = VersionRange.fromOSGiVersionRange(importSpec.getVersionRange());
-
-			//TODO this needs to be refined to take into account all the attribute handled by imports
-			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_JAVA_PACKAGE, importPackageName, versionRange, null, isOptional(importSpec), false));
-		}
-		iu.setRequiredCapabilities((IRequirement[]) reqsDeps.toArray(new IRequirement[reqsDeps.size()]));
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion())));
-		providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion())));
-
-		// Process the export package
-		ExportPackageDescription exports[] = bd.getExportPackages();
-		for (int i = 0; i < exports.length; i++) {
-			//TODO make sure that we support all the refinement on the exports
-			providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_JAVA_PACKAGE, exports[i].getName(), Version.fromOSGiVersion(exports[i].getVersion())));
-		}
-		// Here we add a bundle capability to identify bundles
-		if (isBinaryBundle)
-			providedCapabilities.add(BUNDLE_CAPABILITY);
-		else
-			providedCapabilities.add(SOURCE_BUNDLE_CAPABILITY);
-
-		if (isFragment)
-			providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_FRAGMENT, bd.getHost().getName(), Version.fromOSGiVersion(bd.getVersion())));
-
-		if (manifestLocalizations != null) {
-			for (Iterator iter = manifestLocalizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) manifestLocalizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(makeTranslationCapability(bd.getSymbolicName(), locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		iu.setArtifacts(new IArtifactKey[] {key});
-
-		iu.setTouchpointType(TOUCHPOINT_OSGI);
-
-		// Set certain properties from the manifest header attributes as IU properties.
-		// The values of these attributes may be localized (strings starting with '%')
-		// with the translated values appearing in the localization IU fragments
-		// associated with the bundle IU.
-		if (manifest != null) {
-			int i = 0;
-			while (i < BUNDLE_IU_PROPERTY_MAP.length) {
-				if (manifest.containsKey(BUNDLE_IU_PROPERTY_MAP[i])) {
-					String value = (String) manifest.get(BUNDLE_IU_PROPERTY_MAP[i]);
-					if (value != null && value.length() > 0) {
-						iu.setProperty(BUNDLE_IU_PROPERTY_MAP[i + 1], value);
-					}
-				}
-				i += 2;
-			}
-		}
-
-		// Define the immutable metadata for this IU. In this case immutable means
-		// that this is something that will not impact the configuration.
-		Map touchpointData = new HashMap();
-		if (isFolderPlugin)
-			touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("manifest", toManifestString(manifest)); //$NON-NLS-1$
-
-		if (useNestedAdvice)
-			mergeInstructionsAdvice(touchpointData, getBundleAdvice(bd.getLocation(), BUNDLE_ADVICE_FILE));
-
-		iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	/**
-	 * @deprecated moved to AdviceFileAdvice
-	 */
-	public static void mergeInstructionsAdvice(Map touchpointData, Map bundleAdvice) {
-		if (touchpointData == null || bundleAdvice == null)
-			return;
-
-		for (Iterator iterator = bundleAdvice.keySet().iterator(); iterator.hasNext();) {
-			String key = (String) iterator.next();
-			if (key.startsWith(ADVICE_INSTRUCTIONS_PREFIX)) {
-				String phase = key.substring(ADVICE_INSTRUCTIONS_PREFIX.length());
-				String instructions = touchpointData.containsKey(phase) ? (String) touchpointData.get(phase) : ""; //$NON-NLS-1$
-				if (instructions.length() > 0)
-					instructions += ";"; //$NON-NLS-1$
-				instructions += ((String) bundleAdvice.get(key)).trim();
-				touchpointData.put(phase, instructions);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static void createHostLocalizationFragment(IInstallableUnit bundleIU, BundleDescription bd, String hostId, String[] hostBundleManifestValues, Set localizationIUs) {
-		Map hostLocalizations = getHostLocalizations(new File(bd.getLocation()), hostBundleManifestValues);
-		if (hostLocalizations != null) {
-			IInstallableUnitFragment localizationFragment = createLocalizationFragmentOfHost(bd, hostId, hostBundleManifestValues, hostLocalizations);
-			localizationIUs.add(localizationFragment);
-		}
-	}
-
-	/*
-	 * @param hostId
-	 * @param bd
-	 * @param locale
-	 * @param localizedStrings
-	 * @return installableUnitFragment
-	 */
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static IInstallableUnitFragment createLocalizationFragmentOfHost(BundleDescription bd, String hostId, String[] hostManifestValues, Map hostLocalizations) {
-		InstallableUnitFragmentDescription fragment = new MetadataFactory.InstallableUnitFragmentDescription();
-		String fragmentId = makeHostLocalizationFragmentId(bd.getSymbolicName());
-		fragment.setId(fragmentId);
-		fragment.setVersion(Version.fromOSGiVersion(bd.getVersion())); // TODO: is this a meaningful version?
-
-		HostSpecification hostSpec = bd.getHost();
-		IRequirement[] hostReqs = new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)};
-		fragment.setHost(hostReqs);
-
-		fragment.setSingleton(true);
-		fragment.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-
-		// Create a provided capability for each locale and add the translated properties.
-		ArrayList providedCapabilities = new ArrayList(hostLocalizations.keySet().size());
-		for (Iterator iter = hostLocalizations.keySet().iterator(); iter.hasNext();) {
-			Locale locale = (Locale) iter.next();
-			Properties translatedStrings = (Properties) hostLocalizations.get(locale);
-
-			Enumeration propertyKeys = translatedStrings.propertyNames();
-			while (propertyKeys.hasMoreElements()) {
-				String nextKey = (String) propertyKeys.nextElement();
-				fragment.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-			}
-			providedCapabilities.add(makeTranslationCapability(hostId, locale));
-		}
-		fragment.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		return MetadataFactory.createInstallableUnitFragment(fragment);
-	}
-
-	/**
-	 * @param id
-	 * @return the id for the iu fragment containing the localized properties
-	 * 		   for the bundle with the given id
-	 */
-	//	private static String makeBundleLocalizationFragmentId(String id) {
-	//		return id + ".translated_properties"; //$NON-NLS-1$
-	//	}
-	/**
-	 * @param id
-	 * @return the id for the iu fragment containing localized properties
-	 * 		   for the fragment with the given id.
-	 */
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String makeHostLocalizationFragmentId(String id) {
-		return id + ".translated_host_properties"; //$NON-NLS-1$
-	}
-
-	private static IProvidedCapability makeTranslationCapability(String hostId, Locale locale) {
-		return MetadataFactory.createProvidedCapability(NAMESPACE_IU_LOCALIZATION, locale.toString(), Version.createOSGi(1, 0, 0));
-	}
-
-	/**
-	 * Creates an IU corresponding to an update site category
-	 * @param category The category descriptor
-	 * @param featureIUs The IUs of the features that belong to the category
-	 * @param parentCategory The parent category, or <code>null</code>
-	 * @return an IU representing the category
-	 * @deprecated moved to SiteXMLAction
-	 */
-	public static IInstallableUnit createCategoryIU(SiteCategory category, Set featureIUs, IInstallableUnit parentCategory) {
-		InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
-		cat.setSingleton(true);
-		String categoryId = category.getName();
-		cat.setId(categoryId);
-		cat.setVersion(Version.emptyVersion);
-		cat.setProperty(IInstallableUnit.PROP_NAME, category.getLabel());
-		cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, category.getDescription());
-
-		ArrayList reqsConfigurationUnits = new ArrayList(featureIUs.size());
-		for (Iterator iterator = featureIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
-			reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter(), false, false));
-		}
-		//note that update sites don't currently support nested categories, but it may be useful to add in the future
-		if (parentCategory != null) {
-			reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter() == null ? null : ((LDAPQuery) parentCategory.getFilter()).getFilter(), false, false));
-		}
-		cat.setRequiredCapabilities((IRequirement[]) reqsConfigurationUnits.toArray(new IRequirement[reqsConfigurationUnits.size()]));
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(categoryId, Version.emptyVersion));
-
-		Map localizations = category.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					cat.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(makeTranslationCapability(categoryId, locale));
-			}
-		}
-
-		cat.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		cat.setArtifacts(new IArtifactKey[0]);
-		cat.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
-		return MetadataFactory.createInstallableUnit(cat);
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String createConfigScript(GeneratorBundleInfo configInfo, boolean isBundleFragment) {
-		if (configInfo == null)
-			return ""; //$NON-NLS-1$
-
-		String configScript = "";//$NON-NLS-1$
-		if (!isBundleFragment && configInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
-			configScript += "setStartLevel(startLevel:" + configInfo.getStartLevel() + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!isBundleFragment && configInfo.isMarkedAsStarted()) {
-			configScript += "markStarted(started: true);"; //$NON-NLS-1$
-		}
-
-		if (configInfo.getSpecialConfigCommands() != null) {
-			configScript += configInfo.getSpecialConfigCommands();
-		}
-
-		return configScript;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String createDefaultBundleConfigScript(GeneratorBundleInfo configInfo) {
-		return createConfigScript(configInfo, false);
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static IInstallableUnit createDefaultBundleConfigurationUnit(GeneratorBundleInfo configInfo, GeneratorBundleInfo unconfigInfo, String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = createDefaultConfigUnitId(OSGI_BUNDLE_CLASSIFIER, configurationFlavor);
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on bundles
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)};
-		cu.setHost(reqs);
-		Map touchpointData = new HashMap();
-
-		touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("configure", createDefaultBundleConfigScript(configInfo)); //$NON-NLS-1$
-		touchpointData.put("unconfigure", createDefaultBundleUnconfigScript(unconfigInfo)); //$NON-NLS-1$
-
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String createDefaultBundleUnconfigScript(GeneratorBundleInfo unconfigInfo) {
-		return createUnconfigScript(unconfigInfo, false);
-	}
-
-	public static String createDefaultConfigUnitId(String classifier, String configurationFlavor) {
-		return configurationFlavor + "." + classifier + ".default"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static IInstallableUnit createDefaultFeatureConfigurationUnit(String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = createDefaultConfigUnitId(ECLIPSE_FEATURE_CLASSIFIER, configurationFlavor);
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on features
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)};
-		cu.setHost(reqs);
-
-		cu.setFilter(INSTALL_FEATURES_FILTER);
-		Map touchpointData = new HashMap();
-		touchpointData.put("install", "installFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	public static IInstallableUnit createDefaultConfigurationUnitForSourceBundles(String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = createDefaultConfigUnitId("source", configurationFlavor); //$NON-NLS-1$
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on source providers
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)};
-		cu.setHost(reqs);
-		Map touchpointData = new HashMap();
-
-		touchpointData.put("install", "addSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "removeSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static IArtifactKey createFeatureArtifactKey(String fsn, String version) {
-		return new ArtifactKey(ECLIPSE_FEATURE_CLASSIFIER, fsn, Version.create(version));
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static IInstallableUnit createFeatureJarIU(Feature feature, boolean isExploded) {
-		return createFeatureJarIU(feature, isExploded, null);
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static IInstallableUnit createFeatureJarIU(Feature feature, boolean isExploded, Properties extraProperties) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/false);
-		iu.setId(id);
-		Version version = Version.fromOSGiVersion(new org.osgi.framework.Version(feature.getVersion()));
-		iu.setVersion(version);
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null));
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		if (feature.getApplication() != null)
-			iu.setProperty(UPDATE_FEATURE_APPLICATION_PROP, feature.getApplication());
-		if (feature.getPlugin() != null)
-			iu.setProperty(UPDATE_FEATURE_PLUGIN_PROP, feature.getPlugin());
-		if (feature.isExclusive())
-			iu.setProperty(UPDATE_FEATURE_EXCLUSIVE_PROP, Boolean.TRUE.toString());
-		if (feature.isPrimary())
-			iu.setProperty(UPDATE_FEATURE_PRIMARY_PROP, Boolean.TRUE.toString());
-
-		// The required capabilities are not specified at this level because we don't want the feature jar to be attractive to install.
-
-		iu.setTouchpointType(TOUCHPOINT_OSGI);
-		iu.setFilter(INSTALL_FEATURES_FILTER);
-		iu.setSingleton(true);
-
-		if (feature.getInstallHandler() != null && feature.getInstallHandler().trim().length() > 0) {
-			String installHandlerProperty = "handler=" + feature.getInstallHandler(); //$NON-NLS-1$
-
-			if (feature.getInstallHandlerLibrary() != null)
-				installHandlerProperty += ", library=" + feature.getInstallHandlerLibrary(); //$NON-NLS-1$
-
-			if (feature.getInstallHandlerURL() != null)
-				installHandlerProperty += ", url=" + feature.getInstallHandlerURL(); //$NON-NLS-1$
-
-			iu.setProperty(ECLIPSE_INSTALL_HANDLER_PROP, installHandlerProperty);
-		}
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(id, version));
-		providedCapabilities.add(FEATURE_CAPABILITY);
-		providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version));
-
-		iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())});
-
-		if (isExploded) {
-			// Define the immutable metadata for this IU. In this case immutable means
-			// that this is something that will not impact the configuration.
-			Map touchpointData = new HashMap();
-			touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-			iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		}
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(makeTranslationCapability(id, locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		if (extraProperties != null) {
-			Enumeration e = extraProperties.propertyNames();
-			while (e.hasMoreElements()) {
-				String name = (String) e.nextElement();
-				iu.setProperty(name, extraProperties.getProperty(name));
-			}
-		}
-
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static IInstallableUnit createGroupIU(Feature feature, IInstallableUnit featureIU) {
-		return createGroupIU(feature, featureIU, null, true);
-	}
-
-	public static IInstallableUnit createGroupIU(Feature feature, IInstallableUnit featureIU, Properties extraProperties, boolean transformIds) {
-		if (isPatch(feature))
-			return createPatchIU(feature, featureIU, extraProperties);
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		String id = feature.getId();
-		if (transformIds)
-			id = getTransformedId(id, /*isPlugin*/false, /*isGroup*/true);
-		iu.setId(id);
-		Version version = Version.fromOSGiVersion(new org.osgi.framework.Version(feature.getVersion()));
-		iu.setVersion(version);
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null));
-
-		FeatureEntry entries[] = feature.getEntries();
-		IRequirement[] required = new IRequirement[entries.length + (featureIU == null ? 0 : 1)];
-		for (int i = 0; i < entries.length; i++) {
-			VersionRange range = getVersionRange(entries[i]);
-			String requiredId = entries[i].getId();
-			if (transformIds)
-				requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true);
-			required[i] = MetadataFactory.createRequiredCapability(IU_NAMESPACE, requiredId, range, getFilter(entries[i]), entries[i].isOptional(), false);
-		}
-		// the feature IU could be null if we are just generating a feature structure rather than
-		// actual features.
-		if (featureIU != null)
-			required[entries.length] = MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false);
-		iu.setRequiredCapabilities(required);
-		iu.setTouchpointType(ITouchpointType.NONE);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		// TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl
-		// 		 of the feature?
-		// iu.setFilter(filter);
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(id, version));
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(makeTranslationCapability(id, locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		if (extraProperties != null) {
-			Enumeration e = extraProperties.propertyNames();
-			while (e.hasMoreElements()) {
-				String name = (String) e.nextElement();
-				iu.setProperty(name, extraProperties.getProperty(name));
-			}
-		}
-
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	public static IInstallableUnit createPatchIU(Feature feature, IInstallableUnit featureIU, Properties extraProperties) {
-		InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
-		String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/true);
-		iu.setId(id);
-		Version version = Version.fromOSGiVersion(new org.osgi.framework.Version(feature.getVersion()));
-		iu.setVersion(version);
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null));
-
-		FeatureEntry entries[] = feature.getEntries();
-		ArrayList applicabilityScope = new ArrayList();
-		ArrayList patchRequirements = new ArrayList();
-		ArrayList requirementChanges = new ArrayList();
-		for (int i = 0; i < entries.length; i++) {
-			VersionRange range = getVersionRange(entries[i]);
-			IRequirement req = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false);
-			if (entries[i].isRequires()) {
-				applicabilityScope.add(req);
-				if (applicabilityScope.size() == 1) {
-					iu.setLifeCycle(MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, null, false, false, false));
-				}
-				continue;
-			}
-			if (entries[i].isPlugin()) {
-				IRequirement from = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false);
-				requirementChanges.add(MetadataFactory.createRequirementChange(from, req));
-				continue;
-			}
-			patchRequirements.add(req);
-		}
-		//Always add a requirement on the IU containing the feature jar
-		patchRequirements.add(MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false));
-		iu.setRequiredCapabilities((IRequirement[]) patchRequirements.toArray(new IRequirement[patchRequirements.size()]));
-		iu.setApplicabilityScope(new IRequirement[][] {(IRequirement[]) applicabilityScope.toArray(new IRequirement[applicabilityScope.size()])});
-		iu.setRequirementChanges((IRequirementChange[]) requirementChanges.toArray(new IRequirementChange[requirementChanges.size()]));
-
-		//Generate lifecycle
-		IRequirement lifeCycle = null;
-		if (applicabilityScope.size() > 0) {
-			IRequirement req = (IRequirement) applicabilityScope.get(0);
-
-		}
-
-		iu.setTouchpointType(ITouchpointType.NONE);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_PATCH, Boolean.TRUE.toString());
-		// TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl
-		// 		 of the feature?
-		// iu.setFilter(filter);
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(id, version));
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(makeTranslationCapability(id, locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		if (extraProperties != null) {
-			Enumeration e = extraProperties.propertyNames();
-			while (e.hasMoreElements()) {
-				String name = (String) e.nextElement();
-				iu.setProperty(name, extraProperties.getProperty(name));
-			}
-		}
-
-		return MetadataFactory.createInstallableUnitPatch(iu);
-	}
-
-	private static boolean isPatch(Feature feature) {
-		FeatureEntry[] entries = feature.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].isPatch())
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Creates IUs and artifact descriptors for the JRE.  The resulting IUs are added
-	 * to the given set, and the resulting artifact descriptor, if any, is returned.
-	 * If the jreLocation is <code>null</code>, default information is generated.
-	 */
-	/**
-	 * @deprecated moved to JREAction
-	 */
-	public static IArtifactDescriptor createJREData(File jreLocation, Set resultantIUs) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(false);
-		String id = "a.jre"; //$NON-NLS-1$
-		Version version = DEFAULT_JRE_VERSION;
-		iu.setId(id);
-		iu.setVersion(version);
-		iu.setTouchpointType(TOUCHPOINT_NATIVE);
-
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configId = "config." + id;//$NON-NLS-1$
-		cu.setId(configId);
-		cu.setVersion(version);
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, Version.MAX_VERSION, true), null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configId, version)});
-		cu.setTouchpointType(TOUCHPOINT_NATIVE);
-		Map touchpointData = new HashMap();
-
-		if (jreLocation == null || !jreLocation.exists()) {
-			//set some reasonable defaults
-			iu.setVersion(version);
-			iu.setCapabilities(generateJRECapability(id, version, null));
-			resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
-			touchpointData.put("install", ""); //$NON-NLS-1$ //$NON-NLS-2$
-			cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-			resultantIUs.add(MetadataFactory.createInstallableUnit(cu));
-			return null;
-		}
-		generateJREIUData(iu, id, version, jreLocation);
-
-		//Generate artifact for JRE
-		IArtifactKey key = new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version);
-		iu.setArtifacts(new IArtifactKey[] {key});
-		resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
-		//Create config info for the CU
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		resultantIUs.add(MetadataFactory.createInstallableUnit(cu));
-
-		//Create the artifact descriptor
-		return createArtifactDescriptor(key, jreLocation, false, true);
-	}
-
-	public static ArtifactKey createLauncherArtifactKey(String id, Version version) {
-		return new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version);
-	}
-
-	/**
-	 * Creates IUs and artifacts for the Launcher executable. The resulting IUs are added
-	 * to the given set, and the resulting artifact descriptor is returned.
-	 * @deprecated use the EquinoxExecutablesAction instead
-	 */
-	public static IArtifactDescriptor createLauncherIU(File launcher, String configurationFlavor, Set resultantIUs) {
-		if (launcher == null || !launcher.exists())
-			return null;
-
-		//Create the IU
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(true);
-		String launcherId = LAUNCHER_ID_PREFIX + '_' + launcher.getName();
-		iu.setId(launcherId);
-		iu.setVersion(LAUNCHER_VERSION);
-
-		IArtifactKey key = createLauncherArtifactKey(launcherId, LAUNCHER_VERSION);
-		iu.setArtifacts(new IArtifactKey[] {key});
-		iu.setCapabilities(new IProvidedCapability[] {createSelfCapability(launcherId, LAUNCHER_VERSION)});
-		iu.setTouchpointType(TOUCHPOINT_NATIVE);
-		resultantIUs.add(MetadataFactory.createInstallableUnit(iu));
-
-		//Create the CU
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = configurationFlavor + launcherId;
-		cu.setId(configUnitId);
-		cu.setVersion(LAUNCHER_VERSION);
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, Version.MAX_VERSION, true), null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, LAUNCHER_VERSION)});
-		cu.setTouchpointType(TOUCHPOINT_NATIVE);
-		Map touchpointData = new HashMap();
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-		if (!info.getOS().equals(org.eclipse.osgi.service.environment.Constants.OS_WIN32)) {
-			if (info.getOS().equals(org.eclipse.osgi.service.environment.Constants.OS_MACOSX)) {
-				configurationData += " chmod(targetDir:${installFolder}/Eclipse.app/Contents/MacOS, targetFile:eclipse, permissions:755);"; //$NON-NLS-1$
-				generateLauncherSetter("Eclipse", launcherId, LAUNCHER_VERSION, "macosx", null, null, resultantIUs); //$NON-NLS-1$//$NON-NLS-2$
-			} else
-				configurationData += " chmod(targetDir:${installFolder}, targetFile:" + launcher.getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			generateLauncherSetter("eclipse", launcherId, LAUNCHER_VERSION, "win32", null, null, resultantIUs); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		resultantIUs.add(MetadataFactory.createInstallableUnitFragment(cu));
-
-		//Create the artifact descriptor
-		return createArtifactDescriptor(key, launcher, false, true);
-	}
-
-	/**
-	 * @deprecated moved to EquinoxExecutablesAction
-	 */
-	public static IInstallableUnit generateLauncherSetter(String launcherName, String iuId, Version version, String os, String ws, String arch, Set result) {
-		InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		iud.setId(iuId + '.' + launcherName);
-		iud.setVersion(version);
-		iud.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI);
-		iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(iuId + '.' + launcherName, version)});
-
-		if (os != null || ws != null || arch != null) {
-			String filterOs = os != null ? "(osgi.os=" + os + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			String filterWs = ws != null ? "(osgi.ws=" + ws + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			String filterArch = arch != null ? "(osgi.arch=" + arch + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			iud.setFilter("(& " + filterOs + filterWs + filterArch + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		Map touchpointData = new HashMap();
-		touchpointData.put("configure", "setLauncherName(name:" + launcherName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$
-		iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iud);
-		result.add(iu);
-		return iu;
-	}
-
-	public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) {
-		return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion);
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String createUnconfigScript(GeneratorBundleInfo unconfigInfo, boolean isBundleFragment) {
-		if (unconfigInfo == null)
-			return ""; //$NON-NLS-1$
-		String unconfigScript = "";//$NON-NLS-1$
-		if (!isBundleFragment && unconfigInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
-			unconfigScript += "setStartLevel(startLevel:" + BundleInfo.NO_LEVEL + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!isBundleFragment && unconfigInfo.isMarkedAsStarted()) {
-			unconfigScript += "markStarted(started: false);"; //$NON-NLS-1$
-		}
-
-		if (unconfigInfo.getSpecialUnconfigCommands() != null) {
-			unconfigScript += unconfigInfo.getSpecialUnconfigCommands();
-		}
-		return unconfigScript;
-
-	}
-
-	/**
-	 * @deprecated moved to JREAction
-	 */
-	private static IProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) {
-		if (profileStream == null) {
-			//use the 1.6 profile stored in the generator bundle
-			try {
-				profileStream = Activator.getContext().getBundle().getEntry("JavaSE-1.6.profile").openStream(); //$NON-NLS-1$
-			} catch (IOException e) {
-				throw new RuntimeException(e);
-			}
-		}
-		Properties p = new Properties();
-		try {
-			p.load(profileStream);
-			ManifestElement[] jrePackages = ManifestElement.parseHeader("org.osgi.framework.system.packages", (String) p.get("org.osgi.framework.system.packages")); //$NON-NLS-1$ //$NON-NLS-2$
-			IProvidedCapability[] exportedPackageAsCapabilities = new IProvidedCapability[jrePackages.length + 1];
-			exportedPackageAsCapabilities[0] = createSelfCapability(installableUnitId, installableUnitVersion);
-			for (int i = 1; i <= jrePackages.length; i++) {
-				exportedPackageAsCapabilities[i] = MetadataFactory.createProvidedCapability(CAPABILITY_NS_JAVA_PACKAGE, jrePackages[i - 1].getValue(), null);
-			}
-			return exportedPackageAsCapabilities;
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (BundleException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} finally {
-			if (profileStream != null) {
-				try {
-					profileStream.close();
-				} catch (IOException e) {
-					//ignore secondary failure
-				}
-			}
-		}
-		return new IProvidedCapability[0];
-	}
-
-	/**
-	 * @deprecated moved to JREAction
-	 */
-	private static void generateJREIUData(InstallableUnitDescription iu, String installableUnitId, Version installableUnitVersion, File jreLocation) {
-		//Look for a JRE profile file to set version and capabilities
-		File[] profiles = jreLocation.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.getAbsolutePath().endsWith(".profile"); //$NON-NLS-1$
-			}
-		});
-		if (profiles.length != 1) {
-			iu.setVersion(DEFAULT_JRE_VERSION);
-			iu.setCapabilities(generateJRECapability(installableUnitId, installableUnitVersion, null));
-			return;
-		}
-		String profileName = profiles[0].getAbsolutePath().substring(profiles[0].getAbsolutePath().lastIndexOf('/'));
-		Version version = DEFAULT_JRE_VERSION;
-		//TODO Find a better way to determine JRE version
-		if (profileName.indexOf("1.6") > 0) { //$NON-NLS-1$
-			version = Version.create("1.6"); //$NON-NLS-1$
-		} else if (profileName.indexOf("1.5") > 0) { //$NON-NLS-1$
-			version = Version.create("1.5"); //$NON-NLS-1$
-		} else if (profileName.indexOf("1.4") > 0) { //$NON-NLS-1$
-			version = Version.create("1.4"); //$NON-NLS-1$
-		}
-		iu.setVersion(version);
-		try {
-			iu.setCapabilities(generateJRECapability(installableUnitId, installableUnitVersion, new FileInputStream(profiles[0])));
-		} catch (FileNotFoundException e) {
-			//Shouldn't happen, but ignore and fall through to use default
-		}
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static String getFilter(FeatureEntry entry) {
-		StringBuffer result = new StringBuffer();
-		result.append("(&"); //$NON-NLS-1$
-		if (entry.getFilter() != null)
-			result.append(entry.getFilter());
-		if (entry.getOS() != null)
-			result.append("(osgi.os=" + entry.getOS() + ')');//$NON-NLS-1$
-		if (entry.getWS() != null)
-			result.append("(osgi.ws=" + entry.getWS() + ')');//$NON-NLS-1$
-		if (entry.getArch() != null)
-			result.append("(osgi.arch=" + entry.getArch() + ')');//$NON-NLS-1$
-		if (entry.getNL() != null)
-			result.append("(osgi.nl=" + entry.getNL() + ')');//$NON-NLS-1$
-		if (result.length() == 2)
-			return null;
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static String getTransformedId(String original, boolean isPlugin, boolean isGroup) {
-		return (isPlugin ? original : original + (isGroup ? ".feature.group" : ".feature.jar")); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	/**
-	 * @deprecated moved to FeaturesAction
-	 */
-	public static VersionRange getVersionRange(FeatureEntry entry) {
-		String versionSpec = entry.getVersion();
-		if (versionSpec == null)
-			return VersionRange.emptyRange;
-		Version version = Version.create(versionSpec);
-		if (version.equals(Version.emptyVersion))
-			return VersionRange.emptyRange;
-		if (!entry.isRequires())
-			return new VersionRange(version, true, version, true);
-		String match = entry.getMatch();
-
-		org.osgi.framework.Version osgiVersion = Version.toOSGiVersion(version);
-		if (match == null || match.equals("compatible")) { //$NON-NLS-1$
-			Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0);
-			return new VersionRange(version, true, upper, false);
-		}
-		if (match.equals("perfect")) //$NON-NLS-1$
-			return new VersionRange(version, true, version, true);
-		if (match.equals("equivalent")) { //$NON-NLS-1$
-			Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0);
-			return new VersionRange(version, true, upper, false);
-		}
-		if (match.equals("greaterOrEqual")) //$NON-NLS-1$
-			return new VersionRange(version, true, new VersionRange(null).getMaximum(), true);
-		return null;
-	}
-
-	/**
-	 * @deprecated moved to AdviceFileAdvice
-	 */
-	public static Map getBundleAdvice(String bundleLocation, String suffixLocation) {
-		if (bundleLocation == null)
-			return Collections.EMPTY_MAP;
-
-		File bundle = new File(bundleLocation);
-		if (!bundle.exists())
-			return Collections.EMPTY_MAP;
-
-		ZipFile jar = null;
-		InputStream stream = null;
-		if (bundle.isDirectory()) {
-			File adviceFile = new File(bundle, suffixLocation);
-			if (adviceFile.exists()) {
-				try {
-					stream = new BufferedInputStream(new FileInputStream(adviceFile));
-				} catch (IOException e) {
-					return Collections.EMPTY_MAP;
-				}
-			}
-		} else if (bundle.isFile()) {
-			try {
-				jar = new ZipFile(bundle);
-				ZipEntry entry = jar.getEntry(suffixLocation);
-				if (entry != null)
-					stream = new BufferedInputStream(jar.getInputStream(entry));
-			} catch (IOException e) {
-				if (jar != null)
-					try {
-						jar.close();
-					} catch (IOException e1) {
-						//boo
-					}
-				return Collections.EMPTY_MAP;
-			}
-		}
-
-		Properties advice = null;
-		if (stream != null) {
-			try {
-				advice = new Properties();
-				advice.load(stream);
-			} catch (IOException e) {
-				return Collections.EMPTY_MAP;
-			} finally {
-				try {
-					stream.close();
-				} catch (IOException e) {
-					//boo
-				}
-			}
-		}
-
-		if (jar != null) {
-			try {
-				jar.close();
-			} catch (IOException e) {
-				// boo
-			}
-		}
-
-		return advice != null ? advice : Collections.EMPTY_MAP;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static boolean isOptional(ImportPackageSpecification importedPackage) {
-		if (importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_DYNAMIC) || importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL))
-			return true;
-		return false;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static String toManifestString(Map p) {
-		if (p == null)
-			return null;
-		Collection properties = p.entrySet();
-		StringBuffer result = new StringBuffer();
-		for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
-			Map.Entry aProperty = (Map.Entry) iterator.next();
-			if (aProperty.getKey().equals(BundleDescriptionFactory.BUNDLE_FILE_KEY))
-				continue;
-			result.append(aProperty.getKey()).append(": ").append(aProperty.getValue()).append('\n'); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-
-	/**
-	 * Returns a URI corresponding to the given URL in string form, or null
-	 * if a well formed URI could not be created.
-	 */
-	private static URI toURIOrNull(String url) {
-		if (url == null)
-			return null;
-		try {
-			return URIUtil.fromString(url);
-		} catch (URISyntaxException e) {
-			return null;
-		}
-	}
-
-	// Return a map from locale to property set for the manifest localizations
-	// from the given bundle directory and given bundle localization path/name
-	// manifest property value.
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	private static Map getManifestLocalizations(Map manifest, File bundleLocation) {
-		Map localizations;
-		Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
-		String[] bundleManifestValues = getManifestCachedValues(manifest);
-		String bundleLocalization = bundleManifestValues[BUNDLE_LOCALIZATION_INDEX];
-
-		if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
-				bundleLocation.isFile()) {
-			localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-			//localizations = getJarManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-		} else {
-			localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-			// localizations = getDirManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-		}
-
-		return localizations;
-	}
-
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static String[] getManifestCachedValues(Map manifest) {
-		String[] cachedValues = new String[BUNDLE_LOCALIZED_PROPERTIES.length + 1];
-		for (int j = 0; j < MetadataGeneratorHelper.BUNDLE_LOCALIZED_PROPERTIES.length; j++) {
-			String value = (String) manifest.get(BUNDLE_LOCALIZED_PROPERTIES[j]);
-			if (value != null && value.length() > 1 && value.charAt(0) == '%') {
-				cachedValues[j] = value.substring(1);
-			}
-		}
-		String localizationFile = (String) manifest.get(org.osgi.framework.Constants.BUNDLE_LOCALIZATION);
-		cachedValues[BUNDLE_LOCALIZATION_INDEX] = (localizationFile != null ? localizationFile : DEFAULT_BUNDLE_LOCALIZATION);
-		return cachedValues;
-	}
-
-	// Return a map from locale to property set for the manifest localizations
-	// from the given bundle directory and given bundle localization path/name
-	// manifest property value.
-	/**
-	 * @deprecated moved to BundlesAction
-	 */
-	public static Map getHostLocalizations(File bundleLocation, String[] hostBundleManifestValues) {
-		Map localizations;
-		Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
-		String hostBundleLocalization = hostBundleManifestValues[BUNDLE_LOCALIZATION_INDEX];
-
-		if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
-				bundleLocation.isFile()) {
-			localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-			//localizations = getJarManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-		} else {
-			localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-			// localizations = getDirManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-		}
-
-		return localizations;
-	}
-
-};
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
deleted file mode 100644
index 8e928f6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/URLEntry.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.metadata.generator;
-
-public class URLEntry {
-	private String annotation;
-	private String url;
-
-	public URLEntry() {
-	}
-
-	public URLEntry(String url, String annotation) {
-		this.url = url;
-		this.annotation = annotation;
-	}
-
-	public void setAnnotation(String annotation) {
-		this.annotation = annotation;
-	}
-
-	public String getAnnotation() {
-		return annotation;
-	}
-
-	public void setURL(String url) {
-		this.url = url;
-	}
-
-	public String getURL() {
-		return url;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
deleted file mode 100644
index 3301c38..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/GeneratorTask.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.ant;
-
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.EclipseInstallGeneratorInfoProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IncrementalGenerator;
-
-/**
- * An Ant task to call the p2 Metadata Generator application.
- * 
- * @since 1.0
- */
-public class GeneratorTask extends Task {
-
-	protected EclipseInstallGeneratorInfoProvider provider = null;
-	protected EclipseGeneratorApplication generator = null;
-
-	private String mode;
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		try {
-			IncrementalGenerator incremental = new IncrementalGenerator();
-			incremental.setMode(mode);
-			incremental.run(generator, provider);
-
-			if (!"incremental".equals(mode)) { //$NON-NLS-1$
-				provider = null;
-				generator = null;
-			}
-		} catch (Exception e) {
-			throw new BuildException(TaskMessages.exception_errorOccurredCallingGenerator, e);
-		}
-	}
-
-	public void setAppend(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setAppend(Boolean.valueOf(value).booleanValue());
-	}
-
-	public void setArtifactRepository(String location) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		try {
-			generator.setArtifactLocation(URIUtil.fromString(location));
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("Specified artifact repository location (" + location + ") is not a valid URI. ");
-		}
-	}
-
-	public void setArtifactRepositoryName(String name) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setArtifactRepositoryName(name);
-	}
-
-	public void setBase(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setBase(value);
-	}
-
-	public void setBundles(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setBundles(value);
-	}
-
-	public void setCompress(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setCompress(value);
-	}
-
-	public void setConfig(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setOperation("-config", value); //$NON-NLS-1$
-	}
-
-	public void setInplace(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setOperation("-inplace", value); //$NON-NLS-1$
-	}
-
-	public void setSource(String location) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setOperation("-source", location); //$NON-NLS-1$
-	}
-
-	public void setUpdateSite(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setOperation("-updateSite", value); //$NON-NLS-1$
-	}
-
-	public void setExe(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setExecutableLocation(value);
-	}
-
-	public void setFeatures(String value) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setFeatures(value);
-	}
-
-	public void setFlavor(String flavor) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setFlavor(flavor);
-	}
-
-	public void setLauncherConfig(String launcherConfig) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setLauncherConfig(launcherConfig);
-	}
-
-	public void setMetadataRepository(String location) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		try {
-			generator.setMetadataLocation(URIUtil.fromString(location));
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("Specified metadata repository location (" + location + ") is not a valid URI. ");
-		}
-	}
-
-	public void setMetadataRepositoryName(String name) {
-		if (generator == null)
-			generator = new EclipseGeneratorApplication();
-		generator.setMetadataRepositoryName(name);
-	}
-
-	public void setNoDefaultIUs(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setAddDefaultIUs(!Boolean.valueOf(value).booleanValue());
-	}
-
-	public void setP2OS(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setOS(value);
-	}
-
-	public void setProductFile(String file) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setProductFile(file);
-	}
-
-	public void setPublishArtifactRepository(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setPublishArtifactRepository(Boolean.valueOf(value).booleanValue());
-	}
-
-	public void setPublishArtifacts(String value) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setPublishArtifacts(Boolean.valueOf(value).booleanValue());
-	}
-
-	public void setRoot(String root) {
-		if (root == null || root.startsWith("${")) //$NON-NLS-1$
-			return;
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setRootId(root);
-	}
-
-	public void setRootVersion(String rootVersion) {
-		if (rootVersion == null || rootVersion.startsWith("${")) //$NON-NLS-1$
-			return;
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setRootVersion(rootVersion);
-	}
-
-	public void setMode(String mode) {
-		this.mode = mode;
-	}
-
-	public void setVersionAdvice(String advice) {
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		provider.setVersionAdvice(advice);
-	}
-
-	public void setSite(String site) {
-		if (site == null || site.startsWith("${")) //$NON-NLS-1$
-			return;
-		if (provider == null)
-			provider = new EclipseInstallGeneratorInfoProvider();
-		try {
-			provider.setSiteLocation(URIUtil.fromString(site));
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("The specified location (" + site + ") is not a valid URI."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
deleted file mode 100644
index b9fb849..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/TaskMessages.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.generator.ant;
-
-import org.eclipse.osgi.util.NLS;
-
-public class TaskMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.ant.messages";//$NON-NLS-1$
-
-	public static String exception_errorOccurredCallingGenerator;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, TaskMessages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
deleted file mode 100644
index d43b904..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src_ant/org/eclipse/equinox/internal/p2/metadata/generator/ant/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-
-exception_errorOccurredCallingGenerator = An error occurred when calling generator.
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath b/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.cvsignore b/bundles/org.eclipse.equinox.p2.metadata.repository/.cvsignore
deleted file mode 100644
index 3101cbf..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-bin_ant
-ant_tasks
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch b/bundles/org.eclipse.equinox.p2.metadata.repository/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch
deleted file mode 100644
index d3596d8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.metadata.repository"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.metadata.repository"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.project b/bundles/org.eclipse.equinox.p2.metadata.repository/.project
deleted file mode 100644
index 920d1f2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.project
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.metadata.repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.equinox.p2.metadata.reposiroy buildAntTasks.xml.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 904df31..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Fri Feb 22 11:22:59 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6b7580c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:22 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
deleted file mode 100644
index 3a5641e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,49 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.metadata.mirror;x-internal:=true,
- org.eclipse.equinox.internal.p2.metadata.repository;
-  x-friends:="org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.updatesite",
- org.eclipse.equinox.internal.p2.metadata.repository.io;x-friends:="org.eclipse.equinox.p2.engine",
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;x-friends:="org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.engine"
-Import-Package: javax.xml.parsers,
- org.eclipse.ecf.core.util,
- org.eclipse.equinox.app;resolution:=optional,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.p2.repository,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.core.spi,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.0",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.repository.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.equinox.registry,
- org.eclipse.ecf.filetransfer;bundle-version="2.0.0"
-Service-Component: OSGI-INF/repositoryManager.xml
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/OSGI-INF/repositoryManager.xml b/bundles/org.eclipse.equinox.p2.metadata.repository/OSGI-INF/repositoryManager.xml
deleted file mode 100644
index fdf2579..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/OSGI-INF/repositoryManager.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.metadata.repository">
-   <implementation class="org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryComponent"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory"/>
-   </service>
-   <property name="p2.agent.servicename" type="String" value="org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager"/>
-</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/about.html b/bundles/org.eclipse.equinox.p2.metadata.repository/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
deleted file mode 100644
index 3e90a6c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/build.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties,\
-               ant_tasks/metadataRepository-ant.jar,\
-               OSGI-INF/
-src.includes = about.html,\
-               schema/
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
-jars.compile.order = .,\
-                     ant_tasks/metadataRepository-ant.jar
-source.ant_tasks/metadataRepository-ant.jar = src_ant/
-output.ant_tasks/metadataRepository-ant.jar = bin_ant/
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml b/bundles/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml
deleted file mode 100644
index d59add5..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/buildAntTasks.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.equinox.p2.metadata.repository" default="default" basedir=".">
-
-	<target name="default" description="Compile ant tasks" >
-		<mkdir dir="${basedir}/ant_tasks" />
-		<delete file="${basedir}/ant_tasks/metadataRepository-ant.jar" failonerror="false"/>
-		<jar destfile="${basedir}/ant_tasks/metadataRepository-ant.jar" basedir="${basedir}/bin_ant"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch b/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
deleted file mode 100644
index 4d7cb3c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/p2 tools - mirror metadata.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 tools - mirror metadata"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND" value="java"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication&#13;&#10;-source http://download.eclipse.org/eclipse/updates/3.4milestones/&#13;&#10;-destination file:c:/p2"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi@:,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.registry@default:default,javax.servlet@default:default,org.eclipse.core.jobs@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.simpleconfigurator@default:true,org.eclipse.equinox.p2.director@default:default,org.sat4j.core@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.jarprocessor@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
deleted file mode 100644
index ee478c2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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:
-#     henrik.lindberg@cloudsmith.com
-###############################################################################
-pluginName = Equinox Provisioning Metadata Repository
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml b/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
deleted file mode 100644
index c1bac45..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/plugin.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="metadataRepositories" name="Metadata Repositories" schema="schema/metadataRepositories.exsd"/>
-   <extension id="simpleRepository"  point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-		<filter suffix="content.xml"/>
-		<factory class="org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory"/>
-   </extension>
-   <extension
-         id="mirrorApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.metadata.mirror.MirrorApplication">
-         </run>
-      </application>
-   </extension>
-   <extension id="compositeRepository"  point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-        <filter suffix="compositeContent.xml"/>
-        <factory class="org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory"/>
-   </extension>
-   
-   <extension point="org.eclipse.ant.core.antTasks">
-		<antTask
-			library="ant_tasks/metadataRepository-ant.jar"
-			name="p2.composite.metadata.repository.add"
-			class="org.eclipse.equinox.internal.p2.metadata.repository.ant.AddChildTask">
-		</antTask>
-		
-		<antTask
-			library="ant_tasks/metadataRepository-ant.jar"
-			name="p2.composite.metadata.repository.create"
-			class="org.eclipse.equinox.internal.p2.metadata.repository.ant.CreateCompositeMetadataRepositoryTask">
-		</antTask>
-		
-   		<antTask
-			library="ant_tasks/metadataRepository-ant.jar"
-			name="p2.metadata.mirror"
-			class="org.eclipse.equinox.internal.p2.metadata.repository.ant.MirrorApplicationTask">
-		</antTask>
-		
-		<antTask
-			library="ant_tasks/metadataRepository-ant.jar"
-			name="p2.composite.metadata.repository.remove"
-			class="org.eclipse.equinox.internal.p2.metadata.repository.ant.RemoveChildTask">
-		</antTask>
-		
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd b/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
deleted file mode 100644
index f32458c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/schema/metadataRepositories.exsd
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.metadata.repository" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.metadata.repository" id="metadataRepositories" name="Metadata Repositories"/>
-      </appinfo>
-      <documentation>
-         This extension point is used to provide metadata repository implementations
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="factory"/>
-            <element ref="filter" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="factory">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the fully-qualified name of a class which implements 
-&lt;samp&gt;org.eclipse.equinox.p2.artifact.repository.IArtifactRepository&lt;/samp&gt;.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.equinox.p2.artifact.repository.IArtifactRepository"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <complexType>
-         <attribute name="suffix" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         org.eclipse.equinox.p2.metadata.repository 1.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiInfo"/>
-      </appinfo>
-      <documentation>
-         The value of the class attribute must represent an 
-implementor of &lt;tt&gt;org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory&lt;/tt&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         This bundle provides an artifact repository factory for the IMetadataRepositoryManager#TYPE_SIMPLE_REPOSITORY repository type.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2007, 2008 IBM Corporation and others.&lt;br&gt;
-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 &lt;a 
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
deleted file mode 100644
index 744b874..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/MirrorApplication.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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:
- *     Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * An application that performs mirroring of artifacts between repositories.
- */
-public class MirrorApplication implements IApplication {
-
-	private String[] rootSpecs;
-	private URI sourceLocation;
-	private URI destinationLocation;
-	private IMetadataRepository source;
-	private IMetadataRepository destination;
-	private boolean transitive = false;
-	private boolean append = true;
-	private IMetadataRepositoryManager cachedManager;
-	private boolean sourceLoaded = false;
-	private boolean destinationLoaded = false;
-	private String destinationName;
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayArgsFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) { //$NON-NLS-1$
-				if ((token.indexOf('[') >= 0 || token.indexOf('(') >= 0) && tokens.hasMoreTokens())
-					result.add(token + separator + tokens.nextToken());
-				else
-					result.add(token);
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		try {
-			initializeFromArguments((String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS));
-			setupRepositories();
-			new Mirroring().mirror(source, destination, rootSpecs, transitive);
-			return IApplication.EXIT_OK;
-		} catch (Exception e) {
-			System.err.println(e.getMessage());
-			throw e;
-		} finally {
-			//if the repository was not already loaded before the mirror application started, close it.
-			if (!sourceLoaded && sourceLocation != null)
-				getManager().removeRepository(sourceLocation);
-			if (!destinationLoaded && destinationLocation != null)
-				getManager().removeRepository(destinationLocation);
-		}
-	}
-
-	private void setupRepositories() throws ProvisionException {
-		if (destinationLocation == null || sourceLocation == null)
-			throw new IllegalStateException("Must specify a source and destination"); //$NON-NLS-1$
-
-		//Check if repositories are already loaded
-		//TODO modify the contains statement once the API is available
-		sourceLoaded = getManager().contains(sourceLocation);
-		//TODO modify the contains statement once the API is available
-		destinationLoaded = getManager().contains(destinationLocation);
-
-		//must execute before initializeDestination is called
-		source = getManager().loadRepository(sourceLocation, 0, null);
-		destination = initializeDestination();
-	}
-
-	/*
-	 * Return the metadata repository manager. We need to check the service here
-	 * as well as creating one manually in case we are running a stand-alone application
-	 * in which no one has registered a manager yet.
-	 */
-	private IMetadataRepositoryManager getManager() {
-		if (cachedManager != null)
-			return cachedManager;
-		IMetadataRepositoryManager result = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		// service not available... create one and hang onto it
-		if (result == null) {
-			cachedManager = new MetadataRepositoryManager();
-			result = cachedManager;
-		}
-		return result;
-	}
-
-	private IMetadataRepository initializeDestination() throws ProvisionException {
-		try {
-			IMetadataRepository repository = getManager().loadRepository(destinationLocation, IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, null);
-			if (repository != null && repository.isModifiable()) {
-				if (destinationName != null)
-					repository.setName(destinationName);
-				if (!append)
-					repository.removeAll();
-				return repository;
-			}
-		} catch (ProvisionException e) {
-			//fall through and create repo
-		}
-		//This code assumes source has been successfully loaded before this point
-		//No existing repository; create a new repository at destinationLocation but with source's attributes.
-		// TODO for now create a Simple repo by default.
-		return (IMetadataRepository) RepositoryHelper.validDestinationRepository(getManager().createRepository(destinationLocation, destinationName == null ? source.getName() : destinationName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, source.getProperties()));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		//do nothing
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args with parameters. If we are at the last argument or 
-			// if the next one has a '-' as the first character, then we can't have 
-			// an arg with a param so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase("-destinationName")) //$NON-NLS-1$
-				destinationName = arg;
-			if (args[i - 1].equalsIgnoreCase("-writeMode")) //$NON-NLS-1$
-				if (args[i].equalsIgnoreCase("clean")) //$NON-NLS-1$
-					append = false;
-
-			try {
-				if (args[i - 1].equalsIgnoreCase("-source")) //$NON-NLS-1$
-					sourceLocation = RepositoryHelper.localRepoURIHelper(URIUtil.fromString(arg));
-				if (args[i - 1].equalsIgnoreCase("-destination")) //$NON-NLS-1$
-					destinationLocation = RepositoryHelper.localRepoURIHelper(URIUtil.fromString(arg));
-			} catch (URISyntaxException e) {
-				throw new IllegalArgumentException("Repository location (" + arg + ") must be a URL."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			if (args[i - 1].equalsIgnoreCase("-roots")) //$NON-NLS-1$
-				rootSpecs = getArrayArgsFromString(arg, ","); //$NON-NLS-1$
-			if (args[i - 1].equalsIgnoreCase("-transitive")) //$NON-NLS-1$
-				transitive = true;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
deleted file mode 100644
index 0da0ae2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/Mirroring.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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:
- *     Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * A utility class that performs mirroring of metadatas between repositories.
- */
-public class Mirroring {
-
-	public void validate(IMetadataRepository source, IMetadataRepository destination) {
-		if (source == null)
-			throw new IllegalStateException("Source repository is null."); //$NON-NLS-1$
-		if (destination == null)
-			throw new IllegalStateException("Destination repository is null."); //$NON-NLS-1$
-		if (!destination.isModifiable())
-			throw new IllegalStateException("Destination repository must be modifiable: " + destination.getLocation()); //$NON-NLS-1$
-	}
-
-	public void mirror(IMetadataRepository source, IMetadataRepository destination, String[] rootSpecs, boolean transitive) {
-		if (rootSpecs == null)
-			mirror(source, destination, InstallableUnitQuery.ANY, transitive);
-		else {
-			VersionRangedName[] roots = new VersionRangedName[rootSpecs.length];
-			for (int i = 0; i < rootSpecs.length; i++)
-				roots[i] = VersionRangedName.parse(rootSpecs[i]);
-			mirror(source, destination, new RangeQuery(roots), transitive);
-		}
-	}
-
-	public void mirror(IMetadataRepository source, IMetadataRepository destination, IQuery query, boolean transitive) {
-		validate(source, destination);
-		Collector result = source.query(query, null);
-		mirror(source, destination, (IInstallableUnit[]) result.toArray(IInstallableUnit.class), transitive);
-	}
-
-	private void mirror(IMetadataRepository source, IMetadataRepository destination, IInstallableUnit[] roots, boolean transitive) {
-		if (transitive)
-			roots = addTransitiveIUs(source, roots);
-		destination.addInstallableUnits(roots);
-	}
-
-	protected IInstallableUnit[] addTransitiveIUs(IMetadataRepository source, IInstallableUnit[] roots) {
-		// TODO Here we should create a profile from the source repo and discover all the 
-		// IUs that are needed to support the given roots.  For now just assume that the 
-		// given roots are enough.
-		return roots;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
deleted file mode 100644
index 6f8bcb0..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/RangeQuery.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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:
- *     Code 9 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A convenience query that will match any {@link IInstallableUnit}
- * it encounters.
- */
-public class RangeQuery extends MatchQuery {
-	private VersionRangedName[] targets;
-
-	/**
-	 * Creates a query that will match any {@link IInstallableUnit} with the given
-	 * VerionRangedName.
-	 * 
-	 * @param targets The installable unit names with versions to match, or <code>null</code> to match any id
-	 */
-	public RangeQuery(VersionRangedName[] targets) {
-		this.targets = targets;
-	}
-
-	/**
-	 * Returns true if the <code>IInstallableUnit</code> object is contained in the <code>VerionRangedName</code>'s or targets is null.
-	 */
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-		if (targets == null)
-			return true;
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		for (int i = 0; i < targets.length; i++) {
-			VersionRangedName entry = targets[i];
-			if (entry.getId().equalsIgnoreCase(candidate.getId()) && entry.getVersionRange().isIncluded(candidate.getVersion()))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
deleted file mode 100644
index 13c104f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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:
- *     Code 9 - initial API and implementation
- *     IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.mirror;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-public class VersionRangedName {
-	private final String id;
-	private final VersionRange range;
-
-	/**
-	 * Creates and returns a new version ranged id from the given spec.  The spec should be
-	 * id/version range.
-	 * @param spec the spec for the version ranged id to create
-	 * @return the parsed versioned id
-	 */
-	public static VersionRangedName parse(String spec) {
-		String[] segments = MirrorApplication.getArrayArgsFromString(spec, "/"); //$NON-NLS-1$
-		return new VersionRangedName(segments[0], segments.length == 1 ? null : segments[1]);
-	}
-
-	public VersionRangedName(String id, String rangeSpec) {
-		this(id, new VersionRange(rangeSpec));
-	}
-
-	public VersionRangedName(String id, VersionRange range) {
-		if (id == null)
-			throw new IllegalArgumentException("id cannot be null"); //$NON-NLS-1$
-		this.id = id;
-		this.range = range != null ? range : new VersionRange(null);
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public VersionRange getVersionRange() {
-		return range;
-	}
-
-	public String toString() {
-		return id + "/" + (range == null ? VersionRange.emptyRange.toString() : range.toString()); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
deleted file mode 100644
index e31d78d..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Activator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Cloudsmith Inc - additional implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator, ServiceTrackerCustomizer {
-
-	public static final String ID = "org.eclipse.equinox.p2.metadata.repository"; //$NON-NLS-1$
-	public static final String REPO_PROVIDER_XPT = ID + '.' + "metadataRepositories"; //$NON-NLS-1$
-
-	private static BundleContext bundleContext;
-	//hack - currently set by MetadataRepositoryComponent
-	static CacheManager cacheManager;
-	private ServiceRegistration repositoryManagerRegistration;
-	private ServiceTracker tracker;
-
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-
-	public static CacheManager getCacheManager() {
-		return cacheManager;
-	}
-
-	public Object addingService(ServiceReference reference) {
-		if (repositoryManagerRegistration == null) {
-			//TODO: eventually we shouldn't register a singleton manager automatically
-			IProvisioningAgent agent = (IProvisioningAgent) bundleContext.getService(reference);
-			IMetadataRepositoryManager manager = (MetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-			repositoryManagerRegistration = bundleContext.registerService(IMetadataRepositoryManager.SERVICE_NAME, manager, null);
-			return agent;
-		}
-		return null;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// nothing to do
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		if (repositoryManagerRegistration != null) {
-			repositoryManagerRegistration.unregister();
-			repositoryManagerRegistration = null;
-		}
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		bundleContext = aContext;
-		//only want to register a service for the agent of the currently running system
-		String filter = "(&(objectClass=" + IProvisioningAgent.SERVICE_NAME + ")(agent.current=true))"; //$NON-NLS-1$ //$NON-NLS-2$
-		tracker = new ServiceTracker(aContext, aContext.createFilter(filter), this);
-		tracker.open();
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		if (tracker != null) {
-			tracker.close();
-			tracker = null;
-		}
-		bundleContext = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
deleted file mode 100644
index c22fbe0..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CacheManager.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Cloudsmith Inc - additional implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.repository.*;
-import org.eclipse.equinox.internal.p2.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A class to manage metadata cache files. Creating the cache files will place
- * the file in the AgentData location in a cache directory.
- * 
- * Using the bus listeners will allow the manager to listen for repository
- * events. When a repository is removed, it will remove the cache file if one
- * was created for the repository.
- */
-public class CacheManager {
-	private final IAgentLocation agentLocation;
-
-	/**
-	 * IStateful implementation of BufferedOutputStream. Class is used to get the status from
-	 * a download operation.
-	 */
-	private static class StatefulStream extends BufferedOutputStream implements IStateful {
-		private IStatus status;
-
-		public StatefulStream(OutputStream stream) {
-			super(stream);
-		}
-
-		public IStatus getStatus() {
-
-			return status;
-		}
-
-		public void setStatus(IStatus aStatus) {
-			status = aStatus;
-		}
-
-	}
-
-	public CacheManager(IAgentLocation agentLocation) {
-		this.agentLocation = agentLocation;
-	}
-
-	private static SynchronousProvisioningListener busListener;
-	private static final String DOWNLOADING = "downloading"; //$NON-NLS-1$
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String PROP_RESUMABLE = "org.eclipse.equinox.p2.metadata.repository.resumable"; //$NON-NLS-1$
-	private static final String RESUME_DEFAULT = "true"; //$NON-NLS-1$
-	private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
-	private final HashSet knownPrefixes = new HashSet(5);
-
-	/**
-	 * Returns a hash of the repository location.
-	 */
-	private int computeHash(URI repositoryLocation) {
-		return repositoryLocation.hashCode();
-	}
-
-	/**
-	 * Returns a local cache file with the contents of the given remote location,
-	 * or <code>null</code> if a local cache could not be created.
-	 * 
-	 * @param repositoryLocation The remote location to be cached
-	 * @param prefix The prefix to use when creating the cache file
-	 * @param monitor a progress monitor
-	 * @return A {@link File} object pointing to the cache file or <code>null</code>
-	 * if the location is not a repository.
-	 * @throws FileNotFoundException if neither jar nor xml index file exists at given location 
-	 * @throws AuthenticationFailedException if jar not available and xml causes authentication fail
-	 * @throws IOException on general IO errors
-	 * @throws ProvisionException on any error (e.g. user cancellation, unknown host, malformed address, connection refused, etc.)
-	 * @throws OperationCanceledException - if user canceled
-	 */
-	public File createCache(URI repositoryLocation, String prefix, IProgressMonitor monitor) throws IOException, ProvisionException {
-
-		SubMonitor submonitor = SubMonitor.convert(monitor, 1000);
-		try {
-			knownPrefixes.add(prefix);
-			File cacheFile = getCache(repositoryLocation, prefix);
-			URI jarLocation = URIUtil.append(repositoryLocation, prefix + JAR_EXTENSION);
-			URI xmlLocation = URIUtil.append(repositoryLocation, prefix + XML_EXTENSION);
-			int hashCode = computeHash(repositoryLocation);
-
-			// Knowing if cache is stale is complicated by the fact that a jar could have been 
-			// produced after an xml index (and vice versa), and by the need to capture any
-			// errors, as these needs to be reported to the user as something meaningful - instead of
-			// just a general "can't read repository".
-			// (Previous impl of stale checking ignored errors, and caused multiple round-trips)
-			boolean stale = true;
-			long lastModified = 0L;
-			String name = null;
-			String useExtension = JAR_EXTENSION;
-			URI remoteFile = jarLocation;
-
-			if (cacheFile != null) {
-				lastModified = cacheFile.lastModified();
-				name = cacheFile.getName();
-			}
-			// get last modified on jar
-			long lastModifiedRemote = 0L;
-			// bug 269588 - server may return 0 when file exists, so extra flag is needed
-			boolean useJar = true;
-			try {
-				lastModifiedRemote = getTransport().getLastModified(jarLocation, submonitor.newChild(1));
-				if (lastModifiedRemote <= 0)
-					LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Server returned lastModified <= 0 for " + jarLocation)); //$NON-NLS-1$
-			} catch (AuthenticationFailedException e) {
-				// it is not meaningful to continue - the credentials are for the server
-				// do not pass the exception - it gives no additional meaningful user information
-				throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.CacheManager_AuthenticationFaileFor_0, repositoryLocation), null));
-			} catch (CoreException e) {
-				useJar = false;
-				// give up on a timeout - if we did not get a 404 on the jar, we will just prolong the pain
-				// by (almost certainly) also timing out on the xml.
-				if (e.getStatus() != null && e.getStatus().getException() != null) {
-					Throwable ex = e.getStatus().getException();
-					if (ex.getClass() == java.net.SocketTimeoutException.class)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, NLS.bind(Messages.CacheManager_FailedCommunicationWithRepo_0, repositoryLocation), ex));
-				}
-			} catch (OperationCanceledException e) {
-				// must pass this on
-				throw e;
-			} catch (Exception e) {
-				// not ideal, just skip the jar on error, and try the xml instead - report errors for
-				// the xml.
-				useJar = false;
-			}
-			if (submonitor.isCanceled())
-				throw new OperationCanceledException();
-
-			if (useJar) {
-				// There is a jar, and it should be used - cache is stale if it is xml based or
-				// if older (irrespective of jar or xml).
-				// Bug 269588 - also stale if remote reports 0
-				stale = lastModifiedRemote > lastModified || (name != null && name.endsWith(XML_EXTENSION) || lastModifiedRemote <= 0);
-			} else {
-				// Also need to check remote XML file, and handle cancel, and errors
-				// (Status is reported based on finding the XML file as giving up on certain errors
-				// when checking for the jar may not be correct).
-				try {
-					lastModifiedRemote = getTransport().getLastModified(xmlLocation, submonitor.newChild(1));
-					// if lastModifiedRemote is 0 - something is wrong in the communication stack, as 
-					// a FileNotFound exception should have been thrown.
-					// bug 269588 - server may return 0 when file exists - site is not correctly configured
-					if (lastModifiedRemote <= 0)
-						LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Server returned lastModified <= 0 for " + xmlLocation)); //$NON-NLS-1$
-
-				} catch (UserCancelledException e) {
-					throw new OperationCanceledException();
-				} catch (FileNotFoundException e) {
-					throw new FileNotFoundException(NLS.bind(Messages.CacheManager_Neither_0_nor_1_found, jarLocation, xmlLocation));
-				} catch (AuthenticationFailedException e) {
-					// do not pass the exception, it provides no additional meaningful user information
-					throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.CacheManager_AuthenticationFaileFor_0, repositoryLocation), null));
-				} catch (CoreException e) {
-					IStatus status = e.getStatus();
-					if (status == null)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.CacheManager_FailedCommunicationWithRepo_0, repositoryLocation), e));
-					else if (status.getException() instanceof FileNotFoundException)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, status.getMessage(), null));
-					throw new ProvisionException(status);
-
-				}
-				// There is an xml, and it should be used - cache is stale if it is jar based or
-				// if older (irrespective of jar or xml).
-				// bug 269588 - server may return 0 when file exists - assume it is stale
-				stale = lastModifiedRemote > lastModified || (name != null && name.endsWith(JAR_EXTENSION) || lastModifiedRemote <= 0);
-				useExtension = XML_EXTENSION;
-				remoteFile = xmlLocation;
-			}
-
-			if (!stale)
-				return cacheFile;
-
-			// The cache is stale or missing, so we need to update it from the remote location
-			cacheFile = new File(getCacheDirectory(), prefix + hashCode + useExtension);
-			updateCache(cacheFile, remoteFile, lastModifiedRemote, submonitor);
-			return cacheFile;
-		} finally {
-			submonitor.done();
-		}
-	}
-
-	/**
-	 * Deletes the local cache file(s) for the given repository
-	 * @param repositoryLocation
-	 */
-	void deleteCache(URI repositoryLocation) {
-		for (Iterator it = knownPrefixes.iterator(); it.hasNext();) {
-			String prefix = (String) it.next();
-			File[] cacheFiles = getCacheFiles(repositoryLocation, prefix);
-			for (int i = 0; i < cacheFiles.length; i++) {
-				// delete the cache file if it exists
-				safeDelete(cacheFiles[i]);
-				// delete a resumable download if it exists
-				safeDelete(new File(new File(cacheFiles[i].getParentFile(), DOWNLOADING), cacheFiles[i].getName()));
-			}
-		}
-	}
-
-	/**
-	 * Determines the local file path of the repository's cache file.
-	 * @param repositoryLocation The location to compute the cache for
-	 * @param prefix The prefix to use for this location
-	 * @return A {@link File} pointing to the cache file or <code>null</code> if
-	 * the cache file does not exist.
-	 */
-	private File getCache(URI repositoryLocation, String prefix) {
-		File[] files = getCacheFiles(repositoryLocation, prefix);
-		if (files[0].exists())
-			return files[0];
-		return files[1].exists() ? files[1] : null;
-	}
-
-	/**
-	 * Returns the file corresponding to the data area to be used by the cache manager.
-	 */
-	private File getCacheDirectory() {
-		return URIUtil.toFile(agentLocation.getDataArea(Activator.ID + "/cache/")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Determines the local file paths of the repository's potential cache files.
-	 * @param repositoryLocation The location to compute the cache for
-	 * @param prefix The prefix to use for this location
-	 * @return A {@link File} array with the cache files for JAR and XML extensions.
-	 */
-	private File[] getCacheFiles(URI repositoryLocation, String prefix) {
-		File[] files = new File[2];
-		File dataAreaFile = getCacheDirectory();
-		int hashCode = computeHash(repositoryLocation);
-		files[0] = new File(dataAreaFile, prefix + hashCode + JAR_EXTENSION);
-		files[1] = new File(dataAreaFile, prefix + hashCode + XML_EXTENSION);
-		return files;
-	}
-
-	private RepositoryTransport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-
-	private boolean isResumeEnabled() {
-		String resumeProp = System.getProperty(PROP_RESUMABLE, RESUME_DEFAULT);
-		return Boolean.valueOf(resumeProp).booleanValue();
-	}
-
-	/**
-	 * Make cacheFile resumable and return true if it was possible.
-	 * @param cacheFile - the partially downloaded file to make resumeable
-	 * @param remoteFile The remote file being cached
-	 * @param status - the download status reported for the partial download
-	 * @return true if the file was made resumable, false otherwise
-	 */
-	private boolean makeResumeable(File cacheFile, URI remoteFile, IStatus status) {
-		if (status == null || status.isOK() || cacheFile == null || !(status instanceof DownloadStatus))
-			return false;
-		// check if resume feature is turned off
-		if (!isResumeEnabled())
-			return false;
-		DownloadStatus downloadStatus = (DownloadStatus) status;
-		long currentLength = cacheFile.length();
-		// if cache file does not exist, or nothing was written to it, there is nothing to resume
-		if (currentLength == 0L)
-			return false;
-
-		long reportedSize = downloadStatus.getFileSize();
-		long reportedModified = downloadStatus.getLastModified();
-
-		if (reportedSize == DownloadStatus.UNKNOWN_SIZE || reportedSize == 0L) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because filesize not reported.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-		if (reportedModified <= 0) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because last-modified not reported.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-
-		// if more than what was reported has been written something odd is going on, and we can't
-		// trust the reported size. 
-		// There is a small chance that user canceled in the time window after the full download is seen, and the result is returned. In this
-		// case the reported and current lengths will be equal.
-		if (reportedSize < currentLength) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because more was read then reported size.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-		File resumeDir = new File(cacheFile.getParentFile(), DOWNLOADING);
-		if (!resumeDir.mkdir()) {
-			if (!(resumeDir.exists() && resumeDir.isDirectory())) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not create directory {0} for resumable download of {1}", resumeDir, remoteFile))); //$NON-NLS-1$
-				return false;
-			}
-		}
-		// move partial cache file to "downloading" directory
-		File resumeFile = new File(resumeDir, cacheFile.getName());
-		if (!cacheFile.renameTo(resumeFile)) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not move {0} to {1} for resumed download", cacheFile, resumeFile))); //$NON-NLS-1$
-			return false;
-		}
-		// touch the file with remote modified time
-		if (!resumeFile.setLastModified(reportedModified)) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not set last modified time on {0} for resumed download", resumeFile))); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Adds a {@link SynchronousProvisioningListener} to the event bus for
-	 * deleting cache files when the corresponding repository is deleted.
-	 */
-	private void registerRepoEventListener(IProvisioningEventBus eventBus) {
-		if (busListener == null) {
-			busListener = new SynchronousProvisioningListener() {
-				public void notify(EventObject o) {
-					if (o instanceof RepositoryEvent) {
-						RepositoryEvent event = (RepositoryEvent) o;
-						if (RepositoryEvent.REMOVED == event.getKind() && IRepository.TYPE_METADATA == event.getRepositoryType()) {
-							deleteCache(event.getRepositoryLocation());
-						}
-					}
-				}
-			};
-		}
-		// the bus could have disappeared and is now back again - so do this every time
-		eventBus.addListener(busListener);
-	}
-
-	private boolean safeDelete(File file) {
-		if (file.exists()) {
-			if (!file.delete()) {
-				file.deleteOnExit();
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public void setEventBus(IProvisioningEventBus newBus) {
-		registerRepoEventListener(newBus);
-	}
-
-	public void unsetEventBus(IProvisioningEventBus oldBus) {
-		unregisterRepoEventListener(oldBus);
-	}
-
-	/**
-	 * Removes the {@link SynchronousProvisioningListener} that cleans up the
-	 * cache file from the event bus.
-	 */
-	private void unregisterRepoEventListener(IProvisioningEventBus bus) {
-		if (bus != null && busListener != null)
-			bus.removeListener(busListener);
-	}
-
-	private void updateCache(File cacheFile, URI remoteFile, long lastModifiedRemote, SubMonitor submonitor) throws FileNotFoundException, IOException, ProvisionException {
-		cacheFile.getParentFile().mkdirs();
-		File resumeFile = new File(new File(cacheFile.getParentFile(), DOWNLOADING), cacheFile.getName());
-		// if append should be performed or not
-		boolean append = false;
-		if (resumeFile.exists()) {
-			// the resume file can be too old
-			if (lastModifiedRemote != resumeFile.lastModified() || lastModifiedRemote <= 0)
-				safeDelete(resumeFile);
-			else {
-				if (resumeFile.renameTo(cacheFile))
-					append = true;
-				else
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not move resumable file {0} into cache", resumeFile))); //$NON-NLS-1$
-			}
-		}
-
-		StatefulStream metadata = new StatefulStream(new FileOutputStream(cacheFile, append));
-		IStatus result = null;
-		try {
-			submonitor.setWorkRemaining(1000);
-			// resume from cache file's length if in append mode
-			result = getTransport().download(remoteFile, metadata, append ? cacheFile.length() : -1, submonitor.newChild(1000));
-		} catch (OperationCanceledException e) {
-			// need to pick up the status - a new operation canceled exception is thrown at the end
-			// as status will be CANCEL.
-			result = metadata.getStatus();
-		} finally {
-			metadata.close();
-			// result is null if a runtime error (other than OperationCanceledException) 
-			// occurred, just delete the cache file (or a later attempt could fail 
-			// with "premature end of file").
-			if (result == null)
-				cacheFile.delete();
-		}
-		if (result.isOK())
-			return;
-
-		// if possible, keep a partial download to be resumed.
-		if (!makeResumeable(cacheFile, remoteFile, result))
-			cacheFile.delete();
-
-		if (result.getSeverity() == IStatus.CANCEL || submonitor.isCanceled())
-			throw new OperationCanceledException();
-		throw new ProvisionException(result);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepository.java
deleted file mode 100644
index 3262ac4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepository.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryIO;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.ICompositeRepository;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-public class CompositeMetadataRepository extends AbstractMetadataRepository implements IMetadataRepository, ICompositeRepository {
-
-	static final public String REPOSITORY_TYPE = CompositeMetadataRepository.class.getName();
-	public static final String PI_REPOSITORY_TYPE = "compositeMetadataRepository"; //$NON-NLS-1$
-	static final private Integer REPOSITORY_VERSION = new Integer(1);
-	static final public String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	static final private String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-
-	// keep a list of the child URIs. they can be absolute or relative. they may or may not point
-	// to a valid reachable repo
-	private List childrenURIs = new ArrayList();
-	// keep a list of the repositories that we have successfully loaded
-	private List loadedRepos = new ArrayList();
-
-	/**
-	 * Create a Composite repository in memory.
-	 * @return the repository or null if unable to create one
-	 */
-	public static CompositeMetadataRepository createMemoryComposite() {
-		IMetadataRepositoryManager manager = getManager();
-		if (manager == null)
-			return null;
-		try {
-			//create a unique opaque URI 
-			long time = System.currentTimeMillis();
-			URI repositoryURI = new URI("memory:" + String.valueOf(time)); //$NON-NLS-1$
-			while (manager.contains(repositoryURI))
-				repositoryURI = new URI("memory:" + String.valueOf(++time)); //$NON-NLS-1$
-
-			CompositeMetadataRepository result = (CompositeMetadataRepository) manager.createRepository(repositoryURI, repositoryURI.toString(), IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-			manager.removeRepository(repositoryURI);
-			return result;
-		} catch (ProvisionException e) {
-			// just return null
-			LogHelper.log(e);
-		} catch (URISyntaxException e) {
-			// just return null
-		}
-		return null;
-	}
-
-	static private IMetadataRepositoryManager getManager() {
-		return (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	private boolean isLocal() {
-		return "file".equalsIgnoreCase(location.getScheme()); //$NON-NLS-1$
-	}
-
-	public boolean isModifiable() {
-		return isLocal();
-	}
-
-	public CompositeMetadataRepository(URI location, String name, Map properties) {
-		super(name == null ? (location != null ? location.toString() : "") : name, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties); //$NON-NLS-1$
-		//when creating a repository, we must ensure it exists on disk so a subsequent load will succeed
-		save();
-	}
-
-	/*
-	 * This is only called by the parser when loading a repository.
-	 */
-	public CompositeMetadataRepository(CompositeRepositoryState state) {
-		super(state.getName(), state.getType(), state.getVersion(), state.getLocation(), state.getDescription(), state.getProvider(), state.getProperties());
-		for (int i = 0; i < state.getChildren().length; i++)
-			addChild(state.getChildren()[i], false);
-	}
-
-	/*
-	 * Create and return a new repository state object which represents this repository.
-	 * It will be used while persisting the repository to disk.
-	 */
-	public CompositeRepositoryState toState() {
-		CompositeRepositoryState result = new CompositeRepositoryState();
-		result.setName(getName());
-		result.setType(getType());
-		result.setVersion(getVersion());
-		result.setLocation(getLocation());
-		result.setDescription(getDescription());
-		result.setProvider(getProvider());
-		result.setProperties(getProperties());
-		// it is important to directly access the field so we have the relative URIs
-		result.setChildren((URI[]) childrenURIs.toArray(new URI[childrenURIs.size()]));
-		return result;
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		try {
-			// Query all the all the repositories this composite repo contains
-			CompoundQueryable queryable = new CompoundQueryable((IQueryable[]) loadedRepos.toArray(new IQueryable[loadedRepos.size()]));
-			collector = queryable.query(query, monitor);
-		} finally {
-			if (monitor != null)
-				monitor.done();
-		}
-		return collector;
-	}
-
-	private void addChild(URI childURI, boolean save) {
-		URI absolute = URIUtil.makeAbsolute(childURI, location);
-		if (childrenURIs.contains(childURI) || childrenURIs.contains(absolute))
-			return;
-		// always add the URI to the list of child URIs (even if we can't load it later)
-		childrenURIs.add(childURI);
-		if (save)
-			save();
-		try {
-			boolean currentLoaded = getManager().contains(absolute);
-			IMetadataRepository currentRepo = getManager().loadRepository(absolute, null);
-			if (!currentLoaded) {
-				//set enabled to false so repositories do not polled twice
-				getManager().setEnabled(absolute, false);
-				//set repository to system to hide from users
-				getManager().setRepositoryProperty(absolute, IRepository.PROP_SYSTEM, String.valueOf(true));
-			}
-			// we successfully loaded the repo so remember it
-			loadedRepos.add(currentRepo);
-		} catch (ProvisionException e) {
-			//repository failed to load. fall through
-			LogHelper.log(e);
-		}
-	}
-
-	public void addChild(URI childURI) {
-		addChild(childURI, true);
-	}
-
-	public void removeChild(URI childURI) {
-		boolean removed = childrenURIs.remove(childURI);
-		// if the child wasn't there make sure and try the other permutation
-		// (absolute/relative) to see if it really is in the list.
-		URI other = childURI.isAbsolute() ? URIUtil.makeRelative(childURI, location) : URIUtil.makeAbsolute(childURI, location);
-		if (!removed)
-			removed = childrenURIs.remove(other);
-
-		if (removed) {
-			// we removed the child from the list so remove the associated repo object as well
-			IMetadataRepository found = null;
-			for (Iterator iter = loadedRepos.iterator(); found == null && iter.hasNext();) {
-				IMetadataRepository current = (IMetadataRepository) iter.next();
-				URI repoLocation = current.getLocation();
-				if (URIUtil.sameURI(childURI, repoLocation))
-					found = current;
-				else if (URIUtil.sameURI(other, repoLocation))
-					found = current;
-			}
-			if (found != null)
-				loadedRepos.remove(found);
-			save();
-		}
-	}
-
-	public void removeAllChildren() {
-		childrenURIs.clear();
-		loadedRepos.clear();
-		save();
-	}
-
-	public synchronized void addInstallableUnits(IInstallableUnit[] installableUnits) {
-		throw new UnsupportedOperationException("Cannot add IUs to a composite repository");
-	}
-
-	public synchronized void removeAll() {
-		throw new UnsupportedOperationException("Cannot remove IUs to a composite repository");
-	}
-
-	public synchronized boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException("Cannot remove IUs to a composite repository");
-	}
-
-	private static File getActualLocation(URI location, String extension) {
-		File spec = URIUtil.toFile(location);
-		String path = spec.getAbsolutePath();
-		if (path.endsWith(CompositeMetadataRepositoryFactory.CONTENT_FILENAME + extension)) {
-			//todo this is the old code that doesn't look right
-			//			return new File(spec + extension);
-			return spec;
-		}
-		if (path.endsWith("/")) //$NON-NLS-1$
-			path += CompositeMetadataRepositoryFactory.CONTENT_FILENAME;
-		else
-			path += "/" + CompositeMetadataRepositoryFactory.CONTENT_FILENAME; //$NON-NLS-1$
-		return new File(path + extension);
-	}
-
-	public static File getActualLocation(URI location) {
-		return getActualLocation(location, XML_EXTENSION);
-	}
-
-	public synchronized void addReference(URI repositoryLocation, int repositoryType, int options) {
-		throw new UnsupportedOperationException("Cannot add References to a composite repository");
-	}
-
-	// caller should be synchronized
-	private void save() {
-		if (!isModifiable())
-			return;
-		File file = getActualLocation(location);
-		File jarFile = getActualLocation(location, JAR_EXTENSION);
-		boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
-		try {
-			OutputStream output = null;
-			if (!compress) {
-				if (jarFile.exists()) {
-					jarFile.delete();
-				}
-				if (!file.exists()) {
-					if (!file.getParentFile().exists())
-						file.getParentFile().mkdirs();
-					file.createNewFile();
-				}
-				output = new FileOutputStream(file);
-			} else {
-				if (file.exists()) {
-					file.delete();
-				}
-				if (!jarFile.exists()) {
-					if (!jarFile.getParentFile().exists())
-						jarFile.getParentFile().mkdirs();
-					jarFile.createNewFile();
-				}
-				JarEntry jarEntry = new JarEntry(file.getName());
-				JarOutputStream jOutput = new JarOutputStream(new FileOutputStream(jarFile));
-				jOutput.putNextEntry(jarEntry);
-				output = jOutput;
-			}
-			super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
-			new CompositeRepositoryIO().write(toState(), output, PI_REPOSITORY_TYPE);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, NLS.bind(Messages.io_failedWrite, location), e));
-		}
-	}
-
-	public List getChildren() {
-		List result = new ArrayList();
-		for (Iterator iter = childrenURIs.iterator(); iter.hasNext();)
-			result.add(URIUtil.makeAbsolute((URI) iter.next(), location));
-		return result;
-	}
-
-	public static URI getActualLocationURI(URI base, String extension) {
-		if (extension == null)
-			extension = XML_EXTENSION;
-		return URIUtil.append(base, CompositeMetadataRepositoryFactory.CONTENT_FILENAME + extension);
-	}
-
-	//TODO this should never be called. What do we do?
-	public void initialize(RepositoryState state) {
-		this.name = state.Name;
-		this.type = state.Type;
-		this.version = state.Version.toString();
-		this.provider = state.Provider;
-		this.description = state.Description;
-		this.location = state.Location;
-		this.properties = state.Properties;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepositoryFactory.java
deleted file mode 100644
index f662647..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/CompositeMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryIO;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class CompositeMetadataRepositoryFactory extends MetadataRepositoryFactory {
-
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-	public static final String CONTENT_FILENAME = "compositeContent"; //$NON-NLS-1$
-
-	public IMetadataRepository create(URI location, String name, String type, Map properties) {
-		return new CompositeMetadataRepository(location, name, properties);
-	}
-
-	/**
-	 * Returns a file in the local file system that contains the contents of the
-	 * metadata repository at the given location.
-	 */
-	private File getLocalFile(URI location, IProgressMonitor monitor) throws IOException, ProvisionException {
-		File localFile = null;
-		URI jarLocation = CompositeMetadataRepository.getActualLocationURI(location, JAR_EXTENSION);
-		URI xmlLocation = CompositeMetadataRepository.getActualLocationURI(location, XML_EXTENSION);
-		// If the repository is local, we can return the repository file directly
-		if (PROTOCOL_FILE.equals(xmlLocation.getScheme())) {
-			//look for a compressed local file
-			localFile = URIUtil.toFile(jarLocation);
-			if (localFile.exists())
-				return localFile;
-			//look for an uncompressed local file
-			localFile = URIUtil.toFile(xmlLocation);
-			if (localFile.exists())
-				return localFile;
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
-		}
-		//file is not local, create a cache of the repository metadata
-		localFile = Activator.getCacheManager().createCache(location, CONTENT_FILENAME, monitor);
-		if (localFile == null) {
-			//there is no remote file in either form
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
-		}
-		return localFile;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			validateAndLoad(location, false, 0, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		return validateAndLoad(location, true, flags, monitor);
-	}
-
-	protected IMetadataRepository validateAndLoad(URI location, boolean doLoad, int flags, IProgressMonitor monitor) throws ProvisionException {
-		long time = 0;
-		final String debugMsg = "Validating and loading metadata repository "; //$NON-NLS-1$
-		if (Tracing.DEBUG_METADATA_PARSING) {
-			Tracing.debug(debugMsg + location);
-			time = -System.currentTimeMillis();
-		}
-		SubMonitor sub = SubMonitor.convert(monitor, 400);
-		try {
-			//non local repos are not modifiable
-			if (!PROTOCOL_FILE.equals(location.getScheme()) && (flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0)
-				return null;
-
-			File localFile = getLocalFile(location, sub.newChild(300));
-			InputStream inStream = new BufferedInputStream(new FileInputStream(localFile));
-			JarInputStream jarStream = null;
-			try {
-				//if reading from a jar, obtain a stream on the entry with the actual contents
-				if (localFile.getAbsolutePath().endsWith(JAR_EXTENSION)) {
-					jarStream = new JarInputStream(inStream);
-					JarEntry jarEntry = jarStream.getNextJarEntry();
-					String entryName = CONTENT_FILENAME + CompositeMetadataRepository.XML_EXTENSION;
-					while (jarEntry != null && (!entryName.equals(jarEntry.getName()))) {
-						jarEntry = jarStream.getNextJarEntry();
-					}
-					//if there is a jar but the entry is missing or invalid, treat this as an invalid repository
-					if (jarEntry == null)
-						throw new IOException(NLS.bind(Messages.repoMan_invalidLocation, location));
-				}
-				//parse the repository descriptor file
-				sub.setWorkRemaining(100);
-				if (doLoad) {
-					InputStream descriptorStream = jarStream != null ? jarStream : inStream;
-					CompositeRepositoryIO io = new CompositeRepositoryIO();
-					CompositeRepositoryState resultState = io.read(localFile.toURL(), descriptorStream, CompositeMetadataRepository.PI_REPOSITORY_TYPE, sub.newChild(100));
-					if (resultState.getLocation() == null)
-						resultState.setLocation(location);
-					CompositeMetadataRepository result = new CompositeMetadataRepository(resultState);
-					if (Tracing.DEBUG_METADATA_PARSING) {
-						time += System.currentTimeMillis();
-						Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$ 
-					}
-					return result;
-				}
-			} finally {
-				safeClose(jarStream);
-				safeClose(inStream);
-			}
-		} catch (FileNotFoundException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			if (monitor != null)
-				monitor.done();
-		}
-		return null;
-	}
-
-	/**
-	 * Closes a stream, ignoring any secondary exceptions
-	 */
-	private void safeClose(InputStream stream) {
-		if (stream == null)
-			return;
-		try {
-			stream.close();
-		} catch (IOException e) {
-			//ignore
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
deleted file mode 100644
index 7774865..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/LocalMetadataRepository.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * A metadata repository that resides in the local file system.  If the repository
- * location is a directory, this implementation will traverse the directory structure
- * and combine any metadata repository files that are found.
- */
-public class LocalMetadataRepository extends AbstractMetadataRepository {
-
-	static final private String CONTENT_FILENAME = "content"; //$NON-NLS-1$
-	static final private String REPOSITORY_TYPE = LocalMetadataRepository.class.getName();
-	static final private Integer REPOSITORY_VERSION = new Integer(1);
-	static final private String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	static final private String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
-	protected HashSet units = new LinkedHashSet();
-	protected HashSet repositories = new HashSet();
-
-	private static File getActualLocation(URI location, String extension) {
-		File spec = URIUtil.toFile(location);
-		String path = spec.getAbsolutePath();
-		if (path.endsWith(CONTENT_FILENAME + extension)) {
-			//todo this is the old code that doesn't look right
-			//			return new File(spec + extension);
-			return spec;
-		}
-		if (path.endsWith("/")) //$NON-NLS-1$
-			path += CONTENT_FILENAME;
-		else
-			path += "/" + CONTENT_FILENAME; //$NON-NLS-1$
-		return new File(path + extension);
-	}
-
-	public static File getActualLocation(URI location) {
-		return getActualLocation(location, XML_EXTENSION);
-	}
-
-	/**
-	 * This no argument constructor is called when restoring an existing repository.
-	 */
-	public LocalMetadataRepository() {
-		super();
-	}
-
-	/**
-	 * This constructor is used when creating a new local repository.
-	 * @param location The location of the repository
-	 * @param name The name of the repository
-	 */
-	public LocalMetadataRepository(URI location, String name, Map properties) {
-		super(name == null ? (location != null ? location.toString() : "") : name, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties); //$NON-NLS-1$
-		if (!location.getScheme().equals("file")) //$NON-NLS-1$
-			throw new IllegalArgumentException("Invalid local repository location: " + location); //$NON-NLS-1$
-		//when creating a repository, we must ensure it exists on disk so a subsequent load will succeed
-		save();
-	}
-
-	public synchronized void addInstallableUnits(IInstallableUnit[] installableUnits) {
-		if (installableUnits == null || installableUnits.length == 0)
-			return;
-		units.addAll(Arrays.asList(installableUnits));
-		save();
-	}
-
-	public synchronized void addReference(URI repositoryLocation, String nickname, int repositoryType, int options) {
-		assertModifiable();
-		repositories.add(new RepositoryReference(repositoryLocation, nickname, repositoryType, options));
-	}
-
-	public void initialize(RepositoryState state) {
-		synchronized (this) {
-			this.name = state.Name;
-			this.type = state.Type;
-			this.version = state.Version.toString();
-			this.provider = state.Provider;
-			this.description = state.Description;
-			this.location = state.Location;
-			this.properties = state.Properties;
-			this.units.addAll(Arrays.asList(state.Units));
-			this.repositories.addAll(Arrays.asList(state.Repositories));
-		}
-		publishRepositoryReferences();
-	}
-
-	/**
-	 * Broadcast discovery events for all repositories referenced by this repository.
-	 */
-	public void publishRepositoryReferences() {
-		IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(Activator.getContext(), IProvisioningEventBus.SERVICE_NAME);
-		if (bus == null)
-			return;
-
-		List repositoriesSnapshot = createRepositoriesSnapshot();
-		for (Iterator it = repositoriesSnapshot.iterator(); it.hasNext();) {
-			RepositoryReference reference = (RepositoryReference) it.next();
-			boolean isEnabled = (reference.Options & IRepository.ENABLED) != 0;
-			bus.publishEvent(new RepositoryEvent(reference.Location, reference.Type, RepositoryEvent.DISCOVERED, isEnabled));
-		}
-	}
-
-	private synchronized List createRepositoriesSnapshot() {
-		if (repositories.isEmpty())
-			return Collections.EMPTY_LIST;
-		return new ArrayList(repositories);
-	}
-
-	// use this method to setup any transient fields etc after the object has been restored from a stream
-	public synchronized void initializeAfterLoad(URI aLocation) {
-		this.location = aLocation;
-	}
-
-	public boolean isModifiable() {
-		return true;
-	}
-
-	public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		return query.perform(units.iterator(), collector);
-	}
-
-	public synchronized void removeAll() {
-		units.clear();
-		save();
-	}
-
-	public synchronized boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) {
-		boolean changed = false;
-		if (installableUnits != null && installableUnits.length > 0) {
-			changed = true;
-			units.removeAll(Arrays.asList(installableUnits));
-		}
-		if (changed)
-			save();
-		return changed;
-	}
-
-	// caller should be synchronized
-	private void save() {
-		File file = getActualLocation(location);
-		File jarFile = getActualLocation(location, JAR_EXTENSION);
-		boolean compress = "true".equalsIgnoreCase((String) properties.get(PROP_COMPRESSED)); //$NON-NLS-1$
-		try {
-			OutputStream output = null;
-			if (!compress) {
-				if (jarFile.exists()) {
-					jarFile.delete();
-				}
-				if (!file.exists()) {
-					if (!file.getParentFile().exists())
-						file.getParentFile().mkdirs();
-					file.createNewFile();
-				}
-				output = new FileOutputStream(file);
-			} else {
-				if (file.exists()) {
-					file.delete();
-				}
-				if (!jarFile.exists()) {
-					if (!jarFile.getParentFile().exists())
-						jarFile.getParentFile().mkdirs();
-					jarFile.createNewFile();
-				}
-				JarEntry jarEntry = new JarEntry(file.getName());
-				JarOutputStream jOutput = new JarOutputStream(new FileOutputStream(jarFile));
-				jOutput.putNextEntry(jarEntry);
-				output = jOutput;
-			}
-			super.setProperty(IRepository.PROP_TIMESTAMP, Long.toString(System.currentTimeMillis()));
-			new MetadataRepositoryIO().write(this, output);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_WRITE, "Error saving metadata repository: " + location, e)); //$NON-NLS-1$
-		}
-	}
-
-	public String setProperty(String key, String newValue) {
-		String oldValue = null;
-		synchronized (this) {
-			oldValue = super.setProperty(key, newValue);
-			if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
-				return oldValue;
-			save();
-		}
-		//force repository manager to reload this repository because it caches properties
-		MetadataRepositoryManager manager = (MetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager.removeRepository(getLocation()))
-			manager.addRepository(this);
-		return oldValue;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
deleted file mode 100644
index 56712b7..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.repository.messages"; //$NON-NLS-1$
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String CacheManager_AuthenticationFaileFor_0;
-	public static String CacheManager_FailedCommunicationWithRepo_0;
-	public static String CacheManager_Neither_0_nor_1_found;
-	public static String io_failedRead;
-	public static String io_failedWrite;
-
-	public static String io_IncompatibleVersion;
-	public static String io_parseError;
-
-	public static String repo_loading;
-
-	public static String repoMan_internalError;
-	public static String repoMan_notExists;
-	public static String repoMan_invalidLocation;
-	public static String repoMan_relativeLocation;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryComponent.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryComponent.java
deleted file mode 100644
index c1ee177..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryComponent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * Service factory for creating {@link IMetadataRepositoryManager} instances.
- */
-public class MetadataRepositoryComponent implements IAgentServiceFactory {
-
-	public Object createService(IProvisioningAgent agent) {
-		MetadataRepositoryManager manager = new MetadataRepositoryManager();
-		final IProvisioningEventBus eventBus = (IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME);
-		manager.setEventBus(eventBus);
-		manager.setAgentLocation((IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME));
-		CacheManager cache = new CacheManager((IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME));
-		cache.setEventBus(eventBus);
-		Activator.cacheManager = cache;//todo avoid global cache
-		return manager;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
deleted file mode 100644
index 8270d19..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryIO.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Set;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository.RepositoryState;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-/**
- * This class reads and writes provisioning metadata.
- */
-public class MetadataRepositoryIO {
-
-	/**
-	 * Reads metadata from the given stream, and returns the contained array
-	 * of abstract metadata repositories.
-	 * This method performs buffering, and closes the stream when finished.
-	 */
-	public IMetadataRepository read(URL location, InputStream input, IProgressMonitor monitor) throws ProvisionException {
-		BufferedInputStream bufferedInput = null;
-		try {
-			try {
-				bufferedInput = new BufferedInputStream(input);
-
-				Parser repositoryParser = new Parser(Activator.getContext(), Activator.ID);
-				repositoryParser.parse(input, monitor);
-				IStatus result = repositoryParser.getStatus();
-				switch (result.getSeverity()) {
-					case IStatus.CANCEL :
-						throw new OperationCanceledException();
-					case IStatus.ERROR :
-						throw new ProvisionException(result);
-					case IStatus.WARNING :
-					case IStatus.INFO :
-						LogHelper.log(result);
-				}
-				return repositoryParser.getRepository();
-			} finally {
-				if (bufferedInput != null)
-					bufferedInput.close();
-			}
-		} catch (IOException ioe) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, ioe));
-		}
-	}
-
-	/**
-	 *
-	 */
-	public void write(IMetadataRepository repository, OutputStream output) throws IOException {
-		OutputStream bufferedOutput = null;
-		try {
-			bufferedOutput = new BufferedOutputStream(output);
-			Writer repositoryWriter = new Writer(bufferedOutput, repository.getClass());
-			repositoryWriter.write(repository);
-		} finally {
-			if (bufferedOutput != null) {
-				bufferedOutput.close();
-			}
-		}
-	}
-
-	private interface XMLConstants extends org.eclipse.equinox.internal.p2.metadata.repository.io.XMLConstants {
-
-		// Constants defining the structure of the XML for a MetadataRepository
-
-		// A format version number for metadata repository XML.
-		public static final Version COMPATIBLE_VERSION = Version.createOSGi(1, 0, 0);
-		public static final Version CURRENT_VERSION = Version.createOSGi(1, 1, 0);
-		public static final VersionRange XML_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, Version.createOSGi(2, 0, 0), false);
-
-		// Constants for processing Instructions
-		public static final String PI_REPOSITORY_TARGET = "metadataRepository"; //$NON-NLS-1$
-
-		// Constants for metadata repository elements
-		public static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
-
-	}
-
-	protected XMLWriter.ProcessingInstruction[] createPI(Class repositoryClass) {
-		//TODO We should remove this processing instruction, but currently old clients rely on this. See bug 210450.
-		return new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeTargetVersionInstruction(XMLConstants.PI_REPOSITORY_TARGET, XMLConstants.CURRENT_VERSION)};
-	}
-
-	// XML writer for a IMetadataRepository
-	protected class Writer extends MetadataWriter implements XMLConstants {
-
-		public Writer(OutputStream output, Class repositoryClass) throws IOException {
-			super(output, createPI(repositoryClass));
-		}
-
-		/**
-		 * Write the given metadata repository to the output stream.
-		 */
-		public void write(IMetadataRepository repository) {
-			start(REPOSITORY_ELEMENT);
-			attribute(NAME_ATTRIBUTE, repository.getName());
-			attribute(TYPE_ATTRIBUTE, repository.getType());
-			attribute(VERSION_ATTRIBUTE, repository.getVersion());
-			attributeOptional(PROVIDER_ATTRIBUTE, repository.getProvider());
-			attributeOptional(DESCRIPTION_ATTRIBUTE, repository.getDescription()); // TODO: could be cdata?
-
-			writeProperties(repository.getProperties());
-			Collector units = repository.query(InstallableUnitQuery.ANY, null);
-			if (repository instanceof LocalMetadataRepository) {
-				Set references = ((LocalMetadataRepository) repository).repositories;
-				writeRepositoryReferences(references.iterator(), references.size());
-			}
-			writeInstallableUnits(units.iterator(), units.size());
-
-			end(REPOSITORY_ELEMENT);
-			flush();
-		}
-
-		/**
-		 * Writes a list of {@link RepositoryReference}.
-		 * @param references An Iterator of {@link RepositoryReference}.
-		 * @param size The number of references  to write
-		 */
-		protected void writeRepositoryReferences(Iterator references, int size) {
-			if (size == 0)
-				return;
-			start(REPOSITORY_REFERENCES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, size);
-			while (references.hasNext())
-				writeRepositoryReference((RepositoryReference) references.next());
-			end(REPOSITORY_REFERENCES_ELEMENT);
-		}
-
-		private void writeRepositoryReference(RepositoryReference reference) {
-			start(REPOSITORY_REFERENCE_ELEMENT);
-			attribute(URI_ATTRIBUTE, reference.Location.toString());
-
-			try {
-				// we write the URL attribute for backwards compatibility with 3.4.x
-				// this attribute should be removed if we make a breaking format change.
-				attribute(URL_ATTRIBUTE, URIUtil.toURL(reference.Location).toExternalForm());
-			} catch (MalformedURLException e) {
-				attribute(URL_ATTRIBUTE, reference.Location.toString());
-			}
-
-			attribute(TYPE_ATTRIBUTE, Integer.toString(reference.Type));
-			attribute(OPTIONS_ATTRIBUTE, Integer.toString(reference.Options));
-			end(REPOSITORY_REFERENCE_ELEMENT);
-		}
-	}
-
-	/*
-	 * 	Parser for the contents of a metadata repository,
-	 * 	as written by the Writer class.
-	 */
-	private class Parser extends MetadataParser implements XMLConstants {
-
-		private IMetadataRepository theRepository = null;
-
-		public Parser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		public synchronized void parse(InputStream stream, IProgressMonitor monitor) throws IOException {
-			this.status = null;
-			setProgressMonitor(monitor);
-			monitor.beginTask(Messages.repo_loading, IProgressMonitor.UNKNOWN);
-			try {
-				// TODO: currently not caching the parser since we make no assumptions
-				//		 or restrictions on concurrent parsing
-				getParser();
-				RepositoryHandler repositoryHandler = new RepositoryHandler();
-				xmlReader.setContentHandler(new RepositoryDocHandler(REPOSITORY_ELEMENT, repositoryHandler));
-				xmlReader.parse(new InputSource(stream));
-				if (isValidXML()) {
-					theRepository = repositoryHandler.getRepository();
-				}
-			} catch (SAXException e) {
-				if (!(e.getException() instanceof OperationCanceledException))
-					throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				throw new IOException(e.getMessage());
-			} finally {
-				monitor.done();
-				stream.close();
-			}
-		}
-
-		public IMetadataRepository getRepository() {
-			return theRepository;
-		}
-
-		protected Object getRootObject() {
-			return theRepository;
-		}
-
-		private final class RepositoryDocHandler extends DocHandler {
-
-			public RepositoryDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (PI_REPOSITORY_TARGET.equals(target)) {
-					Version repositoryVersion = extractPIVersion(target, data);
-					if (!MetadataRepositoryIO.XMLConstants.XML_TOLERANCE.isIncluded(repositoryVersion)) {
-						throw new SAXException(NLS.bind(Messages.io_IncompatibleVersion, repositoryVersion, MetadataRepositoryIO.XMLConstants.XML_TOLERANCE));
-					}
-				}
-			}
-
-		}
-
-		private final class RepositoryHandler extends RootHandler {
-
-			private final String[] required = new String[] {NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VERSION_ATTRIBUTE};
-			private final String[] optional = new String[] {DESCRIPTION_ATTRIBUTE, PROVIDER_ATTRIBUTE};
-
-			private InstallableUnitsHandler unitsHandler = null;
-			private PropertiesHandler propertiesHandler = null;
-			private RepositoryReferencesHandler repositoryReferencesHandler = null;
-
-			private AbstractMetadataRepository repository = null;
-
-			private RepositoryState state = new RepositoryState();
-
-			public RepositoryHandler() {
-				super();
-			}
-
-			public IMetadataRepository getRepository() {
-				return repository;
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				String[] values = parseAttributes(attributes, required, optional);
-				Version version = checkVersion(this.elementHandled, VERSION_ATTRIBUTE, values[2]);
-				state.Name = values[0];
-				state.Type = values[1];
-				state.Version = version;
-				state.Description = values[3];
-				state.Provider = values[4];
-				state.Location = null;
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				checkCancel();
-				if (PROPERTIES_ELEMENT.equals(name)) {
-					if (propertiesHandler == null) {
-						propertiesHandler = new PropertiesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (INSTALLABLE_UNITS_ELEMENT.equals(name)) {
-					if (unitsHandler == null) {
-						unitsHandler = new InstallableUnitsHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else if (REPOSITORY_REFERENCES_ELEMENT.equals(name)) {
-					if (repositoryReferencesHandler == null) {
-						repositoryReferencesHandler = new RepositoryReferencesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					state.Properties = (propertiesHandler == null ? new OrderedProperties(0) //
-							: propertiesHandler.getProperties());
-					state.Units = (unitsHandler == null ? new IInstallableUnit[0] //
-							: unitsHandler.getUnits());
-					state.Repositories = repositoryReferencesHandler == null ? new RepositoryReference[0] : repositoryReferencesHandler.getReferences();
-					try {
-						//can't create repository if missing type - this is already logged when parsing attributes
-						if (state.Type == null)
-							return;
-						Class clazz = Class.forName(state.Type);
-						Object repositoryObject = clazz.newInstance();
-						if (repositoryObject instanceof AbstractMetadataRepository) {
-							repository = (AbstractMetadataRepository) repositoryObject;
-							repository.initialize(state);
-						}
-					} catch (InstantiationException e) {
-						// TODO: Throw a SAXException
-						e.printStackTrace();
-					} catch (IllegalAccessException e) {
-						// TODO: Throw a SAXException
-						e.printStackTrace();
-					} catch (ClassNotFoundException e) {
-						// TODO: Throw a SAXException
-						e.printStackTrace();
-					}
-				}
-			}
-		}
-
-		protected String getErrorMessage() {
-			return Messages.io_parseError;
-		}
-
-		public String toString() {
-			// TODO:
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
deleted file mode 100644
index 2f26666..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/MetadataRepositoryManager.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Default implementation of {@link IMetadataRepositoryManager}.
- */
-public class MetadataRepositoryManager extends AbstractRepositoryManager implements IMetadataRepositoryManager {
-
-	public MetadataRepositoryManager() {
-		super();
-	}
-
-	public void addRepository(IMetadataRepository repository) {
-		super.addRepository(repository, true, null);
-	}
-
-	public IMetadataRepository createRepository(URI location, String name, String type, Map properties) throws ProvisionException {
-		return (IMetadataRepository) doCreateRepository(location, name, type, properties);
-	}
-
-	protected IRepository factoryCreate(URI location, String name, String type, Map properties, IExtension extension) throws ProvisionException {
-		MetadataRepositoryFactory factory = (MetadataRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
-		if (factory == null)
-			return null;
-		return factory.create(location, name, type, properties);
-	}
-
-	protected IRepository factoryLoad(URI location, IExtension extension, int flags, SubMonitor monitor) throws ProvisionException {
-		MetadataRepositoryFactory factory = (MetadataRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
-		if (factory == null)
-			return null;
-		return factory.load(location, flags, monitor.newChild(10));
-	}
-
-	protected String getBundleId() {
-		return Activator.ID;
-	}
-
-	protected String getDefaultSuffix() {
-		return "content.xml"; //$NON-NLS-1$
-	}
-
-	public IMetadataRepository getRepository(URI location) {
-		return (IMetadataRepository) basicGetRepository(location);
-	}
-
-	protected String getRepositoryProviderExtensionPointId() {
-		return Activator.REPO_PROVIDER_XPT;
-	}
-
-	/**
-	 * Restores metadata repositories specified as system properties.
-	 */
-	protected String getRepositorySystemProperty() {
-		return "eclipse.p2.metadataRepository"; //$NON-NLS-1$
-	}
-
-	protected int getRepositoryType() {
-		return IRepository.TYPE_METADATA;
-	}
-
-	public IMetadataRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		return loadRepository(location, 0, monitor);
-	}
-
-	public IMetadataRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		return (IMetadataRepository) loadRepository(location, monitor, null, flags);
-	}
-
-	public IMetadataRepository refreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		return (IMetadataRepository) basicRefreshRepository(location, monitor);
-	}
-
-	public IStatus validateRepositoryLocation(URI location, IProgressMonitor monitor) {
-		if (!location.isAbsolute())
-			return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_INVALID_LOCATION, NLS.bind(Messages.repoMan_relativeLocation, location.toString()), null);
-		IMetadataRepository result = getRepository(location);
-		if (result != null)
-			return Status.OK_STATUS;
-		String[] suffixes = getAllSuffixes();
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.repo_loading, suffixes.length * 100);
-		IStatus status = new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.repoMan_notExists, location.toString()), null);
-		for (int i = 0; i < suffixes.length; i++) {
-			SubMonitor loopMonitor = sub.newChild(100);
-			IExtension[] providers = findMatchingRepositoryExtensions(suffixes[i], null);
-			// Loop over the candidates and return the first one that successfully loads
-			loopMonitor.beginTask("", providers.length * 10); //$NON-NLS-1$
-			for (int j = 0; j < providers.length; j++) {
-				MetadataRepositoryFactory factory = (MetadataRepositoryFactory) createExecutableExtension(providers[j], EL_FACTORY);
-				if (factory != null) {
-					status = factory.validate(location, loopMonitor.newChild(10));
-					if (status.isOK()) {
-						sub.done();
-						return status;
-					}
-				}
-			}
-
-		}
-		sub.done();
-		return status;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
deleted file mode 100644
index 0fa2d9b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/URLMetadataRepository.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *     Prashant Deva - Bug 194674 [prov] Provide write access to metadata repository
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A metadata repository backed by an arbitrary URL.
- */
-public class URLMetadataRepository extends AbstractMetadataRepository {
-
-	public static final String CONTENT_FILENAME = "content"; //$NON-NLS-1$
-	public static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	private static final String REPOSITORY_TYPE = URLMetadataRepository.class.getName();
-	private static final Integer REPOSITORY_VERSION = new Integer(1);
-
-	transient protected URI content;
-	protected HashSet units = new LinkedHashSet();
-
-	public static URI getActualLocation(URI base) {
-		return getActualLocation(base, XML_EXTENSION);
-	}
-
-	public static URI getActualLocation(URI base, String extension) {
-		if (extension == null)
-			extension = XML_EXTENSION;
-		return URIUtil.append(base, CONTENT_FILENAME + extension);
-	}
-
-	public URLMetadataRepository() {
-		super();
-	}
-
-	public URLMetadataRepository(URI location, String name, Map properties) {
-		super(name == null ? (location != null ? location.toString() : "") : name, REPOSITORY_TYPE, REPOSITORY_VERSION.toString(), location, null, null, properties); //$NON-NLS-1$
-		content = getActualLocation(location);
-	}
-
-	// this is synchronized because content can be initialized in initializeAfterLoad
-	protected synchronized URI getContentURL() {
-		return content;
-	}
-
-	public synchronized void initialize(RepositoryState state) {
-		this.name = state.Name;
-		this.type = state.Type;
-		this.version = state.Version.toString();
-		this.provider = state.Provider;
-		this.description = state.Description;
-		this.location = state.Location;
-		this.properties = state.Properties;
-		this.units.addAll(Arrays.asList(state.Units));
-	}
-
-	// Use this method to setup any transient fields etc after the object has been restored from a stream
-	public synchronized void initializeAfterLoad(URI repoLocation) {
-		this.location = repoLocation;
-		content = getActualLocation(location);
-	}
-
-	public boolean isModifiable() {
-		return false;
-	}
-
-	public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		return query.perform(units.iterator(), collector);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
deleted file mode 100644
index 8f2d5a9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java
+++ /dev/null
@@ -1,836 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *		EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.p2.persistence.XMLParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.p2.metadata.*;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-
-public abstract class MetadataParser extends XMLParser implements XMLConstants {
-	static final ILicense[] NO_LICENSES = new ILicense[0];
-
-	public MetadataParser(BundleContext context, String bundleId) {
-		super(context, bundleId);
-	}
-
-	protected class RepositoryReferencesHandler extends AbstractHandler {
-		private HashSet references;
-
-		public RepositoryReferencesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, REPOSITORY_REFERENCES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			references = (size != null ? new HashSet(Integer.parseInt(size)) : new HashSet(4));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REPOSITORY_REFERENCE_ELEMENT)) {
-				new RepositoryReferenceHandler(this, attributes, references);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		public RepositoryReference[] getReferences() {
-			return (RepositoryReference[]) references.toArray(new RepositoryReference[references.size()]);
-		}
-	}
-
-	protected class RepositoryReferenceHandler extends AbstractHandler {
-
-		private final String[] required = new String[] {TYPE_ATTRIBUTE, OPTIONS_ATTRIBUTE};
-
-		public RepositoryReferenceHandler(AbstractHandler parentHandler, Attributes attributes, Set references) {
-			super(parentHandler, REPOSITORY_REFERENCE_ELEMENT);
-			String[] values = parseRequiredAttributes(attributes, required);
-			String name = parseOptionalAttribute(attributes, NAME_ATTRIBUTE);
-			int type = checkInteger(elementHandled, TYPE_ATTRIBUTE, values[0]);
-			int options = checkInteger(elementHandled, OPTIONS_ATTRIBUTE, values[1]);
-			URI location = parseURIAttribute(attributes, true);
-			if (location != null)
-				references.add(new RepositoryReference(location, name, type, options));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-	}
-
-	protected class InstallableUnitsHandler extends AbstractHandler {
-		private ArrayList units;
-
-		public InstallableUnitsHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, INSTALLABLE_UNITS_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			units = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IInstallableUnit[] getUnits() {
-			int size = units.size();
-			IInstallableUnit[] result = new IInstallableUnit[size];
-			int i = 0;
-			for (Iterator it = units.iterator(); it.hasNext(); i++) {
-				InstallableUnitDescription desc = (InstallableUnitDescription) it.next();
-				result[i] = MetadataFactory.createInstallableUnit(desc);
-			}
-			return result;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(INSTALLABLE_UNIT_ELEMENT)) {
-				new InstallableUnitHandler(this, attributes, units);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class InstallableUnitHandler extends AbstractHandler {
-
-		InstallableUnitDescription currentUnit = null;
-
-		private PropertiesHandler propertiesHandler = null;
-		private ProvidedCapabilitiesHandler providedCapabilitiesHandler = null;
-		private RequiredCapabilitiesHandler requiredCapabilitiesHandler = null;
-		private HostRequiredCapabilitiesHandler hostRequiredCapabilitiesHandler = null;
-		private MetaRequiredCapabilitiesHandler metaRequiredCapabilitiesHandler = null;
-		private TextHandler filterHandler = null;
-		private ArtifactsHandler artifactsHandler = null;
-		private TouchpointTypeHandler touchpointTypeHandler = null;
-		private TouchpointDataHandler touchpointDataHandler = null;
-		private UpdateDescriptorHandler updateDescriptorHandler = null;
-		private LicensesHandler licensesHandler = null;
-		private CopyrightHandler copyrightHandler = null;
-		private RequirementsChangeHandler requirementChangesHandler = null;
-		private ApplicabilityScopesHandler applicabilityScopeHandler = null;
-		private LifeCycleHandler lifeCycleHandler;
-
-		private String id;
-		private Version version;
-		private boolean singleton;
-
-		private List units;
-
-		public InstallableUnitHandler(AbstractHandler parentHandler, Attributes attributes, List units) {
-			super(parentHandler, INSTALLABLE_UNIT_ELEMENT);
-			String[] values = parseAttributes(attributes, REQUIRED_IU_ATTRIBUTES, OPTIONAL_IU_ATTRIBUTES);
-			this.units = units;
-			//skip entire IU if the id is missing
-			if (values[0] == null)
-				return;
-
-			id = values[0];
-			version = checkVersion(INSTALLABLE_UNIT_ELEMENT, VERSION_ATTRIBUTE, values[1]);
-			singleton = checkBoolean(INSTALLABLE_UNIT_ELEMENT, SINGLETON_ATTRIBUTE, values[2], true).booleanValue();
-		}
-
-		public IInstallableUnit getInstallableUnit() {
-			return MetadataFactory.createInstallableUnit(currentUnit);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			checkCancel();
-			if (PROPERTIES_ELEMENT.equals(name)) {
-				if (propertiesHandler == null) {
-					propertiesHandler = new PropertiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (PROVIDED_CAPABILITIES_ELEMENT.equals(name)) {
-				if (providedCapabilitiesHandler == null) {
-					providedCapabilitiesHandler = new ProvidedCapabilitiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
-				if (requiredCapabilitiesHandler == null) {
-					requiredCapabilitiesHandler = new RequiredCapabilitiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (HOST_REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
-				if (hostRequiredCapabilitiesHandler == null) {
-					hostRequiredCapabilitiesHandler = new HostRequiredCapabilitiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (META_REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
-				if (metaRequiredCapabilitiesHandler == null) {
-					metaRequiredCapabilitiesHandler = new MetaRequiredCapabilitiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (IU_FILTER_ELEMENT.equals(name)) {
-				if (filterHandler == null) {
-					filterHandler = new TextHandler(this, IU_FILTER_ELEMENT, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (ARTIFACT_KEYS_ELEMENT.equals(name)) {
-				if (artifactsHandler == null) {
-					artifactsHandler = new ArtifactsHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (TOUCHPOINT_TYPE_ELEMENT.equals(name)) {
-				if (touchpointTypeHandler == null) {
-					touchpointTypeHandler = new TouchpointTypeHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (TOUCHPOINT_DATA_ELEMENT.equals(name)) {
-				if (touchpointDataHandler == null) {
-					touchpointDataHandler = new TouchpointDataHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (UPDATE_DESCRIPTOR_ELEMENT.equals(name)) {
-				if (updateDescriptorHandler == null)
-					updateDescriptorHandler = new UpdateDescriptorHandler(this, attributes);
-				else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (LICENSES_ELEMENT.equals(name)) {
-				if (licensesHandler == null) {
-					licensesHandler = new LicensesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (REQUIREMENT_CHANGES.equals(name)) {
-				if (requirementChangesHandler == null) {
-					requirementChangesHandler = new RequirementsChangeHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (APPLICABILITY_SCOPE.equals(name)) {
-				if (applicabilityScopeHandler == null) {
-					applicabilityScopeHandler = new ApplicabilityScopesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (LIFECYCLE.equals(name)) {
-				if (lifeCycleHandler == null) {
-					lifeCycleHandler = new LifeCycleHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (COPYRIGHT_ELEMENT.equals(name)) {
-				if (copyrightHandler == null) {
-					copyrightHandler = new CopyrightHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		protected void finished() {
-			if (isValidXML()) {
-				if (requirementChangesHandler != null) {
-					currentUnit = new MetadataFactory.InstallableUnitPatchDescription();
-					((InstallableUnitPatchDescription) currentUnit).setRequirementChanges((IRequirementChange[]) requirementChangesHandler.getRequirementChanges().toArray(new IRequirementChange[requirementChangesHandler.getRequirementChanges().size()]));
-					if (applicabilityScopeHandler != null)
-						((InstallableUnitPatchDescription) currentUnit).setApplicabilityScope(applicabilityScopeHandler.getScope());
-					if (lifeCycleHandler != null)
-						((InstallableUnitPatchDescription) currentUnit).setLifeCycle(lifeCycleHandler.getLifeCycleRequirement());
-				} else if (hostRequiredCapabilitiesHandler == null || hostRequiredCapabilitiesHandler.getHostRequiredCapabilities().length == 0) {
-					currentUnit = new InstallableUnitDescription();
-				} else {
-					currentUnit = new MetadataFactory.InstallableUnitFragmentDescription();
-					((InstallableUnitFragmentDescription) currentUnit).setHost(hostRequiredCapabilitiesHandler.getHostRequiredCapabilities());
-				}
-				currentUnit.setId(id);
-				currentUnit.setVersion(version);
-				currentUnit.setSingleton(singleton);
-				OrderedProperties properties = (propertiesHandler == null ? new OrderedProperties(0) : propertiesHandler.getProperties());
-				String updateFrom = null;
-				VersionRange updateRange = null;
-				for (Enumeration e = properties.keys(); e.hasMoreElements();) {
-					String key = (String) e.nextElement();
-					String value = properties.getProperty(key);
-					//Backward compatibility
-					if (key.equals("equinox.p2.update.from")) {
-						updateFrom = value;
-						continue;
-					}
-					if (key.equals("equinox.p2.update.range")) {
-						updateRange = new VersionRange(value);
-						continue;
-					}
-					//End of backward compatibility
-					currentUnit.setProperty(key, value);
-				}
-				//Backward compatibility
-				if (updateFrom != null && updateRange != null)
-					currentUnit.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(updateFrom, updateRange, IUpdateDescriptor.NORMAL, null));
-				//End of backward compatibility
-
-				if (licensesHandler != null) {
-					currentUnit.setLicenses(licensesHandler.getLicenses());
-				}
-
-				if (copyrightHandler != null) {
-					ICopyright copyright = copyrightHandler.getCopyright();
-					currentUnit.setCopyright(copyright);
-				}
-
-				IProvidedCapability[] providedCapabilities = (providedCapabilitiesHandler == null ? new IProvidedCapability[0] : providedCapabilitiesHandler.getProvidedCapabilities());
-				currentUnit.setCapabilities(providedCapabilities);
-				IRequirement[] requiredCapabilities = (requiredCapabilitiesHandler == null ? new IRequirement[0] : requiredCapabilitiesHandler.getRequiredCapabilities());
-				currentUnit.setRequiredCapabilities(requiredCapabilities);
-				IRequirement[] metaRequiredCapabilities = (metaRequiredCapabilitiesHandler == null ? new IRequirement[0] : metaRequiredCapabilitiesHandler.getMetaRequiredCapabilities());
-				currentUnit.setMetaRequiredCapabilities(metaRequiredCapabilities);
-				if (filterHandler != null) {
-					currentUnit.setFilter(filterHandler.getText());
-				}
-				IArtifactKey[] artifacts = (artifactsHandler == null ? new IArtifactKey[0] : artifactsHandler.getArtifactKeys());
-				currentUnit.setArtifacts(artifacts);
-				if (touchpointTypeHandler != null) {
-					currentUnit.setTouchpointType(touchpointTypeHandler.getTouchpointType());
-				} else {
-					// TODO: create an error
-				}
-				ITouchpointData[] touchpointData = (touchpointDataHandler == null ? new ITouchpointData[0] : touchpointDataHandler.getTouchpointData());
-				for (int i = 0; i < touchpointData.length; i++)
-					currentUnit.addTouchpointData(touchpointData[i]);
-				if (updateDescriptorHandler != null)
-					currentUnit.setUpdateDescriptor(updateDescriptorHandler.getUpdateDescriptor());
-				units.add(currentUnit);
-			}
-		}
-	}
-
-	protected class ApplicabilityScopesHandler extends AbstractHandler {
-		private List scopes;
-
-		public ApplicabilityScopesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, APPLICABILITY_SCOPE);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			scopes = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (APPLY_ON.equals(name)) {
-				new ApplicabilityScopeHandler(this, attributes, scopes);
-			} else {
-				duplicateElement(this, name, attributes);
-			}
-		}
-
-		public IRequirement[][] getScope() {
-			return (IRequirement[][]) scopes.toArray(new IRequirement[scopes.size()][]);
-		}
-	}
-
-	protected class ApplicabilityScopeHandler extends AbstractHandler {
-		private RequiredCapabilitiesHandler children;
-		private List scopes;
-
-		public ApplicabilityScopeHandler(AbstractHandler parentHandler, Attributes attributes, List scopes) {
-			super(parentHandler, APPLY_ON);
-			this.scopes = scopes;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (REQUIRED_CAPABILITIES_ELEMENT.equals(name)) {
-				children = new RequiredCapabilitiesHandler(this, attributes);
-			} else {
-				duplicateElement(this, name, attributes);
-			}
-		}
-
-		protected void finished() {
-			if (children != null) {
-				scopes.add(children.getRequiredCapabilities());
-			}
-		}
-	}
-
-	protected class RequirementsChangeHandler extends AbstractHandler {
-		private List requirementChanges;
-
-		public RequirementsChangeHandler(InstallableUnitHandler parentHandler, Attributes attributes) {
-			super(parentHandler, REQUIREMENT_CHANGES);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			requirementChanges = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REQUIREMENT_CHANGE)) {
-				new RequirementChangeHandler(this, attributes, requirementChanges);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		public List getRequirementChanges() {
-			return requirementChanges;
-		}
-	}
-
-	protected class RequirementChangeHandler extends AbstractHandler {
-		private List from;
-		private List to;
-		private List requirementChanges;
-
-		public RequirementChangeHandler(AbstractHandler parentHandler, Attributes attributes, List requirementChanges) {
-			super(parentHandler, REQUIREMENT_CHANGE);
-			from = new ArrayList(1);
-			to = new ArrayList(1);
-			this.requirementChanges = requirementChanges;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REQUIREMENT_FROM)) {
-				new RequirementChangeEltHandler(this, REQUIREMENT_FROM, attributes, from);
-				return;
-			}
-
-			if (name.equals(REQUIREMENT_TO)) {
-				new RequirementChangeEltHandler(this, REQUIREMENT_TO, attributes, to);
-				return;
-			}
-			invalidElement(name, attributes);
-		}
-
-		protected void finished() {
-			requirementChanges.add(MetadataFactory.createRequirementChange(from.size() == 0 ? null : (IRequirement) from.get(0), to.size() == 0 ? null : (IRequirement) to.get(0)));
-		}
-	}
-
-	protected class RequirementChangeEltHandler extends AbstractHandler {
-		private List requirement;
-
-		public RequirementChangeEltHandler(AbstractHandler parentHandler, String parentId, Attributes attributes, List from) {
-			super(parentHandler, parentId);
-			requirement = from;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (REQUIRED_CAPABILITY_ELEMENT.equals(name))
-				new RequiredCapabilityHandler(this, attributes, requirement);
-			else {
-				invalidElement(name, attributes);
-			}
-		}
-
-	}
-
-	protected class LifeCycleHandler extends AbstractHandler {
-		private List lifeCycleRequirement;
-
-		public LifeCycleHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, LIFECYCLE);
-			lifeCycleRequirement = new ArrayList(1);
-		}
-
-		public IRequirement getLifeCycleRequirement() {
-			if (lifeCycleRequirement.size() == 0)
-				return null;
-			return (IRequirement) lifeCycleRequirement.get(0);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (REQUIRED_CAPABILITY_ELEMENT.equals(name)) {
-				new RequiredCapabilityHandler(this, attributes, lifeCycleRequirement);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class ProvidedCapabilitiesHandler extends AbstractHandler {
-		private List providedCapabilities;
-
-		public ProvidedCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, PROVIDED_CAPABILITIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			providedCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IProvidedCapability[] getProvidedCapabilities() {
-			return (IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(PROVIDED_CAPABILITY_ELEMENT)) {
-				new ProvidedCapabilityHandler(this, attributes, providedCapabilities);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class ProvidedCapabilityHandler extends AbstractHandler {
-
-		public ProvidedCapabilityHandler(AbstractHandler parentHandler, Attributes attributes, List capabilities) {
-			super(parentHandler, PROVIDED_CAPABILITY_ELEMENT);
-			String[] values = parseRequiredAttributes(attributes, REQUIRED_PROVIDED_CAPABILITY_ATTRIBUTES);
-			Version version = checkVersion(PROVIDED_CAPABILITY_ELEMENT, VERSION_ATTRIBUTE, values[2]);
-			capabilities.add(MetadataFactory.createProvidedCapability(values[0], values[1], version));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-	}
-
-	protected class HostRequiredCapabilitiesHandler extends AbstractHandler {
-		private List requiredCapabilities;
-
-		public HostRequiredCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, HOST_REQUIRED_CAPABILITIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IRequirement[] getHostRequiredCapabilities() {
-			return (IRequirement[]) requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REQUIRED_CAPABILITY_ELEMENT)) {
-				new RequiredCapabilityHandler(this, attributes, requiredCapabilities);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class MetaRequiredCapabilitiesHandler extends AbstractHandler {
-		private List requiredCapabilities;
-
-		public MetaRequiredCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, META_REQUIRED_CAPABILITIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IRequirement[] getMetaRequiredCapabilities() {
-			return (IRequirement[]) requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REQUIRED_CAPABILITY_ELEMENT)) {
-				new RequiredCapabilityHandler(this, attributes, requiredCapabilities);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class RequiredCapabilitiesHandler extends AbstractHandler {
-		private List requiredCapabilities;
-
-		public RequiredCapabilitiesHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, REQUIRED_CAPABILITIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IRequirement[] getRequiredCapabilities() {
-			return (IRequirement[]) requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(REQUIRED_CAPABILITY_ELEMENT)) {
-				new RequiredCapabilityHandler(this, attributes, requiredCapabilities);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class RequiredCapabilityHandler extends AbstractHandler {
-
-		private IRequirement currentCapability = null;
-
-		private TextHandler filterHandler = null;
-
-		public RequiredCapabilityHandler(AbstractHandler parentHandler, Attributes attributes, List capabilities) {
-			super(parentHandler, REQUIRED_CAPABILITY_ELEMENT);
-			String[] values = parseAttributes(attributes, REQIURED_CAPABILITY_ATTRIBUTES, OPTIONAL_CAPABILITY_ATTRIBUTES);
-			VersionRange range = checkVersionRange(REQUIRED_CAPABILITY_ELEMENT, VERSION_RANGE_ATTRIBUTE, values[2]);
-			boolean isOptional = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_OPTIONAL_ATTRIBUTE, values[3], false).booleanValue();
-			boolean isMultiple = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_MULTIPLE_ATTRIBUTE, values[4], false).booleanValue();
-			boolean isGreedy = checkBoolean(REQUIRED_CAPABILITY_ELEMENT, CAPABILITY_GREED_ATTRIBUTE, values[5], true).booleanValue();
-			currentCapability = MetadataFactory.createRequiredCapability(values[0], values[1], range, null, isOptional, isMultiple, isGreedy);
-			capabilities.add(currentCapability);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(CAPABILITY_FILTER_ELEMENT)) {
-				filterHandler = new TextHandler(this, CAPABILITY_FILTER_ELEMENT, attributes);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		protected void finished() {
-			if (isValidXML()) {
-				if (currentCapability != null) {
-					if (filterHandler != null) {
-						((RequiredCapability) currentCapability).setFilter(filterHandler.getText());
-					}
-				}
-			}
-		}
-	}
-
-	protected class ArtifactsHandler extends AbstractHandler {
-
-		private List artifacts;
-
-		public ArtifactsHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, ARTIFACT_KEYS_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			artifacts = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public IArtifactKey[] getArtifactKeys() {
-			return (IArtifactKey[]) artifacts.toArray(new IArtifactKey[artifacts.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(ARTIFACT_KEY_ELEMENT)) {
-				new ArtifactHandler(this, attributes, artifacts);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class ArtifactHandler extends AbstractHandler {
-
-		private final String[] required = new String[] {CLASSIFIER_ATTRIBUTE, ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
-		public ArtifactHandler(AbstractHandler parentHandler, Attributes attributes, List artifacts) {
-			super(parentHandler, ARTIFACT_KEY_ELEMENT);
-			String[] values = parseRequiredAttributes(attributes, required);
-			Version version = checkVersion(ARTIFACT_KEY_ELEMENT, VERSION_ATTRIBUTE, values[2]);
-			artifacts.add(new ArtifactKey(values[0], values[1], version));
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-	}
-
-	protected class TouchpointTypeHandler extends AbstractHandler {
-
-		private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-
-		ITouchpointType touchpointType = null;
-
-		public TouchpointTypeHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, TOUCHPOINT_TYPE_ELEMENT);
-			String[] values = parseRequiredAttributes(attributes, required);
-			Version version = checkVersion(TOUCHPOINT_TYPE_ELEMENT, VERSION_ATTRIBUTE, values[1]);
-			touchpointType = MetadataFactory.createTouchpointType(values[0], version);
-		}
-
-		public ITouchpointType getTouchpointType() {
-			return touchpointType;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-	}
-
-	protected class TouchpointDataHandler extends AbstractHandler {
-
-		ITouchpointData touchpointData = null;
-
-		List data = null;
-
-		public TouchpointDataHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, TOUCHPOINT_DATA_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			data = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public ITouchpointData[] getTouchpointData() {
-			ITouchpointData[] result = new ITouchpointData[data.size()];
-			for (int i = 0; i < result.length; i++)
-				result[i] = ((TouchpointInstructionsHandler) data.get(i)).getTouchpointData();
-			return result;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT)) {
-				data.add(new TouchpointInstructionsHandler(this, attributes, data));
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class TouchpointInstructionsHandler extends AbstractHandler {
-
-		Map instructions = null;
-
-		public TouchpointInstructionsHandler(AbstractHandler parentHandler, Attributes attributes, List data) {
-			super(parentHandler, TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			instructions = (size != null ? new LinkedHashMap(new Integer(size).intValue()) : new LinkedHashMap(4));
-		}
-
-		public ITouchpointData getTouchpointData() {
-			return MetadataFactory.createTouchpointData(instructions);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT)) {
-				new TouchpointInstructionHandler(this, attributes, instructions);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class TouchpointInstructionHandler extends TextHandler {
-
-		private final String[] required = new String[] {TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE};
-		private final String[] optional = new String[] {TOUCHPOINT_DATA_INSTRUCTION_IMPORT_ATTRIBUTE};
-
-		Map instructions = null;
-		String key = null;
-		String qualifier = null;
-
-		public TouchpointInstructionHandler(AbstractHandler parentHandler, Attributes attributes, Map instructions) {
-			super(parentHandler, TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
-			String[] values = parseAttributes(attributes, required, optional);
-			key = values[0];
-			qualifier = values[1];
-			this.instructions = instructions;
-		}
-
-		protected void finished() {
-			if (isValidXML()) {
-				if (key != null) {
-					instructions.put(key, MetadataFactory.createTouchpointInstruction(getText(), qualifier));
-				}
-			}
-		}
-	}
-
-	protected class UpdateDescriptorHandler extends TextHandler {
-		private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_RANGE_ATTRIBUTE};
-		private final String[] optional = new String[] {UPDATE_DESCRIPTOR_SEVERITY, DESCRIPTION_ATTRIBUTE};
-
-		private IUpdateDescriptor descriptor;
-
-		public UpdateDescriptorHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, INSTALLABLE_UNIT_ELEMENT);
-			String[] values = parseAttributes(attributes, required, optional);
-			VersionRange range = checkVersionRange(REQUIRED_CAPABILITY_ELEMENT, VERSION_RANGE_ATTRIBUTE, values[1]);
-			int severity = new Integer(values[2]).intValue();
-			descriptor = MetadataFactory.createUpdateDescriptor(values[0], range, severity, values[3]);
-		}
-
-		public IUpdateDescriptor getUpdateDescriptor() {
-			return descriptor;
-		}
-	}
-
-	/**
-	 * 	Handler for a list of licenses.
-	 */
-	protected class LicensesHandler extends AbstractHandler {
-
-		// Note this handler is set up to handle multiple license elements, but for now
-		// the API for IInstallableUnit only reflects one.
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=216911
-		private List licenses;
-
-		public LicensesHandler(ContentHandler parentHandler, Attributes attributes) {
-			super(parentHandler, LICENSES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			licenses = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(2));
-		}
-
-		public ILicense[] getLicenses() {
-			if (licenses.size() == 0)
-				return NO_LICENSES;
-			return (ILicense[]) licenses.toArray(new ILicense[licenses.size()]);
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(LICENSE_ELEMENT)) {
-				new LicenseHandler(this, attributes, licenses);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-	}
-
-	/**
-	 * 	Handler for a license in an list of licenses.
-	 */
-	protected class LicenseHandler extends TextHandler {
-
-		URI location = null;
-
-		private final List licenses;
-
-		public LicenseHandler(AbstractHandler parentHandler, Attributes attributes, List licenses) {
-			super(parentHandler, LICENSE_ELEMENT);
-			location = parseURIAttribute(attributes, false);
-			this.licenses = licenses;
-		}
-
-		protected void finished() {
-			if (isValidXML()) {
-				licenses.add(MetadataFactory.createLicense(location, getText()));
-			}
-		}
-	}
-
-	/**
-	 * 	Handler for a copyright.
-	 */
-	protected class CopyrightHandler extends TextHandler {
-
-		URI location = null;
-		private ICopyright copyright;
-
-		public CopyrightHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, COPYRIGHT_ELEMENT);
-			location = parseURIAttribute(attributes, false);
-		}
-
-		protected void finished() {
-			if (isValidXML()) {
-				copyright = MetadataFactory.createCopyright(location, getText());
-			}
-		}
-
-		public ICopyright getCopyright() {
-			return copyright;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
deleted file mode 100644
index 8a5b747..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-
-public abstract class MetadataWriter extends XMLWriter implements XMLConstants {
-
-	public MetadataWriter(OutputStream output, ProcessingInstruction[] piElements) throws UnsupportedEncodingException {
-		super(output, piElements);
-		// TODO: add a processing instruction for the metadata version
-	}
-
-	/**
-	 * Writes a list of {@link IInstallableUnit}.
-	 * @param units An Iterator of {@link IInstallableUnit}.
-	 * @param size The number of units to write
-	 */
-	protected void writeInstallableUnits(Iterator units, int size) {
-		if (size == 0)
-			return;
-		start(INSTALLABLE_UNITS_ELEMENT);
-		attribute(COLLECTION_SIZE_ATTRIBUTE, size);
-		while (units.hasNext())
-			writeInstallableUnit((IInstallableUnit) units.next());
-		end(INSTALLABLE_UNITS_ELEMENT);
-	}
-
-	protected void writeInstallableUnit(IInstallableUnit resolvedIU) {
-		IInstallableUnit iu = resolvedIU.unresolved();
-		start(INSTALLABLE_UNIT_ELEMENT);
-		attribute(ID_ATTRIBUTE, iu.getId());
-		attribute(VERSION_ATTRIBUTE, iu.getVersion());
-		attribute(SINGLETON_ATTRIBUTE, iu.isSingleton(), true);
-		//		attribute(FRAGMENT_ATTRIBUTE, iu.isFragment(), false);
-
-		if (FragmentQuery.isFragment(iu) && iu instanceof IInstallableUnitFragment) {
-			IInstallableUnitFragment fragment = (IInstallableUnitFragment) iu;
-			writeHostRequiredCapabilities(fragment.getHost());
-		}
-
-		if (iu instanceof IInstallableUnitPatch) {
-			IInstallableUnitPatch patch = (IInstallableUnitPatch) iu;
-			writeApplicabilityScope(patch.getApplicabilityScope());
-			writeRequirementsChange(patch.getRequirementsChange());
-			writeLifeCycle(patch.getLifeCycle());
-		}
-
-		writeUpdateDescriptor(resolvedIU, resolvedIU.getUpdateDescriptor());
-		writeProperties(iu.getProperties());
-		writeMetaRequiredCapabilities(iu.getMetaRequiredCapabilities());
-		writeProvidedCapabilities(iu.getProvidedCapabilities());
-		writeRequiredCapabilities(iu.getRequiredCapabilities());
-		writeTrimmedCdata(IU_FILTER_ELEMENT, iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter());
-
-		writeArtifactKeys(iu.getArtifacts());
-		writeTouchpointType(iu.getTouchpointType());
-		writeTouchpointData(iu.getTouchpointData());
-		writeLicenses(iu.getLicenses());
-		writeCopyright(iu.getCopyright());
-
-		end(INSTALLABLE_UNIT_ELEMENT);
-	}
-
-	protected void writeLifeCycle(IRequirement capability) {
-		if (capability == null)
-			return;
-		start(LIFECYCLE);
-		writeRequiredCapability(capability);
-		end(LIFECYCLE);
-	}
-
-	protected void writeHostRequiredCapabilities(IRequirement[] capabilities) {
-		if (capabilities != null && capabilities.length > 0) {
-			start(HOST_REQUIRED_CAPABILITIES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
-			for (int i = 0; i < capabilities.length; i++) {
-				writeRequiredCapability(capabilities[i]);
-			}
-			end(HOST_REQUIRED_CAPABILITIES_ELEMENT);
-		}
-	}
-
-	protected void writeProvidedCapabilities(IProvidedCapability[] capabilities) {
-		if (capabilities != null && capabilities.length > 0) {
-			start(PROVIDED_CAPABILITIES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
-			for (int i = 0; i < capabilities.length; i++) {
-				start(PROVIDED_CAPABILITY_ELEMENT);
-				attribute(NAMESPACE_ATTRIBUTE, capabilities[i].getNamespace());
-				attribute(NAME_ATTRIBUTE, capabilities[i].getName());
-				attribute(VERSION_ATTRIBUTE, capabilities[i].getVersion());
-				end(PROVIDED_CAPABILITY_ELEMENT);
-			}
-			end(PROVIDED_CAPABILITIES_ELEMENT);
-		}
-	}
-
-	protected void writeMetaRequiredCapabilities(IRequirement[] capabilities) {
-		if (capabilities != null && capabilities.length > 0) {
-			start(META_REQUIRED_CAPABILITIES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
-			for (int i = 0; i < capabilities.length; i++) {
-				writeRequiredCapability(capabilities[i]);
-			}
-			end(META_REQUIRED_CAPABILITIES_ELEMENT);
-		}
-	}
-
-	protected void writeRequiredCapabilities(IRequirement[] capabilities) {
-		if (capabilities != null && capabilities.length > 0) {
-			start(REQUIRED_CAPABILITIES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length);
-			for (int i = 0; i < capabilities.length; i++) {
-				writeRequiredCapability(capabilities[i]);
-			}
-			end(REQUIRED_CAPABILITIES_ELEMENT);
-		}
-	}
-
-	protected void writeUpdateDescriptor(IInstallableUnit iu, IUpdateDescriptor descriptor) {
-		if (descriptor == null)
-			return;
-
-		start(UPDATE_DESCRIPTOR_ELEMENT);
-		attribute(ID_ATTRIBUTE, descriptor.getId());
-		attribute(VERSION_RANGE_ATTRIBUTE, descriptor.getRange());
-		attribute(UPDATE_DESCRIPTOR_SEVERITY, descriptor.getSeverity());
-		attribute(DESCRIPTION_ATTRIBUTE, descriptor.getDescription());
-		end(UPDATE_DESCRIPTOR_ELEMENT);
-	}
-
-	protected void writeApplicabilityScope(IRequirement[][] capabilities) {
-		start(APPLICABILITY_SCOPE);
-		for (int i = 0; i < capabilities.length; i++) {
-			start(APPLY_ON);
-			writeRequiredCapabilities(capabilities[i]);
-			end(APPLY_ON);
-		}
-		end(APPLICABILITY_SCOPE);
-	}
-
-	protected void writeRequirementsChange(IRequirementChange[] changes) {
-		start(REQUIREMENT_CHANGES);
-		for (int i = 0; i < changes.length; i++) {
-			writeRequirementChange(changes[i]);
-		}
-		end(REQUIREMENT_CHANGES);
-	}
-
-	protected void writeRequirementChange(IRequirementChange change) {
-		start(REQUIREMENT_CHANGE);
-		if (change.applyOn() != null) {
-			start(REQUIREMENT_FROM);
-			writeRequiredCapability((IRequirement) change.applyOn());
-			end(REQUIREMENT_FROM);
-		}
-		if (change.newValue() != null) {
-			start(REQUIREMENT_TO);
-			writeRequiredCapability((IRequirement) change.newValue());
-			end(REQUIREMENT_TO);
-		}
-		end(REQUIREMENT_CHANGE);
-	}
-
-	protected void writeRequiredCapability(IRequirement requirement) {
-		if (requirement instanceof IRequiredCapability) {
-			IRequiredCapability reqCapability = (IRequiredCapability) requirement;
-			start(REQUIRED_CAPABILITY_ELEMENT);
-			attribute(NAMESPACE_ATTRIBUTE, reqCapability.getNamespace());
-			attribute(NAME_ATTRIBUTE, reqCapability.getName());
-			attribute(VERSION_RANGE_ATTRIBUTE, reqCapability.getRange());
-			attribute(CAPABILITY_OPTIONAL_ATTRIBUTE, requirement.getMin() == 0, false);
-			attribute(CAPABILITY_GREED_ATTRIBUTE, requirement.isGreedy(), true);
-			if (requirement.getFilter() != null)
-				writeTrimmedCdata(CAPABILITY_FILTER_ELEMENT, ((LDAPQuery) requirement.getFilter()).getFilter());
-			end(REQUIRED_CAPABILITY_ELEMENT);
-		} else {
-			throw new IllegalStateException();
-		}
-
-	}
-
-	protected void writeArtifactKeys(IArtifactKey[] artifactKeys) {
-		if (artifactKeys != null && artifactKeys.length > 0) {
-			start(ARTIFACT_KEYS_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, artifactKeys.length);
-			for (int i = 0; i < artifactKeys.length; i++) {
-				start(ARTIFACT_KEY_ELEMENT);
-				attribute(ARTIFACT_KEY_CLASSIFIER_ATTRIBUTE, artifactKeys[i].getClassifier());
-				attribute(ID_ATTRIBUTE, artifactKeys[i].getId());
-				attribute(VERSION_ATTRIBUTE, artifactKeys[i].getVersion());
-				end(ARTIFACT_KEY_ELEMENT);
-			}
-			end(ARTIFACT_KEYS_ELEMENT);
-		}
-	}
-
-	protected void writeTouchpointType(ITouchpointType touchpointType) {
-		start(TOUCHPOINT_TYPE_ELEMENT);
-		attribute(ID_ATTRIBUTE, touchpointType.getId());
-		attribute(VERSION_ATTRIBUTE, touchpointType.getVersion());
-		end(TOUCHPOINT_TYPE_ELEMENT);
-	}
-
-	protected void writeTouchpointData(ITouchpointData[] touchpointData) {
-		if (touchpointData != null && touchpointData.length > 0) {
-			start(TOUCHPOINT_DATA_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, touchpointData.length);
-			for (int i = 0; i < touchpointData.length; i++) {
-				ITouchpointData nextData = touchpointData[i];
-				Map instructions = nextData.getInstructions();
-				if (instructions.size() > 0) {
-					start(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT);
-					attribute(COLLECTION_SIZE_ATTRIBUTE, instructions.size());
-					for (Iterator iter = instructions.entrySet().iterator(); iter.hasNext();) {
-						Map.Entry entry = (Map.Entry) iter.next();
-						start(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
-						attribute(TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE, entry.getKey());
-						ITouchpointInstruction instruction = (ITouchpointInstruction) entry.getValue();
-						if (instruction.getImportAttribute() != null)
-							attribute(TOUCHPOINT_DATA_INSTRUCTION_IMPORT_ATTRIBUTE, instruction.getImportAttribute());
-						cdata(instruction.getBody(), true);
-						end(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT);
-					}
-					end(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT);
-				}
-			}
-			end(TOUCHPOINT_DATA_ELEMENT);
-		}
-	}
-
-	private void writeTrimmedCdata(String element, String filter) {
-		String trimmed;
-		if (filter != null && (trimmed = filter.trim()).length() > 0) {
-			start(element);
-			cdata(trimmed);
-			end(element);
-		}
-	}
-
-	private void writeLicenses(ILicense[] licenses) {
-		if (licenses != null && licenses.length > 0) {
-			// In the future there may be more than one license, so we write this 
-			// as a collection of one.
-			// See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=216911
-			start(LICENSES_ELEMENT);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, licenses.length);
-			for (int i = 0; i < licenses.length; i++) {
-				ILicense license = licenses[i];
-				if (license == null)
-					continue;
-				start(LICENSE_ELEMENT);
-				if (license.getLocation() != null) {
-					attribute(URI_ATTRIBUTE, license.getLocation().toString());
-
-					try {
-						// we write the URL attribute for backwards compatibility with 3.4.x
-						// this attribute should be removed if we make a breaking format change.
-						attribute(URL_ATTRIBUTE, URIUtil.toURL(license.getLocation()).toExternalForm());
-					} catch (MalformedURLException e) {
-						attribute(URL_ATTRIBUTE, license.getLocation().toString());
-					}
-				}
-				cdata(license.getBody(), true);
-				end(LICENSE_ELEMENT);
-			}
-			end(LICENSES_ELEMENT);
-		}
-	}
-
-	private void writeCopyright(ICopyright copyright) {
-		if (copyright != null) {
-			start(COPYRIGHT_ELEMENT);
-			try {
-				if (copyright.getLocation() != null) {
-					attribute(URI_ATTRIBUTE, copyright.getLocation().toString());
-					try {
-						// we write the URL attribute for backwards compatibility with 3.4.x
-						// this attribute should be removed if we make a breaking format change.
-						attribute(URL_ATTRIBUTE, URIUtil.toURL(copyright.getLocation()).toExternalForm());
-					} catch (MalformedURLException e) {
-						attribute(URL_ATTRIBUTE, copyright.getLocation().toString());
-					}
-				}
-			} catch (IllegalStateException ise) {
-				LogHelper.log(new Status(IStatus.INFO, Activator.ID, "Error writing the copyright URL: " + copyright.getLocation())); //$NON-NLS-1$
-			}
-			cdata(copyright.getBody(), true);
-			end(COPYRIGHT_ELEMENT);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
deleted file mode 100644
index 27c8faa..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/XMLConstants.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.io;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-public interface XMLConstants extends org.eclipse.equinox.internal.p2.persistence.XMLConstants {
-
-	// Constants defining the structure of the XML for metadata objects
-
-	// A format version number for metadata XML.
-	public static final Version CURRENT_VERSION = Version.createOSGi(0, 0, 1);
-	public static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, Version.createOSGi(2, 0, 0), false);
-
-	// Constants for processing Instructions
-	public static final String PI_METADATA_TARGET = "metadata"; //$NON-NLS-1$
-
-	// Constants for metadata elements
-	public static final String INSTALLABLE_UNITS_ELEMENT = "units"; //$NON-NLS-1$
-	public static final String INSTALLABLE_UNIT_ELEMENT = "unit"; //$NON-NLS-1$
-
-	//Constants for repository references
-	public static final String REPOSITORY_REFERENCES_ELEMENT = "references"; //$NON-NLS-1$
-	public static final String REPOSITORY_REFERENCE_ELEMENT = "repository"; //$NON-NLS-1$
-	public static final String OPTIONS_ATTRIBUTE = "options"; //$NON-NLS-1$
-
-	// Constants for sub-elements of an installable unit element
-	public static final String ARTIFACT_KEYS_ELEMENT = "artifacts"; //$NON-NLS-1$
-	public static final String ARTIFACT_KEY_ELEMENT = "artifact"; //$NON-NLS-1$
-	public static final String REQUIRED_CAPABILITIES_ELEMENT = "requires"; //$NON-NLS-1$
-	public static final String HOST_REQUIRED_CAPABILITIES_ELEMENT = "hostRequirements"; //$NON-NLS-1$
-	public static final String META_REQUIRED_CAPABILITIES_ELEMENT = "metaRequirements"; //$NON-NLS-1$
-	public static final String REQUIRED_CAPABILITY_ELEMENT = "required"; //$NON-NLS-1$
-	public static final String PROVIDED_CAPABILITIES_ELEMENT = "provides"; //$NON-NLS-1$
-	public static final String PROVIDED_CAPABILITY_ELEMENT = "provided"; //$NON-NLS-1$
-	public static final String[] REQUIRED_PROVIDED_CAPABILITY_ATTRIBUTES = new String[] {NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, VERSION_ATTRIBUTE};
-	public static final String TOUCHPOINT_TYPE_ELEMENT = "touchpoint"; //$NON-NLS-1$
-	public static final String TOUCHPOINT_DATA_ELEMENT = "touchpointData"; //$NON-NLS-1$
-	public static final String IU_FILTER_ELEMENT = "filter"; //$NON-NLS-1$
-	public static final String UPDATE_DESCRIPTOR_ELEMENT = "update"; //$NON-NLS-1$
-
-	public static final String APPLICABILITY_SCOPE = "patchScope"; //$NON-NLS-1$
-	public static final String APPLY_ON = "scope"; //$NON-NLS-1$
-	public static final String REQUIREMENT_CHANGES = "changes"; //$NON-NLS-1$
-	public static final String REQUIREMENT_CHANGE = "change"; //$NON-NLS-1$
-	public static final String REQUIREMENT_FROM = "from"; //$NON-NLS-1$
-	public static final String REQUIREMENT_TO = "to"; //$NON-NLS-1$
-	public static final String LIFECYCLE = "lifeCycle"; //$NON-NLS-1$
-
-	// Constants for attributes of an installable unit element
-	public static final String SINGLETON_ATTRIBUTE = "singleton"; //$NON-NLS-1$
-	public static final String FRAGMENT_ATTRIBUTE = "fragment"; //$NON-NLS-1$
-	public static final String[] REQUIRED_IU_ATTRIBUTES = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE};
-	public static final String[] OPTIONAL_IU_ATTRIBUTES = new String[] {SINGLETON_ATTRIBUTE};
-
-	// Constants for sub-elements of a required capability element
-	public static final String CAPABILITY_FILTER_ELEMENT = "filter"; //$NON-NLS-1$
-
-	// Constants for attributes of a required capability element
-	public static final String CAPABILITY_OPTIONAL_ATTRIBUTE = "optional"; //$NON-NLS-1$
-	public static final String CAPABILITY_MULTIPLE_ATTRIBUTE = "multiple"; //$NON-NLS-1$
-	public static final String CAPABILITY_GREED_ATTRIBUTE = "greedy"; //$NON-NLS-1$
-	public static final String[] REQIURED_CAPABILITY_ATTRIBUTES = new String[] {NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, VERSION_RANGE_ATTRIBUTE};
-	public static final String[] OPTIONAL_CAPABILITY_ATTRIBUTES = new String[] {CAPABILITY_OPTIONAL_ATTRIBUTE, CAPABILITY_MULTIPLE_ATTRIBUTE, CAPABILITY_GREED_ATTRIBUTE};
-
-	// Constants for attributes of an artifact key element
-	public static final String ARTIFACT_KEY_CLASSIFIER_ATTRIBUTE = "classifier"; //$NON-NLS-1$
-
-	// Constants for sub-elements of a touchpoint data element
-	public static final String TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT = "instructions"; //$NON-NLS-1$
-	public static final String TOUCHPOINT_DATA_INSTRUCTION_ELEMENT = "instruction"; //$NON-NLS-1$
-
-	// Constants for attributes of an a touchpoint data instruction element
-	public static final String TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE = "key"; //$NON-NLS-1$
-	public static final String TOUCHPOINT_DATA_INSTRUCTION_IMPORT_ATTRIBUTE = "import"; //$NON-NLS-1$
-
-	// Constants for attributes of an update descriptor
-	public static final String UPDATE_DESCRIPTOR_SEVERITY = "severity"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
deleted file mode 100644
index 4bc4d5e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-io_failedRead=Unable to read repository at {0}.
-io_failedWrite=Error occurred while writing repository at {0}.
-io_IncompatibleVersion=Metadata repository has incompatible version {0}; expected {1}.
-io_parseError=Error parsing metadata repository
-repo_loading = Loading the repository {0}.
-
-repoMan_internalError=Internal error.
-repoMan_notExists=No repository found at {0}.
-repoMan_invalidLocation={0} is not a valid repository location.
-repoMan_relativeLocation=The provided location is not absolute: {0}
-CacheManager_Neither_0_nor_1_found=Neither {0} nor {1} found.
-CacheManager_AuthenticationFaileFor_0=Authentication failed for {0}.
-CacheManager_FailedCommunicationWithRepo_0=Communication with repository at {0} failed.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
deleted file mode 100644
index 912f750..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/AbstractMetadataRepository.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * The common base class for all metadata repositories.
- * <p>
- * Clients may subclass this class.
- * <p>
- */
-public abstract class AbstractMetadataRepository extends AbstractRepository implements IMetadataRepository {
-
-	//TODO Consider removing from abstract class, this is currently an implementation detail of the simple metadata repo parser
-	public static class RepositoryState {
-		public String Name;
-		public String Type;
-		public Version Version;
-		public String Provider;
-		public String Description;
-		public URI Location;
-		public Map Properties;
-		public IInstallableUnit[] Units;
-		public RepositoryReference[] Repositories;
-	}
-
-	public AbstractMetadataRepository() {
-		super("noName", "noType", "noVersion", null, null, null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	//TODO Consider removing from abstract class, this is currently an implementation detail of the simple metadata repo parser
-	public abstract void initialize(RepositoryState state);
-
-	protected AbstractMetadataRepository(String name, String type, String version, URI location, String description, String provider, Map properties) {
-		super(name, type, version, location, description, provider, properties);
-	}
-
-	public void addInstallableUnits(IInstallableUnit[] installableUnit) {
-		assertModifiable();
-	}
-
-	public void addReference(URI repositoryLocation, String nickname, int repositoryType, int options) {
-		assertModifiable();
-	}
-
-	public void removeAll() {
-		assertModifiable();
-	}
-
-	public boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) {
-		assertModifiable();
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/MetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/MetadataRepositoryFactory.java
deleted file mode 100644
index f26a120..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/MetadataRepositoryFactory.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * A metadata repository factory is responsible for creating and loading instances
- * of a particular type of metadata repository. Factories are provided via the 
- * <tt>org.eclipse.equinox.p2.metadata.repository.metadataRepositories</tt> extension point.
- */
-public abstract class MetadataRepositoryFactory {
-
-	/**
-	 * Creates and returns a new empty metadata repository of the given type at 
-	 * the given location.
-	 * 
-	 * @param location the location for the new repository
-	 * @param name the name of the new repository
-	 * @param type the kind of repository to create
-	 * @param properties the properties to set on the repository
-	 * @return the newly created repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>The repository type is not supported by this factory.</li>
-	 * <li>There was an error writing to the given repository location.</li>
-	 * </ul>
-	 */
-	public abstract IMetadataRepository create(URI location, String name, String type, Map properties) throws ProvisionException;
-
-	/**
-	 * Loads a repository corresponding to the given URL.
-	 * <p>
-	 * The error code returned in the case of failure is significant. In particular an
-	 * error code of {@link ProvisionException#REPOSITORY_FAILED_READ} indicates
-	 * that the location definitely identifies a repository of this type, but an error occurred
-	 * while loading the repository. The repository manager will not attempt to load
-	 * a repository from that location using any other factory.  An error code of
-	 * {@link ProvisionException#REPOSITORY_NOT_FOUND} indicates there is no
-	 * repository of this type at the given location, and the repository manager is free
-	 * to try again with a different repository factory.
-	 * </p>
-	 * <p>
-	 * The flags passed in should be taken as a hint for the type of repository to load.  If
-	 * the factory knows it will not load a repository that satisfies these hints, it can fail
-	 * fast and return null.<br>
-	 * See {@link IRepositoryManager#REPOSITORY_HINT_MODIFIABLE}
-	 * </p>
-	 * @param location The location of the repository to load
-	 * @param flags to consider while loading the repository
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The loaded metadata repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public abstract IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Validates a candidate repository URL and returns a status indicating the
-	 * likelihood of a valid repository being located at the location.  Implementors 
-	 * should make all attempts to validate the URL that can be made without 
-	 * actually loading the repository.  The computation for this method must be 
-	 * significantly faster than loading the repository.  Early detectable error 
-	 * conditions, such as the non-existence of the location, or an inability to read 
-	 * the location, should be determined in this method.
-	 * 
-	 * @param location The location of the repository to validate
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return A status indicating whether a valid repository is likely located at the
-	 * location.  A status with severity <code>OK</code> indicates that the repository is
-	 * likely to be loadable, or that as much validation as could be done was successful.
-	 * Reasons for a non-OK status include:
-	 * <ul>
-	 * <li>The specified location is not a valid repository location.</li>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public abstract IStatus validate(URI location, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
deleted file mode 100644
index 9a7e2d8..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/RepositoryReference.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.net.URI;
-
-/**
- * Serialization helper class for repository references.
- */
-public class RepositoryReference {
-	public URI Location;
-	public int Type;
-	public int Options;
-	public String Nickname;
-
-	public RepositoryReference(URI location, String nickname, int type, int options) {
-		this.Location = location;
-		this.Type = type;
-		this.Options = options;
-		this.Nickname = nickname;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		RepositoryReference other = (RepositoryReference) obj;
-		if (Location == null) {
-			if (other.Location != null)
-				return false;
-		} else if (!Location.equals(other.Location))
-			return false;
-		if (Type != other.Type)
-			return false;
-		return true;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((Location == null) ? 0 : Location.hashCode());
-		result = prime * result + Type;
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
deleted file mode 100644
index 449054f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/metadata/repository/SimpleMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.metadata.repository.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class SimpleMetadataRepositoryFactory extends MetadataRepositoryFactory {
-
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-	private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
-	public IMetadataRepository create(URI location, String name, String type, Map properties) {
-		if (location.getScheme().equals("file")) //$NON-NLS-1$
-			return new LocalMetadataRepository(location, name, properties);
-		return new URLMetadataRepository(location, name, properties);
-	}
-
-	/**
-	 * Returns a file in the local file system that contains the contents of the
-	 * metadata repository at the given location.
-	 */
-	private File getLocalFile(URI location, IProgressMonitor monitor) throws IOException, ProvisionException {
-		File localFile = null;
-		URI jarLocation = URLMetadataRepository.getActualLocation(location, JAR_EXTENSION);
-		URI xmlLocation = URLMetadataRepository.getActualLocation(location, XML_EXTENSION);
-		// If the repository is local, we can return the repository file directly
-		if (PROTOCOL_FILE.equals(xmlLocation.getScheme())) {
-			//look for a compressed local file
-			localFile = URIUtil.toFile(jarLocation);
-			if (localFile.exists())
-				return localFile;
-			//look for an uncompressed local file
-			localFile = URIUtil.toFile(xmlLocation);
-			if (localFile.exists())
-				return localFile;
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, null));
-		}
-		// file is not local, create a cache of the repository metadata
-		localFile = Activator.getCacheManager().createCache(location, URLMetadataRepository.CONTENT_FILENAME, monitor);
-		if (localFile == null) {
-			// there is no remote file in either form - this should not really happen as
-			// createCache should bail out with exception if something is wrong. This is an internal
-			// error.
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, Messages.repoMan_internalError, null));
-		}
-		return localFile;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#validate(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			validateAndLoad(location, false, 0, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		return validateAndLoad(location, true, flags, monitor);
-	}
-
-	protected IMetadataRepository validateAndLoad(URI location, boolean doLoad, int flags, IProgressMonitor monitor) throws ProvisionException {
-		long time = 0;
-		final String debugMsg = "Validating and loading metadata repository "; //$NON-NLS-1$
-		if (Tracing.DEBUG_METADATA_PARSING) {
-			Tracing.debug(debugMsg + location);
-			time = -System.currentTimeMillis();
-		}
-		SubMonitor sub = SubMonitor.convert(monitor, 400);
-		try {
-			File localFile = getLocalFile(location, sub.newChild(300));
-			InputStream inStream = new BufferedInputStream(new FileInputStream(localFile));
-			JarInputStream jarStream = null;
-			try {
-				//if reading from a jar, obtain a stream on the entry with the actual contents
-				if (localFile.getAbsolutePath().endsWith(JAR_EXTENSION)) {
-					jarStream = new JarInputStream(inStream);
-					JarEntry jarEntry = jarStream.getNextJarEntry();
-					String entryName = URLMetadataRepository.CONTENT_FILENAME + URLMetadataRepository.XML_EXTENSION;
-					while (jarEntry != null && (!entryName.equals(jarEntry.getName()))) {
-						jarEntry = jarStream.getNextJarEntry();
-					}
-					//if there is a jar but the entry is missing or invalid, treat this as an invalid repository
-					if (jarEntry == null)
-						throw new IOException(NLS.bind(Messages.repoMan_invalidLocation, location));
-				}
-				//parse the repository descriptor file
-				sub.setWorkRemaining(100);
-				if (doLoad) {
-					InputStream descriptorStream = jarStream != null ? jarStream : inStream;
-					IMetadataRepository result = new MetadataRepositoryIO().read(localFile.toURL(), descriptorStream, sub.newChild(100));
-					if (result != null && (flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0 && !result.isModifiable())
-						return null;
-					if (result instanceof LocalMetadataRepository)
-						((LocalMetadataRepository) result).initializeAfterLoad(location);
-					if (result instanceof URLMetadataRepository)
-						((URLMetadataRepository) result).initializeAfterLoad(location);
-					if (Tracing.DEBUG_METADATA_PARSING) {
-						time += System.currentTimeMillis();
-						Tracing.debug(debugMsg + "time (ms): " + time); //$NON-NLS-1$ 
-					}
-					return result;
-				}
-			} finally {
-				safeClose(jarStream);
-				safeClose(inStream);
-			}
-		} catch (FileNotFoundException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			if (monitor != null)
-				monitor.done();
-		}
-		return null;
-	}
-
-	/**
-	 * Closes a stream, ignoring any secondary exceptions
-	 */
-	private void safeClose(InputStream stream) {
-		if (stream == null)
-			return;
-		try {
-			stream.close();
-		} catch (IOException e) {
-			//ignore
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java
deleted file mode 100644
index 791e24a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/AddChildTask.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * Ant task for adding a child repository to a composite metadata repository.
- */
-public class AddChildTask extends Task {
-
-	URI location; // location of the composite repository
-	URI child; // address of the child to add
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		validate();
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire metadata repository manager service.");
-
-		// load the composite repository
-		CompositeMetadataRepository repo = null;
-		try {
-			repo = (CompositeMetadataRepository) manager.loadRepository(location, null);
-		} catch (ClassCastException e) {
-			throw new BuildException("Repository at location: " + location + " is not a composite metadata repository.");
-		} catch (ProvisionException e) {
-			throw new BuildException("Error occurred while loading repository.", e);
-		}
-
-		// add the child
-		repo.addChild(child);
-		manager.removeRepository(location);
-	}
-
-	/*
-	 * Validate user input to ensure we have enough information to go forward.
-	 */
-	private void validate() {
-		if (location == null)
-			throw new BuildException("Need to specify the composite repository location.");
-		if (child == null)
-			throw new BuildException("Need to specify the child repository location.");
-	}
-
-	/*
-	 * Set the location of the composite repository.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the location of the child repository.
-	 */
-	public void setChild(String value) throws URISyntaxException {
-		child = URIUtil.fromString(value);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java
deleted file mode 100644
index 685bda3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/CreateCompositeMetadataRepositoryTask.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * Ant task for creating a new composite metadata repository.
- */
-public class CreateCompositeMetadataRepositoryTask extends Task {
-
-	URI location; // desired location of the composite repository
-	String name = "Composite Metadata Repository";
-	boolean compressed = true; // compress by default
-	boolean failOnExists = false; // should we fail if one already exists?
-	Map properties = new HashMap();
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire metadata repository manager service.");
-
-		// remove the repo first.
-		manager.removeRepository(location);
-
-		// first try and load to see if one already exists at that location.
-		// if we have an already existing repository at that location, then throw an error
-		// if the user told us to
-		try {
-			IMetadataRepository repository = manager.loadRepository(location, null);
-			if (repository instanceof CompositeMetadataRepository) {
-				if (failOnExists)
-					throw new BuildException("Composite repository already exists at location: " + location);
-				return;
-			} else {
-				// we have a non-composite repo at this location. that is ok because we can co-exist.
-			}
-		} catch (ProvisionException e) {
-			// re-throw the exception if we got anything other than "repo not found"
-			if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-				throw new BuildException("Exception while trying to read repository at: " + location, e);
-		}
-
-		// create the properties
-		if (compressed)
-			properties.put(IRepository.PROP_COMPRESSED, Boolean.toString(true));
-
-		// create the repository
-		try {
-			manager.createRepository(location, name, IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties);
-		} catch (ProvisionException e) {
-			throw new BuildException("Error occurred while creating composite metadata repository.", e);
-		}
-	}
-
-	/*
-	 * Set the name of the composite repository.
-	 */
-	public void setName(String value) {
-		name = value;
-	}
-
-	/*
-	 * Set the repository location.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set whether or not this repository should be compressed.
-	 */
-	public void setCompressed(boolean value) {
-		compressed = value;
-	}
-
-	/*
-	 * Set whether or not we should fail the operation if a repository
-	 * already exists at the location.
-	 */
-	public void setFailOnExists(boolean value) {
-		failOnExists = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java
deleted file mode 100644
index 07ef39e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/MirrorApplicationTask.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.ant;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.metadata.mirror.MirrorApplication;
-import org.osgi.framework.Bundle;
-
-/**
- * Ant task for running the metadata mirror application.
- */
-public class MirrorApplicationTask extends Task {
-
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private static final String ARG_DESTINATION = "-destination"; //$NON-NLS-1$
-	private static final String ARG_DESTINATION_NAME = "-destinationName"; //$NON-NLS-1$
-	private static final String ARG_SOURCE = "-source"; //$NON-NLS-1$
-	private static final String ARG_WRITE_MODE = "-writeMode"; //$NON-NLS-1$
-	URL source;
-	URL destination;
-	String destinationName;
-	String writeMode;
-
-	//TODO add transitive and roots attributed when implemented.
-
-	/*
-	 * Run the mirror application with the given arguments.
-	 */
-	private void runMirrorApplication(final String[] args) throws Exception {
-		new MirrorApplication().start(new IApplicationContext() {
-
-			public void applicationRunning() {
-				// nothing to do
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-				arguments.put(IApplicationContext.APPLICATION_ARGS, args);
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		// create arguments
-		String[] args = new String[] { //
-		ARG_SOURCE, source.toExternalForm(), //
-				ARG_DESTINATION, destination.toExternalForm(), // 
-				ARG_WRITE_MODE, writeMode == null ? EMPTY_STRING : writeMode, //
-				destinationName == null ? EMPTY_STRING : ARG_DESTINATION_NAME, //
-				destinationName == null ? EMPTY_STRING : destinationName};
-
-		try {
-			runMirrorApplication(args);
-		} catch (Exception e) {
-			throw new BuildException("Error occurred while running metadata mirror application.", e);
-		}
-	}
-
-	/*
-	 * Set the source location.
-	 */
-	public void setSource(String value) throws MalformedURLException {
-		source = new URL(value);
-	}
-
-	/*
-	 * Set the destination location.
-	 */
-	public void setDestination(String value) throws MalformedURLException {
-		destination = new URL(value);
-	}
-
-	/*
-	 * Set the destination name.
-	 */
-	public void setDestinationName(String value) {
-		destinationName = value;
-	}
-
-	/*
-	 * Set the write mode for the application. (e.g. clean or append)
-	 */
-	public void setWriteMode(String value) {
-		writeMode = value;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java
deleted file mode 100644
index 83f69b6..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src_ant/org/eclipse/equinox/internal/p2/metadata/repository/ant/RemoveChildTask.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.Activator;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * Ant task to remove a specific child repository (or all the children repositories) 
- * from a composite metadata repository.
- */
-public class RemoveChildTask extends Task {
-
-	URI location; // location of the composite repository
-	URI child; // address of the child to be removed
-	boolean allChildren; // should we remove all the children?
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new BuildException("Unable to aquire metadata repository manager service.");
-
-		CompositeMetadataRepository repo;
-		try {
-			repo = (CompositeMetadataRepository) manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			throw new BuildException("Error occurred while loading repository.", e);
-		}
-
-		// remove all the children repositories if requested, otherwise
-		// just remove the specific child
-		if (allChildren)
-			repo.removeAllChildren();
-		else
-			repo.removeChild(child);
-	}
-
-	/*
-	 * Set the location of the composite repository.
-	 */
-	public void setLocation(String value) throws URISyntaxException {
-		location = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set the location of the child repository to remove.
-	 */
-	public void setChild(String value) throws URISyntaxException {
-		child = URIUtil.fromString(value);
-	}
-
-	/*
-	 * Set whether or not we should remove all the children.
-	 */
-	public void setAllChildren(String value) {
-		allChildren = Boolean.valueOf(value).booleanValue();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.classpath b/bundles/org.eclipse.equinox.p2.metadata/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.project b/bundles/org.eclipse.equinox.p2.metadata/.project
deleted file mode 100644
index f697ae2..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.metadata</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ed5b63b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,347 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 38d7fa9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
deleted file mode 100644
index c469471..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,100 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.metadata;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 2.0.0.qualifier
-Export-Package: org.eclipse.equinox.internal.p2.metadata;
-  x-friends:="org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.common,
-   org.eclipse.equinox.p2.publisher,
-    org.eclipse.equinox.p2.director",
- org.eclipse.equinox.internal.provisional.p2.metadata;
-  x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.common,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.core,
-   org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.exemplarysetup,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.garbagecollector,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.jarprocessor,
-   org.eclipse.equinox.p2.metadata,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.equinox.p2.ql,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.updatechecker,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.pde.ui,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.pde.core",
- org.eclipse.equinox.internal.provisional.p2.metadata.query;
-  x-friends:="org.eclipse.equinox.p2.artifact.optimizers,
-   org.eclipse.equinox.p2.artifact.processors,
-   org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.common,
-   org.eclipse.equinox.p2.core,
-   org.eclipse.equinox.p2.director,
-   org.eclipse.equinox.p2.director.app,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.engine,
-   org.eclipse.equinox.p2.exemplarysetup,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.garbagecollector,
-   org.eclipse.equinox.p2.installer,
-   org.eclipse.equinox.p2.jarprocessor,
-   org.eclipse.equinox.p2.metadata,
-   org.eclipse.equinox.p2.metadata.generator,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.ql,
-   org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.touchpoint.natives,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.ui.admin,
-   org.eclipse.equinox.p2.ui.admin.rcp,
-   org.eclipse.equinox.p2.ui.sdk,
-   org.eclipse.equinox.p2.ui.sdk.scheduler,
-   org.eclipse.equinox.p2.updatechecker,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.publisher,
-   org.eclipse.pde.ui,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.pde.core",
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query
-Import-Package: org.eclipse.osgi.service.localization;version="1.0.0",
- org.eclipse.osgi.util,
- org.osgi.framework;version="1.3.0"
-Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.MetadataActivator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.equinox.p2.core,
- org.eclipse.osgi;bundle-version="3.5.0"
diff --git a/bundles/org.eclipse.equinox.p2.metadata/about.html b/bundles/org.eclipse.equinox.p2.metadata/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/build.properties b/bundles/org.eclipse.equinox.p2.metadata/build.properties
deleted file mode 100644
index a6b8330..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.metadata/plugin.properties b/bundles/org.eclipse.equinox.p2.metadata/plugin.properties
deleted file mode 100644
index 7dc6c1d..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Metadata
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
deleted file mode 100644
index 5e83722..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ArtifactKey.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/** 
- * The concrete type for representing IArtifactKey's.
- * <p>
- * See {link IArtifact for a description of the lifecycle of artifact keys) 
- */
-public class ArtifactKey implements IArtifactKey {
-	private static final String SEPARATOR = ","; //$NON-NLS-1$
-
-	private final String id;
-	private final String classifier;
-	private final Version version;
-
-	private static String[] getArrayFromList(String stringList, String separator) {
-		if (stringList == null || stringList.trim().length() == 0)
-			return new String[0];
-		ArrayList list = new ArrayList();
-		boolean separatorSeen = true;
-		StringTokenizer tokens = new StringTokenizer(stringList, separator, true);
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken().trim();
-			if (token.equals(separator)) {
-				if (separatorSeen)
-					list.add(""); //$NON-NLS-1$
-				separatorSeen = true;
-			} else {
-				separatorSeen = false;
-				if (token.length() != 0)
-					list.add(token);
-			}
-		}
-		if (separatorSeen)
-			list.add(""); //$NON-NLS-1$
-		return (String[]) list.toArray(new String[list.size()]);
-	}
-
-	public static IArtifactKey parse(String specification) {
-		String[] parts = getArrayFromList(specification, SEPARATOR);
-		if (parts.length < 2 || parts.length > 3)
-			throw new IllegalArgumentException("Unexpected number of parts in artifact key: " + specification); //$NON-NLS-1$
-		Version version = Version.emptyVersion;
-		if (parts.length == 3 && parts[2].trim().length() > 0)
-			version = Version.parseVersion(parts[2]);
-		try {
-			return new ArtifactKey(parts[0], parts[1], version);
-		} catch (IllegalArgumentException e) {
-			throw (IllegalArgumentException) new IllegalArgumentException("Wrong version syntax in artifact key: " + specification).initCause(e); //$NON-NLS-1$
-		}
-	}
-
-	public ArtifactKey(String classifier, String id, Version version) {
-		super();
-		Assert.isNotNull(classifier);
-		Assert.isNotNull(id);
-		Assert.isNotNull(version);
-		if (classifier.indexOf(SEPARATOR) != -1)
-			throw new IllegalArgumentException("comma not allowed in classifier"); //$NON-NLS-1$
-		if (id.indexOf(SEPARATOR) != -1)
-			throw new IllegalArgumentException("comma not allowed in id"); //$NON-NLS-1$
-		this.classifier = classifier;
-		this.id = id;
-		this.version = version;
-	}
-
-	public ArtifactKey(IArtifactKey artifactKey) {
-		this.classifier = artifactKey.getClassifier();
-		this.id = artifactKey.getId();
-		this.version = artifactKey.getVersion();
-	}
-
-	public String getClassifier() {
-		return classifier;
-	}
-
-	public Version getVersion() {
-		return version;
-	}
-
-	public int hashCode() {
-		int hash = id.hashCode();
-		hash = 17 * hash + getVersion().hashCode();
-		hash = 17 * hash + classifier.hashCode();
-		return hash;
-	}
-
-	public String toString() {
-		return classifier + SEPARATOR + id + SEPARATOR + getVersion();
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof IArtifactKey))
-			return false;
-		IArtifactKey ak = (IArtifactKey) obj;
-		return ak.getId().equals(id) && ak.getVersion().equals(getVersion()) && ak.getClassifier().equals(classifier);
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String toExternalForm() {
-		StringBuffer data = new StringBuffer(classifier).append(SEPARATOR);
-		data.append(id).append(SEPARATOR);
-		data.append(version.toString());
-		return data.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
deleted file mode 100644
index 12d20d4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * The abstract BasicVersion class adds the methods necessary to to compare and serialize
- * versions in version ranges. The class is not intended as public API.
- */
-public abstract class BasicVersion extends Version {
-	private static final long serialVersionUID = -2983093417537485027L;
-
-	/**
-	 * Returns the OSGi major component of this version identifier.
-	 * 
-	 * @return The major component.
-	 * @throws UnsupportedOperationException if the first element in the
-	 * vector is not a number.
-	 * @see #isOSGiCompatible()
-	 */
-	public abstract int getMajor();
-
-	/**
-	 * Returns the OSGi micro component of this version identifier.
-	 * 
-	 * @return The micro component.
-	 * @throws UnsupportedOperationException if the third element in the
-	 * vector is not a number.
-	 * @see #isOSGiCompatible()
-	 */
-	public abstract int getMicro();
-
-	/**
-	 * Returns the OSGi minor component of this version identifier.
-	 * 
-	 * @return The minor component.
-	 * @throws UnsupportedOperationException if the second element in the
-	 * vector is not a number.
-	 * @see #isOSGiCompatible()
-	 */
-	public abstract int getMinor();
-
-	/**
-	 * Returns the OSGi qualifier component of this version identifier.
-	 * 
-	 * @return The qualifier component or <code>null</code> if not set.
-	 * @throws UnsupportedOperationException if the fourth element in the
-	 * vector is set to something other then a string.
-	 * @see #isOSGiCompatible()
-	 */
-	public abstract String getQualifier();
-
-	/**
-	 * Appends the original for this version onto the <code>sb</code> StringBuffer
-	 * if present.
-	 * @param sb The buffer that will receive the raw string format
-	 * @param rangeSafe Set to <code>true</code> if range delimiters should be escaped
-	 */
-	public abstract void originalToString(StringBuffer sb, boolean rangeSafe);
-
-	/**
-	 * Appends the raw format for this version onto the <code>sb</code> StringBuffer.
-	 * @param sb The buffer that will receive the raw string format
-	 * @param rangeSafe Set to <code>true</code> if range delimiters should be escaped
-	 */
-	public abstract void rawToString(StringBuffer sb, boolean rangeSafe);
-
-	/**
-	 * This method is package protected since it violates the immutable
-	 * contract.
-	 * @return The raw vector. Must be treated as read-only
-	 */
-	abstract Comparable[] getVector();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Copyright.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Copyright.java
deleted file mode 100644
index e4dc99a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Copyright.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.net.URI;
-
-/**
- * The <code>Copyright</code> class represents a software copyright.  A copyright has 
- * required body text which may be the full text or a summary.  An optional location field can be specified
- * which links to full text.  
- */
-public class Copyright implements ICopyright {
-	/**
-	 * The <code>body</code> contains the descriptive text for the copyright. This may
-	 * be a summary for a copyright specified in a URL.
-	 */
-	private final String body;
-
-	/**
-	 * The <code>location</code> is the location of a document containing a copyright notice.
-	 */
-	private URI location;
-
-	/**
-	 * Creates a new copyright. The body must contain the full text of the copyright.
-	 * 
-	 * @param location the location of a document containing the copyright notice, or <code>null</code>
-	 * @param body the copyright body, cannot be <code>null</code>
-	 * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
-	 */
-	public Copyright(URI location, String body) {
-		if (body == null)
-			throw new IllegalArgumentException("body cannot be null"); //$NON-NLS-1$
-		this.location = location;
-		this.body = body;
-	}
-
-	/**
-	 * Returns the location of a document containing the copyright notice.
-	 * 
-	 * @return The location of the copyright notice, or <code>null</code>
-	 */
-	public URI getLocation() {
-		return location;
-	}
-
-	/**
-	 * Returns the license body.
-	 * 
-	 * @return the license body, never <code>null</code>
-	 */
-	public String getBody() {
-		return body;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/IRequiredCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/IRequiredCapability.java
deleted file mode 100644
index ef42ebd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/IRequiredCapability.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IMatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * A required capability represents some external constraint on an {@link IInstallableUnit}.
- * Each capability represents something an {@link IInstallableUnit} needs that
- * it expects to be provided by another {@link IInstallableUnit}. Capabilities are
- * entirely generic, and are intended to be capable of representing anything that
- * an {@link IInstallableUnit} may need either at install time, or at runtime.
- * <p>
- * Capabilities are segmented into namespaces.  Anyone can introduce new 
- * capability namespaces. Some well-known namespaces are introduced directly
- * by the provisioning framework.
- * 
- * @see IInstallableUnit#NAMESPACE_IU_ID
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IRequiredCapability extends IMatchQuery, IRequirement {
-
-	//	public String getFilter();
-
-	public String getName();
-
-	public String getNamespace();
-
-	/**
-	 * Returns the range of versions that satisfy this required capability. Returns
-	 * an empty version range ({@link VersionRange#emptyRange} if any version
-	 * will satisfy the capability.
-	 * @return the range of versions that satisfy this required capability.
-	 */
-	public VersionRange getRange();
-
-	public boolean equals(Object other);
-
-	public boolean satisfiedBy(IProvidedCapability cap);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
deleted file mode 100644
index 7dd5783..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class InstallableUnit implements IInstallableUnit {
-
-	private static final OrderedProperties NO_PROPERTIES = new OrderedProperties();
-	private static final IProvidedCapability[] NO_PROVIDES = new IProvidedCapability[0];
-	private static final IRequirement[] NO_REQUIRES = new IRequirement[0];
-	private static final IArtifactKey[] NO_ARTIFACTS = new IArtifactKey[0];
-	private static final ITouchpointData[] NO_TOUCHPOINT_DATA = new ITouchpointData[0];
-	private static final ILicense[] NO_LICENSE = new ILicense[0];
-
-	private IArtifactKey[] artifacts = NO_ARTIFACTS;
-	private LDAPQuery filter;
-
-	private String id;
-
-	private OrderedProperties properties;
-	private OrderedProperties localizedProperties;
-	IProvidedCapability[] providedCapabilities = NO_PROVIDES;
-	private IRequirement[] requires = NO_REQUIRES;
-	private IRequirement[] metaRequires = NO_REQUIRES;
-
-	private boolean singleton;
-
-	private ArrayList touchpointData = null;
-
-	private ITouchpointType touchpointType;
-
-	private Version version = Version.emptyVersion;
-
-	private IUpdateDescriptor updateInfo;
-	private ILicense[] licenses = NO_LICENSE;
-	private ICopyright copyright;
-
-	public InstallableUnit() {
-		super();
-	}
-
-	public void addTouchpointData(ITouchpointData newData) {
-		ensureTouchpointDataCapacity(1);
-		touchpointData.add(newData);
-	}
-
-	public int compareTo(Object toCompareTo) {
-		if (!(toCompareTo instanceof IInstallableUnit)) {
-			return -1;
-		}
-		IInstallableUnit other = (IInstallableUnit) toCompareTo;
-		if (getId().compareTo(other.getId()) == 0)
-			return (getVersion().compareTo(other.getVersion()));
-		return getId().compareTo(other.getId());
-	}
-
-	private void ensureTouchpointDataCapacity(int size) {
-		if (touchpointData != null) {
-			touchpointData.ensureCapacity(size);
-		} else {
-			touchpointData = new ArrayList(size);
-		}
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof IInstallableUnit))
-			return false;
-		final IInstallableUnit other = (IInstallableUnit) obj;
-		if (id == null) {
-			if (other.getId() != null)
-				return false;
-		} else if (!id.equals(other.getId()))
-			return false;
-		if (getVersion() == null) {
-			if (other.getVersion() != null)
-				return false;
-		} else if (!getVersion().equals(other.getVersion()))
-			return false;
-		return true;
-	}
-
-	public IArtifactKey[] getArtifacts() {
-		return artifacts;
-	}
-
-	public IQuery getFilter() {
-		return filter;
-	}
-
-	public IInstallableUnitFragment[] getFragments() {
-		return null;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Get an <i>unmodifiable copy</i> of the properties
-	 * associated with the installable unit.
-	 * 
-	 * @return an <i>unmodifiable copy</i> of the IU properties.
-	 */
-	public Map getProperties() {
-		return OrderedProperties.unmodifiableProperties(properties());
-	}
-
-	/*
-	 * Helper method to cache localized properties
-	 */
-	public String getLocalizedProperty(String key) {
-		String result = null;
-		if (localizedProperties != null)
-			result = localizedProperties.getProperty(key);
-		return result;
-	}
-
-	public String getProperty(String key) {
-		return properties().getProperty(key);
-	}
-
-	public IProvidedCapability[] getProvidedCapabilities() {
-		return providedCapabilities;
-	}
-
-	public IRequirement[] getRequiredCapabilities() {
-		return requires;
-
-	}
-
-	public ITouchpointData[] getTouchpointData() {
-		return (touchpointData == null ? NO_TOUCHPOINT_DATA //
-				: (ITouchpointData[]) touchpointData.toArray(new ITouchpointData[touchpointData.size()]));
-	}
-
-	public ITouchpointType getTouchpointType() {
-		return touchpointType != null ? touchpointType : ITouchpointType.NONE;
-	}
-
-	public Version getVersion() {
-		return version;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((id == null) ? 0 : id.hashCode());
-		result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
-		return result;
-	}
-
-	public boolean isResolved() {
-		return false;
-	}
-
-	public boolean isSingleton() {
-		return singleton;
-	}
-
-	private OrderedProperties properties() {
-		return (properties != null ? properties : NO_PROPERTIES);
-	}
-
-	public void setArtifacts(IArtifactKey[] value) {
-		if (value == null || value.length == 0)
-			artifacts = NO_ARTIFACTS;
-		else
-			artifacts = value;
-	}
-
-	public void setCapabilities(IProvidedCapability[] newCapabilities) {
-		if (newCapabilities == null || newCapabilities.length == 0)
-			providedCapabilities = NO_PROVIDES;
-		else
-			providedCapabilities = newCapabilities;
-	}
-
-	public void setFilter(String filter) {
-		if (filter != null)
-			this.filter = new LDAPQuery(filter);
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	/*
-	 * Helper method to cache localized properties
-	 */
-	public String setLocalizedProperty(String key, String value) {
-		if (localizedProperties == null)
-			localizedProperties = new OrderedProperties();
-		return (String) localizedProperties.put(key, value);
-	}
-
-	public String setProperty(String key, String value) {
-		if (value == null)
-			return (properties != null ? (String) properties.remove(key) : null);
-		if (properties == null)
-			properties = new OrderedProperties();
-		return (String) properties.setProperty(key, value);
-	}
-
-	public void setRequiredCapabilities(IRequirement[] capabilities) {
-		if (capabilities.length == 0) {
-			this.requires = NO_REQUIRES;
-		} else {
-			//copy array for safety
-			this.requires = (IRequirement[]) capabilities.clone();
-		}
-	}
-
-	public void setSingleton(boolean singleton) {
-		this.singleton = singleton;
-	}
-
-	public void setTouchpointType(ITouchpointType type) {
-		this.touchpointType = (type != ITouchpointType.NONE ? type : null);
-	}
-
-	public void setVersion(Version newVersion) {
-		this.version = (newVersion != null ? newVersion : Version.emptyVersion);
-	}
-
-	public String toString() {
-		return id + ' ' + getVersion();
-	}
-
-	public IInstallableUnit unresolved() {
-		return this;
-	}
-
-	public IUpdateDescriptor getUpdateDescriptor() {
-		return updateInfo;
-	}
-
-	public void setUpdateDescriptor(IUpdateDescriptor updateInfo) {
-		this.updateInfo = updateInfo;
-	}
-
-	public void setLicenses(ILicense[] license) {
-		this.licenses = license;
-	}
-
-	public ILicense[] getLicenses() {
-		return licenses;
-	}
-
-	public void setCopyright(ICopyright copyright) {
-		this.copyright = copyright;
-	}
-
-	public ICopyright getCopyright() {
-		return copyright;
-	}
-
-	public boolean satisfies(IRequirement candidate) {
-		if (candidate.getMatches() instanceof RequiredCapability) {
-			for (int i = 0; i < providedCapabilities.length; i++) {
-				if (((IRequiredCapability) candidate).satisfiedBy(providedCapabilities[i]))
-					return true;
-			}
-		} else {
-			throw new IllegalArgumentException();
-		}
-		return false;
-	}
-
-	public IRequirement[] getMetaRequiredCapabilities() {
-		return metaRequires;
-	}
-
-	public void setMetaRequiredCapabilities(IRequirement[] metaReqs) {
-		if (metaReqs.length == 0) {
-			this.metaRequires = NO_REQUIRES;
-		} else {
-			//copy array for safety
-			this.metaRequires = (IRequirement[]) metaReqs.clone();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
deleted file mode 100644
index 41b76cc..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-public class InstallableUnitFragment extends InstallableUnit implements IInstallableUnitFragment {
-
-	private IRequirement[] hostRequirements;
-
-	public InstallableUnitFragment() {
-		super();
-	}
-
-	public void setHost(IRequirement[] hostRequirements) {
-		if (hostRequirements == null)
-			return;
-		this.hostRequirements = hostRequirements;
-		addRequiredCapability(hostRequirements);
-	}
-
-	private void addRequiredCapability(IRequirement[] toAdd) {
-		IRequirement[] current = super.getRequiredCapabilities();
-		IRequirement[] result = new IRequirement[current.length + toAdd.length];
-		System.arraycopy(current, 0, result, 0, current.length);
-		System.arraycopy(toAdd, 0, result, current.length, toAdd.length);
-		setRequiredCapabilities(result);
-	}
-
-	public IRequirement[] getHost() {
-		return hostRequirements;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
deleted file mode 100644
index 27fd607..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-public class InstallableUnitPatch extends InstallableUnit implements IInstallableUnitPatch {
-	private IRequirementChange[] changes;
-	private IRequirement lifeCycle;
-	private IRequirement[][] scope;
-
-	private void addRequiredCapability(IRequirement[] toAdd) {
-		IRequirement[] current = super.getRequiredCapabilities();
-		IRequirement[] result = new IRequirement[current.length + toAdd.length];
-		System.arraycopy(current, 0, result, 0, current.length);
-		System.arraycopy(toAdd, 0, result, current.length, toAdd.length);
-		setRequiredCapabilities(result);
-	}
-
-	public IRequirement[][] getApplicabilityScope() {
-		return scope;
-	}
-
-	public IRequirement getLifeCycle() {
-		return lifeCycle;
-	}
-
-	public IRequirementChange[] getRequirementsChange() {
-		return changes;
-	}
-
-	public void setApplicabilityScope(IRequirement[][] applyTo) {
-		scope = applyTo;
-	}
-
-	public void setLifeCycle(IRequirement lifeCycle) {
-		if (lifeCycle == null)
-			return;
-		this.lifeCycle = lifeCycle;
-		addRequiredCapability(new IRequirement[] {lifeCycle});
-	}
-
-	public void setRequirementsChange(IRequirementChange[] changes) {
-		this.changes = changes;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/LDAPQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/LDAPQuery.java
deleted file mode 100644
index 1752322..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/LDAPQuery.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.Iterator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class LDAPQuery implements IQuery {
-	private String filter;
-
-	public LDAPQuery(String filter) {
-		this.filter = filter;
-	}
-
-	public String getFilter() {
-		return filter;
-	}
-
-	public Collector perform(Iterator iterator, Collector result) {
-		throw new IllegalStateException();
-	}
-
-	public String getId() {
-		return null;
-	}
-
-	public Object getProperty(String property) {
-		return null;
-	}
-
-	public void setFilter(String text) {
-		filter = text;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj instanceof LDAPQuery)
-			return filter.equals(((LDAPQuery) obj).getFilter());
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/License.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/License.java
deleted file mode 100644
index 112956f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/License.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Genuitec, LLC 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: 
- * 		Genuitec, LLC - initial API and implementation
- * 		IBM Corporation - ongoing development
- *      EclipseSource - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-import java.net.URI;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense;
-
-/**
- * The <code>License</code> class represents a software license.  A license has required body text
- * which may be the full text or an annotation.  An optional URL field can be specified
- * which links to full text.  Licenses can be easily compared using their digests.
- */
-public class License implements ILicense {
-	/**
-	 * The <code>body</code> contains the descriptive text for the license. This may
-	 * be a summary for a full license specified in a URL.
-	 */
-	private final String body;
-
-	/**
-	 * The <code>location</code> is the URL of the license.
-	 */
-	private URI location;
-
-	/**
-	 * The <code>digest</code> is the cached message digest of the normalized body
-	 */
-	private BigInteger digest;
-
-	/**
-	 * Creates a new license object which is identified by users using the <code>body</code> field.
-	 * The body should contain either the full text of the license or an summary for a license
-	 * fully specified in the given location.
-	 * 
-	 * @param location the location of a document containing the full license, or <code>null</code>
-	 * @param body the license body, cannot be <code>null</code>
-	 * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
-	 */
-	public License(URI location, String body) {
-		if (body == null)
-			throw new IllegalArgumentException("body cannot be null"); //$NON-NLS-1$
-		this.body = body;
-		this.location = location;
-	}
-
-	/**
-	 * Returns the location of a document containing the full license.
-	 * 
-	 * @return the location of the license document, or <code>null</code>
-	 */
-	public URI getLocation() {
-		return location;
-	}
-
-	/**
-	 * Returns the license body.
-	 * @return the license body, never <code>null</code>
-	 */
-	public String getBody() {
-		return body;
-	}
-
-	/**
-	 * Returns the message digest of the license body.  The digest is calculated on a normalized
-	 * version of the license where all whitespace has been reduced to one space.
-	 * @return the message digest as a <code>BigInteger</code>, never <code>null</code>
-	 */
-	public synchronized BigInteger getDigest() {
-		if (digest == null)
-			digest = calculateLicenseDigest();
-		return digest;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj == this)
-			return true;
-		if (obj == null)
-			return false;
-		if (obj instanceof ILicense) {
-			ILicense other = (ILicense) obj;
-			if (other.getDigest().equals(getDigest()))
-				return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getDigest().hashCode();
-	}
-
-	private BigInteger calculateLicenseDigest() {
-		String message = normalize(getBody());
-		try {
-			MessageDigest algorithm = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-			algorithm.reset();
-			algorithm.update(message.getBytes("UTF-8")); //$NON-NLS-1$
-			byte[] digestBytes = algorithm.digest();
-			return new BigInteger(1, digestBytes);
-		} catch (NoSuchAlgorithmException e) {
-			throw new RuntimeException(e);
-		} catch (UnsupportedEncodingException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	/**
-	 * Replace all sequences of whitespace with a single whitespace character.
-	 */
-	private String normalize(String license) {
-		String text = license.trim();
-		StringBuffer result = new StringBuffer();
-		int length = text.length();
-		for (int i = 0; i < length; i++) {
-			char c = text.charAt(i);
-			boolean foundWhitespace = false;
-			while (Character.isWhitespace(c) && i < length) {
-				foundWhitespace = true;
-				c = text.charAt(++i);
-			}
-			if (foundWhitespace)
-				result.append(' ');
-			if (i < length)
-				result.append(c);
-		}
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
deleted file mode 100644
index d03fc38..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/Messages.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * TODO Shouldn't be a public class in an API package.
- */
-public class Messages extends NLS {
-
-	public static String _0_is_not_a_valid_qualifier_in_osgi_1;
-
-	public static String array_can_not_be_empty;
-
-	public static String array_can_not_have_character_group;
-
-	public static String auto_can_not_have_pad_value;
-
-	public static String cannot_combine_ignore_with_other_instruction;
-
-	public static String cannot_combine_range_upper_bound_with_pad_value;
-
-	public static String character_group_defined_more_then_once;
-
-	public static String colon_expected_before_original_version_0;
-
-	public static String default_defined_more_then_once;
-
-	public static String delimiter_can_not_be_ignored;
-
-	public static String delimiter_can_not_have_default_value;
-
-	public static String delimiter_can_not_have_pad_value;
-
-	public static String delimiter_can_not_have_range;
-
-	public static String EOS_after_escape;
-
-	public static String expected_orignal_after_colon_0;
-
-	public static String expected_orignal_after_slash_0;
-
-	public static String expected_slash_after_raw_vector_0;
-
-	public static String format_0_unable_to_parse_1;
-
-	public static String format_0_unable_to_parse_empty_version;
-
-	public static String format_is_empty;
-
-	public static String format_must_be_delimited_by_colon_0;
-
-	public static String group_can_not_be_empty;
-
-	public static String ignore_defined_more_then_once;
-
-	public static String illegal_character_encountered_ascii_0;
-
-	public static String missing_comma_in_range_0;
-
-	public static String negative_character_range;
-
-	public static String neither_raw_vector_nor_format_specified_0;
-
-	public static String number_can_not_have_pad_value;
-
-	public static String only_format_specified_0;
-
-	public static String only_max_and_empty_string_defaults_can_have_translations;
-
-	public static String original_must_start_with_colon_0;
-
-	public static String original_stated_but_missing_0;
-
-	public static String pad_defined_more_then_once;
-
-	public static String performing_subquery;
-
-	public static String premature_end_of_format;
-
-	public static String premature_end_of_format_expected_0;
-
-	public static String premature_EOS_0;
-
-	public static String range_boundaries_0_and_1_cannot_have_different_formats;
-
-	public static String range_defined_more_then_once;
-
-	public static String range_max_cannot_be_less_then_range_min;
-
-	public static String range_max_cannot_be_zero;
-
-	public static String range_min_0_is_not_less_then_range_max_1;
-
-	public static String raw_and_original_must_use_same_range_inclusion_0;
-
-	public static String raw_element_can_not_have_pad_value;
-
-	public static String raw_element_expected_0;
-
-	public static String string_can_not_have_pad_value;
-
-	public static String syntax_error_in_version_format_0_1_2;
-
-	public static String syntax_error_in_version_format_0_1_found_2_expected_3;
-
-	public static String unbalanced_format_parenthesis;
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.messages"; //$NON-NLS-1$
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Prevent instance creation
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
deleted file mode 100644
index 40881fc..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/MetadataActivator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class MetadataActivator implements BundleActivator {
-	public static final String PI_METADATA = "org.eclipse.equinox.p2.metadata"; //$NON-NLS-1$
-	public static BundleContext context;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext aContext) throws Exception {
-		MetadataActivator.context = aContext;
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		MetadataActivator.context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
deleted file mode 100644
index 3369d86..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IVersionFormat;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @Immutable
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class OSGiVersion extends BasicVersion {
-
-	private static final long serialVersionUID = -4530178927569560877L;
-
-	private static final boolean[] allowedOSGiChars;
-
-	private final int major;
-
-	private final int minor;
-
-	private final int micro;
-
-	private final Comparable qualifier;
-
-	static {
-		allowedOSGiChars = new boolean[128];
-		for (int c = '0'; c <= '9'; ++c)
-			allowedOSGiChars[c] = true;
-		for (int c = 'A'; c <= 'Z'; ++c)
-			allowedOSGiChars[c] = true;
-		for (int c = 'a'; c <= 'z'; ++c)
-			allowedOSGiChars[c] = true;
-		allowedOSGiChars['_'] = true;
-		allowedOSGiChars['-'] = true;
-	}
-
-	public static boolean isValidOSGiQualifier(Comparable e) {
-		if (e == VersionVector.MAXS_VALUE)
-			return true;
-
-		if (!(e instanceof String))
-			return false;
-
-		String s = (String) e;
-		int idx = s.length();
-		boolean[] allowed = allowedOSGiChars;
-		while (--idx >= 0) {
-			int c = s.charAt(idx);
-			if (c < '-' || c > 'z' || !allowed[c])
-				return false;
-		}
-		return true;
-	}
-
-	static BasicVersion fromVector(Comparable[] vector, Comparable pad) {
-		if (vector.length != 4) {
-			if (vector.length == 0) {
-				if (pad == null)
-					return (BasicVersion) emptyVersion;
-				if (pad == VersionVector.MAX_VALUE)
-					return (BasicVersion) MAX_VERSION;
-			}
-			throw new IllegalArgumentException();
-		}
-		int major = ((Integer) vector[0]).intValue();
-		int minor = ((Integer) vector[1]).intValue();
-		int micro = ((Integer) vector[2]).intValue();
-		Comparable qualifier = vector[3];
-		return (major == 0 && minor == 0 && micro == 0 && qualifier == VersionVector.MINS_VALUE) ? (BasicVersion) emptyVersion : new OSGiVersion(major, minor, micro, qualifier);
-	}
-
-	public OSGiVersion(int major, int minor, int micro, Comparable qualifier) {
-		this.major = major;
-		this.minor = minor;
-		this.micro = micro;
-		if (!isValidOSGiQualifier(qualifier))
-			throw new IllegalArgumentException(NLS.bind(Messages._0_is_not_a_valid_qualifier_in_osgi_1, "qualifier", this)); //$NON-NLS-1$
-		this.qualifier = qualifier;
-	}
-
-	public int compareTo(Object v) {
-		int result;
-		if (!(v instanceof OSGiVersion)) {
-			BasicVersion ov = (BasicVersion) v;
-			result = VersionVector.compare(getVector(), null, ov.getVector(), ov.getPad());
-		} else {
-			OSGiVersion ov = (OSGiVersion) v;
-			result = major - ov.major;
-			if (result == 0) {
-				result = minor - ov.minor;
-				if (result == 0) {
-					result = micro - ov.micro;
-					if (result == 0)
-						result = qualifier.compareTo(ov.qualifier);
-				}
-			}
-		}
-		return result;
-	}
-
-	public boolean equals(Object object) {
-		if (object == this)
-			return true;
-
-		if (!(object instanceof OSGiVersion)) {
-			if (object instanceof BasicVersion) {
-				BasicVersion ov = (BasicVersion) object;
-				return VersionVector.equals(getVector(), null, ov.getVector(), ov.getPad());
-			}
-			return false;
-		}
-
-		OSGiVersion other = (OSGiVersion) object;
-		return micro == other.micro && minor == other.minor && major == other.major && qualifier.equals(other.qualifier);
-	}
-
-	public IVersionFormat getFormat() {
-		return VersionFormat.OSGI_FORMAT;
-	}
-
-	public int getMajor() {
-		return major;
-	}
-
-	public int getMicro() {
-		return micro;
-	}
-
-	public int getMinor() {
-		return minor;
-	}
-
-	public String getOriginal() {
-		return toString();
-	}
-
-	public String getQualifier() {
-		return qualifier == VersionVector.MAXS_VALUE ? IVersionFormat.DEFAULT_MAX_STRING_TRANSLATION : (String) qualifier;
-	}
-
-	public int hashCode() {
-		return (major << 24) + (minor << 16) + (micro << 8) + qualifier.hashCode();
-	}
-
-	public boolean isOSGiCompatible() {
-		return true;
-	}
-
-	public void originalToString(StringBuffer sb, boolean rangeSafe) {
-		toString(sb);
-	}
-
-	public void rawToString(StringBuffer sb, boolean rangeSafe) {
-		sb.append(major);
-		sb.append('.');
-		sb.append(minor);
-		sb.append('.');
-		sb.append(micro);
-		sb.append('.');
-		sb.append('\'');
-		sb.append(qualifier);
-		sb.append('\'');
-	}
-
-	public void toString(StringBuffer sb) {
-		sb.append(major);
-		sb.append('.');
-		sb.append(minor);
-		sb.append('.');
-		sb.append(micro);
-		if (qualifier != VersionVector.MINS_VALUE) {
-			sb.append('.');
-			sb.append(getQualifier());
-		}
-	}
-
-	public Comparable[] getVector() {
-		return new Comparable[] {VersionParser.valueOf(major), VersionParser.valueOf(minor), VersionParser.valueOf(micro), qualifier};
-	}
-
-	public Comparable getPad() {
-		return null;
-	}
-
-	public Comparable getSegment(int index) {
-		switch (index) {
-			case 0 :
-				return VersionParser.valueOf(major);
-			case 1 :
-				return VersionParser.valueOf(minor);
-			case 2 :
-				return VersionParser.valueOf(micro);
-			case 3 :
-				return qualifier;
-		}
-		throw new ArrayIndexOutOfBoundsException(index); // Not in the imaginary vector array
-	}
-
-	public int getSegmentCount() {
-		return 4;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
deleted file mode 100644
index 2723c9b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IVersionFormat;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * <p>The Generic Omni Version is composed of a vector of Comparable objects and a pad value. The pad
- * might be <code>null</code>. The vector can contain integers, strings, {@link VersionVector}
- * instances, or one of the special objects {@link VersionVector#MAX_VALUE MAX_VALUE},
- * {@link VersionVector#MAXS_VALUE MAXS_VALUE}, or {@link VersionVector#MIN_VALUE MIN_VALUE}.</p>
- *
- * <p>When two versions are compared, they are always considered padded to infinity by their
- * pad value or by {@link VersionVector#MIN_VALUE MIN_VALUE} in case the pad value is
- * <code>null</code>. The comparison is type sensitive so that:</p><pre>
- * MAX_VALUE &gt; Integer &gt; VersionVector &gt; MAXS_VALUE &gt; String &gt; MIN_VALUE<br/>
- * </pre>
- *
- * @Immutable
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class OmniVersion extends BasicVersion {
-	private static final long serialVersionUID = 1996212688810048879L;
-
-	private static OmniVersion minimumVersion;
-
-	private static OmniVersion maximumVersion;
-
-	private final Comparable[] vector;
-
-	private final Comparable padValue;
-
-	/**
-	 * The optional format
-	 */
-	private final IVersionFormat format;
-
-	/**
-	 * The optional original string
-	 */
-	private final String original;
-
-	static BasicVersion fromVector(Comparable[] vector, Comparable padValue, IVersionFormat format, String original) {
-		if (vector.length == 0) {
-			if (padValue == null)
-				return (BasicVersion) emptyVersion;
-			if (padValue == VersionVector.MAX_VALUE)
-				return (BasicVersion) MAX_VERSION;
-		}
-		if (vector.length == 3 && padValue == null && vector[0] == VersionParser.ZERO_INT && vector[1] == VersionParser.ZERO_INT && vector[2] == VersionParser.ZERO_INT)
-			return (BasicVersion) emptyVersion;
-
-		return new OmniVersion(vector, padValue, format, original);
-	}
-
-	public static Version createMinVersion() {
-		if (minimumVersion == null)
-			minimumVersion = new OmniVersion(new Comparable[0], null, null, null);
-		return minimumVersion;
-	}
-
-	public static Version createMaxVersion() {
-		if (maximumVersion == null)
-			maximumVersion = new OmniVersion(new Comparable[0], VersionVector.MAX_VALUE, null, null);
-		return maximumVersion;
-	}
-
-	private OmniVersion(Comparable[] array, Comparable padValue, IVersionFormat format, String original) {
-		this.vector = array;
-		this.padValue = padValue;
-		this.format = format;
-		this.original = original;
-	}
-
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (!(o instanceof BasicVersion))
-			return false;
-
-		BasicVersion ov = (BasicVersion) o;
-		return VersionVector.equals(vector, padValue, ov.getVector(), ov.getPad());
-	}
-
-	public IVersionFormat getFormat() {
-		return format;
-	}
-
-	public int getMajor() {
-		return getIntElement(0);
-	}
-
-	public int getMicro() {
-		return getIntElement(2);
-	}
-
-	public int getMinor() {
-		return getIntElement(1);
-	}
-
-	public String getOriginal() {
-		return original;
-	}
-
-	public String getQualifier() {
-		if (vector.length == 3)
-			return VersionVector.MINS_VALUE;
-
-		if (vector.length != 4)
-			throw new UnsupportedOperationException();
-
-		Comparable qualifier = vector[3];
-		if (qualifier == VersionVector.MAXS_VALUE)
-			return IVersionFormat.DEFAULT_MAX_STRING_TRANSLATION;
-		if (!(qualifier instanceof String))
-			throw new UnsupportedOperationException();
-		return (String) qualifier;
-	}
-
-	public int hashCode() {
-		return VersionVector.hashCode(vector, padValue);
-	}
-
-	/**
-	 * Checks if this version is in compliance with the OSGi version spec.
-	 * @return A flag indicating whether the version is OSGi compatible or not.
-	 */
-	public boolean isOSGiCompatible() {
-		if (vector.length < 3 || vector.length > 4)
-			return (this == emptyVersion || this == MAX_VERSION);
-
-		if (getPad() != null)
-			return false;
-
-		for (int i = 0; i < 3; ++i) {
-			Object e = vector[i];
-			if (!(e instanceof Integer && ((Integer) e).intValue() >= 0))
-				return false;
-		}
-
-		if (vector.length == 3)
-			return true; // No qualifier. Still compatible
-		return OSGiVersion.isValidOSGiQualifier(vector[3]);
-	}
-
-	/**
-	 * Appends the original for this version onto the <code>sb</code> StringBuffer
-	 * if present.
-	 * @param sb The buffer that will receive the raw string format
-	 * @param rangeSafe Set to <code>true</code> if range delimiters should be escaped
-	 */
-	public void originalToString(StringBuffer sb, boolean rangeSafe) {
-		if (original != null) {
-			if (rangeSafe) {
-				// Escape all range delimiters while appending
-				String s = original;
-				int end = s.length();
-				for (int idx = 0; idx < end; ++idx) {
-					char c = s.charAt(idx);
-					if (c == '\\' || c == '[' || c == '(' || c == ']' || c == ')' || c == ',' || c <= ' ')
-						sb.append('\\');
-					sb.append(c);
-				}
-			} else
-				sb.append(original);
-		}
-	}
-
-	/**
-	 * Appends the raw format for this version onto the <code>sb</code> StringBuffer.
-	 * @param sb The buffer that will receive the raw string format
-	 * @param rangeSafe Set to <code>true</code> if range delimiters should be escaped
-	 */
-	public void rawToString(StringBuffer sb, boolean rangeSafe) {
-		VersionVector.toString(sb, vector, padValue, rangeSafe);
-	}
-
-	/**
-	 * Appends the string representation of this version onto the
-	 * <code>sb</code> StringBuffer.
-	 * @param sb The buffer that will receive the version string
-	 */
-	public void toString(StringBuffer sb) {
-		if (this == emptyVersion)
-			sb.append("0.0.0"); //$NON-NLS-1$
-		else {
-			sb.append(RAW_PREFIX);
-			VersionVector.toString(sb, vector, padValue, false);
-			if (format != null || original != null) {
-				sb.append('/');
-				if (format != null)
-					format.toString(sb);
-				if (original != null) {
-					sb.append(':');
-					originalToString(sb, false);
-				}
-			}
-		}
-	}
-
-	private int getIntElement(int i) {
-		if (!(vector.length > i && vector[i] instanceof Integer))
-			throw new UnsupportedOperationException();
-		return ((Integer) vector[i]).intValue();
-	}
-
-	// Preserve singletons during deserialization
-	private Object readResolve() {
-		Version v = this;
-		if (equals(MAX_VERSION))
-			v = MAX_VERSION;
-		else if (equals(emptyVersion))
-			v = emptyVersion;
-		return v;
-	}
-
-	public Comparable getPad() {
-		return padValue;
-	}
-
-	public Comparable getSegment(int index) {
-		return vector[index];
-	}
-
-	public int getSegmentCount() {
-		return vector.length;
-	}
-
-	Comparable[] getVector() {
-		return vector;
-	}
-
-	public int compareTo(Object v) {
-		BasicVersion ov = (BasicVersion) v;
-		return VersionVector.compare(vector, padValue, ov.getVector(), ov.getPad());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ProvidedCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ProvidedCapability.java
deleted file mode 100644
index 90cb4a5..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ProvidedCapability.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * Describes a capability as exposed or required by an installable unit
- */
-public class ProvidedCapability implements IProvidedCapability {
-	private final String name;
-	private final String namespace;
-	private final Version version;
-
-	public ProvidedCapability(String namespace, String name, Version version) {
-		Assert.isNotNull(namespace);
-		Assert.isNotNull(name);
-		this.namespace = namespace;
-		this.name = name;
-		this.version = version == null ? Version.emptyVersion : version;
-	}
-
-	public boolean equals(Object other) {
-		if (other == null)
-			return false;
-		if (!(other instanceof IProvidedCapability))
-			return false;
-		IProvidedCapability otherCapability = (IProvidedCapability) other;
-		if (!(namespace.equals(otherCapability.getNamespace())))
-			return false;
-		if (!(name.equals(otherCapability.getName())))
-			return false;
-		return version.equals(otherCapability.getVersion());
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String getNamespace() {
-		return namespace;
-	}
-
-	public Version getVersion() {
-		return version;
-	}
-
-	public int hashCode() {
-		return namespace.hashCode() * name.hashCode() * version.hashCode();
-	}
-
-	/**
-	 * Returns whether this provided capability satisfies the given required capability.
-	 * @return <code>true</code> if this capability satisfies the given required
-	 * capability, and <code>false</code> otherwise.
-	 */
-	public boolean satisfies(IRequiredCapability candidate) {
-		return candidate.satisfiedBy(this);
-	}
-
-	public String toString() {
-		return namespace + '/' + name + '/' + version;
-	}
-
-	public boolean satisfies(IRequirement candidate) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequiredCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequiredCapability.java
deleted file mode 100644
index b0e2fa9..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequiredCapability.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A required capability represents some external constraint on an {@link IInstallableUnit}.
- * Each capability represents something an {@link IInstallableUnit} needs that
- * it expects to be provided by another {@link IInstallableUnit}. Capabilities are
- * entirely generic, and are intended to be capable of representing anything that
- * an {@link IInstallableUnit} may need either at install time, or at runtime.
- * <p>
- * Capabilities are segmented into namespaces.  Anyone can introduce new 
- * capability namespaces. Some well-known namespaces are introduced directly
- * by the provisioning framework.
- * 
- * @see IInstallableUnit#NAMESPACE_IU_ID
- */
-public class RequiredCapability extends MatchQuery implements IRequiredCapability, IRequirement {
-	private LDAPQuery filter;
-	private final String name;//never null
-	private final String namespace;//never null
-	private boolean greedy = true;
-	private final VersionRange range;//never null
-	private int min;
-	private int max;
-
-	/**
-	 * TODO replace booleans with int options flag.
-	 */
-	public RequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) {
-		Assert.isNotNull(namespace);
-		Assert.isNotNull(name);
-		this.namespace = namespace;
-		this.name = name;
-		this.range = range == null ? VersionRange.emptyRange : range;
-		min = optional ? 0 : 1;
-		max = 1;
-		setFilter(filter);
-	}
-
-	public RequiredCapability(String namespace, String name, VersionRange range, IQuery filter, int min, int max, boolean greedy) {
-		Assert.isNotNull(namespace);
-		Assert.isNotNull(name);
-		this.namespace = namespace;
-		this.name = name;
-		this.range = range == null ? VersionRange.emptyRange : range;
-		this.min = min;
-		this.max = max;
-		this.greedy = greedy;
-		if (filter != null) {
-			if (filter instanceof LDAPQuery) {
-				this.filter = (LDAPQuery) filter;
-			} else {
-				throw new IllegalArgumentException();
-			}
-		}
-	}
-
-	public RequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) {
-		this(namespace, name, range, filter, optional, multiple);
-		this.greedy = greedy;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof IRequiredCapability))
-			return false;
-		final IRequiredCapability other = (IRequiredCapability) obj;
-		if (filter == null) {
-			if (other.getFilter() != null)
-				return false;
-		} else if (!filter.equals(other.getFilter()))
-			return false;
-		if (!name.equals(other.getName()))
-			return false;
-		if (!namespace.equals(other.getNamespace()))
-			return false;
-		if (!range.equals(other.getRange()))
-			return false;
-		return true;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String getNamespace() {
-		return namespace;
-	}
-
-	/**
-	 * Returns the range of versions that satisfy this required capability. Returns
-	 * an empty version range ({@link VersionRange#emptyRange} if any version
-	 * will satisfy the capability.
-	 * @return the range of versions that satisfy this required capability.
-	 */
-	public VersionRange getRange() {
-		return range;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((filter == null) ? 0 : filter.hashCode());
-		result = prime * result + name.hashCode();
-		result = prime * result + namespace.hashCode();
-		result = prime * result + range.hashCode();
-		return result;
-	}
-
-	/**
-	 * TODO This object shouldn't be mutable since it makes equality unstable, and
-	 * introduces lifecycle issues (how are the changes persisted, etc)
-	 */
-	public void setFilter(String filter) {
-		if (filter != null)
-			this.filter = new LDAPQuery(filter);
-	}
-
-	public boolean isGreedy() {
-		return greedy;
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-
-		if (IInstallableUnit.NAMESPACE_IU_ID.equals(getNamespace())) {
-			//print nothing for an IU id dependency because this is the default (most common) case
-			result.append(""); //$NON-NLS-1$
-		} else if ("osgi.bundle".equals(getNamespace())) { //$NON-NLS-1$
-			result.append("bundle"); //$NON-NLS-1$
-		} else if ("java.package".equals(getNamespace())) { //$NON-NLS-1$
-			result.append("package"); //$NON-NLS-1$
-		} else {
-			result.append(getNamespace());
-		}
-		if (result.length() > 0)
-			result.append(' ');
-		result.append(getName());
-		result.append(' ');
-		//for an exact version match, print a simpler expression
-		if (range.getMinimum().equals(range.getMaximum()))
-			result.append('[').append(range.getMinimum()).append(']');
-		else
-			result.append(range);
-		return result.toString();
-	}
-
-	public boolean isNegation() {
-		return false;
-	}
-
-	public boolean satisfiedBy(IProvidedCapability cap) {
-		if (getName() == null || !getName().equals(cap.getName()))
-			return false;
-		if (getNamespace() == null || !getNamespace().equals(cap.getNamespace()))
-			return false;
-		return getRange().isIncluded(cap.getVersion());
-	}
-
-	public int getMin() {
-		return min;
-	}
-
-	public int getMax() {
-		return max;
-	}
-
-	public IQuery getMatches() {
-		return this;
-	}
-
-	public IQuery getFilter() {
-		return filter;
-	}
-
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		if (!candidate.satisfies((IRequirement) this))
-			return false;
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequirementChange.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequirementChange.java
deleted file mode 100644
index 4974286..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/RequirementChange.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-
-public class RequirementChange implements IRequirementChange {
-	private IRequiredCapability applyOn;
-	private IRequiredCapability newValue;
-
-	public RequirementChange(IRequiredCapability applyOn2, IRequiredCapability newValue2) {
-		if (applyOn2 == null && newValue2 == null)
-			throw new IllegalArgumentException();
-		this.applyOn = applyOn2;
-		this.newValue = newValue2;
-	}
-
-	public IRequiredCapability applyOn() {
-		return applyOn;
-	}
-
-	public IRequiredCapability newValue() {
-		return newValue;
-	}
-
-	public boolean matches(IRequiredCapability toMatch) {
-		if (!toMatch.getNamespace().equals(applyOn.getNamespace()))
-			return false;
-		if (!toMatch.getName().equals(applyOn.getName()))
-			return false;
-		if (toMatch.getRange().equals(applyOn.getRange()))
-			return true;
-
-		return intersect(toMatch.getRange(), applyOn.getRange()) == null ? false : true;
-	}
-
-	private VersionRange intersect(VersionRange r1, VersionRange r2) {
-		Version resultMin = null;
-		boolean resultMinIncluded = false;
-		Version resultMax = null;
-		boolean resultMaxIncluded = false;
-
-		int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
-		if (minCompare < 0) {
-			resultMin = r2.getMinimum();
-			resultMinIncluded = r2.getIncludeMinimum();
-		} else if (minCompare > 0) {
-			resultMin = r1.getMinimum();
-			resultMinIncluded = r1.getIncludeMinimum();
-		} else if (minCompare == 0) {
-			resultMin = r1.getMinimum();
-			resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
-		}
-
-		int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
-		if (maxCompare > 0) {
-			resultMax = r2.getMaximum();
-			resultMaxIncluded = r2.getIncludeMaximum();
-		} else if (maxCompare < 0) {
-			resultMax = r1.getMaximum();
-			resultMaxIncluded = r1.getIncludeMaximum();
-		} else if (maxCompare == 0) {
-			resultMax = r1.getMaximum();
-			resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
-		}
-
-		int resultRangeComparison = resultMin.compareTo(resultMax);
-		if (resultRangeComparison < 0)
-			return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
-		else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded)
-			return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
-		else
-			return null;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((applyOn == null) ? 0 : applyOn.hashCode());
-		result = prime * result + ((newValue == null) ? 0 : newValue.hashCode());
-		return result;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof IRequirementChange))
-			return false;
-		final IRequirementChange other = (IRequirementChange) obj;
-		if (applyOn == null) {
-			if (other.applyOn() != null)
-				return false;
-		} else if (!applyOn.equals(other.applyOn()))
-			return false;
-		if (newValue == null) {
-			if (other.newValue() != null)
-				return false;
-		} else if (!newValue.equals(other.newValue()))
-			return false;
-		return true;
-	}
-
-	public String toString() {
-		return applyOn + " --> " + newValue; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
deleted file mode 100644
index fc259ea..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- * 		Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class ResolvedInstallableUnit implements IInstallableUnit {
-	private static IInstallableUnit[] NO_IU = new IInstallableUnit[0];
-
-	private IInstallableUnit[] fragments = NO_IU;
-	protected IInstallableUnit original;
-
-	public ResolvedInstallableUnit(IInstallableUnit resolved) {
-		this.original = resolved;
-	}
-
-	public ResolvedInstallableUnit(IInstallableUnit resolved, IInstallableUnitFragment[] fragments) {
-		this.original = resolved;
-		this.fragments = fragments;
-	}
-
-	public IInstallableUnitFragment[] getFragments() {
-		ArrayList result = new ArrayList();
-		if (fragments != null)
-			result.addAll(Arrays.asList(fragments));
-		for (int i = 0; i < result.size(); i++) {
-			IInstallableUnit fragment = (IInstallableUnit) result.get(i);
-			if (fragment.isResolved())
-				result.addAll(Arrays.asList(fragment.getFragments()));
-		}
-		return (IInstallableUnitFragment[]) result.toArray(new IInstallableUnitFragment[result.size()]);
-	}
-
-	public IArtifactKey[] getArtifacts() {
-		return original.getArtifacts();
-	}
-
-	public IQuery getFilter() {
-		return original.getFilter();
-	}
-
-	public String getId() {
-		return original.getId();
-	}
-
-	public String getProperty(String key) {
-		return original.getProperty(key);
-	}
-
-	public Map getProperties() {
-		return original.getProperties();
-	}
-
-	public IProvidedCapability[] getProvidedCapabilities() {
-		ArrayList result = new ArrayList();
-		result.addAll(Arrays.asList(original.getProvidedCapabilities()));
-		for (int i = 0; i < fragments.length; i++) {
-			result.addAll(Arrays.asList(fragments[i].getProvidedCapabilities()));
-		}
-		return (IProvidedCapability[]) result.toArray(new IProvidedCapability[result.size()]);
-	}
-
-	public IRequirement[] getRequiredCapabilities() {
-		ArrayList result = new ArrayList();
-		result.addAll(Arrays.asList(original.getRequiredCapabilities()));
-		for (int i = 0; i < fragments.length; i++) {
-			result.addAll(Arrays.asList(fragments[i].getRequiredCapabilities()));
-		}
-		return (IRequirement[]) result.toArray(new IRequirement[result.size()]);
-	}
-
-	public IRequirement[] getMetaRequiredCapabilities() {
-		ArrayList result = new ArrayList();
-		result.addAll(Arrays.asList(original.getMetaRequiredCapabilities()));
-		for (int i = 0; i < fragments.length; i++) {
-			result.addAll(Arrays.asList(fragments[i].getMetaRequiredCapabilities()));
-		}
-		return (IRequirement[]) result.toArray(new IRequirement[result.size()]);
-	}
-
-	public ITouchpointData[] getTouchpointData() {
-		ArrayList result = new ArrayList();
-		result.addAll(Arrays.asList(original.getTouchpointData()));
-		for (int i = 0; i < fragments.length; i++) {
-			ITouchpointData[] data = fragments[i].getTouchpointData();
-			for (int j = 0; j < data.length; j++) {
-				result.add(data[j]);
-			}
-		}
-		return (ITouchpointData[]) result.toArray(new ITouchpointData[result.size()]);
-	}
-
-	public ITouchpointType getTouchpointType() {
-		return original.getTouchpointType();
-	}
-
-	public Version getVersion() {
-		return original.getVersion();
-	}
-
-	public boolean isSingleton() {
-		return original.isSingleton();
-	}
-
-	public boolean equals(Object obj) {
-		//TODO This is pretty ugly....
-		boolean result = original.equals(obj);
-		if (result)
-			return true;
-		if (obj instanceof ResolvedInstallableUnit)
-			return original.equals(((ResolvedInstallableUnit) obj).original);
-		return false;
-	}
-
-	public int hashCode() {
-		// TODO Auto-generated method stub
-		return original.hashCode();
-	}
-
-	public String toString() {
-		return "[R]" + original.toString(); //$NON-NLS-1$
-	}
-
-	public IInstallableUnit getOriginal() {
-		return original;
-	}
-
-	public int compareTo(Object toCompareTo) {
-		if (!(toCompareTo instanceof IInstallableUnit)) {
-			return -1;
-		}
-		IInstallableUnit other = (IInstallableUnit) toCompareTo;
-		if (getId().compareTo(other.getId()) == 0)
-			return (getVersion().compareTo(other.getVersion()));
-		return getId().compareTo(other.getId());
-	}
-
-	public boolean isResolved() {
-		return true;
-	}
-
-	public IInstallableUnit unresolved() {
-		return original.unresolved();
-	}
-
-	public IUpdateDescriptor getUpdateDescriptor() {
-		return original.getUpdateDescriptor();
-	}
-
-	public ILicense[] getLicenses() {
-		return original.getLicenses();
-	}
-
-	public ICopyright getCopyright() {
-		return original.getCopyright();
-	}
-
-	public boolean satisfies(IRequirement candidate) {
-		IProvidedCapability[] provides = getProvidedCapabilities();
-		for (int i = 0; i < provides.length; i++)
-			if (provides[i].satisfies(candidate))
-				return true;
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointData.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointData.java
deleted file mode 100644
index 9ea83d4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointData.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-
-/**
- * Touchpoint data instances contain the additional information needed by a touchpoint
- * to execute each engine phase it participates in. This includes the sequence of
- * instruction statements to be executed during each phase, and any additional
- * supporting data needed to perform the phase.
- *
- * @noextend This class is not intended to be subclassed by clients.
- * @see MetadataFactory#createTouchpointData(Map)
- */
-public class TouchpointData implements ITouchpointData {
-
-	/**
-	 * Map of (String->TouchpointInstruction). The set
-	 * of keys supported is up to the touchpoint that will process these
-	 * instructions. This map is never null.
-	 */
-	private Map instructions;
-
-	public int hashCode() {
-		return 31 * 1 + ((instructions == null) ? 0 : instructions.hashCode());
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof ITouchpointData))
-			return false;
-		final ITouchpointData other = (ITouchpointData) obj;
-		if (instructions == null) {
-			if (other.getInstructions() != null)
-				return false;
-		} else if (!instructions.equals(other.getInstructions()))
-			return false;
-		return true;
-	}
-
-	/**
-	 * Clients must use the factory method on {@link MetadataFactory}.
-	 */
-	public TouchpointData(Map instructions) {
-		this.instructions = instructions;
-	}
-
-	/**
-	 * Returns the touchpoint instruction corresponding to the given key.
-	 */
-	public ITouchpointInstruction getInstruction(String instructionKey) {
-		return (ITouchpointInstruction) instructions.get(instructionKey);
-	}
-
-	/**
-	 * Returns an unmodifiable map of the touchpoint instructions. The map
-	 * keys are strings, and the values are instances of {@link ITouchpointInstruction}.
-	 *
-	 * @return the touchpoint instructions
-	 */
-	public Map getInstructions() {
-		return Collections.unmodifiableMap(instructions);
-	}
-
-	/**
-	 * Returns a string representation of the touchpoint data for debugging purposes only.
-	 */
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-		for (Iterator iterator = instructions.entrySet().iterator(); iterator.hasNext();) {
-			Entry instruction = (Entry) iterator.next();
-			result.append(instruction.getKey()).append(" -> ").append(instruction.getValue()).append('\n'); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointInstruction.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointInstruction.java
deleted file mode 100644
index e59e9be..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointInstruction.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-
-/**
- * A touchpoint instruction contains either a sequence of instruction statements
- * to be executed during a particular engine phase, or some simple string value
- * that is needed by a touchpoint to execute its phases.
- * <p>
- * The format of a touchpoint instruction statement sequence is as follows:
- * 
- *   statement-sequence :
- *     | statement ';'
- *      | statement-sequence statement
- *      ;
- *
- *Where a statement is of the format:
- *
- *  statement :
- *      | actionName '(' parameters ')'
- *      ;
- *
- *  parameters :
- *      | // empty
- *      | parameter
- *      | parameters ',' parameter
- *      ;
- *
- *   parameter : 
- *      | paramName ':' paramValue
- *      ;
- *
- * actionName, paramName, paramValue :
- *      | String 
- *      ;
- *
- * @noextend This class is not intended to be subclassed by clients.
- * @see MetadataFactory#createTouchpointInstruction(String, String)
- */
-public class TouchpointInstruction implements ITouchpointInstruction {
-
-	private final String body;
-	private final String importAttribute;
-
-	/**
-	 * Encodes an action statement in string form. This method will
-	 * take care of escaping any illegal characters in function parameter values.
-	 * 
-	 * @param actionName The name of the action.
-	 * @param parameters The function's parameters. This is a Map<String,String>
-	 * where the keys are parameter names, and the values are parameter values
-	 * @return An encoded touchpoint instruction statement
-	 */
-	public static String encodeAction(String actionName, Map parameters) {
-		StringBuffer result = new StringBuffer(actionName);
-		result.append('(');
-		for (Iterator it = parameters.entrySet().iterator(); it.hasNext();) {
-			Map.Entry entry = (Map.Entry) it.next();
-			result.append(entry.getKey());
-			result.append(':');
-			appendEncoded(result, (String) entry.getValue());
-			if (it.hasNext())
-				result.append(',');
-		}
-		result.append(')').append(';');
-		return result.toString();
-	}
-
-	/**
-	 * Append the given value to the given buffer, encoding any illegal characters
-	 * with appropriate escape sequences.
-	 */
-	private static void appendEncoded(StringBuffer buf, String value) {
-		char[] chars = value.toCharArray();
-		for (int i = 0; i < chars.length; i++) {
-			switch (chars[i]) {
-				case '$' :
-				case ',' :
-				case ':' :
-				case ';' :
-				case '{' :
-				case '}' :
-					buf.append("${#").append(Integer.toString(chars[i])).append('}'); //$NON-NLS-1$
-					break;
-				default :
-					buf.append(chars[i]);
-			}
-		}
-	}
-
-	/**
-	 * Clients must use the factory method on {@link MetadataFactory}.
-	 */
-	public TouchpointInstruction(String body, String importAttribute) {
-		this.body = body;
-		this.importAttribute = importAttribute;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof ITouchpointInstruction))
-			return false;
-		ITouchpointInstruction other = (ITouchpointInstruction) obj;
-		if (body == null) {
-			if (other.getBody() != null)
-				return false;
-		} else if (!body.equals(other.getBody()))
-			return false;
-		if (importAttribute == null) {
-			if (other.getImportAttribute() != null)
-				return false;
-		} else if (!importAttribute.equals(other.getImportAttribute()))
-			return false;
-		return true;
-	}
-
-	/**
-	 * Returns the body of this touchpoint instruction. The body is either a sequence
-	 * of instruction statements, or a simple string value.
-	 * 
-	 * @return The body of this touchpoint instruction
-	 */
-	public String getBody() {
-		return body;
-	}
-
-	//TODO What is this? Please doc
-	public String getImportAttribute() {
-		return importAttribute;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((body == null) ? 0 : body.hashCode());
-		result = prime * result + ((importAttribute == null) ? 0 : importAttribute.hashCode());
-		return result;
-	}
-
-	/**
-	 * Returns a string representation of this instruction for debugging purposes only.
-	 */
-	public String toString() {
-		return "Instruction[" + body + ',' + importAttribute + ']'; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointType.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointType.java
deleted file mode 100644
index 4056d7f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/TouchpointType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing Development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Identifies a particular touchpoint. A touchpoint is identified by an id 
- * and a version.
- */
-public class TouchpointType implements ITouchpointType {
-	private String id;//never null
-	private Version version;//never null
-
-	public TouchpointType(String id, Version aVersion) {
-		this.id = id;
-		this.version = aVersion;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (super.equals(obj))
-			return true;
-		if (obj == null || !(obj instanceof ITouchpointType))
-			return false;
-		ITouchpointType other = (ITouchpointType) obj;
-		return id.equals(other.getId()) && version.equals(other.getVersion());
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public Version getVersion() {
-		return version;
-	}
-
-	public int hashCode() {
-		return 31 * id.hashCode() + version.hashCode();
-	}
-
-	public String toString() {
-		return "Touchpoint: " + id + ' ' + getVersion(); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
deleted file mode 100644
index 2d870f7..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/UpdateDescriptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IUpdateDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class UpdateDescriptor implements IUpdateDescriptor {
-	private String description;
-	private String id;
-	private VersionRange range;
-	private int severity;
-
-	public UpdateDescriptor(String id, VersionRange range, int severity, String description) {
-		this.id = id;
-		this.range = range;
-		this.severity = severity;
-		this.description = description;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public VersionRange getRange() {
-		return range;
-	}
-
-	public int getSeverity() {
-		return severity;
-	}
-
-	public boolean isUpdateOf(IInstallableUnit iu) {
-		if (!id.equals(iu.getId()))
-			return false;
-		if (range.isIncluded(iu.getVersion()))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
deleted file mode 100644
index 50faa7a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.io.Serializable;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.VersionFormatParser.Fragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * <p>The VersionFormat represents the Omni Version Format in compiled form. It
- * is also a parser for versions of that format.</p>
- * <p>An instance of VersionFormat is immutable and thus thread safe. The parser
- * does not maintain any state.</p>
- * 
- * @Immutable
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class VersionFormat implements IVersionFormat, Serializable {
-
-	/**
-	 * The string representation of the Omni Version format used for parsing OSGi versions.
-	 */
-	public static final String OSGI_FORMAT_STRING = "n[.n=0;[.n=0;[.S='';=[A-Za-z0-9_-];]]]"; //$NON-NLS-1$
-
-	/**
-	 * The string representation of the Omni Version format used for parsing raw versions.
-	 */
-	public static final String RAW_FORMAT_STRING = "r(.r)*p?"; //$NON-NLS-1$
-
-	private static final long serialVersionUID = -5689435955091405520L;
-
-	static class TreeInfo extends ArrayList {
-		private static final long serialVersionUID = 4474591345244587260L;
-
-		private static class StateInfo {
-			Fragment fragment;
-			int position;
-			int segmentCount;
-
-			StateInfo(int position, int segmentCount, Fragment fragment) {
-				this.fragment = fragment;
-				this.position = position;
-				this.segmentCount = segmentCount;
-			}
-		}
-
-		private Comparable padValue;
-		private int top;
-
-		TreeInfo(Fragment frag, int pos) {
-			add(new StateInfo(pos, 0, frag));
-			top = 0;
-		}
-
-		Comparable getPadValue() {
-			return padValue;
-		}
-
-		int getPosition() {
-			return ((StateInfo) get(top)).position;
-		}
-
-		void popState(List segments, Fragment frag) {
-			int idx = top;
-			while (idx > 0) {
-				StateInfo si = (StateInfo) get(idx);
-				if (si.fragment == frag) {
-					int nsegs = segments.size();
-					int segMax = si.segmentCount;
-					while (nsegs > segMax)
-						segments.remove(--nsegs);
-					top = idx - 1;
-					break;
-				}
-			}
-		}
-
-		void pushState(int segCount, Fragment fragment) {
-			int pos = ((StateInfo) get(top)).position;
-			if (++top == size())
-				add(new StateInfo(pos, segCount, fragment));
-			else {
-				StateInfo si = (StateInfo) get(top);
-				si.fragment = fragment;
-				si.position = pos;
-				si.segmentCount = segCount;
-			}
-		}
-
-		void setPadValue(Comparable pad) {
-			padValue = pad;
-		}
-
-		void setPosition(int pos) {
-			((StateInfo) get(top)).position = pos;
-		}
-	}
-
-	private static final Map formatCache = Collections.synchronizedMap(new HashMap());
-
-	/**
-	 * The predefined OSGi format that is used when parsing OSGi
-	 * versions.
-	 */
-	public static final VersionFormat OSGI_FORMAT;
-
-	/**
-	 * The predefined OSGi format that is used when parsing raw
-	 * versions.
-	 */
-	public static final VersionFormat RAW_FORMAT;
-
-	static {
-		try {
-			VersionFormatParser parser = new VersionFormatParser();
-			OSGI_FORMAT = new VersionFormat(parser.compile(OSGI_FORMAT_STRING, 0, OSGI_FORMAT_STRING.length()));
-			formatCache.put(OSGI_FORMAT_STRING, OSGI_FORMAT);
-			RAW_FORMAT = new RawFormat(parser.compile(RAW_FORMAT_STRING, 0, RAW_FORMAT_STRING.length()));
-			formatCache.put(RAW_FORMAT_STRING, RAW_FORMAT);
-		} catch (VersionFormatException e) {
-			// If this happens, something is wrong with the actual
-			// implementation of the FormatCompiler.
-			//
-			throw new ExceptionInInitializerError(e);
-		}
-	}
-
-	/**
-	 * Compile a version format string into a compiled format. This method is
-	 * shorthand for:<pre>CompiledFormat.compile(format, 0, format.length())</pre>.
-	 *
-	 * @param format The format to compile.
-	 * @return The compiled format
-	 * @throws VersionFormatException If the format could not be compiled
-	 */
-	public static IVersionFormat compile(String format) throws VersionFormatException {
-		return compile(format, 0, format.length());
-	}
-
-	/**
-	 * Compile a version format string into a compiled format. The parsing starts
-	 * at position start and ends at position end. The returned format is cached so
-	 * subsequent calls to this method using the same format string will yield the
-	 * same compiled format instance.
-	 *
-	 * @param format The format string to compile.
-	 * @param start Start position in the format string
-	 * @param end End position in the format string
-	 * @return The compiled format
-	 * @throws VersionFormatException If the format could not be compiled
-	 */
-	public static VersionFormat compile(String format, int start, int end) throws VersionFormatException {
-		String fmtString = format.substring(start, end).intern();
-		synchronized (fmtString) {
-			VersionFormat fmt = (VersionFormat) formatCache.get(fmtString);
-			if (fmt == null) {
-				VersionFormatParser parser = new VersionFormatParser();
-				fmt = new VersionFormat(parser.compile(format, start, end));
-				formatCache.put(fmtString, fmt);
-			}
-			return fmt;
-		}
-	}
-
-	/**
-	 * Parse a version string using the {@link #RAW_FORMAT} parser.
-	 *
-	 * @param version The version to parse.
-	 * @param originalFormat The original format to assign to the created version. Can be <code>null</code>.
-	 * @param original The original version string to assign to the created version. Can be <code>null</code>.
-	 * @return A created version
-	 * @throws IllegalArgumentException If the version string could not be parsed.
-	 */
-	public static BasicVersion parseRaw(String version, IVersionFormat originalFormat, String original) {
-		Comparable[] padReturn = new Comparable[1];
-		Comparable[] vector = RAW_FORMAT.parse(version, 0, version.length(), padReturn);
-		Comparable pad = padReturn[0];
-		return (originalFormat == OSGI_FORMAT) ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, originalFormat, original);
-	}
-
-	static void rawToString(StringBuffer sb, boolean forRange, Comparable e) {
-		if (e instanceof String) {
-			writeQuotedString(sb, forRange, (String) e, '\'', 0, false);
-		} else if (e instanceof VersionVector) {
-			sb.append('<');
-			((VersionVector) e).toString(sb, forRange);
-			sb.append('>');
-		} else
-			sb.append(e);
-	}
-
-	/**
-	 * Write a string within quotes. If the string is found to contain the quote, an attempt is made
-	 * to flip quote character (single quote becomes double quote and vice versa). A string that contains
-	 * both will be written as several adjacent quoted strings so that each string is quoted with a
-	 * quote character that it does not contain.
-	 * @param sb The buffer that will receive the string
-	 * @param rangeSafe Set to <code>true</code> if the resulting string will be used in a range string
-	 *        and hence need to escape the range delimiter characters
-	 * @param s The string to be written
-	 * @param quote The quote character to start with. Must be the single or double quote character.
-	 * @param startPos The start position
-	 * @param didFlip True if the call is recursive and thus, cannot switch quotes in the first string.
-	 */
-	private static void writeQuotedString(StringBuffer sb, boolean rangeSafe, String s, char quote, int startPos, boolean didFlip) {
-		int quotePos = sb.length();
-		sb.append(quote);
-		boolean otherSeen = false;
-		int top = s.length();
-		for (int idx = startPos; idx < top; ++idx) {
-			char c = s.charAt(idx);
-			if (c == '\'' || c == '"') {
-				if (c == quote) {
-					char otherQuote = quote == '\'' ? '"' : '\'';
-					if (didFlip || otherSeen) {
-						// We can only flip once
-						sb.append(quote);
-						writeQuotedString(sb, rangeSafe, s, otherQuote, idx, true);
-						return;
-					}
-					quote = otherQuote;
-					sb.setCharAt(quotePos, quote);
-					didFlip = true;
-				} else
-					otherSeen = true;
-			}
-			if (rangeSafe && (c == '\\' || c == '[' || c == '(' || c == ']' || c == ')' || c == ',' || c <= ' '))
-				sb.append('\\');
-			sb.append(c);
-		}
-		sb.append(quote);
-	}
-
-	private String fmtString;
-
-	private final Fragment topFragment;
-
-	VersionFormat(Fragment topFragment) {
-		this.topFragment = topFragment;
-	}
-
-	TreeInfo createInfo(int start) {
-		return new TreeInfo(topFragment, start);
-	}
-
-	public boolean equals(Object o) {
-		return this == o || o instanceof VersionFormat && toString().equals(o.toString());
-	}
-
-	public int hashCode() {
-		return 11 * toString().hashCode();
-	}
-
-	public Version parse(String version) {
-		Comparable[] padReturn = new Comparable[1];
-		Comparable[] vector = parse(version, 0, version.length(), padReturn);
-		Comparable pad = padReturn[0];
-		return (this == OSGI_FORMAT) ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, this, version);
-	}
-
-	Comparable[] parse(String version, int start, int maxPos, Comparable[] padReturn) {
-		if (start == maxPos)
-			throw new IllegalArgumentException(NLS.bind(Messages.format_0_unable_to_parse_empty_version, this, version.substring(start, maxPos)));
-		TreeInfo info = new TreeInfo(topFragment, start);
-		ArrayList entries = new ArrayList();
-		if (!(topFragment.parse(entries, version, maxPos, info) && info.getPosition() == maxPos))
-			throw new IllegalArgumentException(NLS.bind(Messages.format_0_unable_to_parse_1, this, version.substring(start, maxPos)));
-		padReturn[0] = VersionParser.removeRedundantTrail(entries, info.getPadValue());
-		return (Comparable[]) entries.toArray(new Comparable[entries.size()]);
-	}
-
-	// Preserve cache during deserialization
-	private Object readResolve() {
-		synchronized (formatCache) {
-			String string = toString();
-			VersionFormat fmt = (VersionFormat) formatCache.put(string, this);
-			if (fmt == null)
-				fmt = this;
-			else
-				// Put old format back
-				formatCache.put(string, fmt);
-			return fmt;
-		}
-	}
-
-	/**
-	 * Returns the string representation of this compiled format
-	 */
-	public synchronized String toString() {
-		if (fmtString == null) {
-			StringBuffer sb = new StringBuffer();
-			toString(sb);
-		}
-		return fmtString;
-	}
-
-	public synchronized void toString(StringBuffer sb) {
-		if (fmtString != null)
-			sb.append(fmtString);
-		else {
-			int start = sb.length();
-			sb.append("format"); //$NON-NLS-1$
-			if (topFragment.getPadValue() != null) {
-				sb.append('(');
-				topFragment.toString(sb);
-				sb.append(')');
-			} else
-				topFragment.toString(sb);
-			fmtString = sb.substring(start);
-		}
-	}
-}
-
-class RawFormat extends VersionFormat {
-	private static final long serialVersionUID = -6070590518921019745L;
-
-	RawFormat(Fragment topFragment) {
-		super(topFragment);
-	}
-
-	/**
-	 * Parse but do not assign this format as the Version format nor the version
-	 * string as the original.
-	 */
-	public Version parse(String version, int start, int maxPos) {
-		Comparable[] padReturn = new Comparable[1];
-		Comparable[] vector = parse(version, start, maxPos, padReturn);
-		return OmniVersion.fromVector(vector, padReturn[0], null, null);
-	}
-
-	// Preserve singleton when deserialized
-	private Object readResolve() {
-		return RAW_FORMAT;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormatParser.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormatParser.java
deleted file mode 100644
index fd6795a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormatParser.java
+++ /dev/null
@@ -1,1547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.metadata.VersionFormat.TreeInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionFormatException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This is the Omni Version Format parser. It will parse a version format in string form
- * into a group of {@link VersionFormatParser.Fragment} elements. That group, wrapped in a
- * {@link VersionFormat}, becomes the parser for versions corresponding to the format.
- *
- * The class is not intended to included in a public API. Instead VersionFormats should
- * be created using {@link VersionFormat#parse(String)}
- *
- */
-class VersionFormatParser {
-
-	static class Instructions {
-		char[] characters = null;
-		Comparable defaultValue = null;
-		char oppositeTranslationChar = 0;
-		int oppositeTranslationRepeat = 0;
-		boolean ignore = false;
-		boolean inverted = false;
-		Comparable padValue = null;
-		int rangeMax = Integer.MAX_VALUE;
-		int rangeMin = 0;
-	}
-
-	static final Qualifier EXACT_ONE_QUALIFIER = new Qualifier(1, 1);
-
-	static final Qualifier ONE_OR_MANY_QUALIFIER = new Qualifier(1, Integer.MAX_VALUE);
-
-	static final Qualifier ZERO_OR_MANY_QUALIFIER = new Qualifier(0, Integer.MAX_VALUE);
-
-	static final Qualifier ZERO_OR_ONE_QUALIFIER = new Qualifier(0, 1);
-
-	/**
-	 * Represents one fragment of a format (i.e. auto, number, string, delimiter, etc.)
-	 */
-	static abstract class Fragment implements Serializable {
-		private static final long serialVersionUID = 4109185333058622681L;
-
-		private final Qualifier qualifier;
-
-		Fragment(Qualifier qualifier) {
-			this.qualifier = qualifier;
-		}
-
-		public final boolean equals(Object f) {
-			return f == this || getClass().equals(f.getClass()) && qualifier.equals(((Fragment) f).qualifier);
-		}
-
-		public final int hashCode() {
-			return 11 * qualifier.hashCode();
-		}
-
-		public boolean isGroup() {
-			return false;
-		}
-
-		public String toString() {
-			StringBuffer sb = new StringBuffer();
-			toString(sb);
-			return sb.toString();
-		}
-
-		Comparable getDefaultValue() {
-			return null;
-		}
-
-		Fragment getFirstLeaf() {
-			return this;
-		}
-
-		Comparable getPadValue() {
-			return null;
-		}
-
-		Qualifier getQualifier() {
-			return qualifier;
-		}
-
-		boolean parse(List segments, String version, int maxPos, TreeInfo info) {
-			return qualifier.parse(new Fragment[] {this}, 0, segments, version, maxPos, info);
-		}
-
-		abstract boolean parseOne(List segments, String version, int maxPos, TreeInfo info);
-
-		void setDefaults(List segments) {
-			// No-op at this level
-		}
-
-		void toString(StringBuffer sb) {
-			if (!(qualifier == VersionFormatParser.EXACT_ONE_QUALIFIER || (qualifier == VersionFormatParser.ZERO_OR_ONE_QUALIFIER && this.isGroup())))
-				qualifier.toString(sb);
-		}
-	}
-
-	/**
-	 * Specifies the min and max occurrences of a fragment
-	 */
-	static class Qualifier implements Serializable {
-		private static final long serialVersionUID = 7494021832824671685L;
-
-		private final int max;
-		private final int min;
-
-		Qualifier(int min, int max) {
-			this.min = min;
-			this.max = max;
-		}
-
-		public boolean equals(Object o) {
-			if (o == this)
-				return true;
-			if (!(o instanceof Qualifier))
-				return false;
-			Qualifier oq = (Qualifier) o;
-			return min == oq.min && max == oq.max;
-		}
-
-		public int hashCode() {
-			return 31 * min + 67 * max;
-		}
-
-		public String toString() {
-			StringBuffer sb = new StringBuffer();
-			toString(sb);
-			return sb.toString();
-		}
-
-		int getMax() {
-			return max;
-		}
-
-		int getMin() {
-			return min;
-		}
-
-		boolean parse(Fragment[] fragments, int fragIdx, List segments, String version, int maxPos, TreeInfo info) {
-			Fragment fragment = fragments[fragIdx++];
-			int idx = 0;
-
-			// Do the required parsing. I.e. iterate this fragment
-			// min number of times.
-			//
-			for (; idx < min; ++idx)
-				if (!fragment.parseOne(segments, version, maxPos, info))
-					return false;
-
-			for (; idx < max; ++idx) {
-				// We are greedy. Continue parsing until we get an exception
-				// and remember the state before each parse is performed.
-				//
-				info.pushState(segments.size(), fragment);
-				if (!fragment.parseOne(segments, version, maxPos, info)) {
-					info.popState(segments, fragment);
-					break;
-				}
-			}
-			int maxParsed = idx;
-
-			for (;;) {
-				// Pad with default values unless the max is unbounded
-				//
-				if (idx < max) {
-					if (max != Integer.MAX_VALUE) {
-						for (; idx < max; ++idx)
-							fragment.setDefaults(segments);
-					}
-				} else {
-					if (fragment instanceof StringFragment) {
-						// Check for translations if we default to for MINS or MAXS
-						StringFragment stringFrag = (StringFragment) fragment;
-						Comparable opposite = stringFrag.getOppositeDefaultValue();
-						if (opposite != null) {
-							idx = segments.size() - 1;
-							if (stringFrag.isOppositeTranslation(segments.get(idx)))
-								segments.set(idx, opposite);
-						}
-					}
-				}
-
-				if (fragIdx == fragments.length)
-					// We are the last segment
-					//
-					return true;
-
-				// Try to parse the next segment. If it fails, pop the state of
-				// this segment (or a child thereof) and try again
-				//
-				if (fragments[fragIdx].getQualifier().parse(fragments, fragIdx, segments, version, maxPos, info))
-					return true;
-
-				// Be less greedy, step back one position and try again.
-				//
-				if (maxParsed <= min)
-					// We have no more states to pop. Tell previous that we failed.
-					//
-					return false;
-
-				info.popState(segments, fragment);
-				idx = --maxParsed; // segments now have room for one more default value
-			}
-		}
-
-		void toString(StringBuffer sb) {
-			if (min == 0) {
-				if (max == 1)
-					sb.append('?');
-				else if (max == Integer.MAX_VALUE)
-					sb.append('*');
-				else {
-					sb.append('{');
-					sb.append(min);
-					sb.append(',');
-					sb.append(max);
-					sb.append('}');
-				}
-			} else if (max == Integer.MAX_VALUE) {
-				if (min == 1)
-					sb.append('+');
-				else {
-					sb.append('{');
-					sb.append(min);
-					sb.append(",}"); //$NON-NLS-1$
-				}
-			} else {
-				sb.append('{');
-				sb.append(min);
-				if (min != max) {
-					sb.append(',');
-					sb.append(max);
-				}
-				sb.append('}');
-			}
-		}
-
-		// Preserve singleton when deserialized
-		private Object readResolve() {
-			Qualifier q = this;
-			if (min == 0) {
-				if (max == 1)
-					q = VersionFormatParser.ZERO_OR_ONE_QUALIFIER;
-				else if (max == Integer.MAX_VALUE)
-					q = VersionFormatParser.ZERO_OR_MANY_QUALIFIER;
-			} else if (min == 1) {
-				if (max == 1)
-					q = VersionFormatParser.EXACT_ONE_QUALIFIER;
-				else if (max == Integer.MAX_VALUE)
-					q = VersionFormatParser.ONE_OR_MANY_QUALIFIER;
-			}
-			return q;
-		}
-	}
-
-	private static class AutoFragment extends RangeFragment {
-		private static final long serialVersionUID = -1016534328164247755L;
-
-		AutoFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-			super(instr, qualifier);
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			maxPos = checkRange(pos, maxPos);
-			if (maxPos < 0)
-				return false;
-
-			char c = version.charAt(pos);
-			if (VersionParser.isDigit(c) && isAllowed(c)) {
-				// Parse to next non-digit
-				//
-				int start = pos;
-				int value = c - '0';
-				while (++pos < maxPos) {
-					c = version.charAt(pos);
-					if (!(VersionParser.isDigit(c) && isAllowed(c)))
-						break;
-					value *= 10;
-					value += (c - '0');
-				}
-				int len = pos - start;
-				if (rangeMin > len || len > rangeMax)
-					return false;
-
-				if (!isIgnored())
-					segments.add(VersionParser.valueOf(value));
-				info.setPosition(pos);
-				return true;
-			}
-
-			if (!(VersionParser.isLetter(c) && isAllowed(c)))
-				return false;
-
-			// Parse to next non-letter or next delimiter
-			//
-			int start = pos++;
-			for (; pos < maxPos; ++pos) {
-				c = version.charAt(pos);
-				if (!(VersionParser.isLetter(c) && isAllowed(c)))
-					break;
-			}
-			int len = pos - start;
-			if (rangeMin > len || len > rangeMax)
-				return false;
-
-			if (!isIgnored())
-				segments.add(version.substring(start, pos));
-			info.setPosition(pos);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append('a');
-			super.toString(sb);
-		}
-	}
-
-	private static class DelimiterFragment extends Fragment {
-		private static final long serialVersionUID = 8173654376143370605L;
-		private final char[] delimChars;
-		private final boolean inverted;
-
-		DelimiterFragment(VersionFormatParser.Instructions ep, Qualifier qualifier) {
-			super(qualifier);
-			if (ep == null) {
-				delimChars = null;
-				inverted = false;
-			} else {
-				inverted = ep.inverted;
-				delimChars = ep.characters;
-			}
-		}
-
-		boolean isMatch(String version, int pos) {
-			char c = version.charAt(pos);
-			if (delimChars != null) {
-				for (int idx = 0; idx < delimChars.length; ++idx)
-					if (c == delimChars[idx])
-						return !inverted;
-				return inverted;
-			} else if (VersionParser.isLetterOrDigit(c))
-				return false;
-
-			return true;
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			if (pos < maxPos && isMatch(version, pos)) {
-				// Just swallow, a delimiter does not contribute to the vector.
-				//
-				info.setPosition(pos + 1);
-				return true;
-			}
-			return false;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append('d');
-			if (delimChars != null)
-				appendCharacterRange(sb, delimChars, inverted);
-			super.toString(sb);
-		}
-	}
-
-	static void appendCharacterRange(StringBuffer sb, char[] range, boolean inverted) {
-		sb.append('=');
-		sb.append('[');
-		if (inverted)
-			sb.append('^');
-		int top = range.length;
-		for (int idx = 0; idx < top; ++idx) {
-			char b = range[idx];
-			if (b == '\\' || b == ']' || (b == '-' && idx + 1 < top))
-				sb.append('\\');
-
-			sb.append(b);
-			int ndx = idx + 1;
-			if (ndx + 2 < top) {
-				char c = b;
-				for (; ndx < top; ++ndx) {
-					char n = range[ndx];
-					if (c + 1 != n)
-						break;
-					c = n;
-				}
-				if (ndx <= idx + 3)
-					continue;
-
-				sb.append('-');
-				if (c == '\\' || c == ']' || (c == '-' && idx + 1 < top))
-					sb.append('\\');
-				sb.append(c);
-				idx = ndx - 1;
-			}
-		}
-		sb.append(']');
-		sb.append(';');
-	}
-
-	static Fragment createAutoFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-		return new AutoFragment(instr, qualifier);
-	}
-
-	static Fragment createDelimiterFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-		return new DelimiterFragment(instr, qualifier);
-	}
-
-	static Fragment createGroupFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, Fragment[] fragments, boolean array) {
-		return new GroupFragment(instr, qualifier, fragments, array);
-	}
-
-	static Fragment createLiteralFragment(Qualifier qualifier, String literal) {
-		return new LiteralFragment(qualifier, literal);
-	}
-
-	static Fragment createNumberFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, boolean signed) {
-		return new NumberFragment(instr, qualifier, signed);
-	}
-
-	static Fragment createPadFragment(Qualifier qualifier) {
-		return new PadFragment(qualifier);
-	}
-
-	static Fragment createQuotedFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-		return new QuotedFragment(instr, qualifier);
-	}
-
-	static Fragment createRawFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-		return new RawFragment(instr, qualifier);
-	}
-
-	static Fragment createStringFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, boolean unbound) {
-		return new StringFragment(instr, qualifier, unbound);
-	}
-
-	static boolean equalsAllowNull(Object a, Object b) {
-		return (a == null) ? (b == null) : (b != null && a.equals(b));
-	}
-
-	private static abstract class ElementFragment extends Fragment {
-		private static final long serialVersionUID = -6834591415456539713L;
-		private final Comparable defaultValue;
-		private final boolean ignored;
-		private final Comparable padValue;
-
-		ElementFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-			super(qualifier);
-			if (instr != null) {
-				ignored = instr.ignore;
-				defaultValue = instr.defaultValue;
-				padValue = instr.padValue;
-			} else {
-				ignored = false;
-				defaultValue = null;
-				padValue = null;
-			}
-		}
-
-		Comparable getDefaultValue() {
-			return defaultValue;
-		}
-
-		Comparable getPadValue() {
-			return padValue;
-		}
-
-		boolean isIgnored() {
-			return ignored;
-		}
-
-		void setDefaults(List segments) {
-			Object defaultVal = getDefaultValue();
-			if (defaultVal != null)
-				segments.add(defaultVal);
-		}
-
-		void toString(StringBuffer sb) {
-			if (ignored) {
-				sb.append('=');
-				sb.append('!');
-				sb.append(';');
-			}
-			if (defaultValue != null) {
-				sb.append('=');
-				VersionFormat.rawToString(sb, false, defaultValue);
-				sb.append(';');
-			}
-			if (padValue != null) {
-				sb.append('=');
-				sb.append('p');
-				VersionFormat.rawToString(sb, false, padValue);
-				sb.append(';');
-			}
-			super.toString(sb);
-		}
-	}
-
-	private static class GroupFragment extends ElementFragment {
-		private static final long serialVersionUID = 9219978678087669699L;
-		private final boolean array;
-		private final Fragment[] fragments;
-
-		GroupFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, Fragment[] fragments, boolean array) {
-			super(instr, qualifier);
-			this.fragments = fragments;
-			this.array = array;
-		}
-
-		public boolean isGroup() {
-			return !array;
-		}
-
-		Fragment getFirstLeaf() {
-			return fragments[0].getFirstLeaf();
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			if (array) {
-				ArrayList subSegs = new ArrayList();
-				boolean success = fragments[0].getQualifier().parse(fragments, 0, subSegs, version, maxPos, info);
-				if (!success || subSegs.isEmpty())
-					return false;
-
-				Comparable padValue = info.getPadValue();
-				if (padValue != null)
-					info.setPadValue(null); // Prevent outer group from getting this.
-				else
-					padValue = getPadValue();
-
-				padValue = VersionParser.removeRedundantTrail(segments, padValue);
-				segments.add(new VersionVector((Comparable[]) subSegs.toArray(new Comparable[subSegs.size()]), padValue));
-				return true;
-			}
-
-			if (fragments[0].getQualifier().parse(fragments, 0, segments, version, maxPos, info)) {
-				Comparable padValue = getPadValue();
-				if (padValue != null)
-					info.setPadValue(padValue);
-				return true;
-			}
-			return false;
-		}
-
-		void setDefaults(List segments) {
-			Comparable dflt = getDefaultValue();
-			if (dflt != null) {
-				// A group default overrides any defaults within the
-				// group fragments
-				super.setDefaults(segments);
-			} else {
-				// Assign defaults for all fragments
-				for (int idx = 0; idx < fragments.length; ++idx)
-					fragments[idx].setDefaults(segments);
-			}
-		}
-
-		void toString(StringBuffer sb) {
-			if (array) {
-				sb.append('<');
-				for (int idx = 0; idx < fragments.length; ++idx)
-					fragments[idx].toString(sb);
-				sb.append('>');
-			} else {
-				if (getQualifier() == VersionFormatParser.ZERO_OR_ONE_QUALIFIER) {
-					sb.append('[');
-					for (int idx = 0; idx < fragments.length; ++idx)
-						fragments[idx].toString(sb);
-					sb.append(']');
-				} else {
-					sb.append('(');
-					for (int idx = 0; idx < fragments.length; ++idx)
-						fragments[idx].toString(sb);
-					sb.append(')');
-				}
-			}
-			super.toString(sb);
-		}
-	}
-
-	private static class LiteralFragment extends Fragment {
-		private static final long serialVersionUID = 6210696245839471802L;
-		private final String string;
-
-		LiteralFragment(Qualifier qualifier, String string) {
-			super(qualifier);
-			this.string = string;
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			int litLen = string.length();
-			if (pos + litLen > maxPos)
-				return false;
-
-			for (int idx = 0; idx < litLen; ++idx, ++pos) {
-				if (string.charAt(idx) != version.charAt(pos))
-					return false;
-			}
-			info.setPosition(pos);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			String str = string;
-			if (str.length() != 1) {
-				sb.append('\'');
-				VersionFormatParser.toStringEscaped(sb, str, "\'"); //$NON-NLS-1$
-				sb.append('\'');
-			} else {
-				char c = str.charAt(0);
-				switch (c) {
-					case '\'' :
-					case '\\' :
-					case '<' :
-					case '[' :
-					case '(' :
-					case '{' :
-					case '?' :
-					case '*' :
-					case '+' :
-					case '=' :
-						sb.append('\\');
-						sb.append(c);
-						break;
-					default :
-						if (VersionParser.isLetterOrDigit(c)) {
-							sb.append('\\');
-							sb.append(c);
-						} else
-							sb.append(c);
-				}
-			}
-			super.toString(sb);
-		}
-	}
-
-	private static class NumberFragment extends RangeFragment {
-		private static final long serialVersionUID = -8552754381106711507L;
-		private final boolean signed;
-
-		NumberFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, boolean signed) {
-			super(instr, qualifier);
-			this.signed = signed;
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			maxPos = checkRange(pos, maxPos);
-			if (maxPos < 0)
-				return false;
-
-			// Parse to next non-digit
-			//
-			int start = pos;
-			int value;
-
-			char c = version.charAt(pos);
-			if (signed || characters != null) {
-				boolean negate = false;
-				if (signed && c == '-' && pos + 1 < maxPos) {
-					negate = true;
-					c = version.charAt(++pos);
-				}
-
-				if (!(c >= '0' && c <= '9' && isAllowed(c)))
-					return false;
-
-				// Parse to next non-digit
-				//
-				value = c - '0';
-				while (++pos < maxPos) {
-					c = version.charAt(pos);
-					if (!(c >= '0' && c <= '9' && isAllowed(c)))
-						break;
-					value *= 10;
-					value += (c - '0');
-				}
-				if (negate)
-					value = -value;
-			} else {
-				if (c < '0' || c > '9')
-					return false;
-
-				// Parse to next non-digit
-				//
-				value = c - '0';
-				while (++pos < maxPos) {
-					c = version.charAt(pos);
-					if (c < '0' || c > '9')
-						break;
-					value *= 10;
-					value += (c - '0');
-				}
-			}
-
-			int len = pos - start;
-			if (rangeMin > len || len > rangeMax)
-				return false;
-
-			if (!isIgnored())
-				segments.add(VersionParser.valueOf(value));
-			info.setPosition(pos);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append(signed ? 'N' : 'n');
-			super.toString(sb);
-		}
-	}
-
-	private static class PadFragment extends ElementFragment {
-		private static final long serialVersionUID = 5052010199974380170L;
-
-		PadFragment(Qualifier qualifier) {
-			super(null, qualifier);
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			if (pos >= maxPos || version.charAt(pos) != 'p')
-				return false;
-
-			int[] position = new int[] {++pos};
-			Comparable v = VersionParser.parseRawElement(version, position, maxPos);
-			if (v == null)
-				return false;
-
-			if (!isIgnored())
-				info.setPadValue(v);
-			info.setPosition(position[0]);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append('p');
-			super.toString(sb);
-		}
-	}
-
-	private static class QuotedFragment extends RangeFragment {
-		private static final long serialVersionUID = 6057751133533608969L;
-
-		QuotedFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-			super(instr, qualifier);
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			if (pos >= maxPos)
-				return false;
-
-			char endQuote;
-			char quote = version.charAt(pos);
-			switch (quote) {
-				case '<' :
-					endQuote = '>';
-					break;
-				case '{' :
-					endQuote = '}';
-					break;
-				case '(' :
-					endQuote = ')';
-					break;
-				case '[' :
-					endQuote = ']';
-					break;
-				case '>' :
-					endQuote = '<';
-					break;
-				case '}' :
-					endQuote = '{';
-					break;
-				case ')' :
-					endQuote = '(';
-					break;
-				case ']' :
-					endQuote = '[';
-					break;
-				default :
-					if (VersionParser.isLetterOrDigit(quote))
-						return false;
-					endQuote = quote;
-			}
-			int start = ++pos;
-			char c = version.charAt(pos);
-			while (c != endQuote && isAllowed(c) && ++pos < maxPos)
-				c = version.charAt(pos);
-
-			if (c != endQuote || rangeMin > pos - start)
-				// End quote not found
-				return false;
-
-			int len = pos - start;
-			if (rangeMin > len || len > rangeMax)
-				return false;
-
-			if (!isIgnored())
-				segments.add(version.substring(start, pos));
-			info.setPosition(++pos); // Skip quote
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append('q');
-			super.toString(sb);
-		}
-	}
-
-	private static abstract class RangeFragment extends ElementFragment {
-		private static final long serialVersionUID = -6680402803630334708L;
-		final char[] characters;
-		final boolean inverted;
-		final int rangeMax;
-		final int rangeMin;
-
-		RangeFragment(VersionFormatParser.Instructions instr, Qualifier qualifier) {
-			super(instr, qualifier);
-			if (instr == null) {
-				characters = null;
-				inverted = false;
-				rangeMin = 0;
-				rangeMax = Integer.MAX_VALUE;
-			} else {
-				characters = instr.characters;
-				inverted = instr.inverted;
-				rangeMin = instr.rangeMin;
-				rangeMax = instr.rangeMax;
-			}
-		}
-
-		/**
-		 * Checks that pos is at a valid character position, that we
-		 * have at least the required minimum characters left, and
-		 * if a maximum number of characters is set, limits the
-		 * returned value to a maxPos that reflects that maximum.
-		 * @param pos the current position
-		 * @param maxPos the current maxPos
-		 * @return maxPos, possibly limited by rangeMax
-		 */
-		int checkRange(int pos, int maxPos) {
-			int check = pos;
-			if (rangeMin == 0)
-				check++; // Verify one character
-			else
-				check += rangeMin;
-
-			if (check > maxPos)
-				// Less then min characters left
-				maxPos = -1;
-			else {
-				if (rangeMax != Integer.MAX_VALUE) {
-					check = pos + rangeMax;
-					if (check < maxPos)
-						maxPos = check;
-				}
-			}
-			return maxPos;
-		}
-
-		boolean isAllowed(char c) {
-			char[] crs = characters;
-			if (crs != null) {
-				int idx = crs.length;
-				while (--idx >= 0)
-					if (c == crs[idx])
-						return !inverted;
-				return inverted;
-			}
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			if (characters != null)
-				appendCharacterRange(sb, characters, inverted);
-			if (rangeMin != 0 || rangeMax != Integer.MAX_VALUE) {
-				sb.append('=');
-				sb.append('{');
-				sb.append(rangeMin);
-				if (rangeMin != rangeMax) {
-					sb.append(',');
-					if (rangeMax != Integer.MAX_VALUE)
-						sb.append(rangeMax);
-				}
-				sb.append('}');
-				sb.append(';');
-			}
-			super.toString(sb);
-		}
-	}
-
-	private static class RawFragment extends ElementFragment {
-		private static final long serialVersionUID = 4107448125256042602L;
-
-		RawFragment(VersionFormatParser.Instructions processing, Qualifier qualifier) {
-			super(processing, qualifier);
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int[] position = new int[] {info.getPosition()};
-			Comparable v = VersionParser.parseRawElement(version, position, maxPos);
-			if (v == null)
-				return false;
-
-			if (!isIgnored())
-				segments.add(v);
-			info.setPosition(position[0]);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append('r');
-			super.toString(sb);
-		}
-	}
-
-	private static class StringFragment extends RangeFragment {
-		private static final long serialVersionUID = -2265924553606430164L;
-		final boolean anyChar;
-		private final char oppositeTranslationChar;
-		private final int oppositeTranslationRepeat;
-
-		StringFragment(VersionFormatParser.Instructions instr, Qualifier qualifier, boolean noLimit) {
-			super(instr, qualifier);
-			anyChar = noLimit;
-			char otc = 0;
-			int otr = 0;
-			if (instr != null) {
-				otc = instr.oppositeTranslationChar;
-				otr = instr.oppositeTranslationRepeat;
-				if (instr.defaultValue == VersionVector.MINS_VALUE) {
-					if (otc == 0)
-						otc = 'z';
-					if (otr == 0)
-						otr = 3;
-				} else if (instr.defaultValue == VersionVector.MAXS_VALUE) {
-					if (otc == 0)
-						otc = '-';
-					otr = 1;
-				}
-			}
-			oppositeTranslationChar = otc;
-			oppositeTranslationRepeat = otr;
-		}
-
-		Comparable getOppositeDefaultValue() {
-			Comparable dflt = getDefaultValue();
-			return dflt == VersionVector.MAXS_VALUE ? VersionVector.MINS_VALUE : (dflt == VersionVector.MINS_VALUE ? VersionVector.MAXS_VALUE : null);
-		}
-
-		public boolean isOppositeTranslation(Object val) {
-			if (val instanceof String) {
-				String str = (String) val;
-				int idx = oppositeTranslationRepeat;
-				if (str.length() == idx) {
-					while (--idx >= 0)
-						if (str.charAt(idx) != oppositeTranslationChar)
-							break;
-					return idx < 0;
-				}
-			}
-			return false;
-		}
-
-		boolean parseOne(List segments, String version, int maxPos, TreeInfo info) {
-			int pos = info.getPosition();
-			maxPos = checkRange(pos, maxPos);
-			if (maxPos < 0)
-				return false;
-
-			// Parse to next delimiter or end of string
-			//
-			int start = pos;
-			if (characters != null) {
-				if (anyChar) {
-					// Swallow everything that matches the allowed characters
-					for (; pos < maxPos; ++pos) {
-						if (!isAllowed(version.charAt(pos)))
-							break;
-					}
-				} else {
-					// Swallow letters that matches the allowed characters
-					for (; pos < maxPos; ++pos) {
-						char c = version.charAt(pos);
-						if (!(VersionParser.isLetter(c) && isAllowed(c)))
-							break;
-					}
-				}
-			} else {
-				if (anyChar)
-					// Swallow all characters
-					pos = maxPos;
-				else {
-					// Swallow all letters
-					for (; pos < maxPos; ++pos) {
-						if (!VersionParser.isLetter(version.charAt(pos)))
-							break;
-					}
-				}
-			}
-			int len = pos - start;
-			if (len == 0 || rangeMin > len || len > rangeMax)
-				return false;
-
-			if (!isIgnored())
-				segments.add(version.substring(start, pos));
-			info.setPosition(pos);
-			return true;
-		}
-
-		void toString(StringBuffer sb) {
-			sb.append(anyChar ? 'S' : 's');
-			super.toString(sb);
-		}
-	}
-
-	private int current;
-
-	private List currentList;
-
-	private int eos;
-
-	private String format;
-
-	private int start;
-
-	Fragment compile(String fmt, int pos, int maxPos) throws VersionFormatException {
-		format = fmt;
-		if (start >= maxPos)
-			throw new VersionFormatException(Messages.format_is_empty);
-
-		start = pos;
-		current = pos;
-		eos = maxPos;
-		currentList = new ArrayList();
-		while (current < eos)
-			parseFragment();
-
-		Fragment topFrag;
-		switch (currentList.size()) {
-			case 0 :
-				throw new VersionFormatException(Messages.format_is_empty);
-			case 1 :
-				Fragment frag = (Fragment) currentList.get(0);
-				if (frag.isGroup()) {
-					topFrag = frag;
-					break;
-				}
-				// Fall through to default
-			default :
-				topFrag = createGroupFragment(null, EXACT_ONE_QUALIFIER, (Fragment[]) currentList.toArray(new Fragment[currentList.size()]), false);
-		}
-		currentList = null;
-		return topFrag;
-	}
-
-	private void assertChar(char expected) throws VersionFormatException {
-		if (current >= eos)
-			throw formatException(NLS.bind(Messages.premature_end_of_format_expected_0, new String(new char[] {expected})));
-
-		char c = format.charAt(current);
-		if (c != expected)
-			throw formatException(c, new String(new char[] {expected}));
-		++current;
-	}
-
-	private VersionFormatException formatException(char found, String expected) {
-		return formatException(new String(new char[] {found}), expected);
-	}
-
-	private VersionFormatException formatException(String message) {
-		return new VersionFormatException(NLS.bind(Messages.syntax_error_in_version_format_0_1_2, new Object[] {format.substring(start, eos), new Integer(current), message}));
-	}
-
-	private VersionFormatException formatException(String found, String expected) {
-		return new VersionFormatException(NLS.bind(Messages.syntax_error_in_version_format_0_1_found_2_expected_3, new Object[] {format.substring(start, eos), new Integer(current), found, expected}));
-	}
-
-	private VersionFormatException illegalControlCharacter(char c) {
-		return formatException(NLS.bind(Messages.illegal_character_encountered_ascii_0, VersionParser.valueOf(c)));
-	}
-
-	private String parseAndConsiderEscapeUntil(char endChar) throws VersionFormatException {
-		StringBuffer sb = new StringBuffer();
-		while (current < eos) {
-			char c = format.charAt(current++);
-			if (c == endChar)
-				break;
-
-			if (c < 32)
-				throw illegalControlCharacter(c);
-
-			if (c == '\\') {
-				if (current == eos)
-					throw formatException(Messages.EOS_after_escape);
-				c = format.charAt(current++);
-				if (c < 32)
-					throw illegalControlCharacter(c);
-			}
-			sb.append(c);
-		}
-		return sb.toString();
-	}
-
-	private void parseAuto() throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.padValue != null)
-				throw formatException(Messages.auto_can_not_have_pad_value);
-		}
-		currentList.add(createAutoFragment(ep, parseQualifier()));
-	}
-
-	private void parseBracketGroup() throws VersionFormatException {
-		List saveList = currentList;
-		currentList = new ArrayList();
-		while (current < eos && format.charAt(current) != ']')
-			parseFragment();
-
-		if (current == eos)
-			throw formatException(NLS.bind(Messages.premature_end_of_format_expected_0, "]")); //$NON-NLS-1$
-
-		++current;
-		VersionFormatParser.Instructions ep = parseProcessing();
-		saveList.add(createGroupFragment(ep, ZERO_OR_ONE_QUALIFIER, (Fragment[]) currentList.toArray(new Fragment[currentList.size()]), false));
-		currentList = saveList;
-	}
-
-	private void parseCharacterGroup(VersionFormatParser.Instructions ep) throws VersionFormatException {
-		assertChar('[');
-
-		StringBuffer sb = new StringBuffer();
-		outer: for (; current < eos; ++current) {
-			char c = format.charAt(current);
-			switch (c) {
-				case '\\' :
-					if (current + 1 < eos) {
-						sb.append(format.charAt(++current));
-						continue;
-					}
-					throw formatException(Messages.premature_end_of_format);
-				case '^' :
-					if (sb.length() == 0)
-						ep.inverted = true;
-					else
-						sb.append(c);
-					continue;
-				case ']' :
-					break outer;
-				case '-' :
-					if (sb.length() > 0 && current + 1 < eos) {
-						char rangeEnd = format.charAt(++current);
-						if (rangeEnd == ']') {
-							// Use dash verbatim when last in range
-							sb.append(c);
-							break outer;
-						}
-
-						char rangeStart = sb.charAt(sb.length() - 1);
-						if (rangeEnd < rangeStart)
-							throw formatException(Messages.negative_character_range);
-						while (++rangeStart <= rangeEnd)
-							sb.append(rangeStart);
-						continue;
-					}
-					// Fall through to default
-				default :
-					if (c < 32)
-						throw illegalControlCharacter(c);
-					sb.append(c);
-			}
-		}
-		assertChar(']');
-		int top = sb.length();
-		char[] chars = new char[top];
-		sb.getChars(0, top, chars, 0);
-		ep.characters = chars;
-	}
-
-	private void parseDelimiter() throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.rangeMin != 0 || ep.rangeMax != Integer.MAX_VALUE)
-				throw formatException(Messages.delimiter_can_not_have_range);
-			if (ep.ignore)
-				throw formatException(Messages.delimiter_can_not_be_ignored);
-			if (ep.defaultValue != null)
-				throw formatException(Messages.delimiter_can_not_have_default_value);
-			if (ep.padValue != null)
-				throw formatException(Messages.delimiter_can_not_have_pad_value);
-		}
-		currentList.add(createDelimiterFragment(ep, parseQualifier()));
-	}
-
-	private void parseFragment() throws VersionFormatException {
-		if (current == eos)
-			throw formatException(Messages.premature_end_of_format);
-		char c = format.charAt(current++);
-		switch (c) {
-			case '(' :
-				parseGroup(false);
-				break;
-			case '<' :
-				parseGroup(true);
-				break;
-			case '[' :
-				parseBracketGroup();
-				break;
-			case 'a' :
-				parseAuto();
-				break;
-			case 'r' :
-				parseRaw();
-				break;
-			case 'n' :
-				parseNumber(false);
-				break;
-			case 'N' :
-				parseNumber(true);
-				break;
-			case 's' :
-				parseString(false);
-				break;
-			case 'S' :
-				parseString(true);
-				break;
-			case 'd' :
-				parseDelimiter();
-				break;
-			case 'q' :
-				parseQuotedString();
-				break;
-			case 'p' :
-				parsePad();
-				break;
-			default :
-				parseLiteral(c);
-		}
-	}
-
-	private void parseGroup(boolean array) throws VersionFormatException {
-		List saveList = currentList;
-		currentList = new ArrayList();
-		char expectedEnd = array ? '>' : ')';
-		while (current < eos && format.charAt(current) != expectedEnd)
-			parseFragment();
-		assertChar(expectedEnd);
-
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.characters != null)
-				throw formatException(Messages.array_can_not_have_character_group);
-			if (ep.rangeMax != Integer.MAX_VALUE && ep.padValue != null) {
-				throw formatException(Messages.cannot_combine_range_upper_bound_with_pad_value);
-			}
-		}
-
-		if (currentList.isEmpty())
-			throw formatException(array ? Messages.array_can_not_be_empty : Messages.group_can_not_be_empty);
-		saveList.add(createGroupFragment(ep, parseQualifier(), (Fragment[]) currentList.toArray(new Fragment[currentList.size()]), array));
-		currentList = saveList;
-	}
-
-	private int parseIntegerLiteral() throws VersionFormatException {
-		if (current == eos)
-			throw formatException(NLS.bind(Messages.premature_end_of_format_expected_0, "<integer>")); //$NON-NLS-1$
-
-		char c = format.charAt(current);
-		if (!VersionParser.isDigit(c))
-			throw formatException(c, "<integer>"); //$NON-NLS-1$
-
-		int value = c - '0';
-		while (++current < eos) {
-			c = format.charAt(current);
-			if (!VersionParser.isDigit(c))
-				break;
-			value *= 10;
-			value += (c - '0');
-		}
-		return value;
-	}
-
-	private void parseLiteral(char c) throws VersionFormatException {
-		String value;
-		switch (c) {
-			case '\'' :
-				value = parseAndConsiderEscapeUntil(c);
-				break;
-			case ')' :
-			case ']' :
-			case '{' :
-			case '}' :
-			case '?' :
-			case '*' :
-				throw formatException(c, "<literal>"); //$NON-NLS-1$
-			default :
-				if (VersionParser.isLetterOrDigit(c))
-					throw formatException(c, "<literal>"); //$NON-NLS-1$
-
-				if (c < 32)
-					throw illegalControlCharacter(c);
-
-				if (c == '\\') {
-					if (current == eos)
-						throw formatException(Messages.EOS_after_escape);
-					c = format.charAt(current++);
-					if (c < 32)
-						throw illegalControlCharacter(c);
-				}
-				value = new String(new char[] {c});
-		}
-		currentList.add(createLiteralFragment(parseQualifier(), value));
-	}
-
-	private int[] parseMinMax() throws VersionFormatException {
-
-		int max = Integer.MAX_VALUE;
-		++current;
-		int min = parseIntegerLiteral();
-		char c = format.charAt(current);
-		if (c == '}') {
-			max = min;
-			if (max == 0)
-				throw formatException(Messages.range_max_cannot_be_zero);
-			++current;
-		} else if (c == ',' && current + 1 < eos) {
-			if (format.charAt(++current) != '}') {
-				max = parseIntegerLiteral();
-				if (max == 0)
-					throw formatException(Messages.range_max_cannot_be_zero);
-				if (max < min)
-					throw formatException(Messages.range_max_cannot_be_less_then_range_min);
-			}
-			assertChar('}');
-		} else
-			throw formatException(c, "},"); //$NON-NLS-1$
-		return new int[] {min, max};
-	}
-
-	private void parseNumber(boolean signed) throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.padValue != null)
-				throw formatException(Messages.number_can_not_have_pad_value);
-		}
-		currentList.add(createNumberFragment(ep, parseQualifier(), signed));
-	}
-
-	private void parsePad() throws VersionFormatException {
-		currentList.add(createPadFragment(parseQualifier()));
-	}
-
-	private VersionFormatParser.Instructions parseProcessing() throws VersionFormatException {
-		if (current >= eos)
-			return null;
-
-		char c = format.charAt(current);
-		if (c != '=')
-			return null;
-
-		VersionFormatParser.Instructions ep = new VersionFormatParser.Instructions();
-		do {
-			current++;
-			parseProcessingInstruction(ep);
-		} while (current < eos && format.charAt(current) == '=');
-		return ep;
-	}
-
-	private void parseProcessingInstruction(VersionFormatParser.Instructions processing) throws VersionFormatException {
-		if (current == eos)
-			throw formatException(Messages.premature_end_of_format);
-
-		char c = format.charAt(current);
-		if (c == 'p') {
-			// =pad(<raw-element>);
-			//
-			if (processing.padValue != null)
-				throw formatException(Messages.pad_defined_more_then_once);
-			if (processing.ignore)
-				throw formatException(Messages.cannot_combine_ignore_with_other_instruction);
-			++current;
-			processing.padValue = parseRawElement();
-		} else if (c == '!') {
-			// =ignore;
-			//
-			if (processing.ignore)
-				throw formatException(Messages.ignore_defined_more_then_once);
-			if (processing.padValue != null || processing.characters != null || processing.rangeMin != 0 || processing.rangeMax != Integer.MAX_VALUE || processing.defaultValue != null)
-				throw formatException(Messages.cannot_combine_ignore_with_other_instruction);
-			++current;
-			processing.ignore = true;
-		} else if (c == '[') {
-			// =[<character group];
-			//
-			if (processing.characters != null)
-				throw formatException(Messages.character_group_defined_more_then_once);
-			if (processing.ignore)
-				throw formatException(Messages.cannot_combine_ignore_with_other_instruction);
-			parseCharacterGroup(processing);
-		} else if (c == '{') {
-			// ={min,max};
-			//
-			if (processing.rangeMin != 0 || processing.rangeMax != Integer.MAX_VALUE)
-				throw formatException(Messages.range_defined_more_then_once);
-			if (processing.ignore)
-				throw formatException(Messages.cannot_combine_ignore_with_other_instruction);
-			int[] minMax = parseMinMax();
-			processing.rangeMin = minMax[0];
-			processing.rangeMax = minMax[1];
-		} else {
-			// =<raw-element>;
-			if (processing.defaultValue != null)
-				throw formatException(Messages.default_defined_more_then_once);
-			if (processing.ignore)
-				throw formatException(Messages.cannot_combine_ignore_with_other_instruction);
-			Comparable dflt = parseRawElement();
-			processing.defaultValue = dflt;
-			if (current < eos && format.charAt(current) == '{') {
-				// =m{<translated min char>}
-				// =''{<translated max char>,<max char repeat>}
-				if (++current == eos)
-					throw formatException(Messages.premature_end_of_format);
-				processing.oppositeTranslationChar = format.charAt(current++);
-				if (current == eos)
-					throw formatException(Messages.premature_end_of_format);
-
-				if (dflt == VersionVector.MINS_VALUE) {
-					processing.oppositeTranslationRepeat = 3;
-					if (format.charAt(current) == ',') {
-						++current;
-						processing.oppositeTranslationRepeat = parseIntegerLiteral();
-					}
-				} else if (dflt != VersionVector.MAXS_VALUE) {
-					current -= 2;
-					throw formatException(Messages.only_max_and_empty_string_defaults_can_have_translations);
-				}
-				assertChar('}');
-			}
-		}
-		assertChar(';');
-	}
-
-	private Qualifier parseQualifier() throws VersionFormatException {
-		if (current >= eos)
-			return EXACT_ONE_QUALIFIER;
-
-		char c = format.charAt(current);
-		if (c == '?') {
-			++current;
-			return ZERO_OR_ONE_QUALIFIER;
-		}
-
-		if (c == '*') {
-			++current;
-			return ZERO_OR_MANY_QUALIFIER;
-		}
-
-		if (c == '+') {
-			++current;
-			return ONE_OR_MANY_QUALIFIER;
-		}
-
-		if (c != '{')
-			return EXACT_ONE_QUALIFIER;
-
-		int[] minMax = parseMinMax();
-		int min = minMax[0];
-		int max = minMax[1];
-
-		// Use singletons for commonly used ranges
-		//
-		if (min == 0) {
-			if (max == 1)
-				return ZERO_OR_ONE_QUALIFIER;
-			if (max == Integer.MAX_VALUE)
-				return ZERO_OR_MANY_QUALIFIER;
-		} else if (min == 1) {
-			if (max == 1)
-				return EXACT_ONE_QUALIFIER;
-			if (max == Integer.MAX_VALUE)
-				return ONE_OR_MANY_QUALIFIER;
-		}
-		return new Qualifier(min, max);
-	}
-
-	private void parseQuotedString() throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.padValue != null)
-				throw formatException(Messages.string_can_not_have_pad_value);
-		}
-		currentList.add(createQuotedFragment(ep, parseQualifier()));
-	}
-
-	private void parseRaw() throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.padValue != null)
-				throw formatException(Messages.raw_element_can_not_have_pad_value);
-		}
-		currentList.add(createRawFragment(ep, parseQualifier()));
-	}
-
-	private Comparable parseRawElement() throws VersionFormatException {
-		int[] position = new int[] {current};
-		Comparable v = VersionParser.parseRawElement(format, position, eos);
-		if (v == null)
-			throw new VersionFormatException(NLS.bind(Messages.raw_element_expected_0, format));
-		current = position[0];
-		return v;
-	}
-
-	private void parseString(boolean unlimited) throws VersionFormatException {
-		VersionFormatParser.Instructions ep = parseProcessing();
-		if (ep != null) {
-			if (ep.padValue != null)
-				throw formatException(Messages.string_can_not_have_pad_value);
-		}
-		currentList.add(createStringFragment(ep, parseQualifier(), unlimited));
-	}
-
-	static void toStringEscaped(StringBuffer sb, String value, String escapes) {
-		for (int idx = 0; idx < value.length(); ++idx) {
-			char c = value.charAt(idx);
-			if (c == '\\' || escapes.indexOf(c) >= 0)
-				sb.append('\\');
-			sb.append(c);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
deleted file mode 100644
index 412c2bf..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionFormatException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The Omni Version parser. Not intended for public API. Instead use
- * {@link Version#create(String)} or {@link Version#parseVersion(String)}.
- *
- * The class also contains some general purpose parser support methods
- *
- * @noextend This class is not intended to be subclassed by clients.
- */
-public abstract class VersionParser {
-	public static final Integer ZERO_INT = new Integer(0);
-
-	public static final Integer MAX_INT_OBJ = new Integer(Integer.MAX_VALUE);
-
-	private static final Integer cache[] = new Integer[100];
-
-	static {
-		cache[0] = ZERO_INT;
-		for (int i = 1; i < cache.length; i++)
-			cache[i] = new Integer(i);
-	}
-
-	public static Integer valueOf(int i) {
-		try {
-			return cache[i];
-		} catch (ArrayIndexOutOfBoundsException e) {
-			return (i == Integer.MAX_VALUE) ? MAX_INT_OBJ : new Integer(i);
-		}
-	}
-
-	static Comparable removeRedundantTrail(List segments, Comparable padValue) {
-		Comparable redundantTrail;
-		if (padValue == null)
-			redundantTrail = VersionVector.MIN_VALUE;
-		else {
-			redundantTrail = padValue;
-			if (padValue == VersionVector.MIN_VALUE)
-				padValue = null;
-		}
-
-		int idx = segments.size();
-		while (--idx >= 0 && segments.get(idx).equals(redundantTrail))
-			segments.remove(idx);
-
-		return padValue;
-	}
-
-	private VersionParser() {
-		// Prevent class from being instantiated
-	}
-
-	/**
-	 * Parse the <code>version</code> string and assing the parsed portions to the <code>receiver</code>.
-	 * This method is called from the version string constructor.
-	 *
-	 * @param version The string to be parsed
-	 * @param start Start position in the <code>version</code> string
-	 * @param maxPos End position in the <code>version</code> string
-	 * @returns a version if one indeed was parsed or <code>null</code> if the string
-	 * contained only whitespace.
-	 * @throws IllegalArgumentException if the version is malformed
-	 */
-	public static Version parse(String version, int start, int maxPos) throws IllegalArgumentException {
-		// trim leading and trailing whitespace
-		int pos = skipWhite(version, start);
-		maxPos = skipTrailingWhite(version, start, maxPos);
-		if (pos == maxPos)
-			return null;
-
-		Comparable[] padReturn = new Comparable[1];
-		Comparable[] vector = null;
-		Comparable pad = null;
-		VersionFormat fmt = null;
-		char c = version.charAt(pos);
-		if (isDigit(c)) {
-			vector = VersionFormat.OSGI_FORMAT.parse(version, pos, maxPos, padReturn);
-			return OSGiVersion.fromVector(vector, padReturn[0]);
-		}
-
-		if (!isLetter(c))
-			throw new IllegalArgumentException();
-
-		if (version.startsWith(Version.RAW_PREFIX, pos)) {
-			VersionFormat rawFmt = VersionFormat.RAW_FORMAT;
-			pos += 4;
-
-			// Find ending '/' that is neither quoted or escaped
-			int end = maxPos;
-			for (int idx = pos; idx < maxPos; ++idx) {
-				c = version.charAt(idx);
-				switch (c) {
-					case '/' :
-						end = idx;
-						break;
-					case '\\' :
-						++idx;
-						continue;
-					case '\'' :
-					case '"' :
-						for (++idx; idx < maxPos; ++idx) {
-							char e = version.charAt(idx);
-							if (e == c) {
-								break;
-							}
-							if (e == '\\')
-								++idx;
-						}
-						// fall through to default
-					default :
-						continue;
-				}
-				break;
-			}
-
-			vector = rawFmt.parse(version, pos, end, padReturn);
-			pad = padReturn[0];
-			pos = end;
-			if (pos == maxPos)
-				// This was a pure raw version
-				//
-				return OmniVersion.fromVector(vector, pad, null, null);
-
-			if (version.charAt(pos) != '/')
-				throw new IllegalArgumentException(NLS.bind(Messages.expected_slash_after_raw_vector_0, version.substring(start, maxPos)));
-			++pos;
-
-			if (pos == maxPos)
-				throw new IllegalArgumentException(NLS.bind(Messages.expected_orignal_after_slash_0, version.substring(start, maxPos)));
-		}
-
-		if (version.startsWith("format(", pos)) { //$NON-NLS-1$
-			// Parse the format
-			//
-			pos += 7;
-			try {
-				// Find matching ')' that is neither quoted or escaped
-				//
-				int end = findEndOfFormat(version, pos, maxPos);
-				fmt = VersionFormat.compile(version, pos, end);
-				pos = end + 1;
-			} catch (VersionFormatException e) {
-				throw new IllegalArgumentException(e.getMessage());
-			}
-			if (pos == maxPos) {
-				// This was a raw version with format but no original
-				//
-				if (vector == null)
-					throw new IllegalArgumentException(NLS.bind(Messages.only_format_specified_0, version.substring(start, maxPos)));
-				return fmt == VersionFormat.OSGI_FORMAT ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, fmt, null);
-			}
-		}
-
-		if (fmt == null && vector == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.neither_raw_vector_nor_format_specified_0, version.substring(start, maxPos)));
-
-		if (version.charAt(pos) != ':')
-			throw new IllegalArgumentException(NLS.bind(Messages.colon_expected_before_original_version_0, version.substring(start, maxPos)));
-
-		pos++;
-		if (pos == maxPos)
-			throw new IllegalArgumentException(NLS.bind(Messages.expected_orignal_after_colon_0, version.substring(start, maxPos)));
-
-		if (vector == null) {
-			// Vector and pad must be created by parsing the original
-			//
-			vector = fmt.parse(version, pos, maxPos, padReturn);
-			pad = padReturn[0];
-		}
-		return fmt == VersionFormat.OSGI_FORMAT ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, fmt, version.substring(pos));
-	}
-
-	static boolean isDigit(char c) {
-		return c >= '0' && c <= '9';
-	}
-
-	public static boolean isLetter(char c) {
-		return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
-	}
-
-	static boolean isLetterOrDigit(char c) {
-		return isDigit(c) || isLetter(c);
-	}
-
-	public static int findEndOfFormat(String string, int pos, int maxPos) {
-		int end = -1;
-		int depth = 1;
-		for (int idx = pos; idx < maxPos; ++idx) {
-			char c = string.charAt(idx);
-			switch (c) {
-				case ')' :
-					if (--depth == 0) {
-						end = idx;
-						break;
-					}
-					continue;
-				case '(' :
-					++depth;
-					continue;
-				case '\\' :
-					++idx;
-					continue;
-				case '\'' :
-				case '"' :
-					for (++idx; idx < maxPos; ++idx) {
-						char e = string.charAt(idx);
-						if (e == c) {
-							break;
-						}
-						if (e == '\\')
-							++idx;
-					}
-					// fall through to default
-				default :
-					continue;
-			}
-			break;
-		}
-		if (depth != 0)
-			throw new IllegalArgumentException(NLS.bind(Messages.unbalanced_format_parenthesis, string.substring(pos - 1, maxPos)));
-		return end;
-	}
-
-	static Comparable parseRawElement(String value, int[] position, int maxPos) {
-		int current = position[0];
-		if (current >= maxPos)
-			return null;
-
-		boolean negate = false;
-		char c = value.charAt(current);
-		Comparable v;
-		switch (c) {
-			case '\'' :
-			case '"' : {
-				StringBuffer sb = new StringBuffer();
-				for (;;) {
-					char q = c;
-					if (++current == maxPos)
-						return null;
-					c = value.charAt(current);
-					while (c != q) {
-						if (c < 32)
-							return null;
-						sb.append(c);
-						if (++current == maxPos)
-							return null;
-						c = value.charAt(current);
-					}
-					if (++current == maxPos)
-						break;
-					c = value.charAt(current);
-					if (c != '\'' && c != '"')
-						break;
-				}
-				v = sb.length() == 0 ? VersionVector.MINS_VALUE : sb.toString();
-				break;
-			}
-			case '<' : {
-				if (++current == maxPos)
-					return null;
-
-				position[0] = current;
-				v = parseRawVector(value, position, maxPos);
-				if (v == null)
-					return null;
-				current = position[0];
-				break;
-			}
-			case 'm' :
-				v = VersionVector.MAXS_VALUE;
-				++current;
-				break;
-			case 'M' :
-				v = VersionVector.MAX_VALUE;
-				++current;
-				break;
-			case '-' :
-				if (++current >= maxPos)
-					return null;
-
-				c = value.charAt(current);
-				if (c == 'M') {
-					++current;
-					v = VersionVector.MIN_VALUE;
-					break;
-				}
-				negate = true;
-				// Fall through to default
-			default : {
-				if (isDigit(c)) {
-					int start = current++;
-					while (current < maxPos && isDigit(value.charAt(current)))
-						++current;
-					int val = Integer.parseInt(value.substring(start, current));
-					if (negate)
-						val = -val;
-					v = valueOf(val);
-					break;
-				}
-				return null;
-			}
-		}
-		position[0] = current;
-		return v;
-	}
-
-	private static Comparable parseRawVector(String value, int[] position, int maxPos) {
-		int pos = position[0];
-		if (pos >= maxPos)
-			return null;
-
-		char c = value.charAt(pos);
-		if (c == '>')
-			return null;
-
-		ArrayList rawList = new ArrayList();
-		boolean padMarkerSeen = (c == 'p');
-		if (padMarkerSeen) {
-			if (++pos >= maxPos)
-				return null;
-			position[0] = pos;
-		}
-
-		Comparable pad = null;
-		for (;;) {
-			Comparable elem = parseRawElement(value, position, maxPos);
-			if (elem == null)
-				return null;
-
-			if (padMarkerSeen)
-				pad = elem;
-			else
-				rawList.add(elem);
-
-			pos = position[0];
-			if (pos >= maxPos)
-				return null;
-
-			c = value.charAt(pos);
-			position[0] = ++pos;
-			if (c == '>')
-				break;
-
-			if (padMarkerSeen || pos >= maxPos)
-				return null;
-
-			if (c == 'p') {
-				padMarkerSeen = true;
-				continue;
-			}
-
-			if (c != '.')
-				return null;
-		}
-		pad = removeRedundantTrail(rawList, pad);
-		return new VersionVector((Comparable[]) rawList.toArray(new Comparable[rawList.size()]), pad);
-	}
-
-	public static int skipWhite(String string, int pos) {
-		int top = string.length();
-		while (pos < top && string.charAt(pos) <= ' ')
-			++pos;
-		return pos;
-	}
-
-	public static int skipTrailingWhite(String string, int start, int end) {
-		while (end > start && string.charAt(end - 1) <= ' ')
-			--end;
-		return end;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionVector.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionVector.java
deleted file mode 100644
index f3ae346..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionVector.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata;
-
-import java.io.Serializable;
-
-/**
- * The VersionVector represents an array of Comparable objects. The array can be
- * nested since a VersionVector is Comparable in itself.
- *  
- * @Immutable
- */
-public class VersionVector implements Comparable, Serializable {
-
-	private static final class MaxStringValue implements Comparable, Serializable {
-		private static final long serialVersionUID = -4936252230441132767L;
-
-		MaxStringValue() {
-			// Empty constructor
-		}
-
-		public int compareTo(Object o) {
-			return o == this ? 0 : (o == MAX_VALUE || o instanceof Integer || o instanceof VersionVector ? -1 : 1);
-		}
-
-		// For singleton deserialization
-		private Object readResolve() {
-			return MAXS_VALUE;
-		}
-
-		public String toString() {
-			return "m"; //$NON-NLS-1$
-		}
-	}
-
-	private static final class MaxValue implements Comparable, Serializable {
-		private static final long serialVersionUID = -5889641741635253589L;
-
-		MaxValue() {
-			// Empty constructor
-		}
-
-		public int compareTo(Object o) {
-			return o == this ? 0 : 1;
-		}
-
-		// For singleton deserialization
-		private Object readResolve() {
-			return MAX_VALUE;
-		}
-
-		public String toString() {
-			return "M"; //$NON-NLS-1$
-		}
-	}
-
-	private static class MinValue implements Comparable, Serializable {
-		private static final long serialVersionUID = -1066323980049812226L;
-
-		MinValue() {
-			// Empty constructor
-		}
-
-		public int compareTo(Object o) {
-			return o == this ? 0 : -1;
-		}
-
-		private Object readResolve() {
-			return MIN_VALUE;
-		}
-
-		public String toString() {
-			return "-M"; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * A value that is greater then any other value
-	 */
-	public static final Comparable MAX_VALUE = new MaxValue();
-
-	/**
-	 * A value that is greater then any string but less then {@link #MAX_VALUE} and
-	 * any Integer or VersionVector.
-	 */
-	public static final Comparable MAXS_VALUE = new MaxStringValue();
-
-	/**
-	 * A value that is less then any other value
-	 */
-	public static final Comparable MIN_VALUE = new MinValue();
-
-	/**
-	 * A value that is greater then {@link #MIN_VALUE} and less then any string,
-	 * Integer, or VersionVector (a.k.a. empty_string)
-	 */
-	public static final String MINS_VALUE = ""; //$NON-NLS-1$
-
-	private static final long serialVersionUID = -8385373304298723744L;
-
-	static int compare(Comparable[] vectorA, Comparable padA, Comparable[] vectorB, Comparable padB) {
-		int top = vectorA.length;
-		if (top > vectorB.length)
-			top = vectorB.length;
-
-		for (int idx = 0; idx < top; ++idx) {
-			int cmp = compareSegments(vectorA[idx], vectorB[idx]);
-			if (cmp != 0)
-				return cmp;
-		}
-
-		// All elements compared equal up to this point. Check
-		// pad values
-		if (top < vectorA.length)
-			return (padB == null) ? 1 : compareReminder(top, vectorA, padA, padB);
-
-		if (top < vectorB.length)
-			return (padA == null) ? -1 : -compareReminder(top, vectorB, padB, padA);
-
-		// Lengths are equal. Compare pad values
-		return padA == null ? (padB == null ? 0 : -1) : (padB == null ? 1 : compareSegments(padA, padB));
-	}
-
-	static boolean equals(Comparable[] vectorA, Comparable padValueA, Comparable[] vectorB, Comparable padValueB) {
-		// We compare pad first since it is impossible for versions with
-		// different pad to be equal (versions are padded to infinity) 
-		if (padValueA == null) {
-			if (padValueB != null)
-				return false;
-		} else {
-			if (padValueB == null || !padValueA.equals(padValueB))
-				return false;
-		}
-
-		int idx = vectorA.length;
-
-		// If the length of the vector differs, the versions cannot be equal
-		// since segments equal to pad are stripped by the parser
-		if (idx != vectorB.length)
-			return false;
-
-		while (--idx >= 0)
-			if (!vectorA[idx].equals(vectorB[idx]))
-				return false;
-
-		return true;
-	}
-
-	static int hashCode(Comparable[] vector, Comparable padValue) {
-		int hashCode = padValue == null ? 31 : padValue.hashCode();
-		int idx = vector.length;
-		while (--idx >= 0) {
-			Object elem = vector[idx];
-			if (elem != null)
-				hashCode += elem.hashCode();
-			hashCode = hashCode * 31;
-		}
-		return hashCode;
-	}
-
-	static void toString(StringBuffer sb, Comparable[] vector, Comparable padValue, boolean rangeSafe) {
-		int top = vector.length;
-		if (top == 0)
-			// Write one pad value as explicit. It will be considered
-			// redundant and removed by the parser but the raw format
-			// does not allow zero elements
-			VersionFormat.rawToString(sb, rangeSafe, padValue == null ? MIN_VALUE : padValue);
-		else {
-			for (int idx = 0; idx < top; ++idx) {
-				if (idx > 0)
-					sb.append('.');
-				VersionFormat.rawToString(sb, rangeSafe, vector[idx]);
-			}
-		}
-		if (padValue != null) {
-			sb.append('p');
-			VersionFormat.rawToString(sb, rangeSafe, padValue);
-		}
-	}
-
-	private static int compareReminder(int idx, Comparable[] vector, Comparable padValue, Comparable othersPad) {
-		int cmp;
-		for (cmp = 0; idx < vector.length && cmp == 0; ++idx)
-			cmp = compareSegments(vector[idx], othersPad);
-		if (cmp == 0)
-			cmp = (padValue == null) ? -1 : padValue.compareTo(othersPad);
-		return cmp;
-	}
-
-	private static int compareSegments(Comparable a, Comparable b) {
-		if (a == b)
-			return 0;
-
-		if (a instanceof Integer && b instanceof Integer) {
-			int ai = ((Integer) a).intValue();
-			int bi = ((Integer) b).intValue();
-			return ai > bi ? 1 : (ai < bi ? -1 : 0);
-		}
-
-		if (a instanceof String && b instanceof String)
-			return a.compareTo(b);
-
-		if (a == MAX_VALUE || a == MIN_VALUE || a == MAXS_VALUE)
-			return a.compareTo(b);
-
-		if (b == MAX_VALUE || b == MIN_VALUE || b == MAXS_VALUE)
-			return -b.compareTo(a);
-
-		if (a instanceof Integer)
-			return 1;
-		if (b instanceof Integer)
-			return -1;
-		if (a instanceof VersionVector)
-			return (b instanceof VersionVector) ? a.compareTo(b) : 1;
-
-		if (b instanceof VersionVector)
-			return -1;
-
-		throw new IllegalArgumentException();
-	}
-
-	private final Comparable padValue;
-
-	private final Comparable[] vector;
-
-	public VersionVector(Comparable[] vector, Comparable pad) {
-		this.vector = vector;
-		this.padValue = (pad == MIN_VALUE) ? null : pad;
-	}
-
-	public int compareTo(Object o) {
-		if (o == this)
-			return 0;
-
-		VersionVector ov = (VersionVector) o;
-		return compare(vector, padValue, ov.vector, ov.padValue);
-	}
-
-	public boolean equals(Object o) {
-		if (o == this)
-			return true;
-
-		if (!(o instanceof VersionVector))
-			return false;
-
-		VersionVector ov = (VersionVector) o;
-		return equals(vector, padValue, ov.vector, ov.padValue);
-	}
-
-	/**
-	 * Returns the pad value used when comparing this versions to
-	 * versions that has a raw vector with a larger number of elements
-	 * @return The pad value or <code>null</code> if not set.
-	 */
-	public Comparable getPad() {
-		return padValue;
-	}
-
-	/**
-	 * An element from the raw vector
-	 * @param index The zero based index of the desired element
-	 * @return An element from the raw vector
-	 */
-	public Comparable getSegment(int index) {
-		return vector[index];
-	}
-
-	/**
-	 * Returns the number of elements in the raw vector
-	 * @return The element count
-	 */
-	public int getSegmentCount() {
-		return vector.length;
-	}
-
-	/**
-	 * This method is package protected since it violates the immutable
-	 * contract.
-	 * @return The raw vector. Must be treated as read-only
-	 */
-	Comparable[] getVector() {
-		return vector;
-	}
-
-	public int hashCode() {
-		return hashCode(vector, padValue);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		toString(sb);
-		return sb.toString();
-	}
-
-	/**
-	 * Append the string representation of this instance to the
-	 * <code>sb</code> buffer.
-	 * @param sb The buffer to append to
-	 */
-	public void toString(StringBuffer sb) {
-		toString(sb, vector, padValue, false);
-	}
-
-	/**
-	 * Append the string representation of this instance to the
-	 * <code>sb</code> buffer.
-	 * @param sb The buffer to append to
-	 * @param rangeSafe If <code>true</code>, the range delimiters will be escaped
-	 * with backslash.
-	 */
-	void toString(StringBuffer sb, boolean rangeSafe) {
-		toString(sb, vector, padValue, rangeSafe);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
deleted file mode 100644
index 4ddb7ab..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/messages.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-###############################################################################
- # Copyright (c) 2009 Cloudsmith Inc. 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:
- #     Cloudsmith Inc. - initial API and implementation
-###############################################################################
-_0_is_not_a_valid_qualifier_in_osgi_1=The {0} value is invalid in OSGi version: "{1}"
-array_can_not_be_empty=Array format can not be empty
-array_can_not_have_character_group=Array format can not have a character group
-auto_can_not_have_pad_value=Auto format can not have a pad value
-cannot_combine_ignore_with_other_instruction=Cannot combine ignore with other instruction
-cannot_combine_range_upper_bound_with_pad_value=Cannot combine range upper bound with pad value
-character_group_defined_more_then_once=Character group was defined more then once
-colon_expected_before_original_version_0=A colon was expected before original version: {0}
-default_defined_more_then_once=Default defined more then once
-delimiter_can_not_be_ignored=A delimiter cannot be ignored
-delimiter_can_not_have_default_value=A delimiter cannot have a default value
-delimiter_can_not_have_pad_value=A delimiter cannot have a pad value
-delimiter_can_not_have_range=A delimiter cannot have a range
-EOS_after_escape=End of string was encountere after the escape character
-expected_orignal_after_colon_0=An original version was expected after colon: {0}
-expected_orignal_after_slash_0=A format or colon was expected after slash: {0}
-expected_slash_after_raw_vector_0=A slash was expected after a raw version: {0}
-format_0_unable_to_parse_1=Format "{0}" was unable to parse {1}
-format_0_unable_to_parse_empty_version=Format "{0}" was unable to parse an empty version
-format_is_empty=Format is empty
-format_must_be_delimited_by_colon_0=Format must be delimited by version range: {0}
-group_can_not_be_empty=A group can not be empty
-ignore_defined_more_then_once=More then one definition of ignore
-illegal_character_encountered_ascii_0=An illegal character was encountered. Code = {0}
-missing_comma_in_range_0=Missing comma in range "{0}"
-negative_character_range=The character range is negative
-neither_raw_vector_nor_format_specified_0=Neither raw version nor format was specified: {0}
-number_can_not_have_pad_value=A number cannot have a pad value
-only_format_specified_0=Only a format was specified: {0}
-only_max_and_empty_string_defaults_can_have_translations=Only max string and empty string defaults can have translations
-original_must_start_with_colon_0=Original version must start with colon: {0}
-original_stated_but_missing_0=Expected original version after colon: {0}
-pad_defined_more_then_once=Pad was defined more then once
-performing_subquery=Performing subquery
-premature_end_of_format=Premature end of format
-premature_end_of_format_expected_0=Premature end of format, "{0}" expected
-premature_EOS_0=Premature end of string in "{0}"
-range_defined_more_then_once=Range defined more then once
-range_max_cannot_be_less_then_range_min=The range maximum must not be less then its minimum
-range_max_cannot_be_zero=The range maximum cannot be zero
-range_min_0_is_not_less_then_range_max_1=Range minimum "{0}" is not less then range maximum "{1}" (inclusion is required at both ends if the versions are equal)
-range_boundaries_0_and_1_cannot_have_different_formats=Range boundaries "{0}" and "{1}" cannot have different formats
-raw_and_original_must_use_same_range_inclusion_0=Raw and original must use the same range inclusion markers in range "{0}"
-raw_element_can_not_have_pad_value=A raw element cannot have a pad value
-raw_element_expected_0=A raw element was expected: {0}
-string_can_not_have_pad_value=A string cannot have a pad value
-syntax_error_in_version_format_0_1_2=Syntax error in version format "{0}" at position {1}: {2}
-syntax_error_in_version_format_0_1_found_2_expected_3=Syntax error in version format "{0}" at position {1}: Found {2} when {3} was expected
-unbalanced_format_parenthesis=Unbalanced format parenthesis
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
deleted file mode 100644
index a944e93..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IInstallableUnitFragment extends IInstallableUnit {
-	public IRequirement[] getHost();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
deleted file mode 100644
index 85a4bcb..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * An installable unit patch is an installable unit that alters the required capabilities of another
- * installable unit. 
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IInstallableUnitPatch extends IInstallableUnit {
-	/**
-	 * The applicability scope of a patch describes the installable units that this
-	 * patch should be applied to. Specifically, this patch will be applied to all installable
-	 * units that satisfy all of the required capabilities in one or more of the given 
-	 * required capability arrays. 
-	 * <p>
-	 * The returned two-dimensional array can be considered
-	 * as a boolean expression, where items in the inner array are connected by
-	 * AND operators, and each of the arrays are separated by OR operators. For example
-	 * a scope of [[r1, r2, r3], [r4, r5]] will match any unit whose provided capabilities
-	 * satisfy the expression ((r1 ^ r2 ^ r3) | (r4 ^ r5)).
-	 */
-	IRequirement[][] getApplicabilityScope();
-
-	/**
-	 * Returns the requirement changes imposed by the patch.
-	 * @return The patch requirement changes.
-	 */
-	IRequirementChange[] getRequirementsChange();
-
-	/**
-	 * Returns the required capability that defines the lifecycle of this patch. The
-	 * patch will be installed into a profile if and only if the lifecycle capability
-	 * is satisfied by some IU in the profile. If a future provisioning operation causes
-	 * the requirement to no longer be satisfied, the patch will be uninstalled.
-	 */
-	IRequirement getLifeCycle();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java
deleted file mode 100644
index 99916de..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
- *   IBM - ongoing development
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.math.BigInteger;
-import java.net.URI;
-
-/**
- * The <code>ILicense</code> interface represents a software license.  A license has required body text
- * which may be the full text or an annotation.  An optional URL field can be specified
- * which links to full text.  Licenses can be easily compared using their digests.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ILicense {
-
-	/**
-	 * Returns the location of a document containing the full license.
-	 * 
-	 * @return the location of the license document, or <code>null</code>
-	 */
-	public URI getLocation();
-
-	/**
-	 * Returns the license body.
-	 * @return the license body, never <code>null</code>
-	 */
-	public String getBody();
-
-	/**
-	 * Returns the message digest of the license body.  The digest is calculated on a normalized
-	 * version of the license where all whitespace has been reduced to one space.
-	 * 
-	 * Any SPI must maintain the same semantics as:
-	 * <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.ILicense#getDigest()}</code>
-	 * @return the message digest as a <code>BigInteger</code>, never <code>null</code>
-	 */
-	public BigInteger getDigest();
-
-	/**
-	 * Returns whether this license is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type ILicense
-	 *  <li> The result of <b>getDigest()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object obj);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java
deleted file mode 100644
index 49f6e63..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
- *   IBM - ongoing development
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-
-
-/**
- * Describes a capability as exposed or required by an installable unit
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IProvidedCapability {
-
-	public String getName();
-
-	public String getNamespace();
-
-	public Version getVersion();
-
-	/**
-	 * Returns whether this provided capability satisfies the given required capability.
-	 * @return <code>true</code> if this capability satisfies the given required
-	 * capability, and <code>false</code> otherwise.
-	 * 
-	 * This method must maintain the following semantics:
-	 * <ul>
-	 *  <li> If the provided capability and the candidate have different names, 
-	 *       return false
-	 *  <li> If the provided capability and the candidate have different namespaces.
-	 *       return false
-	 *  <li> If the candidate's version range includes the provided capability's
-	 *       version, return true
-	 *  <li> otherwise, return false    
-	 * </ul>
-	 * 
-	 */
-	public boolean satisfies(IRequirement candidate);
-
-	/**
-	 * Returns whether this provided capability is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type IProvidedCapability
-	 *  <li> The result of <b>getName()</b> on both objects are equal
-	 *  <li> The result of <b>getNamespace()</b> on both objects are equal
-	 *  <li> The result of <b>getVersion()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object other);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java
deleted file mode 100644
index 23cec0f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-
-
-/**
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IRequirementChange {
-
-	public IRequiredCapability applyOn();
-
-	public IRequiredCapability newValue();
-
-	public boolean matches(IRequiredCapability toMatch);
-
-	/**
-	 * Returns whether this requirement change is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type IRequiredCapability
-	 *  <li> The result of <b>applyOn()</b> on both objects are equal
-	 *  <li> The result of <b>newValue()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object other);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java
deleted file mode 100644
index c1ea83b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.util.Map;
-
-/**
- * ITouchpoint data instances contain the additional information needed by a touchpoint
- * to execute each engine phase it participates in. This includes the sequence of
- * instruction statements to be executed during each phase, and any additional
- * supporting data needed to perform the phase.
- *
- * @see MetadataFactory#createTouchpointData(Map)
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ITouchpointData {
-
-	/**
-	 * Returns the touchpoint instruction corresponding to the given key.
-	 */
-	public ITouchpointInstruction getInstruction(String instructionKey);
-
-	/**
-	 * Returns an unmodifiable map of the touchpoint instructions. The map
-	 * keys are strings, and the values are instances of {@link ITouchpointInstruction}.
-	 *
-	 * @return the touchpoint instructions
-	 */
-	public Map getInstructions();
-
-	/**
-	 * Returns whether this TouchpointData is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type ITouchpointData
-	 *  <li> The result of <b>getInstructions()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object obj);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java
deleted file mode 100644
index e2322f5..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-/**
- * A touchpoint instruction contains either a sequence of instruction statements
- * to be executed during a particular engine phase, or some simple string value
- * that is needed by a touchpoint to execute its phases.
- * <p>
- * The format of a touchpoint instruction statement sequence is as follows:
- * 
- *   statement-sequence :
- *     | statement ';'
- *      | statement-sequence statement
- *      ;
- *
- *Where a statement is of the format:
- *
- *  statement :
- *      | actionName '(' parameters ')'
- *      ;
- *
- *  parameters :
- *      | // empty
- *      | parameter
- *      | parameters ',' parameter
- *      ;
- *
- *   parameter : 
- *      | paramName ':' paramValue
- *      ;
- *
- * actionName, paramName, paramValue :
- *      | String 
- *      ;
- *
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ITouchpointInstruction {
-
-	/**
-	 * Returns the body of this touchpoint instruction. The body is either a sequence
-	 * of instruction statements, or a simple string value.
-	 * 
-	 * @return The body of this touchpoint instruction
-	 */
-	public String getBody();
-
-	//TODO What is this? Please doc
-	public String getImportAttribute();
-
-	/**
-	 * Returns whether this TouchpointInstruction is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type ITouchpointInstruction
-	 *  <li> The result of <b>getBody()</b> on both objects are equal
-	 *  <li> The result of <b>getImportAttribute()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object obj);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
deleted file mode 100644
index 1956b2c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-
-/**
- * Identifies a particular touchpoint. A touchpoint is identified by an id 
- * and a version.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ITouchpointType {
-
-	/**
-	 * A touchpoint type indicating an undefined touchpoint type. Identity (==)
-	 * must be used to test for the <code>NONE</code> type.
-	 */
-	public static final ITouchpointType NONE = new ITouchpointType() {
-
-		public String getId() {
-			return "null"; //$NON-NLS-1$
-		}
-
-		public Version getVersion() {
-			return Version.emptyVersion;
-		}
-	};
-
-	public String getId();
-
-	public Version getVersion();
-
-	/**
-	 * Returns whether this TouchpointInstruction is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type ITouchpointType
-	 *  <li> The result of <b>getId()</b> on both objects are equal
-	 *  <li> The result of <b>getVersion()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object obj);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
deleted file mode 100644
index 446e590..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IUpdateDescriptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-
-
-/**
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IUpdateDescriptor {
-	public final int NORMAL = 0;
-	public final int HIGH = 1;
-
-	/**
-	 * The identifier of an installable unit that the installable unit containing this object is an update for.
-	 * @return An installable unit id
-	 */
-	public String getId();
-
-	/**
-	 * The range of the installable unit that the installable unit containing this object is an update for.
-	 * @return A version range
-	 */
-	public VersionRange getRange();
-
-	/**
-	 * The description of the update. This allows to explain what the update is about.
-	 * @return A description
-	 */
-	public String getDescription();
-
-	/**
-	 * The importance of the update descriptor represented as a int.
-	 * @return The severity.
-	 */
-	public int getSeverity();
-
-	/**
-	 * Helper method indicating whether or not an installable unit is an update for the installable unit passed  
-	 * @param iu the installable unit checked
-	 * @return A boolean indicating whether or not an installable unit is an update.
-	 */
-	public boolean isUpdateOf(IInstallableUnit iu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
deleted file mode 100644
index cd6e91a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-/**
- * <p>The IVersionFormat represents the Omni Version Format in compiled form. It
- * is also a parser for versions of that format.</p>
- * <p>An instance of IVersionFormat is immutable and thus thread safe. The parser
- * does not maintain any state.</p>
- */
-public interface IVersionFormat {
-
-	/**
-	 * The string that by default will be interpreted as the logical max string when parsing
-	 * optional elements of type string and a default that is the empty string (i.e. OSGi)
-	 */
-	static final String DEFAULT_MAX_STRING_TRANSLATION = "zzz"; //$NON-NLS-1$
-
-	/**
-	 * The string that by default will be interpreted as the logical min string when parsing
-	 * optional elements of type string and a default that is the max string (i.e. Maven triplets)
-	 */
-	static final String DEFAULT_MIN_STRING_TRANSLATION = "-"; //$NON-NLS-1$
-
-	/**
-	 * Appends the string representation of this compiled format to
-	 * the given StringBuffer.
-	 * @param sb The buffer that will receive the string representation
-	 */
-	void toString(StringBuffer sb);
-
-	/**
-	 * Parse the given version string.
-	 * @param version The version string to parse.
-	 * @return A created version.
-	 * @throws IllegalArgumentException If the version string could not be parsed.
-	 */
-	Version parse(String version);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
deleted file mode 100644
index 30a37c3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Genuitec, LLC
- *		EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.net.URI;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A factory class for instantiating various p2 metadata objects.
- */
-public class MetadataFactory {
-	/**
-	 * A description containing information about an installable unit. Once created,
-	 * installable units are immutable. This description class allows a client to build
-	 * up the state for an installable unit incrementally, and then finally product
-	 * the resulting immutable unit.
-	 */
-	public static class InstallableUnitDescription {
-		public static final String PROP_TYPE_GROUP = "org.eclipse.equinox.p2.type.group"; //$NON-NLS-1$
-
-		protected InstallableUnit unit;
-
-		/**
-		 * A property key (value <code>"org.eclipse.equinox.p2.type.patch"</code>) for a 
-		 * boolean property indicating that an installable unit is a group.
-		 * 
-		 */
-		public static final String PROP_TYPE_PATCH = "org.eclipse.equinox.p2.type.patch"; //$NON-NLS-1$
-
-		/**
-		 * A property key (value <code>"org.eclipse.equinox.p2.type.fragment"</code>) for a 
-		 * boolean property indicating that an installable unit is a fragment.
-		 * 
-		 */
-		public static final String PROP_TYPE_FRAGMENT = "org.eclipse.equinox.p2.type.fragment"; //$NON-NLS-1$
-
-		/**
-		 * A property key (value <code>"org.eclipse.equinox.p2.type.category"</code>) for a 
-		 * boolean property indicating that an installable unit is a category.
-		 * 
-		 */
-		public static final String PROP_TYPE_CATEGORY = "org.eclipse.equinox.p2.type.category"; //$NON-NLS-1$
-
-		public InstallableUnitDescription() {
-			super();
-		}
-
-		public void addProvidedCapabilities(Collection additional) {
-			if (additional == null || additional.size() == 0)
-				return;
-			IProvidedCapability[] current = unit().getProvidedCapabilities();
-			IProvidedCapability[] result = new IProvidedCapability[additional.size() + current.length];
-			System.arraycopy(current, 0, result, 0, current.length);
-			int j = current.length;
-			for (Iterator i = additional.iterator(); i.hasNext();)
-				result[j++] = (IProvidedCapability) i.next();
-			unit().setCapabilities(result);
-		}
-
-		public void addRequiredCapabilities(Collection additional) {
-			if (additional == null || additional.size() == 0)
-				return;
-			IRequirement[] current = unit().getRequiredCapabilities();
-			IRequirement[] result = new IRequirement[additional.size() + current.length];
-			System.arraycopy(current, 0, result, 0, current.length);
-			int j = current.length;
-			for (Iterator i = additional.iterator(); i.hasNext();)
-				result[j++] = (IRequirement) i.next();
-			unit().setRequiredCapabilities(result);
-		}
-
-		public void addTouchpointData(ITouchpointData data) {
-			Assert.isNotNull(data);
-			unit().addTouchpointData(data);
-		}
-
-		public String getId() {
-			return unit().getId();
-		}
-
-		public IProvidedCapability[] getProvidedCapabilities() {
-			return unit().getProvidedCapabilities();
-		}
-
-		public IRequirement[] getRequiredCapabilities() {
-			return unit().getRequiredCapabilities();
-		}
-
-		public IRequirement[] getMetaRequiredCapabilities() {
-			return unit().getMetaRequiredCapabilities();
-		}
-
-		/**
-		 * Returns the current touchpoint data on this installable unit description. The
-		 * touchpoint data may change if further data is added to the description.
-		 * 
-		 * @return The current touchpoint data on this description
-		 */
-		public ITouchpointData[] getTouchpointData() {
-			return unit().getTouchpointData();
-
-		}
-
-		public Version getVersion() {
-			return unit().getVersion();
-		}
-
-		public void setArtifacts(IArtifactKey[] value) {
-			unit().setArtifacts(value);
-		}
-
-		public void setCapabilities(IProvidedCapability[] exportedCapabilities) {
-			unit().setCapabilities(exportedCapabilities);
-		}
-
-		public void setCopyright(ICopyright copyright) {
-			unit().setCopyright(copyright);
-		}
-
-		public void setFilter(String filter) {
-			unit().setFilter(filter);
-		}
-
-		public void setId(String id) {
-			unit().setId(id);
-		}
-
-		public void setLicenses(ILicense[] licenses) {
-			unit().setLicenses(licenses);
-		}
-
-		public void setProperty(String key, String value) {
-			unit().setProperty(key, value);
-		}
-
-		public void setRequiredCapabilities(IRequirement[] requirements) {
-			unit().setRequiredCapabilities(requirements);
-		}
-
-		public void setMetaRequiredCapabilities(IRequirement[] metaRequirements) {
-			unit().setMetaRequiredCapabilities(metaRequirements);
-		}
-
-		public void setSingleton(boolean singleton) {
-			unit().setSingleton(singleton);
-		}
-
-		public void setTouchpointType(ITouchpointType type) {
-			unit().setTouchpointType(type);
-		}
-
-		public void setUpdateDescriptor(IUpdateDescriptor updateInfo) {
-			unit().setUpdateDescriptor(updateInfo);
-		}
-
-		public void setVersion(Version newVersion) {
-			unit().setVersion(newVersion);
-		}
-
-		InstallableUnit unit() {
-			if (unit == null) {
-				unit = new InstallableUnit();
-				unit.setArtifacts(new IArtifactKey[0]);
-			}
-			return unit;
-		}
-
-		IInstallableUnit unitCreate() {
-			IInstallableUnit result = unit();
-			this.unit = null;
-			return result;
-		}
-	}
-
-	public static class InstallableUnitFragmentDescription extends InstallableUnitDescription {
-		public InstallableUnitFragmentDescription() {
-			super();
-			setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		}
-
-		public void setHost(IRequirement[] hostRequirements) {
-			((InstallableUnitFragment) unit()).setHost(hostRequirements);
-		}
-
-		InstallableUnit unit() {
-			if (unit == null)
-				unit = new InstallableUnitFragment();
-			return unit;
-		}
-	}
-
-	public static class InstallableUnitPatchDescription extends InstallableUnitDescription {
-
-		public InstallableUnitPatchDescription() {
-			super();
-			setProperty(InstallableUnitDescription.PROP_TYPE_PATCH, Boolean.TRUE.toString());
-		}
-
-		public void setApplicabilityScope(IRequirement[][] applyTo) {
-			if (applyTo == null)
-				throw new IllegalArgumentException("A patch scope can not be null"); //$NON-NLS-1$
-			((InstallableUnitPatch) unit()).setApplicabilityScope(applyTo);
-		}
-
-		public void setLifeCycle(IRequirement lifeCycle) {
-			((InstallableUnitPatch) unit()).setLifeCycle(lifeCycle);
-		}
-
-		public void setRequirementChanges(IRequirementChange[] changes) {
-			((InstallableUnitPatch) unit()).setRequirementsChange(changes);
-		}
-
-		InstallableUnit unit() {
-			if (unit == null) {
-				unit = new InstallableUnitPatch();
-				((InstallableUnitPatch) unit()).setApplicabilityScope(new IRequirement[0][0]);
-			}
-			return unit;
-		}
-	}
-
-	/**
-	 * Singleton touchpoint data for a touchpoint with no instructions.
-	 */
-	private static final ITouchpointData EMPTY_TOUCHPOINT_DATA = new TouchpointData(Collections.EMPTY_MAP);
-
-	private static ITouchpointType[] typeCache = new ITouchpointType[5];
-
-	private static int typeCacheOffset;
-
-	/**
-	 * Returns an {@link IInstallableUnit} based on the given 
-	 * description.  Once the installable unit has been created, the information is 
-	 * discarded from the description object.
-	 * 
-	 * @param description The description of the unit to create
-	 * @return The created installable unit
-	 */
-	public static IInstallableUnit createInstallableUnit(InstallableUnitDescription description) {
-		Assert.isNotNull(description);
-		return description.unitCreate();
-	}
-
-	/**
-	 * Returns an {@link IInstallableUnitFragment} based on the given 
-	 * description.  Once the fragment has been created, the information is 
-	 * discarded from the description object.
-	 * 
-	 * @param description The description of the unit to create
-	 * @return The created installable unit fragment
-	 */
-	public static IInstallableUnitFragment createInstallableUnitFragment(InstallableUnitFragmentDescription description) {
-		Assert.isNotNull(description);
-		return (IInstallableUnitFragment) description.unitCreate();
-	}
-
-	/**
-	 * Returns an {@link IInstallableUnitPatch} based on the given 
-	 * description.  Once the patch installable unit has been created, the information is 
-	 * discarded from the description object.
-	 * 
-	 * @param description The description of the unit to create
-	 * @return The created installable unit patch
-	 */
-	public static IInstallableUnitPatch createInstallableUnitPatch(InstallableUnitPatchDescription description) {
-		Assert.isNotNull(description);
-		return (IInstallableUnitPatch) description.unitCreate();
-	}
-
-	/**
-	 * Returns a {@link IProvidedCapability} with the given values.
-	 * 
-	 * @param namespace The capability namespace
-	 * @param name The capability name
-	 * @param version The capability version
-	 */
-	public static IProvidedCapability createProvidedCapability(String namespace, String name, Version version) {
-		return new ProvidedCapability(namespace, name, version);
-	}
-
-	/**
-	 * Returns a {@link IRequirement} with the given values.
-	 * 
-	 * @param namespace The capability namespace
-	 * @param name The required capability name
-	 * @param range The range of versions that are required, or <code>null</code>
-	 * to indicate that any version will do.
-	 * @param filter The filter used to evaluate whether this capability is applicable in the
-	 * current environment, or <code>null</code> to indicate this capability is always applicable
-	 * @param optional <code>true</code> if this required capability is optional,
-	 * and <code>false</code> otherwise.
-	 * @param multiple <code>true</code> if this capability can be satisfied by multiple provided capabilities, or it requires exactly one match
-	 */
-	public static IRequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) {
-		return new RequiredCapability(namespace, name, range, filter, optional, multiple);
-	}
-
-	public static IRequirement createRequiredCapability(String namespace, String name, VersionRange range, IQuery filter, int minCard, int maxCard, boolean greedy) {
-		return new RequiredCapability(namespace, name, range, filter, minCard, maxCard, greedy);
-	}
-
-	public static IRequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) {
-		return new RequiredCapability(namespace, name, range, filter, optional, multiple, greedy);
-	}
-
-	/**
-	 * Returns a new requirement change.
-	 * @param applyOn The source of the requirement change - the kind of requirement to apply the change to
-	 * @param newValue The result of the requirement change - the requirement to replace the source requirement with
-	 * @return a requirement change
-	 */
-	public static IRequirementChange createRequirementChange(IRequirement applyOn, IRequirement newValue) {
-		if ((applyOn == null || applyOn instanceof IRequiredCapability) && (newValue == null || newValue instanceof IRequiredCapability))
-			return new RequirementChange((IRequiredCapability) applyOn, (IRequiredCapability) newValue);
-		throw new IllegalArgumentException();
-	}
-
-	/**
-	 * Returns a new {@link ICopyright}.
-	 * @param location the location of a document containing the copyright notice, or <code>null</code>
-	 * @param body the copyright body, cannot be <code>null</code>
-	 * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
-	 */
-	public static ICopyright createCopyright(URI location, String body) {
-		return new Copyright(location, body);
-	}
-
-	/**
-	 * Return a new {@link ILicense}
-	 * The body should contain either the full text of the license or an summary for a license
-	 * fully specified in the given location.
-	 * 
-	 * @param location the location of a document containing the full license, or <code>null</code>
-	 * @param body the license body, cannot be <code>null</code>
-	 * @throws IllegalArgumentException when the <code>body</code> is <code>null</code>
-	 */
-	public static ILicense createLicense(URI location, String body) {
-		return new License(location, body);
-	}
-
-	/**
-	 * Returns an {@link IInstallableUnit} that represents the given
-	 * unit bound to the given fragments.
-	 * 
-	 * @see IInstallableUnit#isResolved()
-	 * @param unit The unit to be bound
-	 * @param fragments The fragments to be bound
-	 * @return A resolved installable unit
-	 */
-	public static IInstallableUnit createResolvedInstallableUnit(IInstallableUnit unit, IInstallableUnitFragment[] fragments) {
-		if (unit.isResolved())
-			return unit;
-		Assert.isNotNull(unit);
-		Assert.isNotNull(fragments);
-		return new ResolvedInstallableUnit(unit, fragments);
-
-	}
-
-	/**
-	 * Returns an instance of {@link ITouchpointData} with the given instructions.
-	 * 
-	 * @param instructions The instructions for the touchpoint data.
-	 * @return The created touchpoint data
-	 */
-	public static ITouchpointData createTouchpointData(Map instructions) {
-		Assert.isNotNull(instructions);
-		//copy the map to protect against subsequent change by caller
-		if (instructions.isEmpty())
-			return EMPTY_TOUCHPOINT_DATA;
-
-		Map result = new LinkedHashMap(instructions.size());
-		for (Iterator iterator = instructions.entrySet().iterator(); iterator.hasNext();) {
-			Entry entry = (Entry) iterator.next();
-			Object value = entry.getValue();
-			if (value == null || value instanceof String)
-				value = createTouchpointInstruction((String) value, null);
-
-			result.put(entry.getKey(), value);
-		}
-		return new TouchpointData(result);
-	}
-
-	/**
-	 * Merge the given touchpoint instructions with a pre-existing touchpoint data
-	 * @param initial - the initial ITouchpointData
-	 * @param incomingInstructions - Map of ITouchpointInstructions to merge into the initial touchpoint data
-	 * @return the merged ITouchpointData
-	 */
-	public static ITouchpointData mergeTouchpointData(ITouchpointData initial, Map incomingInstructions) {
-		if (incomingInstructions == null || incomingInstructions.size() == 0)
-			return initial;
-
-		Map resultInstructions = new HashMap(initial.getInstructions());
-		for (Iterator iterator = incomingInstructions.keySet().iterator(); iterator.hasNext();) {
-			String key = (String) iterator.next();
-			Object incoming = incomingInstructions.get(key);
-			ITouchpointInstruction instruction = (incoming instanceof String) ? createTouchpointInstruction((String) incoming, null) : (ITouchpointInstruction) incoming;
-			ITouchpointInstruction existingInstruction = (ITouchpointInstruction) resultInstructions.get(key);
-
-			if (existingInstruction != null) {
-				String body = existingInstruction.getBody();
-				if (body == null || body.length() == 0)
-					body = instruction.getBody();
-				else if (instruction.getBody() != null) {
-					if (!body.endsWith(";")) //$NON-NLS-1$
-						body += ';';
-					body += instruction.getBody();
-				}
-
-				String importAttribute = existingInstruction.getImportAttribute();
-				if (importAttribute == null || importAttribute.length() == 0)
-					importAttribute = instruction.getImportAttribute();
-				else if (instruction.getImportAttribute() != null) {
-					if (!importAttribute.endsWith(",")) //$NON-NLS-1$
-						importAttribute += ',';
-					importAttribute += instruction.getBody();
-				}
-				instruction = createTouchpointInstruction(body, importAttribute);
-			}
-			resultInstructions.put(key, instruction);
-		}
-		return createTouchpointData(resultInstructions);
-	}
-
-	public static ITouchpointInstruction createTouchpointInstruction(String body, String importAttribute) {
-		return new TouchpointInstruction(body, importAttribute);
-	}
-
-	/**
-	 * Returns a {@link TouchpointType} with the given id and version.
-	 * 
-	 * @param id The touchpoint id
-	 * @param version The touchpoint version
-	 * @return A touchpoint type instance with the given id and version
-	 */
-	public static ITouchpointType createTouchpointType(String id, Version version) {
-		Assert.isNotNull(id);
-		Assert.isNotNull(version);
-
-		if (id.equals(ITouchpointType.NONE.getId()) && version.equals(ITouchpointType.NONE.getVersion()))
-			return ITouchpointType.NONE;
-
-		synchronized (typeCache) {
-			ITouchpointType result = getCachedTouchpointType(id, version);
-			if (result != null)
-				return result;
-			result = new TouchpointType(id, version);
-			putCachedTouchpointType(result);
-			return result;
-		}
-	}
-
-	public static IUpdateDescriptor createUpdateDescriptor(String id, VersionRange range, int severity, String description) {
-		return new UpdateDescriptor(id, range, severity, description);
-	}
-
-	private static ITouchpointType getCachedTouchpointType(String id, Version version) {
-		for (int i = 0; i < typeCache.length; i++) {
-			if (typeCache[i] != null && typeCache[i].getId().equals(id) && typeCache[i].getVersion().equals(version))
-				return typeCache[i];
-		}
-		return null;
-	}
-
-	private static void putCachedTouchpointType(ITouchpointType result) {
-		//simple rotating buffer
-		typeCache[typeCacheOffset] = result;
-		typeCacheOffset = (typeCacheOffset + 1) % typeCache.length;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
deleted file mode 100644
index ea50dc4..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith 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:
- *     Cloudsmith Inc - initial API and implementation.
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.io.Serializable;
-import org.eclipse.equinox.internal.p2.metadata.*;
-
-/**
- * A class that represents a Version in the Omni Version format. A Version can be though of as an
- * array of comparable elements and an optional pad value. The pad value is used when comparing
- * two versions with a different number of segments.
- *
- * The Omni Version can convert almost any version into a raw format that it uses for comparisons.
- * This enables a unified order of all such versions and solves problems that arise when the
- * version semantics are different. A good example is the OSGi version versus the version used in Maven.
- * The lack of qualifier in the OSGi version implies that the qualifier is an empty string. So a version
- * without a qualifier is the smallest of all other versions with the same major,minor,micro number.
- * With Maven semantics, it's the opposite. If the qualifier is removed, the resulting version is
- * considered higher then all other versions with the same major, minor, and micro number. The
- * Omni version solves this by using different raw representations of the OSGi and Maven versions.
- *
- * The Omni version addresses a lot of other issues as well, such as reordering of the elements
- * or treating some parts of a version as irrelevant when comparing.
- * 
- * The class is signature compatible with {@link org.osgi.framework.Version} but attempts
- * to use it as such might render a {@link UnsupportedOperationException} in case the
- * raw vector holds incompatible values. The method {@link #isOSGiCompatible()} can be used
- * to test.
- */
-public abstract class Version implements Comparable, Serializable {
-	public static final String RAW_PREFIX = "raw:"; //$NON-NLS-1$
-
-	/**
-	 * The version that is semantically greater then all other versions.
-	 */
-	public static final Version MAX_VERSION = OmniVersion.createMaxVersion();
-
-	/**
-	 * The version that is semantically less then all other versions.
-	 */
-	public static final Version emptyVersion = OmniVersion.createMinVersion();
-
-	private static final long serialVersionUID = 6218979149720923857L;
-
-	/**
-	 * Compile a version format string into a compiled format..
-	 *
-	 * @param format The format to compile.
-	 * @return The compiled format
-	 * @throws VersionFormatException If the format could not be compiled
-	 */
-	public static IVersionFormat compile(String format) throws VersionFormatException {
-		return VersionFormat.compile(format, 0, format.length());
-	}
-
-	/**
-	 * Parses a version identifier from the specified string.
-	 * 
-	 * @param version String representation of the version identifier. Leading
-	 *        and trailing whitespace will be ignored.
-	 * @return A <code>Version</code> object representing the version identifier
-	 *         or <code>null</code> if <code>version</code> is <code>null</code> or
-	 *         an empty string.
-	 * @throws IllegalArgumentException If <code>version</code> is improperly
-	 *         formatted.
-	 */
-	public static Version create(String version) {
-		return version == null ? null : VersionParser.parse(version, 0, version.length());
-	}
-
-	/**
-	 * Creates an OSGi version identifier from the specified numerical components.
-	 * 
-	 * <p>
-	 * The qualifier is set to the empty string.
-	 * 
-	 * @param major Major component of the version identifier.
-	 * @param minor Minor component of the version identifier.
-	 * @param micro Micro component of the version identifier.
-	 * @throws IllegalArgumentException If the numerical components are
-	 *         negative.
-	 */
-	public static Version createOSGi(int major, int minor, int micro) {
-		return createOSGi(major, minor, micro, null);
-	}
-
-	/**
-	 * Creates an OSGi version identifier from the specified components.
-	 * 
-	 * @param major Major component of the version identifier.
-	 * @param minor Minor component of the version identifier.
-	 * @param micro Micro component of the version identifier.
-	 * @param qualifier Qualifier component of the version identifier. If
-	 *        <code>null</code> is specified, then the qualifier will be set to
-	 *        the empty string.
-	 * @throws IllegalArgumentException If the numerical components are negative
-	 *         or the qualifier string is invalid.
-	 */
-	public static Version createOSGi(int major, int minor, int micro, String qualifier) {
-		Comparable logicQualifier;
-		if (qualifier == null || qualifier.length() == 0) {
-			if (major == 0 && minor == 0 && micro == 0)
-				return emptyVersion;
-			logicQualifier = VersionVector.MINS_VALUE; // So that we can do identity compare
-		} else if (qualifier.equals(IVersionFormat.DEFAULT_MAX_STRING_TRANSLATION))
-			logicQualifier = VersionVector.MAXS_VALUE;
-		else
-			logicQualifier = qualifier;
-		return new OSGiVersion(major, minor, micro, logicQualifier);
-	}
-
-	/**
-	 * Create an omni version from an OSGi <code>version</code>.
-	 * @param version The OSGi version. Can be <code>null</code>.
-	 * @return The created omni version
-	 */
-	public static Version fromOSGiVersion(org.osgi.framework.Version version) {
-		if (version == null)
-			return null;
-		if (version.getMajor() == Integer.MAX_VALUE && version.getMicro() == Integer.MAX_VALUE && version.getMicro() == Integer.MAX_VALUE)
-			return MAX_VERSION;
-		return createOSGi(version.getMajor(), version.getMinor(), version.getMicro(), version.getQualifier());
-	}
-
-	/**
-	 * Parses a version identifier from the specified string. This method is for backward
-	 * compatibility with OSGi and will return the OSGi &quot;0.0.0&quot; version when
-	 * the provided string is empty or <code>null</code>.
-	 * 
-	 * @param version String representation of the version identifier. Leading
-	 *        and trailing whitespace will be ignored.
-	 * @return A <code>Version</code> object representing the version
-	 *         identifier. If <code>version</code> is <code>null</code> or
-	 *         the empty string then the OSGi <code>emptyVersion</code> will be
-	 *         returned.
-	 * @throws IllegalArgumentException If <code>version</code> is improperly
-	 *         formatted.
-	 * @see #create(String)
-	 */
-	public static Version parseVersion(String version) {
-		if (version == null || version.length() == 0)
-			return Version.emptyVersion;
-		Version v = create(version);
-		return v == null ? Version.emptyVersion : v;
-	}
-
-	/**
-	 * Convert <code>version</code> into its OSGi equivalent if possible.
-	 *
-	 * @param version The version to convert. Can be <code>null</code>
-	 * @return The converted version or <code>null</code> if the argument was <code>null</code>
-	 * @throws UnsupportedOperationException if the version could not be converted into an OSGi version
-	 */
-	public static org.osgi.framework.Version toOSGiVersion(Version version) {
-		if (version == null)
-			return null;
-		if (version == emptyVersion)
-			return org.osgi.framework.Version.emptyVersion;
-		if (version == MAX_VERSION)
-			return new org.osgi.framework.Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
-
-		BasicVersion bv = (BasicVersion) version;
-		return new org.osgi.framework.Version(bv.getMajor(), bv.getMinor(), bv.getMicro(), bv.getQualifier());
-	}
-
-	/**
-	 * Returns the optional format.
-	 */
-	public abstract IVersionFormat getFormat();
-
-	/**
-	 * Returns the <code>original</code> part of the string for this version
-	 * or <code>null</code> if no such part was provided when the version was
-	 * created. An OSGi type version will always return the OSGi string representation.
-	 *
-	 * @return The <code>original</code> part of the version string or
-	 * <code>null</code> if that part was missing.
-	 */
-	public abstract String getOriginal();
-
-	/**
-	 * Returns the pad value used when comparing this versions to
-	 * versions that has a larger number of segments
-	 * @return The pad value or <code>null</code> if not set.
-	 */
-	public abstract Comparable getPad();
-
-	/**
-	 * An element from the raw vector representation of this version.
-	 * @param index The zero based index of the desired element
-	 * @return An element from the raw vector
-	 */
-	public abstract Comparable getSegment(int index);
-
-	/**
-	 * Returns the number of elements in the raw vector representation of this version.
-	 * @return The number of elements in the raw vector.
-	 */
-	public abstract int getSegmentCount();
-
-	/**
-	 * Checks if this version is in compliance with the OSGi version spec.
-	 * @return A flag indicating whether the version is OSGi compatible or not.
-	 */
-	public abstract boolean isOSGiCompatible();
-
-	public String toString() {
-		StringBuffer buf = new StringBuffer(20);
-		toString(buf);
-		return buf.toString();
-	}
-
-	/**
-	 * Appends the string representation of this version onto the
-	 * <code>sb</code> StringBuffer.
-	 * @param sb The buffer that will receive the version string
-	 */
-	public abstract void toString(StringBuffer sb);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionFormatException.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionFormatException.java
deleted file mode 100644
index b5cbd54..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionFormatException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-/**
- * Exception thrown when parsing Omni Version formats.
- */
-public class VersionFormatException extends Exception {
-
-	private static final long serialVersionUID = -867104101610941043L;
-
-	public VersionFormatException(String message) {
-		super(message);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
deleted file mode 100644
index eee28ab..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 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
- *     Cloudsmith Inc - rewrite to handle non-OSGi versions.
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import java.io.Serializable;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class represents a version range with Omni Version bounds. It is signature
- * equivalent with the OSGi {@link org.eclipse.osgi.service.resolver.VersionRange VersionRange}
- *
- * @Immutable
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class VersionRange implements Serializable {
-	private static final long serialVersionUID = 4988030307298088028L;
-
-	/**
-	 * TODO: This should not be OSGi but it has to be that for now since the resolver creates
-	 * a filter where the min and max are converted into strings. When the filter is evaluated an
-	 * attempt is made to recreate them as OSGi versions.
-	 *
-	 * An empty OSGi Version range.
-	 */
-	public static final VersionRange emptyRange = new VersionRange(Version.emptyVersion, true, Version.MAX_VERSION, true);
-
-	private final Version minVersion;
-	private final boolean includeMin;
-	private final Version maxVersion;
-	private final boolean includeMax;
-
-	private static int copyEscaped(String vr, int pos, String breakChars, StringBuffer sb) {
-		int top = vr.length();
-		pos = VersionParser.skipWhite(vr, pos);
-		if (pos >= top)
-			throw new IllegalArgumentException();
-
-		char c = vr.charAt(pos);
-		for (;;) {
-			if (c == '\\' && ++pos < top)
-				c = vr.charAt(pos);
-			else {
-				if (c <= ' ')
-					return VersionParser.skipWhite(vr, pos);
-				if (breakChars != null && breakChars.indexOf(c) >= 0)
-					break;
-			}
-			sb.append(c);
-			if (++pos >= top)
-				break;
-			c = vr.charAt(pos);
-		}
-		return pos;
-	}
-
-	/**
-	 * Constructs a VersionRange with the specified minVersion and maxVersion.
-	 * @param minVersion the minimum version of the range
-	 * @param maxVersion the maximum version of the range
-	 */
-	public VersionRange(Version minVersion, boolean includeMin, Version maxVersion, boolean includeMax) {
-		if (minVersion == null) {
-			if (maxVersion == null) {
-				minVersion = Version.emptyVersion;
-				maxVersion = Version.MAX_VERSION;
-			} else
-				minVersion = Version.emptyVersion;
-		} else {
-			if (maxVersion == null)
-				maxVersion = Version.MAX_VERSION;
-			else {
-				if (minVersion != maxVersion && minVersion.equals(maxVersion))
-					maxVersion = minVersion;
-				else if (!(minVersion.getFormat() == null ? maxVersion.getFormat() == null : minVersion.getFormat().equals(maxVersion.getFormat()))) {
-					// We always allow the MIN and MAX boundaries
-					if (!(minVersion.equals(Version.emptyVersion) || maxVersion.equals(Version.MAX_VERSION)))
-						throw new IllegalArgumentException(NLS.bind(Messages.range_boundaries_0_and_1_cannot_have_different_formats, minVersion, maxVersion));
-				}
-			}
-		}
-		this.minVersion = minVersion;
-		this.includeMin = includeMin;
-		this.maxVersion = maxVersion;
-		this.includeMax = includeMax;
-		validateRange();
-	}
-
-	/**
-	 * Constructs a VersionRange from the given versionRange String.
-	 * @param versionRange a version range String that specifies a range of
-	 * versions.
-	 */
-	public VersionRange(String versionRange) {
-		int top = 0;
-		int pos = 0;
-		if (versionRange != null) {
-			top = versionRange.length();
-			pos = VersionParser.skipWhite(versionRange, 0);
-			top = VersionParser.skipTrailingWhite(versionRange, pos, top);
-		}
-
-		if (pos >= top) {
-			minVersion = Version.emptyVersion;
-			includeMin = true;
-			maxVersion = Version.MAX_VERSION;
-			includeMax = true;
-			return;
-		}
-
-		char c = versionRange.charAt(pos);
-		int[] position = new int[1];
-		boolean rawPrefix = false;
-		IVersionFormat fmt = null;
-		if (VersionParser.isLetter(c)) {
-			if (versionRange.startsWith("raw:", pos)) { //$NON-NLS-1$
-				rawPrefix = true;
-				pos += 4;
-			} else {
-				position[0] = pos;
-				fmt = parseFormat(versionRange, position);
-				pos = position[0];
-				if (pos >= versionRange.length())
-					throw new IllegalArgumentException(NLS.bind(Messages.format_must_be_delimited_by_colon_0, versionRange));
-
-				c = versionRange.charAt(pos);
-				if (c != ':')
-					throw new IllegalArgumentException(NLS.bind(Messages.format_must_be_delimited_by_colon_0, versionRange));
-				++pos;
-			}
-			pos = VersionParser.skipWhite(versionRange, pos);
-			if (pos >= top)
-				throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
-			c = versionRange.charAt(pos);
-		} else
-			fmt = VersionFormat.OSGI_FORMAT;
-
-		String minStr;
-		String maxStr;
-		StringBuffer sb = new StringBuffer();
-		if (c == '[' || c == '(') {
-			includeMin = (c == '[');
-			pos = copyEscaped(versionRange, ++pos, ",)]", sb); //$NON-NLS-1$
-			if (pos >= top)
-				throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
-			c = versionRange.charAt(pos++);
-			if (c != ',')
-				throw new IllegalArgumentException(NLS.bind(Messages.missing_comma_in_range_0, versionRange));
-
-			minStr = sb.toString();
-			sb.setLength(0);
-			pos = copyEscaped(versionRange, pos, ")]", sb); //$NON-NLS-1$
-			if (pos >= top)
-				throw new IllegalArgumentException();
-			maxStr = sb.toString();
-
-			c = versionRange.charAt(pos++);
-			includeMax = (c == ']');
-		} else {
-			StringBuffer sbMin = new StringBuffer();
-			pos = copyEscaped(versionRange, pos, rawPrefix ? "/" : null, sbMin); //$NON-NLS-1$
-			includeMin = includeMax = true;
-			minStr = sbMin.toString();
-			maxStr = null;
-		}
-
-		if (rawPrefix) {
-			String origMin = null;
-			String origMax = null;
-			pos = VersionParser.skipWhite(versionRange, pos);
-			if (pos < top && versionRange.charAt(pos) == '/') {
-				if (++pos == top)
-					throw new IllegalArgumentException(NLS.bind(Messages.original_stated_but_missing_0, versionRange));
-				position[0] = pos;
-				fmt = parseFormat(versionRange, position);
-				pos = VersionParser.skipWhite(versionRange, position[0]);
-				if (pos < top) {
-					boolean origUseIncDelims = false;
-					c = versionRange.charAt(pos);
-					if (c != ':')
-						throw new IllegalArgumentException(NLS.bind(Messages.original_must_start_with_colon_0, versionRange));
-
-					pos = VersionParser.skipWhite(versionRange, ++pos);
-					if (pos == top)
-						throw new IllegalArgumentException(NLS.bind(Messages.original_stated_but_missing_0, versionRange));
-
-					c = versionRange.charAt(pos);
-					if (c == '[' || c == '(') {
-						if (includeMin != (c == '[') || maxStr == null)
-							throw new IllegalArgumentException(NLS.bind(Messages.raw_and_original_must_use_same_range_inclusion_0, versionRange));
-						pos = VersionParser.skipWhite(versionRange, ++pos);
-						origUseIncDelims = true;
-					}
-
-					sb.setLength(0);
-					if (maxStr == null) {
-						copyEscaped(versionRange, pos, ",])", sb); //$NON-NLS-1$
-						origMin = sb.toString();
-					} else {
-						pos = copyEscaped(versionRange, pos, ",])", sb); //$NON-NLS-1$
-						if (pos >= top)
-							throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
-						c = versionRange.charAt(pos++);
-						if (c != ',')
-							throw new IllegalArgumentException(NLS.bind(Messages.missing_comma_in_range_0, versionRange));
-						origMin = sb.toString();
-
-						sb.setLength(0);
-						pos = copyEscaped(versionRange, pos, "])", sb); //$NON-NLS-1$
-						if (origUseIncDelims) {
-							if (pos >= top)
-								throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
-							c = versionRange.charAt(pos++);
-							if (includeMax != (c == ']'))
-								throw new IllegalArgumentException(NLS.bind(Messages.raw_and_original_must_use_same_range_inclusion_0, versionRange));
-						}
-						origMax = sb.toString();
-					}
-				}
-			}
-			minVersion = VersionFormat.parseRaw(minStr, fmt, origMin);
-			if (maxStr != null) {
-				if (maxStr.equals(minStr))
-					maxVersion = minVersion;
-				else
-					maxVersion = VersionFormat.parseRaw(maxStr, fmt, origMax);
-			} else
-				maxVersion = Version.MAX_VERSION;
-		} else {
-			if (fmt == null)
-				fmt = VersionFormat.OSGI_FORMAT;
-			minVersion = fmt.parse(minStr);
-			if (maxStr != null) {
-				if (maxStr.equals(minStr))
-					maxVersion = minVersion;
-				else
-					maxVersion = fmt.parse(maxStr);
-			} else {
-				maxVersion = Version.MAX_VERSION;
-			}
-		}
-		validateRange();
-	}
-
-	private static IVersionFormat parseFormat(String versionRange, int[] position) {
-		int pos = VersionParser.skipWhite(versionRange, position[0]);
-		if (!versionRange.startsWith("format(", pos)) //$NON-NLS-1$
-			return null;
-
-		pos += 7;
-		int end = VersionParser.findEndOfFormat(versionRange, pos, versionRange.length());
-		try {
-			position[0] = end + 1;
-			return VersionFormat.compile(versionRange, pos, end);
-		} catch (VersionFormatException e) {
-			throw new IllegalArgumentException(e.getMessage());
-		}
-	}
-
-	/**
-	 * Returns the version format.
-	 */
-	public IVersionFormat getFormat() {
-		return minVersion.equals(Version.emptyVersion) ? maxVersion.getFormat() : minVersion.getFormat();
-	}
-
-	/**
-	 * Returns the minimum Version of this VersionRange
-	 * @return the minimum Version of this VersionRange
-	 */
-	public Version getMinimum() {
-		return minVersion;
-	}
-
-	/**
-	 * Indicates if the minimum version is included in the version range.
-	 * @return true if the minimum version is included in the version range;
-	 * otherwise false is returned
-	 */
-	public boolean getIncludeMinimum() {
-		return includeMin;
-	}
-
-	/**
-	 * Returns the maximum Version of this VersionRange
-	 * @return the maximum Version of this VersionRange
-	 */
-	public Version getMaximum() {
-		return maxVersion;
-	}
-
-	/**
-	 * Indicates if the maximum version is included in the version range.
-	 * @return true if the maximum version is included in the version range;
-	 * otherwise false is returned
-	 */
-	public boolean getIncludeMaximum() {
-		return includeMax;
-	}
-
-	public VersionRange intersect(VersionRange r2) {
-		int minCompare = minVersion.compareTo(r2.getMinimum());
-		int maxCompare = maxVersion.compareTo(r2.getMaximum());
-
-		boolean resultMinIncluded;
-		Version resultMin;
-		if (minCompare == 0) {
-			if (maxCompare == 0 && includeMin == r2.getIncludeMinimum() && includeMax == r2.getIncludeMaximum())
-				return this;
-			resultMin = minVersion;
-			resultMinIncluded = includeMin && r2.getIncludeMinimum();
-		} else if (minCompare < 0) {
-			resultMin = r2.getMinimum();
-			resultMinIncluded = r2.getIncludeMinimum();
-		} else { // minCompare > 0)
-			resultMin = minVersion;
-			resultMinIncluded = includeMin;
-		}
-
-		boolean resultMaxIncluded;
-		Version resultMax;
-		if (maxCompare > 0) {
-			resultMax = r2.getMaximum();
-			resultMaxIncluded = r2.getIncludeMaximum();
-		} else if (maxCompare < 0) {
-			resultMax = maxVersion;
-			resultMaxIncluded = includeMax;
-		} else {//maxCompare == 0
-			resultMax = maxVersion;
-			resultMaxIncluded = includeMax && r2.getIncludeMaximum();
-		}
-
-		int minMaxCmp = resultMin.compareTo(resultMax);
-		if (minMaxCmp < 0 || (minMaxCmp == 0 && resultMinIncluded && resultMaxIncluded))
-			return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
-
-		return null;
-	}
-
-	/**
-	 * Returns whether the given version is included in this VersionRange.
-	 * This will depend on the minimum and maximum versions of this VersionRange
-	 * and the given version.
-	 * 
-	 * @param version a version to be tested for inclusion in this VersionRange. 
-	 * (may be <code>null</code>)
-	 * @return <code>true</code> if the version is include, 
-	 * <code>false</code> otherwise 
-	 */
-	public boolean isIncluded(Version version) {
-		if (version == null)
-			return false;
-
-		if (minVersion == maxVersion)
-			// Can only happen when both includeMin and includeMax are true
-			return minVersion.equals(version);
-
-		int minCheck = includeMin ? 0 : -1;
-		int maxCheck = includeMax ? 0 : 1;
-		return minVersion.compareTo(version) <= minCheck && maxVersion.compareTo(version) >= maxCheck;
-	}
-
-	/**
-	 * Checks if the versions of this range is in compliance with the OSGi version spec.
-	 * @return A flag indicating whether the range is OSGi compatible or not.
-	 */
-	public boolean isOSGiCompatible() {
-		return minVersion.isOSGiCompatible() && maxVersion.isOSGiCompatible();
-	}
-
-	public boolean equals(Object object) {
-		if (!(object instanceof VersionRange))
-			return false;
-		VersionRange vr = (VersionRange) object;
-		return includeMin == vr.includeMin && includeMax == vr.includeMax && minVersion.equals(vr.getMinimum()) && maxVersion.equals(vr.getMaximum());
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + maxVersion.hashCode();
-		result = prime * result + minVersion.hashCode();
-		result = prime * result + (includeMax ? 1231 : 1237);
-		result = prime * result + (includeMin ? 1231 : 1237);
-		return result;
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-		toString(result);
-		return result.toString();
-	}
-
-	public void toString(StringBuffer result) {
-		boolean gtEqual = includeMin && includeMax && Version.MAX_VERSION.equals(maxVersion);
-		if (gtEqual && Version.emptyVersion.equals(minVersion)) {
-			minVersion.toString(result);
-			return;
-		}
-
-		IVersionFormat fmt = getFormat();
-		if (fmt == VersionFormat.OSGI_FORMAT) {
-			if (gtEqual) {
-				minVersion.toString(result);
-			} else {
-				result.append(includeMin ? '[' : '(');
-				minVersion.toString(result);
-				result.append(',');
-				maxVersion.toString(result);
-				result.append(includeMax ? ']' : ')');
-			}
-			return;
-		}
-
-		result.append("raw:"); //$NON-NLS-1$
-		if (gtEqual) {
-			((BasicVersion) minVersion).rawToString(result, true);
-		} else {
-			result.append(includeMin ? '[' : '(');
-			((BasicVersion) minVersion).rawToString(result, true);
-			result.append(',');
-			((BasicVersion) maxVersion).rawToString(result, true);
-			result.append(includeMax ? ']' : ')');
-		}
-		boolean hasOriginal = (minVersion.getOriginal() != null || maxVersion.getOriginal() != null);
-		if (fmt != null || hasOriginal) {
-			result.append('/');
-			if (fmt != null)
-				fmt.toString(result);
-			if (hasOriginal) {
-				result.append(':');
-				if (gtEqual) {
-					((BasicVersion) minVersion).originalToString(result, true);
-				} else {
-					if (Version.emptyVersion.equals(minVersion))
-						((BasicVersion) minVersion).rawToString(result, true);
-					else
-						((BasicVersion) minVersion).originalToString(result, true);
-					result.append(',');
-					((BasicVersion) maxVersion).originalToString(result, true);
-				}
-			}
-		}
-	}
-
-	// Preserve singletons during deserialization
-	private Object readResolve() {
-		VersionRange vr = this;
-		if (equals(emptyRange))
-			vr = emptyRange;
-		return vr;
-	}
-
-	private void validateRange() {
-		int cmp = minVersion.compareTo(maxVersion);
-		if (!(cmp < 0 || (cmp == 0 && includeMin && includeMax)))
-			throw new IllegalArgumentException(NLS.bind(Messages.range_min_0_is_not_less_then_range_max_1, minVersion, maxVersion));
-	}
-
-	public static org.eclipse.osgi.service.resolver.VersionRange toOSGiVersionRange(VersionRange range) {
-		if (range.equals(emptyRange))
-			return org.eclipse.osgi.service.resolver.VersionRange.emptyRange;
-		return new org.eclipse.osgi.service.resolver.VersionRange(Version.toOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), Version.toOSGiVersion(range.getMaximum()), range.getIncludeMinimum());
-	}
-
-	public static VersionRange fromOSGiVersionRange(org.eclipse.osgi.service.resolver.VersionRange range) {
-		if (range.equals(org.eclipse.osgi.service.resolver.VersionRange.emptyRange))
-			return emptyRange;
-		return new VersionRange(Version.fromOSGiVersion(range.getMinimum()), range.getIncludeMinimum(), Version.fromOSGiVersion(range.getMaximum()), range.getIncludeMaximum());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionedId.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionedId.java
deleted file mode 100644
index 826d66c..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionedId.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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:
- *     Code 9 - initial API and implementation
- *     EclipseSource - ongoing development
- *     Thomas Hallgren - Fix for bug 268659
- *     IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata;
-
-import org.eclipse.equinox.internal.p2.core.helpers.StringHelper;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-
-/**
- * An object representing a (id,version) pair. 
- * 
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class VersionedId implements IVersionedId {
-	private final String id;
-	private final Version version;
-
-	/**
-	 * Creates and returns a new {@link VersionedId} from the given string specification.  
-	 * The specification must be of the form "id/version", or just "id" if the version is absent
-	 * <p>
-	 * This factory method can be used to reconstruct a {@link VersionedId}
-	 * instance from the string representation produced by a previous invocation of 
-	 * {@link #toString()}.
-	 * 
-	 * @param spec the specification for the versioned id to create
-	 * @return the parsed versioned id
-	 * @throws IllegalArgumentException If <code>spec</code> is improperly
-	 *         formatted.
-	 */
-	public static IVersionedId parse(String spec) {
-		String[] segments = StringHelper.getArrayFromString(spec, '/');
-		return new VersionedId(segments[0], segments.length == 1 ? null : segments[1]);
-	}
-
-	/**
-	 * Creates a new versioned id with the given id and version.
-	 * 
-	 * @param id The identifier
-	 * @param version The version
-	 * @throws IllegalArgumentException If <code>version</code> is improperly
-	 *         formatted.
-	 */
-	public VersionedId(String id, String version) {
-		this.id = id;
-		this.version = Version.parseVersion(version);
-	}
-
-	/**
-	 * Creates a new versioned id with the given id and version.
-	 * 
-	 * @param id The identifier
-	 * @param version The version
-	 */
-	public VersionedId(String id, Version version) {
-		this.id = id;
-		this.version = (version == null) ? Version.emptyVersion : version;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (!(obj instanceof VersionedId))
-			return false;
-
-		VersionedId vname = (VersionedId) obj;
-		return id.equals(vname.id) && version.equals(vname.version);
-	}
-
-	public int hashCode() {
-		return id.hashCode() * 31 + version.hashCode();
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public Version getVersion() {
-		return version;
-	}
-
-	/**
-	 * Returns a string representation of this versioned id.
-	 * The result can be used to later construct an equal {@link VersionedId}
-	 * instance using {{@link #parse(String)}.
-	 * @return A string representation of this versioned id
-	 */
-	public String toString() {
-		return Version.emptyVersion.equals(version) ? id : id + '/' + version.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/Collector.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/Collector.java
deleted file mode 100644
index d8e8a54..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/Collector.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.lang.reflect.Array;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.Messages;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A collector is a generic visitor that collects objects passed to it,
- * and can then express the result of the visit in various forms. The collector
- * can also short-circuit a traversal by returning <code>false</code> from
- * its {@link #accept(Object)} method.
- * <p>
- * This default collector just accepts all objects passed to it.  Clients may subclass
- * to perform different processing on the objects passed to it.
- */
-public class Collector implements IQueryable {
-	private Set collected = null;
-
-	/**
-	 * Creates a new collector.
-	 */
-	public Collector() {
-		super();
-	}
-
-	/**
-	 * Accepts an object.
-	 * <p>
-	 * This default implementation adds the objects to a list. Clients may
-	 * override this method to perform additional filtering, add different objects 
-	 * to the list, short-circuit the traversal, or process the objects directly without 
-	 * collecting them.
-	 * 
-	 * @param object the object to collect or visit
-	 * @return <code>true</code> if the traversal should continue,
-	 * or <code>false</code> to indicate the traversal should stop.
-	 */
-	public boolean accept(Object object) {
-		getCollection().add(object);
-		return true;
-	}
-
-	/**
-	 * Adds the elements from one collector to this collector
-	 * @param collector The collector from which the elements should be retrieved
-	 */
-	public void addAll(Collector collector) {
-		boolean keepGoing = true;
-		for (Iterator iter = collector.iterator(); iter.hasNext() && keepGoing;) {
-			keepGoing = accept(iter.next());
-		}
-	}
-
-	/**
-	 * Returns the collection that is being used to collect results. Unlike {@linkplain #toCollection()},
-	 * this returns the actual modifiable collection that is being used to store results. The
-	 * return value is only intended to be used within subclasses and should not be exposed
-	 * outside of a collection class.
-	 * 
-	 * @return the collection being used to collect results.
-	 */
-	protected Collection getCollection() {
-		if (collected == null)
-			collected = new HashSet();
-		return collected;
-	}
-
-	/**
-	 * Returns whether this collector is empty.
-	 * @return <code>true</code> if this collector has accepted any results,
-	 * and <code>false</code> otherwise.
-	 */
-	public boolean isEmpty() {
-		return collected == null || collected.isEmpty();
-	}
-
-	/**
-	 * Returns an iterator on the collected objects.
-	 * 
-	 * @return an iterator of the collected objects.
-	 */
-	public Iterator iterator() {
-		return collected == null ? Collections.EMPTY_LIST.iterator() : collected.iterator();
-	}
-
-	/**
-	 * Returns the number of collected objects.
-	 */
-	public int size() {
-		return collected == null ? 0 : collected.size();
-	}
-
-	/**
-	 * Returns the collected objects as an array
-	 * 
-	 * @param clazz The type of array to return
-	 * @return The array of results
-	 * @throws ArrayStoreException the runtime type of the specified array is
-	 *         not a supertype of the runtime type of every collected object
-	 */
-	public Object[] toArray(Class clazz) {
-		int size = collected == null ? 0 : collected.size();
-		Object[] result = (Object[]) Array.newInstance(clazz, size);
-		if (size != 0)
-			collected.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Returns the collected objects as an immutable collection.
-	 * 
-	 * @return An unmodifiable collection of the collected objects
-	 */
-	public Collection toCollection() {
-		return collected == null ? Collections.EMPTY_SET : Collections.unmodifiableSet(collected);
-	}
-
-	/**
-	 * Performs a query on this results of this collector.  
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		Iterator iter = toCollection().iterator();
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		try {
-			monitor.beginTask(Messages.performing_subquery, 1);
-			collector = query.perform(iter, collector);
-			monitor.worked(1);
-		} finally {
-			monitor.done();
-		}
-		return collector;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQuery.java
deleted file mode 100644
index 8b3b30a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQuery.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.util.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A query that combines a group of sub-queries.<P>
- * 
- * In a CompoundQuery each sub-query is executed and the results are combined using
- * either logical AND or logical OR operations. <P>
- * 
- * Clients are expected to call {@link CompoundQuery#createCompoundQuery(IQuery[], boolean)}
- * to create a concrete instance of a CompoundQuery.  If all Queries are instances of 
- * {@link IMatchQuery} then the resulting compound query will be a MatchCompoundQuery, otherwise the
- * resulting compound query will be a {@link ContextQuery}.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- */
-public abstract class CompoundQuery implements IQuery, ICompositeQuery {
-	protected IQuery[] queries;
-	protected boolean and;
-
-	/**
-	 * Creates a compound query that combines the given queries. The queries
-	 * will be performed by the compound query in the given order. This method
-	 * might not perform all queries if it can determine the result of the compound
-	 * expression without doing so.
-	 * 
-	 * If all the queries are instances of {@link IMatchQuery} then the resulting
-	 * compound query will be an instance of IMatchQuery, otherwise the resulting
-	 * compound query will be a context query.
-	 * 
-	 * @param queries The queries to perform
-	 * @param and <code>true</code> if this query represents a logical 'and', and
-	 * <code>false</code> if this query represents a logical 'or'.
-	 */
-	public static CompoundQuery createCompoundQuery(IQuery[] queries, boolean and) {
-		if (isMatchQueries(queries)) {
-			return new CompoundQuery.MatchCompoundQuery(queries, and);
-		}
-		return new CompoundQuery.ContextCompoundQuery(queries, and);
-	}
-
-	/**
-	 * Returns the queries that make up this compound query
-	 */
-	public IQuery[] getQueries() {
-		return queries;
-	}
-
-	/**
-	 * Returns whether this compound query combines its queries with a logical
-	 * 'and' or 'or'.
-	 * @return <code>true</code> if this query represents a logical 'and', and
-	 * <code>false</code> if this query represents a logical 'or'.
-	 */
-	public boolean isAnd() {
-		return and;
-	}
-
-	protected CompoundQuery(IQuery[] queries, boolean and) {
-		this.queries = queries;
-		this.and = and;
-	}
-
-	/**
-	 * @param queries
-	 */
-	private static boolean isMatchQueries(IQuery[] queries) {
-		for (int i = 0; i < queries.length; i++) {
-			if (!(queries[i] instanceof IMatchQuery)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Gets the ID for this Query. 
-	 */
-	public String getId() {
-		return QueryHelpers.getId(this);
-	}
-
-	/**
-	 * Gets a particular property of the query.
-	 * @param property The property to retrieve 
-	 */
-	public Object getProperty(String property) {
-		return QueryHelpers.getProperty(this, property);
-	}
-
-	/**
-	 * The compound query instantiated when all queries are Match Queries.
-	 */
-	private static class MatchCompoundQuery extends CompoundQuery implements IMatchQuery {
-
-		protected MatchCompoundQuery(IQuery[] queries, boolean and) {
-			super(queries, and);
-		}
-
-		public boolean isMatch(Object candidate) {
-			for (int i = 0; i < queries.length; i++) {
-				boolean valid = ((IMatchQuery) queries[i]).isMatch(candidate);
-				// if we are OR'ing then the first time we find a requirement that is met, return success
-				if (valid && !and)
-					return true;
-				// if we are AND'ing then the first time we find a requirement that is NOT met, return failure
-				if (!valid && and)
-					return false;
-			}
-			// if we get past the requirements check and we are AND'ing then return true 
-			// since all requirements must have been met.  If we are OR'ing then return false 
-			// since none of the requirements were met.
-			return and;
-		}
-
-		/**
-		 * Performs this query on the given iterator, passing all objects in the iterator 
-		 * that match the criteria of this query to the given result.
-		 */
-		public final Collector perform(Iterator iterator, Collector result) {
-			prePerform();
-			try {
-				while (iterator.hasNext()) {
-					Object candidate = iterator.next();
-					if (isMatch(candidate))
-						if (!result.accept(candidate))
-							break;
-				}
-			} finally {
-				postPerform();
-			}
-			return result;
-		}
-
-		public void prePerform() {
-			for (int i = 0; i < queries.length; i++) {
-				((IMatchQuery) queries[i]).prePerform();
-			}
-		}
-
-		public void postPerform() {
-			for (int i = 0; i < queries.length; i++) {
-				((IMatchQuery) queries[i]).postPerform();
-			}
-		}
-	}
-
-	/**
-	 * The compound query instantiated when any of the queries are not 
-	 * match queries.
-	 */
-	private static class ContextCompoundQuery extends CompoundQuery {
-
-		protected ContextCompoundQuery(IQuery[] queries, boolean and) {
-			super(queries, and);
-		}
-
-		/*
-		 * A collector that takes the set to puts the elements in.
-		 */
-		class SetCollector extends Collector {
-			Set s = null;
-
-			public SetCollector(Set s) {
-				this.s = s;
-			}
-
-			public boolean accept(Object object) {
-				s.add(object);
-				return true;
-			}
-		}
-
-		public Collector perform(Iterator iterator, Collector result) {
-			if (queries.length < 1)
-				return result;
-
-			Collection data = new LinkedList();
-
-			while (iterator.hasNext()) {
-				data.add(iterator.next());
-			}
-
-			Set[] resultSets = new Set[queries.length];
-			for (int i = 0; i < queries.length; i++) {
-				resultSets[i] = new HashSet();
-				queries[i].perform(data.iterator(), new SetCollector(resultSets[i]));
-			}
-
-			Set set = resultSets[0];
-			for (int i = 1; i < resultSets.length; i++) {
-				if (isAnd())
-					set.retainAll(resultSets[i]);
-				else
-					set.addAll(resultSets[i]);
-			}
-
-			Iterator resultIterator = set.iterator();
-			boolean gatherResults = true;
-			while (resultIterator.hasNext() && gatherResults)
-				gatherResults = result.accept(resultIterator.next());
-			return result;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQueryable.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQueryable.java
deleted file mode 100644
index ba8e552..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CompoundQueryable.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.lang.reflect.Array;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A queryable that holds a number of other IQueryables and provides
- * a mechanism for querying the entire set.
- */
-public class CompoundQueryable implements IQueryable {
-
-	private IQueryable[] queryables;
-
-	public CompoundQueryable(IQueryable[] queryables) {
-		this.queryables = queryables;
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector results = new Collector();
-		Collector subResults = null;
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		boolean isMatchQuery = query instanceof IMatchQuery;
-		int totalWork = isMatchQuery ? queryables.length : queryables.length + 1;
-
-		try {
-			SubMonitor subMonitor = SubMonitor.convert(monitor, totalWork * 10);
-			if (!isMatchQuery) {
-				// If it is not a match query, then collect the results
-				// as a list, we will query this list for the final results
-				results = new ListCollector();
-			}
-			for (int i = 0; i < queryables.length; i++) {
-				if (subMonitor.isCanceled())
-					break;
-				subResults = queryables[i].query(query, subMonitor.newChild(10));
-				results.addAll(subResults);
-			}
-
-			if (!isMatchQuery) {
-				// If it is not a MatchQuery then we must query the results.
-				results = results.query(query, subMonitor.newChild(10));
-			} else
-				results = results;
-		} finally {
-			monitor.done();
-		}
-
-		return results;
-	}
-
-	/**
-	 * A list collector.
-	 * 
-	 * This is a collector backed as a list.
-	 * 
-	 * The list collector is not intended to be used outside of this class.  It is only public
-	 * for testing purposes.
-	 * 
-	 * @noinstantiate This class is not intended to be instantiated by clients.
-	 * @noextend This class is not intended to be subclassed by clients.
-	 * 
-	 */
-	public class ListCollector extends Collector {
-		private List collected;
-
-		public ListCollector() {
-			super();
-		}
-
-		protected Collection getCollection() {
-			if (collected == null)
-				collected = new ArrayList();
-			return collected;
-		}
-
-		public boolean isEmpty() {
-			return collected == null || collected.isEmpty();
-		}
-
-		public Object[] toArray(Class clazz) {
-			int size = collected == null ? 0 : collected.size();
-			Object[] result = (Object[]) Array.newInstance(clazz, size);
-			if (size != 0)
-				collected.toArray(result);
-			return result;
-		}
-
-		public boolean accept(Object object) {
-			if (collected == null)
-				collected = new ArrayList();
-			collected.add(object);
-			return true;
-		}
-
-		/**
-		 * Returns the collected objects as an immutable collection.
-		 * 
-		 * @return An unmodifiable collection of the collected objects
-		 */
-		public Collection toCollection() {
-			return collected == null ? Collections.EMPTY_LIST : Collections.unmodifiableList(collected);
-		}
-
-		public Iterator iterator() {
-			return collected == null ? Collections.EMPTY_LIST.iterator() : collected.iterator();
-		}
-
-		public int size() {
-			return collected == null ? 0 : collected.size();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ContextQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ContextQuery.java
deleted file mode 100644
index 4d36648..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ContextQuery.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.util.Iterator;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * ContextQuery is the abstract superclass for Queries that require the entire
- * input to evaluate the results.  Queries must consider the group of elements before
- * processing the results. <P>
- * 
- * ContextQueries must also be transitive. That is, if run on a subset of the 
- * input, the order in which they are executed must not matter. If there is the 
- * need for a non-transitive query, please see:
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=261403
- * <p>
- * Users of this query must call {@link #perform(Iterator, Collector)} to compute 
- * the results. <P>
- * This class may be subclassed by clients. Subclasses should specify the type
- * of object they support querying on. Subclasses are also encouraged to clearly
- * specify their match algorithm, and expose the parameters involved in the match
- * computation, to allow {@link IQueryable} implementations to optimize their
- * execution of the query. <P>
- * 
- */
-public abstract class ContextQuery implements IQuery {
-
-	/**
-	 * Evaluates the query for a specific input.  
-	 * 
-	 * @param iterator The elements for which to evaluate the query on
-	 * @param result A collector to collect the results.  For each element accepted 
-	 * by the query,{@link Collector#accept(Object)} must be called.
-	 * @return The results of the query.  The collector returned must be
-	 * the collector passed in.
-	 */
-	public abstract Collector perform(Iterator iterator, Collector result);
-
-	/**
-	 * Gets the ID for this Query. 
-	 */
-	public String getId() {
-		return QueryHelpers.getId(this);
-	}
-
-	/**
-	 * Gets a particular property of the query.
-	 * @param property The property to retrieve 
-	 */
-	public Object getProperty(String property) {
-		return QueryHelpers.getProperty(this, property);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ICompositeQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ICompositeQuery.java
deleted file mode 100644
index 0e84630..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/ICompositeQuery.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A query that contains a number of sub queries.  All queries that support sub-queries 
- * should implement this interface so clients can access the sub queries.
- */
-public interface ICompositeQuery {
-
-	/**
-	 * Returns all the child queries of a CompositeQuery.
-	 * @return All the child queries.
-	 */
-	public IQuery[] getQueries();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IMatchQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IMatchQuery.java
deleted file mode 100644
index 192e4de..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IMatchQuery.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-
-/**
- * A query in which the elements can be evaluated by calling isMatch on. Each
- * element can be evaluated independently of all other elements.  Match queries
- * can be evaluated in parallel as each call {@link #isMatch(Object)} is mutually
- * exclusive from all other calls. <P>
- * 
- * @spi Clients should not implement this interface, but rather extend {@link MatchQuery}.
- */
-public interface IMatchQuery extends IQuery {
-
-	/**
-	 * Returns whether the given object satisfies the parameters of this query.
-	 * 
-	 * @param candidate The object to perform the query against
-	 * @return <code>true</code> if the unit satisfies the parameters
-	 * of this query, and <code>false</code> otherwise
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public boolean isMatch(Object candidate);
-
-	/**
-	 * Execute any pre-processing that must be done before this query is performed against
-	 * a particular iterator.  This method may be used by subclasses to do any calculations,
-	 * caching, or other preparation for the query.
-	 * <p>
-	 * This method is internal to the framework.  Subclasses may override this method, but
-	 * should not call this method.
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public void prePerform();
-
-	/**
-	 * Execute any post-processing that must be done after this query has been performed against
-	 * a particular iterator.  This method may be used by subclasses to clear caches or any other
-	 * cleanup that should occur after a query.  
-	 * <p>
-	 * This method will be called even if the query does not complete successfully.
-	 * <p>
-	 * This method is internal to the framework.  Subclasses may override this method, but
-	 * should not call this method.
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public void postPerform();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IQueryable.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IQueryable.java
deleted file mode 100644
index d864783..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IQueryable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * An IQueryable contains objects, and is able to perform queries on those objects.
- * <p>
- * This interface may be implemented by clients.
- */
-public interface IQueryable {
-	/**
-	 * Performs a query, passing any objects that satisfy the
-	 * query to the provided collector.
-	 * <p>
-	 * This method is long-running; progress and cancellation are provided
-	 * by the given progress monitor. 
-	 * </p>
-	 * 
-	 * @param query The query to perform
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The collector argument
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
deleted file mode 100644
index 168ce05..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/IUPropertyQuery.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query that searches for {@link IInstallableUnit} instances that have
- * a property whose value matches the provided value.  If no property name is 
- * specified, then all {@link IInstallableUnit} instances are accepted.
- */
-public class IUPropertyQuery extends MatchQuery {
-	private String propertyName;
-	private String propertyValue;
-
-	/**
-	 * Creates a new query on the given property name and value.
-	 */
-	public IUPropertyQuery(String propertyName, String propertyValue) {
-		this.propertyName = propertyName;
-		this.propertyValue = propertyValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
-	 */
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		if (propertyName == null)
-			return true;
-		String value = getProperty(candidate, propertyName);
-		if (value != null && (value.equals(propertyValue) || propertyValue == null))
-			return true;
-		return false;
-	}
-
-	protected String getProperty(IInstallableUnit iu, String name) {
-		return iu.getProperty(name);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
deleted file mode 100644
index e21c65e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-
-/**
- * A query that matches on the id and version of an {@link IInstallableUnit}.
- */
-public class InstallableUnitQuery extends MatchQuery {
-	/**
-	 * A convenience query that will match any {@link IInstallableUnit}
-	 * it encounters.
-	 */
-	public static final InstallableUnitQuery ANY = new InstallableUnitQuery((String) null);
-
-	private String id;
-	private final VersionRange range;
-
-	/**
-	 * Creates a query that will match any {@link IInstallableUnit} with the given
-	 * id, regardless of version.
-	 * 
-	 * @param id The installable unit id to match, or <code>null</code> to match any id
-	 */
-	public InstallableUnitQuery(String id) {
-		this.id = id;
-		this.range = null;
-	}
-
-	/**
-	 * Creates a query that will match any {@link IInstallableUnit} with the given
-	 * id, and whose version falls in the provided range.
-	 * 
-	 * @param id The installable unit id to match, or <code>null</code> to match any id
-	 * @param range The version range to match
-	 */
-	public InstallableUnitQuery(String id, VersionRange range) {
-		this.id = id;
-		this.range = range;
-	}
-
-	/**
-	 * Creates a query that will match any {@link IInstallableUnit} with the given
-	 * id and version.
-	 * 
-	 * @param id The installable unit id to match, or <code>null</code> to match any id
-	 * @param version The precise version that a matching unit must have
-	 */
-	public InstallableUnitQuery(String id, Version version) {
-		this.id = id;
-		this.range = (version == null || Version.emptyVersion.equals(version)) ? null : new VersionRange(version, true, version, true);
-	}
-
-	/**
-	 * Creates a query that will match any {@link IInstallableUnit} with the given
-	 * id and version.
-	 * 
-	 * @param versionedId The precise id/version combination that a matching unit must have
-	 */
-	public InstallableUnitQuery(IVersionedId versionedId) {
-		this(versionedId.getId(), versionedId.getVersion());
-	}
-
-	/**
-	 * Returns the id that this query will match against.
-	 * @return The installable unit it
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Returns the version range that this query will match against.
-	 * @return The installable unit version range.
-	 */
-	public VersionRange getRange() {
-		return range;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
-	 */
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		if (id != null && !id.equals(candidate.getId()))
-			return false;
-		if (range != null && !range.isIncluded(candidate.getVersion()))
-			return false;
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LatestIUVersionQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LatestIUVersionQuery.java
deleted file mode 100644
index f9fa67a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LatestIUVersionQuery.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-
-import java.util.*;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-
-/**
- * This query returns the latest version for each unique VersionedID.  
- * All other elements are discarded.
- */
-public class LatestIUVersionQuery extends ContextQuery {
-
-	/**
-	 * Performs the LatestIUVersionQuery
-	 */
-	public Collector perform(Iterator iterator, Collector result) {
-		HashMap greatestIUVersion = new HashMap();
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-
-			if (!(next instanceof IVersionedId))
-				// Don't accept things if they are not IUs
-				continue;
-			IVersionedId versionedID = (IVersionedId) next;
-			if (greatestIUVersion.containsKey(versionedID.getId())) {
-				IVersionedId currentIU = (IVersionedId) greatestIUVersion.get(versionedID.getId());
-				if (currentIU.getVersion().compareTo(versionedID.getVersion()) < 0)
-					greatestIUVersion.put(versionedID.getId(), versionedID);
-			} else
-				greatestIUVersion.put(versionedID.getId(), versionedID);
-		}
-
-		Collection values = greatestIUVersion.values();
-		Iterator valuesIterator = values.iterator();
-		boolean continueGather = true;
-
-		while (valuesIterator.hasNext() && continueGather) {
-			IVersionedId nextIU = (IVersionedId) valuesIterator.next();
-			continueGather = result.accept(nextIU);
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LimitQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LimitQuery.java
deleted file mode 100644
index 1991d91..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/LimitQuery.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.util.Iterator;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A limit query can be used to limit the number of query results returned.  Once
- * the limit is reached, the query is terminated.
- */
-public class LimitQuery extends ContextQuery implements ICompositeQuery {
-
-	private final IQuery query;
-	private final int limit;
-
-	private class LimitCollector extends Collector {
-		private final Collector subCollector;
-		private final int collectionLimit;
-		private int collected = 0;
-
-		public LimitCollector(int collectionLimit, Collector subCollector) {
-			this.collectionLimit = collectionLimit;
-			this.subCollector = subCollector;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector#accept(java.lang.Object)
-		 */
-		public boolean accept(Object object) {
-			if (collected >= collectionLimit)
-				return false;
-			if (!subCollector.accept(object))
-				return false;
-			collected++;
-			if (collected >= collectionLimit)
-				return false;
-			return true;
-		}
-	}
-
-	public LimitQuery(IQuery query, int limit) {
-		this.query = query;
-		this.limit = limit;
-	}
-
-	public Collector perform(Iterator iterator, Collector result) {
-		LimitCollector limitCollector = new LimitCollector(limit, result);
-		query.perform(iterator, limitCollector);
-		return result;
-	}
-
-	public IQuery[] getQueries() {
-		return new IQuery[] {query};
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/MatchQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/MatchQuery.java
deleted file mode 100644
index c387c8b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/MatchQuery.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-*   IBM Corporation - ongoing development
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.util.Iterator;
-
-/**
- * This class represents the superclass of most of p2's queries.  Every element
- * in the query can be evaluated by calling isMatch on it. If {@link #isMatch(Object)} returns true, 
- * then the element WILL be included in the query result.  If {@link #isMatch(Object)} returns false, then 
- * the element WILL NOT be included in the query result.
- * <p>
- * This class may be subclassed by clients. Subclasses should specify the type
- * of object they support querying on. Subclasses are also encouraged to clearly
- * specify their match algorithm, and expose the parameters involved in the match
- * computation, to allow {@link IQueryable} implementations to optimize their
- * execution of the query. 
- */
-public abstract class MatchQuery implements IMatchQuery {
-
-	/**
-	 * Returns whether the given object satisfies the parameters of this query.
-	 * 
-	 * @param candidate The object to perform the query against
-	 * @return <code>true</code> if the unit satisfies the parameters
-	 * of this query, and <code>false</code> otherwise
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 * Clients should call {@link #perform(Iterator, Collector)}
-	 */
-	public abstract boolean isMatch(Object candidate);
-
-	/**
-	 * Gets the ID for this Query. 
-	 */
-	public String getId() {
-		return QueryHelpers.getId(this);
-	}
-
-	/**
-	 * Gets a particular property of the query.
-	 * @param property The property to retrieve 
-	 */
-	public Object getProperty(String property) {
-		return QueryHelpers.getProperty(this, property);
-	}
-
-	/**
-	 * Performs this query on the given iterator, passing all objects in the iterator 
-	 * that match the criteria of this query to the given result.
-	 */
-	public final Collector perform(Iterator iterator, Collector result) {
-		prePerform();
-		try {
-			while (iterator.hasNext()) {
-				Object candidate = iterator.next();
-				if (isMatch(candidate))
-					if (!result.accept(candidate))
-						break;
-			}
-		} finally {
-			postPerform();
-		}
-		return result;
-	}
-
-	/**
-	 * Execute any pre-processing that must be done before this query is performed against
-	 * a particular iterator.  This method may be used by subclasses to do any calculations,
-	 * caching, or other preparation for the query.
-	 * <p>
-	 * This method is internal to the framework.  Subclasses may override this method, but
-	 * should not call this method.
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public void prePerform() {
-		// nothing to do by default
-	}
-
-	/**
-	 * Execute any post-processing that must be done after this query has been performed against
-	 * a particular iterator.  This method may be used by subclasses to clear caches or any other
-	 * cleanup that should occur after a query.  
-	 * <p>
-	 * This method will be called even if the query does not complete successfully.
-	 * <p>
-	 * This method is internal to the framework.  Subclasses may override this method, but
-	 * should not call this method.
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public void postPerform() {
-		// nothing to do by default
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/PipedQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/PipedQuery.java
deleted file mode 100644
index 737e855..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/PipedQuery.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.util.Iterator;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A PipedQuery is an aggregate query in which each sub-query
- * is executed in succession.  The results from the ith sub-query
- * are piped as input into the i+1th sub-query.
- */
-public class PipedQuery implements IQuery, ICompositeQuery {
-	protected IQuery[] queries;
-
-	public PipedQuery(IQuery[] queries) {
-		this.queries = queries;
-	}
-
-	/**
-	 * Gets the ID for this Query. 
-	 */
-	public String getId() {
-		return QueryHelpers.getId(this);
-	}
-
-	/**
-	 * Gets a particular property of the query.
-	 * @param property The property to retrieve 
-	 */
-	public Object getProperty(String property) {
-		return QueryHelpers.getProperty(this, property);
-	}
-
-	/**
-	 * Set the queries of this composite.  This is needed to allow subclasses of 
-	 * CompsiteQuery to set the queries in a constructor
-	 */
-	protected final void setQueries(IQuery[] queries) {
-		this.queries = queries;
-	}
-
-	/**
-	 * Returns the queries that make up this compound query
-	 */
-	public IQuery[] getQueries() {
-		return queries;
-	}
-
-	public Collector perform(Iterator iterator, Collector result) {
-		Collector collector;
-		Iterator iter = iterator;
-		for (int i = 0; i < queries.length; i++) {
-			// Take the results of the previous query and using them
-			// to drive the next one (i.e. composing queries)
-			collector = queries[i].perform(iter, new Collector());
-			iter = collector.iterator();
-		}
-		boolean gatherResults = true;
-		while (iter.hasNext() && gatherResults)
-			gatherResults = result.accept(iter.next());
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/QueryHelpers.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/QueryHelpers.java
deleted file mode 100644
index ab74077..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/QueryHelpers.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * Static helper methods for the Query API.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class QueryHelpers {
-	/**
-	 * Gets the ID for a Query. 
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public static String getId(IQuery query) {
-		return query.getClass().getName();
-	}
-
-	/**
-	 * Gets a particular property of a query.
-	 * @param query The query to retrieve the property from
-	 * @param property The property to retrieve 
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public static Object getProperty(IQuery query, String property) {
-		Class clazz = query.getClass();
-		Object result = null;
-		try {
-			Method method = clazz.getMethod("get" + property, new Class[0]); //$NON-NLS-1$
-			result = method.invoke(query, new Object[0]);
-		} catch (SecurityException e) {
-			return null;
-		} catch (NoSuchMethodException e) {
-			return null;
-		} catch (IllegalArgumentException e) {
-			return null;
-		} catch (IllegalAccessException e) {
-			return null;
-		} catch (InvocationTargetException e) {
-			return null;
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
deleted file mode 100644
index b08122d..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/UpdateQuery.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IUpdateDescriptor;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
- * A query that finds all IUs that are considered an "Update" of the 
- * specified IU.  
- */
-public class UpdateQuery extends MatchQuery {
-	private IInstallableUnit updateFrom;
-
-	public UpdateQuery(IInstallableUnit updateFrom) {
-		this.updateFrom = updateFrom;
-	}
-
-	public boolean isMatch(Object obj) {
-		if (!(obj instanceof IInstallableUnit))
-			return false;
-		if (obj instanceof IInstallableUnitPatch && !(updateFrom instanceof IInstallableUnitPatch)) {
-			IInstallableUnitPatch potentialPatch = (IInstallableUnitPatch) obj;
-			IRequirement lifeCycle = potentialPatch.getLifeCycle();
-			if (lifeCycle == null)
-				return false;
-			return updateFrom.satisfies(lifeCycle);
-		}
-		IInstallableUnit candidate = (IInstallableUnit) obj;
-		IUpdateDescriptor descriptor = candidate.getUpdateDescriptor();
-		if (descriptor != null && descriptor.isUpdateOf(updateFrom)) {
-			if (!updateFrom.getId().equals(candidate.getId()))
-				return true;
-			return updateFrom.getVersion().compareTo(candidate.getVersion()) < 0;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IArtifactKey.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IArtifactKey.java
deleted file mode 100644
index 07e040b..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IArtifactKey.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Provide standardized artifact information to uniquely identify the 
- * corresponding bytes (perhaps not stored as a file). 
- * <p>
- * Artifact keys represent both a unique opaque identifier as well as structured 
- * and standardized pieces of information.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface IArtifactKey extends IVersionedId {
-
-	/**
-	 * Returns the classifier for this artifact key. The returned value can be empty.
-	 * @return the classifier segment of the key.
-	 */
-	public String getClassifier();
-
-	/**
-	 * Returns the id for this artifact key.
-	 * @return the id segment of the key.
-	 */
-	public String getId();
-
-	/**
-	 * Returns the version for this artifact key. 
-	 * @return the version segment of the key.
-	 */
-	public Version getVersion();
-
-	/**
-	 * Returns the canonical string form of this artifact key.
-	 * @return the canonical string representing this key
-	 */
-	public String toExternalForm();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/ICopyright.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/ICopyright.java
deleted file mode 100644
index d8ad2bd..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/ICopyright.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.metadata;
-
-import java.net.URI;
-
-/**
- * The <code>ICopyright</code> interface represents a software copyright.  A copyright has 
- * required body text which may be the full text or a summary.  An optional location field can be specified
- * which links to full text.  
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface ICopyright {
-
-	/**
-	 * Returns the location of a document containing the copyright notice.
-	 * 
-	 * @return The location of the copyright notice, or <code>null</code>
-	 */
-	public URI getLocation();
-
-	/**
-	 * Returns the license body.
-	 * 
-	 * @return the license body, never <code>null</code>
-	 */
-	public String getBody();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IInstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IInstallableUnit.java
deleted file mode 100644
index 2e7a6b3..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IInstallableUnit.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- * 		Genuitec, LLC - added license support
- * 		EclipseSource - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.metadata;
-
-import java.util.Map;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface IInstallableUnit extends IVersionedId, Comparable {
-
-	/**
-	 * A capability namespace representing a particular InstallableUnit by id.
-	 * Each InstallableUnit automatically provides a capability in this namespace representing
-	 * itself, and other InstallableUnits can require such a capability to state that they
-	 * require a particular InstallableUnit to be present.
-	 * 
-	 * @see IInstallableUnit#getId()
-	 */
-	public static final String NAMESPACE_IU_ID = "org.eclipse.equinox.p2.iu"; //$NON-NLS-1$
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.partial.iu"</code>) for a 
-	 * boolean property indicating the IU is generated from incomplete information and
-	 * should be replaced by the complete IU if available.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_PARTIAL_IU = "org.eclipse.equinox.p2.partial.iu"; //$NON-NLS-1$
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.contact"</code>) for a 
-	 * String property containing a contact address where problems can be reported, 
-	 * such as an email address.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_CONTACT = "org.eclipse.equinox.p2.contact"; //$NON-NLS-1$
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.description"</code>) for a 
-	 * String property containing a human-readable description of the installable unit.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_DESCRIPTION = "org.eclipse.equinox.p2.description"; //$NON-NLS-1$
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.description.url"</code>) for a 
-	 * String property containing a URL to the description of the installable unit.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_DESCRIPTION_URL = "org.eclipse.equinox.p2.description.url"; //$NON-NLS-1$
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.doc.url"</code>) for a 
-	 * String property containing a URL for documentation about the installable unit.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_DOC_URL = "org.eclipse.equinox.p2.doc.url"; //$NON-NLS-1$
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.bundle.localization"</code>) for a String
-	 * property containing the bundle localization property file name
-	 */
-	public static final String PROP_BUNDLE_LOCALIZATION = "org.eclipse.equinox.p2.bundle.localization"; //$NON-NLS-1$
-
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.name"</code>) for a 
-	 * String property containing a human-readable name for the installable unit.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_NAME = "org.eclipse.equinox.p2.name"; //$NON-NLS-1$
-	/**
-	 * A property key (value <code>"org.eclipse.equinox.p2.provider"</code>) for a 
-	 * String property containing information about the vendor or provider of the 
-	 * installable unit.
-	 * 
-	 * @see #getProperty(String)
-	 */
-	public static final String PROP_PROVIDER = "org.eclipse.equinox.p2.provider"; //$NON-NLS-1$
-
-	public IArtifactKey[] getArtifacts();
-
-	/**
-	 * Returns the filter on this installable unit. The filter is matched against
-	 * the selection context of the profile the unit is installed into. An IU will not
-	 * be installed if it has a filter condition that is not satisfied by the context.
-	 * 
-	 * See Profile#getSelectionContext.
-	 */
-	public IQuery getFilter();
-
-	/**
-	 * Returns the fragments that have been bound to this installable unit, or
-	 * <code>null</code> if this unit is not resolved.
-	 * 
-	 * @see #isResolved()
-	 * @return The fragments bound to this installable unit, or <code>null</code>
-	 */
-	public IInstallableUnitFragment[] getFragments();
-
-	/**
-	 * Get an <i>unmodifiable copy</i> of the properties
-	 * associated with the installable unit.
-	 * 
-	 * @return an <i>unmodifiable copy</i> of the IU properties.
-	 */
-	public Map getProperties();
-
-	public String getProperty(String key);
-
-	public IProvidedCapability[] getProvidedCapabilities();
-
-	public IRequirement[] getRequiredCapabilities();
-
-	public IRequirement[] getMetaRequiredCapabilities();
-
-	public ITouchpointData[] getTouchpointData();
-
-	public ITouchpointType getTouchpointType();
-
-	/**
-	 * Returns whether this installable unit has been resolved. A resolved
-	 * installable unit represents the union of an installable unit and some
-	 * fragments.
-	 * 
-	 * @see #getFragments()
-	 * @see #unresolved()
-	 * @return <code>true</code> if this installable unit is resolved, and 
-	 * <code>false</code> otherwise.
-	 */
-	public boolean isResolved();
-
-	public boolean isSingleton();
-
-	/**
-	 * Returns whether this unit has a provided capability that satisfies the given 
-	 * required capability.
-	 * @return <code>true</code> if this unit satisfies the given required
-	 * capability, and <code>false</code> otherwise.
-	 */
-	public boolean satisfies(IRequirement candidate);
-
-	/**
-	 * Returns the unresolved equivalent of this installable unit. If this unit is
-	 * already unresolved, this method returns the receiver. Otherwise, this
-	 * method returns an installable unit with the same id and version, but without
-	 * any fragments attached.
-	 * 
-	 * @see #getFragments()
-	 * @see #isResolved()
-	 * @return The unresolved equivalent of this unit
-	 */
-	public IInstallableUnit unresolved();
-
-	/**
-	 * Returns information about what this installable unit is an update of.
-	 * @return The lineage information about the installable unit
-	 */
-	public IUpdateDescriptor getUpdateDescriptor();
-
-	/**
-	 * Returns the license that applies to this installable unit.
-	 * @return the license that applies to this installable unit or <code>null</code>
-	 */
-	public ILicense[] getLicenses();
-
-	/**
-	 * Returns the copyright that applies to this installable unit.
-	 * @return the copyright that applies to this installable unit or <code>null</code>
-	 */
-	public ICopyright getCopyright();
-
-	/**
-	 * Returns whether this InstallableUnit is equal to the given object.
-	 * 
-	 * This method returns <i>true</i> if:
-	 * <ul>
-	 *  <li> Both this object and the given object are of type IInstallableUnit
-	 *  <li> The result of <b>getId()</b> on both objects are equal
-	 *  <li> The result of <b>getVersion()</b> on both objects are equal
-	 * </ul> 
-	 */
-	public boolean equals(Object obj);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IRequirement.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IRequirement.java
deleted file mode 100644
index c7b846f..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IRequirement.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 IBM 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 - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.metadata;
-
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface IRequirement {
-
-	public int getMin();
-
-	public int getMax();
-
-	public IQuery getMatches();
-
-	public IQuery getFilter();
-
-	public boolean isGreedy();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IVersionedId.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IVersionedId.java
deleted file mode 100644
index b7e065e..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/IVersionedId.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *     IBM - Ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * An interface representing a (id,version) pair. 
- * @since 2.0
- */
-public interface IVersionedId {
-	/**
-	 * Returns the id portion of this versioned id.
-	 * 
-	 * @return The id portion of this versioned id.
-	 */
-	String getId();
-
-	/**
-	 * Returns the version portion of this versioned id.
-	 * 
-	 * @return the version portion of this versioned id.
-	 */
-	Version getVersion();
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryMemberQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryMemberQuery.java
deleted file mode 100644
index f5578ce..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryMemberQuery.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-/**
-/**
- * A query matching every {@link IInstallableUnit} that is a member
- * of the specified category.
- * 
- * @since 2.0 
- */
-public class CategoryMemberQuery extends MatchQuery {
-	private IRequirement[] required;
-
-	/**
-	 * Creates a new query that will return the members of the
-	 * given category.  If the specified {@link IInstallableUnit} 
-	 * is not a category, then no installable unit will satisfy the query. 
-	 * 
-	 * @param category The category
-	 */
-	public CategoryMemberQuery(IInstallableUnit category) {
-		if (CategoryQuery.isCategory(category))
-			this.required = category.getRequiredCapabilities();
-		else
-			this.required = new IRequirement[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery#isMatch(java.lang.Object)
-	 */
-	public boolean isMatch(Object object) {
-		if (!(object instanceof IInstallableUnit))
-			return false;
-		IInstallableUnit candidate = (IInstallableUnit) object;
-		// since a category lists its members as requirements, then meeting
-		// any requirement means the candidate is a member of the category.
-		for (int i = 0; i < required.length; i++)
-			if (candidate.satisfies(required[i]))
-				return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryQuery.java
deleted file mode 100644
index bdc7aec..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/CategoryQuery.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query matching every {@link IInstallableUnit} that is a category.
- * @since 2.0 
- */
-public final class CategoryQuery extends MatchQuery {
-	private static final String PROP_TYPE_CATEGORY = "org.eclipse.equinox.p2.type.category"; //$NON-NLS-1$
-	private IUPropertyQuery query;
-
-	public CategoryQuery() {
-		query = new IUPropertyQuery(PROP_TYPE_CATEGORY, null);
-	}
-
-	public boolean isMatch(Object candidate) {
-		return query.isMatch(candidate);
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit} is a category. 
-	 * @param iu the element being tested.
-	 * @return <tt>true</tt> if the parameter is a category.
-	 */
-	public static boolean isCategory(IInstallableUnit iu) {
-		String value = iu.getProperty(PROP_TYPE_CATEGORY);
-		if (value != null && (value.equals(Boolean.TRUE.toString())))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/FragmentQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/FragmentQuery.java
deleted file mode 100644
index 01026ff..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/FragmentQuery.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query matching every {@link IInstallableUnit} that is a category.
- * @since 2.0
- */
-public final class FragmentQuery extends MatchQuery {
-	private static final String PROP_TYPE_FRAGMENT = "org.eclipse.equinox.p2.type.fragment"; //$NON-NLS-1$
-	private IUPropertyQuery query;
-
-	public FragmentQuery() {
-		query = new IUPropertyQuery(PROP_TYPE_FRAGMENT, null);
-	}
-
-	public boolean isMatch(Object candidate) {
-		return query.isMatch(candidate);
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit} is a fragment. 
-	 * @param iu the element being tested.
-	 * @return <tt>true</tt> if the parameter is a group.
-	 */
-	public static boolean isFragment(IInstallableUnit iu) {
-		String value = iu.getProperty(PROP_TYPE_FRAGMENT);
-		if (value != null && (value.equals(Boolean.TRUE.toString())))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/GroupQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/GroupQuery.java
deleted file mode 100644
index 50e1856..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/GroupQuery.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query matching every {@link IInstallableUnit} that is a group. 
- * @since 2.0
- */
-public final class GroupQuery extends MatchQuery {
-	private static final String PROP_TYPE_GROUP = "org.eclipse.equinox.p2.type.group"; //$NON-NLS-1$
-	private IUPropertyQuery query;
-
-	public GroupQuery() {
-		query = new IUPropertyQuery(PROP_TYPE_GROUP, null);
-	}
-
-	public boolean isMatch(Object candidate) {
-		return query.isMatch(candidate);
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit} is a group. 
-	 * @param iu the element being tested.
-	 * @return <tt>true</tt> if the parameter is a group.
-	 */
-	public static boolean isGroup(IInstallableUnit iu) {
-		String value = iu.getProperty(PROP_TYPE_GROUP);
-		if (value != null && (value.equals(Boolean.TRUE.toString())))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/IQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/IQuery.java
deleted file mode 100644
index 41de77a..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/IQuery.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import java.util.Iterator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-
-/**
- * The superclass of all queries that can be performed on an {@link IQueryable}.
- * <p>
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @since 2.0
- */
-public interface IQuery {
-
-	/**
-	 * Evaluates the query for a specific input.  
-	 * 
-	 * @param iterator The elements for which to evaluate the query on
-	 * @param result A collector to collect the results.  For each element accepted 
-	 * by the query,{@link Collector#accept(Object)} must be called.
-	 * @return The results of the query.  The collector returned must be
-	 * the collector passed in.
-	 */
-	public abstract Collector perform(Iterator iterator, Collector result);
-
-	/**
-	 * Gets the ID for this Query. 
-	 */
-	public String getId();
-
-	/**
-	 * Gets a particular property of the query.
-	 * @param property The property to retrieve 
-	 */
-	public Object getProperty(String property);
-}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/PatchQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/PatchQuery.java
deleted file mode 100644
index ec462db..0000000
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/metadata/query/PatchQuery.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.metadata.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query matching every {@link IInstallableUnit} that is a patch. 
- * @since 2.0
- */
-public final class PatchQuery extends MatchQuery {
-	private static final String PROP_TYPE_PATCH = "org.eclipse.equinox.p2.type.patch"; //$NON-NLS-1$
-	private IUPropertyQuery query;
-
-	public PatchQuery() {
-		query = new IUPropertyQuery(PROP_TYPE_PATCH, Boolean.TRUE.toString());
-	}
-
-	public boolean isMatch(Object candidate) {
-		return query.isMatch(candidate);
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit} is a patch. 
-	 * @param iu the element being tested.
-	 * @return <tt>true</tt> if the parameter is a patch.
-	 */
-	public static boolean isPatch(IInstallableUnit iu) {
-		String value = iu.getProperty(PROP_TYPE_PATCH);
-		if (value != null && (value.equals(Boolean.TRUE.toString())))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/.classpath b/bundles/org.eclipse.equinox.p2.operations/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.operations/.cvsignore b/bundles/org.eclipse.equinox.p2.operations/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.operations/.project b/bundles/org.eclipse.equinox.p2.operations/.project
deleted file mode 100644
index e5272e2..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.operations</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5247d61..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Thu Oct 09 08:15:31 EDT 2008
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
diff --git a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dbe72f1..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:14 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
deleted file mode 100644
index 182ed76..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,35 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.operations;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 2.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.operations.Activator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.engine.phases,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.common,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.query,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.osgi.framework;version="1.4.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.p2.operations
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.equinox.p2.operations/about.html b/bundles/org.eclipse.equinox.p2.operations/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.operations/build.properties b/bundles/org.eclipse.equinox.p2.operations/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.operations/plugin.properties b/bundles/org.eclipse.equinox.p2.operations/plugin.properties
deleted file mode 100644
index 3c8feb5..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Update Checker
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Activator.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Activator.java
deleted file mode 100644
index 9580bc9..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Activator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.operations;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Activator class that registers the update checker service.
- */
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.operations"; //$NON-NLS-1$
-	private static BundleContext context;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		Activator.context = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/DownloadPhaseSet.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/DownloadPhaseSet.java
deleted file mode 100644
index bd0f4a5..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/DownloadPhaseSet.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.equinox.internal.p2.operations;
-
-import org.eclipse.equinox.internal.p2.engine.Phase;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.p2.engine.phases.Collect;
-
-
-public class DownloadPhaseSet extends PhaseSet {
-	public DownloadPhaseSet() {
-		super(new Phase[] {new Collect(10)});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/IStatusCodes.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/IStatusCodes.java
deleted file mode 100644
index 34f92df..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/IStatusCodes.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.operations;
-
-/**
- * IStatusCodes defines codes for common status conditions when
- * performing provisioning operations.
- * 
- * This interface is not intended to be implemented
- * 
- * @since 2.0
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IStatusCodes {
-
-	//Operation status codes [10000-10999] - note these cannot conflict with the core codes
-	//in ProvisionException or we'll see strange results.
-
-	public static final int NOTHING_TO_UPDATE = 10000;
-
-	// Status codes associated with profile change request or plans being altered from the original intent
-	public static final int PROFILE_CHANGE_ALTERED = 10001;
-	public static final int IU_REQUEST_ALTERED = 10002;
-	public static final int ALTERED_IMPLIED_UPDATE = 10003;
-	public static final int ALTERED_IGNORED_IMPLIED_DOWNGRADE = 10004;
-	public static final int ALTERED_IGNORED_ALREADY_INSTALLED = 10005;
-	public static final int ALTERED_PARTIAL_INSTALL = 10006;
-	public static final int ALTERED_PARTIAL_UNINSTALL = 10007;
-	public static final int ALTERED_SIDE_EFFECT_UPDATE = 10008;
-	public static final int ALTERED_SIDE_EFFECT_REMOVE = 10009;
-	public static final int ALTERED_SIDE_EFFECT_INSTALL = 10010;
-	public static final int ALTERED_IGNORED_INSTALL_REQUEST = 10011;
-	public static final int ALTERED_IGNORED_UNINSTALL_REQUEST = 10012;
-	public static final int ALTERED_IGNORED_IMPLIED_UPDATE = 10013;
-
-	// Status codes associated with inability to perform an operation
-	public static final int UNEXPECTED_NOTHING_TO_DO = 10050;
-	public static final int EXPECTED_NOTHING_TO_DO = 10051;
-	public static final int OPERATION_ALREADY_IN_PROGRESS = 10052;
-
-	// Status codes associated with repositories
-	public static final int INVALID_REPOSITORY_LOCATION = 10100;
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Messages.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Messages.java
deleted file mode 100644
index 55e98c1..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/Messages.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.operations;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 2.0
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.operations.messages"; //$NON-NLS-1$
-
-	public static String InstallOperation_ComputeProfileChangeProgress;
-
-	public static String InstallOperation_InstallJobName;
-	public static String InstallOperation_ResolveJobName;
-
-	public static String ProfileChangeOperation_NoProfileChangeRequest;
-	public static String ProfileChangeOperation_ResolveTaskName;
-
-	public static String ProvisioningJob_GenericErrorStatusMessage;
-	public static String ProvisioningSession_AgentNotFound;
-
-	public static String ProvisioningSession_InstallPlanConfigurationError;
-
-	public static String PlanAnalyzer_IgnoringInstall;
-	public static String PlanAnalyzer_LockedImpliedUpdate0;
-	public static String PlanAnalyzer_PartialInstall;
-	public static String PlanAnalyzer_PartialUninstall;
-	public static String PlanAnalyzer_SideEffectInstall;
-	public static String PlanAnalyzer_SideEffectUninstall;
-	public static String PlannerResolutionJob_NullProvisioningPlan;
-
-	public static String PlanAnalyzer_IgnoringImpliedDowngrade;
-	public static String PlanAnalyzer_ImpliedUpdate;
-	public static String PlanAnalyzer_Items;
-	public static String PlanAnalyzer_NothingToDo;
-
-	public static String PlanAnalyzer_NoUpdates;
-	public static String PlanAnalyzer_AlreadyInstalled;
-	public static String PlanAnalyzer_AnotherOperationInProgress;
-	public static String PlanAnalyzer_RequestAltered;
-	public static String PlanAnalyzer_UnexpectedError;
-
-	public static String RepositoryTracker_DuplicateLocation;
-	public static String RepositoryTracker_InvalidLocation;
-
-	public static String ResolutionResult_SummaryStatus;
-
-	public static String SizingPhaseSet_PhaseSetName;
-
-	public static String UninstallOperation_ProvisioningJobName;
-	public static String UninstallOperation_ResolveJobName;
-
-	public static String UpdateOperation_ProfileChangeRequestProgress;
-	public static String UpdateOperation_ResolveJobName;
-	public static String UpdateOperation_UpdateJobName;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlanAnalyzer.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlanAnalyzer.java
deleted file mode 100644
index 3f0d1f1..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlanAnalyzer.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.operations;
-
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.director.RequestStatus;
-import org.eclipse.equinox.p2.common.TranslationSupport;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class analyzes a profile change request and the resultant provisioning plan,
- * and reports problems in a way that can be communicated to a user.
- * 
- * @since 3.5
- */
-public class PlanAnalyzer {
-
-	public static IStatus getStatus(int statusCode, IInstallableUnit affectedIU) {
-		switch (statusCode) {
-			case IStatusCodes.NOTHING_TO_UPDATE :
-				return new Status(IStatus.INFO, Activator.ID, statusCode, Messages.PlanAnalyzer_NoUpdates, null);
-			case IStatusCodes.PROFILE_CHANGE_ALTERED :
-				return new MultiStatus(Activator.ID, statusCode, Messages.PlanAnalyzer_RequestAltered, null);
-			case IStatusCodes.ALTERED_IMPLIED_UPDATE :
-				return new Status(IStatus.INFO, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_ImpliedUpdate, getIUString(affectedIU)), null);
-			case IStatusCodes.ALTERED_IGNORED_IMPLIED_UPDATE :
-				return new Status(IStatus.WARNING, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_LockedImpliedUpdate0, getIUString(affectedIU)), null);
-			case IStatusCodes.ALTERED_IGNORED_IMPLIED_DOWNGRADE :
-				return new Status(IStatus.WARNING, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_IgnoringImpliedDowngrade, getIUString(affectedIU)), null);
-			case IStatusCodes.ALTERED_IGNORED_ALREADY_INSTALLED :
-				return new Status(IStatus.WARNING, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_AlreadyInstalled, getIUString(affectedIU)), null);
-			case IStatusCodes.ALTERED_PARTIAL_INSTALL :
-				return new Status(IStatus.INFO, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_PartialInstall, getIUString(affectedIU)), null);
-			case IStatusCodes.ALTERED_PARTIAL_UNINSTALL :
-				return new Status(IStatus.INFO, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_PartialUninstall, getIUString(affectedIU)), null);
-			case IStatusCodes.UNEXPECTED_NOTHING_TO_DO :
-				return new Status(IStatus.ERROR, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_NothingToDo, getIUString(affectedIU)), null);
-			case IStatusCodes.OPERATION_ALREADY_IN_PROGRESS :
-				return new Status(IStatus.ERROR, Activator.ID, statusCode, Messages.PlanAnalyzer_AnotherOperationInProgress, null);
-			default :
-				return new Status(IStatus.ERROR, Activator.ID, statusCode, NLS.bind(Messages.PlanAnalyzer_UnexpectedError, new Integer(statusCode), getIUString(affectedIU)), null);
-		}
-	}
-
-	public static MultiStatus getProfileChangeAlteredStatus() {
-		return (MultiStatus) getStatus(IStatusCodes.PROFILE_CHANGE_ALTERED, null);
-	}
-
-	public static ResolutionResult computeResolutionResult(ProfileChangeRequest originalRequest, IProvisioningPlan plan, MultiStatus originalStatus) {
-		Assert.isNotNull(originalRequest);
-		Assert.isNotNull(plan);
-		Assert.isNotNull(originalStatus);
-
-		ResolutionResult report = new ResolutionResult();
-
-		// If the plan was canceled, no further analysis is needed
-		if (plan.getStatus().getSeverity() == IStatus.CANCEL) {
-			report.addSummaryStatus(plan.getStatus());
-			return report;
-		}
-
-		if (nothingToDo(originalRequest)) {
-			report.addSummaryStatus(getStatus(IStatusCodes.UNEXPECTED_NOTHING_TO_DO, null));
-			IStatus[] details = originalStatus.getChildren();
-			for (int i = 0; i < details.length; i++)
-				report.addSummaryStatus(details[i]);
-			return report;
-		}
-
-		// If there was already some status supplied before resolution, this should get included
-		// with the report.  For example, this might contain information about the profile request
-		// being altered before resolution began.
-		if (originalStatus != null && originalStatus.getChildren().length > 0) {
-			report.addSummaryStatus(originalStatus);
-		}
-
-		// If the overall plan had a non-OK status, capture that in the report.
-		if (!plan.getStatus().isOK())
-			report.addSummaryStatus(plan.getStatus());
-
-		// Now we compare what was requested with what is going to happen.
-		// In the long run, when a RequestStatus can provide actual explanation/status
-		// about failures, we might want to add this information to the overall status.
-		// As it stands now, if the provisioning plan is in error, that info is more detailed
-		// than the request status.  So we will only add request status info to the overall
-		// status when the overall status is not in error.
-		if (plan.getStatus().getSeverity() != IStatus.ERROR) {
-			IInstallableUnit[] iusAdded = originalRequest.getAddedInstallableUnits();
-			for (int i = 0; i < iusAdded.length; i++) {
-				RequestStatus rs = (RequestStatus) plan.getRequestStatus(iusAdded[i]);
-				if (rs.getSeverity() == IStatus.ERROR) {
-					// This is a serious error so it must also appear in the overall status
-					IStatus fail = new Status(IStatus.ERROR, Activator.ID, IStatusCodes.ALTERED_IGNORED_INSTALL_REQUEST, NLS.bind(Messages.PlanAnalyzer_IgnoringInstall, getIUString(iusAdded[i])), null);
-					report.addStatus(iusAdded[i], fail);
-					report.addSummaryStatus(fail);
-				}
-			}
-			IInstallableUnit[] iusRemoved = originalRequest.getRemovedInstallableUnits();
-			for (int i = 0; i < iusRemoved.length; i++) {
-				RequestStatus rs = (RequestStatus) plan.getRequestStatus(iusRemoved[i]);
-				if (rs.getSeverity() == IStatus.ERROR) {
-					// TODO see https://bugs.eclipse.org/bugs/show_bug.cgi?id=255984
-					// We are making assumptions here about why the planner chose to ignore an uninstall.
-					// Assume it could not be uninstalled because of some other dependency, yet the planner did not view
-					// this as an error.  So we inform the user that we can only uninstall parts of it.  The root property will be
-					// removed per the original change request.
-					IStatus fail = new Status(IStatus.INFO, Activator.ID, IStatusCodes.ALTERED_PARTIAL_UNINSTALL, NLS.bind(Messages.PlanAnalyzer_PartialUninstall, getIUString(iusRemoved[i])), null);
-					report.addStatus(iusRemoved[i], fail);
-					report.addSummaryStatus(fail);
-				}
-			}
-		}
-
-		// Now process the side effects
-		Map sideEffects = plan.getSideEffectChanges();
-		Iterator iusWithSideEffects = sideEffects.keySet().iterator();
-		while (iusWithSideEffects.hasNext()) {
-			IInstallableUnit iu = (IInstallableUnit) iusWithSideEffects.next();
-			RequestStatus rs = (RequestStatus) sideEffects.get(iu);
-			if (rs.getInitialRequestType() == RequestStatus.ADDED) {
-				report.addStatus(iu, new Status(rs.getSeverity(), Activator.ID, IStatusCodes.ALTERED_SIDE_EFFECT_INSTALL, NLS.bind(Messages.PlanAnalyzer_SideEffectInstall, getIUString(iu)), null));
-			} else {
-				report.addStatus(iu, new Status(rs.getSeverity(), Activator.ID, IStatusCodes.ALTERED_SIDE_EFFECT_REMOVE, NLS.bind(Messages.PlanAnalyzer_SideEffectUninstall, getIUString(iu)), null));
-			}
-		}
-
-		return report;
-
-	}
-
-	private static String getIUString(IInstallableUnit iu) {
-		if (iu == null)
-			return Messages.PlanAnalyzer_Items;
-		// Get the iu name in the default locale
-		String name = new TranslationSupport().getIUProperty(iu, IInstallableUnit.PROP_NAME);
-		if (name != null)
-			return name;
-		return iu.getId();
-	}
-
-	private static boolean nothingToDo(ProfileChangeRequest request) {
-		return request.getAddedInstallableUnits().length == 0 && request.getRemovedInstallableUnits().length == 0 && request.getInstallableUnitProfilePropertiesToAdd().size() == 0 && request.getInstallableUnitProfilePropertiesToRemove().size() == 0;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlannerResolutionJob.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlannerResolutionJob.java
deleted file mode 100644
index 14ed2c3..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/PlannerResolutionJob.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.p2.operations.*;
-
-/**
- * Class representing a provisioning profile plan
- *
- * @since 2.0
- */
-public class PlannerResolutionJob extends ProvisioningJob implements IProfileChangeJob {
-
-	ProfileChangeRequest request;
-	String profileId;
-	IProvisioningPlan plan;
-	MultiStatus additionalStatus;
-	ResolutionResult report;
-	ProvisioningContext provisioningContext;
-
-	public static MultiStatus getProfileChangeRequestAlteredStatus() {
-		return PlanAnalyzer.getProfileChangeAlteredStatus();
-	}
-
-	public PlannerResolutionJob(String label, ProvisioningSession session, String profileId, ProfileChangeRequest request, ProvisioningContext provisioningContext, MultiStatus additionalStatus) {
-		super(label, session);
-		this.request = request;
-		this.profileId = profileId;
-		if (provisioningContext == null)
-			this.provisioningContext = new ProvisioningContext();
-		else
-			this.provisioningContext = provisioningContext;
-		Assert.isNotNull(additionalStatus);
-		this.additionalStatus = additionalStatus;
-	}
-
-	public IProvisioningPlan getProvisioningPlan() {
-		return plan;
-	}
-
-	public ProfileChangeRequest getProfileChangeRequest() {
-		return request;
-	}
-
-	public ProvisioningContext getProvisioningContext() {
-		return provisioningContext;
-	}
-
-	public void setProvisioningContext(ProvisioningContext context) {
-		this.provisioningContext = context;
-	}
-
-	public IStatus runModal(IProgressMonitor monitor) {
-		plan = getSession().getPlanner().getProvisioningPlan(request, provisioningContext, monitor);
-		if (plan == null) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.PlannerResolutionJob_NullProvisioningPlan);
-		}
-		return plan.getStatus();
-
-	}
-
-	public ResolutionResult getResolutionResult() {
-		if (report == null) {
-			report = PlanAnalyzer.computeResolutionResult(request, plan, additionalStatus);
-		}
-		return report;
-	}
-
-	public String getProfileId() {
-		return profileId;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/ResolutionResult.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/ResolutionResult.java
deleted file mode 100644
index 16e1435..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/ResolutionResult.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.operations;
-
-import java.util.HashMap;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.common.TranslationSupport;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * ResolutionResult describes problems in a provisioning plan in a structured
- * way that can be presented to a user.
- * 
- * @since 2.0
- */
-public class ResolutionResult {
-	private static final String NESTING_INDENT = "  "; //$NON-NLS-1$
-
-	private HashMap iuToStatusMap = new HashMap();
-	private MultiStatus summaryStatus;
-
-	public IStatus getSummaryStatus() {
-		if (summaryStatus != null)
-			return summaryStatus;
-		return Status.OK_STATUS;
-	}
-
-	public void addSummaryStatus(IStatus status) {
-		if (summaryStatus == null) {
-			summaryStatus = new MultiStatus(Activator.ID, 0, Messages.ResolutionResult_SummaryStatus, null);
-		}
-		summaryStatus.add(status);
-	}
-
-	public IStatus statusOf(IInstallableUnit iu) {
-		return (IStatus) iuToStatusMap.get(iu);
-	}
-
-	public void addStatus(IInstallableUnit iu, IStatus status) {
-		MultiStatus iuSummaryStatus = (MultiStatus) iuToStatusMap.get(iu);
-		if (iuSummaryStatus == null) {
-			iuSummaryStatus = new MultiStatus(Activator.ID, IStatusCodes.IU_REQUEST_ALTERED, new IStatus[] {status}, getIUString(iu), null);
-		} else
-			iuSummaryStatus.add(status);
-	}
-
-	private String getIUString(IInstallableUnit iu) {
-		if (iu == null)
-			return Messages.PlanAnalyzer_Items;
-		// Get the iu name in the default locale
-		String name = new TranslationSupport().getIUProperty(iu, IInstallableUnit.PROP_NAME);
-		if (name != null)
-			return name;
-		return iu.getId();
-	}
-
-	public String getSummaryReport() {
-		if (summaryStatus != null) {
-			StringBuffer buffer = new StringBuffer();
-			appendDetailText(summaryStatus, buffer, -1, false);
-			return buffer.toString();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	// Answers null if there is nothing to say about the ius
-	public String getDetailedReport(IInstallableUnit[] ius) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < ius.length; i++) {
-			MultiStatus iuStatus = (MultiStatus) iuToStatusMap.get(ius[i]);
-			if (iuStatus != null)
-				appendDetailText(iuStatus, buffer, 0, true);
-		}
-		String report = buffer.toString();
-		if (report.length() == 0)
-			return null;
-		return report;
-	}
-
-	void appendDetailText(IStatus status, StringBuffer buffer, int indent, boolean includeTopLevelMessage) {
-		if (includeTopLevelMessage) {
-			for (int i = 0; i < indent; i++)
-				buffer.append(NESTING_INDENT);
-			if (status.getMessage() != null)
-				buffer.append(status.getMessage());
-		}
-		Throwable t = status.getException();
-		if (t != null) {
-			// A provision (or core) exception occurred.  Get its status message or if none, its top level message.
-			// Indent by one more level (note the <=)
-			buffer.append('\n');
-			for (int i = 0; i <= indent; i++)
-				buffer.append(NESTING_INDENT);
-			if (t instanceof CoreException) {
-				IStatus exceptionStatus = ((CoreException) t).getStatus();
-				if (exceptionStatus != null && exceptionStatus.getMessage() != null)
-					buffer.append(exceptionStatus.getMessage());
-				else {
-					String details = t.getLocalizedMessage();
-					if (details != null)
-						buffer.append(details);
-				}
-			} else {
-				String details = t.getLocalizedMessage();
-				if (details != null)
-					buffer.append(details);
-			}
-		}
-		// Now print the children status info (if there are children)
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if (buffer.length() > 0)
-				buffer.append('\n');
-			appendDetailText(children[i], buffer, indent + 1, true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/SizingPhaseSet.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/SizingPhaseSet.java
deleted file mode 100644
index 1b43369..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/SizingPhaseSet.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.equinox.internal.p2.operations;
-
-import org.eclipse.equinox.internal.p2.engine.Phase;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.p2.engine.phases.Sizing;
-
-
-public class SizingPhaseSet extends PhaseSet {
-
-	private static Sizing sizing;
-
-	public SizingPhaseSet() {
-		super(new Phase[] {sizing = new Sizing(100, Messages.SizingPhaseSet_PhaseSetName)});
-	}
-
-	public Sizing getSizing() {
-		return sizing;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/messages.properties b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/messages.properties
deleted file mode 100644
index 24c99f5..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/internal/p2/operations/messages.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-InstallOperation_ComputeProfileChangeProgress=Checking the install request
-InstallOperation_InstallJobName=Installing Software
-InstallOperation_ResolveJobName=Computing install requirements
-ProfileChangeOperation_NoProfileChangeRequest=Could not interpret the installation request.
-ProfileChangeOperation_ResolveTaskName=Analyzing the install operation
-ProvisioningJob_GenericErrorStatusMessage=Error encountered while running {0}
-ProvisioningSession_AgentNotFound=No provisioning agent could be found
-ProvisioningSession_InstallPlanConfigurationError=A problem was encountered while preparing the system for the installation
-PlanAnalyzer_IgnoringInstall="{0}" is not applicable to the current configuration and will not be installed.
-PlanAnalyzer_LockedImpliedUpdate0={0} will be ignored because it is already installed, and updates are not permitted.
-PlanAnalyzer_PartialInstall="{0}" is already present because other installed software requires it.  It will be added to the installed software list.
-PlanAnalyzer_PartialUninstall= "{0}" cannot be fully uninstalled because other installed software requires it.  The parts that are not required will be uninstalled.
-PlanAnalyzer_SideEffectInstall="{0}" will also be installed in order to complete this operation.
-PlanAnalyzer_SideEffectUninstall="{0}" must be uninstalled in order to complete this operation.
-PlannerResolutionJob_NullProvisioningPlan=Could not obtain provisioning plan.  No details were available.
-PlanAnalyzer_IgnoringImpliedDowngrade="{0}" will be ignored because a newer version is already installed. 
-PlanAnalyzer_ImpliedUpdate="{0}" is already installed, so an update will be performed instead.
-PlanAnalyzer_Items=Items
-PlanAnalyzer_NothingToDo=Cannot complete the request.  See the error log for details.
-PlanAnalyzer_NoUpdates=No updates were found.
-PlanAnalyzer_AlreadyInstalled="{0}" will be ignored because it is already installed.
-PlanAnalyzer_AnotherOperationInProgress=Cannot continue the operation.  There is another install operation in progress.
-PlanAnalyzer_RequestAltered=Your original request has been modified.
-PlanAnalyzer_UnexpectedError=Unexpected error code {0} encountered for {1}.
-RepositoryTracker_DuplicateLocation=Duplicate location
-RepositoryTracker_InvalidLocation=The location "{0}" is not a valid software site location.
-ResolutionResult_SummaryStatus=Operation details
-SizingPhaseSet_PhaseSetName=Compute sizes
-
-UninstallOperation_ProvisioningJobName=Uninstalling Software
-UninstallOperation_ResolveJobName=Calculating Uninstall Validity
-UpdateOperation_ProfileChangeRequestProgress=Computing update request
-UpdateOperation_ResolveJobName=Computing Update Requirements
-UpdateOperation_UpdateJobName=Updating Software
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/IProfileChangeJob.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/IProfileChangeJob.java
deleted file mode 100644
index c415ed5..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/IProfileChangeJob.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-/**
- * Interface for a provisioning job that operates on a
- * profile.
- * 
- * @since 2.0
- */
-public interface IProfileChangeJob {
-
-	/**
-	 * Return the string id of the profile involved in this job.
-	 * 
-	 * @return the id of the profile
-	 */
-	public String getProfileId();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/InstallOperation.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/InstallOperation.java
deleted file mode 100644
index 54cd322..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/InstallOperation.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.director.PlannerHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.PatchQuery;
-
-/**
- * An InstallOperation describes an operation that installs IInstallableUnits into
- * a profile.
- * 
- * The following snippet shows how one might use an InstallOperation to perform a synchronous resolution and
- * then kick off an install in the background:
- * 
- * <pre>
- * InstallOperation op = new InstallOperation(session, new IInstallableUnit [] { myIU });
- * IStatus result = op.resolveModal(monitor);
- * if (result.isOK()) {
- *   op.getProvisioningJob(monitor).schedule();
- * }
- * </pre>
- * 
- * @since 2.0
- * @see ProfileChangeOperation
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class InstallOperation extends ProfileChangeOperation {
-
-	private IInstallableUnit[] toInstall;
-
-	/**
-	 * Create an install operation on the specified provisioning session that installs
-	 * the supplied IInstallableUnits.  Unless otherwise specified, the operation will
-	 * be associated with the currently running profile.
-	 * 
-	 * @param session the session to use for obtaining provisioning services
-	 * @param toInstall the IInstallableUnits to be installed into the profile.
-	 */
-	public InstallOperation(ProvisioningSession session, IInstallableUnit[] toInstall) {
-		super(session);
-		this.toInstall = toInstall;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#computeProfileChangeRequest(org.eclipse.core.runtime.MultiStatus, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor) {
-		request = ProfileChangeRequest.createByProfileId(profileId);
-		IProfile profile;
-		profile = session.getProfileRegistry().getProfile(profileId);
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.InstallOperation_ComputeProfileChangeProgress, toInstall.length);
-		for (int i = 0; i < toInstall.length; i++) {
-			// If the user is installing a patch, we mark it optional.  This allows
-			// the patched IU to be updated later by removing the patch.
-			if (PatchQuery.isPatch(toInstall[i]))
-				request.setInstallableUnitInclusionRules(toInstall[i], PlannerHelper.createOptionalInclusionRule(toInstall[i]));
-
-			// Check to see if it is already installed.  This may alter the request.
-			Collector alreadyInstalled = profile.query(new InstallableUnitQuery(toInstall[i].getId()), null);
-			// TODO ideally we should only do this check if the iu is a singleton, but in practice many iu's that should
-			// be singletons are not, so we don't check this (yet)
-			// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=230878
-			if (alreadyInstalled.size() > 0) { //  && installedIU.isSingleton()
-				IInstallableUnit installedIU = (IInstallableUnit) alreadyInstalled.iterator().next();
-				int compareTo = toInstall[i].getVersion().compareTo(installedIU.getVersion());
-				// If the iu is a newer version of something already installed, consider this an
-				// update request
-				if (compareTo > 0) {
-					boolean lockedForUpdate = false;
-					String value = profile.getInstallableUnitProperty(installedIU, IProfile.PROP_PROFILE_LOCKED_IU);
-					if (value != null)
-						lockedForUpdate = (Integer.parseInt(value) & IProfile.LOCK_UPDATE) == IProfile.LOCK_UPDATE;
-					if (lockedForUpdate) {
-						// Add a status telling the user that this implies an update, but the
-						// iu should not be updated
-						status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_IGNORED_IMPLIED_UPDATE, toInstall[i]));
-					} else {
-						request.addInstallableUnits(new IInstallableUnit[] {toInstall[i]});
-						request.removeInstallableUnits(new IInstallableUnit[] {installedIU});
-						// Add a status informing the user that the update has been inferred
-						status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_IMPLIED_UPDATE, toInstall[i]));
-						// Mark it as a root if it hasn't been already
-						if (!UserVisibleRootQuery.isUserVisible(installedIU, profile))
-							request.setInstallableUnitProfileProperty(toInstall[i], IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-					}
-				} else if (compareTo < 0) {
-					// An implied downgrade.  We will not put this in the plan, add a status informing the user
-					status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_IGNORED_IMPLIED_DOWNGRADE, toInstall[i]));
-				} else {
-					//					if (rootMarkerKey != null) {
-					if (UserVisibleRootQuery.isUserVisible(installedIU, profile))
-						// It is already a root, nothing to do. We tell the user it was already installed
-						status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_IGNORED_ALREADY_INSTALLED, toInstall[i]));
-					else {
-						// It was already installed but not as a root.  Tell the user that parts of it are already installed and mark
-						// it as a root. 
-						status.merge(PlanAnalyzer.getStatus(IStatusCodes.ALTERED_PARTIAL_INSTALL, toInstall[i]));
-						request.setInstallableUnitProfileProperty(toInstall[i], IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-					}
-					//					}
-				}
-			} else {
-				// Install it and mark as a root
-				request.addInstallableUnits(new IInstallableUnit[] {toInstall[i]});
-				//				if (rootMarkerKey != null)
-				request.setInstallableUnitProfileProperty(toInstall[i], IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-			}
-			sub.worked(1);
-		}
-		sub.done();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getResolveJobName()
-	 */
-	protected String getResolveJobName() {
-		return Messages.InstallOperation_ResolveJobName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getProvisioningJobName()
-	 */
-	protected String getProvisioningJobName() {
-		return Messages.InstallOperation_InstallJobName;
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileChangeOperation.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileChangeOperation.java
deleted file mode 100644
index 7667e88..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileChangeOperation.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.operations.*;
-import org.eclipse.equinox.internal.p2.operations.Messages;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * ProfileChangeOperation describes a provisioning operation that modifies a profile.
- * The operation must first be resolved, followed by the actual provisioning
- * work being performed.  This two-pass nature of the ProfileChangeOperation allows
- * resolution status to be reported to a client to determine whether the operation
- * should proceed.  Each phase of the operation can be performed synchronously or in
- * the background as a job.  To perform the operation synchronously:
- * 
- *  <pre>
- *     IStatus result = op.resolveModal(monitor);
- *     if (result.isOK())
- *       op.getProvisioningJob(null).runModal(monitor);
- *     else {
- *       // interpret the result
- *     }
- *  </pre>
- *  
- *  To perform the resolution synchronously and the provisioning job in the
- *  background:
- *  
- *  <pre>
- *     IStatus status = op.resolveModal(monitor);
- *     if (status.isOK()) {
- *       ProvisioningJob job = op.getProvisioningJob(monitor);
- *       job.schedule();
- *     } else {
- *       // interpret the result
- *     }
- *  </pre>
- *  
- *  To resolve in the background and perform the job when it is complete:
- * 
- *  <pre>
- *     ProvisioningJob job = op.getResolveJob(monitor);
- *     job.addJobChangeListener(new JobChangeAdapter() {
- *       public void done (JobChangeEvent event) {
- *         if (event.getResult().isOK() {
- *            op.getProvisioningJob(monitor).schedule();
- *         } else {
- *            // interpret the result
- *         }
- *       }
- *     });
- *     job.schedule();
- *     
- *  </pre>
- *  
- * In general, it is expected that clients create a new ProfileChangeOperation if 
- * the resolution result of the current operation is not satisfactory.  However,
- * subclasses may prescribe a different life cycle where appropriate.
- * 
- * When retrieving the resolution and provisioning jobs managed by this operation, 
- * a client may supply a progress monitor to be used by the job.  When the job is
- * run by the platform job manager, both the platform job manager progress indicator 
- * and the monitor supplied by the client will be updated.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- * @since 2.0
- */
-public abstract class ProfileChangeOperation implements IProfileChangeJob {
-
-	ProvisioningSession session;
-	String profileId;
-	ProvisioningContext context;
-	MultiStatus noChangeRequest;
-	PlannerResolutionJob job;
-	ProfileChangeRequest request;
-
-	/**
-	 * Create an operation using the provided provisioning session.
-	 * Unless otherwise specified by the client, the operation is
-	 * performed on the currently running profile.
-	 * 
-	 * @param session the provisioning session providing the services
-	 */
-	protected ProfileChangeOperation(ProvisioningSession session) {
-		this.session = session;
-		this.profileId = IProfileRegistry.SELF;
-	}
-
-	/**
-	 * Resolve the operation in the current thread using the specified progress
-	 * monitor.  Return a status describing the result of the resolution.
-	 * 
-	 * @param monitor the progress monitor to use
-	 * @return a status describing the resolution results
-	 */
-	public final IStatus resolveModal(IProgressMonitor monitor) {
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		prepareToResolve();
-		makeResolveJob(monitor);
-		if (job != null) {
-			job.runModal(monitor);
-		}
-		return getResolutionResult();
-
-	}
-
-	/**
-	 * Set the id of the profile that will be modified by this operation.
-	 * @param id the profile id
-	 */
-	public void setProfileId(String id) {
-		this.profileId = id;
-	}
-
-	/**
-	 * Return a job that can be used to resolve this operation in the background.
-	 * 
-	 * @param monitor a progress monitor that should be used to report the job's progress in addition
-	 * to the standard job progress reporting.  Can be <code>null</code>.  If provided, this monitor 
-	 * will be called from a background thread.
-	 * 
-	 * @return a job that can be scheduled to perform the provisioning operation.
-	 */
-	public final ProvisioningJob getResolveJob(IProgressMonitor monitor) {
-		SubMonitor mon = SubMonitor.convert(monitor, Messages.ProfileChangeOperation_ResolveTaskName, 1000);
-		prepareToResolve();
-		makeResolveJob(mon.newChild(100));
-		job.setAdditionalProgressMonitor(mon.newChild(900));
-		return job;
-	}
-
-	/**
-	 * Perform any processing that must occur just before resolving this operation.
-	 */
-	protected void prepareToResolve() {
-		// default is to do nothing
-	}
-
-	private void makeResolveJob(IProgressMonitor monitor) {
-		noChangeRequest = PlanAnalyzer.getProfileChangeAlteredStatus();
-		if (session.hasScheduledOperationsFor(profileId)) {
-			noChangeRequest.add(PlanAnalyzer.getStatus(IStatusCodes.OPERATION_ALREADY_IN_PROGRESS, null));
-		} else {
-			computeProfileChangeRequest(noChangeRequest, monitor);
-		}
-		if (request == null) {
-			if (noChangeRequest.getChildren().length == 0)
-				// No explanation for failure was provided.  It shouldn't happen, but...
-				noChangeRequest = new MultiStatus(Activator.ID, IStatusCodes.UNEXPECTED_NOTHING_TO_DO, new IStatus[] {PlanAnalyzer.getStatus(IStatusCodes.UNEXPECTED_NOTHING_TO_DO, null)}, Messages.ProfileChangeOperation_NoProfileChangeRequest, null);
-			return;
-		}
-		createPlannerResolutionJob();
-	}
-
-	/**
-	 * Compute the profile change request for this operation, adding any relevant intermediate status
-	 * to the supplied status.  
-	 * 
-	 * @param status a multi-status to be used to add relevant status.  If a profile change request cannot
-	 * be computed for any reason, a status should be added to explain the problem.
-	 * 
-	 * @param monitor the progress monitor to use for computing the profile change request
-	 */
-	protected abstract void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor);
-
-	private void createPlannerResolutionJob() {
-		job = new PlannerResolutionJob(getResolveJobName(), session, profileId, request, context, noChangeRequest);
-	}
-
-	/**
-	 * Return an appropriate name for the resolution job.
-	 * 
-	 * @return the resolution job name.
-	 */
-	protected abstract String getResolveJobName();
-
-	/**
-	 * Return an appropriate name for the provisioning job.
-	 * 
-	 * @return the provisioning job name.
-	 */
-	protected abstract String getProvisioningJobName();
-
-	/**
-	 * Return a status indicating the result of resolving this
-	 * operation.  A <code>null</code> return indicates that
-	 * resolving has not occurred yet.
-	 * 
-	 * @return the status of the resolution, or <code>null</code>
-	 * if resolution has not yet occurred.
-	 */
-	public IStatus getResolutionResult() {
-		if (job != null && job.getResolutionResult() != null)
-			return job.getResolutionResult().getSummaryStatus();
-		if (request == null && noChangeRequest != null) {
-			// If there is only one child message, use the specific message
-			if (noChangeRequest.getChildren().length == 1)
-				return noChangeRequest.getChildren()[0];
-			return noChangeRequest;
-		}
-		return null;
-	}
-
-	/**
-	 * Return a string that can be used to describe the results of the resolution
-	 * to a client.
-	 * 
-	 * @return a string describing the resolution details, or <code>null</code> if the
-	 * operation has not been resolved.
-	 */
-	public String getResolutionDetails() {
-		if (job != null && job.getResolutionResult() != null)
-			return job.getResolutionResult().getSummaryReport();
-		return null;
-
-	}
-
-	/**
-	 * Return a string that describes the specific resolution results
-	 * related to the supplied {@link IInstallableUnit}.
-	 * 
-	 * @param iu the IInstallableUnit for which resolution details are requested
-	 * 
-	 * @return a string describing the results for the installable unit, or <code>null</code> if
-	 * there are no specific results available for the installable unit.
-	 */
-	public String getResolutionDetails(IInstallableUnit iu) {
-		if (job != null && job.getResolutionResult() != null)
-			return job.getResolutionResult().getDetailedReport(new IInstallableUnit[] {iu});
-		return null;
-
-	}
-
-	/**
-	 * Return the provisioning plan obtained by resolving the receiver.
-	 * 
-	 * @return the provisioning plan.  This may be <code>null</code> if the operation
-	 * has not been resolved, or if a plan could not be obtained when attempting to
-	 * resolve.  If the plan is null and the operation has been resolved, then the
-	 * resolution result will explain the problem.
-	 * 
-	 * @see #hasResolved()
-	 * @see #getResolutionResult()
-	 */
-	public IProvisioningPlan getProvisioningPlan() {
-		if (job != null)
-			return job.getProvisioningPlan();
-		return null;
-	}
-
-	/**
-	 * Return the profile change request that describes the receiver.
-	 * 
-	 * @return the profile change request.  This may be <code>null</code> if the operation
-	 * has not been resolved, or if a profile change request could not be assembled given
-	 * the operation's state.  If the profile change request is null and the operation has
-	 * been resolved, the the resolution result will explain the problem.
-	 * 
-	 * @see #hasResolved()
-	 * @see #getResolutionResult()
-	 */
-	public ProfileChangeRequest getProfileChangeRequest() {
-		if (job != null)
-			return job.getProfileChangeRequest();
-		return null;
-	}
-
-	/**
-	 * Return a provisioning job that can be used to perform the resolved operation.
-	 * 
-	 * @param monitor a progress monitor that should be used to report the job's progress in addition
-	 * to the standard job progress reporting.  Can be <code>null</code>.  If provided, this monitor 
-	 * will be called from a background thread.
-	 * 
-	 * @return a job that can be used to perform the provisioning operation.  This may be <code>null</code> 
-	 * if the operation has not been resolved, or if a plan could not be obtained when attempting to
-	 * resolve.  If the job is null and the operation has been resolved, then the resolution result 
-	 * will explain the problem.
-	 * 
-	 * @see #hasResolved()
-	 * @see #getResolutionResult()
-	 */
-	public ProvisioningJob getProvisioningJob(IProgressMonitor monitor) {
-		IStatus status = getResolutionResult();
-		if (status.getSeverity() != IStatus.CANCEL && status.getSeverity() != IStatus.ERROR) {
-			if (job.getProvisioningPlan() != null) {
-				ProfileModificationJob pJob = new ProfileModificationJob(getProvisioningJobName(), session, profileId, job.getProvisioningPlan(), context);
-				pJob.setAdditionalProgressMonitor(monitor);
-				return pJob;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Set the provisioning context that should be used to resolve and perform the provisioning for
-	 * the operation.  This must be set before an attempt is made to resolve the operation
-	 * for it to have any effect.
-	 * 
-	 * @param context the provisioning context.
-	 */
-	public void setProvisioningContext(ProvisioningContext context) {
-		this.context = context;
-		if (job != null)
-			job.setProvisioningContext(context);
-	}
-
-	/**
-	 * Get the provisioning context that will be used to resolve and perform the provisioning for
-	 * the operation.
-	 * 
-	 * @return the provisioning context
-	 */
-	public ProvisioningContext getProvisioningContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.IProfileChangeJob#getProfileId()
-	 */
-	public String getProfileId() {
-		return profileId;
-	}
-
-	/**
-	 * Return a boolean indicating whether the operation has been resolved.  This method
-	 * should be used to determine whether a client can expect to retrieve a profile
-	 * change request, provisioning plan, or resolution result.  It is possible that this
-	 * method return <code>false</code> while resolution is taking place if it is performed
-	 * in the background.
-	 * 
-	 * @return <code>true</code> if the operation has been resolved, <code>false</code>
-	 * if it has not resolved.
-	 */
-	public boolean hasResolved() {
-		return getResolutionResult() != null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileModificationJob.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileModificationJob.java
deleted file mode 100644
index 24a3bf8..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProfileModificationJob.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.p2.engine.*;
-
-/**
- * A job that modifies a profile according to a specified provisioning plan.  
- * 
- * @since 2.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ProfileModificationJob extends ProvisioningJob implements IProfileChangeJob {
-
-	IProvisioningPlan plan;
-	String profileId;
-	PhaseSet phaseSet = new DefaultPhaseSet();
-	ProvisioningContext provisioningContext;
-	int restartPolicy = ProvisioningJob.RESTART_OR_APPLY;
-	private String taskName;
-
-	/**
-	 * Create a job that will update a profile according to the specified provisioning plan.
-	 * 
-	 * @param name the name of the job
-	 * @param session the provisioning session to use to obtain provisioning services
-	 * @param profileId the id of the profile to be altered
-	 * @param plan the provisioning plan describing how the profile is to be altered
-	 * @param context the provisioning context describing how the operation is to be performed
-	 */
-	public ProfileModificationJob(String name, ProvisioningSession session, String profileId, IProvisioningPlan plan, ProvisioningContext context) {
-		super(name, session);
-		this.plan = plan;
-		this.profileId = profileId;
-		this.provisioningContext = context;
-	}
-
-	/**
-	 * Set the phase set to be used when running the provisioning plan.  This method need only
-	 * be used when the default phase set is not sufficient.  For example, clients could 
-	 * use this method to perform a sizing or to download artifacts without provisioning them.
-	 * 
-	 * @param phaseSet the provisioning phases to be run during provisioning.
-	 */
-	public void setPhaseSet(PhaseSet phaseSet) {
-		this.phaseSet = phaseSet;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.IProfileChangeJob#getProfileId()
-	 */
-	public String getProfileId() {
-		return profileId;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProvisioningJob#runModal(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus runModal(IProgressMonitor monitor) {
-		String task = taskName;
-		IStatus status = Status.OK_STATUS;
-		if (task == null)
-			task = getName();
-		monitor.beginTask(task, 1000);
-		try {
-			status = getSession().performProvisioningPlan(plan, phaseSet, provisioningContext, new SubProgressMonitor(monitor, 1000));
-		} finally {
-			monitor.done();
-		}
-		return status;
-	}
-
-	/**
-	 * Sets the top level task name for progress when running this operation.
-	 * 
-	 * @param label the label to be used for the task name
-	 */
-	public void setTaskName(String label) {
-		this.taskName = label;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProvisioningJob#getRestartPolicy()
-	 */
-	public int getRestartPolicy() {
-		return restartPolicy;
-	}
-
-	/**
-	 * Set the restart policy that describes whether restart is needed after
-	 * performing this job.
-	 * 
-	 * @param policy an integer describing the restart policy
-	 * @see ProvisioningJob#RESTART_NONE
-	 * @see ProvisioningJob#RESTART_ONLY
-	 * @see ProvisioningJob#RESTART_OR_APPLY
-	 */
-	public void setRestartPolicy(int policy) {
-		restartPolicy = policy;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningJob.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningJob.java
deleted file mode 100644
index 79bc539..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningJob.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.operations.Activator;
-import org.eclipse.equinox.internal.p2.operations.Messages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Abstract class representing provisioning jobs.  Provisioning jobs
- * can be run in the background by scheduling them, or they can
- * be run by a client in a modal context.  An additional progress monitor
- * can be set into the job for progress reporting.
- * 
- * @since 2.0
- */
-public abstract class ProvisioningJob extends Job {
-
-	/**
-	 * Class for multiplexing progress across multiple progress monitors.
-	 */
-	private static class DoubleProgressMonitor extends ProgressMonitorWrapper {
-
-		IProgressMonitor additionalMonitor;
-
-		protected DoubleProgressMonitor(IProgressMonitor monitor1, IProgressMonitor monitor2) {
-			super(monitor1);
-			additionalMonitor = monitor2;
-		}
-
-		public void beginTask(String name, int totalWork) {
-			super.beginTask(name, totalWork);
-			additionalMonitor.beginTask(name, totalWork);
-		}
-
-		public void clearBlocked() {
-			super.clearBlocked();
-			if (additionalMonitor instanceof IProgressMonitorWithBlocking)
-				((IProgressMonitorWithBlocking) additionalMonitor).clearBlocked();
-		}
-
-		public void done() {
-			super.done();
-			additionalMonitor.done();
-		}
-
-		public void internalWorked(double work) {
-			super.internalWorked(work);
-			additionalMonitor.internalWorked(work);
-		}
-
-		public boolean isCanceled() {
-			if (super.isCanceled())
-				return true;
-			return additionalMonitor.isCanceled();
-		}
-
-		public void setBlocked(IStatus reason) {
-			super.setBlocked(reason);
-			if (additionalMonitor instanceof IProgressMonitorWithBlocking)
-				((IProgressMonitorWithBlocking) additionalMonitor).setBlocked(reason);
-		}
-
-		public void setCanceled(boolean b) {
-			super.setCanceled(b);
-			additionalMonitor.setCanceled(b);
-		}
-
-		public void setTaskName(String name) {
-			super.setTaskName(name);
-			additionalMonitor.setTaskName(name);
-		}
-
-		public void subTask(String name) {
-			super.subTask(name);
-			additionalMonitor.subTask(name);
-		}
-
-		public void worked(int work) {
-			super.worked(work);
-			additionalMonitor.worked(work);
-		}
-	}
-
-	/**
-	 * Constant which indicates that the job does not require a restart
-	 * upon completion.  This constant is typically used for operations that 
-	 * do not modify the running profile.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int RESTART_NONE = 1;
-
-	/**
-	 * Constant which indicates that the job requires the user to either
-	 * restart or apply the configuration changes in order to pick up the
-	 * changes performed by the job.  This constant is typically used for
-	 * operations that modify the running profile.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int RESTART_OR_APPLY = 2;
-	/**
-	 * Constant which indicates that the job requires the user to restart
-	 * in order to pick up the changes performed by the job.  This constant
-	 * is typically used for operations that modify the running profile but don't 
-	 * handle dynamic changes without restarting the workbench.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int RESTART_ONLY = 3;
-
-	private ProvisioningSession session;
-	private IProgressMonitor additionalMonitor;
-
-	/**
-	 * Create a provisioning job with the given name that uses the
-	 * provided provisioning session for retrieving any services
-	 * needed.
-	 * 
-	 * @param name the name of the job
-	 * @param session the session providing the services
-	 */
-	public ProvisioningJob(String name, ProvisioningSession session) {
-		super(name);
-		this.session = session;
-	}
-
-	/**
-	 * Return the provisioning session that is used by the receiver
-	 * when retrieving necessary provisioning services.
-	 * 
-	 * @return the session
-	 * @see ProvisioningSession
-	 */
-	protected ProvisioningSession getSession() {
-		return session;
-	}
-
-	private IProgressMonitor getCombinedProgressMonitor(IProgressMonitor mon1, IProgressMonitor mon2) {
-		if (mon1 == null)
-			return mon2;
-		if (mon2 == null)
-			return mon1;
-		return new DoubleProgressMonitor(mon1, mon2);
-	}
-
-	public void setAdditionalProgressMonitor(IProgressMonitor monitor) {
-		additionalMonitor = monitor;
-	}
-
-	/**
-	 * Executes this job.  Returns the result of the execution.
-	 * This method is overridden to look for a wrapped progress monitor for
-	 * reporting progress.
-	 * 
-	 * @noreference This method is not intended to be referenced by clients.
-	 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-	 * 
-	 */
-	public final IStatus run(IProgressMonitor monitor) {
-		IProgressMonitor wrappedMonitor = getCombinedProgressMonitor(monitor, additionalMonitor);
-		IStatus status = Status.OK_STATUS;
-		try {
-			status = runModal(wrappedMonitor);
-		} catch (OperationCanceledException e) {
-			status = Status.CANCEL_STATUS;
-		}
-		return status;
-	}
-
-	/**
-	 * Perform the specific work involved in running this job in
-	 * the current thread.  This method can be called directly by
-	 * clients, or in the course of running the job in the
-	 * background.
-	 * 
-	 * @param monitor
-	 *            the progress monitor to use for the operation
-	 *            
-	 * @return a status indicating the result of the operation.
-	 * 
-	 */
-	public abstract IStatus runModal(IProgressMonitor monitor);
-
-	/**
-	 * Return the restart policy that is appropriate for this job.
-	 * 
-	 * @return a constant indicating the restart policy
-	 * 
-	 * @see #RESTART_NONE
-	 * @see #RESTART_ONLY
-	 * @see #RESTART_OR_APPLY
-	 */
-	public int getRestartPolicy() {
-		return RESTART_NONE;
-	}
-
-	/**
-	 * Return an error status that can be used to report the specified exception.
-	 * 
-	 * @param message the message that should be used in the status
-	 * @param e the exception to be reported
-	 * @return a status that can be used to describe the exception
-	 */
-	protected IStatus getErrorStatus(String message, ProvisionException e) {
-		if (message == null)
-			if (e == null)
-				message = NLS.bind(Messages.ProvisioningJob_GenericErrorStatusMessage, getName());
-			else
-				message = e.getLocalizedMessage();
-		return new Status(IStatus.ERROR, Activator.ID, message, e);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningSession.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningSession.java
deleted file mode 100644
index bc26449..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/ProvisioningSession.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.p2.operations.*;
-import org.eclipse.equinox.internal.p2.operations.Messages;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * ProvisioningSession provides the context for a provisioning session, including
- * the provisioning services that should be used.  It also provides utility
- * methods for commonly performed provisioning tasks.
- * 
- * @since 2.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ProvisioningSession {
-	private IProvisioningAgent agent;
-
-	private Set scheduledJobs = Collections.synchronizedSet(new HashSet());
-
-	/**
-	 * A constant indicating that there was nothing to size (there
-	 * was no valid plan that could be used to compute
-	 * size).
-	 */
-	public static final long SIZE_NOTAPPLICABLE = -3L;
-	/**
-	 * Indicates that the size is unavailable (an
-	 * attempt was made to compute size but it failed)
-	 */
-	public static final long SIZE_UNAVAILABLE = -2L;
-	/**
-	 * Indicates that the size is currently unknown
-	 */
-	public static final long SIZE_UNKNOWN = -1L;
-
-	/**
-	 * A status code used to indicate that there were no updates found when
-	 * looking for updates.
-	 */
-	public static final int STATUS_NOTHING_TO_UPDATE = IStatusCodes.NOTHING_TO_UPDATE;
-
-	/**
-	 * A status code used to indicate that a repository location was not valid.
-	 */
-	public static final int STATUS_INVALID_REPOSITORY_LOCATION = IStatusCodes.INVALID_REPOSITORY_LOCATION;
-
-	/**
-	 * Create a provisioning session using the services of the supplied agent.
-	 * @param agent the provisioning agent that supplies services.  Must not be <code>null</code>.
-	 */
-	public ProvisioningSession(IProvisioningAgent agent) {
-		Assert.isNotNull(agent, Messages.ProvisioningSession_AgentNotFound);
-		this.agent = agent;
-	}
-
-	/**
-	 * Return the provisioning agent used to retrieve provisioning services.
-	 * @return the provisioning agent
-	 */
-	public IProvisioningAgent getProvisioningAgent() {
-		return agent;
-	}
-
-	/**
-	 * Return the agent location for this session
-	 * @return the agent location
-	 */
-	public IAgentLocation getAgentLocation() {
-		return (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the artifact repository manager for this session
-	 * @return the repository manager
-	 */
-	public IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the metadata repository manager for this session
-	 * @return the repository manager
-	 */
-	public IMetadataRepositoryManager getMetadataRepositoryManager() {
-		return (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the profile registry for this session
-	 * @return the profile registry
-	 */
-	public IProfileRegistry getProfileRegistry() {
-		return (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the provisioning engine for this session
-	 * @return the provisioning engine
-	 */
-	public IEngine getEngine() {
-		return (IEngine) agent.getService(IEngine.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the provisioning event bus used for dispatching events.
-	 * @return the event bus
-	 */
-	public IProvisioningEventBus getProvisioningEventBus() {
-		return (IProvisioningEventBus) agent.getService(IProvisioningEventBus.SERVICE_NAME);
-	}
-
-	/**
-	 * Return the planner used for this session
-	 * @return the planner
-	 */
-	public IPlanner getPlanner() {
-		return (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
-	}
-
-	/**
-	 * Get sizing information about the specified plan.
-	 * 
-	 * @param plan the provisioning plan
-	 * @param context the provisioning context to be used for the sizing
-	 * @param monitor the progress monitor
-	 * 
-	 * @return a long integer describing the disk size required for the provisioning plan.
-	 * 
-	 * @see #SIZE_UNKNOWN
-	 * @see #SIZE_UNAVAILABLE
-	 * @see #SIZE_NOTAPPLICABLE
-	 */
-	public long getSize(IProvisioningPlan plan, ProvisioningContext context, IProgressMonitor monitor) {
-		// If there is nothing to size, return 0
-		if (plan == null)
-			return SIZE_NOTAPPLICABLE;
-		if (plan.getOperands().length == 0)
-			return 0;
-		long installPlanSize = 0;
-		SubMonitor mon = SubMonitor.convert(monitor, 300);
-		if (plan.getInstallerPlan() != null) {
-			SizingPhaseSet set = new SizingPhaseSet();
-			IStatus status = getEngine().perform(plan.getInstallerPlan(), set, mon.newChild(100));
-			if (status.isOK())
-				installPlanSize = set.getSizing().getDiskSize();
-		} else {
-			mon.worked(100);
-		}
-		SizingPhaseSet set = new SizingPhaseSet();
-		IStatus status = getEngine().perform(plan, set, mon.newChild(200));
-		if (status.isOK())
-			return installPlanSize + set.getSizing().getDiskSize();
-		return SIZE_UNAVAILABLE;
-	}
-
-	/**
-	 * Perform the specified provisioning plan.
-	 * 
-	 * @param plan the provisioning plan to be performed
-	 * @param phaseSet the phase set to be used for the plan
-	 * @param context the provisioning context to be used during provisioning
-	 * @param monitor the progress monitor to use while performing the plan
-	 * @return a status describing the result of performing the plan
-	 */
-	public IStatus performProvisioningPlan(IProvisioningPlan plan, PhaseSet phaseSet, ProvisioningContext context, IProgressMonitor monitor) {
-		PhaseSet set;
-		if (phaseSet == null)
-			set = new DefaultPhaseSet();
-		else
-			set = phaseSet;
-
-		// 300 ticks for download, 100 to install handlers, 100 to install the rest
-		SubMonitor mon = SubMonitor.convert(monitor, 500);
-		int ticksUsed = 0;
-
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=272355
-		// The exact profile instance used in the profile change request and passed to the engine must be used for all
-		// of these operations, otherwise we can get profile out of synch errors.	
-		IProfile profile = plan.getProfile();
-
-		if (plan.getInstallerPlan() != null) {
-			if (set instanceof DefaultPhaseSet) {
-				// If the phase set calls for download and install, then we want to download everything atomically before 
-				// applying the install plan.  This way, we can be sure to install the install handler only if we know 
-				// we will be able to get everything else.
-				List allOperands = new ArrayList();
-				allOperands.addAll(Arrays.asList(plan.getOperands()));
-				allOperands.addAll(Arrays.asList(plan.getInstallerPlan().getOperands()));
-				Operand[] downloadOperands = (Operand[]) allOperands.toArray(new Operand[allOperands.size()]);
-				PhaseSet download = new DownloadPhaseSet();
-				IProvisioningPlan downloadPlan = getEngine().createCustomPlan(profile, downloadOperands, context);
-				IStatus downloadStatus = getEngine().perform(downloadPlan, download, mon.newChild(300));
-				if (!downloadStatus.isOK()) {
-					mon.done();
-					return downloadStatus;
-				}
-				ticksUsed = 300;
-			}
-			// we pre-downloaded if necessary.  Now perform the plan against the original phase set.
-			IStatus installerPlanStatus = getEngine().perform(plan.getInstallerPlan(), set, mon.newChild(100));
-			if (!installerPlanStatus.isOK()) {
-				mon.done();
-				return installerPlanStatus;
-			}
-			ticksUsed += 100;
-			// Apply the configuration
-			Configurator configChanger = (Configurator) ServiceHelper.getService(Activator.getContext(), Configurator.class.getName());
-			try {
-				configChanger.applyConfiguration();
-			} catch (IOException e) {
-				mon.done();
-				return new Status(IStatus.ERROR, Activator.ID, Messages.ProvisioningSession_InstallPlanConfigurationError, e);
-			}
-		}
-		return getEngine().perform(plan, set, mon.newChild(500 - ticksUsed));
-	}
-
-	/**
-	 * Return a boolean indicating whether any other provisioning operations are
-	 * scheduled for the specified profile.
-	 * 
-	 * @param profileId the id of the profile in question
-	 * @return <code>true</code> if there are pending provisioning operations for
-	 * this profile, <code>false</code> if there are not.
-	 * @see #rememberJob(Job)
-	 */
-	public boolean hasScheduledOperationsFor(String profileId) {
-		Job[] jobs = getScheduledJobs();
-		for (int i = 0; i < jobs.length; i++) {
-			if (jobs[i] instanceof IProfileChangeJob) {
-				String id = ((IProfileChangeJob) jobs[i]).getProfileId();
-				if (profileId.equals(id))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	private Job[] getScheduledJobs() {
-		synchronized (scheduledJobs) {
-			return (Job[]) scheduledJobs.toArray(new Job[scheduledJobs.size()]);
-		}
-	}
-
-	/**
-	 * Remember the specified job.  Remembered jobs are
-	 * checked when callers want to know what work is scheduled for
-	 * a particular profile.
-	 * 
-	 * @param job the job to be remembered
-	 * @see #hasScheduledOperationsFor(String)
-	 */
-	public void rememberJob(Job job) {
-		scheduledJobs.add(job);
-		job.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				scheduledJobs.remove(event.getJob());
-			}
-		});
-	}
-
-	/**
-	 * Get the IInstallable units for the specified profile
-	 * 
-	 * @param profileId the profile in question
-	 * @param all <code>true</code> if all IInstallableUnits in the profile should
-	 * be returned, <code>false</code> only those IInstallableUnits marked as (user visible) roots
-	 * should be returned.
-	 * 
-	 * @return an array of IInstallableUnits installed in the profile.
-	 */
-	public IInstallableUnit[] getInstalledIUs(String profileId, boolean all) {
-		IProfile profile = getProfileRegistry().getProfile(profileId);
-		if (profile == null)
-			return new IInstallableUnit[0];
-		IQuery query;
-		if (all)
-			query = InstallableUnitQuery.ANY;
-		else
-			query = new UserVisibleRootQuery();
-		Collector collector = profile.query(query, null);
-		return (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RepositoryTracker.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RepositoryTracker.java
deleted file mode 100644
index 7f14177..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/RepositoryTracker.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.operations;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.operations.*;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * RepositoryTracker defines a service that retrieves repositories, tracks their status, and
- * reports errors.
- * 
- * @since 2.0
- */
-public abstract class RepositoryTracker {
-
-	// What repositories to show
-	private int artifactRepositoryFlags = IRepositoryManager.REPOSITORIES_NON_SYSTEM;
-	private int metadataRepositoryFlags = IRepositoryManager.REPOSITORIES_NON_SYSTEM;
-	/**
-	 * List<URI> of repositories that have already been reported to the user as not found.
-	 */
-	private final List reposNotFound = Collections.synchronizedList(new ArrayList());
-
-	/**
-	 * Return an array of repository locations known for the specified provisioning session.
-	 * 
-	 * @param session the provisioning session providing the provisioning services
-	 * @return an array of repository locations known by this tracker
-	 */
-	public abstract URI[] getKnownRepositories(ProvisioningSession session);
-
-	/**
-	 * Return a status appropriate for reporting an invalid repository location.
-	 * @param locationText the text representation of the location
-	 * @return a status that describes an invalid location
-	 */
-	public IStatus getInvalidLocationStatus(String locationText) {
-		return new Status(IStatus.ERROR, Activator.ID, IStatusCodes.INVALID_REPOSITORY_LOCATION, NLS.bind(Messages.RepositoryTracker_InvalidLocation, locationText), null);
-	}
-
-	/**
-	 * Return a repository location represented by the supplied string. The provided
-	 * string should either be an unencoded string representation of a URI, or a
-	 * local file system path. This method is generally suitable for converting a 
-	 * location string entered by an end user into a suitable URI representation.
-	 * 
-	 * @param locationString a text representation of the location
-	 * @return a repository location URI, or <code>null</code> if the
-	 * text could not be interpreted.
-	 */
-	public URI locationFromString(String locationString) {
-		URI userLocation;
-		try {
-			userLocation = URIUtil.fromString(locationString);
-		} catch (URISyntaxException e) {
-			return null;
-		}
-		// If a path separator char was used, interpret as a local file URI
-		String uriString = URIUtil.toUnencodedString(userLocation);
-		if (uriString.length() > 0 && (uriString.charAt(0) == '/' || uriString.charAt(0) == File.separatorChar))
-			return RepositoryHelper.localRepoURIHelper(userLocation);
-		return userLocation;
-	}
-
-	/**
-	 * Validate the specified repository location.
-	 * 
-	 * @param session the provisioning session providing the repository services
-	 * @param location the location in question
-	 * @param contactRepositories <code>true</code> if the appropriate repository manager(s) should be
-	 * consulted regarding the validity of the location, or <code>false</code> if the repository manager
-	 * should not be consulted.
-	 * @param monitor the progress monitor
-	 * @return a status indicating the current status of the repository
-	 */
-
-	public IStatus validateRepositoryLocation(ProvisioningSession session, URI location, boolean contactRepositories, IProgressMonitor monitor) {
-		// First validate syntax issues
-		IStatus localValidationStatus = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		if (!localValidationStatus.isOK()) {
-			// bad syntax, but it could just be non-absolute.
-			// In this case, use the helper
-			String locationString = URIUtil.toUnencodedString(location);
-			if (locationString.length() > 0 && (locationString.charAt(0) == '/' || locationString.charAt(0) == File.separatorChar)) {
-				location = RepositoryHelper.localRepoURIHelper(location);
-				localValidationStatus = RepositoryHelper.checkRepositoryLocationSyntax(location);
-			}
-		}
-
-		if (!localValidationStatus.isOK())
-			return localValidationStatus;
-
-		// Syntax was ok, now look for duplicates
-		URI[] knownRepositories = getKnownRepositories(session);
-		for (int i = 0; i < knownRepositories.length; i++) {
-			if (URIUtil.sameURI(knownRepositories[i], location)) {
-				localValidationStatus = new Status(IStatus.ERROR, Activator.ID, IStatusCodes.INVALID_REPOSITORY_LOCATION, Messages.RepositoryTracker_DuplicateLocation, null);
-				break;
-			}
-		}
-
-		if (!localValidationStatus.isOK())
-			return localValidationStatus;
-
-		if (contactRepositories)
-			return validateRepositoryLocationWithManager(session, location, monitor);
-
-		return localValidationStatus;
-	}
-
-	/**
-	 * Validate the specified repository location using the appropriate repository manager.
-	 * 
-	 * @param session the provisioning session providing the repository services
-	 * @param location the location in question
-	 * @param monitor the progress monitor
-	 * @return a status indicating the current status of the repository
-	 */
-	protected abstract IStatus validateRepositoryLocationWithManager(ProvisioningSession session, URI location, IProgressMonitor monitor);
-
-	/**
-	 * Add the specified location to the list of "not found" repositories.
-	 * This list is used to ensure that errors are not reported multiple times
-	 * for the same repository.
-	 * 
-	 * The caller is already assumed to have reported any errors if necessary.
-	 * 
-	 * @param location the location of the repository that cannot be found
-	 */
-	public void addNotFound(URI location) {
-		reposNotFound.add(location);
-	}
-
-	/**
-	 * Answer a boolean indicating whether not found status has already been
-	 * reported for the specified location.
-	 * 
-	 * @param location the location in question
-	 * @return <code>true</code> if the repository has already been reported as
-	 * being not found, <code>false</code> if no status has been reported for this
-	 * location.
-	 */
-	public boolean hasNotFoundStatusBeenReported(URI location) {
-		// We don't check for things like case variants or end slash variants
-		// because we know that the repository managers already did this.
-		return reposNotFound.contains(location);
-	}
-
-	/**
-	 * Clear the list of repositories that have already been reported as not found.
-	 */
-	public void clearRepositoriesNotFound() {
-		reposNotFound.clear();
-	}
-
-	/**
-	 * Remove the specified repository from the list of repositories that
-	 * have already been reported as not found.  This method has no effect
-	 * if the repository has never been reported as not found.
-	 * 
-	 * @param location the location in question
-	 */
-	public void clearRepositoryNotFound(URI location) {
-		reposNotFound.remove(location);
-	}
-
-	/**
-	 * Return the repository flags suitable for retrieving known repositories from 
-	 * a repository manager
-	 * 
-	 * @return the repository flags
-	 * 
-	 */
-	public int getArtifactRepositoryFlags() {
-		return artifactRepositoryFlags;
-	}
-
-	/**
-	 * Set the repository flags suitable for retrieving known repositories from 
-	 * a repository manager
-	 * 
-	 * @param flags the repository flags
-	 * 
-	 */
-	public void setArtifactRepositoryFlags(int flags) {
-		artifactRepositoryFlags = flags;
-	}
-
-	/**
-	 * Return the repository flags suitable for retrieving known repositories from 
-	 * a repository manager
-	 * 
-	 * @return the repository flags
-	 * 
-	 */
-	public int getMetadataRepositoryFlags() {
-		return metadataRepositoryFlags;
-	}
-
-	/**
-	 * Set the repository flags suitable for retrieving known repositories from 
-	 * a repository manager
-	 * 
-	 * @param flags the repository flags
-	 * 
-	 */
-
-	public void setMetadataRepositoryFlags(int flags) {
-		metadataRepositoryFlags = flags;
-	}
-
-	/**
-	 * Report a failure to load the specified repository.
-	 * <p>
-	 * This default implementation simply logs the failure. Subclasses may override
-	 * to provide additional error reporting.
-	 * </p>
-	 * @param location the location of the failed repository
-	 * @param exception the failure that occurred
-	 */
-	public void reportLoadFailure(final URI location, ProvisionException exception) {
-		// special handling when the repo location is bad.  We don't want to continually report it
-		int code = exception.getStatus().getCode();
-		if (code == IStatusCodes.INVALID_REPOSITORY_LOCATION || code == ProvisionException.REPOSITORY_INVALID_LOCATION || code == ProvisionException.REPOSITORY_NOT_FOUND) {
-			if (hasNotFoundStatusBeenReported(location))
-				return;
-			addNotFound(location);
-		}
-
-		LogHelper.log(exception.getStatus());
-	}
-
-	/**
-	 * Add a repository at the specified location.
-	 *
-	 * @param location the location of the new repository
-	 * @param nickname the nickname for the repository, or <code>null</code> if there is no nickname
-	 * @param session the session to use for provisioning services
-	 */
-	public abstract void addRepository(URI location, String nickname, ProvisioningSession session);
-
-	/**
-	 * Remove the repositories at the specified locations
-	 *
-	 * @param locations the locations
-	 * @param session the session to use for provisioning services
-	 */
-	public abstract void removeRepositories(URI[] locations, ProvisioningSession session);
-
-	/**
-	 * Refresh the repositories at the specified locations
-	 * @param locations the locations
-	 * @param session the session to use for provisioning services
-	 * @param monitor the progress monitor to use
-	 */
-	public abstract void refreshRepositories(URI[] locations, ProvisioningSession session, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UninstallOperation.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UninstallOperation.java
deleted file mode 100644
index 1de60db..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UninstallOperation.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.equinox.internal.p2.operations.Messages;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An UninstallOperation describes an operation that uninstalls {@link IInstallableUnit}s from
- * a profile.
- * 
- * The following snippet shows how one might use an UninstallOperation to perform a synchronous resolution and
- * then kick off an uninstall in the background:
- * 
- * <pre>
- * UninstallOperation op = new UninstallOperation(session, new IInstallableUnit [] { removeThisIU });
- * IStatus result = op.resolveModal(monitor);
- * if (result.isOK()) {
- *   op.getProvisioningJob(monitor).schedule();
- * }
- * </pre>
- * @noextend This class is not intended to be subclassed by clients.
- * @since 2.0
- */
-public class UninstallOperation extends ProfileChangeOperation {
-
-	private IInstallableUnit[] toUninstall;
-
-	/**
-	 * Create an uninstall operation on the specified provisioning session that uninstalls
-	 * the specified IInstallableUnits.  Unless otherwise specified, the operation will
-	 * be associated with the currently running profile.
-	 * 
-	 * @param session the session to use for obtaining provisioning services
-	 * @param toUninstall the IInstallableUnits to be installed into the profile.
-	 */
-	public UninstallOperation(ProvisioningSession session, IInstallableUnit[] toUninstall) {
-		super(session);
-		this.toUninstall = toUninstall;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#computeProfileChangeRequest(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor) {
-		request = ProfileChangeRequest.createByProfileId(profileId);
-		request.removeInstallableUnits(toUninstall);
-		// See https://bugs.eclipse.org/bugs/show_bug.cgi?id=255984
-		// We ask to remove the the profile root property in addition to removing the IU.  In theory this
-		// should be redundant, but there are cases where the planner decides not to uninstall something because
-		// it is needed by others.  We still want to remove the root in this case.
-		//		if (rootMarkerKey != null)
-		for (int i = 0; i < toUninstall.length; i++)
-			request.removeInstallableUnitProfileProperty(toUninstall[i], IProfile.PROP_PROFILE_ROOT_IU);
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getProvisioningJobName()
-	 */
-	protected String getProvisioningJobName() {
-		return Messages.UninstallOperation_ProvisioningJobName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getResolveJobName()
-	 */
-	protected String getResolveJobName() {
-		return Messages.UninstallOperation_ResolveJobName;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/Update.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/Update.java
deleted file mode 100644
index 8188710..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/Update.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A simple data structure describing a possible update.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- * @since 2.0
- */
-public class Update {
-
-	public IInstallableUnit toUpdate;
-	public IInstallableUnit replacement;
-
-	/**
-	 * Creates a new update description.
-	 * @param toUpdate The installable unit to update
-	 * @param replacement The replacement installable unit
-	 */
-	public Update(IInstallableUnit toUpdate, IInstallableUnit replacement) {
-		this.toUpdate = toUpdate;
-		this.replacement = replacement;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof Update))
-			return false;
-		if (toUpdate == null)
-			return false;
-		if (replacement == null)
-			return false;
-		Update other = (Update) obj;
-		return toUpdate.equals(other.toUpdate) && replacement.equals(other.replacement);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((toUpdate == null) ? 0 : toUpdate.hashCode());
-		result = prime * result + ((replacement == null) ? 0 : replacement.hashCode());
-		return result;
-	}
-
-	/*(non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "Update " + toUpdate.toString() + " ==> " + replacement.toString(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UpdateOperation.java b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UpdateOperation.java
deleted file mode 100644
index 873daed..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/UpdateOperation.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.operations;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.operations.*;
-import org.eclipse.equinox.internal.provisional.p2.director.PlannerHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.PatchQuery;
-
-/**
- * An UpdateOperation describes an operation that updates {@link IInstallableUnit}s in
- * a profile.
- * 
- * The following snippet shows how one might use an UpdateOperation to check for updates
- * to the profile and then install them in the background.
- * 
- * <pre>
- * UpdateOperation op = new UpdateOperation(session);
- * IStatus result = op.resolveModal(monitor);
- * if (result.isOK()) {
- *   op.getProvisioningJob(monitor).schedule();
- * }
- * </pre>
- * 
- * The life cycle of an UpdateOperation is different than that of the other
- * operations.  Since assembling the list of possible updates may be costly,
- * clients should not have to create a new update operation if the desired updates
- * to be applied need to change.  In this case, the client can set a new set of
- * chosen updates on the update operation and resolve again.
- * 
- * <pre>
- * UpdateOperation op = new UpdateOperation(session);
- * IStatus result = op.resolveModal(monitor);
- * if (result.isOK()) {
- *   op.getProvisioningJob(monitor).schedule();
- * } else if (result.getSeverity() == IStatus.ERROR) {
- *   Update [] chosenUpdates = letUserPickFrom(op.getPossibleUpdates());
- *   op.setSelectedUpdates(chosenUpdates);
- *   IStatus result = op.resolveModal(monitor);
- * }
- * </pre>
- * 
- * @noextend This class is not intended to be subclassed by clients.
- * @since 2.0
- */
-public class UpdateOperation extends ProfileChangeOperation {
-
-	private IInstallableUnit[] iusToUpdate;
-	private HashMap possibleUpdatesByIU = new HashMap();
-	private List defaultUpdates;
-
-	/**
-	 * Create an update operation on the specified provisioning session that updates
-	 * the specified IInstallableUnits.  Unless otherwise specified, the operation will
-	 * be associated with the currently running profile.
-	 * 
-	 * @param session the session to use for obtaining provisioning services
-	 * @param toBeUpdated the IInstallableUnits to be updated.
-	 */
-	public UpdateOperation(ProvisioningSession session, IInstallableUnit[] toBeUpdated) {
-		super(session);
-		this.iusToUpdate = toBeUpdated;
-	}
-
-	/**
-	 * Create an update operation that will update all of the user-visible installable
-	 * units in the profile (the profile roots).
-	 * 
-	 * @param session the session providing the provisioning services
-	 */
-	public UpdateOperation(ProvisioningSession session) {
-		this(session, null);
-	}
-
-	/**
-	 * Set the updates that should be selected from the set of available updates.
-	 * If the selected updates are not specified, then the latest available update
-	 * for each IInstallableUnit with updates will be chosen.
-	 * 
-	 * @param defaultUpdates the updates that should be chosen from all of the available
-	 * updates. 
-	 */
-	public void setSelectedUpdates(Update[] defaultUpdates) {
-		this.defaultUpdates = Arrays.asList(defaultUpdates);
-	}
-
-	/**
-	 * Get the updates that have been selected from the set of available updates.
-	 * If none have been specified by the client, then the latest available update
-	 * for each IInstallableUnit with updates will be chosen.
-	 * 
-	 * @return the updates that should be chosen from all of the available updates
-	 */
-	public Update[] getSelectedUpdates() {
-		if (defaultUpdates == null)
-			return new Update[0];
-		return (Update[]) defaultUpdates.toArray(new Update[defaultUpdates.size()]);
-	}
-
-	/**
-	 * Get the list of all possible updates.  This list may include multiple versions
-	 * of updates for the same IInstallableUnit, as well as patches to the IInstallableUnit.
-	 * 
-	 * @return an array of all possible updates
-	 */
-	public Update[] getPossibleUpdates() {
-		ArrayList all = new ArrayList();
-		Iterator iter = possibleUpdatesByIU.values().iterator();
-		while (iter.hasNext()) {
-			all.addAll((List) iter.next());
-		}
-		return (Update[]) all.toArray(new Update[all.size()]);
-	}
-
-	private Update[] updatesFor(IInstallableUnit iu, IProfile profile, IProgressMonitor monitor) {
-		List updates;
-		if (possibleUpdatesByIU.containsKey(iu)) {
-			// We've already looked them up in the planner, use the cache
-			updates = (List) possibleUpdatesByIU.get(iu);
-		} else {
-			// We must consult the planner
-			IInstallableUnit[] replacements = session.getPlanner().updatesFor(iu, context, monitor);
-			updates = new ArrayList(replacements.length);
-			for (int i = 0; i < replacements.length; i++) {
-				// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=273967
-				// In the case of patches, it's possible that a patch is returned as an available update
-				// even though it is already installed, because we are querying each IU for updates individually.
-				// For now, we ignore any proposed update that is already installed.
-				Collector alreadyInstalled = profile.query(new InstallableUnitQuery(replacements[i]), null);
-				if (alreadyInstalled.isEmpty()) {
-					Update update = new Update(iu, replacements[i]);
-					updates.add(update);
-				}
-			}
-			possibleUpdatesByIU.put(iu, updates);
-		}
-		return (Update[]) updates.toArray(new Update[updates.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#computeProfileChangeRequest(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor) {
-		// Here we create a profile change request by finding the latest version available for any replacement, unless
-		// otherwise specified in the selections.
-		// We have to consider the scenario where the only updates available are patches, in which case the original
-		// IU should not be removed as part of the update.
-		Set toBeUpdated = new HashSet();
-		HashSet elementsToPlan = new HashSet();
-		boolean selectionSpecified = false;
-		IProfile profile = session.getProfileRegistry().getProfile(profileId);
-		if (profile == null)
-			return;
-
-		SubMonitor sub = SubMonitor.convert(monitor, Messages.UpdateOperation_ProfileChangeRequestProgress, 100 * iusToUpdate.length);
-		for (int i = 0; i < iusToUpdate.length; i++) {
-			SubMonitor iuMon = sub.newChild(100);
-			Update[] updates = updatesFor(iusToUpdate[i], profile, iuMon);
-			for (int j = 0; j < updates.length; j++) {
-				toBeUpdated.add(iusToUpdate[i]);
-				if (defaultUpdates != null && defaultUpdates.contains(updates[j])) {
-					elementsToPlan.add(updates[j]);
-					selectionSpecified = true;
-				}
-
-			}
-			if (!selectionSpecified) {
-				// If no selection was specified, we must figure out the latest version to apply.
-				// The rules are that a true update will always win over a patch, but if only
-				// patches are available, they should all be selected.
-				// We first gather the latest versions of everything proposed.
-				// Patches are keyed by their id because they are unique and should not be compared to
-				// each other.  Updates are keyed by the IU they are updating so we can compare the
-				// versions and select the latest one
-				HashMap latestVersions = new HashMap();
-				boolean foundUpdate = false;
-				boolean foundPatch = false;
-				for (int j = 0; j < updates.length; j++) {
-					String key;
-					if (PatchQuery.isPatch(updates[j].replacement)) {
-						foundPatch = true;
-						key = updates[j].replacement.getId();
-					} else {
-						foundUpdate = true;
-						key = updates[j].toUpdate.getId();
-					}
-					Update latestUpdate = (Update) latestVersions.get(key);
-					IInstallableUnit latestIU = latestUpdate == null ? null : latestUpdate.replacement;
-					if (latestIU == null || updates[j].replacement.getVersion().compareTo(latestIU.getVersion()) > 0)
-						latestVersions.put(key, updates[j]);
-				}
-				// If there is a true update available, ignore any patches found
-				// Patches are keyed by their own id
-				if (foundPatch && foundUpdate) {
-					Set keys = new HashSet();
-					keys.addAll(latestVersions.keySet());
-					Iterator keyIter = keys.iterator();
-					while (keyIter.hasNext()) {
-						String id = (String) keyIter.next();
-						// Get rid of things keyed by a different id.  We've already made sure
-						// that updates with a different id are keyed under the original id
-						if (!id.equals(iusToUpdate[i].getId())) {
-							latestVersions.remove(id);
-						}
-					}
-				}
-				elementsToPlan.addAll(latestVersions.values());
-			}
-			sub.worked(100);
-		}
-
-		if (toBeUpdated.size() <= 0 || elementsToPlan.isEmpty()) {
-			sub.done();
-			status.add(PlanAnalyzer.getStatus(IStatusCodes.NOTHING_TO_UPDATE, null));
-			return;
-		}
-
-		request = ProfileChangeRequest.createByProfileId(profileId);
-		Iterator iter = elementsToPlan.iterator();
-		while (iter.hasNext()) {
-			Update update = (Update) iter.next();
-			IInstallableUnit theUpdate = update.replacement;
-			if (defaultUpdates == null) {
-				defaultUpdates = new ArrayList();
-				defaultUpdates.add(update);
-			} else {
-				if (!defaultUpdates.contains(update))
-					defaultUpdates.add(update);
-			}
-			request.addInstallableUnits(new IInstallableUnit[] {theUpdate});
-			//			if (rootMarkerKey != null)
-			request.setInstallableUnitProfileProperty(theUpdate, IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-			if (PatchQuery.isPatch(theUpdate)) {
-				request.setInstallableUnitInclusionRules(theUpdate, PlannerHelper.createOptionalInclusionRule(theUpdate));
-			} else {
-				request.removeInstallableUnits(new IInstallableUnit[] {update.toUpdate});
-			}
-
-		}
-		sub.done();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getProvisioningJobName()
-	 */
-	protected String getProvisioningJobName() {
-		return Messages.UpdateOperation_UpdateJobName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#getResolveJobName()
-	 */
-	protected String getResolveJobName() {
-		return Messages.UpdateOperation_ResolveJobName;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.operations.ProfileChangeOperation#prepareToResolve()
-	 */
-	protected void prepareToResolve() {
-		super.prepareToResolve();
-		if (iusToUpdate == null) {
-			iusToUpdate = session.getInstalledIUs(profileId, false);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/package.html b/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/package.html
deleted file mode 100644
index c0f0a93..0000000
--- a/bundles/org.eclipse.equinox.p2.operations/src/org/eclipse/equinox/p2/operations/package.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Describes high level provisioning operations that can be resolved and performed
-either modally or in the background.  
-<h2>
-Package Specification</h2>
-<p>
-This package consists of several kinds of operations and supporting classes:
-<ul>
-<li><b>Profile Change Operations</b> describe high level provisioning operations that
-modify a profile.  These operations generally are performed in two phases, the resolution
-of the operation, followed by the provisioning of the resolved operation.  Both the
-resolution and the provisioning tasks can be performed either synchronously or as jobs.
-</li>
-<li><b>Provisioning Jobs</b> describe lower level provisioning tasks that can
-be performed synchronously or in the background.
-</li>
-<li><b>ProvisioningSession</b> represents a particular instance of a p2 provisioning
-system.  It provides access to all of the p2 core services as well as utility methods
-for commonly performed provisioning tasks.
-</li>
-</ul>
-<p>
-@since 2.0
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.classpath b/bundles/org.eclipse.equinox.p2.publisher/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.cvsignore b/bundles/org.eclipse.equinox.p2.publisher/.cvsignore
deleted file mode 100644
index b14073c..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-temp.folder
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
deleted file mode 100644
index ec9c3e8..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Metadata Generator Ant Tasks.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.metadata.generator"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.metadata.generator"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.metadata.generator/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value=""/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Publisher Ant Tasks.launch b/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Publisher Ant Tasks.launch
deleted file mode 100644
index 3c6003b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.externalToolBuilders/Build Publisher Ant Tasks.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1255396868921_12&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.equinox.p2.publisher&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.publisher"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.project b/bundles/org.eclipse.equinox.p2.publisher/.project
deleted file mode 100644
index 20aa4f4..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.publisher</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Publisher Ant Tasks.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d1b4550..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,347 +0,0 @@
-#Thu Nov 27 14:50:33 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 014501b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:54 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.publisher/Eclipse install publisher.launch b/bundles/org.eclipse.equinox.p2.publisher/Eclipse install publisher.launch
deleted file mode 100644
index 632914e..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/Eclipse install publisher.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Eclipse install publisher"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.publisher.InstallPublisher&#13;&#10;-metadataRepository file:c:/temp/repos&#13;&#10;-source file:C:\build.ecf\v20080507-1345\3.3.2\updateSite&#13;&#10;-artifactRepository file:d:/temp/repos&#13;&#10;-source d:/m1/eclipse&#13;&#10;-configs win32.win32.x86&#13;&#10;-id sdk&#13;&#10;-version 3.4.0&#13;&#10;&#10;-flavor tooling&#13;&#10;-top org.eclipse.sdk.feature.group&#13;&#10;-publishArtifacts"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="true"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.app@default:true,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.common@2:true,org.eclipse.ecf@default:default,org.eclipse.equinox.frameworkadmin.equinox@3:true,org.eclipse.equinox.security@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.net@default:default,org.eclipse.osgi@-1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.frameworkadmin@3:true,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.p2.jarprocessor@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.simpleconfigurator@3:true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/Features and Bundles Publisher.launch b/bundles/org.eclipse.equinox.p2.publisher/Features and Bundles Publisher.launch
deleted file mode 100644
index 41b1d42..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/Features and Bundles Publisher.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Features and Bundles Publisher"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher&#13;&#10;-metadataRepository file:c:/temp/repos&#13;&#10;-artifactRepository file:c:/temp/repos&#13;&#10;-source C:\build.ecf\v20080507-1345\3.3.2\updateSite&#13;&#10;-configs win32.win32.x86&#13;&#10;-publishArtifacts"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.osgi@default:default,org.eclipse.equinox.frameworkadmin@3:true,org.eclipse.equinox.common@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.frameworkadmin.equinox@3:true,org.eclipse.core.jobs@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.security@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.launcher@default:default,org.eclipse.core.net@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.registry@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.simpleconfigurator@3:true,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
deleted file mode 100644
index 3e5c2ae..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,59 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.publisher;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.app;version="1.0.0";resolution:=optional,
- org.eclipse.equinox.internal.frameworkadmin.equinox,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.service.environment;version="1.1.0",
- org.eclipse.osgi.service.pluginconversion;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.2.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.xml.sax,
- org.xml.sax.helpers
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.p2.publisher.Activator
-Export-Package: org.eclipse.equinox.internal.p2.publisher;
-  x-friends:="org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.ui.sdk",
- org.eclipse.equinox.internal.p2.publisher.eclipse;x-friends:="org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.p2.swt.tools;x-internal:=true,
- org.eclipse.equinox.p2.publisher;x-friends:="org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.updatesite",
- org.eclipse.equinox.p2.publisher.actions;x-friends:="org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.directorywatcher",
- org.eclipse.equinox.p2.publisher.eclipse;
-  x-friends:="org.eclipse.equinox.p2.directorywatcher,
-   org.eclipse.equinox.p2.extensionlocation,
-   org.eclipse.equinox.p2.touchpoint.eclipse,
-   org.eclipse.equinox.p2.updatesite",
- org.eclipse.equinox.spi.p2.publisher;x-friends:="org.eclipse.equinox.p2.updatesite"
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
diff --git a/bundles/org.eclipse.equinox.p2.publisher/about.html b/bundles/org.eclipse.equinox.p2.publisher/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/ant_tasks/.cvsignore b/bundles/org.eclipse.equinox.p2.publisher/ant_tasks/.cvsignore
deleted file mode 100644
index 1d6b46f..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/ant_tasks/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-publisher-ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.publisher/build.properties b/bundles/org.eclipse.equinox.p2.publisher/build.properties
deleted file mode 100644
index 23f024b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/build.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2009 EclipseSource 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:
-#      EclipseSource - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-source.ant_tasks/publisher-ant.jar = src_ant/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               profiles/,\
-               plugin.xml,\
-               ant_tasks/publisher-ant.jar,\
-               plugin.properties
-src.includes = about.html
-jars.compile.order = .,\
-                     ant_tasks/publisher-ant.jar
-extra.ant_tasks/publisher-ant.jar = platform:/plugin/org.apache.ant
-jars.extra.classpath = platform:/plugin/org.apache.ant/lib/ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.publisher/plugin.properties b/bundles/org.eclipse.equinox.p2.publisher/plugin.properties
deleted file mode 100644
index bdeeb80..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-bundleName = Equinox Provisioning Publisher
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.publisher/plugin.xml b/bundles/org.eclipse.equinox.p2.publisher/plugin.xml
deleted file mode 100644
index 315440e..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<plugin>
-   <extension id="InstallPublisher" point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.p2.publisher.eclipse.InstallPublisherApplication">
-         </run>
-      </application>
-   </extension>
-   <extension id="ProductPublisher" point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.p2.publisher.eclipse.ProductPublisherApplication">
-         </run>
-      </application>
-   </extension>
-   <extension id="FeaturesAndBundlesPublisher" point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.p2.publisher.eclipse.FeaturesAndBundlesPublisherApplication">
-         </run>
-      </application>
-   </extension>
-
-	<extension point="org.eclipse.ant.core.antTasks">
-		<antTask
-			library="ant_tasks/publisher-ant.jar"
-			name="p2.publisher"
-			class="org.eclipse.equinox.internal.p2.publisher.ant.PublisherTask">
-		</antTask>
-    <antTask
-          class="org.eclipse.equinox.internal.p2.publisher.ant.FeaturesAndBundlesPublisherTask"
-          library="ant_tasks/publisher-ant.jar"
-          name="p2.publish.featuresAndBundles">
-    </antTask>
-    <antTask
-          class="org.eclipse.equinox.internal.p2.publisher.ant.ProductPublisherTask"
-          library="ant_tasks/publisher-ant.jar"
-          name="p2.publish.product">
-    </antTask>
-	</extension>
-
-	<extension point="org.eclipse.ant.core.extraClasspathEntries">
-		<extraClasspathEntry library="ant_tasks/publisher-ant.jar"/>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.0_Foundation-1.0.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.0_Foundation-1.0.profile
deleted file mode 100644
index dde120a..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.0_Foundation-1.0.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io
-org.osgi.framework.bootdelegation = \
- javax.microedition.io
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0
-osgi.java.profile.name = CDC-1.0/Foundation-1.0
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.1_Foundation-1.1.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.1_Foundation-1.1.profile
deleted file mode 100644
index 67b20c7..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/CDC-1.1_Foundation-1.1.profile
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- CDC-1.0/Foundation-1.0,\
- CDC-1.1/Foundation-1.1
-osgi.java.profile.name = CDC-1.1/Foundation-1.1
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.2.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.2.profile
deleted file mode 100644
index ab98b67..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.2.profile
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- org.omg.CORBA,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1,\
- J2SE-1.2
-osgi.java.profile.name = J2SE-1.2
-org.eclipse.jdt.core.compiler.compliance=1.2
-org.eclipse.jdt.core.compiler.source=1.2
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.3.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.3.profile
deleted file mode 100644
index da3538e..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.3.profile
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.omg.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3
-osgi.java.profile.name = J2SE-1.3
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.4.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.4.profile
deleted file mode 100644
index abaa0c3..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.4.profile
+++ /dev/null
@@ -1,129 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4
-osgi.java.profile.name = J2SE-1.4
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.5.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.5.profile
deleted file mode 100644
index e56a929..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/J2SE-1.5.profile
+++ /dev/null
@@ -1,157 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5
-osgi.java.profile.name = J2SE-1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/JRE-1.1.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/JRE-1.1.profile
deleted file mode 100644
index 7bb8b46..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/JRE-1.1.profile
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1
-osgi.java.profile.name = JRE-1.1
-org.eclipse.jdt.core.compiler.compliance=1.1
-org.eclipse.jdt.core.compiler.source=1.1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/JavaSE-1.6.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/JavaSE-1.6.profile
deleted file mode 100644
index 68e811f..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/JavaSE-1.6.profile
+++ /dev/null
@@ -1,194 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activation,\
- javax.activity,\
- javax.annotation,\
- javax.annotation.processing,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.jws,\
- javax.jws.soap,\
- javax.lang.model,\
- javax.lang.model.element,\
- javax.lang.model.type,\
- javax.lang.model.util,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.script,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.tools,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.bind,\
- javax.xml.bind.annotation,\
- javax.xml.bind.annotation.adapters,\
- javax.xml.bind.attachment,\
- javax.xml.bind.helpers,\
- javax.xml.bind.util,\
- javax.xml.crypto,\
- javax.xml.crypto.dom,\
- javax.xml.crypto.dsig,\
- javax.xml.crypto.dsig.dom,\
- javax.xml.crypto.dsig.keyinfo,\
- javax.xml.crypto.dsig.spec,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.soap,\
- javax.xml.stream,\
- javax.xml.stream.events,\
- javax.xml.stream.util,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.ws,\
- javax.xml.ws.handler,\
- javax.xml.ws.handler.soap,\
- javax.xml.ws.http,\
- javax.xml.ws.soap,\
- javax.xml.ws.spi,\
- javax.xml.ws.wsaddressing,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views,\
- org.w3c.dom.xpath,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5,\
- JavaSE-1.6
-osgi.java.profile.name = JavaSE-1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.0.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.0.profile
deleted file mode 100644
index 773501a..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.0.profile
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0
-osgi.java.profile.name = OSGi/Minimum-1.0
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.1.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.1.profile
deleted file mode 100644
index 5031392..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.1.profile
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1
-osgi.java.profile.name = OSGi/Minimum-1.1
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
diff --git a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.2.profile b/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.2.profile
deleted file mode 100644
index 601b373..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/profiles/OSGi_Minimum-1.2.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2008 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- OSGi/Minimum-1.2
-osgi.java.profile.name = OSGi/Minimum-1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
diff --git a/bundles/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml b/bundles/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml
deleted file mode 100644
index a34be7a..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/scripts/buildExtraJAR.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.equinox.p2.metadata.generator" default="default" basedir="..">
-
-	<target name="init" depends="properties">
-		<property name="plugin" value="org.eclipse.equinox.p2.publisher"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}/ant_tasks"/>
-		<property name="version.suffix" value="_1.0.0"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="buildScripts" depends="init" description="Build from generated scripts">
-		<tstamp/>
-		<eclipse.buildScript elements="plugin@${plugin}" 
-			buildDirectory="${buildDirectory}" 
-			configInfo="*,*,*" 
-			baseLocation="${baseLocation}" 
-			buildingOSGi="true" 
-			outputUpdateJars="false"
-			pluginpath="${basedir}"
-			forceContextQualifier="z${DSTAMP}${TSTAMP}"
-			/>
-		<delete file="${basedir}/ant_tasks/publisher-ant.jar" failonerror="false"/>
-		<ant antfile="${basedir}/build.xml" target="ant_tasks/publisher-ant.jar"/>
-	</target>
-
-	<target name="default" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="${basedir}/ant_tasks" />
-		<delete file="${basedir}/ant_tasks/publisher-ant.jar" failonerror="false"/>
-		<jar destfile="${basedir}/ant_tasks/publisher-ant.jar" basedir="bin_ant"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Activator.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Activator.java
deleted file mode 100644
index 80380db..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Activator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static BundleContext context = null;
-	public static String ID = "org.eclipse.equinox.p2.publisher"; //$NON-NLS-1$
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		Activator.context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/FileSetDescriptor.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/FileSetDescriptor.java
deleted file mode 100644
index 4fd0847..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/FileSetDescriptor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM Corporation - Ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher;
-
-import java.io.File;
-import java.util.*;
-
-public class FileSetDescriptor {
-	private final String key;
-	private String configSpec = null;
-	private HashSet fileset = new HashSet();
-	private final ArrayList permissions = new ArrayList();
-	private String links = ""; //$NON-NLS-1$
-
-	public FileSetDescriptor(String key, String configSpec) {
-		this.key = key;
-		this.configSpec = configSpec;
-	}
-
-	public void addFiles(File[] files) {
-		fileset.addAll(Arrays.asList(files));
-	}
-
-	// a permission spec is { <perm>, file patterns }
-	public void addPermissions(String[] property) {
-		permissions.add(property);
-	}
-
-	public void setLinks(String property) {
-		links = property;
-	}
-
-	public String getConfigSpec() {
-		return configSpec;
-	}
-
-	public String getKey() {
-		return key;
-	}
-
-	public String getLinks() {
-		return links;
-	}
-
-	public String[][] getPermissions() {
-		return (String[][]) permissions.toArray(new String[permissions.size()][]);
-	}
-
-	public File[] getFiles() {
-		return (File[]) fileset.toArray(new File[fileset.size()]);
-	}
-
-	public int size() {
-		return fileset.size();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Messages.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Messages.java
deleted file mode 100644
index 91f5221..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.publisher.messages";//$NON-NLS-1$
-
-	public static String exception_errorConverting;
-	public static String exception_stateAddition;
-	public static String exception_errorReadingManifest;
-	public static String exception_errorLoadingManifest;
-	public static String exception_noPluginConverter;
-	public static String exception_noArtifactRepo;
-	public static String exception_noMetadataRepo;
-	public static String exception_noBundlesOrLocations;
-	public static String exception_noFeaturesOrLocations;
-	public static String exception_invalidSiteReference;
-	public static String exception_invalidSiteReferenceInFeature;
-	public static String exception_repoMustBeURL;
-	public static String exception_sourcePath;
-
-	public static String message_generatingMetadata;
-	public static String message_generationCompleted;
-	public static String message_noSimpleconfigurator;
-
-	public static String error_rootIU_generation;
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/QuotedTokenizer.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/QuotedTokenizer.java
deleted file mode 100644
index 4525327..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/QuotedTokenizer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.publisher;
-
-import java.io.*;
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-
-/**
- * Tokenzier which supports quoting using '"'
- * The resulting tokens will not contain the quote character '"' unless it was escaped '\"'
- */
-public class QuotedTokenizer implements Enumeration {
-	private StreamTokenizer tokenizer = null;
-
-	/**
-	 * Default delimiter is whitespace characters
-	 * @param str - String to be tokenized
-	 */
-	public QuotedTokenizer(String str) {
-		this(str, null);
-	}
-
-	/**
-	 * Tokenize based on the given delimiters.  The quote character '"' can not be
-	 * used as a delimiter.
-	 * @param str - String to be tokenized
-	 * @param delim - delimiter characters
-	 * @throws IllegalArgumentException if delim contains the quote character '"'
-	 */
-	public QuotedTokenizer(String str, String delim) {
-		if (delim != null && delim.indexOf('"') > -1)
-			throw new IllegalArgumentException();
-
-		StringReader reader = new StringReader(str);
-		tokenizer = new StreamTokenizer(reader);
-
-		tokenizer.resetSyntax();
-		if (delim == null)
-			tokenizer.ordinaryChars(0, 0x20);
-		else
-			tokenizer.wordChars(0, 0x20);
-		tokenizer.wordChars(0x21, 0xFF); //characters > 0xFF are also word chars
-		tokenizer.quoteChar('"');
-
-		if (delim != null) {
-			for (int i = 0; i < delim.length(); i++) {
-				tokenizer.ordinaryChar(delim.charAt(i));
-			}
-		}
-	}
-
-	/**
-	 * Test to see if more tokens are available
-	 * @return true if there is another token
-	 */
-	public boolean hasMoreTokens() {
-		return (token(null) != StreamTokenizer.TT_EOF);
-	}
-
-	/**
-	 * Return the next token,
-	 * @return the next token
-	 * @throws NoSuchElementException if there are no more tokens
-	 */
-	public String nextToken() {
-		StringBuffer buffer = new StringBuffer(10);
-		int tokenType = token(buffer);
-
-		if (tokenType == StreamTokenizer.TT_EOF)
-			throw new NoSuchElementException();
-
-		return buffer.toString();
-	}
-
-	/**
-	 * Get the next token, or check that there is a next token
-	 * @param buffer to hold the token, or null if we just want to know if there is one 
-	 */
-	private int token(StringBuffer buffer) {
-		int tokenType = 0;
-		int next = 0;
-
-		get_token: while (true) {
-			try {
-				tokenType = tokenizer.nextToken();
-			} catch (IOException e) {
-				tokenType = StreamTokenizer.TT_EOF;
-			}
-			switch (tokenType) {
-				case StreamTokenizer.TT_WORD :
-				case '"' :
-					if (buffer == null) {
-						//we just wanted to know if there was something coming
-						tokenizer.pushBack();
-						return tokenType;
-					}
-					buffer.append(tokenizer.sval);
-
-					// peek at the next token, 
-					try {
-						next = tokenizer.nextToken();
-						tokenizer.pushBack();
-					} catch (IOException e) {
-						next = StreamTokenizer.TT_EOF;
-					}
-
-					//if the next token is a quote, it is still this token, otherwise we are done
-					if (next == '"')
-						continue;
-					break get_token;
-				case StreamTokenizer.TT_EOF :
-					break get_token;
-				default :
-					//ordinary char from delim, if we have something we are done, otherwise keep looking for a token
-					if (buffer != null && buffer.length() > 0)
-						break get_token;
-					continue;
-			}
-		}
-		return tokenType;
-	}
-
-	public boolean hasMoreElements() {
-		return hasMoreTokens();
-	}
-
-	public Object nextElement() {
-		return nextToken();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
deleted file mode 100644
index 8381929..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- * 	Code 9 - Additional function and fixes
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.*;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.p2.swt.tools.IconExe;
-
-/**
- *
- */
-public class BrandingIron {
-	private static final String MARKER_NAME = "%EXECUTABLE_NAME%"; //$NON-NLS-1$
-	private static final String BUNDLE_NAME = "%BUNDLE_NAME%"; //$NON-NLS-1$
-	private static final String ICON_NAME = "%ICON_NAME%"; //$NON-NLS-1$
-	private static final String MARKER_KEY = "<key>CFBundleExecutable</key>"; //$NON-NLS-1$
-	private static final String BUNDLE_KEY = "<key>CFBundleName</key>"; //$NON-NLS-1$
-	private static final String ICON_KEY = "<key>CFBundleIconFile</key>"; //$NON-NLS-1$
-	private static final String STRING_START = "<string>"; //$NON-NLS-1$
-	private static final String STRING_END = "</string>"; //$NON-NLS-1$
-	private static final String XDOC_ICON = "-Xdock:icon=../Resources/Eclipse.icns"; //$NON-NLS-1$
-	private static final String XDOC_ICON_PREFIX = "-Xdock:icon=../Resources/"; //$NON-NLS-1$
-
-	private String[] icons = null;
-	private String root;
-	private String name;
-	private String os = "win32"; //$NON-NLS-1$
-	private boolean brandIcons = true;
-
-	public void setName(String value) {
-		name = value;
-	}
-
-	public void setIcons(String[] value) {
-		icons = value;
-	}
-
-	public void setIcons(String value) {
-		icons = Utils.getTokens(value, ",");//$NON-NLS-1$
-		if (icons[0].startsWith("${")) { //$NON-NLS-1$
-			if (icons.length > 1) {
-				String[] temp = new String[icons.length - 1];
-				System.arraycopy(icons, 1, temp, 0, temp.length);
-				icons = temp;
-			} else {
-				icons = null;
-			}
-		}
-		//trim whitespace
-		if (icons != null) {
-			for (int i = 0; i < icons.length; i++) {
-				icons[i] = icons[i].trim();
-			}
-		}
-	}
-
-	public void setRoot(String value) {
-		root = value;
-	}
-
-	public void brand() throws Exception {
-		// if the name property is not set it will be ${launcher.name} so just bail.
-		if (name.startsWith("${")) //$NON-NLS-1$
-			return;
-
-		if (icons == null || icons[0].startsWith("${")) //$NON-NLS-1$
-			brandIcons = false;
-
-		// if the root does not exists (happens in some packaging cases) or 
-		// there is already a file with target name and we don't need to update its icons, don't do anything
-		String testName = os.equals("win32") ? name + ".exe" : name; //$NON-NLS-1$ //$NON-NLS-2$
-		if (!new File(root).exists() || (!brandIcons && new File(root, testName).exists()))
-			return;
-
-		if ("win32".equals(os)) //$NON-NLS-1$
-			brandWindows();
-		if ("linux".equals(os)) //$NON-NLS-1$
-			brandLinux();
-		if ("solaris".equals(os)) //$NON-NLS-1$
-			brandSolaris();
-		if ("macosx".equals(os)) //$NON-NLS-1$
-			brandMac();
-		if ("aix".equals(os)) //$NON-NLS-1$
-			brandAIX();
-		if ("hpux".equals(os)) //$NON-NLS-1$
-			brandHPUX();
-	}
-
-	private void brandAIX() {
-		renameLauncher();
-	}
-
-	private void brandHPUX() {
-		renameLauncher();
-	}
-
-	private void brandLinux() throws Exception {
-		renameLauncher();
-		if (brandIcons)
-			copy(new File(icons[0]), new File(root, "icon.xpm")); //$NON-NLS-1$
-	}
-
-	private void brandSolaris() throws Exception {
-		renameLauncher();
-		if (brandIcons == false)
-			return;
-
-		for (int i = 0; i < icons.length; i++) {
-			String icon = icons[i];
-			if (icon.endsWith(".l.pm")) //$NON-NLS-1$
-				copy(new File(icon), new File(root, name + ".l.pm")); //$NON-NLS-1$
-			if (icon.endsWith(".m.pm")) //$NON-NLS-1$
-				copy(new File(icon), new File(root, name + ".m.pm")); //$NON-NLS-1$
-			if (icon.endsWith(".s.pm")) //$NON-NLS-1$
-				copy(new File(icon), new File(root, name + ".s.pm")); //$NON-NLS-1$
-			if (icon.endsWith(".t.pm")) //$NON-NLS-1$
-				copy(new File(icon), new File(root, name + ".t.pm")); //$NON-NLS-1$
-		}
-	}
-
-	private void brandMac() throws Exception {
-		//Initially the files are in: <root>/Eclipse.app/ 
-		//and they must appear in <root>/MyAppName.app/
-		//Because java does not support the rename of a folder, files are copied.
-
-		//Initialize the target folders
-		String target = root + '/' + name + ".app/Contents"; //$NON-NLS-1$
-		new File(target).mkdirs();
-		new File(target + "/MacOS").mkdirs(); //$NON-NLS-1$
-		new File(target + "/Resources").mkdirs(); //$NON-NLS-1$
-
-		String initialRoot = root + "/Launcher.app/Contents"; //$NON-NLS-1$
-		if (!new File(initialRoot).exists())
-			initialRoot = root + "/Eclipse.app/Contents"; //$NON-NLS-1$
-		copyMacLauncher(initialRoot, target);
-		String iconName = ""; //$NON-NLS-1$
-		File splashApp = new File(initialRoot, "Resources/Splash.app"); //$NON-NLS-1$
-		if (brandIcons) {
-			File icon = new File(icons[0]);
-			iconName = icon.getName();
-			copy(icon, new File(target + "/Resources/" + icon.getName())); //$NON-NLS-1$
-			new File(initialRoot + "/Resources/Eclipse.icns").delete(); //$NON-NLS-1$
-			if (!splashApp.exists())
-				new File(initialRoot + "/Resources/").delete(); //$NON-NLS-1$
-		}
-		copyMacIni(initialRoot, target, iconName);
-		modifyInfoPListFile(initialRoot, target, iconName);
-		if (splashApp.exists()) {
-			brandMacSplash(initialRoot, target, iconName);
-		}
-
-		File rootFolder = new File(initialRoot);
-		rootFolder.delete();
-		if (rootFolder.exists()) {
-			//if the rootFolder still exists, its because there were other files that need to be moved over
-			moveContents(rootFolder, new File(target));
-		}
-		rootFolder.getParentFile().delete();
-	}
-
-	/**
-	 * Brand the splash.app Info.plist and  link or copy the mac launcher.
-	 * It is assumed that the mac launcher has been branded already.
-	 * @param initialRoot
-	 * @param target
-	 * @param iconName
-	 */
-	private void brandMacSplash(String initialRoot, String target, String iconName) {
-		String splashContents = "/Resources/Splash.app/Contents"; //$NON-NLS-1$
-		modifyInfoPListFile(initialRoot + splashContents, target + splashContents, iconName);
-
-		//link the MacOS launcher for the splash app
-		int result = -1;
-		String osName = System.getProperty("os.name"); //$NON-NLS-1$
-		if (osName != null && !osName.startsWith("Windows")) { //$NON-NLS-1$
-			try {
-				String[] command = new String[] {"ln", "-sf", "../../../MacOS/" + name, "MacOS/" + name}; //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
-				File linkDir = new File(target, splashContents);
-				Process proc = Runtime.getRuntime().exec(command, null, linkDir);
-				result = proc.waitFor();
-			} catch (IOException e) {
-				// ignore
-			} catch (InterruptedException e) {
-				// ignore
-			}
-		}
-
-		if (result != 0) {
-			//ln failed, or we are on windows, just copy the executable instead
-			File macOSDir = new File(target, "MacOS"); //$NON-NLS-1$
-			File splashMacOSDir = new File(target, splashContents + "/MacOS"); //$NON-NLS-1$
-			splashMacOSDir.mkdirs();
-			try {
-				File targetFile = new File(splashMacOSDir, name);
-				copy(new File(macOSDir, name), targetFile);
-				try {
-					Runtime.getRuntime().exec(new String[] {"chmod", "755", targetFile.getAbsolutePath()}); //$NON-NLS-1$ //$NON-NLS-2$
-				} catch (IOException e) {
-					// ignore
-				}
-			} catch (IOException e) {
-				System.out.println("Could not copy macosx splash launcher"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private void moveContents(File source, File target) {
-		if (!source.exists())
-			return;
-
-		try {
-			if (source.getCanonicalFile().equals(target.getCanonicalFile()))
-				return;
-		} catch (IOException e) {
-			System.out.println("Could not copy macosx resources."); //$NON-NLS-1$
-			return;
-		}
-
-		target.getParentFile().mkdirs();
-		if (source.isDirectory()) {
-			target.mkdirs();
-			File[] contents = source.listFiles();
-			for (int i = 0; i < contents.length; i++) {
-				File dest = new File(target, contents[i].getName());
-				if (contents[i].isFile())
-					contents[i].renameTo(dest);
-				else
-					moveContents(contents[i], dest);
-			}
-			source.delete();
-		} else {
-			source.renameTo(target);
-		}
-	}
-
-	private void brandWindows() throws Exception {
-		File templateLauncher = new File(root, "launcher.exe"); //$NON-NLS-1$
-		if (!templateLauncher.exists())
-			templateLauncher = new File(root, "eclipse.exe"); //$NON-NLS-1$
-		if (brandIcons) {
-			String[] args = new String[icons.length + 1];
-			args[0] = templateLauncher.getAbsolutePath();
-			System.arraycopy(icons, 0, args, 1, icons.length);
-			IconExe.main(args);
-		}
-		templateLauncher.renameTo(new File(root, name + ".exe")); //$NON-NLS-1$
-	}
-
-	private void renameLauncher() {
-		if (!new File(root, "launcher").renameTo(new File(root, name))) //$NON-NLS-1$
-			new File(root, "eclipse").renameTo(new File(root, name)); //$NON-NLS-1$
-	}
-
-	private void copyMacLauncher(String initialRoot, String target) {
-		String targetLauncher = target + "/MacOS/"; //$NON-NLS-1$
-		File launcher = new File(initialRoot + "/MacOS/launcher"); //$NON-NLS-1$
-		File eclipseLauncher = new File(initialRoot + "/MacOS/eclipse"); //$NON-NLS-1$
-		if (!launcher.exists()) {
-			launcher = eclipseLauncher;
-		} else if (eclipseLauncher.exists()) {
-			//we may actually have both if exporting from the mac
-			eclipseLauncher.delete();
-		}
-		File targetFile = new File(targetLauncher, name);
-		try {
-			if (targetFile.getCanonicalFile().equals(launcher.getCanonicalFile())) {
-				try {
-					//Force the executable bit on the exe because it has been lost when copying the file
-					Runtime.getRuntime().exec(new String[] {"chmod", "755", targetFile.getAbsolutePath()}); //$NON-NLS-1$ //$NON-NLS-2$
-				} catch (IOException e) {
-					//ignore
-				}
-				return;
-			}
-			copy(launcher, targetFile);
-		} catch (IOException e) {
-			System.out.println("Could not copy macosx launcher"); //$NON-NLS-1$
-			return;
-		}
-		try {
-			//Force the executable bit on the exe because it has been lost when copying the file
-			Runtime.getRuntime().exec(new String[] {"chmod", "755", targetFile.getAbsolutePath()}); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (IOException e) {
-			//ignore
-		}
-		launcher.delete();
-		launcher.getParentFile().delete();
-	}
-
-	private void copyMacIni(String initialRoot, String target, String iconName) {
-		File brandedIni = new File(initialRoot, "/MacOS/" + name + ".ini"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		File ini = new File(initialRoot, "/MacOS/eclipse.ini"); //$NON-NLS-1$
-		if (!ini.exists() && !brandedIni.exists())
-			return;
-
-		if (brandedIni.exists() && ini.exists()) {
-			//take the one that is already branded
-			ini.delete();
-			ini = brandedIni;
-		}
-
-		StringBuffer buffer;
-		try {
-			buffer = readFile(ini);
-			ini.delete();
-		} catch (IOException e) {
-			System.out.println("Impossible to brand ini file"); //$NON-NLS-1$
-			return;
-		}
-
-		if (iconName.length() > 0) {
-			int xdoc = scan(buffer, 0, XDOC_ICON);
-			if (xdoc != -1) {
-				String icns = XDOC_ICON_PREFIX + iconName;
-				buffer.replace(xdoc, xdoc + XDOC_ICON.length(), icns);
-			}
-		}
-
-		try {
-			File targetFile = new File(target, "/MacOS/" + name + ".ini"); //$NON-NLS-1$//$NON-NLS-2$
-			transferStreams(new ByteArrayInputStream(buffer.toString().getBytes()), new FileOutputStream(targetFile));
-		} catch (FileNotFoundException e) {
-			System.out.println("Impossible to brand ini file"); //$NON-NLS-1$
-			return;
-		} catch (IOException e) {
-			System.out.println("Impossible to brand ini file"); //$NON-NLS-1$
-			return;
-		}
-	}
-
-	private void modifyInfoPListFile(String initialRoot, String targetRoot, String iconName) {
-		File infoPList = new File(initialRoot, "Info.plist"); //$NON-NLS-1$
-		StringBuffer buffer;
-		try {
-			buffer = readFile(infoPList);
-		} catch (IOException e) {
-			System.out.println("Impossible to brand info.plist file"); //$NON-NLS-1$
-			return;
-		}
-		int exePos = scan(buffer, 0, MARKER_NAME);
-		if (exePos != -1)
-			buffer.replace(exePos, exePos + MARKER_NAME.length(), name);
-		else {
-			exePos = scan(buffer, 0, MARKER_KEY);
-			if (exePos != -1) {
-				int start = scan(buffer, exePos + MARKER_KEY.length(), STRING_START);
-				int end = scan(buffer, start + STRING_START.length(), STRING_END);
-				if (start > -1 && end > start) {
-					buffer.replace(start + STRING_START.length(), end, name);
-				}
-			}
-		}
-
-		int bundlePos = scan(buffer, 0, BUNDLE_NAME);
-		if (bundlePos != -1)
-			buffer.replace(bundlePos, bundlePos + BUNDLE_NAME.length(), name);
-		else {
-			exePos = scan(buffer, 0, BUNDLE_KEY);
-			if (exePos != -1) {
-				int start = scan(buffer, exePos + BUNDLE_KEY.length(), STRING_START);
-				int end = scan(buffer, start + STRING_START.length(), STRING_END);
-				if (start > -1 && end > start) {
-					buffer.replace(start + STRING_START.length(), end, name);
-				}
-			}
-		}
-
-		int iconPos = scan(buffer, 0, ICON_NAME);
-		if (iconPos != -1)
-			buffer.replace(iconPos, iconPos + ICON_NAME.length(), iconName);
-		else {
-			exePos = scan(buffer, 0, ICON_KEY);
-			if (exePos != -1) {
-				int start = scan(buffer, exePos + ICON_KEY.length(), STRING_START);
-				int end = scan(buffer, start + STRING_START.length(), STRING_END);
-				if (start > -1 && end > start) {
-					buffer.replace(start + STRING_START.length(), end, iconName);
-				}
-			}
-		}
-
-		File target = null;
-		try {
-			target = new File(targetRoot, "Info.plist"); //$NON-NLS-1$
-			target.getParentFile().mkdirs();
-			transferStreams(new ByteArrayInputStream(buffer.toString().getBytes()), new FileOutputStream(target));
-		} catch (FileNotFoundException e) {
-			System.out.println("Impossible to brand info.plist file"); //$NON-NLS-1$
-			return;
-		} catch (IOException e) {
-			System.out.println("Impossible to brand info.plist file"); //$NON-NLS-1$
-			return;
-		}
-		try {
-			if (!infoPList.getCanonicalFile().equals(target.getCanonicalFile()))
-				infoPList.delete();
-		} catch (IOException e) {
-			//ignore
-		}
-	}
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given output stream. 
-	 * Regardless of failure, this method closes both streams.
-	 * @throws IOException 
-	 */
-	public void copy(File source, File destination) throws IOException {
-		InputStream in = null;
-		OutputStream out = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(source));
-			out = new BufferedOutputStream(new FileOutputStream(destination));
-			final byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				bytesRead = in.read(buffer);
-				if (bytesRead == -1)
-					break;
-				out.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} finally {
-				if (out != null)
-					out.close();
-			}
-		}
-	}
-
-	private int scan(StringBuffer buf, int start, String targetName) {
-		return scan(buf, start, new String[] {targetName});
-	}
-
-	private int scan(StringBuffer buf, int start, String[] targets) {
-		for (int i = start; i < buf.length(); i++) {
-			for (int j = 0; j < targets.length; j++) {
-				if (i < buf.length() - targets[j].length()) {
-					String match = buf.substring(i, i + targets[j].length());
-					if (targets[j].equalsIgnoreCase(match))
-						return i;
-				}
-			}
-		}
-		return -1;
-	}
-
-	private StringBuffer readFile(File targetName) throws IOException {
-		InputStreamReader reader = new InputStreamReader(new BufferedInputStream(new FileInputStream(targetName)));
-		StringBuffer result = new StringBuffer();
-		char[] buf = new char[4096];
-		int count;
-		try {
-			count = reader.read(buf, 0, buf.length);
-			while (count != -1) {
-				result.append(buf, 0, count);
-				count = reader.read(buf, 0, buf.length);
-			}
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// ignore exceptions here
-			}
-		}
-		return result;
-	}
-
-	private void transferStreams(InputStream source, OutputStream destination) throws IOException {
-		source = new BufferedInputStream(source);
-		destination = new BufferedOutputStream(destination);
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				if ((bytesRead = source.read(buffer)) == -1)
-					break;
-				destination.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			try {
-				source.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			try {
-				destination.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	public void setOS(String value) {
-		os = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/DataLoader.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/DataLoader.java
deleted file mode 100644
index ccf1ac1..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/DataLoader.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator;
-import org.osgi.framework.Constants;
-
-public class DataLoader {
-
-	private final static String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	private final static String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)"; //$NON-NLS-1$ //$NON-NLS-2$
-	//String filterFwVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_VERSION + "=" + props.getProperty("equinox.fw.version") + ")";
-	private final static String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)"; //$NON-NLS-1$ //$NON-NLS-2$
-	//String filterLauncherVersion = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_VERSION + "=" + props.getProperty("equinox.launcher.version") + ")";
-	private final static String frameworkAdminFillter = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-
-	private static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-
-	private Manipulator manipulator;
-	private File configurationLocation;
-
-	/**
-	 * 
-	 * @param configurationLocation configuration file (i.e. config.ini).
-	 * @param executableLocation executable file (i.e. eclipse.exe). 
-	 */
-	public DataLoader(File configurationLocation, File executableLocation) {
-		this.configurationLocation = configurationLocation;
-		initializeFrameworkManipulator(configurationLocation.getParentFile(), executableLocation);
-	}
-
-	private void initializeFrameworkManipulator(File config, File executable) {
-		getFrameworkManipulator();
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwPersistentDataLocation(config, true);
-		launcherData.setLauncher(executable);
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		} catch (FrameworkAdminRuntimeException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		} catch (IOException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		}
-	}
-
-	public ConfigData getConfigData() {
-		if (manipulator == null)
-			return null;
-
-		EquinoxFwConfigFileParser parser = new EquinoxFwConfigFileParser(Activator.getContext());
-		try {
-			if (configurationLocation != null && configurationLocation.exists())
-				parser.readFwConfig(manipulator, configurationLocation);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error loading config.", e)); //$NON-NLS-1$ //TODO: Fix error string
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error loading config.", e)); //$NON-NLS-1$ //TODO: Fix error string
-		}
-		ConfigData data = manipulator.getConfigData();
-		String value = data.getProperty(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL);
-		if (value != null) {
-			try {
-				//config.ini uses simpleconfigurator, read the bundles.info and replace the bundle infos
-				SimpleConfiguratorManipulator simpleManipulator = (SimpleConfiguratorManipulator) ServiceHelper.getService(Activator.getContext(), SimpleConfiguratorManipulator.class.getName());
-				BundleInfo[] bundleInfos = simpleManipulator.loadConfiguration(new URL(value), null);
-				data.setBundles(bundleInfos);
-			} catch (MalformedURLException e1) {
-				// ignore
-			} catch (IOException e1) {
-				// ignore
-			}
-			try {
-				data.setProperty(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR_CONFIGURL, EquinoxManipulatorImpl.makeRelative(value, configurationLocation.toURL()));
-			} catch (MalformedURLException e) {
-				//ignore
-			}
-		}
-
-		return data;
-	}
-
-	public LauncherData getLauncherData() {
-		return manipulator == null ? null : manipulator.getLauncherData();
-	}
-
-	/**
-	 * Obtains the framework manipulator instance. Throws an exception
-	 * if it could not be created.
-	 */
-	private void getFrameworkManipulator() {
-		FrameworkAdmin admin = getFrameworkAdmin();
-		if (admin == null)
-			throw new RuntimeException("Framework admin service not found"); //$NON-NLS-1$
-		manipulator = admin.getManipulator();
-		if (manipulator == null)
-			throw new RuntimeException("Framework manipulator not found"); //$NON-NLS-1$
-	}
-
-	private FrameworkAdmin getFrameworkAdmin() {
-		return (FrameworkAdmin) ServiceHelper.getService(Activator.getContext(), FrameworkAdmin.class.getName(), frameworkAdminFillter);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
deleted file mode 100644
index 6b2547f..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 EclipseSource 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:
- *      Eclipse Source - initial API and implementation
- *      IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
-import org.eclipse.osgi.service.environment.Constants;
-
-public class ExecutablesDescriptor {
-
-	private File location;
-	private Set files;
-	private String executableName;
-	private boolean temporary = false;
-	private String os;
-	private File iniFile;
-
-	public static File findExecutable(String os, File root, String baseName) {
-		// TODO this may need to get more intelligent
-		// if MacOS its going to be baseName.app/Contents/MacOS/baseName
-		if (Constants.OS_MACOSX.equals(os)) {
-			return new File(root, baseName + ".app/Contents/MacOS/" + baseName); //$NON-NLS-1$
-		}
-		// if it is not Mac and not Windows it must be a UNIX flavor
-		if (!Constants.OS_WIN32.equals(os)) {
-			return new File(root, baseName);
-		}
-		// otherwise we are left with windows
-		return new File(root, baseName + ".exe"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return the root directory of the executables folder for the given configSpec.  The folder
-	 * is expected to be part of the standard Eclipse executables feature whose structure is 
-	 * embedded here.
-	 * @param executablesFeatureLocation the location of the executables feature
-	 * @param configSpec the configuration to lookup
-	 * @return the root location of the requested executables
-	 */
-	public static ExecutablesDescriptor createExecutablesFromFeature(File executablesFeatureLocation, String configSpec) {
-		// TODO consider handling JAR'd features here...
-		if (executablesFeatureLocation == null || !executablesFeatureLocation.exists())
-			return null;
-		String[] config = AbstractPublisherAction.parseConfigSpec(configSpec);
-		File result = new File(executablesFeatureLocation, "bin/" + config[0] + "/" + config[1] + "/" + config[2]); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if (!result.exists())
-			return null;
-		return new ExecutablesDescriptor(config[1], "launcher", result, new File[] {result}); //$NON-NLS-1$
-	}
-
-	/**
-	 * Create an executable descriptor based on the given location, os and name.
-	 * This method is typically used to identify the executable related files in existing
-	 * unmanaged configurations.
-	 * @param os
-	 * @param location
-	 * @param executable
-	 * @return the created descriptor
-	 */
-	public static ExecutablesDescriptor createDescriptor(String os, String executable, File location) {
-		if (Constants.OS_MACOSX.equals(os))
-			return createMacDescriptor(os, executable, location);
-
-		// if it is not Mac and not Windows it must be a UNIX flavor
-		if (!Constants.OS_WIN32.equals(os))
-			return createUnixDescriptor(os, executable, location);
-
-		// Nothing else so it must be Windows
-		return createWindowsDescriptor(os, executable, location);
-	}
-
-	private static ExecutablesDescriptor createWindowsDescriptor(String os, String executable, File location) {
-		ExecutablesDescriptor result = new ExecutablesDescriptor(os, executable, location, null);
-		File file = new File(location, executable + ".exe"); //$NON-NLS-1$
-		if (file.isFile()) {
-			result.addFile(file);
-			result.iniFile = new File(location, executable + ".ini"); //$NON-NLS-1$
-		}
-		file = new File(location, "eclipsec.exe"); //$NON-NLS-1$
-		if (file.isFile())
-			result.addFile(file);
-		return result;
-	}
-
-	private static ExecutablesDescriptor createUnixDescriptor(String os, String executable, File location) {
-		ExecutablesDescriptor result = new ExecutablesDescriptor(os, executable, location, null);
-		File[] files = location.listFiles();
-		for (int i = 0; files != null && i < files.length; i++) {
-			String extension = new Path(files[i].getName()).getFileExtension();
-			if (files[i].isFile() && (extension == null || extension.equals("so"))) //$NON-NLS-1$
-				result.addFile(files[i]);
-		}
-		result.iniFile = new File(location, executable + ".ini"); //$NON-NLS-1$
-		return result;
-	}
-
-	private static ExecutablesDescriptor createMacDescriptor(String os, String executable, File location) {
-		File files[] = location.listFiles(new FilenameFilter() {
-			public boolean accept(File dir, String name) {
-				int length = name.length();
-				return length > 3 && name.substring(length - 4, length).equalsIgnoreCase(".app"); //$NON-NLS-1$
-			}
-		});
-		ExecutablesDescriptor result = new ExecutablesDescriptor(os, executable, location, files);
-		result.iniFile = new File(location, executable + ".ini"); //$NON-NLS-1$
-		return result;
-	}
-
-	public ExecutablesDescriptor(String os, String executable, File location, File[] files) {
-		this.os = os;
-		this.executableName = executable;
-		this.location = location;
-		if (files == null)
-			this.files = new HashSet(11);
-		else {
-			this.files = new HashSet(files.length);
-			for (int i = 0; i < files.length; i++)
-				addAllFiles(files[i]);
-		}
-	}
-
-	public ExecutablesDescriptor(ExecutablesDescriptor descriptor) {
-		this.os = descriptor.os;
-		this.location = descriptor.location;
-		this.executableName = descriptor.executableName;
-		this.temporary = descriptor.temporary;
-		this.files = new HashSet(descriptor.files);
-	}
-
-	public void addAllFiles(File file) {
-		if (file.isFile())
-			files.add(relativize(file));
-		else {
-			File absolute = file.isAbsolute() ? file : new File(location, file.getPath());
-			File[] list = absolute.listFiles();
-			for (int i = 0; i < list.length; i++)
-				addAllFiles(list[i]);
-		}
-	}
-
-	public void addFile(File file) {
-		files.add(relativize(file));
-	}
-
-	// do a simple relativization by removing all the bits before the location
-	private File relativize(File file) {
-		if (!file.isAbsolute())
-			return file;
-		String path = file.getPath();
-		if (!path.startsWith(location.getPath()))
-			throw new IllegalArgumentException(file.toString() + " must be related to " + location); //$NON-NLS-1$
-		path = path.substring(location.getPath().length());
-		// trim off any separator.  This accomodates people who set the location with a trailing /
-		if (path.startsWith("/") || path.startsWith("\\")) //$NON-NLS-1$//$NON-NLS-2$
-			path = path.substring(1);
-		return new File(path);
-	}
-
-	public void removeFile(File file) {
-		files.remove(relativize(file));
-	}
-
-	public void replace(File oldFile, File newFile) {
-		removeFile(oldFile);
-		addFile(newFile);
-	}
-
-	public File[] getFiles() {
-		File[] result = (File[]) files.toArray(new File[files.size()]);
-		for (int i = 0; i < result.length; i++)
-			result[i] = new File(location, result[i].getPath());
-		return result;
-	}
-
-	public String getExecutableName() {
-		return executableName;
-	}
-
-	public File getExecutable() {
-		return findExecutable(os, location, executableName);
-	}
-
-	public File getIniLocation() {
-		return iniFile;
-	}
-
-	public File getLocation() {
-		return location;
-	}
-
-	public void setLocation(File value) {
-		location = value;
-	}
-
-	public boolean isTemporary() {
-		return temporary;
-	}
-
-	public void setExecutableName(String value, boolean updateFiles) {
-		if (updateFiles)
-			updateExecutableName(value);
-		executableName = value;
-	}
-
-	public void makeTemporaryCopy() {
-		if (isTemporary())
-			return;
-		File tempFile = null;
-		try {
-			tempFile = File.createTempFile("p2.brandingIron", ""); //$NON-NLS-1$ //$NON-NLS-2$
-			tempFile.delete();
-			for (Iterator i = files.iterator(); i.hasNext();)
-				FileUtils.copy(location, tempFile, (File) i.next(), true);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
-		}
-		location = tempFile;
-		temporary = true;
-	}
-
-	/**
-	 * If the executable represented by this descriptor has been branded then a mess
-	 * of files have been renamed.  Here scan the descriptor's file list and update the names
-	 * taking into account the different layout on different OSes.
-	 * @param newName the new name of the executable.
-	 */
-	private void updateExecutableName(String newName) {
-		if (newName.equalsIgnoreCase(executableName))
-			return;
-		String targetIni = executableName + ".ini"; //$NON-NLS-1$
-		String targetExecutable = executableName;
-		String executableExtension = Constants.OS_WIN32.equals(os) ? ".exe" : ""; //$NON-NLS-1$ //$NON-NLS-2$
-		targetExecutable = executableName + executableExtension;
-		Set filesCopy = new HashSet(files);
-		for (Iterator i = filesCopy.iterator(); i.hasNext();) {
-			File file = (File) i.next();
-			String base = file.getParent();
-
-			// use String concatenation here because new File("", "foo") is absolute on at least windows...
-			base = base == null ? "" : base + "/"; //$NON-NLS-1$ //$NON-NLS-2$
-			if (Constants.OS_MACOSX.equals(os) && base.startsWith(executableName + ".app")) //$NON-NLS-1$
-				base = newName + ".app" + base.substring(executableName.length() + 4); //$NON-NLS-1$
-			if (file.getName().equalsIgnoreCase(targetExecutable))
-				replace(file, new File(base + newName + executableExtension));
-			else if (file.getName().equalsIgnoreCase(targetIni))
-				replace(file, new File(base + newName + ".ini")); //$NON-NLS-1$
-			else if (Constants.OS_MACOSX.equals(os))
-				replace(file, new File(base + file.getName()));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureManifestParser.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureManifestParser.java
deleted file mode 100644
index ae6239b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureManifestParser.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 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
- *     Cloudsmith Inc - split into FeatureParser and FeatureManifestParser
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import javax.xml.parsers.*;
-import org.eclipse.equinox.p2.publisher.eclipse.Feature;
-import org.eclipse.equinox.p2.publisher.eclipse.FeatureEntry;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parses a feature manifest from a provided stream.
- */
-public class FeatureManifestParser extends DefaultHandler {
-
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-	private SAXParser parser;
-	protected Feature result;
-	private URL url;
-	private StringBuffer characters = null;
-
-	private List messageKeys = new ArrayList();
-
-	public FeatureManifestParser() {
-		this(true);
-	}
-
-	public FeatureManifestParser(boolean createParser) {
-		super();
-		if (!createParser)
-			return;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-
-	public void characters(char[] ch, int start, int length) {
-		if (characters == null)
-			return;
-		characters.append(ch, start, length);
-	}
-
-	protected Feature createFeature(String id, String version) {
-		return new Feature(id, version);
-	}
-
-	public void endElement(String uri, String localName, String qName) {
-		if (characters == null)
-			return;
-		if ("description".equals(localName)) { //$NON-NLS-1$
-			result.setDescription(localize(characters.toString().trim()));
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			result.setLicense(localize(characters.toString().trim()));
-		} else if ("copyright".equals(localName)) { //$NON-NLS-1$
-			result.setCopyright(localize(characters.toString().trim()));
-		}
-		characters = null;
-	}
-
-	public Feature getResult() {
-		return result;
-	}
-
-	private String localize(String value) {
-		if (value != null && value.startsWith("%")) { //$NON-NLS-1$
-			String key = value.substring(1);
-			messageKeys.add(key);
-		}
-		return value;
-	}
-
-	/**
-	 * Parse the given input stream and return a feature object
-	 * or null.
-	 */
-	public Feature parse(InputStream in) {
-		result = null;
-		try {
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	public List getMessageKeys() {
-		return messageKeys;
-	}
-
-	private void processCopyright(Attributes attributes) {
-		result.setCopyrightURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processDescription(Attributes attributes) {
-		result.setDescriptionURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processDiscoverySite(Attributes attributes) {
-		//ignore discovery sites of type 'web'
-		if ("web".equals(attributes.getValue("type"))) //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		result.addDiscoverySite(attributes.getValue("label"), attributes.getValue("url")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	protected void processFeature(Attributes attributes) {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-				|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			//			System.out.println(NLS.bind(Messages.FeatureParser_IdOrVersionInvalid, (new String[] { id, ver})));
-		} else {
-			result = createFeature(id, ver);
-
-			String os = attributes.getValue("os"); //$NON-NLS-1$
-			String ws = attributes.getValue("ws"); //$NON-NLS-1$
-			String nl = attributes.getValue("nl"); //$NON-NLS-1$
-			String arch = attributes.getValue("arch"); //$NON-NLS-1$
-			result.setEnvironment(os, ws, arch, nl);
-
-			result.setApplication(attributes.getValue("application")); //$NON-NLS-1$
-			result.setPlugin(attributes.getValue("plugin")); //$NON-NLS-1$
-			result.setExclusive(Boolean.valueOf(attributes.getValue("exclusive")).booleanValue()); //$NON-NLS-1$
-			result.setPrimary(Boolean.valueOf(attributes.getValue("primary")).booleanValue()); //$NON-NLS-1$
-			result.setColocationAffinity(attributes.getValue("colocation-affinity")); //$NON-NLS-1$
-
-			//TODO rootURLs
-			if (url != null && "file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File f = new File(url.getFile().replace('/', File.separatorChar));
-				result.setURL("features" + "/" + f.getParentFile().getName() + "/");// + f.getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			} else {
-				// externalized URLs might be in relative form, ensure they are absolute				
-				//				feature.setURL(Utils.makeAbsolute(Utils.getInstallURL(), url).toExternalForm());
-			}
-
-			result.setProviderName(localize(attributes.getValue("provider-name"))); //$NON-NLS-1$
-			result.setLabel(localize(attributes.getValue("label"))); //$NON-NLS-1$
-			result.setImage(attributes.getValue("image")); //$NON-NLS-1$
-
-			//			Utils.debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	private void processImport(Attributes attributes) {
-		String id = attributes.getValue("feature"); //$NON-NLS-1$
-		FeatureEntry entry = null;
-		if (id != null) {
-			if ("true".equalsIgnoreCase(attributes.getValue("patch"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				entry = FeatureEntry.createRequires(id, attributes.getValue("version"), "perfect", attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setPatch(true);
-			} else {
-				entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-		} else {
-			id = attributes.getValue("plugin"); //$NON-NLS-1$
-			entry = FeatureEntry.createRequires(id, attributes.getValue("version"), attributes.getValue("match"), attributes.getValue("filter"), true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		result.addEntry(entry);
-	}
-
-	private void processIncludes(Attributes attributes) {
-		FeatureEntry entry = new FeatureEntry(attributes.getValue("id"), attributes.getValue("version"), false); //$NON-NLS-1$ //$NON-NLS-2$
-		String flag = attributes.getValue("optional"); //$NON-NLS-1$
-		if (flag != null)
-			entry.setOptional(Boolean.valueOf(flag).booleanValue());
-		setEnvironment(attributes, entry);
-		result.addEntry(entry);
-	}
-
-	private void processInstallHandler(Attributes attributes) {
-		result.setInstallHandler(attributes.getValue("handler")); //$NON-NLS-1$
-		result.setInstallHandlerLibrary(attributes.getValue("library")); //$NON-NLS-1$
-		result.setInstallHandlerURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-
-	private void processLicense(Attributes attributes) {
-		result.setLicenseURL(attributes.getValue("url")); //$NON-NLS-1$
-		characters = new StringBuffer();
-	}
-
-	private void processPlugin(Attributes attributes) {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String version = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") || version == null || version.trim().equals("")) { //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println(NLS.bind("FeatureParser#processPlugin, ID {0} or version {1} invalid", (new String[] {id, version}))); //$NON-NLS-1$
-		} else {
-			FeatureEntry plugin = new FeatureEntry(id, version, true);
-			setEnvironment(attributes, plugin);
-			String unpack = attributes.getValue("unpack"); //$NON-NLS-1$
-			if (unpack != null)
-				plugin.setUnpack(Boolean.valueOf(unpack).booleanValue());
-			String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
-			if (fragment != null)
-				plugin.setFragment(Boolean.valueOf(fragment).booleanValue());
-			String filter = attributes.getValue("filter"); //$NON-NLS-1$
-			if (filter != null)
-				plugin.setFilter(filter);
-			result.addEntry(plugin);
-
-			//			Utils.debug("End process DefaultFeature tag: id:" + id + " ver:" + ver + " url:" + feature.getURL()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	private void processUpdateSite(Attributes attributes) {
-		result.setUpdateSiteLabel(attributes.getValue("label")); //$NON-NLS-1$
-		result.setUpdateSiteURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-
-	private void setEnvironment(Attributes attributes, FeatureEntry entry) {
-		String os = attributes.getValue("os"); //$NON-NLS-1$
-		String ws = attributes.getValue("ws"); //$NON-NLS-1$
-		String nl = attributes.getValue("nl"); //$NON-NLS-1$
-		String arch = attributes.getValue("arch"); //$NON-NLS-1$
-		entry.setEnvironment(os, ws, arch, nl);
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) {
-		//		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if ("plugin".equals(localName)) { //$NON-NLS-1$
-			processPlugin(attributes);
-		} else if ("description".equals(localName)) { //$NON-NLS-1$
-			processDescription(attributes);
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			processLicense(attributes);
-		} else if ("copyright".equals(localName)) { //$NON-NLS-1$
-			processCopyright(attributes);
-		} else if ("feature".equals(localName)) { //$NON-NLS-1$
-			processFeature(attributes);
-		} else if ("import".equals(localName)) { //$NON-NLS-1$
-			processImport(attributes);
-		} else if ("includes".equals(localName)) { //$NON-NLS-1$
-			processIncludes(attributes);
-		} else if ("install-handler".equals(localName)) { //$NON-NLS-1$
-			processInstallHandler(attributes);
-		} else if ("update".equals(localName)) { //$NON-NLS-1$
-			processUpdateSite(attributes);
-		} else if ("discovery".equals(localName)) { //$NON-NLS-1$
-			processDiscoverySite(attributes);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureParser.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureParser.java
deleted file mode 100644
index 47a8020..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/FeatureParser.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 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
- *     Cloudsmith Inc - split into FeatureParser and FeatureManifestParser
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.*;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.p2.publisher.eclipse.Feature;
-import org.eclipse.equinox.spi.p2.publisher.LocalizationHelper;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * The publisher feature parser. This class parses a feature either in jar or folder
- * form. Feature localization data (feature.properties) is also processed here.
- */
-public class FeatureParser extends DefaultHandler {
-
-	private FeatureManifestParser parser = new FeatureManifestParser();
-
-	/**
-	 * Parses the specified location and constructs a feature. The given location 
-	 * should be either the location of the feature JAR or the directory containing
-	 * the feature.
-	 * 
-	 * @param location the location of the feature to parse.  
-	 */
-	public Feature parse(File location) {
-		if (!location.exists())
-			return null;
-
-		Feature feature = null;
-		if (location.isDirectory()) {
-			//skip directories that don't contain a feature.xml file
-			File file = new File(location, "feature.xml"); //$NON-NLS-1$
-			InputStream input = null;
-			try {
-				input = new BufferedInputStream(new FileInputStream(file));
-				feature = parser.parse(input);
-				if (feature != null) {
-					List messageKeys = parser.getMessageKeys();
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					feature.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
-				}
-			} catch (FileNotFoundException e) {
-				return null;
-			} finally {
-				if (input != null)
-					try {
-						input.close();
-					} catch (IOException e) {
-						//
-					}
-			}
-		} else if (location.getName().endsWith(".jar")) { //$NON-NLS-1$
-			JarFile jar = null;
-			try {
-				jar = new JarFile(location);
-				JarEntry entry = jar.getJarEntry("feature.xml"); //$NON-NLS-1$
-				if (entry == null)
-					return null;
-
-				InputStream input = new BufferedInputStream(jar.getInputStream(entry));
-				feature = parser.parse(input);
-				if (feature != null) {
-					List messageKeys = parser.getMessageKeys();
-					String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-					feature.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(location, "feature", null, keyStrings)); //$NON-NLS-1$
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			} catch (SecurityException e) {
-				LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Exception parsing feature: " + location.getAbsolutePath(), e)); //$NON-NLS-1$
-			} finally {
-				try {
-					if (jar != null)
-						jar.close();
-				} catch (IOException e) {
-					//
-				}
-			}
-		}
-		return feature;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/GeneratorBundleInfo.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/GeneratorBundleInfo.java
deleted file mode 100644
index 7442a08..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/GeneratorBundleInfo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2006, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class GeneratorBundleInfo extends BundleInfo {
-	private IInstallableUnit iu = null;
-	private String specialConfigCommands;
-	private String specialUnconfigCommands;
-
-	public GeneratorBundleInfo(BundleInfo bInfo) {
-		super.setBundleId(bInfo.getBundleId());
-		super.setLocation(bInfo.getLocation());
-		super.setManifest(bInfo.getManifest());
-		super.setMarkedAsStarted(bInfo.isMarkedAsStarted());
-		super.setResolved(bInfo.isResolved());
-		super.setStartLevel(bInfo.getStartLevel());
-		super.setSymbolicName(bInfo.getSymbolicName());
-		super.setVersion(bInfo.getVersion());
-	}
-
-	public GeneratorBundleInfo() {
-		super();
-	}
-
-	public String getSpecialConfigCommands() {
-		return specialConfigCommands;
-	}
-
-	public void setSpecialConfigCommands(String specialConfigCommands) {
-		this.specialConfigCommands = specialConfigCommands;
-	}
-
-	public void setIU(IInstallableUnit iu) {
-		this.iu = iu;
-	}
-
-	public IInstallableUnit getIU() {
-		return iu;
-	}
-
-	public String getSpecialUnconfigCommands() {
-		return specialUnconfigCommands;
-	}
-
-	public void setSpecialUnconfigCommands(String specialUnconfigCommands) {
-		this.specialUnconfigCommands = specialUnconfigCommands;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		String superSt = super.toString();
-		if (superSt.length() > 0)
-			buffer.append(superSt.substring(0, superSt.length() - 1));
-		buffer.append(", this.specialConfigCommands="); //$NON-NLS-1$
-		buffer.append(this.specialConfigCommands);
-		buffer.append(')');
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/IProductDescriptor.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/IProductDescriptor.java
deleted file mode 100644
index cdb7a70..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/IProductDescriptor.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   EclipseSource - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * Represents a product file.  
- * 
- * If getLocation returns null, then config.ini and p2 advice files cannot
- * be used (since these are both relative to the product location).
- *
- */
-public interface IProductDescriptor {
-
-	/**
-	 * Gets the name of the launcher.
-	 */
-	public String getLauncherName();
-
-	/**
-	 * Returns the list of all bundles in this product.
-	 * @param includeFragments whether or not to include the fragments in the return value
-	 * @return the list of bundles in this product
-	 */
-	public List getBundles(boolean includeFragments);
-
-	/**
-	 * Returns a list<VersionedName> of fragments that constitute this product.
-	 */
-	public List getFragments();
-
-	/**
-	 * Returns a List<VersionedName> of features that constitute this product.
-	 */
-	public List getFeatures();
-
-	/**
-	 * Returns the path to the config.ini file as specified in the .product file.
-	 */
-	public String getConfigIniPath(String os);
-
-	/**
-	 * Returns the ID for this product.
-	 */
-	public String getId();
-
-	/**
-	 * Returns the Product extension point ID
-	 */
-	public String getProductId();
-
-	/**
-	 * Returns the Applicaiton extension point ID
-	 */
-	public String getApplication();
-
-	/**
-	 * Returns the ID of the bundle in which the splash screen resides.
-	 */
-	public String getSplashLocation();
-
-	/**
-	 * Returns the name of the product
-	 */
-	public String getProductName();
-
-	/**
-	 * Specifies whether this product was built using features or not.
-	 */
-	public boolean useFeatures();
-
-	/**
-	 * Returns the version of the product.
-	 */
-	public String getVersion();
-
-	/**
-	 * Returns the VM arguments for this product for a given OS.
-	 */
-	public String getVMArguments(String os);
-
-	/**
-	 * Returns the program arguments for this product for a given OS.
-	 */
-	public String getProgramArguments(String os);
-
-	/**
-	 * Returns the properties for a product file.
-	 */
-	public Properties getConfigurationProperties();
-
-	/**
-	 * Returns a list of icons for this product for a given OS.
-	 */
-	public String[] getIcons(String os);
-
-	/**
-	 * Returns a List<BundleInfo> for each bundle that has custom configuration data.
-	 * @return A List<BundleInfo>
-	 */
-	public List getBundleInfos();
-
-	/**
-	 * This is needed for config.ini files and p2 advice
-	 */
-	public File getLocation();
-
-	/**
-	 * Returns the license URL for this product
-	 */
-	public String getLicenseURL();
-
-	/**
-	 * Returns the license text for this product
-	 */
-	public String getLicenseText();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
deleted file mode 100644
index a2900bf..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ProductFile.java
+++ /dev/null
@@ -1,749 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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
- *     Code 9 - Additional function and fixes
- *     EclipseSource - ongoing development
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.publisher.eclipse;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionedId;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- *  Used to parse a .product file.
- */
-public class ProductFile extends DefaultHandler implements IProductDescriptor {
-	private static final String ATTRIBUTE_PATH = "path"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_ICON = "icon"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_FRAGMENT = "fragment"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_APPLICATION = "application"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_VALUE = "value"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_LOCATION = "location"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_AUTO_START = "autoStart"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_START_LEVEL = "startLevel"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_VERSION = "version"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_UID = "uid"; //$NON-NLS-1$
-
-	private static final String PROPERTY_ECLIPSE_APPLICATION = "eclipse.application"; //$NON-NLS-1$
-	private static final String PROPERTY_ECLIPSE_PRODUCT = "eclipse.product"; //$NON-NLS-1$
-
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-
-	private static final String PROGRAM_ARGS = "programArgs"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_LINUX = "programArgsLin"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_MAC = "programArgsMac"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_SOLARIS = "programArgsSol"; //$NON-NLS-1$
-	private static final String PROGRAM_ARGS_WIN = "programArgsWin"; //$NON-NLS-1$
-	private static final String VM_ARGS = "vmArgs"; //$NON-NLS-1$
-	private static final String VM_ARGS_LINUX = "vmArgsLin"; //$NON-NLS-1$
-	private static final String VM_ARGS_MAC = "vmArgsMac"; //$NON-NLS-1$
-	private static final String VM_ARGS_SOLARIS = "vmArgsSol"; //$NON-NLS-1$
-	private static final String VM_ARGS_WIN = "vmArgsWin"; //$NON-NLS-1$
-
-	private static final String SOLARIS_LARGE = "solarisLarge"; //$NON-NLS-1$
-	private static final String SOLARIS_MEDIUM = "solarisMedium"; //$NON-NLS-1$
-	private static final String SOLARIS_SMALL = "solarisSmall"; //$NON-NLS-1$
-	private static final String SOLARIS_TINY = "solarisTiny"; //$NON-NLS-1$
-	private static final String WIN32_16_LOW = "winSmallLow"; //$NON-NLS-1$
-	private static final String WIN32_16_HIGH = "winSmallHigh"; //$NON-NLS-1$
-	private static final String WIN32_24_LOW = "win24Low"; //$NON-NLS-1$
-	private static final String WIN32_32_LOW = "winMediumLow"; //$NON-NLS-1$
-	private static final String WIN32_32_HIGH = "winMediumHigh"; //$NON-NLS-1$
-	private static final String WIN32_48_LOW = "winLargeLow"; //$NON-NLS-1$
-	private static final String WIN32_48_HIGH = "winLargeHigh"; //$NON-NLS-1$
-
-	private static final String OS_WIN32 = "win32";//$NON-NLS-1$
-	private static final String OS_LINUX = "linux";//$NON-NLS-1$
-	private static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
-	private static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
-	//element names
-	private static final String EL_FEATURES = "features"; //$NON-NLS-1$
-	private static final String EL_FEATURE = "feature"; //$NON-NLS-1$
-	private static final String EL_PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String EL_PLUGIN = "plugin"; //$NON-NLS-1$
-	private static final String EL_PRODUCT = "product"; //$NON-NLS-1$
-	private static final String EL_PROPERTY = "property"; //$NON-NLS-1$
-	private static final String EL_CONFIG_INI = "configIni"; //$NON-NLS-1$
-	private static final String EL_LAUNCHER = "launcher"; //$NON-NLS-1$
-	private static final String EL_LAUNCHER_ARGS = "launcherArgs"; //$NON-NLS-1$
-	private static final String EL_SPLASH = "splash"; //$NON-NLS-1$
-	private static final String EL_CONFIGURATIONS = "configurations"; //$NON-NLS-1$
-	private static final String EL_LICENSE = "license"; //$NON-NLS-1$
-	private static final String EL_URL = "url"; //$NON-NLS-1$
-	private static final String EL_TEXT = "text"; //$NON-NLS-1$
-
-	//These constants form a small state machine to parse the .product file
-	private static final int STATE_START = 0;
-	private static final int STATE_PRODUCT = 1;
-	private static final int STATE_LAUNCHER = 2;
-	private static final int STATE_LAUNCHER_ARGS = 3;
-	private static final int STATE_PLUGINS = 4;
-	private static final int STATE_FEATURES = 5;
-	private static final int STATE_PROGRAM_ARGS = 6;
-	private static final int STATE_PROGRAM_ARGS_LINUX = 7;
-	private static final int STATE_PROGRAM_ARGS_MAC = 8;
-	private static final int STATE_PROGRAM_ARGS_SOLARIS = 9;
-	private static final int STATE_PROGRAM_ARGS_WIN = 10;
-	private static final int STATE_VM_ARGS = 11;
-	private static final int STATE_VM_ARGS_LINUX = 12;
-	private static final int STATE_VM_ARGS_MAC = 13;
-	private static final int STATE_VM_ARGS_SOLARIS = 14;
-	private static final int STATE_VM_ARGS_WIN = 15;
-	private static final int STATE_CONFIG_INI = 16;
-	private static final int STATE_CONFIGURATIONS = 17;
-	private static final int STATE_LICENSE = 18;
-	private static final int STATE_LICENSE_URL = 19;
-	private static final int STATE_LICENSE_TEXT = 20;
-
-	private int state = STATE_START;
-
-	private SAXParser parser;
-	private String launcherName = null;
-	//	private boolean useIco = false;
-	private Map icons = new HashMap(6);
-	private String configPath = null;
-	private final Map platformSpecificConfigPaths = new HashMap();
-	private String configPlatform = null;
-	private String platformConfigPath = null;
-	private String id = null;
-	private String uid = null;
-	private boolean useFeatures = false;
-	private List plugins = null;
-	private List fragments = null;
-	private List features = null;
-	private String splashLocation = null;
-	private String productName = null;
-	private String application = null;
-	private String version = null;
-	private Properties launcherArgs = new Properties();
-	private File location;
-	private List bundleInfos;
-	private Properties properties;
-	private String licenseURL;
-	private String licenseText = null;
-
-	private static String normalize(String text) {
-		if (text == null || text.trim().length() == 0)
-			return ""; //$NON-NLS-1$
-
-		StringBuffer result = new StringBuffer(text.length());
-		boolean haveSpace = false;
-		for (int i = 0; i < text.length(); i++) {
-			char c = text.charAt(i);
-			if (Character.isWhitespace(c)) {
-				if (haveSpace)
-					continue;
-				haveSpace = true;
-				result.append(" "); //$NON-NLS-1$
-			} else {
-				haveSpace = false;
-				result.append(c);
-			}
-		}
-		return result.toString();
-	}
-
-	/**
-	 * Constructs a product file parser.
-	 */
-	public ProductFile(String location) throws Exception {
-		super();
-		this.location = new File(location);
-
-		parserFactory.setNamespaceAware(true);
-		parser = parserFactory.newSAXParser();
-		InputStream in = new BufferedInputStream(new FileInputStream(location));
-		try {
-			parser.parse(new InputSource(in), this);
-		} finally {
-			if (in != null)
-				in.close();
-		}
-		parser = null;
-	}
-
-	/**
-	 * Gets the name of the launcher specified in the .product file.
-	 */
-	public String getLauncherName() {
-		return launcherName;
-	}
-
-	/**
-	 * Gets the location of the .product file.
-	 */
-	public File getLocation() {
-		return location;
-	}
-
-	/**
-	 * Returns the properties found in .product file.  Properties
-	 * are located in the <configurations> block of the file
-	 */
-	public Properties getConfigurationProperties() {
-		Properties result = properties != null ? properties : new Properties();
-		if (application != null && !result.contains(PROPERTY_ECLIPSE_APPLICATION))
-			result.put(PROPERTY_ECLIPSE_APPLICATION, application);
-		if (id != null && !result.contains(PROPERTY_ECLIPSE_PRODUCT))
-			result.put(PROPERTY_ECLIPSE_PRODUCT, id);
-
-		return result;
-	}
-
-	/**
-	 * Returns a List<VersionedName> for each bundle that makes up this product.
-	 * @param includeFragments Indicates whether or not fragments should
-	 * be included in the list
-	 */
-	public List getBundles(boolean includeFragments) {
-		List p = plugins != null ? plugins : Collections.EMPTY_LIST;
-		if (!includeFragments)
-			return p;
-
-		List f = fragments != null ? fragments : Collections.EMPTY_LIST;
-		int size = p.size() + f.size();
-		if (size == 0)
-			return Collections.EMPTY_LIST;
-
-		List both = new ArrayList(size);
-		both.addAll(p);
-		both.addAll(f);
-		return both;
-	}
-
-	/**
-	 * Returns a List<BundleInfo> for each bundle that has custom configuration data
-	 * in the product file.
-	 * @return A List<BundleInfo>
-	 */
-	public List getBundleInfos() {
-		return bundleInfos != null ? bundleInfos : Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Returns a list<VersionedName> of fragments that constitute this product.
-	 */
-	public List getFragments() {
-		if (fragments == null)
-			return Collections.EMPTY_LIST;
-		return fragments;
-	}
-
-	/**
-	 * Returns a List<VersionedName> of features that constitute this product.
-	 */
-	public List getFeatures() {
-		if (features == null)
-			return Collections.EMPTY_LIST;
-		return features;
-	}
-
-	public String[] getIcons(String os) {
-		Collection result = (Collection) icons.get(os);
-		if (result == null)
-			return null;
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	public String getConfigIniPath(String os) {
-		String specific = (String) platformSpecificConfigPaths.get(os);
-		return specific == null ? configPath : specific;
-	}
-
-	public String getConfigIniPath() {
-		return configPath;
-	}
-
-	/**
-	 * Returns the ID for this product.
-	 */
-	public String getId() {
-		if (uid != null)
-			return uid;
-		return id;
-	}
-
-	public String getProductId() {
-		return id;
-	}
-
-	/**
-	 * Returns the location (the bundle) that defines the splash screen
-	 */
-	public String getSplashLocation() {
-		return splashLocation;
-	}
-
-	/**
-	 * Returns the product name.
-	 */
-	public String getProductName() {
-		return productName;
-	}
-
-	/**
-	 * Returns the application identifier for this product.
-	 */
-	public String getApplication() {
-		return application;
-	}
-
-	/**
-	 * Returns true if this product is built using feature, 
-	 * false otherwise.
-	 */
-	public boolean useFeatures() {
-		return useFeatures;
-	}
-
-	/**
-	 * Returns the version of the product
-	 */
-	public String getVersion() {
-		return (version == null || version.length() == 0) ? "0.0.0" : version; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the VM arguments for a specific platform.
-	 * If the empty string is used for the OS, this returns
-	 * the default VM arguments
-	 */
-	public String getVMArguments(String os) {
-		os = os == null ? "" : os; //$NON-NLS-1$
-		String key = null;
-		if (os.equals(OS_WIN32)) {
-			key = VM_ARGS_WIN;
-		} else if (os.equals(OS_LINUX)) {
-			key = VM_ARGS_LINUX;
-		} else if (os.equals(OS_MACOSX)) {
-			key = VM_ARGS_MAC;
-		} else if (os.equals(OS_SOLARIS)) {
-			key = VM_ARGS_SOLARIS;
-		}
-
-		String prefix = launcherArgs.getProperty(VM_ARGS);
-		String platform = null, args = null;
-		if (key != null)
-			platform = launcherArgs.getProperty(key);
-		if (prefix != null)
-			args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
-		else
-			args = platform != null ? platform : ""; //$NON-NLS-1$
-		return normalize(args);
-	}
-
-	/**
-	 * Returns the program arguments for a specific platform.
-	 * If the empty string is used for the OS, this returns
-	 * the default program arguments
-	 */
-	public String getProgramArguments(String os) {
-		os = os == null ? "" : os; //$NON-NLS-1$
-		String key = null;
-		if (os.equals(OS_WIN32)) {
-			key = PROGRAM_ARGS_WIN;
-		} else if (os.equals(OS_LINUX)) {
-			key = PROGRAM_ARGS_LINUX;
-		} else if (os.equals(OS_MACOSX)) {
-			key = PROGRAM_ARGS_MAC;
-		} else if (os.equals(OS_SOLARIS)) {
-			key = PROGRAM_ARGS_SOLARIS;
-		}
-
-		String prefix = launcherArgs.getProperty(PROGRAM_ARGS);
-		String platform = null, args = null;
-		if (key != null)
-			platform = launcherArgs.getProperty(key);
-		if (prefix != null)
-			args = platform != null ? prefix + " " + platform : prefix; //$NON-NLS-1$
-		else
-			args = platform != null ? platform : ""; //$NON-NLS-1$
-		return normalize(args);
-	}
-
-	public String getLicenseText() {
-		return licenseText;
-	}
-
-	public String getLicenseURL() {
-		return licenseURL;
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) {
-		switch (state) {
-			case STATE_START :
-				if (EL_PRODUCT.equals(localName)) {
-					processProduct(attributes);
-					state = STATE_PRODUCT;
-				}
-				break;
-
-			case STATE_PRODUCT :
-				if (EL_CONFIG_INI.equals(localName)) {
-					processConfigIni(attributes);
-					state = STATE_CONFIG_INI;
-				} else if (EL_LAUNCHER.equals(localName)) {
-					processLauncher(attributes);
-					state = STATE_LAUNCHER;
-				} else if (EL_PLUGINS.equals(localName)) {
-					state = STATE_PLUGINS;
-				} else if (EL_FEATURES.equals(localName)) {
-					state = STATE_FEATURES;
-				} else if (EL_LAUNCHER_ARGS.equals(localName)) {
-					state = STATE_LAUNCHER_ARGS;
-				} else if (EL_SPLASH.equals(localName)) {
-					splashLocation = attributes.getValue(ATTRIBUTE_LOCATION);
-				} else if (EL_CONFIGURATIONS.equals(localName)) {
-					state = STATE_CONFIGURATIONS;
-				} else if (EL_LICENSE.equals(localName)) {
-					state = STATE_LICENSE;
-				}
-				break;
-
-			case STATE_CONFIG_INI :
-				processConfigIniPlatform(localName, true);
-				break;
-
-			case STATE_LAUNCHER :
-				if (OS_SOLARIS.equals(localName)) {
-					processSolaris(attributes);
-				} else if ("win".equals(localName)) { //$NON-NLS-1$
-					processWin(attributes);
-				} else if (OS_LINUX.equals(localName)) {
-					processLinux(attributes);
-				} else if (OS_MACOSX.equals(localName)) {
-					processMac(attributes);
-				}
-				if ("ico".equals(localName)) { //$NON-NLS-1$
-					processIco(attributes);
-				} else if ("bmp".equals(localName)) { //$NON-NLS-1$
-					processBmp(attributes);
-				}
-				break;
-
-			case STATE_LAUNCHER_ARGS :
-				if (PROGRAM_ARGS.equals(localName)) {
-					state = STATE_PROGRAM_ARGS;
-				} else if (PROGRAM_ARGS_LINUX.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_LINUX;
-				} else if (PROGRAM_ARGS_MAC.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_MAC;
-				} else if (PROGRAM_ARGS_SOLARIS.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_SOLARIS;
-				} else if (PROGRAM_ARGS_WIN.equals(localName)) {
-					state = STATE_PROGRAM_ARGS_WIN;
-				} else if (VM_ARGS.equals(localName)) {
-					state = STATE_VM_ARGS;
-				} else if (VM_ARGS_LINUX.equals(localName)) {
-					state = STATE_VM_ARGS_LINUX;
-				} else if (VM_ARGS_MAC.equals(localName)) {
-					state = STATE_VM_ARGS_MAC;
-				} else if (VM_ARGS_SOLARIS.equals(localName)) {
-					state = STATE_VM_ARGS_SOLARIS;
-				} else if (VM_ARGS_WIN.equals(localName)) {
-					state = STATE_VM_ARGS_WIN;
-				}
-				break;
-
-			case STATE_PLUGINS :
-				if (EL_PLUGIN.equals(localName)) {
-					processPlugin(attributes);
-				}
-				break;
-
-			case STATE_LICENSE :
-				if (EL_URL.equals(localName)) {
-					state = STATE_LICENSE_URL;
-				} else if (EL_TEXT.equals(localName)) {
-					licenseText = ""; //$NON-NLS-1$
-					state = STATE_LICENSE_TEXT;
-				}
-				break;
-
-			case STATE_FEATURES :
-				if (EL_FEATURE.equals(localName)) {
-					processFeature(attributes);
-				}
-				break;
-			case STATE_CONFIGURATIONS :
-				if (EL_PLUGIN.equals(localName)) {
-					processPluginConfiguration(attributes);
-				} else if (EL_PROPERTY.equals(localName)) {
-					processPropertyConfiguration(attributes);
-				}
-				break;
-		}
-	}
-
-	/**
-	 * Processes the property tag in the .product file.  These tags contain
-	 * a Name and Value pair.  For each tag (with a non-null name), a property 
-	 * is created.
-	 */
-	private void processPropertyConfiguration(Attributes attributes) {
-		String name = attributes.getValue(ATTRIBUTE_NAME);
-		String value = attributes.getValue(ATTRIBUTE_VALUE);
-		if (name == null)
-			return;
-		if (value == null)
-			value = ""; //$NON-NLS-1$
-		if (properties == null)
-			properties = new Properties();
-		properties.put(name, value);
-	}
-
-	private void processPluginConfiguration(Attributes attributes) {
-		BundleInfo info = new BundleInfo();
-		info.setSymbolicName(attributes.getValue(ATTRIBUTE_ID));
-		info.setVersion(attributes.getValue(ATTRIBUTE_VERSION));
-		String value = attributes.getValue(ATTRIBUTE_START_LEVEL);
-		if (value != null) {
-			int startLevel = Integer.parseInt(value);
-			if (startLevel > 0)
-				info.setStartLevel(startLevel);
-		}
-		value = attributes.getValue(ATTRIBUTE_AUTO_START);
-		if (value != null)
-			info.setMarkedAsStarted(Boolean.valueOf(value).booleanValue());
-		if (bundleInfos == null)
-			bundleInfos = new ArrayList();
-		bundleInfos.add(info);
-	}
-
-	public void endElement(String uri, String localName, String qName) {
-		switch (state) {
-			case STATE_PLUGINS :
-				if (EL_PLUGINS.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_FEATURES :
-				if (EL_FEATURES.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_LAUNCHER_ARGS :
-				if (EL_LAUNCHER_ARGS.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_LAUNCHER :
-				if (EL_LAUNCHER.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_CONFIGURATIONS :
-				if (EL_CONFIGURATIONS.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-			case STATE_LICENSE :
-				if (EL_LICENSE.equals(localName))
-					state = STATE_PRODUCT;
-				break;
-
-			case STATE_PROGRAM_ARGS :
-			case STATE_PROGRAM_ARGS_LINUX :
-			case STATE_PROGRAM_ARGS_MAC :
-			case STATE_PROGRAM_ARGS_SOLARIS :
-			case STATE_PROGRAM_ARGS_WIN :
-			case STATE_VM_ARGS :
-			case STATE_VM_ARGS_LINUX :
-			case STATE_VM_ARGS_MAC :
-			case STATE_VM_ARGS_SOLARIS :
-			case STATE_VM_ARGS_WIN :
-				state = STATE_LAUNCHER_ARGS;
-				break;
-			case STATE_LICENSE_URL :
-			case STATE_LICENSE_TEXT :
-				state = STATE_LICENSE;
-				break;
-
-			case STATE_CONFIG_INI :
-				if (EL_CONFIG_INI.equals(localName))
-					state = STATE_PRODUCT;
-				else
-					processConfigIniPlatform(localName, false);
-				break;
-		}
-	}
-
-	public void characters(char[] ch, int start, int length) {
-		switch (state) {
-			case STATE_PROGRAM_ARGS :
-				addLaunchArgumentToMap(PROGRAM_ARGS, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_LINUX :
-				addLaunchArgumentToMap(PROGRAM_ARGS_LINUX, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_MAC :
-				addLaunchArgumentToMap(PROGRAM_ARGS_MAC, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_SOLARIS :
-				addLaunchArgumentToMap(PROGRAM_ARGS_SOLARIS, String.valueOf(ch, start, length));
-				break;
-			case STATE_PROGRAM_ARGS_WIN :
-				addLaunchArgumentToMap(PROGRAM_ARGS_WIN, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS :
-				addLaunchArgumentToMap(VM_ARGS, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_LINUX :
-				addLaunchArgumentToMap(VM_ARGS_LINUX, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_MAC :
-				addLaunchArgumentToMap(VM_ARGS_MAC, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_SOLARIS :
-				addLaunchArgumentToMap(VM_ARGS_SOLARIS, String.valueOf(ch, start, length));
-				break;
-			case STATE_VM_ARGS_WIN :
-				addLaunchArgumentToMap(VM_ARGS_WIN, String.valueOf(ch, start, length));
-				break;
-			case STATE_CONFIG_INI :
-				if (platformConfigPath != null)
-					platformConfigPath += String.valueOf(ch, start, length);
-				break;
-			case STATE_LICENSE_URL :
-				licenseURL = String.valueOf(ch, start, length);
-				break;
-			case STATE_LICENSE_TEXT :
-				if (licenseText != null)
-					licenseText += String.valueOf(ch, start, length);
-				break;
-
-		}
-	}
-
-	private void addLaunchArgumentToMap(String key, String value) {
-		if (launcherArgs == null)
-			launcherArgs = new Properties();
-
-		String oldValue = launcherArgs.getProperty(key);
-		if (oldValue != null)
-			launcherArgs.setProperty(key, oldValue + value);
-		else
-			launcherArgs.setProperty(key, value);
-	}
-
-	private void processPlugin(Attributes attributes) {
-		String fragment = attributes.getValue(ATTRIBUTE_FRAGMENT);
-		IVersionedId name = new VersionedId(attributes.getValue(ATTRIBUTE_ID), attributes.getValue(ATTRIBUTE_VERSION));
-		if (fragment != null && new Boolean(fragment).booleanValue()) {
-			if (fragments == null)
-				fragments = new ArrayList();
-			fragments.add(name);
-		} else {
-			if (plugins == null)
-				plugins = new ArrayList();
-			plugins.add(name);
-		}
-	}
-
-	private void processFeature(Attributes attributes) {
-		IVersionedId name = new VersionedId(attributes.getValue(ATTRIBUTE_ID), attributes.getValue(ATTRIBUTE_VERSION));
-		if (features == null)
-			features = new ArrayList();
-		features.add(name);
-	}
-
-	private void processProduct(Attributes attributes) {
-		id = attributes.getValue(ATTRIBUTE_ID);
-		uid = attributes.getValue(ATTRIBUTE_UID);
-		productName = attributes.getValue(ATTRIBUTE_NAME);
-		application = attributes.getValue(ATTRIBUTE_APPLICATION);
-		String use = attributes.getValue("useFeatures"); //$NON-NLS-1$
-		if (use != null)
-			useFeatures = Boolean.valueOf(use).booleanValue();
-		version = attributes.getValue(ATTRIBUTE_VERSION);
-	}
-
-	private void processConfigIni(Attributes attributes) {
-		String path = null;
-		if ("custom".equals(attributes.getValue("use"))) { //$NON-NLS-1$//$NON-NLS-2$
-			path = attributes.getValue(ATTRIBUTE_PATH);
-		}
-		String os = attributes.getValue("os"); //$NON-NLS-1$
-		if (os != null && os.length() > 0) {
-			// TODO should we allow a platform-specific default to over-ride a custom generic path?
-			if (path != null)
-				platformSpecificConfigPaths.put(os, path);
-		} else if (path != null) {
-			configPath = path;
-		}
-	}
-
-	private void processConfigIniPlatform(String key, boolean begin) {
-		if (begin) {
-			configPlatform = key;
-			platformConfigPath = ""; //$NON-NLS-1$
-		} else if (configPlatform.equals(key) && platformConfigPath.length() > 0) {
-			platformSpecificConfigPaths.put(key, platformConfigPath);
-			platformConfigPath = null;
-		}
-	}
-
-	private void processLauncher(Attributes attributes) {
-		launcherName = attributes.getValue(ATTRIBUTE_NAME);
-	}
-
-	private void addIcon(String os, String value) {
-		if (value == null)
-			return;
-		Collection list = (Collection) icons.get(os);
-		if (list == null) {
-			list = new ArrayList(6);
-			icons.put(os, list);
-		}
-		if (!new File(value).isAbsolute())
-			value = new File(location.getParentFile(), value).getAbsolutePath();
-		list.add(value);
-	}
-
-	private void processSolaris(Attributes attributes) {
-		addIcon(OS_SOLARIS, attributes.getValue(SOLARIS_LARGE));
-		addIcon(OS_SOLARIS, attributes.getValue(SOLARIS_MEDIUM));
-		addIcon(OS_SOLARIS, attributes.getValue(SOLARIS_SMALL));
-		addIcon(OS_SOLARIS, attributes.getValue(SOLARIS_TINY));
-	}
-
-	private void processWin(Attributes attributes) {
-		//		useIco = Boolean.valueOf(attributes.getValue(P_USE_ICO)).booleanValue();
-	}
-
-	private void processIco(Attributes attributes) {
-		addIcon(OS_WIN32, attributes.getValue(ATTRIBUTE_PATH));
-	}
-
-	private void processBmp(Attributes attributes) {
-		addIcon(OS_WIN32, attributes.getValue(WIN32_16_HIGH));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_16_LOW));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_24_LOW));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_32_HIGH));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_32_LOW));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_48_HIGH));
-		addIcon(OS_WIN32, attributes.getValue(WIN32_48_LOW));
-	}
-
-	private void processLinux(Attributes attributes) {
-		addIcon(OS_LINUX, attributes.getValue(ATTRIBUTE_ICON));
-	}
-
-	private void processMac(Attributes attributes) {
-		addIcon(OS_MACOSX, attributes.getValue(ATTRIBUTE_ICON));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/messages.properties b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/messages.properties
deleted file mode 100644
index d038203..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/publisher/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-exception_errorConverting = An error occurred while generating manifest for {0}.
-exception_stateAddition = An error has occurred while adding the bundle {0}.
-exception_errorReadingManifest = An error occurred while parsing the bundle manifest {0}: {1}.
-exception_errorLoadingManifest = An error occurred while loading the manifest {0}.
-exception_noBundlesOrLocations=No bundles or locations provided.
-exception_noFeaturesOrLocations=No features or locations provided.
-exception_noPluginConverter=Unable to acquire PluginConverter service during generation for: {0}.
-exception_noArtifactRepo=An artifact repository must be specified in order to publish artifacts.
-exception_noMetadataRepo=A metadata repository must be specified.
-exception_invalidSiteReference=Invalid site reference: {0}
-exception_invalidSiteReferenceInFeature=Invalid site reference {0} in feature {1}.
-exception_repoMustBeURL=Repository location ({0}) must be a URL.
-exception_sourcePath=Source location ({0}) must be a valid file-system path.
-message_generatingMetadata = Generating metadata for {0}.
-message_generationCompleted = Generation completed with success [{0} seconds].
-message_noSimpleconfigurator = Could not find simpleconfigurator bundle.
-
-error_rootIU_generation = Could not generate root IU {0}, {1}, {2}..
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/swt/tools/IconExe.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/swt/tools/IconExe.java
deleted file mode 100644
index 3efd455..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/internal/p2/swt/tools/IconExe.java
+++ /dev/null
@@ -1,3339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.swt.tools;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Customize the icon of a Windows exe
- * 
- * WARNING! This class is not part of SWT API. It is NOT API. It is an internal
- * tool that may be changed or removed at anytime.
- * 
- * Based on MSDN "An In-Depth Look into the Win32 Portable Executable File Format".
- * 
- * Win x64 support (Bug #238001) based on MSDN "x64 Primer: Everything You Need To 
- * Know To Start Programming 64-Bit Windows Systems".
- */
-public class IconExe {
-	
-	 /**
-	 * Replace the Desktop icons provided in the Windows executable program
-	 * with matching icons provided by the user.
-	 *
- 	 * Takes 2 arguments
-	 * argument 0: the Windows executable e.g c:/eclipse/eclipse.exe
-	 * argument 1: The .ico file to write to the given executable e.g. c:/myApp.ico
-	 *
-	 * Note 1. Write access to the executable program is required. As a result, that
-	 * program must not be currently running or edited elsewhere.
-	 * 
-     * Note 2. The Eclipse 3.4 launcher requires an .ico file with the following 7 images (in any order).
-     * 1. 48x48, 32 bit (RGB / Alpha Channel)
-     * 2. 32x32, 32 bit (RGB / Alpha Channel)
-     * 3. 16x16, 32 bit (RGB / Alpha Channel)
-     * 4. 48x48, 8 bit (256 colors)
-     * 5. 32x32, 8 bit (256 colors)
-     * 6. 24x24, 8 bit (256 colors)
-     * 7. 16x16, 8 bit (256 colors)	 
-     * A user icon matching exactly the width/height/depth of an executable icon will be written
-	 * to the executable and will replace that executable icon. If an executable icon
-	 * does not match a user icon, it is silently left as is.
-	 * 
-	 * Note 3. This function modifies the content of the executable program and may cause
-	 * its corruption.
-	 */
-	public static void main(String[] args) throws Exception {
-		if (args.length < 2) {
-			System.err.println("Usage: IconExe <windows executable> <ico file>"); //$NON-NLS-1$
-			return;
-		}
-		ImageLoader loader = new ImageLoader();
-
-		List images = new ArrayList();
-		for (int i = 1; i < args.length; i++) {
-			try {
-				//An ICO should contain 7 images, a BMP will contain 1
-				ImageData[] current = loader.load(args[i]);
-				for (int j = 0; j < current.length; j++) {
-					images.add(current[j]);
-				}
-			} catch (RuntimeException e) {
-				//ignore so that we process the other images
-			}
-		}
-		ImageData[] data = new ImageData[images.size()];
-		data = (ImageData[]) images.toArray(data);
-		
-		int nMissing = unloadIcons(args[0], data);
-		if (nMissing != 0)
-			System.err.println("Error - " + nMissing + " icon(s) not replaced in " + args[0] + " using " + args[1]); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-	
-	/* Implementation */
-
-	/** 
-	 * Retrieve the Desktop icons provided in the Windows executable program.
-	 * These icons are typically shown in various places of the Windows desktop.
-	 * 
-     * Note. The Eclipse 3.4 launcher returns the following 7 images (in any order).
-     * 1. 48x48, 32 bit (RGB / Alpha Channel)
-     * 2. 32x32, 32 bit (RGB / Alpha Channel)
-     * 3. 16x16, 32 bit (RGB / Alpha Channel)
-     * 4. 48x48, 8 bit (256 colors)
-     * 5. 32x32, 8 bit (256 colors)
-     * 6. 24x24, 8 bit (256 colors)
-     * 7. 16x16, 8 bit (256 colors)
-	 * 
-	 * @param program the Windows executable e.g c:/eclipse/eclipse.exe
-	 */	
-	static ImageData[] loadIcons(String program) throws FileNotFoundException, IOException {
-		RandomAccessFile raf = new RandomAccessFile(program, "r"); //$NON-NLS-1$
-		IconExe iconExe = new IconExe();
-		IconResInfo[] iconInfo = iconExe.getIcons(raf);
-		ImageData[] data = new ImageData[iconInfo.length];
-		for (int i = 0; i < data.length; i++) data[i] = iconInfo[i].data;
-		raf.close();
-		return data;
-	}
-	
-	/** 
-	 * Replace the Desktop icons provided in the Windows executable program
-	 * with icons provided by the user.
-	 * 
-	 * Note 1. Write access to the executable program is required. As a result, that
-	 * program must not be currently running or edited elsewhere.
-	 * 
-	 * Note 2. Use loadIcons to determine which set of icons (width, height, depth)
-	 * is required to replace the icons in the executable program. A user icon
-	 * matching exactly the width/height/depth of an executable icon will be written
-	 * to the executable and will replace that executable icon. If an executable icon
-	 * does not match a user icon, it is left as is. Verify the return value matches
-	 * the number of icons to write. Finally, use loadIcons after this operation
-	 * to verify the icons have changed as expected.
-	 * 
-	 * Note 3. The Eclipse 3.4 launcher requires the following 7 images (in any order).
-	 * 1. 48x48, 32 bit (RGB / Alpha Channel)
-	 * 2. 32x32, 32 bit (RGB / Alpha Channel)
-	 * 3. 16x16, 32 bit (RGB / Alpha Channel)
-     * 4. 48x48, 8 bit (256 colors)
-	 * 5. 32x32, 8 bit (256 colors)
-     * 6. 24x24, 8 bit (256 colors)
-     * 7. 16x16, 8 bit (256 colors)
-	 * 
-	 * Note 4. This function modifies the content of the executable program and may cause
-	 * its corruption. 
-	 * 
-	 * @param program the Windows executable e.g c:/eclipse/eclipse.exe
-	 * @param icons to write to the given executable
-	 * @return the number of icons from the original program that were not successfully replaced (0 if success)
-	 */	
-	static int unloadIcons(String program, ImageData[] icons) throws FileNotFoundException, IOException {
-		RandomAccessFile raf = new RandomAccessFile(program, "rw"); //$NON-NLS-1$
-		IconExe iconExe = new IconExe();
-		IconResInfo[] iconInfo = iconExe.getIcons(raf);
-		// Display an error if  no icons found in target executable.
-		if (iconInfo.length == 0) {
-		    System.err.println("Warning - no icons detected in \"" + program + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-		    raf.close();
-		    return 0;
-		}
-		int cnt = 0;
-		for (int i = 0; i < iconInfo.length; i++) {
-			for (int j = 0; j < icons.length; j++) {
-				if (icons[j] == null)
-					continue;
-				if (iconInfo[i].data.width == icons[j].width && iconInfo[i].data.height == icons[j].height && iconInfo[i].data.depth == icons[j].depth) {
-					raf.seek(iconInfo[i].offset);
-					unloadIcon(raf, icons[j]);
-					cnt++;
-					break;
-				}
-			}
-		}
-		raf.close();
-		return iconInfo.length - cnt;
-	}
-	
-	public static final String VERSION = "20050124"; //$NON-NLS-1$
-	
-	static final boolean DEBUG = false;
-	public static class IconResInfo {
-		ImageData data;
-		int offset;
-		int size;
-	}
-	
-	IconResInfo[] iconInfo = null;
-	int iconCnt;
-	
-	IconResInfo[] getIcons(RandomAccessFile raf) throws IOException {
-		iconInfo = new IconResInfo[4];
-		iconCnt = 0;
-		IMAGE_DOS_HEADER imageDosHeader = new IMAGE_DOS_HEADER();
-		read(raf, imageDosHeader);
-		if (imageDosHeader.e_magic != IMAGE_DOS_SIGNATURE) return new IconResInfo[0];
-		int imageNtHeadersOffset = imageDosHeader.e_lfanew;
-		raf.seek(imageNtHeadersOffset);
-		IMAGE_NT_HEADERS imageNtHeaders = new IMAGE_NT_HEADERS();
-		read(raf, imageNtHeaders);
-		if (imageNtHeaders.Signature != IMAGE_NT_SIGNATURE) return new IconResInfo[0];
-		// DumpResources
-		int resourcesRVA = imageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress;
-		if (resourcesRVA == 0) return new IconResInfo[0];
-		if (DEBUG) System.out.println("* Resources (RVA= "+resourcesRVA+")"); //$NON-NLS-1$ //$NON-NLS-2$
-		IMAGE_SECTION_HEADER imageSectionHeader = new IMAGE_SECTION_HEADER();
-		int firstSectionOffset = imageNtHeadersOffset + IMAGE_NT_HEADERS.FIELD_OFFSET_OptionalHeader + imageNtHeaders.FileHeader.SizeOfOptionalHeader;
-		raf.seek(firstSectionOffset);
-		boolean found = false;
-		for (int i = 0; i < imageNtHeaders.FileHeader.NumberOfSections; i++) {
-			read(raf, imageSectionHeader);
-			if (resourcesRVA >= imageSectionHeader.VirtualAddress && resourcesRVA < imageSectionHeader.VirtualAddress + imageSectionHeader.Misc_VirtualSize) {
-				// could check the imageSectionHeader name is .rsrc
-				found = true;
-				break;
-			}
-		}
-		if (!found) return new IconResInfo[0];
-		int delta = imageSectionHeader.VirtualAddress - imageSectionHeader.PointerToRawData;
-		int imageResourceDirectoryOffset = resourcesRVA - delta;
-		dumpResourceDirectory(raf, imageResourceDirectoryOffset, imageResourceDirectoryOffset, delta, 0, 0, false);
-		if (iconCnt < iconInfo.length) {
-			IconResInfo[] newArray = new IconResInfo[iconCnt];
-			System.arraycopy(iconInfo, 0, newArray, 0, iconCnt);
-			iconInfo = newArray;
-		}
-		return iconInfo;
-	}
-
-void dumpResourceDirectory(RandomAccessFile raf, int imageResourceDirectoryOffset, int resourceBase, int delta, int type, int level, boolean rt_icon_root) throws IOException {
-	if (DEBUG) System.out.println("** LEVEL "+level); //$NON-NLS-1$
-
-	IMAGE_RESOURCE_DIRECTORY imageResourceDirectory = new IMAGE_RESOURCE_DIRECTORY();
-	raf.seek(imageResourceDirectoryOffset);
-	read(raf, imageResourceDirectory);
-
-	if (DEBUG) {
-		String sType = ""+type; //$NON-NLS-1$
-		// level 1 resources are resource types
-		if (level == 1) {
-			System.out.println("___________________________"); //$NON-NLS-1$
-			if (type == RT_ICON) sType = "RT_ICON"; //$NON-NLS-1$
-			if (type == RT_GROUP_ICON) sType = "RT_GROUP_ICON"; //$NON-NLS-1$
-		}
-		System.out.println("Resource Directory ["+sType+"]"+" (Named "+imageResourceDirectory.NumberOfNamedEntries+", ID "+imageResourceDirectory.NumberOfIdEntries+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	}
-
-	IMAGE_RESOURCE_DIRECTORY_ENTRY[] imageResourceDirectoryEntries = new IMAGE_RESOURCE_DIRECTORY_ENTRY[imageResourceDirectory.NumberOfIdEntries];
-	for (int i = 0; i < imageResourceDirectoryEntries.length; i++) {
-		imageResourceDirectoryEntries[i] = new IMAGE_RESOURCE_DIRECTORY_ENTRY();
-		read(raf, imageResourceDirectoryEntries[i]);
-	}
-	for (int i = 0; i < imageResourceDirectoryEntries.length; i++) {
-		if (imageResourceDirectoryEntries[i].DataIsDirectory) {
-			dumpResourceDirectory(raf, imageResourceDirectoryEntries[i].OffsetToDirectory + resourceBase, resourceBase, delta, imageResourceDirectoryEntries[i].Id, level + 1, rt_icon_root ? true : type == RT_ICON);
-		} else {
-			// Resource found
-			/// pResDirEntry->Name
-			IMAGE_RESOURCE_DIRECTORY_ENTRY irde = imageResourceDirectoryEntries[i];
-			IMAGE_RESOURCE_DATA_ENTRY data = new IMAGE_RESOURCE_DATA_ENTRY();
-			raf.seek(imageResourceDirectoryEntries[i].OffsetToData + resourceBase);
-			read(raf, data);
-			if (DEBUG) System.out.println("Resource Id "+irde.Id+" Data Offset RVA "+data.OffsetToData+", Size "+data.Size); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			if (rt_icon_root) {
-				if (DEBUG) System.out.println("iconcnt "+iconCnt+" |"+iconInfo.length); //$NON-NLS-1$ //$NON-NLS-2$
-				iconInfo[iconCnt] = new IconResInfo();
-				iconInfo[iconCnt].data = parseIcon(raf, data.OffsetToData - delta, data.Size);
-				iconInfo[iconCnt].offset = data.OffsetToData - delta;
-				iconInfo[iconCnt].size = data.Size;	
-				iconCnt++;
-				if (iconCnt == iconInfo.length) {
-					IconResInfo[] newArray = new IconResInfo[iconInfo.length + 4];
-					System.arraycopy(iconInfo, 0, newArray, 0, iconInfo.length);
-					iconInfo = newArray;
-				}
-			}
-		}
- 	}
-}
-
-static ImageData parseIcon(RandomAccessFile raf, int offset, int size) throws IOException {
-	raf.seek(offset);
-	BITMAPINFO bitmapInfo = new BITMAPINFO();
-	read(raf, bitmapInfo);
-	bitmapInfo.bmiHeader.biHeight /= 2;
-	int width = bitmapInfo.bmiHeader.biWidth;
-	int height = bitmapInfo.bmiHeader.biHeight;
-	int depth = bitmapInfo.bmiHeader.biBitCount;
-
-	PaletteData palette = loadPalette(bitmapInfo.bmiHeader, raf);
-	byte[] shapeData = loadData(bitmapInfo.bmiHeader, raf);
-	bitmapInfo.bmiHeader.biBitCount = 1;
-	byte[] maskData = loadData(bitmapInfo.bmiHeader, raf);
-	maskData = convertPad(maskData, width, height, 1, 4, 2);
-	bitInvertData(maskData, 0, maskData.length);
-	return ImageData.internal_new(
-		width,
-		height,
-		depth,
-		palette,
-		4,
-		shapeData,
-		2,
-		maskData,
-		null,
-		-1,
-		-1,
-		SWT.IMAGE_ICO,
-		0,
-		0,
-		0,
-		0);
-}
-
-static byte[] bitInvertData(byte[] data, int startIndex, int endIndex) {
-	// Destructively bit invert data in the given byte array.
-	for (int i = startIndex; i < endIndex; i++) {
-		data[i] = (byte)(255 - data[i - startIndex]);
-	}
-	return data;
-}
-
-static final byte[] convertPad(byte[] data, int width, int height, int depth, int pad, int newPad) {
-	if (pad == newPad) return data;
-	int stride = (width * depth + 7) / 8;
-	int bpl = (stride + (pad - 1)) / pad * pad;
-	int newBpl = (stride + (newPad - 1)) / newPad * newPad;
-	byte[] newData = new byte[height * newBpl];
-	int srcIndex = 0, destIndex = 0;
-	for (int y = 0; y < height; y++) {
-		System.arraycopy(data, srcIndex, newData, destIndex, newBpl);
-		srcIndex += bpl;
-		destIndex += newBpl;
-	}
-	return newData;
-}
-static PaletteData loadPalette(BITMAPINFOHEADER bih, RandomAccessFile raf) throws IOException {
-	int depth = bih.biBitCount;
-	if (depth <= 8) {
-		int numColors = bih.biClrUsed;
-		if (numColors == 0) {
-			numColors = 1 << depth;
-		} else {
-			if (numColors > 256)
-				numColors = 256;
-		}
-		byte[] buf = new byte[numColors * 4];
-		raf.read(buf);
-		return paletteFromBytes(buf, numColors);
-	}
-	if (depth == 16) return new PaletteData(0x7C00, 0x3E0, 0x1F);
-	if (depth == 24) return new PaletteData(0xFF, 0xFF00, 0xFF0000);
-	return new PaletteData(0xFF00, 0xFF0000, 0xFF000000);
-}
-static PaletteData paletteFromBytes(byte[] bytes, int numColors) {
-	int bytesOffset = 0;
-	RGB[] colors = new RGB[numColors];
-	for (int i = 0; i < numColors; i++) {
-		colors[i] = new RGB(bytes[bytesOffset + 2] & 0xFF,
-			bytes[bytesOffset + 1] & 0xFF,
-			bytes[bytesOffset] & 0xFF);
-		bytesOffset += 4;
-	}
-	return new PaletteData(colors);
-}
-static byte[] loadData(BITMAPINFOHEADER bih, RandomAccessFile raf) throws IOException {
-	int stride = (bih.biWidth * bih.biBitCount + 7) / 8;
-	stride = (stride + 3) / 4 * 4; // Round up to 4 byte multiple
-	byte[] data = loadData(bih, raf, stride);
-	flipScanLines(data, stride, bih.biHeight);
-	return data;
-}
-static void flipScanLines(byte[] data, int stride, int height) {
-	int i1 = 0;
-	int i2 = (height - 1) * stride;
-	for (int i = 0; i < height / 2; i++) {
-		for (int index = 0; index < stride; index++) {
-			byte b = data[index + i1];
-			data[index + i1] = data[index + i2];
-			data[index + i2] = b;
-		}
-		i1 += stride;
-		i2 -= stride;
-	}
-}
-static byte[] loadData(BITMAPINFOHEADER bih, RandomAccessFile raf, int stride) throws IOException {
-	int dataSize = bih.biHeight * stride;
-	byte[] data = new byte[dataSize];
-	int cmp = bih.biCompression;
-	if (cmp == 0) { // BMP_NO_COMPRESSION
-		raf.read(data);
-	} else {
-		if (DEBUG) System.out.println("ICO cannot be compressed?"); //$NON-NLS-1$
-	}
-	return data;
-}
-
-static void unloadIcon(RandomAccessFile raf, ImageData icon) throws IOException {
-	int sizeImage = (((icon.width * icon.depth + 31) / 32 * 4) +
-		((icon.width + 31) / 32 * 4)) * icon.height;
-	write4(raf, BMPHeaderFixedSize);
-	write4(raf, icon.width);
-	write4(raf, icon.height * 2);
-	writeU2(raf, 1);
-	writeU2(raf, icon.depth);
-	write4(raf, 0);
-	write4(raf, sizeImage);
-	write4(raf, 0);
-	write4(raf, 0);
-	write4(raf, icon.palette.colors != null ? icon.palette.colors.length : 0);
-	write4(raf, 0);
-	
-	byte[] rgbs = paletteToBytes(icon.palette);
-	raf.write(rgbs);
-	unloadShapeData(raf, icon);
-	unloadMaskData(raf, icon);
-}
-static byte[] paletteToBytes(PaletteData pal) {
-	int n = pal.colors == null ? 0 : (pal.colors.length < 256 ? pal.colors.length : 256);
-	byte[] bytes = new byte[n * 4];
-	int offset = 0;
-	for (int i = 0; i < n; i++) {
-		RGB col = pal.colors[i];
-		bytes[offset] = (byte)col.blue;
-		bytes[offset + 1] = (byte)col.green;
-		bytes[offset + 2] = (byte)col.red;
-		offset += 4;
-	}
-	return bytes;
-}
-static void unloadMaskData(RandomAccessFile raf, ImageData icon) {
-	ImageData mask = icon.getTransparencyMask();
-	int bpl = (icon.width + 7) / 8;
-	int pad = mask.scanlinePad;
-	int srcBpl = (bpl + pad - 1) / pad * pad;
-	int destBpl = (bpl + 3) / 4 * 4;
-	byte[] buf = new byte[destBpl];
-	int offset = (icon.height - 1) * srcBpl;
-	byte[] data = mask.data;
-	try {
-		for (int i = 0; i < icon.height; i++) {
-			System.arraycopy(data, offset, buf, 0, bpl);
-			bitInvertData(buf, 0, bpl);
-			raf.write(buf, 0, destBpl);
-			offset -= srcBpl;
-		}
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-}
-static void unloadShapeData(RandomAccessFile raf, ImageData icon) {
-	int bpl = (icon.width * icon.depth + 7) / 8;
-	int pad = icon.scanlinePad;
-	int srcBpl = (bpl + pad - 1) / pad * pad;
-	int destBpl = (bpl + 3) / 4 * 4;
-	byte[] buf = new byte[destBpl];
-	int offset = (icon.height - 1) * srcBpl;
-	byte[] data = icon.data;
-	try {
-		for (int i = 0; i < icon.height; i++) {
-			System.arraycopy(data, offset, buf, 0, bpl);
-			raf.write(buf, 0, destBpl);
-			offset -= srcBpl;
-		}
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-}
-static boolean readIconGroup(RandomAccessFile raf, int offset, int size) throws IOException {
-	raf.seek(offset);
-	NEWHEADER newHeader = new NEWHEADER();
-	read(raf, newHeader);
-	if (newHeader.ResType != RES_ICON) return false;
-	RESDIR[] resDir = new RESDIR[newHeader.ResCount];
-	for (int i = 0; i < newHeader.ResCount; i++) {
-		resDir[i] = new RESDIR();
-		read(raf, resDir[i]);
-	}
-	return true;
-}
-
-static void copyFile(String src, String dst) throws FileNotFoundException, IOException {
-	File srcFile = new File(src);
-	File dstFile = new File(dst);
-	InputStream in = new BufferedInputStream(new FileInputStream(srcFile));
-	OutputStream out = new BufferedOutputStream(new FileOutputStream(dstFile));
-	int c;
-	while ((c = in.read()) != -1) out.write(c); 
-	in.close();
-	out.close();
-}
-
-/* IO utilities to parse Windows executable */
-static final int IMAGE_DOS_SIGNATURE = 0x5a4d;
-static final int IMAGE_NT_SIGNATURE = 0x00004550;
-static final int IMAGE_DIRECTORY_ENTRY_RESOURCE = 2;
-static final int RES_ICON = 1;
-static final int RT_ICON = 3;
-static final int RT_GROUP_ICON = 14;
-static final int BMPHeaderFixedSize = 40;
-static final int IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b;
-static final int IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b;
-	
-public static class IMAGE_DOS_HEADER {
-	int e_magic; // WORD
-	int e_cblp; // WORD
-	int e_cp; // WORD
-	int e_crlc; // WORD
-	int e_cparhdr; // WORD
-	int e_minalloc; // WORD
-	int e_maxalloc; // WORD
-	int e_ss; // WORD
-	int e_sp; // WORD
-	int e_csum; // WORD
-	int e_ip; // WORD
-	int e_cs; // WORD
-	int e_lfarlc; // WORD
-	int e_ovno; // WORD
-	int[] e_res = new int[4]; // WORD[4]
-	int e_oemid; // WORD
-	int e_oeminfo; // WORD
-	int[] e_res2 = new int[10]; // WORD[10]
-	int e_lfanew; // LONG
-}
-
-public static class IMAGE_FILE_HEADER {
-	int Machine; // WORD
-	int NumberOfSections; // WORD
-	int TimeDateStamp; // DWORD
-	int PointerToSymbolTable; // DWORD
-	int NumberOfSymbols; // DWORD
-	int SizeOfOptionalHeader; // WORD
-	int Characteristics; // WORD
-}
-
-public static class IMAGE_DATA_DIRECTORY {
-	int VirtualAddress; // DWORD
-	int Size; // DWORD
-}
-
-public static class IMAGE_OPTIONAL_HEADER {
-    // Allocate enough storage for the 64 bit version of the header.
-    int Magic; // WORD
-    int MajorLinkerVersion; // BYTE
-    int MinorLinkerVersion; // BYTE
-    int SizeOfCode; // DWORD
-    int SizeOfInitializedData; // DWORD
-    int SizeOfUninitializedData; // DWORD
-    int AddressOfEntryPoint; // DWORD
-    int BaseOfCode; // DWORD
-    int BaseOfData; // DWORD
-    long ImageBase; // ULONGLONG
-    int SectionAlignment; // DWORD
-    int FileAlignment; // DWORD
-    int MajorOperatingSystemVersion; // WORD
-    int MinorOperatingSystemVersion; // WORD
-    int MajorImageVersion; // WORD
-    int MinorImageVersion; // WORD
-    int MajorSubsystemVersion; // WORD
-    int MinorSubsystemVersion; // WORD
-    int Win32VersionValue; // DWORD
-    int SizeOfImage; // DWORD
-    int SizeOfHeaders; // DWORD
-    int CheckSum; // DWORD
-    int Subsystem; // WORD
-    int DllCharacteristics; // WORD
-    long SizeOfStackReserve; // ULONGLONG
-    long SizeOfStackCommit; // ULONGLONG
-    long SizeOfHeapReserve; // ULONGLONG
-    long SizeOfHeapCommit; // ULONGLONG
-    int LoaderFlags; // DWORD
-    int NumberOfRvaAndSizes; // DWORD
-    IMAGE_DATA_DIRECTORY[] DataDirectory = new IMAGE_DATA_DIRECTORY[16];
-}
-
-public static class IMAGE_NT_HEADERS {
-	int Signature; // DWORD
-	IMAGE_FILE_HEADER FileHeader = new IMAGE_FILE_HEADER();
-	IMAGE_OPTIONAL_HEADER OptionalHeader = new IMAGE_OPTIONAL_HEADER();
-	final static int FIELD_OFFSET_OptionalHeader = 24;  
-}
-	
-public static class IMAGE_SECTION_HEADER {
-	int[] Name = new int[8]; // BYTE[8]
-	int Misc_VirtualSize; // DWORD (union Misc { DWORD PhysicalAddress; DWORD VirtualSize }
-	int VirtualAddress; // DWORD
-	int SizeOfRawData; // DWORD
-	int PointerToRawData; // DWORD
-	int PointerToRelocations; // DWORD
-	int PointerToLinenumbers; // DWORD
-	int NumberOfRelocations; // WORD
-	int NumberOfLinenumbers; // WORD
-	int Characteristics; // DWORD
-}
-
-public static class IMAGE_RESOURCE_DIRECTORY {
-	int Characteristics; // DWORD
-	int TimeDateStamp; // DWORD
-	int MajorVersion; // WORD
-	int MinorVersion; // WORD
-	int NumberOfNamedEntries; // WORD - used
-	int NumberOfIdEntries; // WORD - used
-	final static int SIZEOF = 16;
-}
-
-public static class IMAGE_RESOURCE_DIRECTORY_ENTRY {
-	// union
-	int NameOffset; // DWORD 31 bits
-	boolean NameIsString; // DWORD 1 bit
-	int Name; // DWORD
-	int Id; // WORD
-	// union
-	int OffsetToData; // DWORD
-	int OffsetToDirectory; // DWORD 31 bits
-	boolean DataIsDirectory; // DWORD 1 bit
-}
-
-public static class IMAGE_RESOURCE_DATA_ENTRY {
-	int OffsetToData; // DWORD
-	int Size; // DWORD
-	int CodePage; // DWORD
-	int Reserved; // DWORD
-}
-
-public static class NEWHEADER {
-	int Reserved; // WORD
-	int ResType; // WORD
-	int ResCount; // WORD
-}
-
-public static class ICONRESDIR {
-	int Width; // BYTE
-	int Height; // BYTE
-	int ColorCount; // BYTE
-	int reserved; // BYTE
-}
-
-public static class CURSORDIR {
-	int Width; // WORD
-	int Height; // WORD
-}
-
-public static class RESDIR {
-	// union
-	ICONRESDIR Icon = new ICONRESDIR();
-	CURSORDIR Cursor = new CURSORDIR();
-	int Planes; // WORD
-	int BitCount; // WORD
-	int BytesInRes; // DWORD
-	int IconCursorId; // WORD
-}
-
-public static class BITMAPINFOHEADER {
-	int biSize; // DWORD
-	int biWidth; // LONG
-	int biHeight; // LONG
-	int biPlanes; // WORD
-	int biBitCount; // WORD
-	int biCompression; // DWORD
-	int biSizeImage; // DWORD
-	int biXPelsPerMeter; // LONG
-	int biYPelsPerMeter; // LONG
-	int biClrUsed; // DWORD
-	int biClrImportant; // DWORD
-}
-
-static class RGBQUAD {
-	int rgBlue; // BYTE
-	int rgbGreen; // BYTE
-	int rgbRed; // BYTE
-	int rgbReserved; // BYTE
-}
-static class BITMAPINFO {
-	BITMAPINFOHEADER bmiHeader = new BITMAPINFOHEADER();
-	RGBQUAD[] bmiColors = null;
-}
-static void read(RandomAccessFile raf, BITMAPINFOHEADER bih) throws IOException {
-	bih.biSize = read4(raf);
-	bih.biWidth = read4(raf);
-	bih.biHeight = read4(raf);
-	bih.biPlanes = readU2(raf);
-	bih.biBitCount = readU2(raf);
-	bih.biCompression = read4(raf);
-	bih.biSizeImage = read4(raf);
-	bih.biXPelsPerMeter = read4(raf);
-	bih.biYPelsPerMeter = read4(raf);
-	bih.biClrUsed = read4(raf);
-	bih.biClrImportant = read4(raf);
-}
-static void read(RandomAccessFile raf, BITMAPINFO bi) throws IOException {
-	read(raf, bi.bmiHeader);
-}
-/* Little Endian helpers */
-static int readU2(RandomAccessFile raf) throws IOException {
-	int b0 = raf.readByte() & 0xFF;
-	int b1 = raf.readByte() & 0xFF;
-	return (b1 << 8 | b0);
-}
-static int read4(RandomAccessFile raf) throws IOException {
-	int b0 = raf.readByte() & 0xFF;
-	int b1 = raf.readByte() & 0xFF;
-	int b2 = raf.readByte() & 0xFF;
-	int b3 = raf.readByte() & 0xFF;
-	return b3 << 24 | b2 << 16 | b1 << 8 | b0;
-}
-static long read8(RandomAccessFile raf) throws IOException {
-    int b0 = raf.readByte() & 0xFF;
-    int b1 = raf.readByte() & 0xFF;
-    int b2 = raf.readByte() & 0xFF;
-    int b3 = raf.readByte() & 0xFF;
-    int b4 = raf.readByte() & 0xFF;
-    int b5 = raf.readByte() & 0xFF;
-    int b6 = raf.readByte() & 0xFF;
-    int b7 = raf.readByte() & 0xFF;
-    return b7 << 56 | b6 << 48 | b5 << 40 | b4 << 32 | b3 << 24 | b2 << 16 | b1 << 8 | b0;
-}
-static void write4(RandomAccessFile raf, int value) throws IOException {
-	raf.write(value & 0xFF);
-	raf.write((value >> 8) & 0xFF);
-	raf.write((value >> 16) & 0xFF);
-	raf.write((value >> 24) & 0xFF);
-}
-static void writeU2(RandomAccessFile raf, int value) throws IOException {
-	raf.write(value & 0xFF);
-	raf.write((value >> 8) & 0xFF);
-}
-static void read(RandomAccessFile raf, IMAGE_DOS_HEADER idh) throws IOException {
-	idh.e_magic = readU2(raf);
-	idh.e_cblp = readU2(raf);
-	idh.e_cp = readU2(raf);
-	idh.e_crlc = readU2(raf);
-	idh.e_cparhdr = readU2(raf);
-	idh.e_minalloc = readU2(raf);
-	idh.e_maxalloc = readU2(raf);
-	idh.e_ss = readU2(raf);
-	idh.e_sp = readU2(raf);
-	idh.e_csum = readU2(raf);
-	idh.e_ip = readU2(raf);
-	idh.e_cs = readU2(raf);
-	idh.e_lfarlc = readU2(raf);
-	idh.e_ovno = readU2(raf);
-	for (int i = 0; i < idh.e_res.length; i++) idh.e_res[i] = readU2(raf);
-	idh.e_oemid = readU2(raf);
-	idh.e_oeminfo = readU2(raf);
-	for (int i = 0; i < idh.e_res2.length; i++) idh.e_res2[i] = readU2(raf);
-	idh.e_lfanew = read4(raf);
-}
-static void read(RandomAccessFile raf, IMAGE_FILE_HEADER ifh) throws IOException {
-	ifh.Machine = readU2(raf);
-	ifh.NumberOfSections = readU2(raf);
-	ifh.TimeDateStamp = read4(raf);
-	ifh.PointerToSymbolTable = read4(raf);
-	ifh.NumberOfSymbols = read4(raf);
-	ifh.SizeOfOptionalHeader = readU2(raf);
-	ifh.Characteristics  = readU2(raf);
-}
-static void read(RandomAccessFile raf, IMAGE_DATA_DIRECTORY idd) throws IOException {
-	idd.VirtualAddress = read4(raf);
-	idd.Size = read4(raf);
-}
-static void read(RandomAccessFile raf, IMAGE_OPTIONAL_HEADER ioh) throws IOException {
-	ioh.Magic = readU2(raf);
-	
-	// Assume file is 32bit executable unless x64 magic is present
-	boolean is32 = !(ioh.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC);
-	
-	ioh.MajorLinkerVersion = raf.read();
-	ioh.MinorLinkerVersion = raf.read();
-	ioh.SizeOfCode = read4(raf);
-	ioh.SizeOfInitializedData = read4(raf);
-	ioh.SizeOfUninitializedData = read4(raf);
-	ioh.AddressOfEntryPoint = read4(raf);
-	ioh.BaseOfCode = read4(raf);
-	
-	if (is32)
-	{
-	    ioh.BaseOfData = read4(raf);
-	    ioh.ImageBase = read4(raf);
-	}
-	else
-	{
-	    // BaseOfData deleted in the 64 bit version PE32+
-	    ioh.ImageBase = read8(raf);
-	}
-	
-	ioh.SectionAlignment = read4(raf);
-	ioh.FileAlignment = read4(raf);
-	ioh.MajorOperatingSystemVersion = readU2(raf);
-	ioh.MinorOperatingSystemVersion = readU2(raf);
-	ioh.MajorImageVersion = readU2(raf);
-	ioh.MinorImageVersion = readU2(raf);
-	ioh.MajorSubsystemVersion = readU2(raf);
-	ioh.MinorSubsystemVersion = readU2(raf);
-	ioh.Win32VersionValue = read4(raf);
-	ioh.SizeOfImage = read4(raf);
-	ioh.SizeOfHeaders = read4(raf);
-	ioh.CheckSum = read4(raf);
-	ioh.Subsystem = readU2(raf);
-	ioh.DllCharacteristics = readU2(raf);
-	
-	if (is32)
-	{
-    	ioh.SizeOfStackReserve = read4(raf);
-    	ioh.SizeOfStackCommit = read4(raf);
-    	ioh.SizeOfHeapReserve = read4(raf);
-    	ioh.SizeOfHeapCommit = read4(raf);
-	}
-	else 
-	{
-        ioh.SizeOfStackReserve = read8(raf);
-        ioh.SizeOfStackCommit = read8(raf);
-        ioh.SizeOfHeapReserve = read8(raf);
-        ioh.SizeOfHeapCommit = read8(raf);	    
-	}
-
-	ioh.LoaderFlags = read4(raf);
-	ioh.NumberOfRvaAndSizes = read4(raf);
-	for (int i = 0 ; i < ioh.DataDirectory.length; i++) {
-		ioh.DataDirectory[i] = new IMAGE_DATA_DIRECTORY();
-		read(raf, ioh.DataDirectory[i]);
-	}
-}
-static void read(RandomAccessFile raf, IMAGE_NT_HEADERS inh) throws IOException {
-	inh.Signature = read4(raf);
-	read(raf, inh.FileHeader);
-	read(raf, inh.OptionalHeader);
-}
-static void read(RandomAccessFile raf, IMAGE_SECTION_HEADER ish) throws IOException {
-	for (int i = 0 ; i < ish.Name.length; i++) ish.Name[i] = raf.read();
-	ish.Misc_VirtualSize = read4(raf);
-	ish.VirtualAddress = read4(raf);
-	ish.SizeOfRawData = read4(raf);
-	ish.PointerToRawData = read4(raf);
-	ish.PointerToRelocations = read4(raf);
-	ish.PointerToLinenumbers = read4(raf);
-	ish.NumberOfRelocations = readU2(raf);
-	ish.NumberOfLinenumbers = readU2(raf);
-	ish.Characteristics = read4(raf);
-}
-static void read(RandomAccessFile raf, IMAGE_RESOURCE_DIRECTORY ird) throws IOException {
-	ird.Characteristics = read4(raf);
-	ird.TimeDateStamp = read4(raf);
-	ird.MajorVersion = readU2(raf);
-	ird.MinorVersion = readU2(raf);
-	ird.NumberOfNamedEntries = readU2(raf);
-	ird.NumberOfIdEntries = readU2(raf);
-}
-static void read(RandomAccessFile raf, IMAGE_RESOURCE_DIRECTORY_ENTRY irde) throws IOException {
-	irde.Name = read4(raf);
-	irde.OffsetToData = read4(raf);
-	// construct other union members
-	irde.NameOffset = irde.Name & ~ (1 << 31);
-	irde.NameIsString = (irde.Name & (1 << 31)) != 0;
-	irde.Id = irde.Name & 0xFFFF;
-	irde.OffsetToDirectory = irde.OffsetToData & ~ (1 << 31);
-	irde.DataIsDirectory = (irde.OffsetToData & (1 << 31)) != 0;
-}
-static void read(RandomAccessFile raf, IMAGE_RESOURCE_DATA_ENTRY irde) throws IOException {
-	irde.OffsetToData = read4(raf);
-	irde.Size = read4(raf);
-	irde.CodePage = read4(raf);
-	irde.Reserved = read4(raf);
-}
-static void read(RandomAccessFile raf, NEWHEADER nh) throws IOException {
-	nh.Reserved = readU2(raf);
-	nh.ResType = readU2(raf);
-	nh.ResCount = readU2(raf);
-}
-static void read(RandomAccessFile raf, ICONRESDIR i) throws IOException {
-	i.Width = raf.read();
-	i.Height = raf.read();
-	i.ColorCount = raf.read();
-	i.reserved = raf.read();
-}
-static void read(RandomAccessFile raf, CURSORDIR c) throws IOException {
-	c.Width = readU2(raf);
-	c.Height = readU2(raf);
-}
-static void read(RandomAccessFile raf, RESDIR rs) throws IOException {
-	long start = raf.getFilePointer();
-	read(raf, rs.Icon);
-	raf.seek(start);
-	read(raf, rs.Cursor);
-	rs.Planes = readU2(raf);
-	rs.BitCount = readU2(raf);
-	rs.BytesInRes = read4(raf);
-	rs.IconCursorId = readU2(raf);
-}
-
-/* ImageData and Image Decoder inlining to avoid dependency on SWT 
- * The following section can be entirely removed if SWT can be used.
- */
-
-static class RGB {
-	
-	/**
-	 * the red component of the RGB
-	 */
-	public int red;
-	
-	/**
-	 * the green component of the RGB
-	 */
-	public int green;
-	
-	/**
-	 * the blue component of the RGB
-	 */
-	public int blue;
-	
-	static final long serialVersionUID = 3258415023461249074L;
-	
-/**
- * Constructs an instance of this class with the given
- * red, green and blue values.
- *
- * @param red the red component of the new instance
- * @param green the green component of the new instance
- * @param blue the blue component of the new instance
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the red, green or blue argument is not between 0 and 255</li>
- * </ul>
- */
-public RGB(int red, int green, int blue) {
-	if ((red > 255) || (red < 0) ||
-		(green > 255) || (green < 0) ||
-		(blue > 255) || (blue < 0))
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	this.red = red;
-	this.green = green;
-	this.blue = blue;
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param object the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals (Object object) {
-	if (object == this) return true;
-	if (!(object instanceof RGB)) return false;
-	RGB rgb = (RGB)object;
-	return (rgb.red == this.red) && (rgb.green == this.green) && (rgb.blue == this.blue);
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects which return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode () {
-	return (blue << 16) | (green << 8) | red;
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the <code>RGB</code>
- */
-public String toString () {
-	return "RGB {" + red + ", " + green + ", " + blue + "}"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ 
-
-//$NON-NLS-4$
-}
-
-}
-static class PaletteData {
-	
-	/**
-	 * true if the receiver is a direct palette, 
-	 * and false otherwise
-	 */
-	public boolean isDirect;
-	
-	/**
-	 * the RGB values for an indexed palette, where the
-	 * indices of the array correspond to pixel values
-	 */
-	public RGB[] colors;
-	
-	/**
-	 * the red mask for a direct palette
-	 */
-	public int redMask;
-	
-	/**
-	 * the green mask for a direct palette
-	 */
-	public int greenMask;
-	
-	/**
-	 * the blue mask for a direct palette
-	 */
-	public int blueMask;
-	
-	/**
-	 * the red shift for a direct palette
-	 */
-	public int redShift;
-	
-	/**
-	 * the green shift for a direct palette
-	 */
-	public int greenShift;
-	
-	/**
-	 * the blue shift for a direct palette
-	 */
-	public int blueShift;
-
-/**
- * Constructs a new indexed palette given an array of RGB values.
- *
- * @param colors the array of <code>RGB</code>s for the palette
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the argument is null</li>
- * </ul>
- */
-public PaletteData(RGB[] colors) {
-	if (colors == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	this.colors = colors;
-	this.isDirect = false;
-}
-
-/**
- * Constructs a new direct palette given the red, green and blue masks.
- *
- * @param redMask the red mask
- * @param greenMask the green mask
- * @param blueMask the blue mask
- */
-public PaletteData(int redMask, int greenMask, int blueMask) {
-	this.redMask = redMask;
-	this.greenMask = greenMask;
-	this.blueMask = blueMask;
-	this.isDirect = true;
-	this.redShift = shiftForMask(redMask);
-	this.greenShift = shiftForMask(greenMask);
-	this.blueShift = shiftForMask(blueMask);
-}
-
-/**
- * Returns the pixel value corresponding to the given <code>RBG</code>.
- *
- * @param rgb the RGB to get the pixel value for
- * @return the pixel value for the given RGB
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the argument is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the RGB is not found in the palette</li>
- * </ul>
- */
-public int getPixel(RGB rgb) {
-	if (rgb == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (isDirect) {
-		int pixel = 0;
-		pixel |= (redShift < 0 ? rgb.red << -redShift : rgb.red >>> redShift) & redMask;
-		pixel |= (greenShift < 0 ? rgb.green << -greenShift : rgb.green >>> greenShift) & greenMask;
-		pixel |= (blueShift < 0 ? rgb.blue << -blueShift : rgb.blue >>> blueShift) & blueMask;
-		return pixel;
-	} 
-
-	for (int i = 0; i < colors.length; i++) {
-		if (colors[i].equals(rgb)) return i;
-	}
-	/* The RGB did not exist in the palette */
-	SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return 0;
-}
-
-/**
- * Returns an <code>RGB</code> corresponding to the given pixel value.
- *
- * @param pixel the pixel to get the RGB value for
- * @return the RGB value for the given pixel
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the argument is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the pixel does not exist in the palette</li>
- * </ul>
- */
-public RGB getRGB(int pixel) {
-	if (isDirect) {
-		int r = pixel & redMask;
-		r = (redShift < 0) ? r >>> -redShift : r << redShift;
-		int g = pixel & greenMask;
-		g = (greenShift < 0) ? g >>> -greenShift : g << greenShift;
-		int b = pixel & blueMask;
-		b = (blueShift < 0) ? b >>> -blueShift : b << blueShift;
-		return new RGB(r, g, b);
-	}
-	if (pixel < 0 || pixel >= colors.length) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return colors[pixel];
-}
-
-/**
- * Returns all the RGB values in the receiver if it is an
- * indexed palette, or null if it is a direct palette.
- *
- * @return the <code>RGB</code>s for the receiver or null
- */
-public RGB[] getRGBs() {
-	return colors;
-}
-
-/**
- * Computes the shift value for a given mask.
- *
- * @param mask the mask to compute the shift for
- * @return the shift amount
- *
- * @see IconExe.PaletteData
- */
-int shiftForMask(int mask) {
-	for (int i = 31; i >= 0; i--) { 
-		if (((mask >> i) & 0x1) != 0) return 7 - i;
-	}
-	return 32;
-}
-
-}
-static class ImageLoader {
-	
-	/**
-	 * the array of ImageData objects in this ImageLoader.
-	 * This array is read in when the load method is called,
-	 * and it is written out when the save method is called
-	 */
-	public ImageData[] data;
-	
-	/**
-	 * the width of the logical screen on which the images
-	 * reside, in pixels (this corresponds to the GIF89a
-	 * Logical Screen Width value)
-	 */
-	public int logicalScreenWidth;
-
-	/**
-	 * the height of the logical screen on which the images
-	 * reside, in pixels (this corresponds to the GIF89a
-	 * Logical Screen Height value)
-	 */
-	public int logicalScreenHeight;
-
-	/**
-	 * the background pixel for the logical screen (this 
-	 * corresponds to the GIF89a Background Color Index value).
-	 * The default is -1 which means 'unspecified background'
-	 * 
-	 */
-	public int backgroundPixel;
-
-	/**
-	 * the number of times to repeat the display of a sequence
-	 * of animated images (this corresponds to the commonly-used
-	 * GIF application extension for "NETSCAPE 2.0 01")
-	 */
-	public int repeatCount;
-		
-	/*
-	 * the set of ImageLoader event listeners, created on demand
-	 */
-	Vector imageLoaderListeners;
-
-/**
- * Construct a new empty ImageLoader.
- */
-public ImageLoader() {
-	reset();
-}
-
-/**
- * Resets the fields of the ImageLoader, except for the
- * <code>imageLoaderListeners</code> field.
- */
-void reset() {
-	data = null;
-	logicalScreenWidth = 0;
-	logicalScreenHeight = 0;
-	backgroundPixel = -1;
-	repeatCount = 1;
-}
-
-/**
- * Loads an array of <code>ImageData</code> objects from the
- * specified input stream. Throws an error if either an error
- * occurs while loading the images, or if the images are not
- * of a supported type. Returns the loaded image data array.
- *
- * @param stream the input stream to load the images from
- * @return an array of <code>ImageData</code> objects loaded from the specified input stream
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the stream is null</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_INVALID_IMAGE - if the image file contains invalid data</li>
- *    <li>ERROR_IO - if an input/output error occurs while reading data</li>
- *    <li>ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format</li>
- * </ul>
- */
-public ImageData[] load(InputStream stream) {
-	if (stream == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	reset();
-	data = FileFormat.load(stream, this);
-	return data;
-}
-
-/**
- * Loads an array of <code>ImageData</code> objects from the
- * file with the specified name. Throws an error if either
- * an error occurs while loading the images, or if the images are
- * not of a supported type. Returns the loaded image data array.
- *
- * @param filename the name of the file to load the images from
- * @return an array of <code>ImageData</code> objects loaded from the specified file
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the file name is null</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_INVALID_IMAGE - if the image file contains invalid data</li>
- *    <li>ERROR_IO - if an IO error occurs while reading data</li>
- *    <li>ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format</li>
- * </ul>
- */
-public ImageData[] load(String filename) {
-	if (filename == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	InputStream stream = null;
-	try {
-		stream = new BufferedInputStream(new FileInputStream(filename));
-		return load(stream);
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	} finally {
-		try {
-			if (stream != null) stream.close();
-		} catch (IOException e) {
-			// Ignore error
-		}
-	}
-	return null;
-}
-}
-static class ImageData {
-	
-	/**
-	 * The width of the image, in pixels.
-	 */
-	public int width;
-
-	/**
-	 * The height of the image, in pixels.
-	 */
-	public int height;
-
-	/**
-	 * The color depth of the image, in bits per pixel.
-	 * <p>
-	 * Note that a depth of 8 or less does not necessarily
-	 * mean that the image is palette indexed, or
-	 * conversely that a depth greater than 8 means that
-	 * the image is direct color.  Check the associated
-	 * PaletteData's isDirect field for such determinations.
-	 */
-	public int depth;
-
-	/**
-	 * The scanline padding.
-	 * <p>
-	 * If one scanline of the image is not a multiple of
-	 * this number, it will be padded with zeros until it is.
-	 * </p>
-	 */
-	public int scanlinePad;
-
-	/**
-	 * The number of bytes per scanline.
-	 * <p>
-	 * This is a multiple of the scanline padding.
-	 * </p>
-	 */
-	public int bytesPerLine;
-
-	/**
-	 * The pixel data of the image.
-	 * <p>
-	 * Note that for 16 bit depth images the pixel data is stored
-	 * in least significant byte order; however, for 24bit and
-	 * 32bit depth images the pixel data is stored in most
-	 * significant byte order.
-	 * </p>
-	 */
-	public byte[] data;
-
-	/**
-	 * The color table for the image.
-	 */
-	public PaletteData palette;
-
-	/**
-	 * The transparent pixel.
-	 * <p>
-	 * Pixels with this value are transparent.
-	 * </p><p>
-	 * The default is -1 which means 'no transparent pixel'.
-	 * </p>
-	 */
-	public int transparentPixel;
-
-	/**
-	 * An icon-specific field containing the data from the icon mask.
-	 * <p>
-	 * This is a 1 bit bitmap stored with the most significant
-	 * bit first.  The number of bytes per scanline is
-	 * '((width + 7) / 8 + (maskPad - 1)) / maskPad * maskPad'.
-	 * </p><p>
-	 * The default is null which means 'no transparency mask'.
-	 * </p>
-	 */
-	public byte[] maskData;
-
-	/**
-	 * An icon-specific field containing the scanline pad of the mask.
-	 * <p>
-	 * If one scanline of the transparency mask is not a
-	 * multiple of this number, it will be padded with zeros until
-	 * it is.
-	 * </p>
-	 */
-	public int maskPad;
-	
-	/**
-	 * The alpha data of the image.
-	 * <p>
-	 * Every pixel can have an <em>alpha blending</em> value that
-	 * varies from 0, meaning fully transparent, to 255 meaning
-	 * fully opaque.  The number of bytes per scanline is
-	 * 'width'.
-	 * </p>
-	 */
-	public byte[] alphaData;
-	
-	/**
-	 * The global alpha value to be used for every pixel.
-	 * <p>
-	 * If this value is set, the <code>alphaData</code> field
-	 * is ignored and when the image is rendered each pixel
-	 * will be blended with the background an amount
-	 * proportional to this value.
-	 * </p><p>
-	 * The default is -1 which means 'no global alpha value'
-	 * </p>
-	 */
-	public int alpha;
-
-	/**
-	 * The type of file from which the image was read.
-	 * 
-	 * It is expressed as one of the following values:
-	 * <dl>
-	 * <dt><code>IMAGE_BMP</code></dt>
-	 * <dd>Windows BMP file format, no compression</dd>
-	 * <dt><code>IMAGE_BMP_RLE</code></dt>
-	 * <dd>Windows BMP file format, RLE compression if appropriate</dd>
-	 * <dt><code>IMAGE_GIF</code></dt>
-	 * <dd>GIF file format</dd>
-	 * <dt><code>IMAGE_ICO</code></dt>
-	 * <dd>Windows ICO file format</dd>
-	 * <dt><code>IMAGE_JPEG</code></dt>
-	 * <dd>JPEG file format</dd>
-	 * <dt><code>IMAGE_PNG</code></dt>
-	 * <dd>PNG file format</dd>
-	 * </dl>
-	 */
-	public int type;
-
-	/**
-	 * The x coordinate of the top left corner of the image
-	 * within the logical screen (this field corresponds to
-	 * the GIF89a Image Left Position value).
-	 */
-	public int x;
-
-	/**
-	 * The y coordinate of the top left corner of the image
-	 * within the logical screen (this field corresponds to
-	 * the GIF89a Image Top Position value).
-	 */
-	public int y;
-
-	/**
-	 * A description of how to dispose of the current image
-	 * before displaying the next.
-	 * 
-	 * It is expressed as one of the following values:
-	 * <dl>
-	 * <dt><code>DM_UNSPECIFIED</code></dt>
-	 * <dd>disposal method not specified</dd>
-	 * <dt><code>DM_FILL_NONE</code></dt>
-	 * <dd>do nothing - leave the image in place</dd>
-	 * <dt><code>DM_FILL_BACKGROUND</code></dt>
-	 * <dd>fill with the background color</dd>
-	 * <dt><code>DM_FILL_PREVIOUS</code></dt>
-	 * <dd>restore the previous picture</dd>
-	 * </dl>
-	 * (this field corresponds to the GIF89a Disposal Method value)
-	 */
-	public int disposalMethod;
-
-	/**
-	 * The time to delay before displaying the next image
-	 * in an animation (this field corresponds to the GIF89a
-	 * Delay Time value).
-	 */
-	public int delayTime;
-
-	/**
-	 * Arbitrary channel width data to 8-bit conversion table.
-	 */
-	static final byte[][] ANY_TO_EIGHT = new byte[9][];
-	static {
-		for (int b = 0; b < 9; ++b) {
-			byte[] data = ANY_TO_EIGHT[b] = new byte[1 << b];
-			if (b == 0) continue;
-			int inc = 0;
-			for (int bit = 0x10000; (bit >>= b) != 0;) inc |= bit;
-			for (int v = 0, p = 0; v < 0x10000; v+= inc) data[p++] = (byte)(v >> 8);
-		}
-	}
-	static final byte[] ONE_TO_ONE_MAPPING = ANY_TO_EIGHT[8];
-
-	/**
-	 * Scaled 8x8 Bayer dither matrix.
-	 */
-	static final int[][] DITHER_MATRIX = {
-		{ 0xfc0000, 0x7c0000, 0xdc0000, 0x5c0000, 0xf40000, 0x740000, 0xd40000, 0x540000 },
-		{ 0x3c0000, 0xbc0000, 0x1c0000, 0x9c0000, 0x340000, 0xb40000, 0x140000, 0x940000 },
-		{ 0xcc0000, 0x4c0000, 0xec0000, 0x6c0000, 0xc40000, 0x440000, 0xe40000, 0x640000 },
-		{ 0x0c0000, 0x8c0000, 0x2c0000, 0xac0000, 0x040000, 0x840000, 0x240000, 0xa40000 },
-		{ 0xf00000, 0x700000, 0xd00000, 0x500000, 0xf80000, 0x780000, 0xd80000, 0x580000 },
-		{ 0x300000, 0xb00000, 0x100000, 0x900000, 0x380000, 0xb80000, 0x180000, 0x980000 },
-		{ 0xc00000, 0x400000, 0xe00000, 0x600000, 0xc80000, 0x480000, 0xe80000, 0x680000 },
-		{ 0x000000, 0x800000, 0x200000, 0xa00000, 0x080000, 0x880000, 0x280000, 0xa80000 }
-	};
-
-/**
- * Constructs a new, empty ImageData with the given width, height,
- * depth and palette. The data will be initialized to an (all zero)
- * array of the appropriate size.
- *
- * @param width the width of the image
- * @param height the height of the image
- * @param depth the depth of the image
- * @param palette the palette of the image (must not be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the width or height is negative, or if the depth is not
- *        	one of 1, 2, 4, 8, 16, 24 or 32</li>
- *    <li>ERROR_NULL_ARGUMENT - if the palette is null</li>
- * </ul>
- */
-public ImageData(int width, int height, int depth, PaletteData palette) {
-	this(width, height, depth, palette,
-		4, null, 0, null,
-		null, -1, -1, SWT.IMAGE_UNDEFINED,
-		0, 0, 0, 0);
-}
-
-/**
- * Constructs a new, empty ImageData with the given width, height,
- * depth, palette, scanlinePad and data.
- *
- * @param width the width of the image
- * @param height the height of the image
- * @param depth the depth of the image
- * @param palette the palette of the image
- * @param scanlinePad the padding of each line, in bytes
- * @param data the data of the image
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the width or height is negative, or if the depth is not
- *        	one of 1, 2, 4, 8, 16, 24 or 32</li>
- *    <li>ERROR_NULL_ARGUMENT - if the palette or data is null</li>
- *    <li>ERROR_CANNOT_BE_ZERO - if the scanlinePad is zero</li>
- * </ul>
- */
-public ImageData(int width, int height, int depth, PaletteData palette, int scanlinePad, byte[] data) {
-	this(width, height, depth, palette,
-		scanlinePad, checkData(data), 0, null,
-		null, -1, -1, SWT.IMAGE_UNDEFINED,
-		0, 0, 0, 0);
-}
-
-/**
- * Constructs an <code>ImageData</code> loaded from a file with the
- * specified name. Throws an error if an error occurs loading the
- * image, or if the image has an unsupported type.
- * <p>
- * This constructor is provided for convenience when loading a single
- * image only. If the file contains multiple images, only the first
- * one will be loaded. To load multiple images, use 
- * <code>ImageLoader.load()</code>.
- * </p>
- *
- * @param filename the name of the file to load the image from (must not be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the file name is null</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_INVALID_IMAGE - if the image file contains invalid data</li>
- *    <li>ERROR_IO if an IO error occurs while reading data</li>
- *    <li>ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format</li>
- * </ul>
- */
-public ImageData(String filename) {
-	ImageData[] data = new ImageLoader().load(filename);
-	if (data.length < 1) SWT.error(SWT.ERROR_INVALID_IMAGE);
-	ImageData i = data[0];
-	setAllFields(
-		i.width,
-		i.height,
-		i.depth,
-		i.scanlinePad,
-		i.bytesPerLine,
-		i.data,
-		i.palette,
-		i.transparentPixel,
-		i.maskData,
-		i.maskPad,
-		i.alphaData,
-		i.alpha,
-		i.type,
-		i.x,
-		i.y,
-		i.disposalMethod,
-		i.delayTime);
-}
-
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-ImageData() {
-	//empty constructor
-}
-
-/**
- * Constructs an image data by giving values for all non-computable fields.
- * <p>
- * This method is for internal use, and is not described further.
- * </p>
- */
-ImageData(
-	int width, int height, int depth, PaletteData palette,
-	int scanlinePad, byte[] data, int maskPad, byte[] maskData,
-	byte[] alphaData, int alpha, int transparentPixel, int type,
-	int x, int y, int disposalMethod, int delayTime)
-{
-
-	if (palette == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (!(depth == 1 || depth == 2 || depth == 4 || depth == 8
-		|| depth == 16 || depth == 24 || depth == 32)) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (width <= 0 || height <= 0) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (scanlinePad == 0) SWT.error (SWT.ERROR_CANNOT_BE_ZERO);
-
-	int bytesPerLine = (((width * depth + 7) / 8) + (scanlinePad - 1))
-		/ scanlinePad * scanlinePad;
-	setAllFields(
-		width,
-		height,
-		depth,
-		scanlinePad,
-		bytesPerLine,
-		data != null ? data : new byte[bytesPerLine * height],
-		palette,
-		transparentPixel,
-		maskData,
-		maskPad,
-		alphaData,
-		alpha,
-		type,
-		x,
-		y,
-		disposalMethod,
-		delayTime);
-}
-
-/**
- * Initializes all fields in the receiver. This method must be called
- * by all public constructors to ensure that all fields are initialized
- * for a new ImageData object. If a new field is added to the class,
- * then it must be added to this method.
- * <p>
- * This method is for internal use, and is not described further.
- * </p>
- */
-void setAllFields(int width, int height, int depth, int scanlinePad,
-	int bytesPerLine, byte[] data, PaletteData palette, int transparentPixel,
-	byte[] maskData, int maskPad, byte[] alphaData, int alpha,
-	int type, int x, int y, int disposalMethod, int delayTime) {
-
-	this.width = width;
-	this.height = height;
-	this.depth = depth;
-	this.scanlinePad = scanlinePad;
-	this.bytesPerLine = bytesPerLine;
-	this.data = data;
-	this.palette = palette;
-	this.transparentPixel = transparentPixel;
-	this.maskData = maskData;
-	this.maskPad = maskPad;
-	this.alphaData = alphaData;
-	this.alpha = alpha;
-	this.type = type;
-	this.x = x;
-	this.y = y;
-	this.disposalMethod = disposalMethod;
-	this.delayTime = delayTime;
-}
-
-/**	 
- * Invokes internal SWT functionality to create a new instance of
- * this class.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>ImageData</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is subject
- * to change without notice, and should never be called from
- * application code.
- * </p>
- * <p>
- * This method is for internal use, and is not described further.
- * </p>
- */
-public static ImageData internal_new(
-	int width, int height, int depth, PaletteData palette,
-	int scanlinePad, byte[] data, int maskPad, byte[] maskData,
-	byte[] alphaData, int alpha, int transparentPixel, int type,
-	int x, int y, int disposalMethod, int delayTime)
-{
-	return new ImageData(
-		width, height, depth, palette, scanlinePad, data, maskPad, maskData,
-		alphaData, alpha, transparentPixel, type, x, y, disposalMethod, delayTime);
-}
-
-ImageData colorMaskImage(int pixel) {
-	ImageData mask = new ImageData(width, height, 1, bwPalette(),
-		2, null, 0, null, null, -1, -1, SWT.IMAGE_UNDEFINED,
-		0, 0, 0, 0);
-	int[] row = new int[width];
-	for (int y = 0; y < height; y++) {
-		getPixels(0, y, width, row, 0);
-		for (int i = 0; i < width; i++) {
-			if (pixel != -1 && row[i] == pixel) {
-				row[i] = 0;
-			} else {
-				row[i] = 1;
-			}
-		}
-		mask.setPixels(0, y, width, row, 0);
-	}
-	return mask;
-}
-
-static byte[] checkData(byte [] data) {
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data;
-}
-
-/**
- * Returns <code>getWidth</code> pixel values starting at offset
- * <code>x</code> in scanline <code>y</code> in the receiver's
- * data starting at <code>startIndex</code>.
- *
- * @param x the x position of the first pixel to get
- * @param y the y position of the first pixel to get
- * @param getWidth the width of the data to get
- * @param pixels the buffer in which to put the pixels
- * @param startIndex the offset into the byte array to begin storing pixels
- *
- * @exception IndexOutOfBoundsException if getWidth is too large
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if pixels is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if x or y is out of bounds</li>
- *    <li>ERROR_INVALID_ARGUMENT - if getWidth is negative</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_UNSUPPORTED_DEPTH - if the depth is not one of 1, 2, 4 or 8
- *        (For higher depths, use the int[] version of this method.)</li>
- * </ul>
- */
-public void getPixels(int x, int y, int getWidth, byte[] pixels, int startIndex) {
-	if (pixels == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (getWidth < 0 || x >= width || y >= height || x < 0 || y < 0) SWT.error
-
-(SWT.ERROR_INVALID_ARGUMENT);
-	if (getWidth == 0) return;
-	int index;
-	int theByte;
-	int mask = 0;
-	int n = getWidth;
-	int i = startIndex;
-	int srcX = x, srcY = y;
-	if (depth == 1) {
-		index = (y * bytesPerLine) + (x >> 3);
-		theByte = data[index] & 0xFF;
-		while (n > 0) {
-			mask = 1 << (7 - (srcX & 0x7));
-			if ((theByte & mask) == 0) {
-				pixels[i] = 0;
-			} else {
-				pixels[i] = 1;
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				if (n > 0) theByte = data[index] & 0xFF;
-				srcX = 0;
-			} else {
-				if (mask == 1) {
-					index++;
-					if (n > 0) theByte = data[index] & 0xFF;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 2) {
-		index = (y * bytesPerLine) + (x >> 2);
-		theByte = data[index] & 0xFF;
-		int offset;
-		while (n > 0) {
-			offset = 3 - (srcX % 4);
-			mask = 3 << (offset * 2);
-			pixels[i] = (byte)((theByte & mask) >> (offset * 2));
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				if (n > 0) theByte = data[index] & 0xFF;
-				srcX = 0;
-			} else {
-				if (offset == 0) {
-					index++;
-					theByte = data[index] & 0xFF;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 4) {
-		index = (y * bytesPerLine) + (x >> 1);
-		if ((x & 0x1) == 1) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = (byte)(theByte & 0x0F);
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		while (n > 1) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = (byte)(theByte >> 4);
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				pixels[i] = (byte)(theByte & 0x0F);
-				i++;
-				n--;
-				srcX++;
-				if (srcX >= width) {
-					srcY++;
-					index = srcY * bytesPerLine;
-					srcX = 0;
-				} else {
-					index++;
-				}
-			}
-		}
-		if (n > 0) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = (byte)(theByte >> 4);
-		}
-		return;
-	}
-	if (depth == 8) {
-		index = (y * bytesPerLine) + x;
-		for (int j = 0; j < getWidth; j++) {
-			pixels[i] = data[index];
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		return;
-	}
-	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
-}
-
-/**
- * Returns <code>getWidth</code> pixel values starting at offset
- * <code>x</code> in scanline <code>y</code> in the receiver's
- * data starting at <code>startIndex</code>.
- *
- * @param x the x position of the first pixel to get
- * @param y the y position of the first pixel to get
- * @param getWidth the width of the data to get
- * @param pixels the buffer in which to put the pixels
- * @param startIndex the offset into the buffer to begin storing pixels
- *
- * @exception IndexOutOfBoundsException if getWidth is too large
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if pixels is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if x or y is out of bounds</li>
- *    <li>ERROR_INVALID_ARGUMENT - if getWidth is negative</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_UNSUPPORTED_DEPTH - if the depth is not one of 1, 2, 4, 8, 16, 24 or 32</li>
- * </ul>
- */
-public void getPixels(int x, int y, int getWidth, int[] pixels, int startIndex) {
-	if (pixels == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (getWidth < 0 || x >= width || y >= height || x < 0 || y < 0) SWT.error
-
-(SWT.ERROR_INVALID_ARGUMENT);
-	if (getWidth == 0) return;
-	int index;
-	int theByte;
-	int mask;
-	int n = getWidth;
-	int i = startIndex;
-	int srcX = x, srcY = y;
-	if (depth == 1) {
-		index = (y * bytesPerLine) + (x >> 3);
-		theByte = data[index] & 0xFF;
-		while (n > 0) {
-			mask = 1 << (7 - (srcX & 0x7));
-			if ((theByte & mask) == 0) {
-				pixels[i] = 0;
-			} else {
-				pixels[i] = 1;
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				if (n > 0) theByte = data[index] & 0xFF;
-				srcX = 0;
-			} else {
-				if (mask == 1) {
-					index++;
-					if (n > 0) theByte = data[index] & 0xFF;
-				}
-			}
-		}
-		return;
-	}		
-	if (depth == 2) {
-		index = (y * bytesPerLine) + (x >> 2);
-		theByte = data[index] & 0xFF;
-		int offset;
-		while (n > 0) {
-			offset = 3 - (srcX % 4);
-			mask = 3 << (offset * 2);
-			pixels[i] = (byte)((theByte & mask) >> (offset * 2));
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				if (n > 0) theByte = data[index] & 0xFF;
-				srcX = 0;
-			} else {
-				if (offset == 0) {
-					index++;
-					theByte = data[index] & 0xFF;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 4) {
-		index = (y * bytesPerLine) + (x >> 1);
-		if ((x & 0x1) == 1) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = theByte & 0x0F;
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		while (n > 1) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = theByte >> 4;
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				pixels[i] = theByte & 0x0F;
-				i++;
-				n--;
-				srcX++;
-				if (srcX >= width) {
-					srcY++;
-					index = srcY * bytesPerLine;
-					srcX = 0;
-				} else {
-					index++;
-				}
-			}
-		}
-		if (n > 0) {
-			theByte = data[index] & 0xFF;
-			pixels[i] = theByte >> 4;
-		}
-		return;
-	}
-	if (depth == 8) {
-		index = (y * bytesPerLine) + x;
-		for (int j = 0; j < getWidth; j++) {
-			pixels[i] = data[index] & 0xFF;
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		return;
-	}
-	if (depth == 16) {
-		index = (y * bytesPerLine) + (x * 2);
-		for (int j = 0; j < getWidth; j++) {
-			pixels[i] = ((data[index+1] & 0xFF) << 8) + (data[index] & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 2;
-			}
-		}
-		return;
-	}
-	if (depth == 24) {
-		index = (y * bytesPerLine) + (x * 3);
-		for (int j = 0; j < getWidth; j++) {
-			pixels[i] = ((data[index] & 0xFF) << 16) | ((data[index+1] & 0xFF) << 8)
-				| (data[index+2] & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 3;
-			}
-		}
-		return;
-	}
-	if (depth == 32) {
-		index = (y * bytesPerLine) + (x * 4);
-		i = startIndex;
-		for (int j = 0; j < getWidth; j++) {
-			pixels[i] = ((data[index] & 0xFF) << 24) | ((data[index+1] & 0xFF) << 16)
-				| ((data[index+2] & 0xFF) << 8) | (data[index+3] & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 4;
-			}
-		}
-		return;
-	}
-	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
-}
-
-/**
- * Returns an array of <code>RGB</code>s which comprise the
- * indexed color table of the receiver, or null if the receiver
- * has a direct color model.
- *
- * @return the RGB values for the image or null if direct color
- *
- * @see IconExe.PaletteData#getRGBs()
- */
-public RGB[] getRGBs() {
-	return palette.getRGBs();
-}
-
-/**
- * Returns an <code>ImageData</code> which specifies the
- * transparency mask information for the receiver, or null if the
- * receiver has no transparency and is not an icon.
- *
- * @return the transparency mask or null if none exists
- */
-public ImageData getTransparencyMask() {
-	if (getTransparencyType() == SWT.TRANSPARENCY_MASK) {
-		return new ImageData(width, height, 1, bwPalette(), maskPad, maskData);
-	}
-	return colorMaskImage(transparentPixel);
-}
-
-/**
- * Returns the image transparency type.
- *
- * @return the receiver's transparency type
- */
-public int getTransparencyType() {
-	if (maskData != null) return SWT.TRANSPARENCY_MASK;
-	if (transparentPixel != -1) return SWT.TRANSPARENCY_PIXEL;
-	if (alphaData != null) return SWT.TRANSPARENCY_ALPHA;
-	return SWT.TRANSPARENCY_NONE;
-}
-
-/**
- * Returns the byte order of the receiver.
- * 
- * @return MSB_FIRST or LSB_FIRST
- */
-int getByteOrder() {
-	return depth != 16 ? MSB_FIRST : LSB_FIRST;
-}
-
-/**
- * Sets the pixel values starting at offset <code>x</code> in
- * scanline <code>y</code> in the receiver's data to the
- * values from the array <code>pixels</code> starting at
- * <code>startIndex</code>.
- *
- * @param x the x position of the pixel to set
- * @param y the y position of the pixel to set
- * @param putWidth the width of the pixels to set
- * @param pixels the pixels to set
- * @param startIndex the index at which to begin setting
- *
- * @exception IndexOutOfBoundsException if putWidth is too large
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if pixels is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if x or y is out of bounds</li>
- *    <li>ERROR_INVALID_ARGUMENT - if putWidth is negative</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_UNSUPPORTED_DEPTH if the depth is not one of 1, 2, 4, 8
- *        (For higher depths, use the int[] version of this method.)</li>
- * </ul>
- */
-public void setPixels(int x, int y, int putWidth, byte[] pixels, int startIndex) {
-	if (pixels == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (putWidth < 0 || x >= width || y >= height || x < 0 || y < 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	if (putWidth == 0) return;
-	int index;
-	int theByte;
-	int mask;
-	int n = putWidth;
-	int i = startIndex;
-	int srcX = x, srcY = y;
-	if (depth == 1) {
-		index = (y * bytesPerLine) + (x >> 3);
-		while (n > 0) {
-			mask = 1 << (7 - (srcX & 0x7));
-			if ((pixels[i] & 0x1) == 1) {
-				data[index] = (byte)((data[index] & 0xFF) | mask);
-			} else {
-				data[index] = (byte)((data[index] & 0xFF) & (mask ^ -1));
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				if (mask == 1) {
-					index++;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 2) {
-		byte [] masks = { (byte)0xFC, (byte)0xF3, (byte)0xCF, (byte)0x3F };
-		index = (y * bytesPerLine) + (x >> 2);
-		int offset = 3 - (x % 4);
-		while (n > 0) {
-			theByte = pixels[i] & 0x3;
-			data[index] = (byte)((data[index] & masks[offset]) | (theByte << (offset * 2)));
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				offset = 0;
-				srcX = 0;
-			} else {
-				if (offset == 0) {
-					index++;
-					offset = 3;
-				} else {
-					offset--;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 4) {
-		index = (y * bytesPerLine) + (x >> 1);
-		boolean high = (x & 0x1) == 0;
-		while (n > 0) {
-			theByte = pixels[i] & 0x0F;
-			if (high) {
-				data[index] = (byte)((data[index] & 0x0F) | (theByte << 4));
-			} else {
-				data[index] = (byte)((data[index] & 0xF0) | theByte);
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				high = true;
-				srcX = 0;
-			} else {
-				if (!high) index++;
-				high = !high;
-			}
-		}
-		return;
-	}
-	if (depth == 8) {
-		index = (y * bytesPerLine) + x;
-		for (int j = 0; j < putWidth; j++) {
-			data[index] = (byte)(pixels[i] & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		return;
-	}
-	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
-}
-
-/**
- * Sets the pixel values starting at offset <code>x</code> in
- * scanline <code>y</code> in the receiver's data to the
- * values from the array <code>pixels</code> starting at
- * <code>startIndex</code>.
- *
- * @param x the x position of the pixel to set
- * @param y the y position of the pixel to set
- * @param putWidth the width of the pixels to set
- * @param pixels the pixels to set
- * @param startIndex the index at which to begin setting
- *
- * @exception IndexOutOfBoundsException if putWidth is too large
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if pixels is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if x or y is out of bounds</li>
- *    <li>ERROR_INVALID_ARGUMENT - if putWidth is negative</li>
- * </ul>
- * @exception RuntimeException <ul>
- *    <li>ERROR_UNSUPPORTED_DEPTH if the depth is not one of 1, 2, 4, 8, 16, 24 or 32</li>
- * </ul>
- */
-public void setPixels(int x, int y, int putWidth, int[] pixels, int startIndex) {
-	if (pixels == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (putWidth < 0 || x >= width || y >= height || x < 0 || y < 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	if (putWidth == 0) return;
-	int index;
-	int theByte;
-	int mask;
-	int n = putWidth;
-	int i = startIndex;
-	int pixel;
-	int srcX = x, srcY = y;
-	if (depth == 1) {
-		index = (y * bytesPerLine) + (x >> 3);
-		while (n > 0) {
-			mask = 1 << (7 - (srcX & 0x7));
-			if ((pixels[i] & 0x1) == 1) {
-				data[index] = (byte)((data[index] & 0xFF) | mask);
-			} else {
-				data[index] = (byte)((data[index] & 0xFF) & (mask ^ -1));
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				if (mask == 1) {
-					index++;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 2) {
-		byte [] masks = { (byte)0xFC, (byte)0xF3, (byte)0xCF, (byte)0x3F };
-		index = (y * bytesPerLine) + (x >> 2);
-		int offset = 3 - (x % 4);
-		while (n > 0) {
-			theByte = pixels[i] & 0x3;
-			data[index] = (byte)((data[index] & masks[offset]) | (theByte << (offset * 2)));
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				offset = 3;
-				srcX = 0;
-			} else {
-				if (offset == 0) {
-					index++;
-					offset = 3;
-				} else {
-					offset--;
-				}
-			}
-		}
-		return;
-	}
-	if (depth == 4) {
-		index = (y * bytesPerLine) + (x >> 1);
-		boolean high = (x & 0x1) == 0;
-		while (n > 0) {
-			theByte = pixels[i] & 0x0F;
-			if (high) {
-				data[index] = (byte)((data[index] & 0x0F) | (theByte << 4));
-			} else {
-				data[index] = (byte)((data[index] & 0xF0) | theByte);
-			}
-			i++;
-			n--;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				high = true;
-				srcX = 0;
-			} else {
-				if (!high) index++;
-				high = !high;
-			}
-		}
-		return;
-	}
-	if (depth == 8) {
-		index = (y * bytesPerLine) + x;
-		for (int j = 0; j < putWidth; j++) {
-			data[index] = (byte)(pixels[i] & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index++;
-			}
-		}
-		return;
-
-	}
-	if (depth == 16) {
-		index = (y * bytesPerLine) + (x * 2);
-		for (int j = 0; j < putWidth; j++) {
-			pixel = pixels[i];
-			data[index] = (byte)(pixel & 0xFF);
-			data[index + 1] = (byte)((pixel >> 8) & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 2;
-			}
-		}
-		return;
-	}
-	if (depth == 24) {
-		index = (y * bytesPerLine) + (x * 3);
-		for (int j = 0; j < putWidth; j++) {
-			pixel = pixels[i];
-			data[index] = (byte)((pixel >> 16) & 0xFF);
-			data[index + 1] = (byte)((pixel >> 8) & 0xFF);
-			data[index + 2] = (byte)(pixel & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 3;
-			}
-		}
-		return;
-	}
-	if (depth == 32) {
-		index = (y * bytesPerLine) + (x * 4);
-		for (int j = 0; j < putWidth; j++) {
-			pixel = pixels[i];
-			data[index] = (byte)((pixel >> 24) & 0xFF);
-			data[index + 1] = (byte)((pixel >> 16) & 0xFF);
-			data[index + 2] = (byte)((pixel >> 8) & 0xFF);
-			data[index + 3] = (byte)(pixel & 0xFF);
-			i++;
-			srcX++;
-			if (srcX >= width) {
-				srcY++;
-				index = srcY * bytesPerLine;
-				srcX = 0;
-			} else {
-				index += 4;
-			}
-		}
-		return;
-	}
-	SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
-}
-
-/**
- * Returns a palette with 2 colors: black & white.
- */
-static PaletteData bwPalette() {
-	return new PaletteData(new RGB[] {new RGB(0, 0, 0), new RGB(255, 255, 255)});
-}
-
-/**
- * Gets the offset of the most significant bit for
- * the given mask.
- */
-static int getMSBOffset(int mask) {
-	for (int i = 31; i >= 0; i--) {
-		if (((mask >> i) & 0x1) != 0) return i + 1;
-	}
-	return 0;
-}
-
-/**
- * Finds the closest match.
- */
-static int closestMatch(int depth, byte red, byte green, byte blue, int redMask, int greenMask, int blueMask, byte[] reds, byte[] greens, byte[] blues) {
-	if (depth > 8) {
-		int rshift = 32 - getMSBOffset(redMask);
-		int gshift = 32 - getMSBOffset(greenMask);
-		int bshift = 32 - getMSBOffset(blueMask);
-		return (((red << 24) >>> rshift) & redMask) |
-			(((green << 24) >>> gshift) & greenMask) |
-			(((blue << 24) >>> bshift) & blueMask);
-	}
-	int r, g, b;
-	int minDistance = 0x7fffffff;
-	int nearestPixel = 0;
-	int n = reds.length;
-	for (int j = 0; j < n; j++) {
-		r = (reds[j] & 0xFF) - (red & 0xFF);
-		g = (greens[j] & 0xFF) - (green & 0xFF);
-		b = (blues[j] & 0xFF) - (blue & 0xFF);
-		int distance = r*r + g*g + b*b;
-		if (distance < minDistance) {
-			nearestPixel = j;
-			if (distance == 0) break;
-			minDistance = distance;
-		}
-	}
-	return nearestPixel;
-}
-
-static final ImageData convertMask(ImageData mask) {
-	if (mask.depth == 1) return mask;
-	PaletteData palette = new PaletteData(new RGB[] {new RGB(0, 0, 0), new RGB(255,255,255)});
-	ImageData newMask = new ImageData(mask.width, mask.height, 1, palette);
-	/* Find index of black in mask palette */
-	int blackIndex = 0;
-	RGB[] rgbs = mask.getRGBs();
-	if (rgbs != null) {
-		while (blackIndex < rgbs.length) {
-			if (rgbs[blackIndex].equals(palette.colors[0])) break;
-			blackIndex++;
-		}
-	}
-	int[] pixels = new int[mask.width];
-	for (int y = 0; y < mask.height; y++) {
-		mask.getPixels(0, y, mask.width, pixels, 0);
-		for (int i = 0; i < pixels.length; i++) {
-			if (pixels[i] == blackIndex) {
-				pixels[i] = 0;
-			} else {
-				pixels[i] = 1;
-			}
-		}
-		newMask.setPixels(0, y, mask.width, pixels, 0);
-	}
-	return newMask;
-}
-
-static final byte[] convertPad(byte[] data, int width, int height, int depth, int pad, int newPad) {
-	if (pad == newPad) return data;
-	int stride = (width * depth + 7) / 8;
-	int bpl = (stride + (pad - 1)) / pad * pad;	
-	int newBpl = (stride + (newPad - 1)) / newPad * newPad;
-	byte[] newData = new byte[height * newBpl];
-	int srcIndex = 0, destIndex = 0;
-	for (int y = 0; y < height; y++) {
-		System.arraycopy(data, srcIndex, newData, destIndex, stride);
-		srcIndex += bpl;
-		destIndex += newBpl;
-	}
-	return newData;
-}
-
-/**
- * Blit operation bits to be OR'ed together to specify the desired operation.
- */
-static final int
-	BLIT_SRC = 1,     // copy source directly, else applies logic operations
-	BLIT_ALPHA = 2,   // enable alpha blending
-	BLIT_DITHER = 4;  // enable dithering in low color modes
-
-/**
- * Alpha mode, values 0 - 255 specify global alpha level
- */
-static final int
-	ALPHA_OPAQUE = 255,           // Fully opaque (ignores any alpha data)
-	ALPHA_TRANSPARENT = 0,        // Fully transparent (ignores any alpha data)
-	ALPHA_CHANNEL_SEPARATE = -1,  // Use alpha channel from separate alphaData
-	ALPHA_CHANNEL_SOURCE = -2,    // Use alpha channel embedded in sourceData
-	ALPHA_MASK_UNPACKED = -3,     // Use transparency mask formed by bytes in alphaData (non-zero is opaque)
-	ALPHA_MASK_PACKED = -4,       // Use transparency mask formed by packed bits in alphaData
-	ALPHA_MASK_INDEX = -5,        // Consider source palette indices transparent if in alphaData array
-	ALPHA_MASK_RGB = -6;          // Consider source RGBs transparent if in RGB888 format alphaData array
-
-/**
- * Byte and bit order constants.
- */
-static final int LSB_FIRST = 0;
-static final int MSB_FIRST = 1;
-
-/**
- * Data types (internal)
- */
-/*
-private static final int
-	// direct / true color formats with arbitrary masks & shifts
-	TYPE_GENERIC_8 = 0,
-	TYPE_GENERIC_16_MSB = 1,
-	TYPE_GENERIC_16_LSB = 2,
-	TYPE_GENERIC_24 = 3,
-	TYPE_GENERIC_32_MSB = 4,
-	TYPE_GENERIC_32_LSB = 5,
-	// palette indexed color formats
-	TYPE_INDEX_8 = 6,
-	TYPE_INDEX_4 = 7,
-	TYPE_INDEX_2 = 8,
-	TYPE_INDEX_1_MSB = 9,
-	TYPE_INDEX_1_LSB = 10;
-*/
-/**
- * Computes the required channel shift from a mask.
- */
-static int getChannelShift(int mask) {
-	if (mask == 0) return 0;
-	int i;
-	for (i = 0; ((mask & 1) == 0) && (i < 32); ++i) {
-		mask >>>= 1;
-	}
-	return i;
-}
-
-/**
- * Computes the required channel width (depth) from a mask.
- */
-static int getChannelWidth(int mask, int shift) {
-	if (mask == 0) return 0;
-	int i;
-	mask >>>= shift;
-	for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) {
-		mask >>>= 1;
-	}
-	return i - shift;
-}
-
-/**
- * Extracts a field from packed RGB data given a mask for that field.
- */
-static byte getChannelField(int data, int mask) {
-	final int shift = getChannelShift(mask);
-	return ANY_TO_EIGHT[getChannelWidth(mask, shift)][(data & mask) >>> shift];
-}
-
-/* 
- * Fill in dithered gradated values for a color channel
- */
-static final void buildDitheredGradientChannel(int from, int to, int steps,
-	int bandWidth, int bandHeight, boolean vertical,
-	byte[] bitmapData, int dp, int bytesPerLine, int bits) {
-	final int mask = 0xff00 >>> bits;
-	int val = from << 16;
-	final int inc = ((to << 16) - val) / steps + 1;
-	if (vertical) {
-		for (int dy = 0; dy < bandHeight; ++dy, dp += bytesPerLine) {
-			for (int dx = 0, dptr = dp; dx < bandWidth; ++dx, dptr += 4) {
-				final int thresh = DITHER_MATRIX[dy & 7][dx] >>> bits;
-				int temp = val + thresh;
-				if (temp > 0xffffff) bitmapData[dptr] = -1;
-				else bitmapData[dptr] = (byte)((temp >>> 16) & mask);
-			}
-			val += inc;
-		}
-	} else {
-		for (int dx = 0; dx < bandWidth; ++dx, dp += 4) {
-			for (int dy = 0, dptr = dp; dy < bandHeight; ++dy, dptr += bytesPerLine) {
-				final int thresh = DITHER_MATRIX[dy][dx & 7] >>> bits;
-				int temp = val + thresh;
-				if (temp > 0xffffff) bitmapData[dptr] = -1;
-				else bitmapData[dptr] = (byte)((temp >>> 16) & mask);
-			}
-			val += inc;
-		}
-	}
-}
-}
-
-static class LEDataInputStream extends InputStream {
-	int position;
-	InputStream in;
-
-	/**
-	 * The byte array containing the bytes to read.
-	 */
-	protected byte[] buf;
-	
-	/**
-	 * The current position within the byte array <code>buf</code>. A value
-	 * equal to buf.length indicates no bytes available.  A value of
-	 * 0 indicates the buffer is full.
-	 */
-	protected int pos;
-	
-
-	public LEDataInputStream(InputStream input) {
-		this(input, 512);
-	}
-	
-	public LEDataInputStream(InputStream input, int bufferSize) {
-		this.in = input;
-		if (bufferSize > 0) {
-			buf = new byte[bufferSize];
-			pos = bufferSize;
-		} 
-		else throw new IllegalArgumentException();
-	}
-	
-	public void close() throws IOException {
-		buf = null;
-		if (in != null) {
-			in.close();
-			in = null;
-		}
-	}
-	
-	/**
-	 * Answer how many bytes were read.
-	 */
-	public int getPosition() {
-		return position;
-	}
-	
-	/**
-	 * Answers how many bytes are available for reading without blocking
-	 */
-	public int available() throws IOException {
-		if (buf == null) throw new IOException();
-		return (buf.length - pos) + in.available();
-	}
-	
-	/**
-	 * Answer the next byte of the input stream.
-	 */
-	public int read() throws IOException {
-		if (buf == null) throw new IOException();
-		position++;
-		if (pos < buf.length) return (buf[pos++] & 0xFF);
-		return in.read();
-	}
-	
-	/**
-	 * Don't imitate the JDK behaviour of reading a random number
-	 * of bytes when you can actually read them all.
-	 */
-	public int read(byte b[], int off, int len) throws IOException {
-		int result;
-		int left = len;
-		result = readData(b, off, len);
-		while (true) {
-			if (result == -1) return -1;
-			position += result;
-			if (result == left) return len;
-			left -= result;
-			off += result;
-			result = readData(b, off, left);
-		}
-	}
-	
-	/**
- 	 * Reads at most <code>length</code> bytes from this LEDataInputStream and 
- 	 * stores them in byte array <code>buffer</code> starting at <code>offset</code>.
- 	 * <p>
- 	 * Answer the number of bytes actually read or -1 if no bytes were read and 
- 	 * end of stream was encountered.  This implementation reads bytes from 
- 	 * the pushback buffer first, then the target stream if more bytes are required
- 	 * to satisfy <code>count</code>.
-	 * </p>
-	 * @param buffer the byte array in which to store the read bytes.
-	 * @param offset the offset in <code>buffer</code> to store the read bytes.
-	 * @param length the maximum number of bytes to store in <code>buffer</code>.
-	 *
-	 * @return int the number of bytes actually read or -1 if end of stream.
-	 *
-	 * @exception java.io.IOException if an IOException occurs.
-	 */
-	private int readData(byte[] buffer, int offset, int length) throws IOException {
-		if (buf == null) throw new IOException();
-		if (offset < 0 || offset > buffer.length ||
-  		 	length < 0 || (length > buffer.length - offset)) {
-	 		throw new ArrayIndexOutOfBoundsException();
-		 	}
-				
-		int cacheCopied = 0;
-		int newOffset = offset;
-	
-		// Are there pushback bytes available?
-		int available = buf.length - pos;
-		if (available > 0) {
-			cacheCopied = (available >= length) ? length : available;
-			System.arraycopy(buf, pos, buffer, newOffset, cacheCopied);
-			newOffset += cacheCopied;
-			pos += cacheCopied;
-		}
-	
-		// Have we copied enough?
-		if (cacheCopied == length) return length;
-
-		int inCopied = in.read(buffer, newOffset, length - cacheCopied);
-
-		if (inCopied > 0) return inCopied + cacheCopied;
-		if (cacheCopied == 0) return inCopied;
-		return cacheCopied;
-	}
-	
-	/**
-	 * Answer an integer comprised of the next
-	 * four bytes of the input stream.
-	 */
-	public int readInt() throws IOException {
-		byte[] buf = new byte[4];
-		read(buf);
-		return ((((((buf[3] & 0xFF) << 8) | 
-			(buf[2] & 0xFF)) << 8) | 
-			(buf[1] & 0xFF)) << 8) | 
-			(buf[0] & 0xFF);
-	}
-	
-	/**
-	 * Answer a short comprised of the next
-	 * two bytes of the input stream.
-	 */
-	public short readShort() throws IOException {
-		byte[] buf = new byte[2];
-		read(buf);
-		return (short)(((buf[1] & 0xFF) << 8) | (buf[0] & 0xFF));
-	}
-	
-	/**
-	 * Push back the entire content of the given buffer <code>b</code>.
-	 * <p>
-	 * The bytes are pushed so that they would be read back b[0], b[1], etc. 
-	 * If the push back buffer cannot handle the bytes copied from <code>b</code>, 
-	 * an IOException will be thrown and no byte will be pushed back.
-	 * </p>
-	 * 
-	 * @param b the byte array containing bytes to push back into the stream
-	 *
-	 * @exception 	java.io.IOException if the pushback buffer is too small
-	 */
-	public void unread(byte[] b) throws IOException {
-		int length = b.length;
-		if (length > pos) throw new IOException();
-		position -= length;
-		pos -= length;
-		System.arraycopy(b, 0, buf, pos, length);
-	}
-}
-public static abstract class FileFormat {	
-	LEDataInputStream inputStream;
-	ImageLoader loader;
-	int compression;
-
-byte[] bitInvertData(byte[] data, int startIndex, int endIndex) {
-	// Destructively bit invert data in the given byte array.
-	for (int i = startIndex; i < endIndex; i++) {
-		data[i] = (byte)(255 - data[i - startIndex]);
-	}
-	return data;
-}
-
-/**
- * Return whether or not the specified input stream
- * represents a supported file format.
- */
-abstract boolean isFileFormat(LEDataInputStream stream);
-
-abstract ImageData[] loadFromByteStream();
-
-public ImageData[] loadFromStream(LEDataInputStream stream) {
-	try {
-		inputStream = stream;
-		return loadFromByteStream();
-	} catch (Exception e) {
-		SWT.error(SWT.ERROR_IO, e);
-		return null;
-	}
-}
-
-public static ImageData[] load(InputStream is, ImageLoader loader) {
-	LEDataInputStream stream = new LEDataInputStream(is);
-	boolean isSupported = false;	
-	FileFormat fileFormat = new WinICOFileFormat();
-	if (fileFormat.isFileFormat(stream)) isSupported = true;
-	else {
-		fileFormat = new WinBMPFileFormat();
-		if (fileFormat.isFileFormat(stream)) isSupported = true;
-	}
-	if (!isSupported) SWT.error(SWT.ERROR_UNSUPPORTED_FORMAT);
-	fileFormat.loader = loader;
-	return fileFormat.loadFromStream(stream);
-}
-}
-static class WinBMPFileFormat extends FileFormat {
-	static final int BMPFileHeaderSize = 14;
-	static final int BMPHeaderFixedSize = 40;
-	int importantColors;
-
-void decompressData(byte[] src, byte[] dest, int stride, int cmp) {
-	if (cmp == 1) { // BMP_RLE8_COMPRESSION
-		if (decompressRLE8Data(src, src.length, stride, dest, dest.length) <= 0)
-			SWT.error(SWT.ERROR_INVALID_IMAGE);
-		return;
-	}
-	if (cmp == 2) { // BMP_RLE4_COMPRESSION
-		if (decompressRLE4Data(src, src.length, stride, dest, dest.length) <= 0)
-			SWT.error(SWT.ERROR_INVALID_IMAGE);
-		return;
-	}
-	SWT.error(SWT.ERROR_INVALID_IMAGE);
-}
-int decompressRLE4Data(byte[] src, int numBytes, int stride, byte[] dest, int destSize) {
-	int sp = 0;
-	int se = numBytes;
-	int dp = 0;
-	int de = destSize;
-	int x = 0, y = 0;
-	while (sp < se) {
-		int len = src[sp] & 0xFF;
-		sp++;
-		if (len == 0) {
-			len = src[sp] & 0xFF;
-			sp++;
-			switch (len) {
-				case 0: /* end of line */
-					y++;
-					x = 0;
-					dp = y * stride;
-					if (dp >= de)
-						return -1;
-					break;
-				case 1: /* end of bitmap */
-					return 1;
-				case 2: /* delta */
-					x += src[sp] & 0xFF;
-					sp++;
-					y += src[sp] & 0xFF;
-					sp++;
-					dp = y * stride + x / 2;
-					if (dp >= de)
-						return -1;
-					break;
-				default: /* absolute mode run */
-					if ((len & 1) != 0) /* odd run lengths not currently supported */
-						return -1;
-					x += len;
-					len = len / 2;
-					if (len > (se - sp))
-						return -1;
-					if (len > (de - dp))
-						return -1;
-					for (int i = 0; i < len; i++) {
-						dest[dp] = src[sp];
-						dp++;
-						sp++;
-					}
-					if ((sp & 1) != 0)
-						sp++; /* word align sp? */
-					break;
-			}
-		} else {
-			if ((len & 1) != 0)
-				return -1;
-			x += len;
-			len = len / 2;
-			byte theByte = src[sp];
-			sp++;
-			if (len > (de - dp))
-				return -1;
-			for (int i = 0; i < len; i++) {
-				dest[dp] = theByte;
-				dp++;
-			}
-		}
-	}
-	return 1;
-}
-int decompressRLE8Data(byte[] src, int numBytes, int stride, byte[] dest, int destSize) {
-	int sp = 0;
-	int se = numBytes;
-	int dp = 0;
-	int de = destSize;
-	int x = 0, y = 0;
-	while (sp < se) {
-		int len = src[sp] & 0xFF;
-		sp++;
-		if (len == 0) {
-			len = src[sp] & 0xFF;
-			sp++;
-			switch (len) {
-				case 0: /* end of line */
-					y++;
-					x = 0;
-					dp = y * stride;
-					if (dp >= de)
-						return -1;
-					break;
-				case 1: /* end of bitmap */
-					return 1;
-				case 2: /* delta */
-					x += src[sp] & 0xFF;
-					sp++;
-					y += src[sp] & 0xFF;
-					sp++;
-					dp = y * stride + x;
-					if (dp >= de)
-						return -1;
-					break;
-				default: /* absolute mode run */
-					if (len > (se - sp))
-						return -1;
-					if (len > (de - dp))
-						return -1;
-					for (int i = 0; i < len; i++) {
-						dest[dp] = src[sp];
-						dp++;
-						sp++;
-					}
-					if ((sp & 1) != 0)
-						sp++; /* word align sp? */
-					x += len;
-					break;
-			}
-		} else {
-			byte theByte = src[sp];
-			sp++;
-			if (len > (de - dp))
-				return -1;
-			for (int i = 0; i < len; i++) {
-				dest[dp] = theByte;
-				dp++;
-			}
-			x += len;
-		}
-	}
-	return 1;
-}
-boolean isFileFormat(LEDataInputStream stream) {
-	try {
-		byte[] header = new byte[18];
-		stream.read(header);
-		stream.unread(header);
-		int infoHeaderSize = (header[14] & 0xFF) | ((header[15] & 0xFF) << 8) | ((header[16] & 0xFF) << 16) | ((header[17] & 0xFF) << 24);
-		return header[0] == 0x42 && header[1] == 0x4D && infoHeaderSize >= BMPHeaderFixedSize;
-	} catch (Exception e) {
-		return false;
-	}
-}
-byte[] loadData(byte[] infoHeader) {
-	int width = (infoHeader[4] & 0xFF) | ((infoHeader[5] & 0xFF) << 8) | ((infoHeader[6] & 0xFF) << 16) | ((infoHeader[7] & 0xFF) << 24);
-	int height = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
-	int bitCount = (infoHeader[14] & 0xFF) | ((infoHeader[15] & 0xFF) << 8);
-	int stride = (width * bitCount + 7) / 8;
-	stride = (stride + 3) / 4 * 4; // Round up to 4 byte multiple
-	byte[] data = loadData(infoHeader, stride);
-	flipScanLines(data, stride, height);
-	return data;
-}
-byte[] loadData(byte[] infoHeader, int stride) {
-	int height = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
-	int dataSize = height * stride;
-	byte[] data = new byte[dataSize];
-	int cmp = (infoHeader[16] & 0xFF) | ((infoHeader[17] & 0xFF) << 8) | ((infoHeader[18] & 0xFF) << 16) | ((infoHeader[19] & 0xFF) << 24);
-	if (cmp == 0) { // BMP_NO_COMPRESSION
-		try {
-			if (inputStream.read(data) != dataSize)
-				SWT.error(SWT.ERROR_INVALID_IMAGE);
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-	} else {
-		int compressedSize = (infoHeader[20] & 0xFF) | ((infoHeader[21] & 0xFF) << 8) | ((infoHeader[22] & 0xFF) << 16) | ((infoHeader[23] & 0xFF) << 24);
-		byte[] compressed = new byte[compressedSize];
-		try {
-			if (inputStream.read(compressed) != compressedSize)
-				SWT.error(SWT.ERROR_INVALID_IMAGE);
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-		decompressData(compressed, data, stride, cmp);
-	}
-	return data;
-}
-int[] loadFileHeader() {
-	int[] header = new int[5];
-	try {
-		header[0] = inputStream.readShort();
-		header[1] = inputStream.readInt();
-		header[2] = inputStream.readShort();
-		header[3] = inputStream.readShort();
-		header[4] = inputStream.readInt();
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	if (header[0] != 0x4D42)
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	return header;
-}
-ImageData[] loadFromByteStream() {
-	int[] fileHeader = loadFileHeader();
-	byte[] infoHeader = new byte[BMPHeaderFixedSize];
-	try {
-		inputStream.read(infoHeader);
-	} catch (Exception e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	int width = (infoHeader[4] & 0xFF) | ((infoHeader[5] & 0xFF) << 8) | ((infoHeader[6] & 0xFF) << 16) | ((infoHeader[7] & 0xFF) << 24);
-	int height = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
-	int bitCount = (infoHeader[14] & 0xFF) | ((infoHeader[15] & 0xFF) << 8);
-	PaletteData palette = loadPalette(infoHeader);
-	if (inputStream.getPosition() < fileHeader[4]) {
-		// Seek to the specified offset
-		try {
-			inputStream.skip(fileHeader[4] - inputStream.getPosition());
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-	}
-	byte[] data = loadData(infoHeader);
-	this.compression = (infoHeader[16] & 0xFF) | ((infoHeader[17] & 0xFF) << 8) | ((infoHeader[18] & 0xFF) << 16) | ((infoHeader[19] & 0xFF) << 24);
-	this.importantColors = (infoHeader[36] & 0xFF) | ((infoHeader[37] & 0xFF) << 8) | ((infoHeader[38] & 0xFF) << 16) | ((infoHeader[39] & 0xFF) << 24);
-//	int xPelsPerMeter = (infoHeader[24] & 0xFF) | ((infoHeader[25] & 0xFF) << 8) | ((infoHeader[26] & 0xFF) << 16) | ((infoHeader[27] & 0xFF) << 24);
-//	int yPelsPerMeter = (infoHeader[28] & 0xFF) | ((infoHeader[29] & 0xFF) << 8) | ((infoHeader[30] & 0xFF) << 16) | ((infoHeader[31] & 0xFF) << 24);
-	int type = (this.compression == 1 /*BMP_RLE8_COMPRESSION*/) || (this.compression == 2 /*BMP_RLE4_COMPRESSION*/) ? SWT.IMAGE_BMP_RLE : SWT.IMAGE_BMP;
-	return new ImageData[] {
-		ImageData.internal_new(
-			width,
-			height,
-			bitCount,
-			palette,
-			4,
-			data,
-			0,
-			null,
-			null,
-			-1,
-			-1,
-			type,
-			0,
-			0,
-			0,
-			0)
-	};
-}
-PaletteData loadPalette(byte[] infoHeader) {
-	int depth = (infoHeader[14] & 0xFF) | ((infoHeader[15] & 0xFF) << 8);
-	if (depth <= 8) {
-		int numColors = (infoHeader[32] & 0xFF) | ((infoHeader[33] & 0xFF) << 8) | ((infoHeader[34] & 0xFF) << 16) | ((infoHeader[35] & 0xFF) << 24);
-		if (numColors == 0) {
-			numColors = 1 << depth;
-		} else {
-			if (numColors > 256)
-				numColors = 256;
-		}
-		byte[] buf = new byte[numColors * 4];
-		try {
-			if (inputStream.read(buf) != buf.length)
-				SWT.error(SWT.ERROR_INVALID_IMAGE);
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-		return paletteFromBytes(buf, numColors);
-	}
-	if (depth == 16) return new PaletteData(0x7C00, 0x3E0, 0x1F);
-	if (depth == 24) return new PaletteData(0xFF, 0xFF00, 0xFF0000);
-	return new PaletteData(0xFF00, 0xFF0000, 0xFF000000);
-}
-PaletteData paletteFromBytes(byte[] bytes, int numColors) {
-	int bytesOffset = 0;
-	RGB[] colors = new RGB[numColors];
-	for (int i = 0; i < numColors; i++) {
-		colors[i] = new RGB(bytes[bytesOffset + 2] & 0xFF,
-			bytes[bytesOffset + 1] & 0xFF,
-			bytes[bytesOffset] & 0xFF);
-		bytesOffset += 4;
-	}
-	return new PaletteData(colors);
-}
-/**
- * Answer a byte array containing the BMP representation of
- * the given device independent palette.
- */
-static byte[] paletteToBytes(PaletteData pal) {
-	int n = pal.colors == null ? 0 : (pal.colors.length < 256 ? pal.colors.length : 256);
-	byte[] bytes = new byte[n * 4];
-	int offset = 0;
-	for (int i = 0; i < n; i++) {
-		RGB col = pal.colors[i];
-		bytes[offset] = (byte)col.blue;
-		bytes[offset + 1] = (byte)col.green;
-		bytes[offset + 2] = (byte)col.red;
-		offset += 4;
-	}
-	return bytes;
-}
-
-void flipScanLines(byte[] data, int stride, int height) {
-	int i1 = 0;
-	int i2 = (height - 1) * stride;
-	for (int i = 0; i < height / 2; i++) {
-		for (int index = 0; index < stride; index++) {
-			byte b = data[index + i1];
-			data[index + i1] = data[index + i2];
-			data[index + i2] = b;
-		}
-		i1 += stride;
-		i2 -= stride;
-	}
-}
-
-}
-
-static class WinICOFileFormat extends FileFormat {
-	
-static final byte[] convertPad(byte[] data, int width, int height, int depth, int pad, int newPad) {
-	if (pad == newPad) return data;
-	int stride = (width * depth + 7) / 8;
-	int bpl = (stride + (pad - 1)) / pad * pad;
-	int newBpl = (stride + (newPad - 1)) / newPad * newPad;
-	byte[] newData = new byte[height * newBpl];
-	int srcIndex = 0, destIndex = 0;
-	for (int y = 0; y < height; y++) {
-		System.arraycopy(data, srcIndex, newData, destIndex, newBpl);
-		srcIndex += bpl;
-		destIndex += newBpl;
-	}
-	return newData;
-}
-/**
- * Answer the size in bytes of the file representation of the given
- * icon
- */
-int iconSize(ImageData i) {
-	int shapeDataStride = (i.width * i.depth + 31) / 32 * 4;
-	int maskDataStride = (i.width + 31) / 32 * 4;
-	int dataSize = (shapeDataStride + maskDataStride) * i.height;
-	int paletteSize = i.palette.colors != null ? i.palette.colors.length * 4 : 0;
-	return WinBMPFileFormat.BMPHeaderFixedSize + paletteSize + dataSize;
-}
-boolean isFileFormat(LEDataInputStream stream) {
-	try {
-		byte[] header = new byte[4];
-		stream.read(header);
-		stream.unread(header);
-		return header[0] == 0 && header[1] == 0 && header[2] == 1 && header[3] == 0;
-	} catch (Exception e) {
-		return false;
-	}
-}
-boolean isValidIcon(ImageData i) {
-	switch (i.depth) {
-		case 1:
-		case 4:
-		case 8:
-			if (i.palette.isDirect) return false;
-			int size = i.palette.colors.length;
-			return size == 2 || size == 16 || size == 32 || size == 256;
-		case 24:
-		case 32:
-			return i.palette.isDirect;
-	}
-	return false;
-}
-int loadFileHeader(LEDataInputStream byteStream) {
-	int[] fileHeader = new int[3];
-	try {
-		fileHeader[0] = byteStream.readShort();
-		fileHeader[1] = byteStream.readShort();
-		fileHeader[2] = byteStream.readShort();
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	if ((fileHeader[0] != 0) || (fileHeader[1] != 1))
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	int numIcons = fileHeader[2];
-	if (numIcons <= 0)
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	return numIcons;
-}
-int loadFileHeader(LEDataInputStream byteStream, boolean hasHeader) {
-	int[] fileHeader = new int[3];
-	try {
-		if (hasHeader) {
-			fileHeader[0] = byteStream.readShort();
-			fileHeader[1] = byteStream.readShort();
-		} else {
-			fileHeader[0] = 0;
-			fileHeader[1] = 1;
-		}
-		fileHeader[2] = byteStream.readShort();
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	if ((fileHeader[0] != 0) || (fileHeader[1] != 1))
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	int numIcons = fileHeader[2];
-	if (numIcons <= 0)
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	return numIcons;
-}
-ImageData[] loadFromByteStream() {
-	int numIcons = loadFileHeader(inputStream);
-	int[][] headers = loadIconHeaders(numIcons);
-	ImageData[] icons = new ImageData[headers.length];
-	for (int i = 0; i < icons.length; i++) {
-		icons[i] = loadIcon(headers[i]);
-	}
-	return icons;
-}
-/**
- * Load one icon from the byte stream.
- */
-ImageData loadIcon(int[] iconHeader) {
-	byte[] infoHeader = loadInfoHeader(iconHeader);
-	WinBMPFileFormat bmpFormat = new WinBMPFileFormat();
-	bmpFormat.inputStream = inputStream;
-	PaletteData palette = bmpFormat.loadPalette(infoHeader);
-	byte[] shapeData = bmpFormat.loadData(infoHeader);
-	int width = (infoHeader[4] & 0xFF) | ((infoHeader[5] & 0xFF) << 8) | ((infoHeader[6] & 0xFF) << 16) | ((infoHeader[7] & 0xFF) << 24);
-	int height = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
-	int depth = (infoHeader[14] & 0xFF) | ((infoHeader[15] & 0xFF) << 8);
-	infoHeader[14] = 1;
-	infoHeader[15] = 0;
-	byte[] maskData = bmpFormat.loadData(infoHeader);
-	maskData = convertPad(maskData, width, height, 1, 4, 2);
-	bitInvertData(maskData, 0, maskData.length);
-	return ImageData.internal_new(
-		width,
-		height,
-		depth,
-		palette,
-		4,
-		shapeData,
-		2,
-		maskData,
-		null,
-		-1,
-		-1,
-		SWT.IMAGE_ICO,
-		0,
-		0,
-		0,
-		0);
-}
-int[][] loadIconHeaders(int numIcons) {
-	int[][] headers = new int[numIcons][7];
-	try {
-		for (int i = 0; i < numIcons; i++) {
-			headers[i][0] = inputStream.read();
-			headers[i][1] = inputStream.read();
-			headers[i][2] = inputStream.readShort();
-			headers[i][3] = inputStream.readShort();
-			headers[i][4] = inputStream.readShort();
-			headers[i][5] = inputStream.readInt();
-			headers[i][6] = inputStream.readInt();
-		}
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	return headers;
-}
-byte[] loadInfoHeader(int[] iconHeader) {
-	int width = iconHeader[0];
-	int height = iconHeader[1];
-	int numColors = iconHeader[2]; // the number of colors is in the low byte, but the high byte must be 0
-	if (numColors == 0) numColors = 256; // this is specified: '00' represents '256' (0x100) colors
-	if ((numColors != 2) && (numColors != 8) && (numColors != 16) &&
-		(numColors != 32) && (numColors != 256))
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	if (inputStream.getPosition() < iconHeader[6]) {
-		// Seek to the specified offset
-		try {
-			inputStream.skip(iconHeader[6] - inputStream.getPosition());
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-			return null;
-		}
-	}
-	byte[] infoHeader = new byte[WinBMPFileFormat.BMPHeaderFixedSize];
-	try {
-		inputStream.read(infoHeader);
-	} catch (IOException e) {
-		SWT.error(SWT.ERROR_IO, e);
-	}
-	if (((infoHeader[12] & 0xFF) | ((infoHeader[13] & 0xFF) << 8)) != 1)
-		SWT.error(SWT.ERROR_INVALID_IMAGE);
-	int infoWidth = (infoHeader[4] & 0xFF) | ((infoHeader[5] & 0xFF) << 8) | ((infoHeader[6] & 0xFF) << 16) | ((infoHeader[7] & 0xFF) << 24);
-	int infoHeight = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
-	int bitCount = (infoHeader[14] & 0xFF) | ((infoHeader[15] & 0xFF) << 8);
-	if (height == infoHeight && bitCount == 1) height /= 2;
-	if (!((width == infoWidth) && (height * 2 == infoHeight) &&
-		(bitCount == 1 || bitCount == 4 || bitCount == 8 || bitCount == 24 || bitCount == 32)))
-			SWT.error(SWT.ERROR_INVALID_IMAGE);
-	infoHeader[8] = (byte)(height & 0xFF);
-	infoHeader[9] = (byte)((height >> 8) & 0xFF);
-	infoHeader[10] = (byte)((height >> 16) & 0xFF);
-	infoHeader[11] = (byte)((height >> 24) & 0xFF);
-	return infoHeader;
-}
-}
-static class SWT {
-	public static final int IMAGE_ICO = 3;
-	public static final int ERROR_IO = 39;
-	public static final int ERROR_INVALID_IMAGE = 40;
-	public static final int ERROR_NULL_ARGUMENT = 4;
-	public static final int ERROR_INVALID_ARGUMENT = 5;
-	public static final int ERROR_CANNOT_BE_ZERO = 7;
-	public static final int IMAGE_UNDEFINED = -1;
-	public static final int ERROR_UNSUPPORTED_DEPTH = 38;
-	public static final int TRANSPARENCY_MASK = 1 << 1;
-	public static final int ERROR_UNSUPPORTED_FORMAT = 42;
-	public static final int TRANSPARENCY_ALPHA = 1 << 0;
-	public static final int TRANSPARENCY_NONE = 0x0;
-	public static final int TRANSPARENCY_PIXEL = 1 << 2;
-	public static final int IMAGE_BMP = 0;
-	public static final int IMAGE_BMP_RLE = 1;
-	
-	public static void error(int code) {
-		throw new RuntimeException("Error "+code); //$NON-NLS-1$
-	}
-	public static void error(int code, Throwable t) {
-		throw new RuntimeException(t);
-	}
-}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractAdvice.java
deleted file mode 100644
index 28761b9..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractAdvice.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-public class AbstractAdvice implements IPublisherAdvice {
-
-	public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version) {
-		return matchConfig(configSpec, includeDefault) && matchId(id) && matchVersion(version);
-	}
-
-	protected boolean matchVersion(Version version) {
-		if (version == null)
-			return true;
-		Version adviceVersion = getVersion();
-		if (adviceVersion != null)
-			return version.equals(adviceVersion);
-		VersionRange range = getVersionRange();
-		if (range != null)
-			return range.isIncluded(version);
-		return true;
-	}
-
-	protected Version getVersion() {
-		return null;
-	}
-
-	protected VersionRange getVersionRange() {
-		return null;
-	}
-
-	protected boolean matchId(String id) {
-		if (id == null)
-			return true;
-		String adviceId = getId();
-		return adviceId == null ? true : adviceId.equals(id);
-	}
-
-	protected String getId() {
-		return null;
-	}
-
-	protected boolean matchConfig(String configSpec, boolean includeDefault) {
-		String adviceConfigSpec = getConfigSpec();
-		if (adviceConfigSpec == null)
-			return includeDefault;
-		String[] full = AbstractPublisherAction.parseConfigSpec(configSpec);
-		String[] partial = AbstractPublisherAction.parseConfigSpec(adviceConfigSpec);
-		for (int i = 0; i < partial.length; i++) {
-			String string = partial[i];
-			if (string != null && !string.equals(full[i]))
-				return false;
-		}
-		return true;
-	}
-
-	protected String getConfigSpec() {
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
deleted file mode 100644
index 2b48443..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
+++ /dev/null
@@ -1,577 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.p2.publisher.QuotedTokenizer;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-
-public abstract class AbstractPublisherAction implements IPublisherAction {
-	public static final String CONFIG_ANY = "ANY"; //$NON-NLS-1$
-	public static final String CONFIG_SEGMENT_SEPARATOR = "."; //$NON-NLS-1$
-
-	protected IPublisherInfo info;
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List result = new ArrayList();
-		for (QuotedTokenizer tokens = new QuotedTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				result.add(token);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/**
-	 * Returns a string array of { ws, os, arch } as parsed from the given string
-	 * @param configSpec the string to parse
-	 * @return the ws, os, arch form of the given string
-	 */
-	public static String[] parseConfigSpec(String configSpec) {
-		String[] result = getArrayFromString(configSpec, CONFIG_SEGMENT_SEPARATOR);
-		for (int i = 0; i < result.length; i++)
-			if (result[i].equals("*")) //$NON-NLS-1$
-				result[i] = CONFIG_ANY;
-
-		if (result.length < 3) {
-			String[] temp = new String[3];
-			System.arraycopy(result, 0, temp, 0, result.length);
-			for (int i = result.length; i < temp.length; i++) {
-				temp[i] = CONFIG_ANY;
-			}
-			result = temp;
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the canonical form of config spec with the given ws, os and arch.
-	 * Note that the result is intended to be machine readable (i.e., parseConfigSpec
-	 * will parse the the result).
-	 * @param ws the window system
-	 * @param os the operating system
-	 * @param arch the machine architecture
-	 * @return the machine readable format of the given config spec
-	 */
-	public static String createConfigSpec(String ws, String os, String arch) {
-		return ws + '.' + os + '.' + arch;
-	}
-
-	protected void addSelfCapability(InstallableUnitDescription root) {
-		root.setCapabilities(new IProvidedCapability[] {createSelfCapability(root.getId(), root.getVersion())});
-	}
-
-	/**
-	 * Returns the LDAP filter form that matches the given config spec.  Returns
-	 * an empty String if the spec does not identify an ws, os or arch.
-	 * @param configSpec a config spec to filter
-	 * @return the LDAP filter for the given spec.  <code>null</code> if the given spec does not 
-	 * parse into a filter.
-	 */
-	protected String createFilterSpec(String configSpec) {
-		String[] config = parseConfigSpec(configSpec);
-		if (config[0] != null || config[1] != null || config[2] != null) {
-			String filterWs = config[0] != null && config[0] != CONFIG_ANY ? "(osgi.ws=" + config[0] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			String filterOs = config[1] != null && config[1] != CONFIG_ANY ? "(osgi.os=" + config[1] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			String filterArch = config[2] != null && config[2] != CONFIG_ANY ? "(osgi.arch=" + config[2] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			if (filterWs.length() == 0 && filterOs.length() == 0 && filterArch.length() == 0)
-				return null;
-			return "(& " + filterWs + filterOs + filterArch + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return null;
-	}
-
-	protected boolean filterMatches(String filter, String configSpec) {
-		if (filter == null)
-			return true;
-
-		Filter ldapFilter = null;
-		try {
-			ldapFilter = Activator.context.createFilter(filter);
-		} catch (InvalidSyntaxException e) {
-			// TODO true or false on error?
-			return true;
-		}
-
-		String[] config = parseConfigSpec(configSpec);
-		Dictionary environment = new Hashtable(3);
-		environment.put("osgi.ws", config[0]); //$NON-NLS-1$
-		environment.put("osgi.os", config[1]); //$NON-NLS-1$
-		environment.put("osgi.arch", config[2]); //$NON-NLS-1$
-		return ldapFilter.match(environment);
-	}
-
-	/**
-	 * Returns the normalized string form of the given config spec.  This is useful for putting
-	 * in IU ids etc. Note that the result is not intended to be machine readable (i.e., parseConfigSpec
-	 * may not work on the result).
-	 * @param configSpec the config spec to format
-	 * @return the readable format of the given config spec
-	 */
-	protected String createIdString(String configSpec) {
-		String[] config = parseConfigSpec(configSpec);
-		return config[0] + '.' + config[1] + '.' + config[2];
-	}
-
-	protected String createCUIdString(String id, String type, String flavor, String configSpec) {
-		return flavor + id + "." + type + "." + createIdString(configSpec); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Creates and returns a collection of RequiredCapabilities for the IUs represented
-	 * by the given collection.  The collection may include a mixture of IInstallableUnits
-	 * or VersionedNames.
-	 * @param children descriptions of the IUs on which requirements are to be made
-	 * @return a collection of RequiredCapabilities representing the given IUs
-	 */
-	protected Collection createIURequirements(Collection children) {
-		ArrayList result = new ArrayList(children.size());
-		for (Iterator i = children.iterator(); i.hasNext();) {
-			Object next = i.next();
-			if (next instanceof IInstallableUnit) {
-				IInstallableUnit iu = (IInstallableUnit) next;
-				VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
-				result.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter(), false, false));
-			} else if (next instanceof IVersionedId) {
-				IVersionedId name = (IVersionedId) next;
-				Version version = name.getVersion();
-				VersionRange range = (version == null || Version.emptyVersion.equals(version)) ? VersionRange.emptyRange : new VersionRange(version, true, version, true);
-				String filter = getFilterAdvice(name);
-				result.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, name.getId(), range, filter, false, false));
-			}
-		}
-		return result;
-	}
-
-	private String getFilterAdvice(IVersionedId name) {
-		if (info == null)
-			return null;
-		Collection filterAdvice = info.getAdvice(CONFIG_ANY, true, name.getId(), name.getVersion(), IFilterAdvice.class);
-		for (Iterator i = filterAdvice.iterator(); i.hasNext();) {
-			IFilterAdvice advice = (IFilterAdvice) i.next();
-			String result = advice.getFilter(name.getId(), name.getVersion(), false);
-			if (result != null)
-				return result;
-		}
-		return null;
-	}
-
-	protected InstallableUnitDescription createIUShell(String id, Version version) {
-		InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription();
-		root.setId(id);
-		root.setVersion(version);
-		return root;
-	}
-
-	protected IArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File pathOnDisk, String installSize) {
-		final String PACKED_FORMAT = "packed"; //$NON-NLS-1$
-		//TODO this size calculation is bogus
-		ArtifactDescriptor result = new ArtifactDescriptor(key);
-		if (pathOnDisk != null) {
-			result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
-			// TODO - this is wrong but I'm testing a work-around for bug 205842
-			result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
-		}
-		ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-		result.setProcessingSteps(steps);
-		result.setProperty(IArtifactDescriptor.FORMAT, PACKED_FORMAT);
-		return result;
-	}
-
-	protected InstallableUnitDescription createParentIU(Collection children, String id, Version version) {
-		InstallableUnitDescription root = createIUShell(id, version);
-		root.addRequiredCapabilities(createIURequirements(children));
-		addSelfCapability(root);
-		return root;
-	}
-
-	//This is to hide FileUtils from other actions
-	protected IPathComputer createParentPrefixComputer(int segmentsToKeep) {
-		return FileUtils.createParentPrefixComputer(segmentsToKeep);
-	}
-
-	//This is to hide FileUtils from other actions
-	protected IPathComputer createRootPrefixComputer(final File root) {
-		return FileUtils.createRootPathComputer(root);
-	}
-
-	protected IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) {
-		return MetadataFactory.createProvidedCapability(PublisherHelper.IU_NAMESPACE, installableUnitId, installableUnitVersion);
-	}
-
-	protected static InstallableUnitDescription[] processAdditionalInstallableUnitsAdvice(IInstallableUnit iu, IPublisherInfo publisherInfo) {
-		Collection advice = publisherInfo.getAdvice(null, false, iu.getId(), iu.getVersion(), IAdditionalInstallableUnitAdvice.class);
-		if (advice.isEmpty())
-			return null;
-
-		List ius = new ArrayList();
-		for (Iterator iterator = advice.iterator(); iterator.hasNext();) {
-			IAdditionalInstallableUnitAdvice entry = (IAdditionalInstallableUnitAdvice) iterator.next();
-			InstallableUnitDescription[] others = entry.getAdditionalInstallableUnitDescriptions(iu);
-			if (others != null)
-				ius.addAll(Arrays.asList(others));
-		}
-		return (InstallableUnitDescription[]) ius.toArray(new InstallableUnitDescription[ius.size()]);
-	}
-
-	/**
-	 * Add all of the advised artifact properties for the given IU and artifact descriptor.
-	 * @param iu the IU
-	 * @param descriptor the descriptor to decorate
-	 * @param info the publisher info supplying the advice
-	 */
-	protected static void processArtifactPropertiesAdvice(IInstallableUnit iu, IArtifactDescriptor descriptor, IPublisherInfo info) {
-		if (!(descriptor instanceof SimpleArtifactDescriptor))
-			return;
-
-		Collection advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), IPropertyAdvice.class);
-		for (Iterator i = advice.iterator(); i.hasNext();) {
-			IPropertyAdvice entry = (IPropertyAdvice) i.next();
-			Properties props = entry.getArtifactProperties(iu, descriptor);
-			if (props == null)
-				continue;
-			for (Iterator j = props.keySet().iterator(); j.hasNext();) {
-				String key = (String) j.next();
-				((SimpleArtifactDescriptor) descriptor).setRepositoryProperty(key, props.getProperty(key));
-			}
-		}
-	}
-
-	/**
-	 * Add all of the advised IU properties for the given IU.
-	 * @param iu the IU to decorate
-	 * @param info the publisher info supplying the advice
-	 */
-	protected static void processInstallableUnitPropertiesAdvice(InstallableUnitDescription iu, IPublisherInfo info) {
-		Collection advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), IPropertyAdvice.class);
-		for (Iterator i = advice.iterator(); i.hasNext();) {
-			IPropertyAdvice entry = (IPropertyAdvice) i.next();
-			Properties props = entry.getInstallableUnitProperties(iu);
-			if (props == null)
-				continue;
-			for (Iterator j = props.keySet().iterator(); j.hasNext();) {
-				String key = (String) j.next();
-				iu.setProperty(key, props.getProperty(key));
-			}
-		}
-	}
-
-	/**
-	 * Add all of the advised provided and required capabilities for the given installable unit.
-	 * @param iu the IU to decorate
-	 * @param info the publisher info supplying the advice
-	 */
-	protected static void processCapabilityAdvice(InstallableUnitDescription iu, IPublisherInfo info) {
-		Collection advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), ICapabilityAdvice.class);
-		if (advice.isEmpty())
-			return;
-
-		for (Iterator i = advice.iterator(); i.hasNext();) {
-			ICapabilityAdvice entry = (ICapabilityAdvice) i.next();
-
-			//process required capabilities
-			IRequirement[] requiredAdvice = entry.getRequiredCapabilities(iu);
-			if (requiredAdvice != null) {
-				IRequirement[] current = iu.getRequiredCapabilities();
-				Set resultRequiredCapabilities = new HashSet(Arrays.asList(current));
-
-				// remove current required capabilities that match (same name and namespace) advice.
-				for (int j = 0; j < current.length; j++) {
-					IRequiredCapability currentRequiredCapability = null;
-					if (current[j] instanceof IRequiredCapability)
-						currentRequiredCapability = (IRequiredCapability) current[j];
-					else
-						continue;
-					for (int k = 0; k < requiredAdvice.length; k++) {
-						IRequiredCapability requiredCapability = null;
-						if (requiredAdvice[k] instanceof IRequiredCapability)
-							requiredCapability = (IRequiredCapability) requiredAdvice[k];
-						else
-							continue;
-						if (requiredCapability.getNamespace().equals(currentRequiredCapability.getNamespace()) && requiredCapability.getName().equals(currentRequiredCapability.getName())) {
-							resultRequiredCapabilities.remove(currentRequiredCapability);
-							break;
-						}
-					}
-				}
-				// add all advice
-				resultRequiredCapabilities.addAll(Arrays.asList(requiredAdvice));
-				iu.setRequiredCapabilities((IRequirement[]) resultRequiredCapabilities.toArray(new IRequirement[resultRequiredCapabilities.size()]));
-			}
-
-			//process meta required capabilities
-			IRequirement[] metaRequiredAdvice = entry.getMetaRequiredCapabilities(iu);
-			if (metaRequiredAdvice != null) {
-				IRequirement[] current = iu.getMetaRequiredCapabilities();
-				Set resultMetaRequiredCapabilities = new HashSet(Arrays.asList(current));
-
-				// remove current meta-required capabilities that match (same name and namespace) advice.
-				for (int j = 0; j < current.length; j++) {
-					IRequiredCapability currentMetaRequiredCapability = null;
-					if (current[j] instanceof IRequiredCapability)
-						currentMetaRequiredCapability = (IRequiredCapability) current[j];
-					else
-						continue;
-					for (int k = 0; k < metaRequiredAdvice.length; k++) {
-						IRequiredCapability metaRequiredCapability = null;
-						if (metaRequiredAdvice[k] instanceof IRequiredCapability)
-							metaRequiredCapability = (IRequiredCapability) metaRequiredAdvice[k];
-						else
-							continue;
-						if (metaRequiredCapability.getNamespace().equals(currentMetaRequiredCapability.getNamespace()) && metaRequiredCapability.getName().equals(currentMetaRequiredCapability.getName())) {
-							resultMetaRequiredCapabilities.remove(currentMetaRequiredCapability);
-							break;
-						}
-					}
-				}
-
-				// add all advice
-				resultMetaRequiredCapabilities.addAll(Arrays.asList(metaRequiredAdvice));
-				iu.setMetaRequiredCapabilities((IRequirement[]) resultMetaRequiredCapabilities.toArray(new IRequirement[resultMetaRequiredCapabilities.size()]));
-			}
-
-			//process provided capabilities
-			IProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu);
-			if (providedAdvice != null) {
-				IProvidedCapability[] current = iu.getProvidedCapabilities();
-				Set resultProvidedCapabilities = new HashSet(Arrays.asList(current));
-				for (int j = 0; j < current.length; j++) {
-					IProvidedCapability currentProvidedCapability = current[j];
-					for (int k = 0; k < providedAdvice.length; k++) {
-						IProvidedCapability providedCapability = providedAdvice[k];
-						if (providedCapability.getNamespace().equals(currentProvidedCapability.getNamespace()) && providedCapability.getName().equals(currentProvidedCapability.getName())) {
-							resultProvidedCapabilities.remove(currentProvidedCapability);
-							break;
-						}
-					}
-				}
-				resultProvidedCapabilities.addAll(Arrays.asList(providedAdvice));
-				iu.setCapabilities((IProvidedCapability[]) resultProvidedCapabilities.toArray(new IProvidedCapability[resultProvidedCapabilities.size()]));
-			}
-		}
-	}
-
-	/**
-	 * Adds all applicable touchpoint advice to the given installable unit.
-	 * @param iu The installable unit to add touchpoint advice to
-	 * @param currentInstructions The set of touchpoint instructions assembled for this IU so far
-	 * @param info The publisher info
-	 */
-	protected static void processTouchpointAdvice(InstallableUnitDescription iu, Map currentInstructions, IPublisherInfo info) {
-		processTouchpointAdvice(iu, currentInstructions, info, null);
-	}
-
-	protected static void processTouchpointAdvice(InstallableUnitDescription iu, Map currentInstructions, IPublisherInfo info, String configSpec) {
-		Collection advice = info.getAdvice(configSpec, false, iu.getId(), iu.getVersion(), ITouchpointAdvice.class);
-		if (currentInstructions == null) {
-			if (advice == null || advice.isEmpty())
-				return;
-			currentInstructions = Collections.EMPTY_MAP;
-		}
-
-		ITouchpointData result = MetadataFactory.createTouchpointData(currentInstructions);
-		if (advice != null) {
-			for (Iterator i = advice.iterator(); i.hasNext();) {
-				ITouchpointAdvice entry = (ITouchpointAdvice) i.next();
-				result = entry.getTouchpointData(result);
-			}
-		}
-		iu.addTouchpointData(result);
-	}
-
-	/**
-	 * Publishes the artifact by zipping the <code>files</code> using <code>root</code>
-	 * as a base for relative paths. Then copying the zip into the repository.
-	 * @param descriptor used to identify the zip.
-	 * @param inclusion the file to be published. files can be <code>null</code> but no action is taken.
-	 * @param publisherInfo the publisher info.
-	 */
-	protected void publishArtifact(IArtifactDescriptor descriptor, File inclusion, IPublisherInfo publisherInfo) {
-		// no files to publish so this is done.
-		if (inclusion == null)
-			return;
-		// if the destination already contains the descriptor, there is nothing to do.
-		IArtifactRepository destination = publisherInfo.getArtifactRepository();
-		if (destination == null || destination.contains(descriptor))
-			return;
-
-		if (destination instanceof IFileArtifactRepository) {
-			// TODO  need to review this logic to ensure it makes sense.
-			// if the file is already in the same location the repo will put it, just add the descriptor and exit
-			File descriptorFile = ((IFileArtifactRepository) destination).getArtifactFile(descriptor);
-			if (inclusion.equals(descriptorFile)) {
-				destination.addDescriptor(descriptor);
-				return;
-			}
-		}
-
-		// if all we are doing is indexing things then add the descriptor and get on with it
-		if ((publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) == 0) {
-			destination.addDescriptor(descriptor);
-			return;
-		}
-		try {
-			if (destination instanceof IFileArtifactRepository) {
-				// TODO  need to review this logic to ensure it makes sense.
-				// if the file is already in the same location the repo will put it, just add the descriptor and exit
-				File descriptorFile = ((IFileArtifactRepository) destination).getArtifactFile(descriptor);
-				if (inclusion.equals(descriptorFile)) {
-					destination.addDescriptor(descriptor);
-					return;
-				}
-			}
-
-			// TODO need to implement the overwrite story in the repos
-			//			boolean overwrite = (info.getArtifactOptions() & IPublisherInfo.A_OVERWRITE) > 0;
-			OutputStream output = destination.getOutputStream(descriptor);
-			if (output == null)
-				return;
-			output = new BufferedOutputStream(output);
-			FileUtils.copyStream(new BufferedInputStream(new FileInputStream(inclusion)), true, output, true);
-		} catch (ProvisionException e) {
-			LogHelper.log(e.getStatus());
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Publishes the artifact by zipping the <code>files</code> using <code>root</code>
-	 * as a base for relative paths. Then copying the zip into the repository.
-	 * @param descriptor used to identify the zip.
-	 * @param inclusions and folders to be included in the zip. files can be null.
-	 * @param exclusions and folders to be excluded in the zip. files can be null.
-	 * @param publisherInfo the publisher info.
-	 * @param prefixComputer
-	 */
-	protected void publishArtifact(IArtifactDescriptor descriptor, File[] inclusions, File[] exclusions, IPublisherInfo publisherInfo, IPathComputer prefixComputer) {
-		// no files to publish so this is done.
-		if (inclusions == null || inclusions.length < 1)
-			return;
-		// if the destination already contains the descriptor, there is nothing to do.
-		IArtifactRepository destination = publisherInfo.getArtifactRepository();
-		if (destination == null || destination.contains(descriptor))
-			return;
-		// if all we are doing is indexing things then add the descriptor and get on with it
-		if ((publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) == 0) {
-			destination.addDescriptor(descriptor);
-			return;
-		}
-
-		// TODO need to implement the overwrite story in the repos
-		//		boolean overwrite = (info.getArtifactOptions() & IPublisherInfo.A_OVERWRITE) > 0;
-		// if there is just one file and the mode is as-is, just copy the file into the repo
-		// otherwise, zip up the files and copy the zip into the repo
-		File tempFile = null;
-		try {
-			OutputStream output = destination.getOutputStream(descriptor);
-			if (output == null)
-				return;
-			output = new BufferedOutputStream(output);
-			tempFile = File.createTempFile("p2.generator", ""); //$NON-NLS-1$ //$NON-NLS-2$
-			FileUtils.zip(inclusions, exclusions, tempFile, prefixComputer);
-			if (output != null)
-				FileUtils.copyStream(new BufferedInputStream(new FileInputStream(tempFile)), true, output, true);
-		} catch (ProvisionException e) {
-			LogHelper.log(e.getStatus());
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error publishing artifacts", e)); //$NON-NLS-1$
-			e.printStackTrace();
-		} finally {
-			if (tempFile != null)
-				tempFile.delete();
-		}
-	}
-
-	/**
-	 * Loop over the known metadata repositories looking for the given IU.
-	 * Return the first IU found.
-	 * @param iuId  the id of the IU to look for
-	 * @return the first matching IU or <code>null</code> if none.
-	 */
-	protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) {
-		IQuery query = null;
-		Collector collector = new Collector();
-		if (version != null && !Version.emptyVersion.equals(version)) {
-			query = new LimitQuery(new InstallableUnitQuery(iuId, version), 1);
-		} else {
-			query = new PipedQuery(new IQuery[] {new InstallableUnitQuery(iuId), new LatestIUVersionQuery()});
-		}
-
-		NullProgressMonitor progress = new NullProgressMonitor();
-		if (publisherResult != null)
-			collector.addAll(publisherResult.query(query, progress));
-		if (collector.isEmpty() && info.getMetadataRepository() != null)
-			collector.addAll(info.getMetadataRepository().query(query, progress));
-		if (collector.isEmpty() && info.getContextMetadataRepository() != null)
-			collector.addAll(info.getContextMetadataRepository().query(query, progress));
-
-		if (!collector.isEmpty())
-			return (IInstallableUnit) collector.iterator().next();
-		return null;
-	}
-
-	/**
-	 * Loop over the known metadata repositories looking for the given IU within a particular range
-	 * @param publisherResult
-	 * @param iuId the id of the IU to look for
-	 * @param versionRange the version range to consider
-	 * @return The the IUs with the matching ids in the given range
-	 */
-	protected IInstallableUnit[] queryForIUs(IPublisherResult publisherResult, String iuId, VersionRange versionRange) {
-		IQuery query = null;
-		Collector collector = new Collector();
-		query = new InstallableUnitQuery(iuId, versionRange);
-		NullProgressMonitor progress = new NullProgressMonitor();
-		if (publisherResult != null)
-			collector = publisherResult.query(query, progress);
-		if (collector.isEmpty() && info.getMetadataRepository() != null)
-			collector = info.getMetadataRepository().query(query, progress);
-		if (collector.isEmpty() && info.getContextMetadataRepository() != null)
-			collector = info.getContextMetadataRepository().query(query, progress);
-
-		if (!collector.isEmpty())
-			return (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
-		return new IInstallableUnit[0];
-	}
-
-	public abstract IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor);
-
-	public void setPublisherInfo(IPublisherInfo info) {
-		this.info = info;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
deleted file mode 100644
index a1e9c2f..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.p2.publisher.Messages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.ServiceReference;
-
-public abstract class AbstractPublisherApplication implements IApplication {
-
-	// The mapping rules for in-place generation need to construct paths into the structure
-	// of an eclipse installation; in the future the default artifact mapping declared in
-	// SimpleArtifactRepository may change, for example, to not have a 'bundles' directory
-	// instead of a 'plugins' directory, so a separate constant is defined and used here.
-	static final protected String[][] INPLACE_MAPPING_RULES = { {"(& (classifier=osgi.bundle) (format=packed)", "${repoUrl}/features/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$//$NON-NLS-2$
-			{"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
-
-	static final public String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
-	protected PublisherInfo info;
-	protected String source;
-	protected URI metadataLocation;
-	protected String metadataRepoName;
-	protected URI artifactLocation;
-	protected String artifactRepoName;
-	protected URI[] contextMetadataRepositories;
-	protected URI[] contextArtifactRepositories;
-	//whether repository xml files should be compressed
-	protected boolean compress = false;
-	protected boolean inplace = false;
-	protected boolean append = false;
-	protected boolean reusePackedFiles = false;
-	protected String[] configurations;
-	private IStatus status;
-
-	private ServiceReference agentRef;
-
-	private IProvisioningAgent agent;
-
-	/**
-	 * Returns the error message for this application, or the empty string
-	 * if the application terminated successfully.
-	 */
-	public IStatus getStatus() {
-		return status;
-	}
-
-	protected void initialize(PublisherInfo publisherInfo) throws ProvisionException {
-		if (inplace) {
-			File location = new File(source);
-			if (metadataLocation == null)
-				metadataLocation = location.toURI();
-			if (artifactLocation == null)
-				artifactLocation = location.toURI();
-			publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH);
-		}
-		initializeRepositories(publisherInfo);
-	}
-
-	protected IStatus createConfigurationEror(String message) {
-		return new Status(IStatus.ERROR, "org.eclipse.equinox.p2.publisher", message); //$NON-NLS-1$
-	}
-
-	protected void initializeRepositories(PublisherInfo publisherInfo) throws ProvisionException {
-		if (artifactLocation != null)
-			publisherInfo.setArtifactRepository(Publisher.createArtifactRepository(agent, artifactLocation, artifactRepoName, append, compress, reusePackedFiles));
-		else if ((publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) > 0)
-			throw new ProvisionException(createConfigurationEror(Messages.exception_noArtifactRepo));
-		if (metadataLocation == null)
-			throw new ProvisionException(createConfigurationEror(Messages.exception_noMetadataRepo));
-		publisherInfo.setMetadataRepository(Publisher.createMetadataRepository(agent, metadataLocation, metadataRepoName, append, compress));
-
-		if (contextMetadataRepositories != null && contextMetadataRepositories.length > 0) {
-			CompositeMetadataRepository contextMetadata = CompositeMetadataRepository.createMemoryComposite();
-			if (contextMetadata != null) {
-				for (int i = 0; i < contextMetadataRepositories.length; i++)
-					contextMetadata.addChild(contextMetadataRepositories[i]);
-				if (contextMetadata.getChildren().size() > 0)
-					publisherInfo.setContextMetadataRepository(contextMetadata);
-			}
-		}
-		if (contextArtifactRepositories != null && contextArtifactRepositories.length > 0) {
-			CompositeArtifactRepository contextArtifact = CompositeArtifactRepository.createMemoryComposite();
-			if (contextArtifact != null) {
-				for (int i = 0; i < contextArtifactRepositories.length; i++)
-					contextArtifact.addChild(contextArtifactRepositories[i]);
-
-				if (contextArtifact.getChildren().size() > 0)
-					publisherInfo.setContextArtifactRepository(contextArtifact);
-			}
-		}
-	}
-
-	protected void processCommandLineArguments(String[] args, PublisherInfo publisherInfo) throws Exception {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-			processFlag(args[i], publisherInfo);
-
-			// check for args with parameters. If we are at the last argument or if the next one
-			// has a '-' as the first character, then we can't have an arg with a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			processParameter(args[i], args[++i], publisherInfo);
-		}
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo publisherInfo) throws URISyntaxException {
-		try {
-			if (arg.equalsIgnoreCase("-metadataRepository") || arg.equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$
-				metadataLocation = URIUtil.fromString(parameter);
-
-			if (arg.equalsIgnoreCase("-artifactRepository") || arg.equalsIgnoreCase("-ar")) //$NON-NLS-1$ //$NON-NLS-2$
-				artifactLocation = URIUtil.fromString(parameter);
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException(NLS.bind(Messages.exception_repoMustBeURL, parameter));
-		}
-
-		if (arg.equalsIgnoreCase("-metadataRepositoryName")) //$NON-NLS-1$
-			metadataRepoName = parameter;
-
-		if (arg.equalsIgnoreCase("-source")) { //$NON-NLS-1$
-			// check here to see if the location actually exists so we can fail gracefully now rather than unpredictably later
-			// see bug 272956 where we would fail with an NPE if someone gave us a URL instead of a file-system path
-			if (!new File(parameter).exists())
-				throw new IllegalArgumentException(NLS.bind(Messages.exception_sourcePath, parameter));
-			source = parameter;
-		}
-
-		if (arg.equalsIgnoreCase("-artifactRepositoryName")) //$NON-NLS-1$
-			artifactRepoName = parameter;
-
-		if (arg.equalsIgnoreCase("-configs")) //$NON-NLS-1$
-			publisherInfo.setConfigurations(AbstractPublisherAction.getArrayFromString(parameter, ",")); //$NON-NLS-1$
-
-		if (arg.equalsIgnoreCase("-contextMetadata")) //$NON-NLS-1$
-			publisherInfo.setContextMetadataRepository(processMetadataRepositoryList(parameter));
-
-		if (arg.equalsIgnoreCase("-contextArtifacts")) //$NON-NLS-1$
-			publisherInfo.setContextArtifactRepository(processArtifactRepositoryList(parameter));
-	}
-
-	private IArtifactRepository processArtifactRepositoryList(String parameter) {
-		String[] list = AbstractPublisherAction.getArrayFromString(parameter, ","); //$NON-NLS-1$
-		if (list == null || list.length == 0)
-			return null;
-
-		CompositeArtifactRepository result = CompositeArtifactRepository.createMemoryComposite();
-		if (result != null) {
-			for (int i = 0; i < list.length; i++) {
-				try {
-					result.addChild(URIUtil.fromString(list[i]));
-				} catch (URISyntaxException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-			}
-		}
-		return result;
-	}
-
-	private IMetadataRepository processMetadataRepositoryList(String parameter) {
-		String[] list = AbstractPublisherAction.getArrayFromString(parameter, ","); //$NON-NLS-1$
-		if (list == null || list.length == 0)
-			return null;
-
-		CompositeMetadataRepository result = CompositeMetadataRepository.createMemoryComposite();
-		if (result != null) {
-			for (int i = 0; i < list.length; i++) {
-				try {
-					result.addChild(URIUtil.fromString(list[i]));
-				} catch (URISyntaxException e) {
-					// TODO Auto-generated catch block
-				}
-			}
-		}
-		return result;
-	}
-
-	protected void processFlag(String arg, PublisherInfo publisherInfo) {
-		if (arg.equalsIgnoreCase("-publishArtifacts") || arg.equalsIgnoreCase("-pa")) //$NON-NLS-1$ //$NON-NLS-2$
-			publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_PUBLISH);
-
-		if (arg.equalsIgnoreCase("-publishArtifactRepository") || arg.equalsIgnoreCase("-par")) //$NON-NLS-1$ //$NON-NLS-2$
-			publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_INDEX);
-
-		if (arg.equalsIgnoreCase("-overwriteArtifacts")) //$NON-NLS-1$ 
-			publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_OVERWRITE);
-
-		if (arg.equalsIgnoreCase("-append")) //$NON-NLS-1$
-			append = true;
-
-		if (arg.equalsIgnoreCase("-compress")) //$NON-NLS-1$
-			compress = true;
-
-		if (arg.equalsIgnoreCase("-reusePack200Files")) //$NON-NLS-1$
-			reusePackedFiles = true;
-
-		if (arg.equalsIgnoreCase("-inplace")) //$NON-NLS-1$
-			inplace = true;
-	}
-
-	private void setupAgent() throws ProvisionException {
-		agentRef = Activator.getContext().getServiceReference(IProvisioningAgent.SERVICE_NAME);
-		if (agentRef != null) {
-			agent = (IProvisioningAgent) Activator.getContext().getService(agentRef);
-			if (agent != null)
-				return;
-		}
-		ServiceReference providerRef = Activator.getContext().getServiceReference(IProvisioningAgentProvider.SERVICE_NAME);
-		if (providerRef == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		IProvisioningAgentProvider provider = (IProvisioningAgentProvider) Activator.getContext().getService(providerRef);
-		if (provider == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		//obtain agent for currently running system
-		agent = provider.createAgent(null);
-		Activator.getContext().ungetService(providerRef);
-	}
-
-	public Object run(String args[]) throws Exception {
-		try {
-			info = createPublisherInfo();
-			processCommandLineArguments(args, info);
-			Object result = run(info);
-			if (result != IApplication.EXIT_OK)
-				for (int i = 0; i < args.length; i++)
-					System.out.println(args[i]);
-			return result;
-		} catch (Exception e) {
-			if (e.getMessage() != null)
-				System.err.println(e.getMessage());
-			else
-				e.printStackTrace(System.err);
-			throw e;
-		}
-	}
-
-	protected PublisherInfo createPublisherInfo() {
-		return new PublisherInfo();
-	}
-
-	public Object run(PublisherInfo publisherInfo) throws Exception {
-		try {
-			this.info = publisherInfo;
-			setupAgent();
-			initialize(publisherInfo);
-			System.out.println(NLS.bind(Messages.message_generatingMetadata, publisherInfo.getSummary()));
-
-			long before = System.currentTimeMillis();
-			IPublisherAction[] actions = createActions();
-			Publisher publisher = createPublisher(publisherInfo);
-			IStatus result = publisher.publish(actions, new NullProgressMonitor());
-			long after = System.currentTimeMillis();
-
-			if (result.isOK()) {
-				System.out.println(NLS.bind(Messages.message_generationCompleted, String.valueOf((after - before) / 1000)));
-				return IApplication.EXIT_OK;
-			}
-			System.out.println(result);
-		} catch (ProvisionException e) {
-			status = e.getStatus();
-			if (status.getSeverity() == IStatus.ERROR && status.getMessage() != null) {
-				System.out.println(status.getMessage());
-			}
-		}
-		return new Integer(1);
-	}
-
-	protected abstract IPublisherAction[] createActions();
-
-	protected Publisher createPublisher(PublisherInfo publisherInfo) {
-		return new Publisher(publisherInfo);
-	}
-
-	public Object start(IApplicationContext context) throws Exception {
-		return run((String[]) context.getArguments().get("application.args")); //$NON-NLS-1$
-	}
-
-	public void stop() {
-		if (agentRef != null) {
-			Activator.getContext().ungetService(agentRef);
-			agentRef = null;
-		}
-	}
-
-	public void setArtifactLocation(URI location) {
-		this.artifactLocation = location;
-	}
-
-	public void setMetadataLocation(URI location) {
-		this.metadataLocation = location;
-	}
-
-	public boolean reuseExistingPack200Files() {
-		return reusePackedFiles;
-	}
-
-	public void setReuseExistingPackedFiles(boolean value) {
-		reusePackedFiles = value;
-	}
-
-	public void setContextRepositories(URI[] metadata, URI[] artifacts) {
-		this.contextMetadataRepositories = metadata;
-		this.contextArtifactRepositories = artifacts;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAction.java
deleted file mode 100644
index c53215a..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAction.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public interface IPublisherAction {
-
-	IStatus perform(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAdvice.java
deleted file mode 100644
index 6ee425c..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherAdvice.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-public interface IPublisherAdvice {
-
-	public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherInfo.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherInfo.java
deleted file mode 100644
index 5cf0732..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherInfo.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.util.Collection;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-public interface IPublisherInfo {
-
-	/**
-	 * A bitwise flag to say whether or not the index for the artifact repository should
-	 * be updated.
-	 */
-	public static final int A_INDEX = 1;
-
-	/**
-	 * A bitwise flag to say whether or the artifacts themselves should be published.
-	 */
-	public static final int A_PUBLISH = 2;
-
-	/**
-	 * A bitwise flag to say whether or not to overwrite disk content discovered
-	 * in the repository when publishing an artifact
-	 */
-	public static final int A_OVERWRITE = 4;
-
-	/**
-	 * Returns the artifact repository into which any publishable artifacts are published
-	 * or <code>null</code> if none.
-	 * @return a destination artifact repository or <code>null</code>
-	 */
-	public IArtifactRepository getArtifactRepository();
-
-	/**
-	 * Returns the metadata repository into which any publishable metadata is published
-	 * or <code>null</code> if none.
-	 * @return a destination metadata repository or <code>null</code>
-	 */
-	public IMetadataRepository getMetadataRepository();
-
-	/**
-	 * Returns whether or not artifacts themselves should be published.
-	 * @return <code>true</code> if artifacts should be published.  
-	 * <code>false</code> otherwise.
-	 */
-	public int getArtifactOptions();
-
-	/**
-	 * Returns the registered advice for the given configuration of WS, OS and ARCH where the
-	 * advice is of the given type.  If mergeDefault is <code>true</code> then the advice for
-	 * the default configuration is merged into the result.
-	 * @param configSpec the configuration to query.  Note that the given configuration
-	 * must specify values for WS, OS and ARCH.
-	 * @param type the type of advice to look for
-	 * @param includeDefault whether or not to merge in the advice common to all configurations
-	 * @return the set of advice of the given type for the given configuration
-	 */
-	public Collection getAdvice(String configSpec, boolean includeDefault, String id, Version version, Class type);
-
-	/**
-	 * Add the given advice to the set of publishing advices.  
-	 * @param advice the advice to retain
-	 */
-	public void addAdvice(IPublisherAdvice advice);
-
-	/**
-	 * Returns the configurations being published. Each configuration is a string of the form
-	 * ws.os.arch describing the window system, operating system, and architecture of each
-	 * configuration.
-	 * @return The configurations being published
-	 * @see AbstractPublisherAction#createConfigSpec(String, String, String)
-	 */
-	public String[] getConfigurations();
-
-	/**
-	 * Returns the artifact repository given to the publisher as context for 
-	 * the publisher actions.  May be <code>null</code>.  Note that multiple 
-	 * repositories may be represented as one composite repository.
-	 * 
-	 * @return the context artifact repository or <code>null</code> if none.
-	 */
-	public IArtifactRepository getContextArtifactRepository();
-
-	/**
-	 * Returns the metadata repository given to the publisher as context for 
-	 * the publisher actions.  May be <code>null</code>.  Note that multiple 
-	 * repositories may be represented as one composite repository.
-	 * 
-	 * @return the context metadata repository or <code>null</code> if none.
-	 */
-	public IMetadataRepository getContextMetadataRepository();
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherResult.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherResult.java
deleted file mode 100644
index a1fa931..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/IPublisherResult.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.util.Collection;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * Publisher results represent the result of running a publishing operation.  A result is a 
- * collection of IInstallableUnits that were created or read duing the operation.  The result
- * IUs are categorized either as "roots" or "non-roots".  The meaning of these types is 
- * determined by the actions involved in the operation and it is up to the consumer of the
- * result to interpret the collections.
- */
-public interface IPublisherResult extends IQueryable {
-	/**
-	 * Merge mode setting that causes all root results to be merged into 
-	 * the root of the merged results and all non-roots to become non-roots.
-	 */
-	public static final int MERGE_MATCHING = 0;
-
-	/** 
-	 * Merge mode setting that causes all root and non-root result entries to 
-	 * be placed in the root collection of the result.
-	 */
-	public static final int MERGE_ALL_ROOT = 1;
-
-	/** 
-	 * Merge mode setting that causes all root and non-root result entries to 
-	 * be placed in the non-root collection of the result.
-	 */
-	public static final int MERGE_ALL_NON_ROOT = 2;
-
-	/**
-	 * An opaque token used to identify the root elements of a result.
-	 */
-	public static final String ROOT = "root"; //$NON-NLS-1$
-
-	/**
-	 * An opaque token used to identify the non-root elements of a result.
-	 */
-	public static final String NON_ROOT = "non_root"; //$NON-NLS-1$
-
-	/**
-	 * Add the given IU to this result and identify it as the given type
-	 * @see #ROOT
-	 * @see #NON_ROOT
-	 * 
-	 * @param iu the IU to add
-	 * @param type the type of the IU in this result
-	 */
-	public void addIU(IInstallableUnit iu, String type);
-
-	/**
-	 * Add all of the given IUs to this result and identify it as the given type
-	 * @see #ROOT
-	 * @see #NON_ROOT
-	 * 
-	 * @param ius the IUs to add
-	 * @param type the type of the IUs in this result
-	 */
-	public void addIUs(Collection ius, String type);
-
-	/**
-	 * Returns the IUs of the given type with the given id in this result.
-	 * @param id the id of the IUs to look for
-	 * @param type the type of IUs to look for in this result
-	 * @return the requested IUs
-	 * @see #ROOT
-	 * @see #NON_ROOT
-	 */
-	public Collection getIUs(String id, String type);
-
-	/**
-	 * Returns the first available IU of the given type with the given id in this result.
-	 * @param id the id of the IU to look for
-	 * @param type the type of IU to look for in this result
-	 * @return the requested IU
-	 * @see #ROOT
-	 * @see #NON_ROOT
-	 * @deprecated This method should be removed as it essentially returns a random IU
-	 * with the given ID.  There are some uses for this but not many and they can use #getIUs
-	 */
-	public IInstallableUnit getIU(String id, String type);
-
-	/**
-	 * Returns the IU of the given type with the given id and version in this result.
-	 * @param id the id of the IU to look for
-	 * @param version the version of the IU to look for
-	 * @param type the type of IU to look for in this result
-	 * @return the requested IU
-	 * @see #ROOT
-	 * @see #NON_ROOT
-	 */
-	public IInstallableUnit getIU(String id, Version version, String type);
-
-	/**
-	 * Merges the given result in this result according to the given mode. 
-	 * @see #MERGE_ALL_NON_ROOT
-	 * @see #MERGE_ALL_ROOT
-	 * @see #MERGE_MATCHING
-	 * @param result the result to merge into this result
-	 * @param mode the merge mode to use
-	 */
-	public void merge(IPublisherResult result, int mode);
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
deleted file mode 100644
index 768b97d..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.net.URI;
-import java.util.Collection;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-public class Publisher {
-	static final public String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-
-	private IPublisherInfo info;
-	private IPublisherResult results;
-
-	/**
-	 * Returns a metadata repository that corresponds to the given settings.  If a repo at the 
-	 * given location already exists, it is updated with the settings and returned.  If no repository
-	 * is found then a new Simple repository is created, configured and returned
-	 * @param location the URL location of the repo
-	 * @param name the name of the repo
-	 * @param append whether or not the repo should appended or cleared
-	 * @param compress whether or not to compress the repository index
-	 * @return the discovered or created repository
-	 * @throws ProvisionException
-	 */
-	public static IMetadataRepository createMetadataRepository(IProvisioningAgent agent, URI location, String name, boolean append, boolean compress) throws ProvisionException {
-		try {
-			IMetadataRepository result = loadMetadataRepository(agent, location, true, true);
-			if (result != null && result.isModifiable()) {
-				result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
-				if (!append)
-					result.removeAll();
-				return result;
-			}
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-
-		// 	the given repo location is not an existing repo so we have to create something
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.context, IMetadataRepositoryManager.SERVICE_NAME);
-		String repositoryName = name == null ? location + " - metadata" : name; //$NON-NLS-1$
-		IMetadataRepository result = manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		if (result != null) {
-			manager.removeRepository(result.getLocation());
-			result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			return result;
-		}
-		// I don't think we can really get here, but just in case, we better throw a provisioning exception
-		String msg = org.eclipse.equinox.internal.p2.metadata.repository.Messages.repoMan_internalError;
-		throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
-	}
-
-	/**
-	 * Load a metadata repository from the given location.
-	 * @param location the URI location of the repo
-	 * @param modifiable whether to ask the manager for a modifiable repository
-	 * @param removeFromManager remove the loaded repository from the manager if it wasn't already loaded
-	 * @return the loaded repository
-	 * @throws ProvisionException
-	 */
-	public static IMetadataRepository loadMetadataRepository(IProvisioningAgent agent, URI location, boolean modifiable, boolean removeFromManager) throws ProvisionException {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-		boolean existing = manager.contains(location);
-
-		IMetadataRepository result = manager.loadRepository(location, modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
-		if (!existing && removeFromManager)
-			manager.removeRepository(location);
-		return result;
-	}
-
-	/**
-	 * Returns an artifact repository that corresponds to the given settings.  If a repo at the 
-	 * given location already exists, it is updated with the settings and returned.  If no repository
-	 * is found then a new Simple repository is created, configured and returned
-	 * @param location the URL location of the repo
-	 * @param name the name of the repo
-	 * @param append whether or not the repo should appended or cleared
-	 * @param compress whether or not to compress the repository index
-	 * @param reusePackedFiles whether or not to include discovered Pack200 files in the repository
-	 * @return the discovered or created repository
-	 * @throws ProvisionException
-	 */
-	public static IArtifactRepository createArtifactRepository(IProvisioningAgent agent, URI location, String name, boolean append, boolean compress, boolean reusePackedFiles) throws ProvisionException {
-		try {
-			IArtifactRepository result = loadArtifactRepository(agent, location, true, true);
-			if (result != null && result.isModifiable()) {
-				result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
-				if (reusePackedFiles)
-					result.setProperty(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
-				if (!append)
-					result.removeAll();
-				return result;
-			}
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.context, IArtifactRepositoryManager.SERVICE_NAME);
-		String repositoryName = name != null ? name : location + " - artifacts"; //$NON-NLS-1$
-		IArtifactRepository result = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		if (result != null) {
-			manager.removeRepository(result.getLocation());
-			if (reusePackedFiles)
-				result.setProperty(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
-			result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
-			return result;
-		}
-		// I don't think we can really get here, but just in case, we better throw a provisioning exception
-		String msg = org.eclipse.equinox.internal.p2.artifact.repository.Messages.repoMan_internalError;
-		throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
-	}
-
-	/**
-	 * Load an artifact repository from the given location.
-	 * @param location the URI location of the repo
-	 * @param modifiable whether to ask the manager for a modifiable repository
-	 * @param removeFromManager remove the loaded repository from the manager if it wasn't already loaded
-	 * @return the loaded repository
-	 * @throws ProvisionException
-	 */
-	public static IArtifactRepository loadArtifactRepository(IProvisioningAgent agent, URI location, boolean modifiable, boolean removeFromManager) throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-		boolean existing = manager.contains(location);
-
-		IArtifactRepository result = manager.loadRepository(location, modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
-		if (!existing && removeFromManager)
-			manager.removeRepository(location);
-		return result;
-	}
-
-	public Publisher(IPublisherInfo info) {
-		this.info = info;
-		results = new PublisherResult();
-	}
-
-	public Publisher(IPublisherInfo info, IPublisherResult results) {
-		this.info = info;
-		this.results = results;
-	}
-
-	public IStatus publish(IPublisherAction[] actions, IProgressMonitor monitor) {
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		SubMonitor sub = SubMonitor.convert(monitor, actions.length);
-		if (Tracing.DEBUG_PUBLISHING)
-			Tracing.debug("Invoking publisher"); //$NON-NLS-1$
-		try {
-			// run all the actions
-			MultiStatus finalStatus = new MultiStatus("this", 0, "publishing result", null); //$NON-NLS-1$//$NON-NLS-2$
-			for (int i = 0; i < actions.length; i++) {
-				if (sub.isCanceled())
-					return Status.CANCEL_STATUS;
-				IStatus status = actions[i].perform(info, results, monitor);
-				finalStatus.merge(status);
-				sub.worked(1);
-			}
-			if (Tracing.DEBUG_PUBLISHING)
-				Tracing.debug("Publishing complete. Result=" + finalStatus); //$NON-NLS-1$
-			if (!finalStatus.isOK())
-				return finalStatus;
-		} finally {
-			sub.done();
-		}
-		// if there were no errors, publish all the ius.
-		IMetadataRepository metadataRepository = info.getMetadataRepository();
-		if (metadataRepository != null) {
-			Collection ius = results.getIUs(null, null);
-			metadataRepository.addInstallableUnits((IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]));
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherInfo.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherInfo.java
deleted file mode 100644
index 179d5ea..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherInfo.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-public class PublisherInfo implements IPublisherInfo {
-
-	private int artifactOptions = 0;
-	private IMetadataRepository metadataRepository;
-	private IArtifactRepository artifactRepository;
-	private IMetadataRepository contextMetadataRepository;
-	private IArtifactRepository contextArtifactRepository;
-	private String[] configurations = new String[0];
-	private List adviceList = new ArrayList(11);
-
-	public void addAdvice(IPublisherAdvice advice) {
-		adviceList.add(advice);
-	}
-
-	public List getAdvice() {
-		return adviceList;
-	}
-
-	public Collection getAdvice(String configSpec, boolean includeDefault, String id, Version version, Class type) {
-		ArrayList result = new ArrayList();
-		for (Iterator i = adviceList.iterator(); i.hasNext();) {
-			Object object = i.next();
-			if (type.isInstance(object) && ((IPublisherAdvice) object).isApplicable(configSpec, includeDefault, id, version))
-				result.add(object);
-		}
-		return result;
-	}
-
-	public IArtifactRepository getArtifactRepository() {
-		return artifactRepository;
-	}
-
-	public IMetadataRepository getMetadataRepository() {
-		return metadataRepository;
-	}
-
-	public IArtifactRepository getContextArtifactRepository() {
-		return contextArtifactRepository;
-	}
-
-	public IMetadataRepository getContextMetadataRepository() {
-		return contextMetadataRepository;
-	}
-
-	public int getArtifactOptions() {
-		return artifactOptions;
-	}
-
-	public void setArtifactRepository(IArtifactRepository value) {
-		artifactRepository = value;
-	}
-
-	public void setMetadataRepository(IMetadataRepository value) {
-		metadataRepository = value;
-	}
-
-	public void setContextArtifactRepository(IArtifactRepository value) {
-		contextArtifactRepository = value;
-	}
-
-	public void setContextMetadataRepository(IMetadataRepository value) {
-		contextMetadataRepository = value;
-	}
-
-	public void setArtifactOptions(int value) {
-		artifactOptions = value;
-	}
-
-	public String[] getConfigurations() {
-		return configurations;
-	}
-
-	public void setConfigurations(String[] value) {
-		configurations = value;
-	}
-
-	public String getSummary() {
-		return "."; //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherResult.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherResult.java
deleted file mode 100644
index 3e52282..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/PublisherResult.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class PublisherResult implements IPublisherResult {
-
-	private static final Collection EMPTY_COLLECTION = new ArrayList(0);
-	final Map rootIUs = new HashMap();
-	final Map nonRootIUs = new HashMap();
-
-	public void addIU(IInstallableUnit iu, String type) {
-		if (type == ROOT)
-			addIU(rootIUs, iu.getId(), iu);
-		if (type == NON_ROOT)
-			addIU(nonRootIUs, iu.getId(), iu);
-	}
-
-	public void addIUs(Collection ius, String type) {
-		for (Iterator i = ius.iterator(); i.hasNext();)
-			addIU((IInstallableUnit) i.next(), type);
-	}
-
-	private void addIU(Map map, String id, IInstallableUnit iu) {
-		Set ius = (Set) map.get(id);
-		if (ius == null) {
-			ius = new HashSet(11);
-			map.put(id, ius);
-		}
-		ius.add(iu);
-	}
-
-	public IInstallableUnit getIU(String id, Version version, String type) {
-		if (type == null || type == ROOT) {
-			Collection ius = (Collection) rootIUs.get(id);
-			for (Iterator i = ius.iterator(); i.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) i.next();
-				if (iu.getVersion().equals(version))
-					return iu;
-			}
-		}
-		if (type == null || type == NON_ROOT) {
-			Collection ius = (Collection) nonRootIUs.get(id);
-			for (Iterator i = ius.iterator(); i.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) i.next();
-				if (iu.getVersion().equals(version))
-					return iu;
-			}
-		}
-		return null;
-	}
-
-	// TODO this method really should not be needed as it just returns the first
-	// matching IU non-deterministically.
-	public IInstallableUnit getIU(String id, String type) {
-		if (type == null || type == ROOT) {
-			Collection ius = (Collection) rootIUs.get(id);
-			if (ius != null && ius.size() > 0)
-				return (IInstallableUnit) ius.iterator().next();
-		}
-		if (type == null || type == NON_ROOT) {
-			Collection ius = (Collection) nonRootIUs.get(id);
-			if (ius != null && ius.size() > 0)
-				return (IInstallableUnit) ius.iterator().next();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the IUs in this result with the given id.
-	 */
-	public Collection getIUs(String id, String type) {
-		if (type == null) {
-			ArrayList result = new ArrayList();
-			result.addAll(id == null ? flatten(rootIUs.values()) : getIUs(rootIUs, id));
-			result.addAll(id == null ? flatten(nonRootIUs.values()) : getIUs(nonRootIUs, id));
-			return result;
-		}
-		if (type == ROOT)
-			return id == null ? flatten(rootIUs.values()) : (Collection) rootIUs.get(id);
-		if (type == NON_ROOT)
-			return id == null ? flatten(nonRootIUs.values()) : (Collection) nonRootIUs.get(id);
-		return null;
-	}
-
-	private Collection getIUs(Map ius, String id) {
-		Collection result = (Collection) ius.get(id);
-		return result == null ? EMPTY_COLLECTION : result;
-	}
-
-	protected List flatten(Collection values) {
-		ArrayList result = new ArrayList();
-		for (Iterator i = values.iterator(); i.hasNext();)
-			for (Iterator j = ((HashSet) i.next()).iterator(); j.hasNext();)
-				result.add(j.next());
-		return result;
-	}
-
-	public void merge(IPublisherResult result, int mode) {
-		if (mode == MERGE_MATCHING) {
-			addIUs(result.getIUs(null, ROOT), ROOT);
-			addIUs(result.getIUs(null, NON_ROOT), NON_ROOT);
-		} else if (mode == MERGE_ALL_ROOT) {
-			addIUs(result.getIUs(null, ROOT), ROOT);
-			addIUs(result.getIUs(null, NON_ROOT), ROOT);
-		} else if (mode == MERGE_ALL_NON_ROOT) {
-			addIUs(result.getIUs(null, ROOT), NON_ROOT);
-			addIUs(result.getIUs(null, NON_ROOT), NON_ROOT);
-		}
-	}
-
-	class QueryableMap implements IQueryable {
-		private Map map;
-
-		public QueryableMap(Map map) {
-			this.map = map;
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			return query.perform(flatten(this.map.values()).iterator(), collector);
-		}
-	}
-
-	/**
-	 * Queries both the root and non root IUs
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		IQueryable nonRootQueryable = new QueryableMap(nonRootIUs);
-		IQueryable rootQueryable = new QueryableMap(rootIUs);
-		return new CompoundQueryable(new IQueryable[] {nonRootQueryable, rootQueryable}).query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IAdditionalInstallableUnitAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IAdditionalInstallableUnitAdvice.java
deleted file mode 100644
index 1e54594..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IAdditionalInstallableUnitAdvice.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IAdditionalInstallableUnitAdvice extends IPublisherAdvice {
-
-	public InstallableUnitDescription[] getAdditionalInstallableUnitDescriptions(IInstallableUnit iu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java
deleted file mode 100644
index bf6f592..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 EclipseSource 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:
- *      Eclipse Source - initial API and implementation
- *      IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface ICapabilityAdvice extends IPublisherAdvice {
-
-	public IProvidedCapability[] getProvidedCapabilities(InstallableUnitDescription iu);
-
-	public IRequirement[] getRequiredCapabilities(InstallableUnitDescription iu);
-
-	public IRequirement[] getMetaRequiredCapabilities(InstallableUnitDescription iu);
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFeatureRootAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFeatureRootAdvice.java
deleted file mode 100644
index 7a8e448..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFeatureRootAdvice.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.internal.p2.publisher.FileSetDescriptor;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IFeatureRootAdvice extends IPublisherAdvice {
-
-	/**
-	 * Return an array of configSpecs for which this advice is applicable.
-	 * @see IPublisherAdvice#isApplicable(String, boolean, String, org.eclipse.equinox.internal.provisional.p2.metadata.Version)
-	 * @return String [] : Array of configSpec ("ws,os,arch")
-	 */
-	public String[] getConfigurations();
-
-	public IPathComputer getRootFileComputer(String configSpec);
-
-	public FileSetDescriptor getDescriptor(String configSpec);
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFilterAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFilterAdvice.java
deleted file mode 100644
index 89036f8..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IFilterAdvice.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 EclipseSource 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: 
- *   EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-/**
- * Filter advice helps actions figure out where an IU with a given id and version
- * is applicable.  For example, when some IU being published depends on another, 
- * it is possible that the prerequisite is not applicable in all scenarios.  In that case
- * it is useful for new IU to spec its requirement using an applicability filter.  This
- * advice can supply that filter.
- */
-public interface IFilterAdvice extends IPublisherAdvice {
-	/**
-	 * Returns the filter to use for depending on the IU with the given id.
-	 * If an exact match is desired, only IUs with the given version are considered
-	 * as sources of filter information.  If in-exact matches are acceptable, the
-	 * advisor will attempt to find the most relevant IU (typically the one with the highest
-	 * version less than that supplied) to supply the version information.
-	 * 
-	 * @param id the id of the target IU 
-	 * @param version the version of the target IU 
-	 * @param exact whether or not to consider information for IUs whose 
-	 * version does not match the supplied version
-	 * @return the filter to use when depending on the given IU or <code>null</code>
-	 * if none.
-	 */
-	public String getFilter(String id, Version version, boolean exact);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ILicenseAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ILicenseAdvice.java
deleted file mode 100644
index 03868e0..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ILicenseAdvice.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-/**
- * Provides advice about a license.
- */
-public interface ILicenseAdvice {
-
-	public String getLicenseURL();
-
-	public String getLicenseText();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IPropertyAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IPropertyAdvice.java
deleted file mode 100644
index 1cb0be9..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IPropertyAdvice.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.util.Properties;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public interface IPropertyAdvice extends IPublisherAdvice {
-
-	/**
-	 * Returns the set of extra properties to be associated with the IU
-	 */
-	public Properties getInstallableUnitProperties(InstallableUnitDescription iu);
-
-	/**
-	 * Returns the set of extra properties to be associated with the artifact descriptor
-	 * being published
-	 */
-	public Properties getArtifactProperties(IInstallableUnit iu, IArtifactDescriptor descriptor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootFilesAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootFilesAdvice.java
deleted file mode 100644
index c830838..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootFilesAdvice.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.io.File;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IRootFilesAdvice extends IPublisherAdvice {
-
-	public File getRoot();
-
-	public File[] getIncludedFiles();
-
-	public File[] getExcludedFiles();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootIUAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootIUAdvice.java
deleted file mode 100644
index 2c5cad6..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IRootIUAdvice.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.util.Collection;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-
-public interface IRootIUAdvice {
-
-	/**
-	 * Returns the list of children of the root for this publishing operation.
-	 * Returned elements are either the String id of the IUs, a VersionedName describing 
-	 * the IU or the IUs themselves.
-	 * @param result 
-	 * @return the collection of children
-	 */
-	public Collection getChildren(IPublisherResult result);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ITouchpointAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ITouchpointAdvice.java
deleted file mode 100644
index 0a800d9..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ITouchpointAdvice.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-/**
- * Touchpoint advice provides information related to the touch points associated
- * with an installable unit being published.
- */
-public interface ITouchpointAdvice extends IPublisherAdvice {
-	/**
-	 * Returns a touchpoint data that merges the given touchpoint data
-	 * with any new touchpoint data contributed by this advice.
-	 * 
-	 * @param existingData The current set of touchpoint data.
-	 * @return the merged touchpoint data
-	 */
-	public ITouchpointData getTouchpointData(ITouchpointData existingData);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IVersionAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IVersionAdvice.java
deleted file mode 100644
index d10685b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/IVersionAdvice.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IVersionAdvice extends IPublisherAdvice {
-
-	public static final String NS_BUNDLE = "bundle"; //$NON-NLS-1$
-	public static final String NS_FEATURE = "feature"; //$NON-NLS-1$
-	public static final String NS_ROOT = "root"; //$NON-NLS-1$
-
-	/**
-	 * Returns the version advice for the given id in the given namespace.
-	 * @param namespace the namespace in which to look for advice
-	 * @param id the item for which advice is sought
-	 * @return the version advice found or <code>null</code> if none
-	 */
-	public Version getVersion(String namespace, String id);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
deleted file mode 100644
index 7d6dd97..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-public class JREAction extends AbstractPublisherAction {
-	private static final String DEFAULT_JRE_NAME = "a.jre"; //$NON-NLS-1$
-	private static final Version DEFAULT_JRE_VERSION = Version.parseVersion("1.6"); //$NON-NLS-1$
-	private static final String DEFAULT_PROFILE = "/profiles/JavaSE-1.6.profile"; //$NON-NLS-1$
-	private static final String PROFILE_LOCATION = "jre.action.profile.location"; //$NON-NLS-1$
-	private static final String PROFILE_NAME = "osgi.java.profile.name"; //$NON-NLS-1$
-	private static final String PROFILE_TARGET_VERSION = "org.eclipse.jdt.core.compiler.codegen.targetPlatform"; //$NON-NLS-1$
-	private static final String PROFILE_SYSTEM_PACKAGES = "org.osgi.framework.system.packages"; //$NON-NLS-1$
-
-	private File jreLocation;
-	private String environment;
-	private Properties profileProperties;
-
-	public JREAction(File location) {
-		this.jreLocation = location;
-	}
-
-	public JREAction(String environment) {
-
-		this.environment = environment;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		initialize(publisherInfo);
-		IArtifactDescriptor artifact = createJREData(results);
-		if (artifact != null)
-			publishArtifact(artifact, new File[] {jreLocation}, null, publisherInfo, createRootPrefixComputer(jreLocation));
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Creates IUs and artifact descriptors for the JRE.  The resulting IUs are added
-	 * to the given set, and the resulting artifact descriptor, if any, is returned.
-	 * If the jreLocation is <code>null</code>, default information is generated.
-	 */
-	protected IArtifactDescriptor createJREData(IPublisherResult results) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(false);
-		iu.setId(DEFAULT_JRE_NAME);
-		iu.setVersion(DEFAULT_JRE_VERSION);
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-
-		generateJREIUData(iu);
-
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configId = "config." + iu.getId();//$NON-NLS-1$
-		cu.setId(configId);
-		cu.setVersion(iu.getVersion());
-		VersionRange range = iu.getVersion() == Version.emptyVersion ? VersionRange.emptyRange : new VersionRange(iu.getVersion(), true, Version.MAX_VERSION, true);
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configId, iu.getVersion())});
-		cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		Map touchpointData = new HashMap();
-
-		if (jreLocation == null || !jreLocation.exists()) {
-			touchpointData.put("install", ""); //$NON-NLS-1$ //$NON-NLS-2$
-			cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-			results.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT);
-			results.addIU(MetadataFactory.createInstallableUnit(cu), IPublisherResult.ROOT);
-			return null;
-		}
-
-		//Generate artifact for JRE
-		IArtifactKey key = new ArtifactKey(PublisherHelper.BINARY_ARTIFACT_CLASSIFIER, iu.getId(), iu.getVersion());
-		iu.setArtifacts(new IArtifactKey[] {key});
-		results.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT);
-
-		//Create config info for the CU
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		results.addIU(MetadataFactory.createInstallableUnit(cu), IPublisherResult.ROOT);
-
-		//Create the artifact descriptor
-		return PublisherHelper.createArtifactDescriptor(info.getArtifactRepository(), key, jreLocation);
-	}
-
-	private IProvidedCapability[] generateJRECapability(String id, Version version) {
-		if (profileProperties == null)
-			return new IProvidedCapability[0];
-
-		try {
-			ManifestElement[] jrePackages = ManifestElement.parseHeader(PROFILE_SYSTEM_PACKAGES, (String) profileProperties.get(PROFILE_SYSTEM_PACKAGES));
-			IProvidedCapability[] exportedPackageAsCapabilities = new IProvidedCapability[jrePackages.length + 1];
-			exportedPackageAsCapabilities[0] = PublisherHelper.createSelfCapability(id, version);
-			for (int i = 1; i <= jrePackages.length; i++) {
-				exportedPackageAsCapabilities[i] = MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, jrePackages[i - 1].getValue(), null);
-			}
-			return exportedPackageAsCapabilities;
-		} catch (BundleException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return new IProvidedCapability[0];
-	}
-
-	private void generateJREIUData(InstallableUnitDescription iu) {
-		if (profileProperties == null || profileProperties.size() == 0)
-			return; //got nothing
-
-		String profileLocation = profileProperties.getProperty(PROFILE_LOCATION);
-
-		String profileName = profileLocation != null ? new Path(profileLocation).lastSegment() : profileProperties.getProperty(PROFILE_NAME);
-		if (profileName.endsWith(".profile")) //$NON-NLS-1$
-			profileName = profileName.substring(0, profileName.length() - 8);
-		Version version = null;
-		int idx = profileName.indexOf('-');
-		if (idx != -1) {
-			try {
-				version = Version.parseVersion(profileName.substring(idx + 1));
-			} catch (IllegalArgumentException e) {
-				//ignore
-			}
-			profileName = profileName.substring(0, idx);
-		}
-		if (version == null) {
-			try {
-				String targetVersion = profileProperties.getProperty(PROFILE_TARGET_VERSION);
-				version = targetVersion != null ? Version.parseVersion(targetVersion) : null;
-			} catch (IllegalArgumentException e) {
-				//ignore
-			}
-		}
-
-		if (version == null)
-			version = DEFAULT_JRE_VERSION;
-
-		iu.setVersion(version);
-
-		profileName = profileName.replace('-', '.');
-		profileName = profileName.replace('/', '.');
-		profileName = profileName.replace('_', '.');
-		iu.setId("a.jre." + profileName.toLowerCase()); //$NON-NLS-1$
-
-		IProvidedCapability[] capabilities = generateJRECapability(iu.getId(), iu.getVersion());
-		iu.setCapabilities(capabilities);
-	}
-
-	private void initialize(IPublisherInfo publisherInfo) {
-		this.info = publisherInfo;
-
-		if (jreLocation != null) {
-			//Look for a JRE profile file to set version and capabilities
-			File[] profiles = jreLocation.listFiles(new FileFilter() {
-				public boolean accept(File pathname) {
-					return pathname.getAbsolutePath().endsWith(".profile"); //$NON-NLS-1$
-				}
-			});
-			if (profiles != null && profiles.length > 0) {
-				profileProperties = loadProfile(profiles[0]);
-			}
-		}
-		if (profileProperties == null) {
-			String entry = environment != null ? "/profiles/" + environment.replace('/', '_') + ".profile" : DEFAULT_PROFILE; //$NON-NLS-1$ //$NON-NLS-2$
-			URL profileURL = Activator.getContext().getBundle().getEntry(entry);
-			profileProperties = loadProfile(profileURL);
-		}
-	}
-
-	private Properties loadProfile(File profileFile) {
-		if (profileFile == null || !profileFile.exists())
-			return null;
-
-		try {
-			InputStream stream = new BufferedInputStream(new FileInputStream(profileFile));
-			Properties properties = loadProfile(stream);
-			if (properties != null)
-				properties.put(PROFILE_LOCATION, profileFile.getAbsolutePath());
-			return properties;
-		} catch (FileNotFoundException e) {
-			//null
-		}
-		return null;
-	}
-
-	private Properties loadProfile(URL profileURL) {
-		if (profileURL == null)
-			return null;
-
-		try {
-			InputStream stream = profileURL.openStream();
-			return loadProfile(stream);
-		} catch (IOException e) {
-			//null
-		}
-		return null;
-	}
-
-	/**
-	 * Always closes the stream when done
-	 */
-	private Properties loadProfile(InputStream stream) {
-		if (stream != null) {
-			try {
-				Properties properties = new Properties();
-				properties.load(stream);
-				return properties;
-			} catch (IOException e) {
-				return null;
-			} finally {
-				try {
-					stream.close();
-				} catch (IOException e) {
-					// error
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/MergeResultsAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/MergeResultsAction.java
deleted file mode 100644
index e43e0d0..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/MergeResultsAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.publisher.*;
-
-public class MergeResultsAction extends AbstractPublisherAction {
-
-	private IPublisherAction[] actions;
-	private int mode;
-
-	public MergeResultsAction(IPublisherAction[] actions, int mode) {
-		this.actions = actions;
-		this.mode = mode;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		MultiStatus finalStatus = new MultiStatus(MergeResultsAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$
-		for (int i = 0; i < actions.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			IPublisherAction action = actions[i];
-			IPublisherResult result = new PublisherResult();
-			finalStatus.merge(action.perform(publisherInfo, result, monitor));
-			results.merge(result, mode);
-		}
-		if (!finalStatus.isOK())
-			return finalStatus;
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/QueryableFilterAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/QueryableFilterAdvice.java
deleted file mode 100644
index 6c5aff8..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/QueryableFilterAdvice.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 EclipseSource 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: 
- *   EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An IFilterAdvice that looks up the desired IU in the publisher's input metadata
- * repository and returns whatever filter is found there.
- */
-public class QueryableFilterAdvice implements IFilterAdvice {
-
-	private IQueryable queryable;
-
-	public QueryableFilterAdvice(IQueryable queryable) {
-		this.queryable = queryable;
-	}
-
-	public String getFilter(String id, Version version, boolean exact) {
-		InstallableUnitQuery query = new InstallableUnitQuery(id, version);
-		Collector result = queryable.query(query, null);
-		if (!result.isEmpty())
-			return ((LDAPQuery) ((IInstallableUnit) result.iterator().next()).getFilter()).getFilter();
-		if (exact)
-			return null;
-		query = new InstallableUnitQuery(id);
-		result = queryable.query(query, null);
-		if (!result.isEmpty())
-			return ((LDAPQuery) ((IInstallableUnit) result.iterator().next()).getFilter()).getFilter();
-		return null;
-	}
-
-	public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version) {
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java
deleted file mode 100644
index f996efd..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class RootFilesAction extends AbstractPublisherAction {
-	private String idBase;
-	private Version version;
-	private String flavor;
-	private boolean createParent = true;
-
-	/**
-	 * Returns the id of the top level IU published by this action for the given id and flavor.
-	 * @param id the id of the application being published
-	 * @param flavor the flavor being published
-	 * @return the if for ius published by this action
-	 */
-	public static String computeIUId(String id, String flavor) {
-		return flavor + id + ".rootfiles"; //$NON-NLS-1$
-	}
-
-	public RootFilesAction(IPublisherInfo info, String idBase, Version version, String flavor) {
-		this.idBase = idBase == null ? "org.eclipse" : idBase; //$NON-NLS-1$
-		this.version = version;
-		this.flavor = flavor;
-	}
-
-	public void setCreateParent(boolean createParent) {
-		this.createParent = createParent;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		setPublisherInfo(publisherInfo);
-		IPublisherResult innerResult = new PublisherResult();
-		// we have N platforms, generate a CU for each
-		// TODO try and find common properties across platforms
-		String[] configSpecs = publisherInfo.getConfigurations();
-		for (int i = 0; i < configSpecs.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			generateRootFileIUs(configSpecs[i], innerResult);
-		}
-		// merge the IUs  into the final result as non-roots and create a parent IU that captures them all
-		results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT);
-		if (createParent)
-			publishTopLevelRootFilesIU(innerResult.getIUs(null, IPublisherResult.ROOT), results);
-		if (monitor.isCanceled())
-			return Status.CANCEL_STATUS;
-		return Status.OK_STATUS;
-	}
-
-	private void publishTopLevelRootFilesIU(Collection children, IPublisherResult result) {
-		InstallableUnitDescription descriptor = createParentIU(children, computeIUId(idBase, flavor), version);
-		descriptor.setSingleton(true);
-		IInstallableUnit rootIU = MetadataFactory.createInstallableUnit(descriptor);
-		if (rootIU == null)
-			return;
-		result.addIU(rootIU, IPublisherResult.ROOT);
-	}
-
-	/**
-	 * Generates IUs and CUs for the files that make up the root files for a given
-	 * ws/os/arch combination.
-	 */
-	private void generateRootFileIUs(String configSpec, IPublisherResult result) {
-		// Create the IU for the executable
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(true);
-		String idPrefix = idBase + ".rootfiles"; //$NON-NLS-1$
-		String iuId = idPrefix + '.' + createIdString(configSpec);
-		iu.setId(iuId);
-		iu.setVersion(version);
-		String filter = createFilterSpec(configSpec);
-		iu.setFilter(filter);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey(iuId, version);
-		iu.setArtifacts(new IArtifactKey[] {key});
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(flavor + idBase, idPrefix, version);
-		iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(iuId, version), launcherCapability});
-		result.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT);
-
-		// Create the CU that installs/configures the executable
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = flavor + iuId;
-		cu.setId(configUnitId);
-		cu.setVersion(version);
-		cu.setFilter(filter);
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iuId, new VersionRange(version, true, version, true), null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-
-		//TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now.
-		cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, version)});
-
-		cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		Map touchpointData = new HashMap();
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		processTouchpointAdvice(cu, touchpointData, info, configSpec);
-		IInstallableUnit unit = MetadataFactory.createInstallableUnit(cu);
-		result.addIU(unit, IPublisherResult.ROOT);
-
-		if ((info.getArtifactOptions() & (IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH)) > 0) {
-			// Create the artifact descriptor.  we have several files so no path on disk
-			IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(info.getArtifactRepository(), key, null);
-			IRootFilesAdvice advice = getAdvice(configSpec);
-			publishArtifact(descriptor, advice.getIncludedFiles(), advice.getExcludedFiles(), info, createPrefixComputer(advice.getRoot()));
-		}
-	}
-
-	private IPathComputer createPrefixComputer(File root) {
-		if (root == null)
-			return createParentPrefixComputer(1);
-		return createRootPrefixComputer(root);
-	}
-
-	/**
-	 * Compiles the <class>IRootFilesAdvice</class> from the <code>info</code> into one <class>IRootFilesAdvice</class> 
-	 * and returns the result.
-	 * @param configSpec
-	 * @return a compilation of <class>IRootfilesAdvice</class> from the <code>info</code>.
-	 */
-	private IRootFilesAdvice getAdvice(String configSpec) {
-		Collection advice = info.getAdvice(configSpec, true, null, null, IRootFilesAdvice.class);
-		ArrayList inclusions = new ArrayList();
-		ArrayList exclusions = new ArrayList();
-		File root = null;
-		for (Iterator i = advice.iterator(); i.hasNext();) {
-			IRootFilesAdvice entry = (IRootFilesAdvice) i.next();
-			// TODO for now we simply get root from the first advice that has one
-			if (root == null)
-				root = entry.getRoot();
-			File[] list = entry.getIncludedFiles();
-			if (list != null)
-				inclusions.addAll(Arrays.asList(list));
-			list = entry.getExcludedFiles();
-			if (list != null)
-				exclusions.addAll(Arrays.asList(list));
-		}
-		File[] includeList = (File[]) inclusions.toArray(new File[inclusions.size()]);
-		File[] excludeList = (File[]) exclusions.toArray(new File[exclusions.size()]);
-		return new RootFilesAdvice(root, includeList, excludeList, configSpec);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAdvice.java
deleted file mode 100644
index 2a904e6..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAdvice.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.io.File;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-
-public class RootFilesAdvice extends AbstractAdvice implements IRootFilesAdvice {
-	private File root;
-	private File[] excludedFiles;
-	private File[] includedFiles;
-	private String configSpec;
-
-	public RootFilesAdvice(File root, File[] includedFiles, File[] excludedFiles, String configSpec) {
-		this.root = root;
-		this.excludedFiles = excludedFiles;
-		this.includedFiles = includedFiles;
-		this.configSpec = configSpec;
-	}
-
-	public File getRoot() {
-		return root;
-	}
-
-	protected String getConfigSpec() {
-		return configSpec;
-	}
-
-	public File[] getExcludedFiles() {
-		return excludedFiles;
-	}
-
-	public File[] getIncludedFiles() {
-		return includedFiles;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java
deleted file mode 100644
index c705833..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - Progress monitor handling and error handling
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.p2.publisher.Messages;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Create a top level IU that lists all the current roots as well as any explicitly identified
- * top level IUs.
- */
-public class RootIUAction extends AbstractPublisherAction {
-
-	private Version version;
-	private String id;
-	private String name;
-	private Collection versionAdvice;
-
-	public RootIUAction(String id, Version version, String name) {
-		this.id = id;
-		this.version = version;
-		this.name = name;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		this.info = publisherInfo;
-		return generateRootIU(results);
-	}
-
-	protected IStatus generateRootIU(IPublisherResult result) {
-		Collection children = getChildren(result);
-		InstallableUnitDescription descriptor = createTopLevelIUDescription(children, null, false);
-		processCapabilityAdvice(descriptor, info);
-		processTouchpointAdvice(descriptor, null, info);
-		processInstallableUnitPropertiesAdvice(descriptor, info);
-		processLicense(descriptor, info);
-		IInstallableUnit rootIU = MetadataFactory.createInstallableUnit(descriptor);
-		if (rootIU == null)
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.error_rootIU_generation, new Object[] {name, id, version}));
-		result.addIU(rootIU, IPublisherResult.NON_ROOT);
-
-		InstallableUnitDescription[] others = processAdditionalInstallableUnitsAdvice(rootIU, info);
-		for (int iuIndex = 0; others != null && iuIndex < others.length; iuIndex++) {
-			result.addIU(MetadataFactory.createInstallableUnit(others[iuIndex]), IPublisherResult.ROOT);
-		}
-
-		return Status.OK_STATUS;
-		// TODO why do we create a category here?
-		//		result.addIU(generateDefaultCategory(rootIU, rootCategory), IPublisherResult.NON_ROOT);
-	}
-
-	protected static void processLicense(InstallableUnitDescription iu, IPublisherInfo info) {
-		Collection advice = info.getAdvice(null, true, iu.getId(), iu.getVersion(), ILicenseAdvice.class);
-		if (advice.size() > 0) {
-			// Only process the first license we find for this IU.
-			ILicenseAdvice entry = (ILicenseAdvice) advice.iterator().next();
-			String licenseText = entry.getLicenseText() == null ? "" : entry.getLicenseText(); //$NON-NLS-1$
-			String licenseUrl = entry.getLicenseURL() == null ? "" : entry.getLicenseURL(); //$NON-NLS-1$
-			if (licenseText.length() > 0 || licenseUrl.length() > 0)
-				iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(licenseUrl), licenseText)});
-		}
-	}
-
-	private static URI toURIOrNull(String url) {
-		if (url == null)
-			return null;
-		try {
-			return URIUtil.fromString(url);
-		} catch (URISyntaxException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * This was copied over from Generator to match up with the call from generateRootIU (above).
-	 * It is entirely unclear why it was needed.  Should review.
-	 * Short term fix to ensure IUs that have no corresponding category are not lost.
-	 * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=211521.
-	 */
-	//	private IInstallableUnit generateDefaultCategory(IInstallableUnit rootIU) {
-	//		rootCategory.add(rootIU);
-	//
-	//		InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
-	//		cat.setSingleton(true);
-	//		String categoryId = rootIU.getId() + ".categoryIU"; //$NON-NLS-1$
-	//		cat.setId(categoryId);
-	//		cat.setVersion(Version.emptyVersion);
-	//		cat.setProperty(IInstallableUnit.PROP_NAME, rootIU.getProperty(IInstallableUnit.PROP_NAME));
-	//		cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, rootIU.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-	//
-	//		ArrayList required = new ArrayList(rootCategory.size());
-	//		for (Iterator iterator = rootCategory.iterator(); iterator.hasNext();) {
-	//			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-	//			required.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), VersionRange.emptyRange, iu.getFilter(), false, false));
-	//		}
-	//		cat.setRequiredCapabilities((RequiredCapability[]) required.toArray(new RequiredCapability[required.size()]));
-	//		cat.setCapabilities(new ProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, categoryId, Version.emptyVersion)});
-	//		cat.setArtifacts(new IArtifactKey[0]);
-	//		cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
-	//		return MetadataFactory.createInstallableUnit(cat);
-	//	}
-	private Collection getChildren(IPublisherResult result) {
-		// get any roots that we have accummulated so far and search for
-		// children from the advice.
-		HashSet children = new HashSet();
-		Collection rootAdvice = info.getAdvice(null, true, null, null, IRootIUAdvice.class);
-		if (rootAdvice == null)
-			return children;
-		for (Iterator i = rootAdvice.iterator(); i.hasNext();) {
-			IRootIUAdvice advice = (IRootIUAdvice) i.next();
-			Collection list = advice.getChildren(result);
-			if (list != null)
-				for (Iterator j = list.iterator(); j.hasNext();) {
-					Object object = j.next();
-					// if the advice is a string, look it up in the result.  if not there then 
-					// query the known metadata repos
-					if (object instanceof String) {
-						String childId = (String) object;
-						IInstallableUnit iu = queryForIU(result, childId, getVersionAdvice(childId));
-						if (iu != null)
-							children.add(iu);
-					} else if (object instanceof IVersionedId) {
-						children.add(object);
-					}
-				}
-		}
-		return children;
-	}
-
-	private InstallableUnitDescription createTopLevelIUDescription(Collection children, Collection requires, boolean configureLauncherData) {
-		InstallableUnitDescription root = new MetadataFactory.InstallableUnitDescription();
-		root.setSingleton(true);
-		root.setId(id);
-		root.setVersion(version);
-		root.setProperty(IInstallableUnit.PROP_NAME, name);
-
-		Collection requiredCapabilities = createIURequirements(children);
-		if (requires != null)
-			requiredCapabilities.addAll(requires);
-		root.setRequiredCapabilities((IRequirement[]) requiredCapabilities.toArray(new IRequirement[requiredCapabilities.size()]));
-		root.setArtifacts(new IArtifactKey[0]);
-
-		root.setProperty("lineUp", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null));
-		root.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)});
-		// TODO why is the type OSGI?
-		root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI);
-		return root;
-	}
-
-	private Version getVersionAdvice(String iuID) {
-		if (versionAdvice == null) {
-			versionAdvice = info.getAdvice(null, true, null, null, IVersionAdvice.class);
-			if (versionAdvice == null)
-				return null;
-		}
-		for (Iterator i = versionAdvice.iterator(); i.hasNext();) {
-			IVersionAdvice advice = (IVersionAdvice) i.next();
-			// TODO have to figure a way to know the namespace here.  for now just look everywhere
-			Version result = advice.getVersion(IInstallableUnit.NAMESPACE_IU_ID, iuID);
-			if (result == null)
-				result = advice.getVersion(IVersionAdvice.NS_BUNDLE, iuID);
-			if (result == null)
-				result = advice.getVersion(IVersionAdvice.NS_FEATURE, iuID);
-			if (result != null)
-				return result;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAdvice.java
deleted file mode 100644
index 85d6051..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAdvice.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.util.Collection;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-
-/**
- * Advises publisher actions as to which IUs should be listed as children of an
- * eventual root IU.  Each child is described as a VersionedName.
- */
-public class RootIUAdvice extends AbstractAdvice implements IRootIUAdvice {
-
-	private Collection children;
-
-	public RootIUAdvice(Collection children) {
-		this.children = children;
-	}
-
-	public Collection getChildren(IPublisherResult result) {
-		return children;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUResultFilterAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUResultFilterAdvice.java
deleted file mode 100644
index b99dc17..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUResultFilterAdvice.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.util.Collection;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-
-public class RootIUResultFilterAdvice extends AbstractAdvice implements IRootIUAdvice {
-	private IQuery query;
-
-	public RootIUResultFilterAdvice(IQuery query) {
-		this.query = query;
-	}
-
-	public Collection getChildren(IPublisherResult result) {
-		Collection value = result.getIUs(null, IPublisherResult.ROOT);
-		if (query == null)
-			return value;
-		return query.perform(value.iterator(), new Collector()).toCollection();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/VersionAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/VersionAdvice.java
deleted file mode 100644
index 629d2f4..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/VersionAdvice.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.actions;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public class VersionAdvice extends AbstractAdvice implements IVersionAdvice {
-
-	Map versions = new HashMap(11);
-
-	/**
-	 * Load the given namespace with version mappings from the properties file at 
-	 * the given location.  The properties file is expected to be in the normal format
-	 * produced and consumed by PDE Build.
-	 * @param namespace the namespace to populate.  If "null" is passed
-	 * in, the version will be stored in the "null" namespace
-	 * @param location the location of the mapping file
-	 */
-	public void load(String namespace, String location) {
-		load(namespace, location, null);
-	}
-
-	public void load(String namespace, String location, String idSuffix) {
-		if (namespace == null)
-			namespace = "null"; //$NON-NLS-1$
-		Properties properties = new Properties();
-		File file = new File(location);
-		if (file.exists()) {
-			InputStream stream = null;
-			try {
-				stream = new BufferedInputStream(new FileInputStream(file));
-				properties.load(stream);
-			} catch (IOException e) {
-				// nothing
-			} finally {
-				if (stream != null)
-					try {
-						stream.close();
-					} catch (IOException e) {
-						//nothing
-					}
-			}
-		}
-		if (properties.size() > 0) {
-			Enumeration enumeration = properties.keys();
-			while (enumeration.hasMoreElements()) {
-				String key = (String) enumeration.nextElement();
-				if (idSuffix != null)
-					key += idSuffix;
-				String value = properties.getProperty(key);
-				setVersion(namespace, key, Version.parseVersion(value));
-			}
-		}
-	}
-
-	/**
-	 * Returns the version advice for the given id in the given namespace.
-	 * @param namespace the namespace in which to look for advice
-	 * @param id the item for which advice is sought
-	 * @return the version advice found or <code>null</code> if none
-	 */
-	public Version getVersion(String namespace, String id) {
-		Map values = (Map) versions.get(namespace);
-		// if no one says anything then don't say anything.  someone else might have an opinion
-		if (values != null) {
-			Version result = (Version) values.get(id);
-			if (result != null)
-				return result;
-		}
-
-		values = (Map) versions.get("null"); //$NON-NLS-1$
-		if (values == null)
-			return null;
-		return (Version) values.get(id);
-	}
-
-	/**
-	 * Sets the version advice for the given id in the given namespace.
-	 * @param namespace the namespace in which to look for advice
-	 * @param id the item for which advice is sought
-	 * @param version the version advice for the given id or <code>null</code> to remove advice
-	 */
-	public void setVersion(String namespace, String id, Version version) {
-		Map values = (Map) versions.get(namespace);
-		if (values == null) {
-			// if we are clearing values then there is nothing to do
-			if (version == null)
-				return;
-			values = new HashMap();
-			versions.put(namespace, values);
-		}
-		if (version == null)
-			values.remove(id);
-		else
-			values.put(id, version);
-	}
-
-	public IPublisherAdvice merge(IPublisherAdvice advice) {
-		if (!(advice instanceof VersionAdvice))
-			return this;
-		VersionAdvice source = (VersionAdvice) advice;
-		for (Iterator i = source.versions.keySet().iterator(); i.hasNext();) {
-			String namespace = (String) i.next();
-			Map myValues = (Map) versions.get(namespace);
-			Map sourceValues = (Map) source.versions.get(namespace);
-			if (myValues == null)
-				versions.put(namespace, sourceValues);
-			else if (sourceValues != null)
-				versions.put(namespace, merge(myValues, sourceValues));
-		}
-		return this;
-	}
-
-	private Map merge(Map myValues, Map sourceValues) {
-		Map result = new HashMap(myValues);
-		for (Iterator i = sourceValues.keySet().iterator(); i.hasNext();) {
-			String key = (String) i.next();
-			if (result.get(key) == null)
-				result.put(key, sourceValues.get(key));
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AccumulateConfigDataAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AccumulateConfigDataAction.java
deleted file mode 100644
index a135377..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AccumulateConfigDataAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.p2.publisher.*;
-
-public class AccumulateConfigDataAction extends AbstractPublisherAction {
-
-	private String configSpec;
-	private DataLoader loader;
-
-	public AccumulateConfigDataAction(IPublisherInfo info, String configSpec, File configurationLocation, File executableLocation) {
-		this.configSpec = configSpec;
-		loader = new DataLoader(configurationLocation, executableLocation);
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		storeConfigData(publisherInfo, configSpec, results);
-		return Status.OK_STATUS;
-	}
-
-	protected void storeConfigData(IPublisherInfo publisherInfo, String config, IPublisherResult result) {
-		ConfigData data = loader.getConfigData();
-		if (data == null)
-			return;
-		publisherInfo.addAdvice(new ConfigAdvice(data, config));
-		LauncherData launcherData = loader.getLauncherData();
-		if (launcherData == null)
-			return;
-		publisherInfo.addAdvice(new LaunchingAdvice(launcherData, config));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java
deleted file mode 100644
index 47932c2..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-/**
- * Publishing advice from a p2 advice file. An advice file (p2.inf) can be embedded
- * in the source of a bundle, feature, or product to specify additional advice to be
- * added to the {@link IInstallableUnit} corresponding to the bundle, feature, or product.
- */
-public class AdviceFileAdvice extends AbstractAdvice implements ITouchpointAdvice, ICapabilityAdvice, IPropertyAdvice, IAdditionalInstallableUnitAdvice {
-
-	/**
-	 * The location of the bundle advice file, relative to the bundle root location.
-	 */
-	public static final IPath BUNDLE_ADVICE_FILE = new Path("META-INF/p2.inf"); //$NON-NLS-1$
-
-	private final String id;
-	private final Version version;
-
-	private Map touchpointInstructions;
-	private IProvidedCapability[] providedCapabilities;
-	private IRequirement[] requiredCapabilities;
-	private IRequirement[] metaRequiredCapabilities;
-	private Properties iuProperties;
-	private InstallableUnitDescription[] additionalIUs;
-	private boolean containsAdvice = false;
-
-	/**
-	 * Creates advice for an advice file at the given location. If <tt>basePath</tt>
-	 * is a directory, then <tt>adviceFilePath</tt> is appended to this location to
-	 * obtain the location of the advice file. If <tt>basePath</tt> is a file, then
-	 * <tt>adviceFilePath</tt> is used to 
-	 * @param id The symbolic id of the installable unit this advice applies to
-	 * @param version The version of the installable unit this advice applies to
-	 * @param basePath The root location of the the advice file. This is either the location of
-	 * the jar containing the advice, or a directory containing the advice file
-	 * @param adviceFilePath The location of the advice file within the base path. This is
-	 * either the path of a jar entry, or the path of the advice file within the directory
-	 * specified by the base path.
-	 */
-	public AdviceFileAdvice(String id, Version version, IPath basePath, IPath adviceFilePath) {
-		Assert.isNotNull(id);
-		Assert.isNotNull(version);
-		Assert.isNotNull(basePath);
-		Assert.isNotNull(adviceFilePath);
-		this.id = id;
-		this.version = version;
-
-		Map advice = loadAdviceMap(basePath, adviceFilePath);
-		if (advice.isEmpty())
-			return;
-
-		AdviceFileParser parser = new AdviceFileParser(id, version, advice);
-		try {
-			parser.parse();
-		} catch (Exception e) {
-			String message = "An error occured while parsing advice file: basePath=" + basePath + ", adviceFilePath=" + adviceFilePath + "."; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
-			LogHelper.log(status);
-			return;
-		}
-		touchpointInstructions = parser.getTouchpointInstructions();
-		providedCapabilities = parser.getProvidedCapabilities();
-		requiredCapabilities = parser.getRequiredCapabilities();
-		metaRequiredCapabilities = parser.getMetaRequiredCapabilities();
-		iuProperties = parser.getProperties();
-		additionalIUs = parser.getAdditionalInstallableUnitDescriptions();
-		containsAdvice = true;
-	}
-
-	public boolean containsAdvice() {
-		return containsAdvice;
-	}
-
-	/**
-	 * Loads the advice file and returns it in map form.
-	 */
-	private static Map loadAdviceMap(IPath basePath, IPath adviceFilePath) {
-		File location = basePath.toFile();
-		if (location == null || !location.exists())
-			return Collections.EMPTY_MAP;
-
-		ZipFile jar = null;
-		InputStream stream = null;
-		try {
-			if (location.isDirectory()) {
-				File adviceFile = new File(location, adviceFilePath.toString());
-				if (!adviceFile.isFile())
-					return Collections.EMPTY_MAP;
-				stream = new BufferedInputStream(new FileInputStream(adviceFile));
-			} else if (location.isFile()) {
-				jar = new ZipFile(location);
-				ZipEntry entry = jar.getEntry(adviceFilePath.toString());
-				if (entry == null)
-					return Collections.EMPTY_MAP;
-
-				stream = new BufferedInputStream(jar.getInputStream(entry));
-			}
-
-			Properties advice = new Properties();
-			advice.load(stream);
-			return (advice != null ? advice : Collections.EMPTY_MAP);
-		} catch (IOException e) {
-			String message = "An error occured while reading advice file: basePath=" + basePath + ", adviceFilePath=" + adviceFilePath + "."; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-			IStatus status = new Status(IStatus.ERROR, Activator.ID, message, e);
-			LogHelper.log(status);
-			return Collections.EMPTY_MAP;
-		} finally {
-			if (stream != null)
-				try {
-					stream.close();
-				} catch (IOException e) {
-					// ignore secondary failure
-				}
-			if (jar != null)
-				try {
-					jar.close();
-				} catch (IOException e) {
-					// ignore secondary failure
-				}
-		}
-	}
-
-	public boolean isApplicable(String configSpec, boolean includeDefault, String candidateId, Version candidateVersion) {
-		return id.equals(candidateId) && version.equals(candidateVersion);
-	}
-
-	/*(non-Javadoc)
-	 * @see org.eclipse.equinox.p2.publisher.eclipse.ITouchpointAdvice#getTouchpointData()
-	 */
-	public ITouchpointData getTouchpointData(ITouchpointData existing) {
-		return MetadataFactory.mergeTouchpointData(existing, touchpointInstructions);
-	}
-
-	public IProvidedCapability[] getProvidedCapabilities(InstallableUnitDescription iu) {
-		return providedCapabilities;
-	}
-
-	public IRequirement[] getRequiredCapabilities(InstallableUnitDescription iu) {
-		return requiredCapabilities;
-	}
-
-	public IRequirement[] getMetaRequiredCapabilities(InstallableUnitDescription iu) {
-		return metaRequiredCapabilities;
-	}
-
-	public InstallableUnitDescription[] getAdditionalInstallableUnitDescriptions(IInstallableUnit iu) {
-		return additionalIUs;
-	}
-
-	public Properties getArtifactProperties(IInstallableUnit iu, IArtifactDescriptor descriptor) {
-		return null;
-	}
-
-	public Properties getInstallableUnitProperties(InstallableUnitDescription iu) {
-		return iuProperties;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
deleted file mode 100644
index 80f56b6..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-
-public class AdviceFileParser {
-
-	private static final String ADVICE_VERSION = "advice.version"; //$NON-NLS-1$
-
-	private static final String QUALIFIER_SUBSTITUTION = "$qualifier$"; //$NON-NLS-1$
-	private static final String VERSION_SUBSTITUTION = "$version$"; //$NON-NLS-1$
-
-	private static final String UPDATE_DESCRIPTION = "update.description"; //$NON-NLS-1$
-	private static final String UPDATE_SEVERITY = "update.severity"; //$NON-NLS-1$
-	private static final String UPDATE_RANGE = "update.range"; //$NON-NLS-1$
-	private static final String UPDATE_ID = "update.id"; //$NON-NLS-1$
-	private static final String CLASSIFIER = "classifier"; //$NON-NLS-1$
-	private static final String TOUCHPOINT_VERSION = "touchpoint.version"; //$NON-NLS-1$
-	private static final String TOUCHPOINT_ID = "touchpoint.id"; //$NON-NLS-1$
-	private static final String COPYRIGHT_LOCATION = "copyright.location"; //$NON-NLS-1$
-	private static final String COPYRIGHT = "copyright"; //$NON-NLS-1$
-	private static final String ID = "id"; //$NON-NLS-1$
-	private static final String SINGLETON = "singleton"; //$NON-NLS-1$
-	private static final String IMPORT = "import"; //$NON-NLS-1$
-	private static final String RANGE = "range"; //$NON-NLS-1$
-	private static final String FILTER = "filter"; //$NON-NLS-1$
-	private static final String MULTIPLE = "multiple"; //$NON-NLS-1$
-	private static final String OPTIONAL = "optional"; //$NON-NLS-1$
-	private static final String GREEDY = "greedy"; //$NON-NLS-1$
-	private static final String VERSION = "version"; //$NON-NLS-1$
-	private static final String NAMESPACE = "namespace"; //$NON-NLS-1$
-	private static final String NAME = "name"; //$NON-NLS-1$
-	private static final String LOCATION = "location"; //$NON-NLS-1$
-	private static final String VALUE = "value"; //$NON-NLS-1$
-
-	private static final String UNITS_PREFIX = "units."; //$NON-NLS-1$
-	private static final String INSTRUCTIONS_PREFIX = "instructions."; //$NON-NLS-1$
-	private static final String REQUIRES_PREFIX = "requires."; //$NON-NLS-1$
-	private static final String META_REQUIREMENTS_PREFIX = "metaRequirements."; //$NON-NLS-1$
-	private static final String PROVIDES_PREFIX = "provides."; //$NON-NLS-1$
-	private static final String PROPERTIES_PREFIX = "properties."; //$NON-NLS-1$
-	private static final String LICENSES_PREFIX = "licenses."; //$NON-NLS-1$
-	private static final String ARTIFACTS_PREFIX = "artifacts."; //$NON-NLS-1$
-	private static final String HOST_REQUIREMENTS_PREFIX = "hostRequirements."; //$NON-NLS-1$
-
-	public static final Version COMPATIBLE_VERSION = Version.createOSGi(1, 0, 0);
-	public static final VersionRange VERSION_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, Version.createOSGi(2, 0, 0), false);
-
-	private Properties adviceProperties = new Properties();
-	private List adviceProvides = new ArrayList();
-	private List adviceRequires = new ArrayList();
-	private List adviceMetaRequires = new ArrayList();
-	private Map adviceInstructions = new HashMap();
-	private List adviceOtherIUs = new ArrayList();
-
-	private final Map advice;
-	private Iterator keysIterator;
-	private String current;
-	//	private String hostId; not currently used
-	private Version hostVersion;
-
-	public AdviceFileParser(String id, Version version, Map advice) {
-		// this.hostId = id; not currently used
-		this.hostVersion = version;
-		this.advice = advice;
-	}
-
-	public void parse() {
-		String adviceVersion = (String) advice.get(ADVICE_VERSION);
-		if (adviceVersion != null)
-			checkAdviceVersion(adviceVersion);
-
-		List keys = new ArrayList(advice.keySet());
-		Collections.sort(keys);
-
-		keysIterator = keys.iterator();
-		next();
-
-		while (current != null) {
-			if (current.startsWith(PROPERTIES_PREFIX))
-				parseProperties(PROPERTIES_PREFIX, adviceProperties);
-			else if (current.startsWith(PROVIDES_PREFIX))
-				parseProvides(PROVIDES_PREFIX, adviceProvides);
-			else if (current.startsWith(REQUIRES_PREFIX))
-				parseRequires(REQUIRES_PREFIX, adviceRequires);
-			else if (current.startsWith(META_REQUIREMENTS_PREFIX))
-				parseRequires(META_REQUIREMENTS_PREFIX, adviceMetaRequires);
-			else if (current.startsWith(INSTRUCTIONS_PREFIX))
-				parseInstructions(INSTRUCTIONS_PREFIX, adviceInstructions);
-			else if (current.startsWith(UNITS_PREFIX))
-				parseUnits(UNITS_PREFIX, adviceOtherIUs);
-			else if (current.equals(ADVICE_VERSION)) {
-				next();
-			} else {
-				// we ignore elements we do not understand
-				next();
-			}
-		}
-	}
-
-	private void checkAdviceVersion(String adviceVersion) {
-		Version version = Version.parseVersion(adviceVersion);
-		if (!VERSION_TOLERANCE.isIncluded(version))
-			throw new IllegalStateException("bad version: " + version + ". Expected range was " + VERSION_TOLERANCE); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private void next() {
-		current = (String) (keysIterator.hasNext() ? keysIterator.next() : null);
-	}
-
-	private String currentValue() {
-		return ((String) advice.get(current)).trim();
-	}
-
-	private void parseProperties(String prefix, Map properties) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex == -1)
-				throw new IllegalStateException("bad token: " + current); //$NON-NLS-1$
-
-			parseProperty(current.substring(0, dotIndex + 1), properties);
-		}
-	}
-
-	private void parseProperty(String prefix, Map properties) {
-		String propertyName = null;
-		String propertyValue = null;
-		while (current != null && current.startsWith(prefix)) {
-			String token = current.substring(prefix.length());
-			if (token.equals(NAME)) {
-				propertyName = currentValue();
-			} else if (token.equals(VALUE)) {
-				propertyValue = currentValue();
-			} else {
-				// we ignore elements we do not understand
-			}
-			next();
-		}
-
-		properties.put(propertyName, propertyValue);
-	}
-
-	private void parseProvides(String prefix, List provides) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex == -1)
-				throw new IllegalStateException("bad token: " + current); //$NON-NLS-1$
-
-			parseProvided(current.substring(0, dotIndex + 1), provides);
-		}
-	}
-
-	private void parseProvided(String prefix, List provides) {
-		String namespace = null;
-		String name = null;
-		Version capabilityVersion = null;
-		while (current != null && current.startsWith(prefix)) {
-			String token = current.substring(prefix.length());
-			if (token.equals(NAME)) {
-				name = currentValue();
-			} else if (token.equals(NAMESPACE)) {
-				namespace = currentValue();
-			} else if (token.equals(VERSION)) {
-				capabilityVersion = Version.parseVersion(substituteVersionAndQualifier(currentValue()));
-			} else {
-				// we ignore elements we do not understand
-			}
-			next();
-		}
-
-		IProvidedCapability capability = MetadataFactory.createProvidedCapability(namespace, name, capabilityVersion);
-		provides.add(capability);
-	}
-
-	private void parseRequires(String prefix, List requires) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex == -1)
-				throw new IllegalStateException("bad token: " + current); //$NON-NLS-1$
-
-			parseRequired(current.substring(0, dotIndex + 1), requires);
-		}
-	}
-
-	private void parseRequired(String prefix, List requires) {
-
-		String namespace = null;
-		String name = null;
-		VersionRange range = null;
-		String filter = null;
-		boolean optional = false;
-		boolean multiple = false;
-		boolean greedy = true;
-
-		while (current != null && current.startsWith(prefix)) {
-			String token = current.substring(prefix.length());
-			if (token.equals(GREEDY)) {
-				greedy = Boolean.valueOf(currentValue()).booleanValue();
-			} else if (token.equals(OPTIONAL)) {
-				optional = Boolean.valueOf(currentValue()).booleanValue();
-			} else if (token.equals(MULTIPLE)) {
-				multiple = Boolean.valueOf(currentValue()).booleanValue();
-			} else if (token.equals(FILTER)) {
-				filter = currentValue();
-			} else if (token.equals(NAME)) {
-				name = currentValue();
-			} else if (token.equals(NAMESPACE)) {
-				namespace = currentValue();
-			} else if (token.equals(RANGE)) {
-				range = new VersionRange(substituteVersionAndQualifier(currentValue()));
-			} else {
-				// we ignore elements we do not understand
-			}
-			next();
-		}
-		IRequirement capability = MetadataFactory.createRequiredCapability(namespace, name, range, filter, optional, multiple, greedy);
-		requires.add(capability);
-	}
-
-	private void parseInstructions(String prefix, Map instructions) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex != -1)
-				throw new IllegalStateException("bad token: " + current); //$NON-NLS-1$
-
-			parseInstruction(current, instructions);
-		}
-	}
-
-	private void parseInstruction(String prefix, Map instructions) {
-		String phase = current.substring(current.lastIndexOf('.') + 1);
-		String body = currentValue();
-		next();
-
-		prefix += '.';
-		String importAttribute = null;
-		if (current != null && current.startsWith(prefix)) {
-			if (current.substring(prefix.length()).equals(IMPORT)) {
-				importAttribute = currentValue();
-			} else {
-				// we ignore elements we do not understand
-			}
-			next();
-		}
-		ITouchpointInstruction instruction = MetadataFactory.createTouchpointInstruction(body, importAttribute);
-		instructions.put(phase, instruction);
-	}
-
-	private void parseUnits(String prefix, List ius) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex == -1)
-				throw new IllegalStateException("bad token: " + current + " = " + currentValue()); //$NON-NLS-1$ //$NON-NLS-2$
-
-			parseUnit(current.substring(0, dotIndex + 1), ius);
-		}
-	}
-
-	private void parseUnit(String prefix, List units) {
-		String unitId = null;
-		Version unitVersion = null;
-		boolean unitSingleton = false;
-		String unitFilter = null;
-		String unitCopyright = null;
-		String unitCopyrightLocation = null;
-		String unitTouchpointId = null;
-		Version unitTouchpointVersion = null;
-
-		String unitUpdateId = null;
-		VersionRange unitUpdateRange = null;
-		int unitUpdateSeverity = 0;
-		String unitUpdateDescription = null;
-
-		List unitArtifacts = new ArrayList();
-		Properties unitProperties = new Properties();
-		List unitHostRequirements = new ArrayList();
-		List unitProvides = new ArrayList();
-		List unitRequires = new ArrayList();
-		List unitMetaRequirements = new ArrayList();
-		List unitLicenses = new ArrayList();
-		Map unitInstructions = new HashMap();
-		//		updatedescriptor ??
-
-		while (current != null && current.startsWith(prefix)) {
-			String token = current.substring(prefix.length());
-			if (token.equals(ID)) {
-				unitId = currentValue();
-				next();
-			} else if (token.equals(VERSION)) {
-				unitVersion = Version.parseVersion(substituteVersionAndQualifier(currentValue()));
-				next();
-			} else if (token.equals(SINGLETON)) {
-				unitSingleton = Boolean.valueOf(currentValue()).booleanValue();
-				next();
-			} else if (token.equals(FILTER)) {
-				unitFilter = currentValue();
-				next();
-			} else if (token.equals(COPYRIGHT)) {
-				unitCopyright = currentValue();
-				next();
-			} else if (token.equals(COPYRIGHT_LOCATION)) {
-				unitCopyrightLocation = currentValue();
-				next();
-			} else if (token.equals(TOUCHPOINT_ID)) {
-				unitTouchpointId = currentValue();
-				next();
-			} else if (token.equals(TOUCHPOINT_VERSION)) {
-				unitTouchpointVersion = Version.parseVersion(substituteVersionAndQualifier(currentValue()));
-				next();
-			} else if (token.equals(UPDATE_ID)) {
-				unitUpdateId = currentValue();
-				next();
-			} else if (token.equals(UPDATE_RANGE)) {
-				unitUpdateRange = new VersionRange(substituteVersionAndQualifier(currentValue()));
-				next();
-			} else if (token.equals(UPDATE_SEVERITY)) {
-				unitUpdateSeverity = Integer.parseInt(currentValue());
-				next();
-			} else if (token.equals(UPDATE_DESCRIPTION)) {
-				unitUpdateDescription = currentValue();
-				next();
-			} else if (token.startsWith(HOST_REQUIREMENTS_PREFIX))
-				parseRequires(prefix + HOST_REQUIREMENTS_PREFIX, unitHostRequirements);
-			else if (token.startsWith(ARTIFACTS_PREFIX))
-				parseArtifacts(prefix + ARTIFACTS_PREFIX, unitArtifacts);
-			else if (token.startsWith(LICENSES_PREFIX))
-				parseLicenses(prefix + LICENSES_PREFIX, unitLicenses);
-			else if (token.startsWith(PROPERTIES_PREFIX))
-				parseProperties(prefix + PROPERTIES_PREFIX, unitProperties);
-			else if (token.startsWith(PROVIDES_PREFIX))
-				parseProvides(prefix + PROVIDES_PREFIX, unitProvides);
-			else if (token.startsWith(REQUIRES_PREFIX))
-				parseRequires(prefix + REQUIRES_PREFIX, unitRequires);
-			else if (token.startsWith(META_REQUIREMENTS_PREFIX))
-				parseRequires(prefix + META_REQUIREMENTS_PREFIX, unitMetaRequirements);
-			else if (token.startsWith(INSTRUCTIONS_PREFIX))
-				parseInstructions(prefix + INSTRUCTIONS_PREFIX, unitInstructions);
-			else {
-				// we ignore elements we do not understand
-				next();
-			}
-		}
-
-		InstallableUnitDescription description = unitHostRequirements.isEmpty() ? new InstallableUnitDescription() : new InstallableUnitFragmentDescription();
-		description.setId(unitId);
-		description.setVersion(unitVersion);
-		description.setSingleton(unitSingleton);
-		description.setFilter(unitFilter);
-		if (unitCopyright != null || unitCopyrightLocation != null) {
-			try {
-				URI uri = unitCopyrightLocation != null ? new URI(unitCopyrightLocation) : null;
-				description.setCopyright(MetadataFactory.createCopyright(uri, unitCopyright));
-			} catch (URISyntaxException e) {
-				throw new IllegalStateException("bad copyright URI at token: " + current + ", " + currentValue()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (unitTouchpointId != null)
-			description.setTouchpointType(MetadataFactory.createTouchpointType(unitTouchpointId, unitTouchpointVersion));
-
-		if (unitUpdateId != null)
-			description.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(unitUpdateId, unitUpdateRange, unitUpdateSeverity, unitUpdateDescription));
-
-		if (!unitLicenses.isEmpty())
-			description.setLicenses((ILicense[]) unitLicenses.toArray(new ILicense[unitLicenses.size()]));
-
-		if (!unitArtifacts.isEmpty())
-			description.setArtifacts((IArtifactKey[]) unitArtifacts.toArray(new IArtifactKey[unitArtifacts.size()]));
-
-		if (!unitHostRequirements.isEmpty())
-			((InstallableUnitFragmentDescription) description).setHost((IRequirement[]) unitHostRequirements.toArray(new IRequirement[unitHostRequirements.size()]));
-
-		if (!unitProperties.isEmpty()) {
-			for (Iterator iterator = unitProperties.entrySet().iterator(); iterator.hasNext();) {
-				Entry entry = (Entry) iterator.next();
-				description.setProperty((String) entry.getKey(), (String) entry.getValue());
-			}
-		}
-
-		if (!unitProvides.isEmpty())
-			description.setCapabilities((IProvidedCapability[]) unitProvides.toArray(new IProvidedCapability[unitProvides.size()]));
-
-		if (!unitRequires.isEmpty())
-			description.setRequiredCapabilities((IRequirement[]) unitRequires.toArray(new IRequirement[unitRequires.size()]));
-
-		if (!unitMetaRequirements.isEmpty())
-			description.setMetaRequiredCapabilities((IRequirement[]) unitMetaRequirements.toArray(new IRequirement[unitMetaRequirements.size()]));
-
-		if (!unitInstructions.isEmpty())
-			description.addTouchpointData(MetadataFactory.createTouchpointData(unitInstructions));
-
-		adviceOtherIUs.add(description);
-	}
-
-	private void parseLicenses(String prefix, List licenses) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex != -1)
-				throw new IllegalStateException("bad token: " + current + " = " + currentValue()); //$NON-NLS-1$ //$NON-NLS-2$
-
-			parseLicense(current, licenses);
-		}
-	}
-
-	private void parseLicense(String prefix, List licenses) {
-		String body = currentValue();
-		next();
-
-		prefix += '.';
-		String location = null;
-		if (current != null && current.startsWith(prefix)) {
-			if (current.substring(prefix.length()).equals(LOCATION)) {
-				location = currentValue();
-			} else {
-				// we ignore elements we do not understand
-			}
-			next();
-		}
-
-		try {
-			URI uri = location != null ? new URI(location) : null;
-			ILicense license = MetadataFactory.createLicense(uri, body);
-			licenses.add(license);
-		} catch (URISyntaxException e) {
-			throw new IllegalStateException("bad license URI at token: " + current + ", " + currentValue()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	private void parseArtifacts(String prefix, List artifacts) {
-		while (current != null && current.startsWith(prefix)) {
-			int dotIndex = current.indexOf('.', prefix.length());
-			if (dotIndex == -1)
-				throw new IllegalStateException("bad token: " + current + " = " + currentValue()); //$NON-NLS-1$ //$NON-NLS-2$
-
-			parseArtifact(current.substring(0, dotIndex + 1), artifacts);
-		}
-	}
-
-	private void parseArtifact(String prefix, List artifacts) {
-		String artifactClassifier = null;
-		String artifactId = null;
-		Version artifactVersion = null;
-		while (current != null && current.startsWith(prefix)) {
-			String token = current.substring(prefix.length());
-			if (token.equals(CLASSIFIER)) {
-				artifactClassifier = currentValue();
-			} else if (token.equals(ID)) {
-				artifactId = currentValue();
-			} else if (token.equals(VERSION)) {
-				artifactVersion = Version.parseVersion(substituteVersionAndQualifier(currentValue()));
-			} else {
-				// we ignore elements we do not understand
-			}
-
-			next();
-		}
-		IArtifactKey artifactKey = new ArtifactKey(artifactClassifier, artifactId, artifactVersion);
-		artifacts.add(artifactKey);
-	}
-
-	private String substituteVersionAndQualifier(String version) {
-		if (version.indexOf(VERSION_SUBSTITUTION) != -1) {
-			version = replace(version, VERSION_SUBSTITUTION, hostVersion.toString());
-		}
-
-		if (version.indexOf(QUALIFIER_SUBSTITUTION) != -1) {
-			try {
-				String qualifier = Version.toOSGiVersion(hostVersion).getQualifier();
-				if (qualifier == null)
-					qualifier = ""; //$NON-NLS-1$
-				if (qualifier.length() == 0) {
-					// Note: this works only for OSGi versions and version ranges
-					// where the qualifier if present must be at the end of a version string
-					version = replace(version, "." + QUALIFIER_SUBSTITUTION, ""); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				version = replace(version, QUALIFIER_SUBSTITUTION, qualifier);
-			} catch (UnsupportedOperationException e) {
-				// Version cannot be converted to OSGi
-			}
-		}
-		return version;
-	}
-
-	// originally from org.eclipse.core.internal.net.StringUtil
-	public static String replace(String source, String from, String to) {
-		if (from.length() == 0)
-			return source;
-		StringBuffer buffer = new StringBuffer();
-		int current = 0;
-		int pos = 0;
-		while (pos != -1) {
-			pos = source.indexOf(from, current);
-			if (pos == -1) {
-				buffer.append(source.substring(current));
-			} else {
-				buffer.append(source.substring(current, pos));
-				buffer.append(to);
-				current = pos + from.length();
-			}
-		}
-		return buffer.toString();
-	}
-
-	public Properties getProperties() {
-		if (adviceProperties.isEmpty())
-			return null;
-		return adviceProperties;
-	}
-
-	public IRequirement[] getRequiredCapabilities() {
-		if (adviceRequires.isEmpty())
-			return null;
-
-		return (IRequirement[]) adviceRequires.toArray(new IRequirement[adviceRequires.size()]);
-	}
-
-	public IProvidedCapability[] getProvidedCapabilities() {
-		if (adviceProvides.isEmpty())
-			return null;
-
-		return (IProvidedCapability[]) adviceProvides.toArray(new IProvidedCapability[adviceProvides.size()]);
-	}
-
-	public Map getTouchpointInstructions() {
-		if (adviceInstructions.isEmpty())
-			return null;
-
-		return adviceInstructions;
-	}
-
-	public InstallableUnitDescription[] getAdditionalInstallableUnitDescriptions() {
-		if (adviceOtherIUs.isEmpty())
-			return null;
-
-		return (InstallableUnitDescription[]) adviceOtherIUs.toArray(new InstallableUnitDescription[adviceOtherIUs.size()]);
-	}
-
-	public IRequirement[] getMetaRequiredCapabilities() {
-		if (adviceMetaRequires.isEmpty())
-			return null;
-
-		return (IRequirement[]) adviceMetaRequires.toArray(new IRequirement[adviceMetaRequires.size()]);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ApplicationLauncherAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ApplicationLauncherAction.java
deleted file mode 100644
index fe5acbc..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ApplicationLauncherAction.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.VersionAdvice;
-
-/**
- * Create IUs and CUs that represent the entire launcher for an application.  This includes
- * the executable, the launcher fragments as well as the CUs required to install and configure
- * these elements.
- */
-public class ApplicationLauncherAction extends AbstractPublisherAction {
-
-	private String flavor;
-	private String[] configSpecs;
-	private File location;
-	private String executableName;
-	private Version version;
-	private String id;
-
-	/**
-	 * Returns the id of the top level IU published by this action for the given id and flavor.
-	 * @param id the id of the application being published
-	 * @param flavor the flavor being published
-	 * @return the if for ius published by this action
-	 */
-	public static String computeIUId(String id, String flavor) {
-		return flavor + id + ".application"; //$NON-NLS-1$
-	}
-
-	public ApplicationLauncherAction(String id, Version version, String flavor, String executableName, File location, String[] configSpecs) {
-		this.flavor = flavor;
-		this.configSpecs = configSpecs;
-		this.id = id;
-		this.version = version;
-		this.executableName = executableName;
-		this.location = location;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		// Create the basic actions and run them putting the IUs in a temporary result
-		Collection actions = createActions(publisherInfo);
-		createAdvice(publisherInfo, results);
-		IPublisherResult innerResult = new PublisherResult();
-		MultiStatus finalStatus = new MultiStatus(ApplicationLauncherAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$
-		for (Iterator i = actions.iterator(); i.hasNext();) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			finalStatus.merge(((IPublisherAction) i.next()).perform(publisherInfo, innerResult, monitor));
-		}
-		if (!finalStatus.isOK())
-			return finalStatus;
-		// merge the IUs  into the final result as non-roots and create a parent IU that captures them all
-		results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT);
-		publishApplicationLauncherIU(innerResult.getIUs(null, IPublisherResult.ROOT), results);
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Create advice needed by the actions related to and following this action
-	 */
-	private void createAdvice(IPublisherInfo publisherInfo, IPublisherResult results) {
-		createLauncherAdvice(publisherInfo, results);
-	}
-
-	/**
-	 * Create and register advice that will tell people what versions of the launcher bundle and 
-	 * fragments are in use in this particular result.
-	 */
-	private void createLauncherAdvice(IPublisherInfo publisherInfo, IPublisherResult results) {
-		Collection ius = getIUs(results.getIUs(null, null), EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER);
-		VersionAdvice advice = new VersionAdvice();
-		boolean found = false;
-		for (Iterator i = ius.iterator(); i.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) i.next();
-			// skip over source bundles and fragments
-			// TODO should we use the source property here rather than magic name matching?
-			if (iu.getId().endsWith(".source") || FragmentQuery.isFragment(iu)) //$NON-NLS-1$
-				continue;
-			advice.setVersion(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), iu.getVersion());
-			found = true;
-		}
-		if (found)
-			publisherInfo.addAdvice(advice);
-	}
-
-	private Collection getIUs(Collection ius, String prefix) {
-		Set result = new HashSet();
-		for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
-			IInstallableUnit tmp = (IInstallableUnit) iterator.next();
-			if (tmp.getId().startsWith(prefix))
-				result.add(tmp);
-		}
-		return result;
-	}
-
-	private void publishApplicationLauncherIU(Collection children, IPublisherResult result) {
-		InstallableUnitDescription descriptor = createParentIU(children, computeIUId(id, flavor), version);
-		descriptor.setSingleton(true);
-		IInstallableUnit rootIU = MetadataFactory.createInstallableUnit(descriptor);
-		if (rootIU == null)
-			return;
-		result.addIU(rootIU, IPublisherResult.ROOT);
-	}
-
-	private Collection createActions(IPublisherInfo publisherInfo) {
-		Collection actions = new ArrayList();
-		actions.add(new EquinoxLauncherCUAction(flavor, configSpecs));
-		actions.addAll(createExecutablesActions(configSpecs));
-		return actions;
-	}
-
-	protected Collection createExecutablesActions(String[] configs) {
-		Collection actions = new ArrayList(configs.length);
-		for (int i = 0; i < configs.length; i++) {
-			ExecutablesDescriptor executables = computeExecutables(configs[i]);
-			IPublisherAction action = new EquinoxExecutableAction(executables, configs[i], id, version, flavor);
-			actions.add(action);
-		}
-		return actions;
-	}
-
-	protected ExecutablesDescriptor computeExecutables(String configSpec) {
-		// See if we know about an executables feature then use it as the source
-		ExecutablesDescriptor result = ExecutablesDescriptor.createExecutablesFromFeature(location, configSpec);
-		if (result != null)
-			return result;
-		// otherwise, assume that we are running against an Eclipse install and do the default thing
-		String os = AbstractPublisherAction.parseConfigSpec(configSpec)[1];
-		return ExecutablesDescriptor.createDescriptor(os, executableName, location);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundleShapeAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundleShapeAdvice.java
deleted file mode 100644
index a86884d..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundleShapeAdvice.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-
-public class BundleShapeAdvice extends AbstractAdvice implements IBundleShapeAdvice {
-
-	private String shape;
-	private Version version;
-	private String id;
-
-	public BundleShapeAdvice(String id, Version version, String shape) {
-		this.id = id;
-		this.version = version;
-		this.shape = shape;
-	}
-
-	protected String getId() {
-		return id;
-	}
-
-	protected Version getVersion() {
-		return version;
-	}
-
-	public String getShape() {
-		return shape;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
deleted file mode 100644
index 664c568..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
+++ /dev/null
@@ -1,813 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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:
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.p2.publisher.Messages;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.GeneratorBundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.spi.p2.publisher.LocalizationHelper;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.pluginconversion.PluginConversionException;
-import org.eclipse.osgi.service.pluginconversion.PluginConverter;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Publish IUs for all of the bundles in a given set of locations or described by a set of
- * bundle descriptions.  The locations can be actual locations of the bundles or folders
- * of bundles.
- *
- * This action consults the following types of advice:
- * </ul>
- * <li>{@link IAdditionalInstallableUnitAdvice }</li>
- * <li>{@link IBundleShapeAdvice}</li>
- * <li>{@link ICapabilityAdvice}</li>
- * <li>{@link IPropertyAdvice}</li>
- * <li>{@link ITouchpointAdvice}</li>
- * </ul>
- */
-public class BundlesAction extends AbstractPublisherAction {
-
-	// TODO reconsider the references to these specific ids in the action.  The action should be generic
-	protected static final String ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-	protected static final String ORG_ECLIPSE_UPDATE_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	/**
-	 * A capability name in the {@link PublisherHelper#NAMESPACE_ECLIPSE_TYPE} namespace
-	 * representing and OSGi bundle resource
-	 * @see IProvidedCapability#getName()
-	 */
-	public static final String TYPE_ECLIPSE_BUNDLE = "bundle"; //$NON-NLS-1$
-
-	/**
-	 * A capability name in the {@link PublisherHelper#NAMESPACE_ECLIPSE_TYPE} namespace
-	 * representing a source bundle
-	 * @see IProvidedCapability#getName()
-	 */
-	public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$
-
-	public static final String OSGI_BUNDLE_CLASSIFIER = "osgi.bundle"; //$NON-NLS-1$
-	private static final String CAPABILITY_NS_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$
-	private static final String CAPABILITY_NS_OSGI_FRAGMENT = "osgi.fragment"; //$NON-NLS-1$
-
-	public static final IProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, Version.createOSGi(1, 0, 0));
-	public static final IProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, Version.createOSGi(1, 0, 0));
-
-	static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$
-
-	private static final String[] BUNDLE_IU_PROPERTY_MAP = {Constants.BUNDLE_NAME, IInstallableUnit.PROP_NAME, Constants.BUNDLE_DESCRIPTION, IInstallableUnit.PROP_DESCRIPTION, Constants.BUNDLE_VENDOR, IInstallableUnit.PROP_PROVIDER, Constants.BUNDLE_CONTACTADDRESS, IInstallableUnit.PROP_CONTACT, Constants.BUNDLE_DOCURL, IInstallableUnit.PROP_DOC_URL, Constants.BUNDLE_UPDATELOCATION, IInstallableUnit.PROP_BUNDLE_LOCALIZATION, Constants.BUNDLE_LOCALIZATION, IInstallableUnit.PROP_BUNDLE_LOCALIZATION};
-	public static final int BUNDLE_LOCALIZATION_INDEX = PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES.length - 1;
-	public static final String DIR = "dir"; //$NON-NLS-1$
-	public static final String JAR = "jar"; //$NON-NLS-1$
-	private static final String FEATURE_FILENAME_DESCRIPTOR = "feature.xml"; //$NON-NLS-1$
-	private static final String PLUGIN_FILENAME_DESCRIPTOR = "plugin.xml"; //$NON-NLS-1$
-	private static final String FRAGMENT_FILENAME_DESCRIPTOR = "fragment.xml"; //$NON-NLS-1$
-	public static String BUNDLE_SHAPE = "Eclipse-BundleShape"; //$NON-NLS-1$
-
-	private File[] locations;
-	private BundleDescription[] bundles;
-
-	public static IArtifactKey createBundleArtifactKey(String bsn, String version) {
-		return new ArtifactKey(OSGI_BUNDLE_CLASSIFIER, bsn, Version.parseVersion(version));
-	}
-
-	public static IInstallableUnit createBundleConfigurationUnit(String hostId, Version cuVersion, boolean isBundleFragment, GeneratorBundleInfo configInfo, String configurationFlavor, String filter) {
-		if (configInfo == null)
-			return null;
-
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = configurationFlavor + hostId;
-		cu.setId(configUnitId);
-		cu.setVersion(cuVersion);
-
-		//Indicate the IU to which this CU apply
-		Version hostVersion = Version.parseVersion(configInfo.getVersion());
-		VersionRange range = hostVersion == Version.emptyVersion ? VersionRange.emptyRange : new VersionRange(hostVersion, true, Version.MAX_VERSION, true);
-		cu.setHost(new IRequirement[] { //
-				MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, hostId, range, null, false, false, true), //
-						MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), false), null, false, false, false)});
-
-		//Adds capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, cuVersion), MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		Map touchpointData = new HashMap();
-		touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("configure", createConfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
-		touchpointData.put("unconfigure", createUnconfigScript(configInfo, isBundleFragment)); //$NON-NLS-1$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cu.setFilter(filter);
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	public static IInstallableUnit createBundleIU(BundleDescription bd, IArtifactKey key, IPublisherInfo info) {
-		Map manifest = (Map) bd.getUserObject();
-		Map manifestLocalizations = null;
-		if (manifest != null && bd.getLocation() != null)
-			manifestLocalizations = getManifestLocalizations(manifest, new File(bd.getLocation()));
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(bd.isSingleton());
-		iu.setId(bd.getSymbolicName());
-		iu.setVersion(Version.fromOSGiVersion(bd.getVersion()));
-		iu.setFilter(bd.getPlatformFilter());
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(bd.getSymbolicName(), computeUpdateRange(bd.getVersion()), IUpdateDescriptor.NORMAL, null));
-		iu.setArtifacts(new IArtifactKey[] {key});
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI);
-
-		boolean isFragment = bd.getHost() != null;
-		//		boolean requiresAFragment = isFragment ? false : requireAFragment(bd, manifest);
-
-		//Process the required bundles
-		BundleSpecification requiredBundles[] = bd.getRequiredBundles();
-		ArrayList reqsDeps = new ArrayList();
-		//		if (requiresAFragment)
-		//			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_TYPE_OSGI_FRAGMENTS, bd.getSymbolicName(), VersionRange.emptyRange, null, false, false));
-		if (isFragment)
-			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getHost().getName(), VersionRange.fromOSGiVersionRange(bd.getHost().getVersionRange()), null, false, false));
-		for (int j = 0; j < requiredBundles.length; j++)
-			reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, requiredBundles[j].getName(), VersionRange.fromOSGiVersionRange(requiredBundles[j].getVersionRange()), null, requiredBundles[j].isOptional(), false));
-
-		// Process the import packages
-		ImportPackageSpecification osgiImports[] = bd.getImportPackages();
-		for (int i = 0; i < osgiImports.length; i++) {
-			// TODO we need to sort out how we want to handle wild-carded dynamic imports - for now we ignore them
-			ImportPackageSpecification importSpec = osgiImports[i];
-			String importPackageName = importSpec.getName();
-			if (importPackageName.indexOf('*') != -1)
-				continue;
-			VersionRange versionRange = VersionRange.fromOSGiVersionRange(importSpec.getVersionRange());
-			//TODO this needs to be refined to take into account all the attribute handled by imports
-			reqsDeps.add(MetadataFactory.createRequiredCapability(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, importPackageName, versionRange, null, isOptional(importSpec), false));
-		}
-		iu.setRequiredCapabilities((IRequirement[]) reqsDeps.toArray(new IRequirement[reqsDeps.size()]));
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(PublisherHelper.createSelfCapability(bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion())));
-		providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_BUNDLE, bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion())));
-
-		// Process the export package
-		ExportPackageDescription exports[] = bd.getExportPackages();
-		for (int i = 0; i < exports.length; i++) {
-			//TODO make sure that we support all the refinement on the exports
-			providedCapabilities.add(MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, exports[i].getName(), Version.fromOSGiVersion(exports[i].getVersion())));
-		}
-		// Here we add a bundle capability to identify bundles
-		if (manifest != null && manifest.containsKey("Eclipse-SourceBundle")) //$NON-NLS-1$
-			providedCapabilities.add(SOURCE_BUNDLE_CAPABILITY);
-		else
-			providedCapabilities.add(BUNDLE_CAPABILITY);
-		if (isFragment)
-			providedCapabilities.add(MetadataFactory.createProvidedCapability(CAPABILITY_NS_OSGI_FRAGMENT, bd.getHost().getName(), Version.fromOSGiVersion(bd.getVersion())));
-
-		if (manifestLocalizations != null) {
-			for (Iterator iter = manifestLocalizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) manifestLocalizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(PublisherHelper.makeTranslationCapability(bd.getSymbolicName(), locale));
-			}
-		}
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-		processCapabilityAdvice(iu, info);
-
-		// Set certain properties from the manifest header attributes as IU properties.
-		// The values of these attributes may be localized (strings starting with '%')
-		// with the translated values appearing in the localization IU fragments
-		// associated with the bundle IU.
-		if (manifest != null) {
-			int i = 0;
-			while (i < BUNDLE_IU_PROPERTY_MAP.length) {
-				if (manifest.containsKey(BUNDLE_IU_PROPERTY_MAP[i])) {
-					String value = (String) manifest.get(BUNDLE_IU_PROPERTY_MAP[i]);
-					if (value != null && value.length() > 0) {
-						iu.setProperty(BUNDLE_IU_PROPERTY_MAP[i + 1], value);
-					}
-				}
-				i += 2;
-			}
-		}
-
-		// Define the immutable metadata for this IU. In this case immutable means
-		// that this is something that will not impact the configuration.
-		Map touchpointData = new HashMap();
-		touchpointData.put("manifest", toManifestString(manifest)); //$NON-NLS-1$
-		if (isDir(bd, info))
-			touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		processTouchpointAdvice(iu, touchpointData, info);
-
-		processInstallableUnitPropertiesAdvice(iu, info);
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	static VersionRange computeUpdateRange(org.osgi.framework.Version base) {
-		VersionRange updateRange = null;
-		if (!base.equals(org.osgi.framework.Version.emptyVersion)) {
-			updateRange = new VersionRange(Version.emptyVersion, true, Version.fromOSGiVersion(base), false);
-		} else {
-			updateRange = VersionRange.emptyRange;
-		}
-		return updateRange;
-	}
-
-	private IInstallableUnitFragment createHostLocalizationFragment(IInstallableUnit bundleIU, BundleDescription bd, String hostId, String[] hostBundleManifestValues) {
-		Map hostLocalizations = getHostLocalizations(new File(bd.getLocation()), hostBundleManifestValues);
-		if (hostLocalizations != null) {
-			return createLocalizationFragmentOfHost(bd, hostId, hostBundleManifestValues, hostLocalizations);
-		}
-		return null;
-	}
-
-	/*
-	 * @param hostId
-	 * @param bd
-	 * @param locale
-	 * @param localizedStrings
-	 * @return installableUnitFragment
-	 */
-	private static IInstallableUnitFragment createLocalizationFragmentOfHost(BundleDescription bd, String hostId, String[] hostManifestValues, Map hostLocalizations) {
-		InstallableUnitFragmentDescription fragment = new MetadataFactory.InstallableUnitFragmentDescription();
-		String fragmentId = makeHostLocalizationFragmentId(bd.getSymbolicName());
-		fragment.setId(fragmentId);
-		fragment.setVersion(Version.fromOSGiVersion(bd.getVersion())); // TODO: is this a meaningful version?
-
-		HostSpecification hostSpec = bd.getHost();
-		IRequirement[] hostReqs = new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)};
-		fragment.setHost(hostReqs);
-
-		fragment.setSingleton(true);
-		fragment.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-
-		// Create a provided capability for each locale and add the translated properties.
-		ArrayList providedCapabilities = new ArrayList(hostLocalizations.keySet().size());
-		for (Iterator iter = hostLocalizations.keySet().iterator(); iter.hasNext();) {
-			Locale locale = (Locale) iter.next();
-			Properties translatedStrings = (Properties) hostLocalizations.get(locale);
-
-			Enumeration propertyKeys = translatedStrings.propertyNames();
-			while (propertyKeys.hasMoreElements()) {
-				String nextKey = (String) propertyKeys.nextElement();
-				fragment.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-			}
-			providedCapabilities.add(PublisherHelper.makeTranslationCapability(hostId, locale));
-		}
-		fragment.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		return MetadataFactory.createInstallableUnitFragment(fragment);
-	}
-
-	/**
-	 * @param id
-	 * @return the id for the iu fragment containing localized properties
-	 * 		   for the fragment with the given id.
-	 */
-	private static String makeHostLocalizationFragmentId(String id) {
-		return id + ".translated_host_properties"; //$NON-NLS-1$
-	}
-
-	private static String createConfigScript(GeneratorBundleInfo configInfo, boolean isBundleFragment) {
-		if (configInfo == null)
-			return ""; //$NON-NLS-1$
-
-		String configScript = "";//$NON-NLS-1$
-		if (!isBundleFragment && configInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
-			configScript += "setStartLevel(startLevel:" + configInfo.getStartLevel() + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!isBundleFragment && configInfo.isMarkedAsStarted()) {
-			configScript += "markStarted(started: true);"; //$NON-NLS-1$
-		}
-
-		if (configInfo.getSpecialConfigCommands() != null) {
-			configScript += configInfo.getSpecialConfigCommands();
-		}
-
-		return configScript;
-	}
-
-	private static String createDefaultBundleConfigScript(GeneratorBundleInfo configInfo) {
-		return createConfigScript(configInfo, false);
-	}
-
-	public static IInstallableUnit createDefaultBundleConfigurationUnit(GeneratorBundleInfo configInfo, GeneratorBundleInfo unconfigInfo, String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = PublisherHelper.createDefaultConfigUnitId(OSGI_BUNDLE_CLASSIFIER, configurationFlavor);
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on bundles
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)};
-		cu.setHost(reqs);
-		Map touchpointData = new HashMap();
-
-		touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("configure", createDefaultBundleConfigScript(configInfo)); //$NON-NLS-1$
-		touchpointData.put("unconfigure", createDefaultBundleUnconfigScript(unconfigInfo)); //$NON-NLS-1$
-
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	private static String createDefaultBundleUnconfigScript(GeneratorBundleInfo unconfigInfo) {
-		return createUnconfigScript(unconfigInfo, false);
-	}
-
-	private static String createUnconfigScript(GeneratorBundleInfo unconfigInfo, boolean isBundleFragment) {
-		if (unconfigInfo == null)
-			return ""; //$NON-NLS-1$
-		String unconfigScript = "";//$NON-NLS-1$
-		if (!isBundleFragment && unconfigInfo.getStartLevel() != BundleInfo.NO_LEVEL) {
-			unconfigScript += "setStartLevel(startLevel:" + BundleInfo.NO_LEVEL + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!isBundleFragment && unconfigInfo.isMarkedAsStarted()) {
-			unconfigScript += "markStarted(started: false);"; //$NON-NLS-1$
-		}
-
-		if (unconfigInfo.getSpecialUnconfigCommands() != null) {
-			unconfigScript += unconfigInfo.getSpecialUnconfigCommands();
-		}
-		return unconfigScript;
-	}
-
-	private static boolean isOptional(ImportPackageSpecification importedPackage) {
-		if (importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_DYNAMIC) || importedPackage.getDirective(Constants.RESOLUTION_DIRECTIVE).equals(ImportPackageSpecification.RESOLUTION_OPTIONAL))
-			return true;
-		return false;
-	}
-
-	private static String toManifestString(Map p) {
-		if (p == null)
-			return null;
-		Collection properties = p.entrySet();
-		StringBuffer result = new StringBuffer();
-		for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
-			Map.Entry aProperty = (Map.Entry) iterator.next();
-			if (aProperty.getKey().equals(BUNDLE_SHAPE))
-				continue;
-			result.append(aProperty.getKey()).append(": ").append(aProperty.getValue()).append('\n'); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-
-	// Return a map from locale to property set for the manifest localizations
-	// from the given bundle directory and given bundle localization path/name
-	// manifest property value.
-	private static Map getManifestLocalizations(Map manifest, File bundleLocation) {
-		Map localizations;
-		Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
-		String[] bundleManifestValues = getManifestCachedValues(manifest);
-		String bundleLocalization = bundleManifestValues[BUNDLE_LOCALIZATION_INDEX]; // Bundle localization is the last one in the list
-
-		if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
-				bundleLocation.isFile()) {
-			localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-			//localizations = getJarManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-		} else {
-			localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-			// localizations = getDirManifestLocalization(bundleLocation, bundleLocalization, defaultLocale, bundleManifestValues);
-		}
-
-		return localizations;
-	}
-
-	public static String[] getExternalizedStrings(IInstallableUnit iu) {
-		String[] result = new String[PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES.length];
-		int j = 0;
-		for (int i = 1; i < BUNDLE_IU_PROPERTY_MAP.length - 1; i += 2) {
-			if (iu.getProperty(BUNDLE_IU_PROPERTY_MAP[i]) != null && iu.getProperty(BUNDLE_IU_PROPERTY_MAP[i]).length() > 0 && iu.getProperty(BUNDLE_IU_PROPERTY_MAP[i]).charAt(0) == '%')
-				result[j++] = iu.getProperty(BUNDLE_IU_PROPERTY_MAP[i]).substring(1);
-			else
-				j++;
-		}
-		// The last string is the location 
-		result[BUNDLE_LOCALIZATION_INDEX] = iu.getProperty(IInstallableUnit.PROP_BUNDLE_LOCALIZATION);
-
-		return result;
-	}
-
-	public static String[] getManifestCachedValues(Map manifest) {
-		String[] cachedValues = new String[PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES.length];
-		for (int j = 0; j < PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES.length; j++) {
-			String value = (String) manifest.get(PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES[j]);
-			if (PublisherHelper.BUNDLE_LOCALIZED_PROPERTIES[j].equals(Constants.BUNDLE_LOCALIZATION)) {
-				if (value == null)
-					value = DEFAULT_BUNDLE_LOCALIZATION;
-				cachedValues[j] = value;
-			} else if (value != null && value.length() > 1 && value.charAt(0) == '%') {
-				cachedValues[j] = value.substring(1);
-			}
-		}
-		return cachedValues;
-	}
-
-	// Return a map from locale to property set for the manifest localizations
-	// from the given bundle directory and given bundle localization path/name
-	// manifest property value.
-	public static Map getHostLocalizations(File bundleLocation, String[] hostBundleManifestValues) {
-		Map localizations;
-		Locale defaultLocale = null; // = Locale.ENGLISH; // TODO: get this from GeneratorInfo
-		String hostBundleLocalization = hostBundleManifestValues[BUNDLE_LOCALIZATION_INDEX];
-		if (hostBundleLocalization == null)
-			return null;
-
-		if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && //$NON-NLS-1$
-				bundleLocation.isFile()) {
-			localizations = LocalizationHelper.getJarPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-			//localizations = getJarManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-		} else {
-			localizations = LocalizationHelper.getDirPropertyLocalizations(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-			// localizations = getDirManifestLocalization(bundleLocation, hostBundleLocalization, defaultLocale, hostBundleManifestValues);
-		}
-
-		return localizations;
-	}
-
-	private static PluginConverter acquirePluginConverter() {
-		return (PluginConverter) ServiceHelper.getService(Activator.getContext(), PluginConverter.class.getName());
-	}
-
-	private static Dictionary convertPluginManifest(File bundleLocation, boolean logConversionException) {
-		PluginConverter converter;
-		try {
-			converter = acquirePluginConverter();
-			if (converter == null) {
-				String message = NLS.bind(Messages.exception_noPluginConverter, bundleLocation);
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
-				return null;
-			}
-			return converter.convertManifest(bundleLocation, false, null, true, null);
-		} catch (PluginConversionException convertException) {
-			// only log the exception if we had a plugin.xml or fragment.xml and we failed conversion
-			if (bundleLocation.getName().equals(FEATURE_FILENAME_DESCRIPTOR))
-				return null;
-			if (!new File(bundleLocation, PLUGIN_FILENAME_DESCRIPTOR).exists() && !new File(bundleLocation, FRAGMENT_FILENAME_DESCRIPTOR).exists())
-				return null;
-			if (logConversionException) {
-				IStatus status = new Status(IStatus.WARNING, Activator.ID, 0, NLS.bind(Messages.exception_errorConverting, bundleLocation.getAbsolutePath()), convertException);
-				LogHelper.log(status);
-			}
-			return null;
-		}
-	}
-
-	public static BundleDescription createBundleDescription(Dictionary enhancedManifest, File bundleLocation) {
-		try {
-			BundleDescription descriptor = StateObjectFactory.defaultFactory.createBundleDescription(null, enhancedManifest, bundleLocation == null ? null : bundleLocation.getAbsolutePath(), 1); //TODO Do we need to have a real bundle id
-			descriptor.setUserObject(enhancedManifest);
-			return descriptor;
-		} catch (BundleException e) {
-			String message = NLS.bind(Messages.exception_stateAddition, bundleLocation == null ? null : bundleLocation.getAbsoluteFile());
-			IStatus status = new Status(IStatus.WARNING, Activator.ID, message, e);
-			LogHelper.log(status);
-			return null;
-		}
-	}
-
-	public static BundleDescription createBundleDescription(File bundleLocation) {
-		Dictionary manifest = loadManifest(bundleLocation);
-		if (manifest == null)
-			return null;
-		return createBundleDescription(manifest, bundleLocation);
-	}
-
-	public static Dictionary loadManifest(File bundleLocation) {
-		Dictionary manifest = basicLoadManifest(bundleLocation);
-		if (manifest == null)
-			return null;
-		// if the bundle itself does not define its shape, infer the shape from the current form
-		if (manifest.get(BUNDLE_SHAPE) == null)
-			manifest.put(BUNDLE_SHAPE, bundleLocation.isDirectory() ? DIR : JAR);
-		return manifest;
-	}
-
-	public static Dictionary basicLoadManifest(File bundleLocation) {
-		InputStream manifestStream = null;
-		ZipFile jarFile = null;
-		try {
-			if ("jar".equalsIgnoreCase(new Path(bundleLocation.getName()).getFileExtension()) && bundleLocation.isFile()) { //$NON-NLS-1$
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
-				if (manifestEntry != null) {
-					manifestStream = jarFile.getInputStream(manifestEntry);
-				}
-			} else {
-				File manifestFile = new File(bundleLocation, JarFile.MANIFEST_NAME);
-				if (manifestFile.exists())
-					manifestStream = new BufferedInputStream(new FileInputStream(manifestFile));
-			}
-		} catch (IOException e) {
-			String message = NLS.bind(Messages.exception_errorLoadingManifest, bundleLocation);
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, e));
-		}
-
-		Dictionary manifest = null;
-		if (manifestStream != null) {
-			try {
-				Map manifestMap = ManifestElement.parseBundleManifest(manifestStream, null);
-				// TODO temporary hack.  We are reading a Map but everyone wants a Dictionary so convert.
-				// real answer is to have people expect a Map but that is a wider change.
-				manifest = new Hashtable(manifestMap);
-			} catch (IOException e) {
-				String message = NLS.bind(Messages.exception_errorReadingManifest, bundleLocation, e.getMessage());
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, e));
-				return null;
-			} catch (BundleException e) {
-				String message = NLS.bind(Messages.exception_errorReadingManifest, bundleLocation, e.getMessage());
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message, e));
-				return null;
-			} finally {
-				try {
-					if (jarFile != null)
-						jarFile.close();
-				} catch (IOException e2) {
-					//Ignore
-				}
-			}
-		} else {
-			manifest = convertPluginManifest(bundleLocation, true);
-		}
-
-		if (manifest == null)
-			return null;
-
-		//Deal with the pre-3.0 plug-in shape who have a default jar manifest.mf
-		if (manifest.get(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME) == null)
-			manifest = convertPluginManifest(bundleLocation, true);
-		return manifest;
-
-	}
-
-	public BundlesAction(File[] locations) {
-		this.locations = locations;
-	}
-
-	public BundlesAction(BundleDescription[] bundles) {
-		this.bundles = bundles;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		if (bundles == null && locations == null)
-			throw new IllegalStateException(Messages.exception_noBundlesOrLocations);
-
-		setPublisherInfo(publisherInfo);
-
-		try {
-			if (bundles == null)
-				bundles = getBundleDescriptions(expandLocations(locations), monitor);
-			generateBundleIUs(bundles, results, monitor);
-			bundles = null;
-		} catch (OperationCanceledException e) {
-			return Status.CANCEL_STATUS;
-		}
-		return Status.OK_STATUS;
-	}
-
-	protected void publishArtifact(IArtifactDescriptor descriptor, File base, File[] inclusions, IPublisherInfo publisherInfo) {
-		IArtifactRepository destination = publisherInfo.getArtifactRepository();
-		if (descriptor == null || destination == null)
-			return;
-
-		// publish the given files
-		publishArtifact(descriptor, inclusions, null, publisherInfo, createRootPrefixComputer(base));
-	}
-
-	protected void publishArtifact(IArtifactDescriptor descriptor, File jarFile, IPublisherInfo publisherInfo) {
-		// no files to publish so this is done.
-		if (jarFile == null || publisherInfo == null)
-			return;
-
-		// if the destination already contains the descriptor, there is nothing to do.
-		IArtifactRepository destination = publisherInfo.getArtifactRepository();
-		if (destination == null || destination.contains(descriptor))
-			return;
-
-		super.publishArtifact(descriptor, jarFile, publisherInfo);
-
-		// if we are assimilating pack200 files then add the packed descriptor
-		// into the repo assuming it does not already exist.
-		boolean reuse = "true".equals(destination.getProperties().get(AbstractPublisherApplication.PUBLISH_PACK_FILES_AS_SIBLINGS)); //$NON-NLS-1$
-		if (reuse && (publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) > 0) {
-			File packFile = new Path(jarFile.getAbsolutePath()).addFileExtension("pack.gz").toFile(); //$NON-NLS-1$
-			if (packFile.exists()) {
-				IArtifactDescriptor ad200 = createPack200ArtifactDescriptor(descriptor.getArtifactKey(), packFile, descriptor.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
-				publishArtifact(ad200, packFile, publisherInfo);
-			}
-		}
-	}
-
-	private File[] expandLocations(File[] list) {
-		ArrayList result = new ArrayList();
-		expandLocations(list, result);
-		return (File[]) result.toArray(new File[result.size()]);
-	}
-
-	private void expandLocations(File[] list, ArrayList result) {
-		if (list == null)
-			return;
-		for (int i = 0; i < list.length; i++) {
-			File location = list[i];
-			if (location.isDirectory()) {
-				// if the location is itself a bundle, just add it.  Otherwise r down
-				if (new File(location, JarFile.MANIFEST_NAME).exists())
-					result.add(location);
-				else if (new File(location, "plugin.xml").exists() || new File(location, "fragment.xml").exists()) //$NON-NLS-1$ //$NON-NLS-2$
-					result.add(location); //old style bundle without manifest
-				else
-					expandLocations(location.listFiles(), result);
-			} else {
-				result.add(location);
-			}
-		}
-	}
-
-	protected void generateBundleIUs(BundleDescription[] bundleDescriptions, IPublisherResult result, IProgressMonitor monitor) {
-
-		// This assumes that hosts are processed before fragments because for each fragment the host
-		// is queried for the strings that should be translated.
-		for (int i = 0; i < bundleDescriptions.length; i++) {
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-
-			BundleDescription bd = bundleDescriptions[i];
-			if (bd != null && bd.getSymbolicName() != null && bd.getVersion() != null) {
-				//First check to see if there is already an IU around for this
-				IInstallableUnit bundleIU = queryForIU(result, bundleDescriptions[i].getSymbolicName(), Version.fromOSGiVersion(bd.getVersion()));
-				IArtifactKey key = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString());
-				if (bundleIU == null) {
-					createAdviceFileAdvice(bundleDescriptions[i], info);
-					// Create the bundle IU according to any shape advice we have
-					bundleIU = createBundleIU(bd, key, info);
-				}
-
-				File location = new File(bd.getLocation());
-				IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(info.getArtifactRepository(), key, location);
-				processArtifactPropertiesAdvice(bundleIU, (ArtifactDescriptor) ad, info);
-
-				// Publish according to the shape on disk
-				File bundleLocation = new File(bd.getLocation());
-				if (bundleLocation.isDirectory())
-					publishArtifact(ad, bundleLocation, bundleLocation.listFiles(), info);
-				else
-					publishArtifact(ad, bundleLocation, info);
-
-				IInstallableUnit fragment = null;
-				if (isFragment(bd)) {
-					// TODO: Need a test case for multiple hosts
-					String hostId = bd.getHost().getName();
-					VersionRange hostVersionRange = VersionRange.fromOSGiVersionRange(bd.getHost().getVersionRange());
-					IInstallableUnit[] hosts = queryForIUs(result, hostId, hostVersionRange);
-
-					for (int j = 0; j < hosts.length; j++) {
-						String fragmentId = makeHostLocalizationFragmentId(bd.getSymbolicName());
-						fragment = queryForIU(result, fragmentId, Version.fromOSGiVersion(bd.getVersion()));
-						if (fragment == null) {
-							String[] externalizedStrings = getExternalizedStrings(hosts[j]);
-							fragment = createHostLocalizationFragment(bundleIU, bd, hostId, externalizedStrings);
-						}
-					}
-
-				}
-
-				result.addIU(bundleIU, IPublisherResult.ROOT);
-				if (fragment != null)
-					result.addIU(fragment, IPublisherResult.NON_ROOT);
-
-				InstallableUnitDescription[] others = processAdditionalInstallableUnitsAdvice(bundleIU, info);
-				for (int iuIndex = 0; others != null && iuIndex < others.length; iuIndex++) {
-					result.addIU(MetadataFactory.createInstallableUnit(others[iuIndex]), IPublisherResult.ROOT);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adds advice for any p2.inf file found in this bundle.
-	 */
-	private void createAdviceFileAdvice(BundleDescription bundleDescription, IPublisherInfo publisherInfo) {
-		String location = bundleDescription.getLocation();
-		if (location == null)
-			return;
-
-		AdviceFileAdvice advice = new AdviceFileAdvice(bundleDescription.getSymbolicName(), Version.fromOSGiVersion(bundleDescription.getVersion()), new Path(location), AdviceFileAdvice.BUNDLE_ADVICE_FILE);
-		if (advice.containsAdvice())
-			publisherInfo.addAdvice(advice);
-
-	}
-
-	private static boolean isDir(BundleDescription bundle, IPublisherInfo info) {
-		Collection advice = info.getAdvice(null, true, bundle.getSymbolicName(), Version.fromOSGiVersion(bundle.getVersion()), IBundleShapeAdvice.class);
-		// if the advice has a shape, use it
-		if (advice != null && !advice.isEmpty()) {
-			// we know there is some advice but if there is more than one, take the first.
-			String shape = ((IBundleShapeAdvice) advice.iterator().next()).getShape();
-			if (shape != null)
-				return shape.equals(IBundleShapeAdvice.DIR);
-		}
-		// otherwise go with whatever we figured out from the manifest or the shape on disk
-		Map manifest = (Map) bundle.getUserObject();
-		String format = (String) manifest.get(BUNDLE_SHAPE);
-		return DIR.equals(format);
-	}
-
-	private boolean isFragment(BundleDescription bd) {
-		return (bd.getHost() != null ? true : false);
-	}
-
-	// TODO reconsider the special cases here for the configurators.  Perhaps these should be in their own actions.
-	protected BundleDescription[] getBundleDescriptions(File[] bundleLocations, IProgressMonitor monitor) {
-		if (bundleLocations == null)
-			return new BundleDescription[0];
-		boolean addSimpleConfigurator = false;
-		boolean scIn = false;
-		for (int i = 0; i < bundleLocations.length; i++) {
-			if (!addSimpleConfigurator)
-				addSimpleConfigurator = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_UPDATE_CONFIGURATOR) > 0;
-			if (!scIn) {
-				scIn = bundleLocations[i].toString().indexOf(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR) > 0;
-				if (scIn)
-					break;
-			}
-		}
-		if (scIn)
-			addSimpleConfigurator = false;
-		BundleDescription[] result = new BundleDescription[bundleLocations.length + (addSimpleConfigurator ? 1 : 0)];
-		for (int i = 0; i < bundleLocations.length; i++) {
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-			result[i] = createBundleDescription(bundleLocations[i]);
-		}
-		if (addSimpleConfigurator) {
-			// Add simple configurator to the list of bundles
-			try {
-				Bundle simpleConfigBundle = getBundle(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR);
-				if (simpleConfigBundle == null)
-					LogHelper.log(new Status(IStatus.INFO, Activator.ID, Messages.message_noSimpleconfigurator));
-				else {
-					File location = FileLocator.getBundleFile(simpleConfigBundle);
-					result[result.length - 1] = createBundleDescription(location);
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-		return result;
-	}
-
-	// This method is based on core.runtime's InternalPlatform.getBundle(...) with a difference just in how we get PackageAdmin
-	private static Bundle getBundle(String symbolicName) {
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(Activator.getContext(), PackageAdmin.class.getName());
-		if (packageAdmin == null)
-			return null;
-		Bundle[] matchingBundles = packageAdmin.getBundles(symbolicName, null);
-		if (matchingBundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < matchingBundles.length; i++) {
-			if ((matchingBundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return matchingBundles[i];
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigAdvice.java
deleted file mode 100644
index 2e25a1b..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigAdvice.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.util.Properties;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-
-public class ConfigAdvice extends AbstractAdvice implements IConfigAdvice {
-
-	private ConfigData data;
-	private String configSpec;
-
-	public ConfigAdvice(ConfigData data, String configSpec) {
-		this.data = data;
-		this.configSpec = configSpec;
-	}
-
-	public BundleInfo[] getBundles() {
-		return data.getBundles();
-	}
-
-	protected String getConfigSpec() {
-		return configSpec;
-	}
-
-	public Properties getProperties() {
-		Properties result = new Properties();
-		result.putAll(data.getProperties());
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java
deleted file mode 100644
index 7270d16..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.GeneratorBundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-/**
- * Publish CUs for all the configuration data in the current result.
- * This adds config-specific CUs to capture start levels etc found in the config.ini
- * etc for is os, ws, arch combination seen so far.
- */
-public class ConfigCUsAction extends AbstractPublisherAction {
-
-	protected static final String ORG_ECLIPSE_UPDATE_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	protected static final String DEFAULT_START_LEVEL = "osgi.bundles.defaultStartLevel"; //$NON-NLS-1$
-	private static Collection PROPERTIES_TO_SKIP;
-	private static HashSet PROGRAM_ARGS_TO_SKIP;
-	protected Version version;
-	protected String id;
-	protected String flavor;
-	IPublisherResult outerResults = null;
-
-	// TODO consider moving this filtering to the LaunchingAdvice and ConfigAdvice so 
-	// it is not hardcoded in the action.
-	static {
-		PROPERTIES_TO_SKIP = new HashSet();
-		PROPERTIES_TO_SKIP.add("osgi.frameworkClassPath"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("osgi.framework"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("osgi.bundles"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("eof"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("eclipse.p2.profile"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("eclipse.p2.data.area"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("osgi.launcherPath"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("org.eclipse.update.reconcile"); //$NON-NLS-1$
-		PROPERTIES_TO_SKIP.add("org.eclipse.equinox.simpleconfigurator.configUrl"); //$NON-NLS-1$
-
-		PROGRAM_ARGS_TO_SKIP = new HashSet();
-		PROGRAM_ARGS_TO_SKIP.add("--launcher.library"); //$NON-NLS-1$
-		PROGRAM_ARGS_TO_SKIP.add("-startup"); //$NON-NLS-1$
-		PROGRAM_ARGS_TO_SKIP.add("-configuration"); //$NON-NLS-1$
-	}
-
-	public static String getAbstractCUCapabilityNamespace(String id, String type, String flavor, String configSpec) {
-		return flavor + id;
-	}
-
-	public static String getAbstractCUCapabilityId(String id, String type, String flavor, String configSpec) {
-		return id + "." + type; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the id of the top level IU published by this action for the given id and flavor.
-	 * @param id the id of the application being published
-	 * @param flavor the flavor being published
-	 * @return the if for ius published by this action
-	 */
-	public static String computeIUId(String id, String flavor) {
-		return flavor + id + ".configuration"; //$NON-NLS-1$
-	}
-
-	public ConfigCUsAction(IPublisherInfo info, String flavor, String id, Version version) {
-		this.flavor = flavor;
-		this.id = id;
-		this.version = version;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		IPublisherResult innerResult = new PublisherResult();
-		this.outerResults = results;
-		this.info = publisherInfo;
-		// we have N platforms, generate a CU for each
-		// TODO try and find common properties across platforms
-		String[] configSpecs = publisherInfo.getConfigurations();
-		for (int i = 0; i < configSpecs.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			String configSpec = configSpecs[i];
-			Collection configAdvice = publisherInfo.getAdvice(configSpec, false, id, version, IConfigAdvice.class);
-			BundleInfo[] bundles = fillInBundles(configAdvice, results);
-			publishBundleCUs(publisherInfo, bundles, configSpec, innerResult);
-			publishConfigIUs(configAdvice, innerResult, configSpec);
-			Collection launchingAdvice = publisherInfo.getAdvice(configSpec, false, id, version, IExecutableAdvice.class);
-			publishIniIUs(launchingAdvice, innerResult, configSpec);
-		}
-		// merge the IUs  into the final result as non-roots and create a parent IU that captures them all
-		results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT);
-		publishTopLevelConfigurationIU(innerResult.getIUs(null, IPublisherResult.ROOT), results);
-		return Status.OK_STATUS;
-	}
-
-	private void publishTopLevelConfigurationIU(Collection children, IPublisherResult result) {
-		InstallableUnitDescription descriptor = createParentIU(children, computeIUId(id, flavor), version);
-		descriptor.setSingleton(true);
-		IInstallableUnit rootIU = MetadataFactory.createInstallableUnit(descriptor);
-		if (rootIU == null)
-			return;
-		result.addIU(rootIU, IPublisherResult.ROOT);
-	}
-
-	// there seem to be cases where the bundle infos are not filled in with symbolic name and version.
-	// fill in the missing data.
-	private BundleInfo[] fillInBundles(Collection configAdvice, IPublisherResult results) {
-		ArrayList result = new ArrayList();
-		for (Iterator j = configAdvice.iterator(); j.hasNext();) {
-			IConfigAdvice advice = (IConfigAdvice) j.next();
-
-			int defaultStart = BundleInfo.NO_LEVEL;
-			Properties adviceProperties = advice.getProperties();
-			if (adviceProperties.containsKey(DEFAULT_START_LEVEL)) {
-				try {
-					defaultStart = Integer.parseInt((String) adviceProperties.get(DEFAULT_START_LEVEL));
-				} catch (NumberFormatException e) {
-					//don't know default
-				}
-			}
-
-			BundleInfo[] bundles = advice.getBundles();
-			for (int i = 0; i < bundles.length; i++) {
-				BundleInfo bundleInfo = bundles[i];
-
-				if (bundleInfo.getStartLevel() != BundleInfo.NO_LEVEL && bundleInfo.getStartLevel() == defaultStart) {
-					bundleInfo.setStartLevel(BundleInfo.NO_LEVEL);
-				}
-
-				// prime the result with the current info.  This will be replaced if there is more info...
-				if ((bundleInfo.getSymbolicName() != null && bundleInfo.getVersion() != null) || bundleInfo.getLocation() == null)
-					result.add(bundles[i]);
-				else {
-					try {
-						File location = new File(bundleInfo.getLocation());
-						Dictionary manifest = BundlesAction.loadManifest(location);
-						if (manifest == null)
-							continue;
-						GeneratorBundleInfo newInfo = new GeneratorBundleInfo(bundleInfo);
-						ManifestElement[] element = ManifestElement.parseHeader("dummy-bsn", (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME)); //$NON-NLS-1$
-						newInfo.setSymbolicName(element[0].getValue());
-						newInfo.setVersion((String) manifest.get(Constants.BUNDLE_VERSION));
-						result.add(newInfo);
-					} catch (BundleException e) {
-						// TODO Auto-generated catch block
-						e.printStackTrace();
-					}
-				}
-			}
-		}
-		return (BundleInfo[]) result.toArray(new BundleInfo[result.size()]);
-	}
-
-	/**
-	 * Publish the IUs that capture the eclipse.ini information such as vmargs and program args, etc
-	 */
-	private void publishIniIUs(Collection launchingAdvice, IPublisherResult results, String configSpec) {
-		if (launchingAdvice.isEmpty())
-			return;
-
-		String configureData = ""; //$NON-NLS-1$
-		String unconfigureData = ""; //$NON-NLS-1$
-		if (!launchingAdvice.isEmpty()) {
-			String[] dataStrings = getLauncherConfigStrings(launchingAdvice);
-			configureData += dataStrings[0];
-			unconfigureData += dataStrings[1];
-		}
-		// if there is nothing to configure or unconfigure, then don't even bother generating this IU
-		if (configureData.length() == 0 && unconfigureData.length() == 0)
-			return;
-
-		Map touchpointData = new HashMap();
-		touchpointData.put("configure", configureData); //$NON-NLS-1$
-		touchpointData.put("unconfigure", unconfigureData); //$NON-NLS-1$
-		IInstallableUnit cu = createCU(id, version, "ini", flavor, configSpec, touchpointData); //$NON-NLS-1$
-		results.addIU(cu, IPublisherResult.ROOT);
-	}
-
-	/**
-	 * Publish the IUs that capture the config.ini information such as properties etc
-	 */
-	private void publishConfigIUs(Collection configAdvice, IPublisherResult results, String configSpec) {
-		if (configAdvice.isEmpty())
-			return;
-
-		String configureData = ""; //$NON-NLS-1$
-		String unconfigureData = ""; //$NON-NLS-1$
-		if (!configAdvice.isEmpty()) {
-			String[] dataStrings = getConfigurationStrings(configAdvice);
-			configureData += dataStrings[0];
-			unconfigureData += dataStrings[1];
-		}
-		// if there is nothing to configure or unconfigure, then don't even bother generating this IU
-		if (configureData.length() == 0 && unconfigureData.length() == 0)
-			return;
-
-		Map touchpointData = new HashMap();
-		touchpointData.put("configure", configureData); //$NON-NLS-1$
-		touchpointData.put("unconfigure", unconfigureData); //$NON-NLS-1$
-		IInstallableUnit cu = createCU(id, version, "config", flavor, configSpec, touchpointData); //$NON-NLS-1$
-		results.addIU(cu, IPublisherResult.ROOT);
-	}
-
-	/**
-	 * Create a CU whose id is flavor+id.type.configspec with the given version. 
-	 * The resultant IU has the self capability and an abstract capabilty in the flavor+id namespace
-	 * with the name id.type and the given version.  This allows others to create an abstract
-	 * dependency on having one of these things around but not having to list out the configs.
-	 */
-	private IInstallableUnit createCU(String id, Version version, String type, String flavor, String configSpec, Map touchpointData) {
-		InstallableUnitDescription cu = new InstallableUnitDescription();
-		String resultId = createCUIdString(id, type, flavor, configSpec);
-		cu.setId(resultId);
-		cu.setVersion(version);
-		cu.setFilter(createFilterSpec(configSpec));
-		IProvidedCapability selfCapability = PublisherHelper.createSelfCapability(resultId, version);
-		String namespace = getAbstractCUCapabilityNamespace(id, type, flavor, configSpec);
-		String abstractId = getAbstractCUCapabilityId(id, type, flavor, configSpec);
-		IProvidedCapability abstractCapability = MetadataFactory.createProvidedCapability(namespace, abstractId, version);
-		cu.setCapabilities(new IProvidedCapability[] {selfCapability, abstractCapability});
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cu.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI);
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	protected String[] getConfigurationStrings(Collection configAdvice) {
-		String configurationData = ""; //$NON-NLS-1$
-		String unconfigurationData = ""; //$NON-NLS-1$
-		Set properties = new HashSet();
-		for (Iterator i = configAdvice.iterator(); i.hasNext();) {
-			IConfigAdvice advice = (IConfigAdvice) i.next();
-			for (Iterator iterator = advice.getProperties().entrySet().iterator(); iterator.hasNext();) {
-				Entry aProperty = (Entry) iterator.next();
-				String key = ((String) aProperty.getKey());
-				if (shouldPublishProperty(key) && !properties.contains(key)) {
-					properties.add(key);
-					configurationData += "setProgramProperty(propName:" + key + ", propValue:" + ((String) aProperty.getValue()) + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					unconfigurationData += "setProgramProperty(propName:" + key + ", propValue:);"; //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-		return new String[] {configurationData, unconfigurationData};
-	}
-
-	private boolean shouldPublishProperty(String key) {
-		return !PROPERTIES_TO_SKIP.contains(key);
-	}
-
-	private boolean shouldPublishJvmArg(String key) {
-		return true;
-	}
-
-	private boolean shouldPublishProgramArg(String key) {
-		return !PROGRAM_ARGS_TO_SKIP.contains(key);
-	}
-
-	protected String[] getLauncherConfigStrings(Collection launchingAdvice) {
-		String configurationData = ""; //$NON-NLS-1$
-		String unconfigurationData = ""; //$NON-NLS-1$
-
-		Set jvmSet = new HashSet();
-		Set programSet = new HashSet();
-		for (Iterator j = launchingAdvice.iterator(); j.hasNext();) {
-			IExecutableAdvice advice = (IExecutableAdvice) j.next();
-			String[] jvmArgs = advice.getVMArguments();
-			for (int i = 0; i < jvmArgs.length; i++)
-				if (shouldPublishJvmArg(jvmArgs[i]) && !jvmSet.contains(jvmArgs[i])) {
-					jvmSet.add(jvmArgs[i]);
-					configurationData += "addJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-					unconfigurationData += "removeJvmArg(jvmArg:" + jvmArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			String[] programArgs = advice.getProgramArguments();
-			for (int i = 0; i < programArgs.length; i++)
-				if (shouldPublishProgramArg(programArgs[i]) && !programSet.contains(programArgs[i])) {
-					if (programArgs[i].startsWith("-")) //$NON-NLS-1$
-						programSet.add(programArgs[i]);
-					configurationData += "addProgramArg(programArg:" + programArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-					unconfigurationData += "removeProgramArg(programArg:" + programArgs[i] + ");"; //$NON-NLS-1$ //$NON-NLS-2$
-				} else if (i + 1 < programArgs.length && !programArgs[i + 1].startsWith("-")) { //$NON-NLS-1$
-					// if we are not publishing then skip over the following arg as it is assumed to be a parameter
-					// to this command line arg.
-					i++;
-				}
-		}
-		return new String[] {configurationData, unconfigurationData};
-	}
-
-	/**
-	 * Publish the CUs related to the given set of bundles.  This generally covers the start-level and 
-	 * and whether or not the bundle is to be started.
-	 */
-	protected void publishBundleCUs(IPublisherInfo publisherInfo, BundleInfo[] bundles, String configSpec, IPublisherResult result) {
-		if (bundles == null)
-			return;
-
-		String cuIdPrefix = ""; //$NON-NLS-1$
-		String filter = null;
-		if (configSpec != null) {
-			cuIdPrefix = createIdString(configSpec);
-			filter = createFilterSpec(configSpec);
-		}
-
-		for (int i = 0; i < bundles.length; i++) {
-			GeneratorBundleInfo bundle = createGeneratorBundleInfo(bundles[i], result);
-			if (bundle == null)
-				continue;
-
-			IInstallableUnit iu = bundle.getIU();
-
-			// If there is no host, or the filters don't match, skip this one.
-			if (iu == null || !filterMatches(iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter(), configSpec))
-				continue;
-
-			// TODO need to factor this out into its own action
-			if (bundle.getSymbolicName().equals(ORG_ECLIPSE_UPDATE_CONFIGURATOR)) {
-				bundle.setStartLevel(BundleInfo.NO_LEVEL);
-				bundle.setMarkedAsStarted(false);
-				bundle.setSpecialConfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);"); //$NON-NLS-1$
-				bundle.setSpecialUnconfigCommands("setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);"); //$NON-NLS-1$
-			} else if (bundle.getStartLevel() == BundleInfo.NO_LEVEL && !bundle.isMarkedAsStarted()) {
-				// this bundle does not require any particular configuration, the plug-in default IU will handle installing it
-				continue;
-			}
-
-			IInstallableUnit cu = null;
-			if (this.version != null && !this.version.equals(Version.emptyVersion))
-				cu = BundlesAction.createBundleConfigurationUnit(bundle.getSymbolicName(), this.version, false, bundle, flavor + cuIdPrefix, filter);
-			else
-				cu = BundlesAction.createBundleConfigurationUnit(bundle.getSymbolicName(), Version.parseVersion(bundle.getVersion()), false, bundle, flavor + cuIdPrefix, filter);
-
-			if (cu != null) {
-				// Product Query will run against the repo, make sure these CUs are in before then
-				// TODO review the aggressive addition to the metadata repo.  perhaps the query can query the result as well.
-				//				IMetadataRepository metadataRepository = info.getMetadataRepository();
-				//				if (metadataRepository != null) {
-				//					metadataRepository.addInstallableUnits(new IInstallableUnit[] {cu});
-				//				}
-				result.addIU(cu, IPublisherResult.ROOT);
-			}
-		}
-	}
-
-	protected GeneratorBundleInfo createGeneratorBundleInfo(BundleInfo bundleInfo, IPublisherResult result) {
-		String name = bundleInfo.getSymbolicName();
-
-		//query for a matching IU
-		IInstallableUnit iu = queryForIU(outerResults, name, Version.create(bundleInfo.getVersion()));
-		if (iu != null) {
-			if (iu.getVersion() == null)
-				bundleInfo.setVersion("0.0.0"); //$NON-NLS-1$
-			else
-				bundleInfo.setVersion(iu.getVersion().toString());
-			GeneratorBundleInfo newInfo = new GeneratorBundleInfo(bundleInfo);
-			newInfo.setIU(iu);
-			return newInfo;
-		}
-
-		if (bundleInfo.getLocation() != null || bundleInfo.getVersion() != null)
-			return new GeneratorBundleInfo(bundleInfo);
-		//harder: try id_version
-		int i = name.indexOf('_');
-		while (i > -1) {
-			try {
-				Version bundleVersion = Version.parseVersion(name.substring(i));
-				bundleInfo.setSymbolicName(name.substring(0, i));
-				bundleInfo.setVersion(bundleVersion.toString());
-				return new GeneratorBundleInfo(bundleInfo);
-			} catch (IllegalArgumentException e) {
-				// the '_' found was probably part of the symbolic id
-				i = name.indexOf('_', i);
-			}
-		}
-
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/DefaultCUsAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/DefaultCUsAction.java
deleted file mode 100644
index 30734f3..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/DefaultCUsAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.GeneratorBundleInfo;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-/**
- * Publish IUs that install/configure the standard things like bundles, features and source bundles
- */
-public class DefaultCUsAction extends AbstractPublisherAction {
-
-	private String flavor;
-	private int startLevel;
-	private boolean start;
-
-	public DefaultCUsAction(IPublisherInfo info, String flavor, int startLevel, boolean start) {
-		this.flavor = flavor;
-		this.startLevel = startLevel;
-		this.start = start;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		setPublisherInfo(publisherInfo);
-		generateDefaultConfigIU(results);
-		return Status.OK_STATUS;
-	}
-
-	protected void generateDefaultConfigIU(IPublisherResult result) {
-		//		TODO this is a bit of a hack.  We need to have the default IU fragment generated with code that configures
-		//		and unconfigures.  The Generator should be decoupled from any particular provider but it is not clear
-		//		that we should add the create* methods to IGeneratorInfo...
-		//		MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure");
-		//		MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure");
-		result.addIU(BundlesAction.createDefaultBundleConfigurationUnit(createDefaultConfigurationBundleInfo(), createDefaultUnconfigurationBundleInfo(), flavor), IPublisherResult.ROOT);
-		result.addIU(PublisherHelper.createDefaultFeatureConfigurationUnit(flavor), IPublisherResult.ROOT);
-		result.addIU(PublisherHelper.createDefaultConfigurationUnitForSourceBundles(flavor), IPublisherResult.ROOT);
-	}
-
-	protected GeneratorBundleInfo createDefaultConfigurationBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName("defaultConfigure"); //$NON-NLS-1$
-		result.setVersion("1.0.0"); //$NON-NLS-1$
-		result.setStartLevel(startLevel);
-		result.setMarkedAsStarted(start);
-		// These should just be in the install section now
-		//		result.setSpecialConfigCommands("installBundle(bundle:${artifact});");
-		return result;
-	}
-
-	protected GeneratorBundleInfo createDefaultUnconfigurationBundleInfo() {
-		GeneratorBundleInfo result = new GeneratorBundleInfo();
-		result.setSymbolicName("defaultUnconfigure"); //$NON-NLS-1$
-		result.setVersion("1.0.0"); //$NON-NLS-1$
-		// These should just be in the uninstall section now
-		//		result.setSpecialConfigCommands("uninstallBundle(bundle:${artifact});");
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EclipseInstallAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EclipseInstallAction.java
deleted file mode 100644
index bcfa72c..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EclipseInstallAction.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.*;
-
-public class EclipseInstallAction extends AbstractPublisherAction {
-	protected String source;
-	protected String id;
-	protected Version version;
-	protected String name;
-	protected String executableName;
-	protected String flavor;
-	protected IVersionedId[] topLevel;
-	protected String[] nonRootFiles;
-	protected boolean start = false;
-
-	protected EclipseInstallAction() {
-		//hidden
-	}
-
-	public EclipseInstallAction(String source, String id, Version version, String name, String executableName, String flavor, IVersionedId[] topLevel, String[] nonRootFiles, boolean start) {
-		this.source = source;
-		this.id = id;
-		this.version = version;
-		this.name = name == null ? id : name;
-		this.executableName = executableName == null ? "eclipse" : executableName; //$NON-NLS-1$
-		this.flavor = flavor;
-		this.topLevel = topLevel;
-		this.nonRootFiles = nonRootFiles;
-		this.start = start;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		monitor = SubMonitor.convert(monitor);
-		this.info = publisherInfo;
-		IPublisherAction[] actions = createActions();
-		MultiStatus finalStatus = new MultiStatus(EclipseInstallAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$
-		for (int i = 0; i < actions.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			finalStatus.merge(actions[i].perform(publisherInfo, results, monitor));
-		}
-		if (!finalStatus.isOK())
-			return finalStatus;
-		return Status.OK_STATUS;
-	}
-
-	protected IPublisherAction[] createActions() {
-		createAdvice();
-		ArrayList actions = new ArrayList();
-		// create an action that just publishes the raw bundles and features
-		IPublisherAction action = new MergeResultsAction(new IPublisherAction[] {createFeaturesAction(), createBundlesAction()}, IPublisherResult.MERGE_ALL_NON_ROOT);
-		actions.add(action);
-		actions.add(createApplicationExecutableAction(info.getConfigurations()));
-		actions.add(createRootFilesAction());
-		actions.addAll(createAccumulateConfigDataActions(info.getConfigurations()));
-		actions.add(createJREAction());
-		actions.add(createConfigCUsAction());
-		actions.add(createDefaultCUsAction());
-		actions.add(createRootIUAction());
-		return (IPublisherAction[]) actions.toArray(new IPublisherAction[actions.size()]);
-	}
-
-	private void createAdvice() {
-		createRootFilesAdvice();
-		createRootAdvice();
-	}
-
-	protected void createRootAdvice() {
-		if (topLevel != null)
-			info.addAdvice(new RootIUAdvice(getTopLevel()));
-		info.addAdvice(new RootIUResultFilterAdvice(null));
-	}
-
-	protected IPublisherAction createDefaultCUsAction() {
-		return new DefaultCUsAction(info, flavor, 4, start);
-	}
-
-	protected IPublisherAction createRootIUAction() {
-		return new RootIUAction(id, version, name);
-	}
-
-	protected Collection getTopLevel() {
-		return Arrays.asList(topLevel);
-	}
-
-	protected IPublisherAction createJREAction() {
-		return new JREAction((File) null);
-	}
-
-	protected IPublisherAction createApplicationExecutableAction(String[] configSpecs) {
-		return new ApplicationLauncherAction(id, version, flavor, executableName, getExecutablesLocation(), configSpecs);
-	}
-
-	protected Collection createAccumulateConfigDataActions(String[] configs) {
-		Collection result = new ArrayList(configs.length);
-		for (int i = 0; i < configs.length; i++) {
-			String configSpec = configs[i];
-			File configuration = computeConfigurationLocation(configSpec);
-			if (!configuration.exists())
-				configuration = null;
-			String os = AbstractPublisherAction.parseConfigSpec(configSpec)[1];
-			File executable = ExecutablesDescriptor.findExecutable(os, computeExecutableLocation(configSpec), "eclipse"); //$NON-NLS-1$
-			if (!executable.exists())
-				executable = null;
-			IPublisherAction action = new AccumulateConfigDataAction(info, configSpec, configuration, executable);
-			result.add(action);
-		}
-		return result;
-	}
-
-	protected IPublisherAction createConfigCUsAction() {
-		return new ConfigCUsAction(info, flavor, id, version);
-	}
-
-	protected IPublisherAction createFeaturesAction() {
-		return new FeaturesAction(new File[] {new File(source, "features")}); //$NON-NLS-1$
-	}
-
-	protected Collection createExecutablesActions(String[] configSpecs) {
-		Collection result = new ArrayList(configSpecs.length);
-		for (int i = 0; i < configSpecs.length; i++) {
-			ExecutablesDescriptor executables = computeExecutables(configSpecs[i]);
-			IPublisherAction action = new EquinoxExecutableAction(executables, configSpecs[i], id, version, flavor);
-			result.add(action);
-		}
-		return result;
-	}
-
-	protected IPublisherAction createRootFilesAction() {
-		return new RootFilesAction(info, id, version, flavor);
-	}
-
-	protected void createRootFilesAdvice() {
-		File[] baseExclusions = computeRootFileExclusions();
-		if (baseExclusions != null)
-			info.addAdvice(new RootFilesAdvice(null, null, baseExclusions, null));
-		String[] configs = info.getConfigurations();
-		for (int i = 0; i < configs.length; i++)
-			info.addAdvice(computeRootFileAdvice(configs[i]));
-	}
-
-	protected IPublisherAdvice computeRootFileAdvice(String configSpec) {
-		File root = computeRootFileRoot(configSpec);
-		File[] inclusions = computeRootFileInclusions(configSpec);
-		File[] exclusions = computeRootFileExclusions(configSpec);
-		return new RootFilesAdvice(root, inclusions, exclusions, configSpec);
-	}
-
-	protected File[] computeRootFileExclusions(String configSpec) {
-		ExecutablesDescriptor executables = computeExecutables(configSpec);
-		File[] files = executables.getFiles();
-		File[] result = new File[files.length + 1];
-		System.arraycopy(files, 0, result, 0, files.length);
-		result[files.length] = executables.getIniLocation();
-		return result;
-	}
-
-	protected File[] computeRootFileExclusions() {
-		if (nonRootFiles == null || nonRootFiles.length == 0)
-			return null;
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < nonRootFiles.length; i++) {
-			String filename = nonRootFiles[i];
-			File file = new File(filename);
-			if (file.isAbsolute())
-				result.add(file);
-			else
-				result.add(new File(source, filename));
-		}
-		return (File[]) result.toArray(new File[result.size()]);
-	}
-
-	protected ExecutablesDescriptor computeExecutables(String configSpec) {
-		String os = AbstractPublisherAction.parseConfigSpec(configSpec)[1];
-		// TODO here we should not assume that the executable is called "eclipse"
-		return ExecutablesDescriptor.createDescriptor(os, "eclipse", computeExecutableLocation(configSpec)); //$NON-NLS-1$
-	}
-
-	protected File computeRootFileRoot(String configSpec) {
-		return new File(source);
-	}
-
-	protected File[] computeRootFileInclusions(String configSpec) {
-		return new File[] {new File(source)};
-	}
-
-	protected File computeExecutableLocation(String configSpec) {
-		return new File(source);
-	}
-
-	protected File getExecutablesLocation() {
-		return new File(source);
-	}
-
-	protected File computeConfigurationLocation(String configSpec) {
-		return new File(source, "configuration/config.ini"); //$NON-NLS-1$
-	}
-
-	protected IPublisherAction createBundlesAction() {
-		// TODO need to add in the simple configorator and reconciler bundle descriptions.
-		// TODO bundles action needs to take bundleDescriptions directly rather than just files.
-		return new BundlesAction(new File[] {new File(source, "plugins")}); //$NON-NLS-1$
-	}
-
-	//TODO reconsitute these methods
-	//	private GeneratorBundleInfo createSimpleConfiguratorBundleInfo() {
-	//		GeneratorBundleInfo result = new GeneratorBundleInfo();
-	//		result.setSymbolicName(ORG_ECLIPSE_EQUINOX_SIMPLECONFIGURATOR);
-	//		result.setVersion("0.0.0"); //$NON-NLS-1$
-	//		result.setStartLevel(1);
-	//		result.setMarkedAsStarted(true);
-	//		return result;
-	//	}
-	//
-	//	private GeneratorBundleInfo createDropinsReconcilerBundleInfo() {
-	//		GeneratorBundleInfo result = new GeneratorBundleInfo();
-	//		result.setSymbolicName(ORG_ECLIPSE_EQUINOX_P2_RECONCILER_DROPINS);
-	//		result.setVersion("0.0.0"); //$NON-NLS-1$
-	//		result.setMarkedAsStarted(true);
-	//		result.setSpecialConfigCommands("mkdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
-	//		result.setSpecialUnconfigCommands("rmdir(path:${installFolder}/dropins)"); //$NON-NLS-1$
-	//		return result;
-	//	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
deleted file mode 100644
index 4407ba6..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.BrandingIron;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.environment.Constants;
-
-/**
- * Given the description of an executable, this action publishes optionally 
- * non-destructively brands the executable, publishes the resultant artifacts
- * and publishes the required IUs to identify the branded executable, configure
- * the executable and set it up as the launcher for a profile.
- * <p>
- * This action works on one platform configuration only.
- * <p>
- * This action consults the following types of advice:
- * </ul>
- * <li>{@link IBrandingAdvice}</li>
- * </ul>
- */
-public class EquinoxExecutableAction extends AbstractPublisherAction {
-	private static String TYPE = "executable"; //$NON-NLS-1$
-
-	protected String configSpec;
-	protected String idBase;
-	protected Version version;
-	protected ExecutablesDescriptor executables;
-	protected String flavor;
-
-	protected EquinoxExecutableAction() {
-		//hidden
-	}
-
-	public EquinoxExecutableAction(ExecutablesDescriptor executables, String configSpec, String idBase, Version version, String flavor) {
-		this.executables = executables;
-		this.configSpec = configSpec;
-		this.idBase = idBase == null ? "org.eclipse" : idBase; //$NON-NLS-1$
-		this.version = version;
-		this.flavor = flavor;
-	}
-
-	public IStatus perform(IPublisherInfo publisherinfo, IPublisherResult result, IProgressMonitor monitor) {
-		setPublisherInfo(publisherinfo);
-		ExecutablesDescriptor brandedExecutables = brandExecutables(executables);
-		try {
-			publishExecutableIU(brandedExecutables, result);
-			publishExecutableCU(brandedExecutables, result);
-			publishExecutableSetter(brandedExecutables, result);
-		} finally {
-			if (brandedExecutables.isTemporary())
-				FileUtils.deleteAll(brandedExecutables.getLocation());
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Publishes the IUs that cause the executable to be actually set as the launcher for 
-	 * the profile
-	 */
-	private void publishExecutableSetter(ExecutablesDescriptor brandedExecutables, IPublisherResult result) {
-		InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		String executableName = brandedExecutables.getExecutableName();
-		String id = getExecutableId() + '.' + executableName;
-		iud.setId(id);
-		iud.setVersion(version);
-		iud.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI);
-		iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)});
-
-		String filter = createFilterSpec(configSpec);
-		if (filter.length() > 0)
-			iud.setFilter(filter);
-		Map touchpointData = new HashMap();
-		touchpointData.put("configure", "setLauncherName(name:" + executableName + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		touchpointData.put("unconfigure", "setLauncherName()"); //$NON-NLS-1$ //$NON-NLS-2$
-		iud.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		result.addIU(MetadataFactory.createInstallableUnit(iud), IPublisherResult.ROOT);
-	}
-
-	/**
-	 * Publishes IUs and CUs for the files that make up the launcher for a given
-	 * ws/os/arch combination.
-	 */
-	protected void publishExecutableIU(ExecutablesDescriptor execDescriptor, IPublisherResult result) {
-		// Create the IU for the executable
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		String id = getExecutableId();
-		iu.setId(id);
-		iu.setVersion(version);
-		String filter = createFilterSpec(configSpec);
-		iu.setFilter(filter);
-		iu.setSingleton(true);
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		String namespace = ConfigCUsAction.getAbstractCUCapabilityNamespace(idBase, TYPE, flavor, configSpec);
-		String capabilityId = ConfigCUsAction.getAbstractCUCapabilityId(idBase, TYPE, flavor, configSpec);
-		IProvidedCapability executableCapability = MetadataFactory.createProvidedCapability(namespace, capabilityId, version);
-		IProvidedCapability selfCapability = createSelfCapability(id, version);
-		iu.setCapabilities(new IProvidedCapability[] {selfCapability, executableCapability});
-
-		//Create the artifact descriptor.  we have several files so no path on disk
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey(id, version);
-		iu.setArtifacts(new IArtifactKey[] {key});
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(info.getArtifactRepository(), key, null);
-		publishArtifact(descriptor, execDescriptor.getFiles(), null, info, createRootPrefixComputer(execDescriptor.getLocation()));
-		if (execDescriptor.isTemporary())
-			FileUtils.deleteAll(execDescriptor.getLocation());
-
-		// setup a requirement between the executable and the launcher fragment that has the shared library
-		String[] config = parseConfigSpec(configSpec);
-		String ws = config[0];
-		String os = config[1];
-		String arch = config[2];
-		String launcherFragment = EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + ws + '.' + os;
-		if (!(Constants.OS_MACOSX.equals(os) && !Constants.ARCH_X86_64.equals(arch)))
-			launcherFragment += '.' + arch;
-		iu.setRequiredCapabilities(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)});
-		result.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT);
-	}
-
-	private String getExecutableId() {
-		return createCUIdString(idBase, TYPE, "", configSpec); //$NON-NLS-1$
-	}
-
-	// Create the CU that installs (e.g., unzips) the executable
-	private void publishExecutableCU(ExecutablesDescriptor execDescriptor, IPublisherResult result) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String id = createCUIdString(idBase, TYPE, flavor, configSpec);
-		cu.setId(id);
-		cu.setVersion(version);
-		cu.setFilter(createFilterSpec(configSpec));
-		String executableId = getExecutableId();
-		cu.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, executableId, new VersionRange(version, true, version, true), null, false, false)});
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		//TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now.
-		cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)});
-		cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		String[] config = parseConfigSpec(configSpec);
-		String os = config[1];
-		Map touchpointData = computeInstallActions(execDescriptor, os);
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		IInstallableUnit unit = MetadataFactory.createInstallableUnit(cu);
-		result.addIU(unit, IPublisherResult.ROOT);
-	}
-
-	private Map computeInstallActions(ExecutablesDescriptor execDescriptor, String os) {
-		Map touchpointData = new HashMap();
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		if (Constants.OS_MACOSX.equals(os)) {
-			String execName = execDescriptor.getExecutableName();
-			configurationData += " chmod(targetDir:${installFolder}/" + execName + ".app/Contents/MacOS/, targetFile:" + execName + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} else if (!Constants.OS_WIN32.equals(os)) {
-			// We are on linux/unix.  by default set all of the files to be executable.
-			File[] fileList = execDescriptor.getFiles();
-			for (int i = 0; i < fileList.length; i++)
-				configurationData += " chmod(targetDir:${installFolder}, targetFile:" + fileList[i].getName() + ", permissions:755);"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		return touchpointData;
-	}
-
-	/**
-	 * Brands a copy of the given executable descriptor with the information in the 
-	 * current product definition.  The files described in the descriptor are also copied
-	 * to a temporary location to avoid destructive modification.
-	 * 
-	 * @param descriptor the executable descriptor to brand.
-	 * @return the new descriptor
-	 */
-	protected ExecutablesDescriptor brandExecutables(ExecutablesDescriptor descriptor) {
-		ExecutablesDescriptor result = new ExecutablesDescriptor(descriptor);
-		result.makeTemporaryCopy();
-		IBrandingAdvice advice = getBrandingAdvice();
-		if (advice == null)
-			partialBrandExecutables(result);
-		else
-			fullBrandExecutables(result, advice);
-		return result;
-	}
-
-	private IBrandingAdvice getBrandingAdvice() {
-		// there is expected to only be one branding advice for a given configspec so
-		// just return the first one we find.
-		Collection advice = info.getAdvice(configSpec, true, null, null, IBrandingAdvice.class);
-		for (Iterator i = advice.iterator(); i.hasNext();)
-			return (IBrandingAdvice) i.next();
-		return null;
-	}
-
-	protected void fullBrandExecutables(ExecutablesDescriptor descriptor, IBrandingAdvice advice) {
-		BrandingIron iron = new BrandingIron();
-		iron.setIcons(advice.getIcons());
-		String name = advice.getExecutableName();
-		if (name == null)
-			name = "eclipse"; //$NON-NLS-1$
-		iron.setName(name);
-		iron.setOS(advice.getOS());
-		iron.setRoot(descriptor.getLocation().getAbsolutePath());
-		try {
-			iron.brand();
-			descriptor.setExecutableName(name, true);
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	protected void partialBrandExecutables(ExecutablesDescriptor descriptor) {
-		File[] list = descriptor.getFiles();
-		for (int i = 0; i < list.length; i++)
-			mungeExecutableFileName(list[i], descriptor);
-		descriptor.setExecutableName("eclipse", true); //$NON-NLS-1$
-	}
-
-	// TODO This method is a temporary hack to rename the launcher.exe files
-	// to eclipse.exe (or "launcher" to "eclipse"). Eventually we will either hand-craft
-	// metadata/artifacts for launchers, or alter the delta pack to contain eclipse-branded
-	// launchers.
-	private void mungeExecutableFileName(File file, ExecutablesDescriptor descriptor) {
-		if (file.getName().equals("launcher")) { //$NON-NLS-1$
-			File newFile = new File(file.getParentFile(), "eclipse"); //$NON-NLS-1$
-			file.renameTo(newFile);
-			descriptor.replace(file, newFile);
-		} else if (file.getName().equals("launcher.exe")) { //$NON-NLS-1$
-			File newFile = new File(file.getParentFile(), "eclipse.exe"); //$NON-NLS-1$
-			file.renameTo(newFile);
-			descriptor.replace(file, newFile);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxLauncherCUAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxLauncherCUAction.java
deleted file mode 100644
index 6c8e97e..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxLauncherCUAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.util.Collection;
-import java.util.Iterator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.GeneratorBundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.IVersionAdvice;
-
-/**
- * Create CUs for all Equinox launcher related IUs for the given set of configurations
- * such that the launcher is configured as the startup code and the fragments
- * are configured as the launcher.library.  
- * <p>
- * This action expects to have find the versions of the launcher and launcher fragments
- * via IVersionAdvice in the supplied info object.
- * </p>
- */
-public class EquinoxLauncherCUAction extends AbstractPublisherAction {
-
-	public static final String ORG_ECLIPSE_EQUINOX_LAUNCHER = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-
-	private String flavor;
-	private String[] configSpecs;
-
-	public EquinoxLauncherCUAction(String flavor, String[] configSpecs) {
-		this.flavor = flavor;
-		this.configSpecs = configSpecs;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		setPublisherInfo(publisherInfo);
-		publishCU(ORG_ECLIPSE_EQUINOX_LAUNCHER, null, results);
-		publishLauncherFragmentCUs(results);
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * For each of the configurations we are publishing, create a launcher fragment
-	 * CU if there is version advice for the fragment.
-	 */
-	private void publishLauncherFragmentCUs(IPublisherResult results) {
-		for (int i = 0; i < configSpecs.length; i++) {
-			String configSpec = configSpecs[i];
-			String id = ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + configSpec;
-			publishCU(id, configSpec, results);
-		}
-	}
-
-	/**
-	 * Publish a CU for the IU of the given id in the given config spec.  If the IU is the 
-	 * launcher bundle iu then set it up as the startup JAR.  If it is a launcher fragment then 
-	 * configure it in as the launcher.library for this configuration.
-	 */
-	private void publishCU(String id, String configSpec, IPublisherResult results) {
-		Collection advice = info.getAdvice(configSpec, true, id, null, IVersionAdvice.class);
-		for (Iterator j = advice.iterator(); j.hasNext();) {
-			IVersionAdvice versionSpec = (IVersionAdvice) j.next();
-			Version version = versionSpec.getVersion(IInstallableUnit.NAMESPACE_IU_ID, id);
-			if (version == null)
-				continue;
-			GeneratorBundleInfo bundle = new GeneratorBundleInfo();
-			bundle.setSymbolicName(id);
-			bundle.setVersion(version.toString());
-			if (id.equals(ORG_ECLIPSE_EQUINOX_LAUNCHER)) {
-				bundle.setSpecialConfigCommands("addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-				bundle.setSpecialUnconfigCommands("removeProgramArg(programArg:-startup);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-			} else {
-				bundle.setSpecialConfigCommands("addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-				bundle.setSpecialUnconfigCommands("removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);"); //$NON-NLS-1$
-			}
-			String filter = configSpec == null ? null : createFilterSpec(configSpec);
-			IInstallableUnit cu = BundlesAction.createBundleConfigurationUnit(id, version, false, bundle, flavor, filter);
-			if (cu != null)
-				results.addIU(cu, IPublisherResult.ROOT);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/Feature.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/Feature.java
deleted file mode 100644
index 8445050..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/Feature.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-/**
- * 
- * Feature information
- */
-public class Feature {
-
-	private final String id;
-	private String version;
-	private String label;
-	private String image;
-	private String pluginId;
-	private boolean primary = false;
-	private boolean exclusive = false;
-	private String application;
-	private String colocationAffinity;
-
-	private URLEntry description;
-	private URLEntry license;
-	private URLEntry copyright;
-
-	private String installHandler;
-	private String installHandlerURL;
-	private String installHandlerLibrary;
-
-	private URLEntry updateSite;
-	private ArrayList discoverySites;
-
-	private ArrayList entries;
-	private String providerName;
-	private String os;
-	private String ws;
-	private String arch;
-	private String nl;
-
-	private String location;
-
-	private Map localizations;
-
-	public Feature(String id, String version) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		this.id = id;
-		this.version = version;
-	}
-
-	public void addDiscoverySite(String siteLabel, String url) {
-		if (siteLabel == null && url == null)
-			return;
-
-		if (this.discoverySites == null)
-			this.discoverySites = new ArrayList();
-
-		URLEntry entry = new URLEntry(url, siteLabel);
-		this.discoverySites.add(entry);
-	}
-
-	public void addEntry(FeatureEntry plugin) {
-		if (entries == null)
-			entries = new ArrayList();
-		entries.add(plugin);
-	}
-
-	public String getApplication() {
-		return application;
-	}
-
-	public String getArch() {
-		return arch;
-	}
-
-	public String getColocationAffinity() {
-		return colocationAffinity;
-	}
-
-	public String getCopyright() {
-		if (copyright != null)
-			return copyright.getAnnotation();
-		return null;
-	}
-
-	public String getCopyrightURL() {
-		if (copyright != null)
-			return copyright.getURL();
-		return null;
-	}
-
-	public String getDescription() {
-		if (description != null)
-			return description.getAnnotation();
-		return null;
-	}
-
-	public String getDescriptionURL() {
-		if (description != null)
-			return description.getURL();
-		return null;
-	}
-
-	public URLEntry[] getDiscoverySites() {
-		if (discoverySites == null)
-			return new URLEntry[0];
-		return (URLEntry[]) discoverySites.toArray(new URLEntry[discoverySites.size()]);
-	}
-
-	public FeatureEntry[] getEntries() {
-		if (entries == null)
-			return new FeatureEntry[0];
-		return (FeatureEntry[]) entries.toArray(new FeatureEntry[entries.size()]);
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getImage() {
-		return image;
-	}
-
-	public String getInstallHandler() {
-		return installHandler;
-	}
-
-	public String getInstallHandlerLibrary() {
-		return installHandlerLibrary;
-	}
-
-	public String getInstallHandlerURL() {
-		return installHandlerURL;
-	}
-
-	public String getLabel() {
-		return label;
-	}
-
-	public String getLicense() {
-		if (license != null)
-			return license.getAnnotation();
-		return null;
-	}
-
-	public String getLicenseURL() {
-		if (license != null)
-			return license.getURL();
-		return null;
-	}
-
-	public Map getLocalizations() {
-		return this.localizations;
-	}
-
-	public String getLocation() {
-		return this.location;
-	}
-
-	public String getNL() {
-		return nl;
-	}
-
-	public String getOS() {
-		return os;
-	}
-
-	public String getPlugin() {
-		return pluginId;
-	}
-
-	public String getProviderName() {
-		return providerName;
-	}
-
-	public URLEntry getUpdateSite() {
-		return updateSite;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String getWS() {
-		return ws;
-	}
-
-	public boolean isExclusive() {
-		return exclusive;
-	}
-
-	public boolean isPrimary() {
-		return primary;
-	}
-
-	public void setApplication(String application) {
-		this.application = application;
-	}
-
-	public void setColocationAffinity(String colocationAffinity) {
-		this.colocationAffinity = colocationAffinity;
-	}
-
-	public void setCopyright(String copyright) {
-		if (this.copyright == null)
-			this.copyright = new URLEntry();
-		this.copyright.setAnnotation(copyright);
-	}
-
-	public void setCopyrightURL(String copyrightURL) {
-		if (this.copyright == null)
-			this.copyright = new URLEntry();
-		this.copyright.setURL(copyrightURL);
-	}
-
-	public void setDescription(String description) {
-		if (this.description == null)
-			this.description = new URLEntry();
-		this.description.setAnnotation(description);
-	}
-
-	public void setDescriptionURL(String descriptionURL) {
-		if (this.description == null)
-			this.description = new URLEntry();
-		this.description.setURL(descriptionURL);
-	}
-
-	public void setEnvironment(String os, String ws, String arch, String nl) {
-		this.os = os;
-		this.ws = ws;
-		this.arch = arch;
-		this.nl = nl;
-	}
-
-	public void setExclusive(boolean exclusive) {
-		this.exclusive = exclusive;
-	}
-
-	public void setImage(String image) {
-		this.image = image;
-	}
-
-	public void setInstallHandler(String installHandler) {
-		this.installHandler = installHandler;
-	}
-
-	public void setInstallHandlerLibrary(String installHandlerLibrary) {
-		this.installHandlerLibrary = installHandlerLibrary;
-	}
-
-	public void setInstallHandlerURL(String installHandlerURL) {
-		this.installHandlerURL = installHandlerURL;
-	}
-
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	public void setLicense(String license) {
-		if (this.license == null)
-			this.license = new URLEntry();
-		this.license.setAnnotation(license);
-	}
-
-	public void setLicenseURL(String licenseURL) {
-		if (this.license == null)
-			this.license = new URLEntry();
-		this.license.setURL(licenseURL);
-	}
-
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-	}
-
-	public void setLocation(String location) {
-		this.location = location;
-	}
-
-	public void setPlugin(String pluginId) {
-		this.pluginId = pluginId;
-	}
-
-	public void setPrimary(boolean primary) {
-		this.primary = primary;
-	}
-
-	public void setProviderName(String value) {
-		providerName = value;
-	}
-
-	public void setUpdateSiteLabel(String updateSiteLabel) {
-		if (this.updateSite == null)
-			this.updateSite = new URLEntry();
-		this.updateSite.setAnnotation(updateSiteLabel);
-	}
-
-	public void setUpdateSiteURL(String updateSiteURL) {
-		if (this.updateSite == null)
-			this.updateSite = new URLEntry();
-		this.updateSite.setURL(updateSiteURL);
-	}
-
-	public void setURL(String value) {
-		//
-	}
-
-	public void setVersion(String version) {
-		this.version = version;
-	}
-
-	/**
-	 * For debugging purposes only.
-	 */
-	public String toString() {
-		return "Feature " + id + " version: " + version; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeatureEntry.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeatureEntry.java
deleted file mode 100644
index 48e8f54..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeatureEntry.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- */
-public class FeatureEntry {
-	private final String id;
-	private String version;
-	private String url;
-	private String os;
-	private String ws;
-	private String arch;
-	private String nl;
-	private String match;
-	private final boolean isPlugin;
-	private boolean isFragment = false;
-	private boolean isRequires = false;
-	private boolean unpack = true;
-	private boolean optional = false;
-	private boolean isPatch = false;
-
-	/**
-	 * Temporary field to add provisioning filters to features
-	 */
-	private String filter;
-
-	public static FeatureEntry createRequires(String id, String version, String match, String filter, boolean isPlugin) {
-		FeatureEntry result = new FeatureEntry(id, version, isPlugin);
-		result.match = match;
-		result.isRequires = true;
-		// for requires we don't care what the form is so leave it as false (JAR'd)
-		result.unpack = false;
-		if (filter != null)
-			result.setFilter(filter);
-		return result;
-	}
-
-	public FeatureEntry(String id, String version, boolean isPlugin) {
-		this.id = id;
-		this.version = Version.parseVersion(version).toString();
-		this.isPlugin = isPlugin;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		final FeatureEntry other = (FeatureEntry) obj;
-		if (id == null) {
-			if (other.id != null)
-				return false;
-		} else if (!id.equals(other.id))
-			return false;
-		if (version == null) {
-			if (other.version != null)
-				return false;
-		} else if (!version.equals(other.version))
-			return false;
-		return true;
-	}
-
-	public String getArch() {
-		return arch;
-	}
-
-	/**
-	 * Temporary method to add provisioning filters to features
-	 */
-	public String getFilter() {
-		return filter;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getMatch() {
-		return match;
-	}
-
-	public String getNL() {
-		return nl;
-	}
-
-	public String getOS() {
-		return os;
-	}
-
-	public String getURL() {
-		return url;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String getWS() {
-		return ws;
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((id == null) ? 0 : id.hashCode());
-		result = prime * result + ((version == null) ? 0 : version.hashCode());
-		return result;
-	}
-
-	public boolean isFragment() {
-		return isFragment;
-	}
-
-	public boolean isOptional() {
-		return optional;
-	}
-
-	public boolean isPlugin() {
-		return isPlugin;
-	}
-
-	public boolean isRequires() {
-		return isRequires;
-	}
-
-	public boolean isUnpack() {
-		return unpack;
-	}
-
-	public void setEnvironment(String os, String ws, String arch, String nl) {
-		this.os = os;
-		this.ws = ws;
-		this.arch = arch;
-		this.nl = nl;
-	}
-
-	/**
-	 * Temporary method to add provisioning filters to features
-	 */
-	public void setFilter(String filter) {
-		this.filter = filter;
-
-	}
-
-	public void setFragment(boolean value) {
-		isFragment = value;
-	}
-
-	public void setOptional(boolean value) {
-		optional = value;
-	}
-
-	public void setUnpack(boolean value) {
-		unpack = value;
-	}
-
-	public void setURL(String value) {
-		url = value;
-	}
-
-	public void setVersion(String value) {
-		version = Version.parseVersion(value).toString();
-	}
-
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-
-		result.append(isPlugin ? "Plugin: " : "Feature: "); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(id != null ? id.toString() : ""); //$NON-NLS-1$
-		result.append(version != null ? " " + version.toString() : ""); //$NON-NLS-1$ //$NON-NLS-2$
-		return result.toString();
-	}
-
-	public boolean isPatch() {
-		return isPatch;
-	}
-
-	public void setPatch(boolean patch) {
-		this.isPatch = patch;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
deleted file mode 100644
index a191709..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
+++ /dev/null
@@ -1,657 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 Code 9 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:
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitPatchDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.IFeatureRootAdvice;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Publish IUs for all of the features in the given set of locations.  The locations can
- * be actual locations of the features or folders of features.
- */
-public class FeaturesAction extends AbstractPublisherAction {
-	public static final String INSTALL_FEATURES_FILTER = "(org.eclipse.update.install.features=true)"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_EXCLUSIVE_PROP = "org.eclipse.update.feature.exclusive"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
-	protected Feature[] features;
-	private File[] locations;
-
-	public static IArtifactKey createFeatureArtifactKey(String id, String version) {
-		return new ArtifactKey(PublisherHelper.ECLIPSE_FEATURE_CLASSIFIER, id, Version.parseVersion(version));
-	}
-
-	public static IInstallableUnit createFeatureJarIU(Feature feature, IPublisherInfo info) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/false);
-		iu.setId(id);
-		Version version = Version.parseVersion(feature.getVersion());
-		iu.setVersion(version);
-
-		// set properties for other feature attributes
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		if (feature.getApplication() != null)
-			iu.setProperty(UPDATE_FEATURE_APPLICATION_PROP, feature.getApplication());
-		if (feature.getPlugin() != null)
-			iu.setProperty(UPDATE_FEATURE_PLUGIN_PROP, feature.getPlugin());
-		if (feature.isExclusive())
-			iu.setProperty(UPDATE_FEATURE_EXCLUSIVE_PROP, Boolean.TRUE.toString());
-		if (feature.isPrimary())
-			iu.setProperty(UPDATE_FEATURE_PRIMARY_PROP, Boolean.TRUE.toString());
-
-		// The required capabilities are not specified at this level because we don't want the feature jar to be attractive to install.
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI);
-		iu.setFilter(INSTALL_FEATURES_FILTER);
-		iu.setSingleton(true);
-
-		if (feature.getInstallHandler() != null && feature.getInstallHandler().trim().length() > 0) {
-			String installHandlerProperty = "handler=" + feature.getInstallHandler(); //$NON-NLS-1$
-
-			if (feature.getInstallHandlerLibrary() != null)
-				installHandlerProperty += ", library=" + feature.getInstallHandlerLibrary(); //$NON-NLS-1$
-
-			if (feature.getInstallHandlerURL() != null)
-				installHandlerProperty += ", url=" + feature.getInstallHandlerURL(); //$NON-NLS-1$
-
-			iu.setProperty(PublisherHelper.ECLIPSE_INSTALL_HANDLER_PROP, installHandlerProperty);
-		}
-
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(PublisherHelper.createSelfCapability(id, version));
-		providedCapabilities.add(PublisherHelper.FEATURE_CAPABILITY);
-		providedCapabilities.add(MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version));
-
-		iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version), PublisherHelper.FEATURE_CAPABILITY, MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)});
-		iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())});
-
-		Map touchpointData = new HashMap();
-		touchpointData.put("zipped", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(PublisherHelper.makeTranslationCapability(id, locale));
-			}
-		}
-
-		processInstallableUnitPropertiesAdvice(iu, info);
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	private static String getTransformedId(String original, boolean isPlugin, boolean isGroup) {
-		return (isPlugin ? original : original + (isGroup ? ".feature.group" : ".feature.jar")); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	/**
-	 * Returns a URI corresponding to the given URL in string form, or null
-	 * if a well formed URI could not be created.
-	 */
-	private static URI toURIOrNull(String url) {
-		if (url == null)
-			return null;
-		try {
-			return URIUtil.fromString(url);
-		} catch (URISyntaxException e) {
-			return null;
-		}
-	}
-
-	public FeaturesAction(Feature[] features) {
-		this.features = features;
-	}
-
-	public FeaturesAction(File[] locations) {
-		this.locations = locations;
-	}
-
-	/**
-	 * Looks for advice in a p2.inf file inside the feature location.
-	 */
-	private void createAdviceFileAdvice(Feature feature, IPublisherInfo publisherInfo) {
-		//assume p2.inf is co-located with feature.xml
-		String location = feature.getLocation();
-		if (location != null) {
-			String groupId = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/true);
-			AdviceFileAdvice advice = new AdviceFileAdvice(groupId, Version.parseVersion(feature.getVersion()), new Path(location), new Path("p2.inf")); //$NON-NLS-1$
-			if (advice.containsAdvice())
-				publisherInfo.addAdvice(advice);
-		}
-	}
-
-	/**
-	 * Gather any advice we can from the given feature.  In particular, it may have
-	 * information about the shape of the bundles it includes.  The discovered advice is
-	 * added to the given result.
-	 * @param feature the feature to process
-	 * @param publisherInfo the publishing info to update
-	 */
-	private void createBundleShapeAdvice(Feature feature, IPublisherInfo publisherInfo) {
-		FeatureEntry entries[] = feature.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			FeatureEntry entry = entries[i];
-			if (entry.isUnpack() && entry.isPlugin() && !entry.isRequires())
-				publisherInfo.addAdvice(new BundleShapeAdvice(entry.getId(), Version.parseVersion(entry.getVersion()), IBundleShapeAdvice.DIR));
-		}
-	}
-
-	protected IInstallableUnit createFeatureRootFileIU(String featureId, String featureVersion, File location, FileSetDescriptor descriptor) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setSingleton(true);
-		String id = featureId + '_' + descriptor.getKey();
-		iu.setId(id);
-		Version version = Version.parseVersion(featureVersion);
-		iu.setVersion(version);
-		iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)});
-		iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		String configSpec = descriptor.getConfigSpec();
-		if (configSpec != null && configSpec.length() > 0)
-			iu.setFilter(createFilterSpec(configSpec));
-
-		Map touchpointData = new HashMap(2);
-		String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("install", configurationData); //$NON-NLS-1$
-		String unConfigurationData = "cleanupzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$
-		touchpointData.put("uninstall", unConfigurationData); //$NON-NLS-1$
-		iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		// prime the IU with an artifact key that will correspond to the zipped up root files.
-		IArtifactKey key = new ArtifactKey(PublisherHelper.BINARY_ARTIFACT_CLASSIFIER, iu.getId(), iu.getVersion());
-		iu.setArtifacts(new IArtifactKey[] {key});
-		setupLinks(iu, descriptor);
-		setupPermissions(iu, descriptor);
-
-		IInstallableUnit iuResult = MetadataFactory.createInstallableUnit(iu);
-		// need to return both the iu and any files.
-		return iuResult;
-	}
-
-	protected IInstallableUnit createGroupIU(Feature feature, List childIUs, IPublisherInfo publisherInfo) {
-		if (isPatch(feature))
-			return createPatchIU(feature, childIUs, publisherInfo);
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		String id = getGroupId(feature.getId());
-		iu.setId(id);
-		Version version = Version.fromOSGiVersion(new org.osgi.framework.Version(feature.getVersion()));
-		iu.setVersion(version);
-
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, BundlesAction.computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null));
-
-		FeatureEntry entries[] = feature.getEntries();
-		List required = new ArrayList(entries.length + (childIUs == null ? 0 : childIUs.size()));
-		for (int i = 0; i < entries.length; i++) {
-			VersionRange range = getVersionRange(entries[i]);
-			String requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true);
-			required.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredId, range, getFilter(entries[i]), entries[i].isOptional(), false));
-		}
-
-		// link in all the children (if any) as requirements.
-		// TODO consider if these should be linked as exact version numbers.  Should be ok but may be brittle.
-		if (childIUs != null) {
-			for (int i = 0; i < childIUs.size(); i++) {
-				IInstallableUnit child = (IInstallableUnit) childIUs.get(i);
-				String filter = (child.getFilter() instanceof LDAPQuery) ? ((LDAPQuery) child.getFilter()).getFilter() : null;
-				required.add(MetadataFactory.createRequiredCapability(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), filter, false, false));
-			}
-		}
-		iu.setRequiredCapabilities((IRequirement[]) required.toArray(new IRequirement[required.size()]));
-		iu.setTouchpointType(ITouchpointType.NONE);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		processTouchpointAdvice(iu, null, publisherInfo);
-		processInstallableUnitPropertiesAdvice(iu, publisherInfo);
-
-		//Create a fake entry to reuse the logic to create the filters
-		FeatureEntry entry = new FeatureEntry("fake", "0.0.0", false); //$NON-NLS-1$ //$NON-NLS-2$
-		entry.setEnvironment(feature.getOS(), feature.getWS(), feature.getArch(), feature.getNL());
-		String filter = getFilter(entry);
-		if (filter != null)
-			iu.setFilter(filter);
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(id, version));
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(PublisherHelper.makeTranslationCapability(id, locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-		processCapabilityAdvice(iu, publisherInfo);
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	protected String getGroupId(String featureId) {
-		return getTransformedId(featureId, /*isPlugin*/false, /*isGroup*/true);
-	}
-
-	private IInstallableUnit createPatchIU(Feature feature, List childIUs, IPublisherInfo publisherInfo) {
-		InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
-		String id = getTransformedId(feature.getId(), /*isPlugin*/false, /*isGroup*/true);
-		iu.setId(id);
-		Version version = Version.parseVersion(feature.getVersion());
-		iu.setVersion(version);
-		iu.setProperty(IInstallableUnit.PROP_NAME, feature.getLabel());
-		if (feature.getDescription() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION, feature.getDescription());
-		if (feature.getDescriptionURL() != null)
-			iu.setProperty(IInstallableUnit.PROP_DESCRIPTION_URL, feature.getDescriptionURL());
-		if (feature.getProviderName() != null)
-			iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName());
-		if (feature.getLicense() != null)
-			iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())});
-		if (feature.getCopyright() != null)
-			iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright()));
-		iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, BundlesAction.computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null));
-
-		FeatureEntry entries[] = feature.getEntries();
-		ArrayList applicabilityScope = new ArrayList();
-		ArrayList patchRequirements = new ArrayList();
-		ArrayList requirementChanges = new ArrayList();
-		for (int i = 0; i < entries.length; i++) {
-			VersionRange range = getVersionRange(entries[i]);
-			IRequirement req = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false);
-			if (entries[i].isRequires()) {
-				applicabilityScope.add(req);
-				if (applicabilityScope.size() == 1) {
-					iu.setLifeCycle(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, null, false, false, false));
-				}
-				continue;
-			}
-			if (entries[i].isPlugin()) {
-				IRequirement from = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false);
-				requirementChanges.add(MetadataFactory.createRequirementChange(from, req));
-				continue;
-			}
-			patchRequirements.add(req);
-		}
-
-		//Always add a requirement on the IU containing the feature jar
-		if (childIUs != null) {
-			for (int i = 0; i < childIUs.size(); i++) {
-				IInstallableUnit child = (IInstallableUnit) childIUs.get(i);
-				patchRequirements.add(MetadataFactory.createRequiredCapability(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), child.getFilter() == null ? null : ((LDAPQuery) child.getFilter()).getFilter(), false, false));
-			}
-		}
-		iu.setRequiredCapabilities((IRequirement[]) patchRequirements.toArray(new IRequirement[patchRequirements.size()]));
-		iu.setApplicabilityScope(new IRequirement[][] {(IRequirement[]) applicabilityScope.toArray(new IRequirement[applicabilityScope.size()])});
-		iu.setRequirementChanges((IRequirementChange[]) requirementChanges.toArray(new IRequirementChange[requirementChanges.size()]));
-
-		iu.setTouchpointType(ITouchpointType.NONE);
-		processTouchpointAdvice(iu, null, publisherInfo);
-		processInstallableUnitPropertiesAdvice(iu, publisherInfo);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, Boolean.TRUE.toString());
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_PATCH, Boolean.TRUE.toString());
-		// TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl
-		// 		 of the feature?
-		// iu.setFilter(filter);
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(createSelfCapability(id, version));
-
-		Map localizations = feature.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					iu.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(PublisherHelper.makeTranslationCapability(id, locale));
-			}
-		}
-
-		iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-		processCapabilityAdvice(iu, publisherInfo);
-		return MetadataFactory.createInstallableUnitPatch(iu);
-	}
-
-	private File[] expandLocations(File[] list) {
-		ArrayList result = new ArrayList();
-		expandLocations(list, result);
-		return (File[]) result.toArray(new File[result.size()]);
-	}
-
-	private void expandLocations(File[] list, ArrayList result) {
-		if (list == null)
-			return;
-		for (int i = 0; i < list.length; i++) {
-			File location = list[i];
-			if (location.isDirectory()) {
-				// if the location is itself a feature, just add it.  Otherwise r down
-				if (new File(location, "feature.xml").exists()) //$NON-NLS-1$
-					result.add(location);
-				else
-					expandLocations(location.listFiles(), result);
-			} else {
-				result.add(location);
-			}
-		}
-	}
-
-	protected void generateFeatureIUs(Feature[] featureList, IPublisherResult result) {
-		// Build Feature IUs, and add them to any corresponding categories
-		for (int i = 0; i < featureList.length; i++) {
-			Feature feature = featureList[i];
-			//first gather any advice that might help us
-			createBundleShapeAdvice(feature, info);
-			createAdviceFileAdvice(feature, info);
-
-			ArrayList childIUs = new ArrayList();
-
-			IInstallableUnit featureJarIU = queryForIU(result, getTransformedId(feature.getId(), false, false), Version.parseVersion(feature.getVersion()));
-			if (featureJarIU == null)
-				featureJarIU = generateFeatureJarIU(feature, info);
-
-			if (featureJarIU != null) {
-				publishFeatureArtifacts(feature, featureJarIU, info);
-				result.addIU(featureJarIU, IPublisherResult.NON_ROOT);
-				childIUs.add(featureJarIU);
-			}
-
-			IInstallableUnit groupIU = queryForIU(result, getGroupId(feature.getId()), Version.parseVersion(feature.getVersion()));
-			if (groupIU == null) {
-				childIUs.addAll(generateRootFileIUs(feature, result, info));
-				groupIU = createGroupIU(feature, childIUs, info);
-			}
-			if (groupIU != null) {
-				result.addIU(groupIU, IPublisherResult.ROOT);
-				InstallableUnitDescription[] others = processAdditionalInstallableUnitsAdvice(groupIU, info);
-				for (int iuIndex = 0; others != null && iuIndex < others.length; iuIndex++) {
-					result.addIU(MetadataFactory.createInstallableUnit(others[iuIndex]), IPublisherResult.ROOT);
-				}
-			}
-			generateSiteReferences(feature, result, info);
-		}
-	}
-
-	protected IInstallableUnit generateFeatureJarIU(Feature feature, IPublisherInfo publisherInfo) {
-		return createFeatureJarIU(feature, publisherInfo);
-	}
-
-	protected ArrayList generateRootFileIUs(Feature feature, IPublisherResult result, IPublisherInfo publisherInfo) {
-		ArrayList ius = new ArrayList();
-
-		Collection collection = publisherInfo.getAdvice(null, false, feature.getId(), Version.parseVersion(feature.getVersion()), IFeatureRootAdvice.class);
-		if (collection.size() == 0)
-			return ius;
-
-		IFeatureRootAdvice advice = (IFeatureRootAdvice) collection.iterator().next();
-		String[] configs = advice.getConfigurations();
-		for (int i = 0; i < configs.length; i++) {
-			String config = configs[i];
-
-			FileSetDescriptor descriptor = advice.getDescriptor(config);
-			if (descriptor != null && descriptor.size() > 0) {
-				IInstallableUnit iu = createFeatureRootFileIU(feature.getId(), feature.getVersion(), null, descriptor);
-
-				File[] files = descriptor.getFiles();
-				IArtifactKey artifactKey = iu.getArtifacts()[0];
-				ArtifactDescriptor artifactDescriptor = new ArtifactDescriptor(artifactKey);
-				IPathComputer computer = advice.getRootFileComputer(config);
-				if (computer == null)
-					computer = FileUtils.createDynamicPathComputer(1);
-				publishArtifact(artifactDescriptor, files, null, publisherInfo, computer);
-
-				result.addIU(iu, IPublisherResult.NON_ROOT);
-				ius.add(iu);
-			}
-		}
-
-		return ius;
-	}
-
-	/**
-	 * Generates and publishes a reference to an update site location
-	 * @param location The update site location
-	 * @param nickname The update site label
-	 * @param featureId the identifier of the feature where the error occurred, or null
-	 * @param metadataRepo The repo into which the references are added
-	 */
-	private void generateSiteReference(String location, String nickname, String featureId, IMetadataRepository metadataRepo) {
-		if (location == null) {
-			String message = featureId == null ? NLS.bind(Messages.exception_invalidSiteReference, location) : NLS.bind(Messages.exception_invalidSiteReferenceInFeature, location, featureId);
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
-			return;
-		}
-
-		try {
-			URI associateLocation = new URI(location);
-			metadataRepo.addReference(associateLocation, nickname, IRepository.TYPE_METADATA, IRepository.NONE);
-			metadataRepo.addReference(associateLocation, nickname, IRepository.TYPE_ARTIFACT, IRepository.NONE);
-		} catch (URISyntaxException e) {
-			String message = featureId == null ? NLS.bind(Messages.exception_invalidSiteReference, location) : NLS.bind(Messages.exception_invalidSiteReferenceInFeature, location, featureId);
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
-		}
-	}
-
-	protected void generateSiteReferences(Feature feature, IPublisherResult result, IPublisherInfo publisherInfo) {
-		//publish feature site references
-		URLEntry updateURL = feature.getUpdateSite();
-		//don't enable feature update sites by default since this results in too many
-		//extra sites being loaded and searched (Bug 234177)
-		if (updateURL != null)
-			generateSiteReference(updateURL.getURL(), updateURL.getAnnotation(), feature.getId(), publisherInfo.getMetadataRepository());
-		URLEntry[] discoverySites = feature.getDiscoverySites();
-		for (int i = 0; i < discoverySites.length; i++)
-			generateSiteReference(discoverySites[i].getURL(), discoverySites[i].getAnnotation(), feature.getId(), publisherInfo.getMetadataRepository());
-	}
-
-	protected Feature[] getFeatures(File[] featureLocations) {
-		ArrayList result = new ArrayList(featureLocations.length);
-		for (int i = 0; i < featureLocations.length; i++) {
-			Feature feature = new FeatureParser().parse(featureLocations[i]);
-			if (feature != null) {
-				feature.setLocation(featureLocations[i].getAbsolutePath());
-				result.add(feature);
-			}
-		}
-		return (Feature[]) result.toArray(new Feature[result.size()]);
-	}
-
-	private String getFilter(FeatureEntry entry) {
-		StringBuffer result = new StringBuffer();
-		result.append("(&"); //$NON-NLS-1$
-		if (entry.getFilter() != null)
-			result.append(entry.getFilter());
-		expandFilter(entry.getOS(), "osgi.os", result); //$NON-NLS-1$
-		expandFilter(entry.getWS(), "osgi.ws", result); //$NON-NLS-1$
-		expandFilter(entry.getArch(), "osgi.arch", result);//$NON-NLS-1$
-		expandFilter(entry.getNL(), "osgi.nl", result); //$NON-NLS-1$
-		if (result.length() == 2)
-			return null;
-		result.append(')');
-		return result.toString();
-	}
-
-	private void expandFilter(String filter, String osgiFilterValue, StringBuffer result) {
-		if (filter != null) {
-			StringTokenizer token = new StringTokenizer(filter, ","); //$NON-NLS-1$
-			if (token.countTokens() == 1)
-				result.append('(' + osgiFilterValue + '=' + filter + ')');
-			else {
-				result.append("(|"); //$NON-NLS-1$
-				while (token.hasMoreElements()) {
-					result.append('(' + osgiFilterValue + '=' + token.nextToken() + ')');
-				}
-				result.append(')');
-			}
-		}
-	}
-
-	private VersionRange getVersionRange(FeatureEntry entry) {
-		String versionSpec = entry.getVersion();
-		if (versionSpec == null)
-			return VersionRange.emptyRange;
-		Version version = Version.parseVersion(versionSpec);
-		if (version.equals(Version.emptyVersion))
-			return VersionRange.emptyRange;
-		if (!entry.isRequires())
-			return new VersionRange(version, true, version, true);
-		String match = entry.getMatch();
-		if (match == null)
-			// TODO should really be returning VersionRange.emptyRange here...
-			return null;
-		if (match.equals("perfect")) //$NON-NLS-1$
-			return new VersionRange(version, true, version, true);
-
-		org.osgi.framework.Version osgiVersion = Version.toOSGiVersion(version);
-		if (match.equals("equivalent")) { //$NON-NLS-1$
-			Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0);
-			return new VersionRange(version, true, upper, false);
-		}
-		if (match.equals("compatible")) { //$NON-NLS-1$
-			Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0);
-			return new VersionRange(version, true, upper, false);
-		}
-		if (match.equals("greaterOrEqual")) //$NON-NLS-1$
-			return new VersionRange(version, true, new VersionRange(null).getMaximum(), true);
-		return null;
-	}
-
-	private boolean isPatch(Feature feature) {
-		FeatureEntry[] entries = feature.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].isPatch())
-				return true;
-		}
-		return false;
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		if (features == null && locations == null)
-			throw new IllegalStateException(Messages.exception_noFeaturesOrLocations);
-		this.info = publisherInfo;
-		if (features == null)
-			features = getFeatures(expandLocations(locations));
-		generateFeatureIUs(features, results);
-		return Status.OK_STATUS;
-	}
-
-	protected void publishFeatureArtifacts(Feature feature, IInstallableUnit featureIU, IPublisherInfo publisherInfo) {
-		// add all the artifacts associated with the feature
-		// TODO this is a little strange.  If there are several artifacts, how do we know which files go with
-		// which artifacts when we publish them?  For now it would be surprising to have more than one
-		// artifact per feature IU.
-		IArtifactKey[] artifacts = featureIU.getArtifacts();
-		for (int j = 0; j < artifacts.length; j++) {
-			File file = new File(feature.getLocation());
-			ArtifactDescriptor ad = (ArtifactDescriptor) PublisherHelper.createArtifactDescriptor(info.getArtifactRepository(), artifacts[j], file);
-			processArtifactPropertiesAdvice(featureIU, ad, publisherInfo);
-			ad.setProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE, IArtifactDescriptor.TYPE_ZIP);
-			// if the artifact is a dir then zip it up.
-			if (file.isDirectory())
-				publishArtifact(ad, new File[] {file}, null, publisherInfo, createRootPrefixComputer(file));
-			else
-				publishArtifact(ad, file, publisherInfo);
-		}
-	}
-
-	private void setupLinks(InstallableUnitDescription iu, FileSetDescriptor descriptor) {
-		String[] links = getArrayFromString(descriptor.getLinks(), ","); //$NON-NLS-1$
-		StringBuffer linkActions = new StringBuffer();
-
-		int i = 0;
-		while (i < links.length) {
-			//format is [target,name]*
-			String target = links[i++];
-			if (i < links.length) {
-				String name = links[i++];
-				linkActions.append("ln(linkTarget:" + target); //$NON-NLS-1$
-				linkActions.append(",targetDir:${installFolder},linkName:" + name); //$NON-NLS-1$
-				linkActions.append(");"); //$NON-NLS-1$
-			}
-
-		}
-
-		if (linkActions.length() > 0) {
-			Map touchpointData = new HashMap();
-			//we do ln during configure to avoid complicating branding which uses the install phase
-			touchpointData.put("configure", linkActions.toString()); //$NON-NLS-1$
-			iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		}
-	}
-
-	private void setupPermissions(InstallableUnitDescription iu, FileSetDescriptor descriptor) {
-		Map touchpointData = new HashMap();
-		String[][] permsList = descriptor.getPermissions();
-		for (int i = 0; i < permsList.length; i++) {
-			String[] permSpec = permsList[i];
-			String configurationData = " chmod(targetDir:${installFolder}, targetFile:" + permSpec[1] + ", permissions:" + permSpec[0] + ");"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			touchpointData.put("install", configurationData); //$NON-NLS-1$
-			iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAndBundlesPublisherApplication.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAndBundlesPublisherApplication.java
deleted file mode 100644
index a58f5f0..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAndBundlesPublisherApplication.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import org.eclipse.equinox.p2.publisher.*;
-
-/**
- * <p>
- * This application generates meta-data and artifact repositories from a set of features and bundles.
- * If -source <localdir> parameter is given, it specifies the directory under which to find the features 
- * and bundles (in the standard "features" and "plugins" sub-directories).
- * </p><p>
- * Optionally, the -features <csv of file locations> and -bundles <csv of file locations> arguments can 
- * be specified.  If given, these override the defaults derived from a supplied -source parameter.
- * </p>
- */
-public class FeaturesAndBundlesPublisherApplication extends AbstractPublisherApplication {
-
-	protected File[] features = null;
-	protected File[] bundles = null;
-
-	public FeaturesAndBundlesPublisherApplication() {
-		// nothing to do
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo pinfo) throws URISyntaxException {
-		super.processParameter(arg, parameter, pinfo);
-
-		if (arg.equalsIgnoreCase("-features")) //$NON-NLS-1$
-			features = createFiles(parameter);
-
-		if (arg.equalsIgnoreCase("-bundles")) //$NON-NLS-1$
-			bundles = createFiles(parameter);
-	}
-
-	private File[] createFiles(String parameter) {
-		String[] filespecs = AbstractPublisherAction.getArrayFromString(parameter, ","); //$NON-NLS-1$
-		File[] result = new File[filespecs.length];
-		for (int i = 0; i < filespecs.length; i++)
-			result[i] = new File(filespecs[i]);
-		return result;
-	}
-
-	protected IPublisherAction[] createActions() {
-		ArrayList result = new ArrayList();
-		if (features == null)
-			features = new File[] {new File(source, "features")}; //$NON-NLS-1$
-		result.add(new FeaturesAction(features));
-		if (bundles == null)
-			bundles = new File[] {new File(source, "plugins")}; //$NON-NLS-1$
-		result.add(new BundlesAction(bundles));
-		return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBrandingAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBrandingAdvice.java
deleted file mode 100644
index 3e92dc8..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBrandingAdvice.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 EclipseSource 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: 
- *   EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-/**
- * Advice for branding executables and other element while publishing.
- */
-public interface IBrandingAdvice {
-
-	/**
-	 * Returns the OS that this branding advice is relevant for.
-	 */
-	public String getOS();
-
-	/**
-	 * Returns the list of icon files to be used in branding an executable. 
-	 * The nature of the returned values and the images they represent is
-	 * platform-specific.
-	 * 
-	 * @return the list of icons used in branding an executable or <code>null</code> if none.
-	 */
-	public String[] getIcons();
-
-	/**
-	 * Returns the name of the launcher.  This should be the OS-independent
-	 * name. That is, ".exe" etc. should not be included.
-	 * 
-	 * @return the name of the branded launcher or <code>null</code> if none.
-	 */
-	public String getExecutableName();
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBundleShapeAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBundleShapeAdvice.java
deleted file mode 100644
index 8ad1bad..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IBundleShapeAdvice.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IBundleShapeAdvice extends IPublisherAdvice {
-	public static final String DIR = BundlesAction.DIR;
-	public static final String JAR = BundlesAction.JAR;
-
-	public String getShape();
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IConfigAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IConfigAdvice.java
deleted file mode 100644
index 5e673ea..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IConfigAdvice.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.util.Properties;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-public interface IConfigAdvice extends IPublisherAdvice {
-
-	public BundleInfo[] getBundles();
-
-	public Properties getProperties();
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IExecutableAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IExecutableAdvice.java
deleted file mode 100644
index 7d46675..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/IExecutableAdvice.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   EclipseSource - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-/**
- * Advice for executables while publishing.
- */
-public interface IExecutableAdvice extends IPublisherAdvice {
-
-	/**
-	 * Returns the VM arguments for this executable.
-	 * @return The list of VM Arguments for this executable or empty array for none
-	 */
-	public String[] getVMArguments();
-
-	/**
-	 * Returns the program arguments for this executable.
-	 * 
-	 * @return The list of program arguments for tihs executable or empty array for none
-	 */
-	public String[] getProgramArguments();
-
-	/**
-	 * Returns the name of the launcher.  This should be the OS-independent
-	 * name. That is, ".exe" etc. should not be included.
-	 * 
-	 * @return the name of the branded launcher or <code>null</code> if none.
-	 */
-	public String getExecutableName();
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/InstallPublisherApplication.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/InstallPublisherApplication.java
deleted file mode 100644
index 3330abc..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/InstallPublisherApplication.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionedId;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.publisher.*;
-
-public class InstallPublisherApplication extends AbstractPublisherApplication {
-
-	protected String id;
-	protected Version version = Version.parseVersion("1.0.0"); //$NON-NLS-1$
-	protected String name;
-	protected String executableName;
-	protected String flavor;
-	protected IVersionedId[] topLevel;
-	protected boolean start;
-	protected String[] rootExclusions;
-
-	public InstallPublisherApplication() {
-		//hidden
-	}
-
-	protected void processFlag(String arg, PublisherInfo publisherInfo) {
-		super.processFlag(arg, publisherInfo);
-
-		if (arg.equalsIgnoreCase("-startAll")) //$NON-NLS-1$
-			start = true;
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo publisherInfo) throws URISyntaxException {
-		super.processParameter(arg, parameter, publisherInfo);
-
-		if (arg.equalsIgnoreCase("-id")) //$NON-NLS-1$
-			id = parameter;
-
-		if (arg.equalsIgnoreCase("-version")) //$NON-NLS-1$
-			version = Version.parseVersion(parameter);
-
-		if (arg.equalsIgnoreCase("-name")) //$NON-NLS-1$
-			name = parameter;
-
-		if (arg.equalsIgnoreCase("-executable")) //$NON-NLS-1$
-			executableName = parameter;
-
-		if (arg.equalsIgnoreCase("-flavor")) //$NON-NLS-1$
-			flavor = parameter;
-
-		if (arg.equalsIgnoreCase("-top")) //$NON-NLS-1$
-			topLevel = createVersionedIdList(parameter);
-
-		if (arg.equalsIgnoreCase("-rootExclusions")) //$NON-NLS-1$
-			rootExclusions = AbstractPublisherAction.getArrayFromString(parameter, ","); //$NON-NLS-1$
-	}
-
-	private IVersionedId[] createVersionedIdList(String parameter) {
-		String[] list = AbstractPublisherAction.getArrayFromString(parameter, ","); //$NON-NLS-1$
-		IVersionedId[] result = new IVersionedId[list.length];
-		for (int i = 0; i < result.length; i++)
-			result[i] = VersionedId.parse(list[i]);
-		return result;
-	}
-
-	protected IPublisherAction[] createActions() {
-		ArrayList result = new ArrayList();
-		result.add(createEclipseInstallAction());
-		return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]);
-	}
-
-	private IPublisherAction createEclipseInstallAction() {
-		String[] exclusions = getBaseExclusions();
-		if (rootExclusions != null) {
-			String[] result = new String[exclusions.length + rootExclusions.length];
-			System.arraycopy(exclusions, 0, result, 0, exclusions.length);
-			System.arraycopy(rootExclusions, 0, result, exclusions.length, rootExclusions.length);
-			exclusions = result;
-		}
-		return new EclipseInstallAction(source, id, version, name, executableName, flavor, topLevel, exclusions, start);
-	}
-
-	protected String[] getBaseExclusions() {
-		return new String[] {"plugins", "features", "configuration", "p2", "artifacts.xml"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/LaunchingAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/LaunchingAdvice.java
deleted file mode 100644
index 7264782..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/LaunchingAdvice.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-
-public class LaunchingAdvice extends AbstractAdvice implements IExecutableAdvice {
-
-	private LauncherData data;
-	private String configSpec;
-
-	public LaunchingAdvice(LauncherData data, String configSpec) {
-		this.data = data;
-		this.configSpec = configSpec;
-	}
-
-	protected String getConfigSpec() {
-		return configSpec;
-	}
-
-	public String[] getProgramArguments() {
-		return data.getProgramArgs();
-	}
-
-	public String[] getVMArguments() {
-		return data.getJvmArgs();
-	}
-
-	public String getExecutableName() {
-		return data.getLauncherName();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductAction.java
deleted file mode 100644
index 60bb741..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductAction.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.IProductDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionedId;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.*;
-
-public class ProductAction extends AbstractPublisherAction {
-	protected String source;
-	protected String id;
-	protected Version version;
-	protected String name;
-	protected String executableName;
-	protected String flavor;
-	protected boolean start = false;
-	//protected String productLocation;
-	protected File executablesFeatureLocation;
-	protected IProductDescriptor product;
-	protected IPublisherResult publisherResults;
-
-	public ProductAction(String source, IProductDescriptor product, String flavor, File executablesFeatureLocation) {
-		super();
-		this.source = source;
-		this.flavor = flavor;
-		this.executablesFeatureLocation = executablesFeatureLocation;
-		this.product = product;
-		//this.productLocation = productLocation;
-	}
-
-	protected IPublisherAction[] createActions(IPublisherResult results) {
-		// generate the advice we can up front.
-		createAdvice();
-
-		// create all the actions needed to publish a product
-		ArrayList actions = new ArrayList();
-		// products include the executable so add actions to publish them
-		if (getExecutablesLocation() != null)
-			actions.add(createApplicationExecutableAction(info.getConfigurations()));
-		// add the actions that just configure things.
-		actions.add(createConfigCUsAction());
-		actions.add(createJREAction());
-		actions.add(createDefaultCUsAction());
-		actions.add(createRootIUAction());
-		return (IPublisherAction[]) actions.toArray(new IPublisherAction[actions.size()]);
-	}
-
-	protected IPublisherAction createApplicationExecutableAction(String[] configSpecs) {
-		return new ApplicationLauncherAction(id, version, flavor, executableName, getExecutablesLocation(), configSpecs);
-	}
-
-	protected IPublisherAction createDefaultCUsAction() {
-		return new DefaultCUsAction(info, flavor, 4, false);
-	}
-
-	protected IPublisherAction createRootIUAction() {
-		return new RootIUAction(id, version, name);
-	}
-
-	protected IPublisherAction createConfigCUsAction() {
-		return new ConfigCUsAction(info, flavor, id, version);
-	}
-
-	protected IPublisherAction createJREAction() {
-		//TODO set a proper execution environment
-		return new JREAction((String) null);
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		monitor = SubMonitor.convert(monitor);
-		this.info = publisherInfo;
-		publisherResults = results;
-		IPublisherAction[] actions = createActions(results);
-		MultiStatus finalStatus = new MultiStatus(EclipseInstallAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$
-		for (int i = 0; i < actions.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			finalStatus.merge(actions[i].perform(publisherInfo, results, monitor));
-		}
-		if (!finalStatus.isOK())
-			return finalStatus;
-
-		return Status.OK_STATUS;
-	}
-
-	private void createAdvice() {
-		executableName = product.getLauncherName();
-		createProductAdvice();
-		createAdviceFileAdvice();
-		createRootAdvice();
-		info.addAdvice(new RootIUResultFilterAdvice(null));
-	}
-
-	/**
-	 * Create advice for a p2.inf file co-located with the product file, if any.
-	 */
-	private void createAdviceFileAdvice() {
-		File productFileLocation = product.getLocation();
-		if (productFileLocation == null)
-			return;
-
-		AdviceFileAdvice advice = new AdviceFileAdvice(product.getId(), Version.parseVersion(product.getVersion()), new Path(productFileLocation.getParent()), new Path("p2.inf")); //$NON-NLS-1$
-		if (advice.containsAdvice())
-			info.addAdvice(advice);
-	}
-
-	private void createRootAdvice() {
-		Collection list;
-		if (product.useFeatures())
-			// TODO: We need a real namespace here
-			list = versionElements(listElements(product.getFeatures(), ".feature.group"), IInstallableUnit.NAMESPACE_IU_ID); //$NON-NLS-1$ 
-		else
-			//TODO: We need a real namespace here
-			list = versionElements(listElements(product.getBundles(true), null), IInstallableUnit.NAMESPACE_IU_ID);
-		info.addAdvice(new RootIUAdvice(list));
-	}
-
-	private void createProductAdvice() {
-		id = product.getId();
-		version = Version.parseVersion(product.getVersion());
-		name = product.getProductName();
-		if (name == null || name.length() == 0) // If the name is not defined, use the ID
-			name = product.getId();
-
-		String[] configSpecs = info.getConfigurations();
-		for (int i = 0; i < configSpecs.length; i++)
-			info.addAdvice(new ProductFileAdvice(product, configSpecs[i]));
-	}
-
-	private Collection versionElements(Collection elements, String namespace) {
-		Collection versionAdvice = info.getAdvice(null, true, null, null, IVersionAdvice.class);
-		List result = new ArrayList();
-		for (Iterator i = elements.iterator(); i.hasNext();) {
-			IVersionedId element = (IVersionedId) i.next();
-			Version elementVersion = element.getVersion();
-			if (elementVersion == null || Version.emptyVersion.equals(elementVersion)) {
-				Iterator advice = versionAdvice.iterator();
-				while (advice.hasNext()) {
-					elementVersion = ((IVersionAdvice) advice.next()).getVersion(namespace, element.getId());
-					break;
-				}
-			}
-
-			//	if advisedVersion is null, we get the highest version
-			IInstallableUnit unit = queryForIU(publisherResults, element.getId(), elementVersion);
-			if (unit != null) {
-				result.add(unit);
-			} else if (elementVersion != null) {
-				//best effort
-				result.add(new VersionedId(element.getId(), elementVersion));
-			}
-			//TODO we could still add a requirement on version 0.0.0 to get any version, but if the
-			//bundle is platform specific we will have broken metadata due to a missing filter
-		}
-		return result;
-	}
-
-	private Collection listElements(List elements, String suffix) {
-		if (suffix == null || suffix.length() == 0)
-			return elements;
-		ArrayList result = new ArrayList(elements.size());
-		for (Iterator i = elements.iterator(); i.hasNext();) {
-			IVersionedId elementName = (IVersionedId) i.next();
-			result.add(new VersionedId(elementName.getId() + suffix, elementName.getVersion()));
-		}
-		return result;
-	}
-
-	protected File getExecutablesLocation() {
-		if (executablesFeatureLocation != null)
-			return executablesFeatureLocation;
-		if (source != null)
-			return new File(source);
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductFileAdvice.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductFileAdvice.java
deleted file mode 100644
index 90513e4..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductFileAdvice.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   EclipseSource - ongoing development
- *   IBM Corporation - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.IProductDescriptor;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.publisher.AbstractAdvice;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
-import org.eclipse.equinox.p2.publisher.actions.ILicenseAdvice;
-
-/**
- * Provide advice derived from the .product file.  The product can give some info on 
- * launching as well as the configuration (bundles, properties, ...)
- */
-public class ProductFileAdvice extends AbstractAdvice implements ILicenseAdvice, IExecutableAdvice, IConfigAdvice, IBrandingAdvice {
-	private final static String EMPTY_VERSION = "0.0.0"; //$NON-NLS-1$
-	private final static String OSGI_SPLASH_PATH = "osgi.splashPath"; //$NON-NLS-1$
-	private final static String SPLASH_PREFIX = "platform:/base/plugins/"; //$NON-NLS-1$
-	private IProductDescriptor product;
-	private String configSpec;
-	private String ws;
-	private String os;
-	private String arch;
-	private ConfigData configData = null;
-
-	protected String getId() {
-		return product.getId();
-	}
-
-	protected Version getVersion() {
-		return Version.parseVersion(product.getVersion());
-	}
-
-	/**
-	 * Constructs a new ProductFileAdvice for a given product file and a
-	 * particular configuration. Configurations are 
-	 * specified as: ws.os.arch where:
-	 *  ws is the windowing system
-	 *  os is the operating system
-	 *  arch is the architecture
-	 */
-	public ProductFileAdvice(IProductDescriptor product, String configSpec) {
-		this.product = product;
-		this.configSpec = configSpec;
-
-		String[] config = AbstractPublisherAction.parseConfigSpec(configSpec);
-		ws = config[0];
-		if (ws == null)
-			ws = AbstractPublisherAction.CONFIG_ANY;
-		os = config[1];
-		if (os == null)
-			os = AbstractPublisherAction.CONFIG_ANY;
-		arch = config[2];
-		if (arch == null)
-			arch = AbstractPublisherAction.CONFIG_ANY;
-
-		configData = getConfigData();
-	}
-
-	/**
-	 * Returns the program arguments for this product.  
-	 */
-	public String[] getProgramArguments() {
-		String line = product.getProgramArguments(os);
-		return AbstractPublisherAction.getArrayFromString(line, " "); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the VM arguments for this product.
-	 */
-	public String[] getVMArguments() {
-		String line = product.getVMArguments(os);
-		return AbstractPublisherAction.getArrayFromString(line, " "); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the Bundles that constitute this product.  These
-	 * bundles may be specified in the .product file, .product file configuration
-	 * area, config.ini file, or a combination of these three places.
-	 */
-	public BundleInfo[] getBundles() {
-		return configData.getBundles();
-	}
-
-	/**
-	 * Returns the properties associated with this product.  These
-	 * properties may be defined in the .product file, the config.ini
-	 * file, or both.
-	 */
-	public Properties getProperties() {
-		Properties result = new Properties();
-		result.putAll(configData.getProperties());
-		result.putAll(product.getConfigurationProperties());
-		return result;
-	}
-
-	/**
-	 * Returns the name of the launcher.  This should be the OS-independent
-	 * name. That is, ".exe" etc. should not be included.
-	 * 
-	 * @return the name of the branded launcher or <code>null</code> if none.
-	 */
-	public String getExecutableName() {
-		return product.getLauncherName();
-	}
-
-	/**
-	 * Returns the product file parser that this advice is working on
-	 */
-	public IProductDescriptor getProductFile() {
-		return product;
-	}
-
-	/**
-	 * Returns the icons defined for this product
-	 */
-	public String[] getIcons() {
-		return product.getIcons(os);
-	}
-
-	/**
-	 * Returns the operating system that this advice is configured to work with.
-	 */
-	public String getOS() {
-		return this.os;
-	}
-
-	/**
-	 * Returns the license text for this product
-	 */
-	public String getLicenseURL() {
-		return product.getLicenseURL();
-	}
-
-	/**
-	 * Returns the license URL for this product
-	 */
-	public String getLicenseText() {
-		return product.getLicenseText();
-	}
-
-	private ConfigData getConfigData() {
-		DataLoader loader = createDataLoader();
-		ConfigData result;
-		if (loader != null) {
-			result = loader.getConfigData();
-			normalizeBundleVersions(result);
-		} else
-			result = generateConfigData();
-
-		addProductFileBundles(result); // these are the bundles specified in the <plugins/> tag
-		addProductFileConfigBundles(result); // these are the bundles specified in the <configurations> tag in the product file
-
-		if (product.getProductId() != null)
-			result.setProperty("eclipse.product", product.getProductId()); //$NON-NLS-1$
-		if (product.getApplication() != null)
-			result.setProperty("eclipse.application", product.getApplication()); //$NON-NLS-1$
-		String location = getSplashLocation();
-		if (location != null)
-			result.setProperty(OSGI_SPLASH_PATH, SPLASH_PREFIX + location);
-		return result;
-	}
-
-	private void normalizeBundleVersions(ConfigData data) {
-		BundleInfo[] bundles = data.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			// If the bundle doesn't have a version set it to 0.0.0
-			if (bundles[i].getVersion() == null)
-				bundles[i].setVersion(EMPTY_VERSION);
-		}
-	}
-
-	private void addProductFileConfigBundles(ConfigData data) {
-		Set versionBoundBundles = new HashSet();
-		Map unboundedBundles = new HashMap();
-
-		BundleInfo[] bundles = data.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			// For each bundle we know about, cache it.  If the bundle doesn't have a version
-			// add it to a list of bundles by name
-			BundleInfo bundleInfo = bundles[i];
-			if (bundleInfo.getVersion() == null || bundleInfo.getVersion().equals(EMPTY_VERSION)) {
-				bundleInfo.setVersion(EMPTY_VERSION);
-				addUnboundedBundle(unboundedBundles, bundleInfo);
-			} else {
-				versionBoundBundles.add(bundleInfo);
-				addUnboundedBundle(unboundedBundles, bundleInfo);
-			}
-		}
-
-		List bundleInfos = product.getBundleInfos();
-		for (Iterator i = bundleInfos.iterator(); i.hasNext();) {
-			// For each bundle that has configuration information, if the bundle is in the 
-			// bundles bound by version, add the "configured" bundle instead
-			// If the bundle is not bound to a version, then replace all bounded versions
-			// with this one.  Otherwise, just add this one (don't replace)
-			BundleInfo bundleInfo = (BundleInfo) i.next();
-
-			if (versionBoundBundles.contains(bundleInfo)) {
-				// If we found a version with the same name and version, replace it with the "configured" bundle
-				data.removeBundle(bundleInfo);
-				data.addBundle(bundleInfo);
-			} else if (bundleInfo.getVersion() == null || bundleInfo.getVersion().equals("0.0.0")) {//$NON-NLS-1$
-				// If we don't have a version number, look for all bundles that match by name
-				List list = (List) unboundedBundles.get(bundleInfo.getSymbolicName());
-				if (list == null)
-					data.addBundle(bundleInfo);
-				else
-					for (Iterator iterator = list.iterator(); iterator.hasNext();) {
-						BundleInfo target = (BundleInfo) iterator.next();
-						target.setStartLevel(bundleInfo.getStartLevel());
-						target.setMarkedAsStarted(bundleInfo.isMarkedAsStarted());
-					}
-			} else {
-				// Otherwise we have a version, but we could not match it, so just add this one.
-				data.addBundle(bundleInfo);
-			}
-
-		}
-	}
-
-	private void addUnboundedBundle(Map data, BundleInfo bundleInfo) {
-		if (!data.containsKey(bundleInfo.getSymbolicName()))
-			data.put(bundleInfo.getSymbolicName(), new LinkedList());
-		((LinkedList) data.get(bundleInfo.getSymbolicName())).add(bundleInfo);
-	}
-
-	private void addProductFileBundles(ConfigData data) {
-		List bundles = product.getBundles(true);
-		Set set = new HashSet();
-		set.addAll(Arrays.asList(data.getBundles()));
-
-		for (Iterator i = bundles.iterator(); i.hasNext();) {
-			IVersionedId vid = (IVersionedId) i.next();
-			BundleInfo bundleInfo = new BundleInfo();
-			bundleInfo.setSymbolicName(vid.getId());
-			bundleInfo.setVersion(vid.getVersion().toString());
-			if (!set.contains(bundleInfo))
-				data.addBundle(bundleInfo);
-		}
-	}
-
-	private ConfigData generateConfigData() {
-		ConfigData result = new ConfigData(null, null, null, null);
-		if (product.useFeatures())
-			return result;
-
-		// Add all the bundles here.  We replace / update them later
-		// if we find configuration information
-		List bundles = product.getBundles(true);
-		for (Iterator i = bundles.iterator(); i.hasNext();) {
-			IVersionedId vid = (IVersionedId) i.next();
-			BundleInfo bundleInfo = new BundleInfo();
-			bundleInfo.setSymbolicName(vid.getId());
-			bundleInfo.setVersion(vid.getVersion().toString());
-			result.addBundle(bundleInfo);
-		}
-		return result;
-	}
-
-	private String getSplashLocation() {
-		return product.getSplashLocation();
-	}
-
-	protected String getConfigSpec() {
-		return configSpec;
-	}
-
-	protected boolean matchConfig(String spec, boolean includeDefault) {
-		if (spec != null) {
-			String targetWS = AbstractPublisherAction.parseConfigSpec(spec)[0];
-			if (targetWS == null)
-				targetWS = AbstractPublisherAction.CONFIG_ANY;
-			if (!ws.equals(targetWS) && !ws.equals(AbstractPublisherAction.CONFIG_ANY) && !targetWS.equals(AbstractPublisherAction.CONFIG_ANY)) {
-				return false;
-			}
-
-			String targetOS = AbstractPublisherAction.parseConfigSpec(spec)[1];
-			if (targetOS == null)
-				targetOS = AbstractPublisherAction.CONFIG_ANY;
-			if (!os.equals(targetOS) && !os.equals(AbstractPublisherAction.CONFIG_ANY) && !targetOS.equals(AbstractPublisherAction.CONFIG_ANY)) {
-				return false;
-			}
-
-			String targetArch = AbstractPublisherAction.parseConfigSpec(spec)[2];
-			if (targetArch == null)
-				targetArch = AbstractPublisherAction.CONFIG_ANY;
-			if (!arch.equals(targetArch) && !arch.equals(AbstractPublisherAction.CONFIG_ANY) && !targetArch.equals(AbstractPublisherAction.CONFIG_ANY)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private DataLoader createDataLoader() {
-		String location = product.getConfigIniPath(os);
-		if (location == null)
-			location = product.getConfigIniPath(null);
-		if (location == null)
-			return null;
-
-		File configFile = new File(location);
-		// We are assuming we are always relative from the product file
-		// However PDE tooling puts us relative from the workspace, that "relative" path also looks like an absolute path on linux
-		// Build may have copied the file to the correct place for us
-		if (!configFile.isAbsolute() || !configFile.exists())
-			configFile = new File(product.getLocation().getParentFile(), location);
-
-		//We don't really have an executable location, get something reasonable based on the config.ini location
-		File parent = configFile.getParentFile();
-		if (parent.getName().equals("configuration") && parent.getParentFile() != null) //$NON-NLS-1$
-			parent = parent.getParentFile();
-		return new DataLoader(configFile, parent);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductPublisherApplication.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductPublisherApplication.java
deleted file mode 100644
index 1f96c5c..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ProductPublisherApplication.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.IProductDescriptor;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.p2.publisher.*;
-
-public class ProductPublisherApplication extends AbstractPublisherApplication {
-
-	private String product;
-	private String executables;
-	private String flavor;
-
-	public ProductPublisherApplication() {
-		//hidden
-	}
-
-	protected IPublisherAction[] createActions() {
-		ArrayList result = new ArrayList();
-		result.add(createProductAction());
-		return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]);
-	}
-
-	private IPublisherAction createProductAction() {
-		IProductDescriptor productDescriptor = null;
-		try {
-			productDescriptor = new ProductFile(product);
-		} catch (Exception e) {
-			if (product == null)
-				throw new IllegalArgumentException("unable to load product file"); //$NON-NLS-1$
-		}
-		File executablesFeature = executables == null ? null : new File(executables);
-		return new ProductAction(source, productDescriptor, flavor, executablesFeature);
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo publisherInfo) throws URISyntaxException {
-		super.processParameter(arg, parameter, publisherInfo);
-
-		if (arg.equalsIgnoreCase("-productFile")) //$NON-NLS-1$
-			product = parameter;
-		if (arg.equalsIgnoreCase("-executables")) //$NON-NLS-1$
-			executables = parameter;
-		if (arg.equalsIgnoreCase("-flavor")) //$NON-NLS-1$
-			flavor = parameter;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/URLEntry.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/URLEntry.java
deleted file mode 100644
index b9566e8..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/URLEntry.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.publisher.eclipse;
-
-public class URLEntry {
-	private String annotation;
-	private String url;
-
-	public URLEntry() {
-		//empty
-	}
-
-	public URLEntry(String url, String annotation) {
-		this.url = url;
-		this.annotation = annotation;
-	}
-
-	public void setAnnotation(String annotation) {
-		this.annotation = annotation;
-	}
-
-	public String getAnnotation() {
-		return annotation;
-	}
-
-	public void setURL(String url) {
-		this.url = url;
-	}
-
-	public String getURL() {
-		return url;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/LocalizationHelper.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/LocalizationHelper.java
deleted file mode 100644
index 4dcf756..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/LocalizationHelper.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.spi.p2.publisher;
-
-import java.io.*;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * 	Helper functions supporting the processing of localized
- * 	property files.
- *
- */
-public final class LocalizationHelper {
-
-	private static final String PROPERTIES_FILE_EXTENSION = ".properties"; //$NON-NLS-1$
-	private static final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
-	private static LocalizationHelper instance = new LocalizationHelper();
-
-	// Extract the locale string from the properties file with the given filename
-	// where the locale string follows the given prefix. For example, return "zh_HK"
-	// from filename == "plugin_zh_HK.properties" and prefix == "plugin". 
-	static public String getLocaleString(String filename, String prefix) {
-		String localeString = null;
-		if (filename.startsWith(prefix) && filename.endsWith(PROPERTIES_FILE_EXTENSION)) {
-			if (filename.length() > prefix.length() + PROPERTIES_FILE_EXTENSION.length()) {
-				localeString = filename.substring(prefix.length() + 1, filename.length() - PROPERTIES_FILE_EXTENSION.length());
-			} else {
-				localeString = ""; //$NON-NLS-1$
-			}
-		}
-		return localeString;
-	}
-
-	// Get the locale corresponding to the given locale string
-	static public Locale getLocale(String localeString) {
-		Locale locale = DEFAULT_LOCALE;
-		if (localeString.length() == 5 && localeString.indexOf('_') == 2) {
-			locale = new Locale(localeString.substring(0, 2), localeString.substring(3, 5));
-		} else if (localeString.length() == 2) {
-			locale = new Locale(localeString.substring(0, 2));
-		}
-		return locale;
-	}
-
-	// For the given root directory and path to localization files within that directory
-	// get a map from locale to property set for the localization property files.
-	public static Map getDirPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
-		File fullPath = new File(root, localizationPath);
-		File localizationDir = fullPath.getParentFile();
-		final String localizationFile = fullPath.getName();
-		String[] localizationFiles = LocalizationHelper.getLocalizationFiles(localizationDir, localizationFile);
-
-		HashMap localizations = null;
-
-		if (localizationFiles != null) {
-			localizations = new HashMap(localizationFiles.length);
-			for (int i = 0; i < localizationFiles.length; i++) {
-				String nextFile = localizationFiles[i];
-				Locale nextLocale = getLocale(LocalizationHelper.getLocaleString(nextFile, localizationFile));
-
-				try {
-					Properties properties = loadProperties(root, nextFile);
-					Properties localizedStrings = getLocalizedProperties(propertyKeys, properties);
-					if (localizedStrings.size() > 0) {
-						localizations.put(nextLocale, localizedStrings);
-						if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
-							localizations.put(nextLocale, localizedStrings);
-						}
-					}
-				} catch (IOException ioe) {
-					ioe.printStackTrace();
-				}
-			}
-		}
-
-		return localizations;
-	}
-
-	public static Map getJarPropertyLocalizations(File root, String localizationPath, Locale defaultLocale, String[] propertyKeys) {
-		ZipFile jarFile = null;
-		Map localizations = new HashMap(4);
-		try {
-			jarFile = new ZipFile(root, ZipFile.OPEN_READ);
-			for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) {
-				ZipEntry nextEntry = (ZipEntry) entries.nextElement();
-				String nextName = nextEntry.getName();
-				String localeString = LocalizationHelper.getLocaleString(nextName, localizationPath);
-
-				if (!nextEntry.isDirectory() && localeString != null) {
-					Locale nextLocale = LocalizationHelper.getLocale(localeString);
-					InputStream stream = null;
-					try {
-						stream = jarFile.getInputStream(nextEntry);
-						Properties properties = new Properties();
-						properties.load(stream);
-						Properties localizedStrings = LocalizationHelper.getLocalizedProperties(propertyKeys, properties);
-						if (localizedStrings.size() > 0) {
-							localizations.put(nextLocale, localizedStrings);
-							if (DEFAULT_LOCALE.equals(nextLocale) && defaultLocale != null) {
-								localizations.put(nextLocale, localizedStrings);
-							}
-						}
-					} finally {
-						if (stream != null)
-							stream.close();
-					}
-				}
-			}
-		} catch (IOException ioe) {
-			ioe.printStackTrace();
-		} finally {
-			if (jarFile != null) {
-				try {
-					jarFile.close();
-				} catch (IOException ioe) {
-					// do nothing
-				}
-			}
-		}
-
-		return localizations;
-	}
-
-	// Load a property set from given root and file with the given name
-	private static Properties loadProperties(File root, String propertyFilename) throws IOException {
-		Properties result = new Properties();
-		InputStream propertyStream = null;
-		try {
-			try {
-				if (root.isDirectory())
-					propertyStream = new FileInputStream(new File(root, propertyFilename));
-				else {
-					URLConnection connection = new URL("jar:" + root.toURL().toExternalForm() + "!/" + propertyFilename).openConnection(); //$NON-NLS-1$ //$NON-NLS-2$
-					connection.setUseCaches(false);
-					propertyStream = connection.getInputStream();
-				}
-			} catch (FileNotFoundException e) {
-				// if there is no messages file then just return;
-				return result;
-			}
-			result.load(propertyStream);
-		} finally {
-			if (propertyStream != null)
-				propertyStream.close();
-		}
-		return result;
-	}
-
-	// Given a list of keys and the corresponding localized property set,
-	// return a new property set with those keys and the localized values. 
-	static public Properties getLocalizedProperties(String[] propertyKeys, Properties properties) {
-		Properties localizedProperties = new Properties();
-		for (int i = 0; i < propertyKeys.length; i++) {
-			String key = propertyKeys[i];
-			if (key != null) {
-				String localizedValue = properties.getProperty(key);
-				if (localizedValue != null)
-					localizedProperties.put(key, localizedValue);
-			}
-		}
-		return localizedProperties;
-	}
-
-	public static String[] getLocalizationFiles(File localizationDir, final String filenamePrefix) {
-		return localizationDir.list(instance.new FileFilter() {
-			public boolean accept(File directory, String filename) {
-				return (getLocaleString(filename, filenamePrefix) != null ? true : false);
-			}
-		});
-	}
-
-	private abstract class FileFilter implements FilenameFilter {
-
-		public FileFilter() {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
-		 */
-		public abstract boolean accept(File directory, String filename);
-	}
-
-	private LocalizationHelper() {
-		//
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java
deleted file mode 100644
index 503e388..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *     Code 9 - Ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.spi.p2.publisher;
-
-import java.io.*;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.osgi.framework.Constants;
-
-/**
- * This class was originally the MetadataGeneratorHelper from the Generator.
- * Much of the code has been deprecated and will be removed.
- *
- */
-public class PublisherHelper {
-	/**
-	 * A capability namespace representing the type of Eclipse resource (bundle, feature, source bundle, etc)
-	 * @see IProvidedCapability#getNamespace()
-	 */
-	public static final String NAMESPACE_ECLIPSE_TYPE = "org.eclipse.equinox.p2.eclipse.type"; //$NON-NLS-1$
-
-	public static final String NAMESPACE_FLAVOR = "org.eclipse.equinox.p2.flavor"; //$NON-NLS-1$"
-	/**
-	 * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace 
-	 * representing a feature
-	 * @see IProvidedCapability#getName()
-	 */
-	public static final String TYPE_ECLIPSE_FEATURE = "feature"; //$NON-NLS-1$
-
-	/**
-	 * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace 
-	 * representing a source bundle
-	 * @see IProvidedCapability#getName()
-	 */
-	public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$
-
-	/**
-	 * A capability namespace representing the localization (translation)
-	 * of strings from a specified IU in a specified locale
-	 * @see IProvidedCapability#getNamespace()
-	 * TODO: this should be in API, probably in IInstallableUnit
-	 */
-	public static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
-	// Only certain properties in the bundle manifest are assumed to be localized.
-	public static final String[] BUNDLE_LOCALIZED_PROPERTIES = {Constants.BUNDLE_NAME, Constants.BUNDLE_DESCRIPTION, Constants.BUNDLE_VENDOR, Constants.BUNDLE_CONTACTADDRESS, Constants.BUNDLE_DOCURL, Constants.BUNDLE_UPDATELOCATION, Constants.BUNDLE_LOCALIZATION};
-
-	public static final String CAPABILITY_NS_JAVA_PACKAGE = "java.package"; //$NON-NLS-1$
-
-	public static final String CAPABILITY_NS_UPDATE_FEATURE = "org.eclipse.update.feature"; //$NON-NLS-1$
-
-	public static final String ECLIPSE_FEATURE_CLASSIFIER = "org.eclipse.update.feature"; //$NON-NLS-1$
-	public static final String OSGI_BUNDLE_CLASSIFIER = "osgi.bundle"; //$NON-NLS-1$
-	public static final String BINARY_ARTIFACT_CLASSIFIER = "binary"; //$NON-NLS-1$
-
-	public static final String INSTALL_FEATURES_FILTER = "(org.eclipse.update.install.features=true)"; //$NON-NLS-1$
-
-	public static final String IU_NAMESPACE = IInstallableUnit.NAMESPACE_IU_ID;
-
-	public static final String ECLIPSE_INSTALL_HANDLER_PROP = "org.eclipse.update.installHandler"; //$NON-NLS-1$
-
-	public static final ITouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
-	public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
-
-	public static final IProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, Version.createOSGi(1, 0, 0));
-
-	public static IArtifactDescriptor createArtifactDescriptor(IArtifactKey key, File pathOnDisk) {
-		return createArtifactDescriptor(null, key, pathOnDisk);
-	}
-
-	public static IArtifactDescriptor createArtifactDescriptor(IArtifactRepository artifactRepo, IArtifactKey key, File pathOnDisk) {
-		IArtifactDescriptor result = artifactRepo != null ? artifactRepo.createArtifactDescriptor(key) : new ArtifactDescriptor(key);
-		if (result instanceof ArtifactDescriptor) {
-			ArtifactDescriptor descriptor = (ArtifactDescriptor) result;
-			if (pathOnDisk != null) {
-				descriptor.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, Long.toString(pathOnDisk.length()));
-				descriptor.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
-			}
-			String md5 = computeMD5(pathOnDisk);
-			if (md5 != null)
-				descriptor.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, md5);
-		}
-		return result;
-	}
-
-	private static String computeMD5(File file) {
-		if (file == null || file.isDirectory() || !file.exists())
-			return null;
-		MessageDigest md5Checker;
-		try {
-			md5Checker = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			return null;
-		}
-		InputStream fis = null;
-		try {
-			fis = new BufferedInputStream(new FileInputStream(file));
-			int read = -1;
-			while ((read = fis.read()) != -1) {
-				md5Checker.update((byte) read);
-			}
-			byte[] digest = md5Checker.digest();
-			StringBuffer buf = new StringBuffer();
-			for (int i = 0; i < digest.length; i++) {
-				if ((digest[i] & 0xFF) < 0x10)
-					buf.append('0');
-				buf.append(Integer.toHexString(digest[i] & 0xFF));
-			}
-			return buf.toString();
-		} catch (FileNotFoundException e) {
-			return null;
-		} catch (IOException e) {
-			return null;
-		} finally {
-			if (fis != null)
-				try {
-					fis.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	public static IProvidedCapability makeTranslationCapability(String hostId, Locale locale) {
-		return MetadataFactory.createProvidedCapability(NAMESPACE_IU_LOCALIZATION, locale.toString(), Version.createOSGi(1, 0, 0));
-	}
-
-	public static String createDefaultConfigUnitId(String classifier, String configurationFlavor) {
-		return configurationFlavor + "." + classifier + ".default"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static IInstallableUnit createDefaultFeatureConfigurationUnit(String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = createDefaultConfigUnitId(ECLIPSE_FEATURE_CLASSIFIER, configurationFlavor);
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on features
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)};
-		cu.setHost(reqs);
-
-		cu.setFilter(INSTALL_FEATURES_FILTER);
-		Map touchpointData = new HashMap();
-		touchpointData.put("install", "installFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
-		touchpointData.put("uninstall", "uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)"); //$NON-NLS-1$//$NON-NLS-2$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	public static IInstallableUnit createDefaultConfigurationUnitForSourceBundles(String configurationFlavor) {
-		InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription();
-		String configUnitId = createDefaultConfigUnitId("source", configurationFlavor); //$NON-NLS-1$
-		cu.setId(configUnitId);
-		Version configUnitVersion = Version.createOSGi(1, 0, 0);
-		cu.setVersion(configUnitVersion);
-
-		// Add capabilities for fragment, self, and describing the flavor supported
-		cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))});
-
-		// Create a required capability on source providers
-		IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)};
-		cu.setHost(reqs);
-		Map touchpointData = new HashMap();
-
-		touchpointData.put("install", "addSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		touchpointData.put("uninstall", "removeSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$
-		cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		return MetadataFactory.createInstallableUnit(cu);
-	}
-
-	private static void addExtraProperties(IInstallableUnit iiu, Properties extraProperties) {
-		if (iiu instanceof InstallableUnit) {
-			InstallableUnit iu = (InstallableUnit) iiu;
-
-			for (Enumeration e = extraProperties.propertyNames(); e.hasMoreElements();) {
-				String name = (String) e.nextElement();
-				iu.setProperty(name, extraProperties.getProperty(name));
-			}
-		}
-	}
-
-	public static IInstallableUnit[] createEclipseIU(BundleDescription bd, boolean isFolderPlugin, IArtifactKey key, Properties extraProperties) {
-		ArrayList iusCreated = new ArrayList(1);
-		IPublisherInfo info = new PublisherInfo();
-		String shape = isFolderPlugin ? IBundleShapeAdvice.DIR : IBundleShapeAdvice.JAR;
-		info.addAdvice(new BundleShapeAdvice(bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion()), shape));
-		IInstallableUnit iu = BundlesAction.createBundleIU(bd, key, info);
-		addExtraProperties(iu, extraProperties);
-		iusCreated.add(iu);
-		return (IInstallableUnit[]) (iusCreated.toArray(new IInstallableUnit[iusCreated.size()]));
-	}
-
-	public static ArtifactKey createBinaryArtifactKey(String id, Version version) {
-		return new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version);
-	}
-
-	public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) {
-		return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
deleted file mode 100644
index c957852..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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 - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.ant;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.p2.publisher.Messages;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.publisher.*;
-
-public abstract class AbstractPublishTask extends Task {
-	protected static final String ANT_PROPERTY_PREFIX = "${"; //$NON-NLS-1$
-
-	/**
-	 * Support nested repository elements that looking something like
-	 *    <repo location="file:/foo" metadata="true" artifact="true" />
-	 * Both metadata and artifact are optional:
-	 *  1) if neither are set, the repo is used for both metadata and artifacts
-	 *  2) if only one is true, the repo is that type and not the other 
-	 */
-	static public class RepoEntry {
-		private URI repoLocation;
-		private Boolean metadata = null;
-		private Boolean artifact = null;
-
-		/**
-		 * If not set, default is true if we aren't set as an artifact repo 
-		 */
-		public boolean isMetadataRepository() {
-			if (metadata != null)
-				return metadata.booleanValue();
-			return !Boolean.TRUE.equals(artifact);
-		}
-
-		/**
-		 * If not set, default is true if we aren't set as an metadata repo 
-		 */
-		public boolean isArtifactRepository() {
-			if (artifact != null)
-				return artifact.booleanValue();
-			return !Boolean.TRUE.equals(metadata);
-		}
-
-		public URI getRepositoryLocation() {
-			return repoLocation;
-		}
-
-		public void setLocation(String location) {
-			try {
-				repoLocation = URIUtil.fromString(location);
-			} catch (URISyntaxException e) {
-				throw new IllegalArgumentException("Repository location (" + location + ") must be a URL."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-
-		public void setMetadata(boolean metadata) {
-			this.metadata = Boolean.valueOf(metadata);
-		}
-
-		public void setArtifact(boolean artifact) {
-			this.artifact = Boolean.valueOf(artifact);
-		}
-	}
-
-	protected boolean compress = false;
-	protected boolean reusePackedFiles = false;
-	protected boolean append = true;
-	protected boolean publish = true;
-	protected URI metadataLocation;
-	protected String metadataRepoName;
-	protected URI artifactLocation;
-	protected String artifactRepoName;
-	protected PublisherInfo provider = null;
-	protected List contextRepositories = new ArrayList();
-
-	protected IProvisioningAgent getProvisioningAgent() {
-		return (IProvisioningAgent) ServiceHelper.getService(Activator.context, IProvisioningAgent.SERVICE_NAME);
-	}
-
-	protected IStatus createConfigurationEror(String message) {
-		return new Status(IStatus.ERROR, "org.eclipse.equinox.p2.publisher", message); //$NON-NLS-1$
-	}
-
-	protected void initializeRepositories(PublisherInfo info) throws ProvisionException {
-		if (artifactLocation != null)
-			info.setArtifactRepository(Publisher.createArtifactRepository(getProvisioningAgent(), artifactLocation, artifactRepoName, append, compress, reusePackedFiles));
-		else if ((info.getArtifactOptions() & IPublisherInfo.A_PUBLISH) > 0)
-			throw new ProvisionException(createConfigurationEror(Messages.exception_noArtifactRepo));
-		if (metadataLocation == null)
-			throw new ProvisionException(createConfigurationEror(Messages.exception_noMetadataRepo));
-		info.setMetadataRepository(Publisher.createMetadataRepository(getProvisioningAgent(), metadataLocation, metadataRepoName, append, compress));
-
-		if (contextRepositories.size() > 0) {
-			CompositeMetadataRepository contextMetadata = CompositeMetadataRepository.createMemoryComposite();
-			CompositeArtifactRepository contextArtifact = CompositeArtifactRepository.createMemoryComposite();
-
-			for (Iterator iterator = contextRepositories.iterator(); iterator.hasNext();) {
-				RepoEntry entry = (RepoEntry) iterator.next();
-				if (contextMetadata != null && entry.isMetadataRepository())
-					contextMetadata.addChild(entry.getRepositoryLocation());
-				if (contextArtifact != null && entry.isArtifactRepository())
-					contextArtifact.addChild(entry.getRepositoryLocation());
-			}
-
-			if (contextMetadata != null && contextMetadata.getChildren().size() > 0)
-				info.setContextMetadataRepository(contextMetadata);
-
-			if (contextArtifact != null && contextArtifact.getChildren().size() > 0)
-				info.setContextArtifactRepository(contextArtifact);
-		}
-	}
-
-	protected PublisherInfo getInfo() {
-		if (provider == null)
-			provider = new PublisherInfo();
-
-		if (publish)
-			provider.setArtifactOptions(provider.getArtifactOptions() | IPublisherInfo.A_PUBLISH);
-		return provider;
-	}
-
-	public void setCompress(String value) {
-		compress = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setReusePackedFiles(String value) {
-		reusePackedFiles = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setAppend(String value) {
-		append = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setPublishArtifacts(String value) {
-		publish = Boolean.valueOf(value).booleanValue();
-	}
-
-	public void setArtifactRepository(String location) {
-		try {
-			artifactLocation = URIUtil.fromString(location);
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("Artifact repository location (" + location + ") must be a URL."); //$NON-NLS-1$//$NON-NLS-2$
-		}
-	}
-
-	public void setArtifactRepositoryName(String value) {
-		artifactRepoName = value;
-	}
-
-	public void setMetadataRepository(String location) {
-		try {
-			metadataLocation = URIUtil.fromString(location);
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("Metadata repository location (" + location + ") must be a URL."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	public void setMetadataRepositoryName(String value) {
-		metadataRepoName = value;
-	}
-
-	public void setRepository(String location) {
-		setArtifactRepository(location);
-		setMetadataRepository(location);
-	}
-
-	public void setRepositoryName(String name) {
-		setArtifactRepositoryName(name);
-		setMetadataRepositoryName(name);
-	}
-
-	// nested <contextRepository/> elements
-	public void addConfiguredContextRepository(RepoEntry repo) {
-		contextRepositories.add(repo);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/FeaturesAndBundlesPublisherTask.java b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/FeaturesAndBundlesPublisherTask.java
deleted file mode 100644
index bd276c1..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/FeaturesAndBundlesPublisherTask.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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 - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.ant;
-
-import java.io.File;
-import java.util.*;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.types.FileSet;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.publisher.IPublisherAction;
-import org.eclipse.equinox.p2.publisher.Publisher;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-
-public class FeaturesAndBundlesPublisherTask extends AbstractPublishTask {
-	private ArrayList features = new ArrayList();
-	private ArrayList bundles = new ArrayList();
-
-	public void execute() throws BuildException {
-		try {
-			initializeRepositories(getInfo());
-		} catch (ProvisionException e) {
-			throw new BuildException("Unable to configure repositories", e); //$NON-NLS-1$
-		}
-
-		File[] f = getLocations(features);
-		File[] b = getLocations(bundles);
-
-		ArrayList actions = new ArrayList();
-		if (f.length > 0)
-			actions.add(new FeaturesAction(f));
-		if (b.length > 0)
-			actions.add(new BundlesAction(b));
-
-		if (actions.size() > 0)
-			new Publisher(getInfo()).publish((IPublisherAction[]) actions.toArray(new IPublisherAction[actions.size()]), new NullProgressMonitor());
-	}
-
-	private File[] getLocations(List collection) {
-		ArrayList results = new ArrayList();
-		for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
-			Object obj = iterator.next();
-			if (obj instanceof FileSet) {
-				FileSet set = (FileSet) obj;
-
-				DirectoryScanner scanner = set.getDirectoryScanner(getProject());
-				String[][] elements = new String[][] {scanner.getIncludedDirectories(), scanner.getIncludedFiles()};
-				for (int i = 0; i < 2; i++) {
-					for (int j = 0; j < elements[i].length; j++) {
-						results.add(new File(set.getDir(), elements[i][j]));
-					}
-				}
-			} else if (obj instanceof File) {
-				results.add(obj);
-			}
-		}
-		return (File[]) results.toArray(new File[results.size()]);
-	}
-
-	public FileSet createFeatures() {
-		FileSet set = new FileSet();
-		features.add(set);
-		return set;
-	}
-
-	public FileSet createBundles() {
-		FileSet set = new FileSet();
-		bundles.add(set);
-		return set;
-	}
-
-	public void setSource(String source) {
-		features.add(new File(source, "features")); //$NON-NLS-1$
-		bundles.add(new File(source, "plugins")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/ProductPublisherTask.java b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/ProductPublisherTask.java
deleted file mode 100644
index 79ce8a7..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/ProductPublisherTask.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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 - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.ant;
-
-import java.io.File;
-import java.util.*;
-import org.apache.tools.ant.BuildException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.IProductDescriptor;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.VersionAdvice;
-import org.eclipse.equinox.p2.publisher.eclipse.ProductAction;
-
-public class ProductPublisherTask extends AbstractPublishTask {
-
-	public static class ConfigElement {
-		public String os;
-		public String ws;
-		public String arch;
-
-		public void setOs(String os) {
-			this.os = os;
-		}
-
-		public void setWs(String ws) {
-			this.ws = ws;
-		}
-
-		public void setArch(String arch) {
-			this.arch = arch;
-		}
-
-		public String toString() {
-			return ws + '.' + os + '.' + arch;
-		}
-	}
-
-	public static class AdviceElement {
-		public String kind;
-		public String file;
-
-		public void setKind(String kind) {
-			this.kind = kind;
-		}
-
-		public void setFile(String file) {
-			this.file = file;
-		}
-	}
-
-	private String flavor;
-	private String productFile;
-	private String executables;
-	private String source;
-	private List configurations = new ArrayList(3);
-	private List advice = new ArrayList(3);
-
-	public void execute() throws BuildException {
-		try {
-			initializeRepositories(getInfo());
-		} catch (ProvisionException e) {
-			throw new BuildException("Unable to configure repositories", e); //$NON-NLS-1$
-		}
-
-		IProductDescriptor productDescriptor = null;
-		try {
-			productDescriptor = new ProductFile(productFile);
-		} catch (Exception e) {
-			if (productFile == null)
-				throw new IllegalArgumentException("unable to load product file"); //$NON-NLS-1$
-		}
-
-		if (flavor == null || flavor.startsWith(ANT_PROPERTY_PREFIX))
-			flavor = "tooling"; //$NON-NLS-1$
-
-		IPublisherAction action = new ProductAction(source, productDescriptor, flavor, executables != null ? new File(executables) : null);
-		new Publisher(getInfo()).publish(new IPublisherAction[] {action}, new NullProgressMonitor());
-	}
-
-	protected PublisherInfo getInfo() {
-		String[] configStrings = new String[configurations.size()];
-		for (int i = 0; i < configurations.size(); i++) {
-			configStrings[i] = configurations.get(i).toString();
-		}
-
-		PublisherInfo info = super.getInfo();
-		info.setConfigurations(configStrings);
-		processAdvice(info);
-		return info;
-	}
-
-	protected void processAdvice(PublisherInfo info) {
-		for (Iterator iterator = advice.iterator(); iterator.hasNext();) {
-			AdviceElement element = (AdviceElement) iterator.next();
-			if (element.kind == null || element.file == null)
-				continue;
-
-			if (element.kind.equals("featureVersions") || element.kind.equals("pluginVersions")) { //$NON-NLS-1$ //$NON-NLS-2$
-				VersionAdvice versionAdvice = new VersionAdvice();
-				versionAdvice.load(IInstallableUnit.NAMESPACE_IU_ID, element.file, element.kind.startsWith("features") ? ".feature.group" : null); //$NON-NLS-1$ //$NON-NLS-2$
-				info.addAdvice(versionAdvice);
-			}
-		}
-	}
-
-	public void setFlavor(String flavor) {
-		this.flavor = flavor;
-	}
-
-	public void setProductFile(String productFile) {
-		this.productFile = productFile;
-	}
-
-	public void setExecutables(String executables) {
-		this.executables = executables;
-	}
-
-	public void setSource(String source) {
-		this.source = source;
-	}
-
-	public void addConfiguredConfig(ConfigElement config) {
-		this.configurations.add(config);
-	}
-
-	public void addConfiguredAdvice(AdviceElement element) {
-		this.advice.add(element);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/PublisherTask.java b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/PublisherTask.java
deleted file mode 100644
index 9428d59..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/PublisherTask.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.ant;
-
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.EclipseInstallAction;
-
-/**
- * An Ant task to call the p2 publisher application.
- * 
- * @since 1.0
- */
-public class PublisherTask extends AbstractPublishTask {
-
-	protected String source;
-	protected boolean inplace = false;
-	protected String[] configurations;
-	protected String mode;
-	private String flavor;
-	private String operation;
-	private String operationValue;
-	private String root;
-	private String rootVersion;
-	private String versionAdvice;
-	private String rootName;
-	private String executableName;
-	private IVersionedId[] topLevel;
-	private boolean start;
-	private String[] nonRootFiles;
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		try {
-			initialize(getInfo());
-		} catch (ProvisionException e) {
-			throw new BuildException("Unable to configure repositories", e); //$NON-NLS-1$
-		}
-		createVersionAdvice();
-		IPublisherAction[] actions = createActions();
-		//TODO Do something with publisher result
-		new Publisher(getInfo()).publish(actions, new NullProgressMonitor());
-	}
-
-	private IPublisherAction[] createActions() {
-		if (operation == null)
-			// TODO what to do in this case?
-			return new IPublisherAction[] {};
-		if (operation.equals("-update")) //$NON-NLS-1$
-			// TODO fix this up.  watch for circularities
-			//			return new IPublishingAction[] {new LocalUpdateSiteAction(operationValue)};
-			return new IPublisherAction[] {};
-		if (operation.equals("-source")) //$NON-NLS-1$
-			// TODO what to do in this case?
-			return new IPublisherAction[] {new EclipseInstallAction(operationValue, root, Version.parseVersion(rootVersion), rootName, executableName, flavor, topLevel, nonRootFiles, start)};
-		// TODO what to do in this case?
-		return new IPublisherAction[] {};
-	}
-
-	private void createVersionAdvice() {
-		if (versionAdvice == null)
-			return;
-		// TODO read the version advice and add the IVersionAdvice
-	}
-
-	protected void initialize(PublisherInfo info) throws ProvisionException {
-		if (inplace) {
-			File sourceLocation = new File(source);
-			if (metadataLocation == null)
-				metadataLocation = sourceLocation.toURI();
-			if (artifactLocation == null)
-				artifactLocation = sourceLocation.toURI();
-			info.setArtifactOptions(info.getArtifactOptions() | IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH);
-		} else
-			info.setArtifactOptions(info.getArtifactOptions() | IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH | IPublisherInfo.A_OVERWRITE);
-		initializeRepositories(info);
-	}
-
-	public void setBase(String value) {
-		source = value;
-	}
-
-	public void setBundles(String value) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	public void setConfig(String value) {
-		operation = "-config"; //$NON-NLS-1$
-		operationValue = value;
-	}
-
-	public void setInplace(String value) {
-		operation = "-inplace"; //$NON-NLS-1$
-		operationValue = value;
-	}
-
-	public void setSource(String location) {
-		operation = "-source"; //$NON-NLS-1$
-		operationValue = location;
-	}
-
-	public void setUpdateSite(String value) {
-		operation = "-update"; //$NON-NLS-1$
-		operationValue = value;
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public void setExe(String value) {
-		executableName = value;
-	}
-
-	public void setFeatures(String value) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	public void setFlavor(String value) {
-		flavor = value;
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public void setLauncherConfig(String value) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	public void setNoDefaultIUs(String value) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public void setP2OS(String value) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	public void setProductFile(String file) {
-		//TODO Remove - currently exists for compatibility with generator task
-	}
-
-	public void setPublishArtifactRepository(String value) {
-		getInfo().setArtifactOptions(getInfo().getArtifactOptions() | IPublisherInfo.A_INDEX);
-	}
-
-	public void setPublishArtifacts(String value) {
-		getInfo().setArtifactOptions(getInfo().getArtifactOptions() | IPublisherInfo.A_PUBLISH);
-	}
-
-	public void setRoot(String value) {
-		root = value;
-	}
-
-	public void setRootVersion(String value) {
-		rootVersion = value;
-	}
-
-	public void setMode(String value) {
-		mode = value;
-	}
-
-	public void setVersionAdvice(String value) {
-		versionAdvice = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/TaskMessages.java b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/TaskMessages.java
deleted file mode 100644
index 6893edd..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/TaskMessages.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.publisher.ant;
-
-import org.eclipse.osgi.util.NLS;
-
-public class TaskMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.metadata.generator.ant.messages";//$NON-NLS-1$
-
-	public static String exception_errorOccurredCallingGenerator;
-	public static String exception_errorArtifactRepo;
-	public static String exception_errorMetadataRepo;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, TaskMessages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/messages.properties b/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/messages.properties
deleted file mode 100644
index 2c2eb1c..0000000
--- a/bundles/org.eclipse.equinox.p2.publisher/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-
-exception_errorOccurredCallingGenerator = An error occurred when calling generator.
-exception_errorArtifactRepo = Error setting artifact repository {0}.
-exception_errorMetadataRepo = Error setting metadata repository {0}.
diff --git a/bundles/org.eclipse.equinox.p2.sar/.classpath b/bundles/org.eclipse.equinox.p2.ql/.classpath
similarity index 100%
rename from bundles/org.eclipse.equinox.p2.sar/.classpath
rename to bundles/org.eclipse.equinox.p2.ql/.classpath
diff --git a/bundles/org.eclipse.equinox.p2.ql/.project b/bundles/org.eclipse.equinox.p2.ql/.project
new file mode 100644
index 0000000..6140e1b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.equinox.p2.ql</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..b069b3c
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Nov 12 08:11:03 CET 2009
+eclipse.preferences.version=1
+encoding//model/p2ql.ecorediag=UTF-8
diff --git a/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c8a5bb1
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,347 @@
+#Sun Dec 06 23:10:54 EST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=800
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.equinox.p2.ql/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.equinox.p2.ql/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ql/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..da5be86
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.equinox.p2.ql;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.4,
+ CDC-1.1/Foundation-1.1
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.equinox.internal.p2.metadata,
+ org.eclipse.equinox.internal.provisional.p2.metadata,
+ org.eclipse.equinox.internal.provisional.p2.metadata.query,
+ org.eclipse.equinox.p2.metadata,
+ org.eclipse.equinox.p2.metadata.query,
+ org.eclipse.equinox.p2.repository.artifact,
+ org.osgi.framework
+Export-Package: org.eclipse.equinox.internal.p2.ql,
+ org.eclipse.equinox.p2.ql
+Bundle-Activator: org.eclipse.equinox.internal.p2.ql.QLActivator
+Require-Bundle: org.eclipse.equinox.common;bundle-version="3.5.1"
diff --git a/bundles/org.eclipse.equinox.p2.core/about.html b/bundles/org.eclipse.equinox.p2.ql/about.html
similarity index 100%
rename from bundles/org.eclipse.equinox.p2.core/about.html
rename to bundles/org.eclipse.equinox.p2.ql/about.html
diff --git a/bundles/org.eclipse.equinox.p2.ql/build.properties b/bundles/org.eclipse.equinox.p2.ql/build.properties
new file mode 100644
index 0000000..230777f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+               model/
diff --git a/bundles/org.eclipse.equinox.p2.ql/model/p2ql.bnf b/bundles/org.eclipse.equinox.p2.ql/model/p2ql.bnf
new file mode 100644
index 0000000..476f541
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/model/p2ql.bnf
@@ -0,0 +1,67 @@
+condition
+	: orExpression ( '?' orExpression ':' orExpression )?
+	;
+
+orExpression : andExpression ( '||' andExpression )* ;
+
+andExpression : binaryExpression ( '&&' binaryExpression )* ;
+
+binaryExpression : notExpression ( op notExpression )?;
+
+op : '=' | '!=' | '>' | '>=' | '<' | '<=' | '~=' ;
+
+notExpression
+	: '!' notExpression
+	| collectionExpression
+	;
+
+collectionExpression
+	: memberExpression ( '.' collectionFunction )*
+	;
+
+memberExpression : constructor ( ( '.' ID ) | ( '[' memberExpression ']' ) )* ;
+
+constructor
+	: ( filter | version | range | class ) '(' unaryExpression ')'
+	| set '(' ( collectionExpression ( ',' collectionExpression )* )? ')'
+	| unaryExpression
+	;
+
+collectionFunction
+	: ( select | reject | exists | all | traverse ) '(' lambdaDefinition ')'
+	| limit '(' memberExpression ')'
+	| unique '(' memberExpression? ')'
+	| latest '(' lambdaDefinition? ')'
+	;
+
+lambdaDefinition
+	: initializer ( ',' initializer )* ( ',' '{' lambda '}' )?
+	| '{' lambda '}'
+	| lambda
+	;
+
+initializer
+	: '_'
+	| condition
+	;
+
+lambda
+	: ( ID ( ',' ID )* )? '|' condition
+	;
+
+unaryExpression
+	: '(' condition ')'
+	| '[' condition ( ',' condition )* ']' // #array construct
+	| '/' regexpPattern '/'
+	| STRING
+	| INT
+	| parameter
+	| 'null'
+	| 'true'
+	| 'false'
+	| ID
+	;
+
+parameter
+	: '$' INT | ID
+	;
diff --git a/bundles/org.eclipse.equinox.p2.ql/plugin.properties b/bundles/org.eclipse.equinox.p2.ql/plugin.properties
new file mode 100644
index 0000000..3223d0e
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/plugin.properties
@@ -0,0 +1,8 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = P2ql Model
+providerName = www.example.org
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/All.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/All.java
new file mode 100644
index 0000000..bc8c3a9
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/All.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * A collection filter that yields true if the <code>filter</code> yields true for
+ * all of the elements of the <code>collection</code>
+ */
+public final class All extends CollectionFilter {
+	static final String OPERATOR = "all"; //$NON-NLS-1$
+
+	public All(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(ExpressionContext context, VariableScope scope, Iterator itor) {
+		while (itor.hasNext()) {
+			variable.setValue(scope, itor.next());
+			if (lambda.evaluate(context, scope) != Boolean.TRUE)
+				return Boolean.FALSE;
+		}
+		return Boolean.TRUE;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/And.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/And.java
new file mode 100644
index 0000000..1c269c5
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/And.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+
+/**
+ * n-ary AND operator. This operator evaluates its first operand and then checks
+ * the class of the result. If the class is {@link Boolean} then it is assumed
+ * that all other operands also evaluates to a boolean and the full evaluation is
+ * <code>true</code> if all its operands evaluate to <code>true</code>. If the first
+ * result was not of class {@link Boolean}, then it is assumed that it can be accessed
+ * as an {@link Iterator} and that all other operands also evaluates to something that
+ * can be accessed as an {@link Iterator}. The AND operator will then function as a
+ * INTERSECT operator and the result is the set of elements that were found in all operands. 
+ */
+public final class And extends NAry {
+	static final String OPERATOR = "&&"; //$NON-NLS-1$
+
+	public And(Expression[] operands) {
+		super(assertLength(operands, 2, OPERATOR));
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object firstValue = operands[0].evaluate(context, scope);
+
+		// Determine operation mode
+		if (firstValue instanceof Boolean) {
+			// The first value was boolean. Assume that the rest are too
+			if (!((Boolean) firstValue).booleanValue())
+				return Boolean.FALSE;
+
+			for (int idx = 1; idx < operands.length; ++idx) {
+				if (operands[idx].evaluate(context, scope) != Boolean.TRUE)
+					return Boolean.FALSE;
+			}
+			return Boolean.TRUE;
+		}
+
+		// Not a boolean. Assume that we can use an iterator on all values
+		Set resultSet = asSet(firstValue, false); // Safe since it will not be modified
+		for (int idx = 1; idx < operands.length && !resultSet.isEmpty(); ++idx) {
+			Iterator itor = operands[idx].evaluateAsIterator(context, scope);
+			Set retained = new HashSet();
+			while (itor.hasNext()) {
+				Object value = itor.next();
+				if (resultSet.contains(value))
+					retained.add(value);
+			}
+			resultSet = retained;
+		}
+		return resultSet;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_AND;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Array.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Array.java
new file mode 100644
index 0000000..ffada9b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Array.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An array of expressions
+ */
+public final class Array extends NAry {
+	static final String OPERATOR = "[]"; //$NON-NLS-1$
+
+	static void elementsToString(StringBuffer bld, Expression[] elements) {
+		int top = elements.length;
+		if (top > 0) {
+			elements[0].toString(bld);
+			for (int idx = 1; idx < top; ++idx) {
+				bld.append(", "); //$NON-NLS-1$
+				appendOperand(bld, elements[idx], ExpressionParser.PRIORITY_COMMA);
+			}
+		}
+	}
+
+	public Array(Expression[] operands) {
+		super(assertLength(operands, 0, OPERATOR));
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return new ArrayIterator(context, scope, operands);
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append('[');
+		elementsToString(bld, operands);
+		bld.append(']');
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_CONSTRUCTOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ArrayIterator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ArrayIterator.java
new file mode 100644
index 0000000..dc136ce
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ArrayIterator.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * A MatchIteratorFilter controlled by an expression
+ */
+public class ArrayIterator implements Iterator {
+	private final Expression[] expressions;
+
+	private final ExpressionContext context;
+
+	private final VariableScope scope;
+
+	private int pos = -1;
+
+	public ArrayIterator(ExpressionContext context, VariableScope scope, Expression[] expressions) {
+		this.expressions = expressions;
+		this.context = context;
+		this.scope = scope;
+	}
+
+	public boolean hasNext() {
+		return pos + 1 < expressions.length;
+	}
+
+	public Object next() {
+		if (++pos >= expressions.length) {
+			--pos;
+			throw new NoSuchElementException();
+		}
+		return expressions[pos].evaluate(context, scope);
+	}
+
+	public void remove() {
+		throw new UnsupportedOperationException();
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/At.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/At.java
new file mode 100644
index 0000000..2a1c04f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/At.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+
+/**
+ * This class represents indexed or keyed access to an indexed collection
+ * or a map.
+ */
+public final class At extends Binary {
+	public static final String OPERATOR = "[]"; //$NON-NLS-1$
+
+	public At(Expression lhs, Expression rhs) {
+		super(lhs, rhs);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object lval;
+		if (lhs instanceof Member) {
+			Member lm = (Member) lhs;
+			Object instance = lm.operand.evaluate(context, scope);
+			if (instance instanceof IInstallableUnit && "properties".equals(lm.name)) //$NON-NLS-1$
+				// Avoid full copy of the properties map just to get one member
+				return ((IInstallableUnit) instance).getProperty((String) rhs.evaluate(context, scope));
+			lval = lm.invoke(instance, Member.NO_ARGS);
+		} else
+			lval = lhs.evaluate(context, scope);
+
+		Object rval = rhs.evaluate(context, scope);
+		if (lval == null)
+			throw new IllegalArgumentException("Unable to use [] on null"); //$NON-NLS-1$
+
+		if (lval instanceof Map)
+			return ((Map) lval).get(rval);
+
+		if (rval instanceof Number) {
+			if (lval instanceof List)
+				return ((List) lval).get(((Number) rval).intValue());
+			if (lval != null && lval.getClass().isArray())
+				return ((Object[]) lval)[((Number) rval).intValue()];
+		}
+
+		if (lval instanceof Dictionary)
+			return ((Dictionary) lval).get(rval);
+
+		throw new IllegalArgumentException("Unable to use [] on a " + lval.getClass().getName()); //$NON-NLS-1$
+	}
+
+	public void toString(StringBuffer bld) {
+		appendOperand(bld, lhs, getPriority());
+		bld.append('[');
+		appendOperand(bld, rhs, ExpressionParser.PRIORITY_COMMA);
+		bld.append(']');
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_MEMBER;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Binary.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Binary.java
new file mode 100644
index 0000000..5927a08
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Binary.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The abstract base class for all binary operations
+ */
+abstract class Binary extends Expression {
+	final Expression lhs;
+
+	final Expression rhs;
+
+	Binary(Expression lhs, Expression rhs) {
+		this.lhs = lhs;
+		this.rhs = rhs;
+	}
+
+	public boolean accept(Visitor visitor) {
+		return super.accept(visitor) && lhs.accept(visitor) && rhs.accept(visitor);
+	}
+
+	public void toString(StringBuffer bld) {
+		appendOperand(bld, lhs, getPriority());
+		bld.append(' ');
+		bld.append(getOperator());
+		bld.append(' ');
+		appendOperand(bld, rhs, getPriority());
+	}
+
+	int countReferenceToEverything() {
+		return lhs.countReferenceToEverything() + rhs.countReferenceToEverything();
+	}
+
+	abstract String getOperator();
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_BINARY; // Default priority
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndex.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndex.java
new file mode 100644
index 0000000..84e6501
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndex.java
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
+import org.eclipse.equinox.internal.p2.ql.CapabilityIndexFunction.IUCapability;
+
+/**
+ * An in-memory implementation of a CapabilityIndex based on a Map.
+ */
+public class CapabilityIndex {
+
+	private final Map capabilityMap;
+
+	public CapabilityIndex(Map capabilityMap) {
+		this.capabilityMap = capabilityMap;
+	}
+
+	public Collection satisfiesAny(Object value) {
+		if (value instanceof IRequiredCapability) {
+			List collector = new ArrayList();
+			collectMatchingIUs((IRequiredCapability) value, collector);
+			return collector;
+		} else if (value instanceof Iterator) {
+			Iterator itor = (Iterator) value;
+			if (!itor.hasNext())
+				return Collections.EMPTY_LIST;
+			List collector = new ArrayList();
+			do {
+				Object nxt = itor.next();
+				if (!(nxt instanceof IRequiredCapability))
+					throw new IllegalArgumentException();
+				collectMatchingIUs((IRequiredCapability) nxt, collector);
+			} while (itor.hasNext());
+			return collector;
+		}
+		throw new IllegalArgumentException();
+	}
+
+	public Collection satisfiesAll(Object value) {
+		if (value instanceof IRequiredCapability) {
+			List collector = new ArrayList();
+			collectMatchingIUs((IRequiredCapability) value, collector);
+			return collector;
+		} else if (value instanceof Iterator) {
+			Iterator itor = (Iterator) value;
+			if (!itor.hasNext())
+				return Collections.EMPTY_LIST;
+
+			Set collector = new HashSet();
+			Object nxt = itor.next();
+			if (!(nxt instanceof IRequiredCapability))
+				throw new IllegalArgumentException();
+			collectMatchingIUs((IRequiredCapability) nxt, collector);
+
+			while (itor.hasNext() && !collector.isEmpty()) {
+				nxt = itor.next();
+				if (!(nxt instanceof IRequiredCapability))
+					throw new IllegalArgumentException();
+				collector = retainMatchingIUs((IRequiredCapability) nxt, collector);
+			}
+			return collector;
+		}
+		throw new IllegalArgumentException();
+	}
+
+	private void collectMatchingIUs(IRequiredCapability rc, Collection collector) {
+		Object v = capabilityMap.get(rc.getName());
+		if (v == null)
+			return;
+
+		if (v instanceof IUCapability) {
+			IUCapability iuc = (IUCapability) v;
+			if (rc.satisfiedBy(iuc.capability))
+				collector.add(iuc.iu);
+		} else {
+			List iucs = (List) v;
+			int idx = iucs.size();
+			while (--idx >= 0) {
+				IUCapability iuc = (IUCapability) iucs.get(idx);
+				if (rc.satisfiedBy(iuc.capability))
+					collector.add(iuc.iu);
+			}
+		}
+	}
+
+	private Set retainMatchingIUs(IRequiredCapability rc, Set collector) {
+		Object v = capabilityMap.get(rc.getName());
+		if (v == null)
+			return Collections.EMPTY_SET;
+
+		Set retained = null;
+		if (v instanceof IUCapability) {
+			IUCapability iuc = (IUCapability) v;
+			if (rc.satisfiedBy(iuc.capability) && collector.contains(iuc.iu)) {
+				if (retained == null)
+					retained = new HashSet();
+				retained.add(iuc.iu);
+			}
+		} else {
+			List iucs = (List) v;
+			int idx = iucs.size();
+			while (--idx >= 0) {
+				IUCapability iuc = (IUCapability) iucs.get(idx);
+				if (rc.satisfiedBy(iuc.capability) && collector.contains(iuc.iu)) {
+					if (retained == null)
+						retained = new HashSet();
+					retained.add(iuc.iu);
+				}
+			}
+		}
+		return retained == null ? Collections.EMPTY_SET : retained;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndexFunction.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndexFunction.java
new file mode 100644
index 0000000..5016f06
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CapabilityIndexFunction.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+
+/**
+ * A function that creates a {@link CapabilityIndex} based on a collection of
+ * {@link IInstallableUnit} instances.
+ */
+public final class CapabilityIndexFunction extends Function {
+
+	static final String KEYWORD = "capabilityIndex"; //$NON-NLS-1$
+
+	static class IUCapability {
+		final IInstallableUnit iu;
+		final IProvidedCapability capability;
+
+		public IUCapability(IInstallableUnit iu, IProvidedCapability capability) {
+			this.iu = iu;
+			this.capability = capability;
+		}
+	}
+
+	public CapabilityIndexFunction(Expression[] operands) {
+		super(operands);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		HashMap index = new HashMap();
+		Iterator itor = operands[0].evaluateAsIterator(context, scope);
+		while (itor.hasNext()) {
+			IInstallableUnit iu = (IInstallableUnit) itor.next();
+			IProvidedCapability[] pcs = iu.getProvidedCapabilities();
+			int idx = pcs.length;
+			while (--idx >= 0) {
+				IProvidedCapability pc = pcs[idx];
+				IUCapability iuCap = new IUCapability(iu, pc);
+				String name = pc.getName();
+				Object prev = index.put(name, iuCap);
+				if (prev != null) {
+					ArrayList lst;
+					if (prev instanceof ArrayList)
+						lst = (ArrayList) prev;
+					else {
+						lst = new ArrayList(4);
+						lst.add(prev);
+					}
+					lst.add(iuCap);
+					index.put(name, lst);
+				}
+			}
+		}
+		return new CapabilityIndex(index);
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ClassFunction.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ClassFunction.java
new file mode 100644
index 0000000..8f17420
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ClassFunction.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * A function that obtains a class based on a String
+ */
+public class ClassFunction extends Function {
+
+	static final String KEYWORD = "class"; //$NON-NLS-1$
+
+	public ClassFunction(Expression[] operands) {
+		super(operands);
+	}
+
+	Object createInstance(String arg) {
+		try {
+			return Class.forName(arg);
+		} catch (ClassNotFoundException e) {
+			throw new IllegalArgumentException(e.getMessage());
+		}
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Collect.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Collect.java
new file mode 100644
index 0000000..87a2d48
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Collect.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * An expression that yields a new collection consisting of all elements of the
+ * <code>collection</code> for which the <code>filter</code> yields <code>true</code>.
+ */
+public final class Collect extends CollectionFilter {
+	public static final String OPERATOR = "collect"; //$NON-NLS-1$
+
+	public Collect(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(ExpressionContext context, VariableScope scope, Iterator itor) {
+		return new CollectIterator(context, scope, variable, itor, lambda);
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectIterator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectIterator.java
new file mode 100644
index 0000000..787c623
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectIterator.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * A MatchIteratorFilter controlled by an expression
+ */
+public class CollectIterator implements Iterator {
+	private final Expression expression;
+
+	private final ExpressionContext context;
+
+	private final VariableScope scope;
+
+	private final EachVariable variable;
+
+	private final Iterator innerIterator;
+
+	public CollectIterator(ExpressionContext context, VariableScope scope, EachVariable variable, Iterator iterator, Expression expression) {
+		this.expression = expression;
+		this.context = context;
+		this.scope = scope;
+		this.variable = variable;
+		this.innerIterator = iterator;
+	}
+
+	public boolean hasNext() {
+		return innerIterator.hasNext();
+	}
+
+	public Object next() {
+		variable.setValue(scope, innerIterator.next());
+		return expression.evaluate(context, scope);
+	}
+
+	public void remove() {
+		throw new UnsupportedOperationException();
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectionFilter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectionFilter.java
new file mode 100644
index 0000000..66e530d
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/CollectionFilter.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * Some kind of operation that is performed for each element of a collection. I.e.
+ * <code>x.&lt;operation&gt;(y | &lt;expression&rt;)</code>
+ */
+abstract class CollectionFilter extends Unary {
+	static void appendProlog(StringBuffer bld, Expression lhs, String operator) {
+		if (lhs != Variable.EVERYTHING && lhs != Variable.ITEM) {
+			appendOperand(bld, lhs, ExpressionParser.PRIORITY_COLLECTION);
+			bld.append('.');
+		}
+		bld.append(operator);
+		bld.append('(');
+	}
+
+	final LambdaExpression lambda;
+	final EachVariable variable;
+
+	CollectionFilter(Expression collection, LambdaExpression lambda) {
+		super(collection);
+		this.lambda = lambda;
+		this.variable = lambda.getItemVariable();
+	}
+
+	public boolean accept(Visitor visitor) {
+		return super.accept(visitor) && lambda.accept(visitor);
+	}
+
+	public final Object evaluate(ExpressionContext context, VariableScope scope) {
+		Iterator lval = operand.evaluateAsIterator(context, scope);
+		scope = lambda.prolog(context, scope);
+		return evaluate(context, scope, lval);
+	}
+
+	public void toString(StringBuffer bld) {
+		appendProlog(bld, operand, getOperator());
+		appendOperand(bld, lambda, ExpressionParser.PRIORITY_LAMBDA);
+		bld.append(')');
+	}
+
+	int countReferenceToEverything() {
+		return super.countReferenceToEverything() + lambda.countReferenceToEverything();
+	}
+
+	abstract Object evaluate(final ExpressionContext context, final VariableScope scope, Iterator iterator);
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_COLLECTION;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Compare.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Compare.java
new file mode 100644
index 0000000..75962fd
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Compare.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
+
+/**
+ * Comparisons for magnitude.
+ */
+public final class Compare extends Binary {
+	static final String LT_OPERATOR = "<"; //$NON-NLS-1$
+	static final String LT_EQUAL_OPERATOR = "<="; //$NON-NLS-1$
+	static final String GT_OPERATOR = ">"; //$NON-NLS-1$
+	static final String GT_EQUAL_OPERATOR = ">="; //$NON-NLS-1$
+
+	private final boolean compareLess;
+	private final boolean equalOK;
+
+	public Compare(Expression lhs, Expression rhs, boolean compareLess, boolean equalOK) {
+		super(lhs, rhs);
+		this.compareLess = compareLess;
+		this.equalOK = equalOK;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object lval = lhs.evaluate(context, scope);
+		Object rval = rhs.evaluate(context, scope);
+		if (lval == null || rval == null)
+			throw new IllegalArgumentException("Cannot compare null to anything"); //$NON-NLS-1$
+
+		try {
+
+			if (lval.getClass() != rval.getClass()) {
+				if (lval instanceof Version && rval instanceof String)
+					rval = Version.create((String) rval);
+				else if (rval instanceof Version && lval instanceof String)
+					lval = Version.create((String) lval);
+				else if (lval instanceof String)
+					rval = rval.toString();
+				else if (rval instanceof String)
+					lval = lval.toString();
+			}
+
+			if (lval instanceof Comparable) {
+				int cmpResult = ((Comparable) lval).compareTo(rval);
+				return Boolean.valueOf(cmpResult == 0 ? equalOK : (cmpResult < 0 ? compareLess : !compareLess));
+			}
+		} catch (Exception e) {
+			//
+		}
+		throw new IllegalArgumentException("Cannot compare a " + lval.getClass().getName() + " to a " + rval.getClass().getName()); //$NON-NLS-1$//$NON-NLS-2$
+	}
+
+	String getOperator() {
+		return compareLess ? (equalOK ? LT_EQUAL_OPERATOR : LT_OPERATOR) : (equalOK ? GT_EQUAL_OPERATOR : GT_OPERATOR);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Condition.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Condition.java
new file mode 100644
index 0000000..0302e63
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Condition.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * Comparisons for magnitude.
+ */
+public final class Condition extends Binary {
+	static final String IF_OPERATOR = "?"; //$NON-NLS-1$
+	static final String ELSE_OPERATOR = ":"; //$NON-NLS-1$
+
+	final Expression ifFalse;
+
+	public Condition(Expression test, Expression ifTrue, Expression ifFalse) {
+		super(test, ifTrue);
+		this.ifFalse = ifFalse;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return lhs.evaluate(context, scope) == Boolean.TRUE ? rhs.evaluate(context, scope) : ifFalse.evaluate(context, scope);
+	}
+
+	public void toString(StringBuffer bld) {
+		super.toString(bld);
+		bld.append(' ');
+		bld.append(ELSE_OPERATOR);
+		bld.append(' ');
+		appendOperand(bld, ifFalse, getPriority());
+	}
+
+	String getOperator() {
+		return IF_OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_CONDITION;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Constant.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Constant.java
new file mode 100644
index 0000000..d358b40
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Constant.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that represents a constant value.
+ */
+public final class Constant extends Expression {
+	private final Object value;
+
+	public static final Constant NULL_CONSTANT = new Constant(null);
+
+	public static final Constant TRUE_CONSTANT = new Constant(Boolean.TRUE);
+
+	public static final Constant FALSE_CONSTANT = new Constant(Boolean.FALSE);
+
+	static final String NULL_KEYWORD = "null"; //$NON-NLS-1$
+
+	static final String FALSE_KEYWORD = "false"; //$NON-NLS-1$
+
+	static final String TRUE_KEYWORD = "true"; //$NON-NLS-1$
+
+	public Constant(Object value) {
+		this.value = value;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return value;
+	}
+
+	public void toString(StringBuffer bld) {
+		if (value == null)
+			bld.append("null"); //$NON-NLS-1$
+		else if (value instanceof String) {
+			String str = (String) value;
+			char sep = str.indexOf('\'') >= 0 ? '"' : '\'';
+			bld.append(sep);
+			bld.append(str);
+			bld.append(sep);
+		} else if (value instanceof SimplePattern) {
+			appendEscaped(bld, '/', value.toString());
+		} else
+			bld.append(value);
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_LITERAL;
+	}
+
+	private void appendEscaped(StringBuffer bld, char delimiter, String str) {
+		bld.append(delimiter);
+		int top = str.length();
+		for (int idx = 0; idx < top; ++idx) {
+			char c = str.charAt(idx);
+			if (c == delimiter)
+				bld.append('\\');
+			bld.append(c);
+		}
+		bld.append(delimiter);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ContextExpression.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ContextExpression.java
new file mode 100644
index 0000000..38cde39
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ContextExpression.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The context expression is the top expression in context queries. It introduces the
+ * variable 'everything' and initialized it with the iterator that represents all
+ * available items.
+ */
+public final class ContextExpression extends Binary {
+
+	public ContextExpression(Variable contextVariable, Expression expression) {
+		super(contextVariable, expression);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		((Variable) lhs).setValue(scope, context);
+		return rhs.evaluate(context, scope);
+	}
+
+	public void toString(StringBuffer bld) {
+		rhs.toString(bld);
+	}
+
+	public VariableScope defineScope() {
+		return new SingleVariableScope((Variable) lhs);
+	}
+
+	int countReferenceToEverything() {
+		return rhs.countReferenceToEverything();
+	}
+
+	String getOperator() {
+		throw new UnsupportedOperationException();
+	}
+
+	int getPriority() {
+		return rhs.getPriority();
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/EachVariable.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/EachVariable.java
new file mode 100644
index 0000000..2365cb9
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/EachVariable.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression representing a variable stack in the current thread.
+ */
+final class EachVariable extends Variable {
+	static final String KEYWORD_EACH = "_"; //$NON-NLS-1$
+
+	EachVariable(String name) {
+		super(name);
+	}
+
+	int countReferenceToEverything() {
+		return 0;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Equals.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Equals.java
new file mode 100644
index 0000000..32ce25b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Equals.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that performs the == and != comparisons
+ */
+public final class Equals extends Binary {
+	static final String EQUALS_OPERATOR = "=="; //$NON-NLS-1$
+	static final String NOT_EQUALS_OPERATOR = "!="; //$NON-NLS-1$
+
+	private final boolean negate;
+
+	public Equals(Expression lhs, Expression rhs) {
+		this(lhs, rhs, false);
+	}
+
+	public Equals(Expression lhs, Expression rhs, boolean negate) {
+		super(lhs, rhs);
+		this.negate = negate;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object lval = lhs.evaluate(context, scope);
+		Object rval = rhs.evaluate(context, scope);
+		boolean result;
+		if (lval == null || rval == null)
+			result = lval == rval;
+		else {
+			if (lval.getClass() != rval.getClass()) {
+				if (lval instanceof String)
+					rval = rval.toString();
+				else if (rval instanceof String)
+					lval = lval.toString();
+			}
+			result = lval.equals(rval);
+		}
+		if (negate)
+			result = !result;
+		return Boolean.valueOf(result);
+	}
+
+	String getOperator() {
+		return negate ? NOT_EQUALS_OPERATOR : EQUALS_OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Exists.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Exists.java
new file mode 100644
index 0000000..d0a7b40
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Exists.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * A collection filter that yields true if the <code>filter</code> yields true for
+ * any of the elements of the <code>collection</code>
+ */
+public final class Exists extends CollectionFilter {
+	public static final String OPERATOR = "exists"; //$NON-NLS-1$
+
+	public Exists(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(ExpressionContext context, VariableScope scope, Iterator itor) {
+		while (itor.hasNext()) {
+			variable.setValue(scope, itor.next());
+			if (lambda.evaluate(context, scope) == Boolean.TRUE)
+				return Boolean.TRUE;
+		}
+		return Boolean.FALSE;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Expression.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Expression.java
new file mode 100644
index 0000000..746a680
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Expression.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
+
+/**
+ * The base class of the expression tree.
+ */
+public abstract class Expression {
+
+	public interface Visitor {
+		/**
+		 * The method that will be called for each expression that is
+		 * visited.
+		 * @param expression The expression that the visitor visits.
+		 * @return <code>true</code> to continue visiting other expressions or
+		 * <code>false</code> to break out.
+		 */
+		boolean accept(Expression expression);
+	}
+
+	public static final Expression[] emptyArray = new Expression[0];
+
+	static Set asSet(Object val, boolean forcePrivateCopy) {
+		if (val == null)
+			throw new IllegalArgumentException("Cannot convert null into an set"); //$NON-NLS-1$
+
+		if (val instanceof IRepeatableIterator) {
+			Object provider = ((IRepeatableIterator) val).getIteratorProvider();
+			if (!forcePrivateCopy) {
+				if (provider instanceof Set)
+					return (Set) provider;
+				if (provider instanceof Collector)
+					return (Set) ((Collector) provider).toCollection();
+			}
+
+			if (provider instanceof Collection)
+				val = provider;
+		} else {
+			if (!forcePrivateCopy) {
+				if (val instanceof Set)
+					return (Set) val;
+				if (val instanceof Collector)
+					return (Set) ((Collector) val).toCollection();
+			}
+		}
+
+		HashSet result;
+		if (val instanceof Collection)
+			result = new HashSet((Collection) val);
+		else {
+			result = new HashSet();
+			Iterator iterator = RepeatableIterator.create(val);
+			while (iterator.hasNext())
+				result.add(iterator.next());
+		}
+		return result;
+	}
+
+	/**
+	 * Let the visitor visit this instance and all expressions that this
+	 * instance contains.
+	 * @param visitor The visiting visitor.
+	 * @return <code>true</code> if the visitor should continue visiting, <code>false</code> otherwise.
+	 */
+	public boolean accept(Visitor visitor) {
+		return visitor.accept(this);
+	}
+
+	/**
+	 * Evaluate this expression in the given context.
+	 * @param scope TODO
+	 * @return The result of the evaluation.
+	 */
+	public abstract Object evaluate(ExpressionContext context, VariableScope scope);
+
+	public Iterator evaluateAsIterator(ExpressionContext context, VariableScope scope) {
+		Object value = evaluate(context, scope);
+		if (!(value instanceof Iterator))
+			value = RepeatableIterator.create(value);
+		return (Iterator) value;
+	}
+
+	/**
+	 * Checks if the expression will make repeated requests for the 'everything' iterator.
+	 * @return <code>true</code> if repeated requests will be made, <code>false</code> if not.
+	 */
+	public boolean needsRepeatedIterations() {
+		return countReferenceToEverything() > 1;
+	}
+
+	public String toString() {
+		StringBuffer bld = new StringBuffer();
+		toString(bld);
+		return bld.toString();
+	}
+
+	public abstract void toString(StringBuffer bld);
+
+	static void appendOperand(StringBuffer bld, Expression operand, int priority) {
+		if (priority < operand.getPriority()) {
+			bld.append('(');
+			operand.toString(bld);
+			bld.append(')');
+		} else
+			operand.toString(bld);
+	}
+
+	int countReferenceToEverything() {
+		return 0;
+	}
+
+	abstract int getPriority();
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionContext.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionContext.java
new file mode 100644
index 0000000..150689d
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionContext.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+
+/**
+ * The immutable context used when evaluating an expression.
+ */
+public final class ExpressionContext implements IRepeatableIterator {
+	private static final Object[] noParameters = new Object[0];
+
+	private final Iterator iterator;
+
+	private final Class instanceClass;
+
+	private final Object[] parameters;
+
+	private boolean atStart = true;
+
+	public ExpressionContext(Class instanceClass, Object[] parameters, Collection collection) {
+		this.instanceClass = instanceClass;
+		this.parameters = parameters == null ? noParameters : parameters;
+		this.iterator = RepeatableIterator.create(collection == null ? Collections.EMPTY_LIST : collection);
+	}
+
+	public ExpressionContext(Class instanceClass, Object[] parameters, final Iterator iterator, boolean needsRepeat) {
+		this.instanceClass = instanceClass;
+		this.parameters = parameters;
+		this.iterator = needsRepeat ? RepeatableIterator.create(iterator) : iterator;
+	}
+
+	public Class getInstanceClass() {
+		return instanceClass;
+	}
+
+	public Object getParameter(int position) {
+		return parameters[position];
+	}
+
+	public Object getParameter(String key) {
+		return parameters.length == 1 && parameters[0] instanceof Map ? ((Map) parameters[0]).get(key) : null;
+	}
+
+	public IRepeatableIterator getCopy() {
+		if (iterator instanceof IRepeatableIterator)
+			return ((IRepeatableIterator) iterator).getCopy();
+		if (atStart)
+			return this;
+		throw new UnsupportedOperationException();
+	}
+
+	public boolean hasNext() {
+		return iterator.hasNext();
+	}
+
+	public Object next() {
+		atStart = false;
+		return iterator.next();
+	}
+
+	public void remove() {
+		iterator.remove();
+	}
+
+	public Object getIteratorProvider() {
+		if (iterator instanceof IRepeatableIterator)
+			return ((IRepeatableIterator) iterator).getIteratorProvider();
+		return this;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionParser.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionParser.java
new file mode 100644
index 0000000..3c86c58
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ExpressionParser.java
@@ -0,0 +1,882 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.*;
+import org.eclipse.equinox.internal.p2.ql.Member.*;
+
+public class ExpressionParser extends Stack {
+	private static final long serialVersionUID = 882034383978853143L;
+
+	static final int PRIORITY_PARAMETER = 1;
+	static final int PRIORITY_LITERAL = 1;
+	static final int PRIORITY_VARIABLE = 1;
+	static final int PRIORITY_CONSTRUCTOR = 2;
+	static final int PRIORITY_MEMBER = 3;
+	static final int PRIORITY_COLLECTION = 4;
+	static final int PRIORITY_NOT = 5;
+	static final int PRIORITY_BINARY = 6;
+	static final int PRIORITY_AND = 7;
+	static final int PRIORITY_OR = 8;
+	static final int PRIORITY_CONDITION = 9;
+	static final int PRIORITY_LAMBDA = 10;
+	static final int PRIORITY_COMMA = 11;
+
+	private static final int TOKEN_OR = 1;
+	private static final int TOKEN_AND = 2;
+
+	private static final int TOKEN_EQUAL = 10;
+	private static final int TOKEN_NOT_EQUAL = 11;
+	private static final int TOKEN_LESS = 12;
+	private static final int TOKEN_LESS_EQUAL = 13;
+	private static final int TOKEN_GREATER = 14;
+	private static final int TOKEN_GREATER_EQUAL = 15;
+	private static final int TOKEN_MATCHES = 16;
+
+	private static final int TOKEN_NOT = 20;
+	private static final int TOKEN_DOT = 21;
+	private static final int TOKEN_COMMA = 22;
+	private static final int TOKEN_PIPE = 23;
+	private static final int TOKEN_DOLLAR = 24;
+	private static final int TOKEN_IF = 25;
+	private static final int TOKEN_ELSE = 26;
+
+	private static final int TOKEN_LP = 30;
+	private static final int TOKEN_RP = 31;
+	private static final int TOKEN_LB = 32;
+	private static final int TOKEN_RB = 33;
+	private static final int TOKEN_LC = 34;
+	private static final int TOKEN_RC = 35;
+
+	private static final int TOKEN_IDENTIFIER = 40;
+	private static final int TOKEN_LITERAL = 41;
+	private static final int TOKEN_ANY = 42;
+
+	private static final int TOKEN_NULL = 50;
+	private static final int TOKEN_TRUE = 51;
+	private static final int TOKEN_FALSE = 52;
+
+	private static final int TOKEN_LATEST = 60;
+	private static final int TOKEN_LIMIT = 61;
+	private static final int TOKEN_FIRST = 62;
+	private static final int TOKEN_FLATTEN = 63;
+	private static final int TOKEN_SELECT = 64;
+	private static final int TOKEN_REJECT = 65;
+	private static final int TOKEN_COLLECT = 66;
+	private static final int TOKEN_EXISTS = 67;
+	private static final int TOKEN_ALL = 68;
+	private static final int TOKEN_TRAVERSE = 69;
+	private static final int TOKEN_UNIQUE = 70;
+
+	private static final int TOKEN_END = 0;
+	private static final int TOKEN_ERROR = -1;
+
+	private static final Variable[] emptyVariableArray = new Variable[0];
+
+	private static final Map constructors;
+
+	static {
+		Class[] args = new Class[] {Expression[].class};
+		constructors = new HashMap();
+		try {
+			constructors.put(FilterFunction.KEYWORD, FilterFunction.class.getConstructor(args));
+			constructors.put(VersionFunction.KEYWORD, VersionFunction.class.getConstructor(args));
+			constructors.put(RangeFunction.KEYWORD, RangeFunction.class.getConstructor(args));
+			constructors.put(SetConstructor.KEYWORD, SetConstructor.class.getConstructor(args));
+			constructors.put(ClassFunction.KEYWORD, ClassFunction.class.getConstructor(args));
+			constructors.put(WrappedIQuery.KEYWORD, WrappedIQuery.class.getConstructor(args));
+			constructors.put(LocalizedKeys.KEYWORD, LocalizedKeys.class.getConstructor(args));
+			constructors.put(LocalizedMap.KEYWORD, LocalizedMap.class.getConstructor(args));
+			constructors.put(LocalizedProperty.KEYWORD, LocalizedProperty.class.getConstructor(args));
+			constructors.put(CapabilityIndexFunction.KEYWORD, CapabilityIndexFunction.class.getConstructor(args));
+		} catch (Exception e) {
+			throw new ExceptionInInitializerError(e);
+		}
+	}
+
+	private String expression;
+	private int tokenPos;
+	private int currentToken;
+	private int lastTokenPos;
+	private Object tokenValue;
+	private String rootVariable;
+
+	public synchronized ItemExpression parsePredicate(String exprString) {
+		expression = exprString;
+		tokenPos = 0;
+		currentToken = 0;
+		tokenValue = null;
+		rootVariable = Variable.KEYWORD_ITEM;
+		push(Variable.ITEM);
+		try {
+			nextToken();
+			Expression expr = currentToken == TOKEN_END ? Constant.TRUE_CONSTANT : parseCondition();
+			assertToken(TOKEN_END);
+			return new ItemExpression(Variable.ITEM, expr);
+		} finally {
+			popVariable(); // pop item
+		}
+	}
+
+	public synchronized ContextExpression parseQuery(String exprString) {
+		expression = exprString;
+		tokenPos = 0;
+		currentToken = 0;
+		tokenValue = null;
+		rootVariable = Variable.KEYWORD_EVERYTHING;
+		push(Variable.EVERYTHING);
+		try {
+			nextToken();
+			Expression expr = parseCondition();
+			assertToken(TOKEN_END);
+			return new ContextExpression(Variable.EVERYTHING, expr);
+
+		} finally {
+			popVariable(); // pop context
+		}
+	}
+
+	private Expression parseCondition() {
+		Expression expr = parseOr();
+		if (currentToken == TOKEN_IF) {
+			nextToken();
+			Expression ifTrue = parseOr();
+			assertToken(TOKEN_ELSE);
+			nextToken();
+			expr = new Condition(expr, ifTrue, parseOr());
+		}
+		return expr;
+	}
+
+	private Expression parseOr() {
+		Expression expr = parseAnd();
+		if (currentToken != TOKEN_OR)
+			return expr;
+
+		ArrayList exprs = new ArrayList();
+		exprs.add(expr);
+		do {
+			nextToken();
+			exprs.add(parseAnd());
+		} while (currentToken == TOKEN_OR);
+		return new Or((Expression[]) exprs.toArray(new Expression[exprs.size()]));
+	}
+
+	private Expression parseAnd() {
+		Expression expr = parseBinary();
+		if (currentToken != TOKEN_AND)
+			return expr;
+
+		ArrayList exprs = new ArrayList();
+		exprs.add(expr);
+		do {
+			nextToken();
+			exprs.add(parseBinary());
+		} while (currentToken == TOKEN_AND);
+		return new And((Expression[]) exprs.toArray(new Expression[exprs.size()]));
+	}
+
+	private Expression parseBinary() {
+		Expression expr = parseNot();
+		switch (currentToken) {
+			case TOKEN_OR :
+			case TOKEN_AND :
+			case TOKEN_RP :
+			case TOKEN_RB :
+			case TOKEN_RC :
+			case TOKEN_COMMA :
+			case TOKEN_IF :
+			case TOKEN_ELSE :
+			case TOKEN_END :
+				break;
+			case TOKEN_EQUAL :
+			case TOKEN_NOT_EQUAL :
+			case TOKEN_GREATER :
+			case TOKEN_GREATER_EQUAL :
+			case TOKEN_LESS :
+			case TOKEN_LESS_EQUAL :
+			case TOKEN_MATCHES :
+				int realToken = currentToken;
+				nextToken();
+				Expression rhs = parseNot();
+				switch (realToken) {
+					case TOKEN_EQUAL :
+						expr = new Equals(expr, rhs, false);
+						break;
+					case TOKEN_NOT_EQUAL :
+						expr = new Equals(expr, rhs, true);
+						break;
+					case TOKEN_GREATER :
+						expr = new Compare(expr, rhs, false, false);
+						break;
+					case TOKEN_GREATER_EQUAL :
+						expr = new Compare(expr, rhs, false, true);
+						break;
+					case TOKEN_LESS :
+						expr = new Compare(expr, rhs, true, false);
+						break;
+					case TOKEN_LESS_EQUAL :
+						expr = new Compare(expr, rhs, true, true);
+						break;
+					default :
+						expr = new Matches(expr, rhs);
+				}
+				break;
+			default :
+				throw syntaxError();
+		}
+		return expr;
+	}
+
+	private Expression parseNot() {
+		if (currentToken == TOKEN_NOT) {
+			nextToken();
+			Expression expr = parseNot();
+			return (expr instanceof Not) ? ((Not) expr).operand : new Not(expr);
+		}
+		return parseCollectionExpression();
+	}
+
+	private Expression parseCollectionExpression() {
+		Expression expr;
+		switch (currentToken) {
+			case TOKEN_SELECT :
+			case TOKEN_REJECT :
+			case TOKEN_COLLECT :
+			case TOKEN_EXISTS :
+			case TOKEN_FIRST :
+			case TOKEN_FLATTEN :
+			case TOKEN_ALL :
+			case TOKEN_TRAVERSE :
+			case TOKEN_LATEST :
+			case TOKEN_LIMIT :
+			case TOKEN_UNIQUE :
+				expr = getVariableOrRootMember(rootVariable);
+				break;
+			default :
+				expr = parseMember();
+				if (currentToken != TOKEN_DOT)
+					return expr;
+				nextToken();
+		}
+
+		for (;;) {
+			int filterToken = currentToken;
+			nextToken();
+			assertToken(TOKEN_LP);
+			nextToken();
+			switch (filterToken) {
+				case TOKEN_SELECT :
+					expr = new Select(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_REJECT :
+					expr = new Reject(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_COLLECT :
+					expr = new Collect(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_EXISTS :
+					expr = new Exists(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_FIRST :
+					expr = new First(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_ALL :
+					expr = new All(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_TRAVERSE :
+					expr = new Traverse(expr, parseLambdaDefinition());
+					break;
+				case TOKEN_LATEST :
+					if (currentToken == TOKEN_RP) {
+						expr = new Latest(expr);
+						assertToken(TOKEN_RP);
+						nextToken();
+					} else
+						expr = new Latest(new Select(expr, parseLambdaDefinition()));
+					break;
+				case TOKEN_FLATTEN :
+					if (currentToken == TOKEN_RP) {
+						expr = new Flatten(expr);
+						assertToken(TOKEN_RP);
+						nextToken();
+					} else
+						expr = new Flatten(new Select(expr, parseLambdaDefinition()));
+					break;
+				case TOKEN_LIMIT :
+					expr = new Limit(expr, parseCondition());
+					assertToken(TOKEN_RP);
+					nextToken();
+					break;
+				case TOKEN_UNIQUE :
+					if (currentToken == TOKEN_RP)
+						expr = new Unique(expr, Constant.NULL_CONSTANT);
+					else {
+						expr = new Unique(expr, parseMember());
+						assertToken(TOKEN_RP);
+						nextToken();
+					}
+					break;
+				default :
+					throw syntaxError();
+			}
+			if (currentToken != TOKEN_DOT)
+				break;
+			nextToken();
+		}
+		return expr;
+	}
+
+	private Expression parseMember() {
+		Expression expr = parseConstructor();
+		while (currentToken == TOKEN_DOT || currentToken == TOKEN_LB) {
+			int savePos = tokenPos;
+			int saveToken = currentToken;
+			Object saveTokenValue = tokenValue;
+			nextToken();
+			if (saveToken == TOKEN_DOT) {
+				switch (currentToken) {
+					case TOKEN_SELECT :
+					case TOKEN_REJECT :
+					case TOKEN_COLLECT :
+					case TOKEN_EXISTS :
+					case TOKEN_FIRST :
+					case TOKEN_FLATTEN :
+					case TOKEN_ALL :
+					case TOKEN_TRAVERSE :
+					case TOKEN_LATEST :
+					case TOKEN_LIMIT :
+					case TOKEN_UNIQUE :
+						tokenPos = savePos;
+						currentToken = saveToken;
+						tokenValue = saveTokenValue;
+						return expr;
+
+					case TOKEN_IDENTIFIER :
+						expr = new DynamicMember(expr, (String) tokenValue);
+						nextToken();
+						break;
+
+					default :
+						throw syntaxError();
+				}
+			} else {
+				Expression atExpr = parseMember();
+				assertToken(TOKEN_RB);
+				nextToken();
+				expr = new At(expr, atExpr);
+			}
+		}
+		if (expr instanceof Member && currentToken == TOKEN_LP) {
+			nextToken();
+			Expression[] callArgs = parseArray();
+			assertToken(TOKEN_RP);
+			nextToken();
+			Member mbr = (Member) expr;
+			if (mbr.name.equals(CapabilityIndex_satisfiesAny.ID))
+				expr = new CapabilityIndex_satisfiesAny(mbr.operand, callArgs);
+			else if (mbr.name.equals(CapabilityIndex_satisfiesAll.ID))
+				expr = new CapabilityIndex_satisfiesAll(mbr.operand, callArgs);
+			else
+				throw syntaxError();
+		}
+		return expr;
+	}
+
+	private LambdaExpression parseLambdaDefinition() {
+		boolean endingRC = false;
+		Expression[] initializers = Expression.emptyArray;
+		Variable[] variables;
+		if (currentToken == TOKEN_LC) {
+			// Lambda starts without currying.
+			endingRC = true;
+			nextToken();
+			variables = parseVariables(0);
+			if (variables == null)
+				// empty means no pipe at the end.
+				throw syntaxError();
+		} else {
+			variables = parseVariables(0);
+			if (variables == null) {
+				initializers = parseArray();
+				assertToken(TOKEN_LC);
+				nextToken();
+				endingRC = true;
+				int anyIndex = -1;
+				for (int idx = 0; idx < initializers.length; ++idx)
+					if (initializers[idx] instanceof EachVariable) {
+						anyIndex = idx;
+						break;
+					}
+
+				variables = parseVariables(anyIndex);
+				if (variables == null)
+					// empty means no pipe at the end.
+					throw syntaxError();
+			}
+
+		}
+		nextToken();
+		Expression body = parseCondition();
+		if (endingRC) {
+			assertToken(TOKEN_RC);
+			nextToken();
+		}
+
+		assertToken(TOKEN_RP);
+		nextToken();
+		return new LambdaExpression(body, initializers, variables);
+	}
+
+	private Variable[] parseVariables(int anyIndex) {
+		int savePos = tokenPos;
+		int saveToken = currentToken;
+		Object saveTokenValue = tokenValue;
+		List ids = null;
+		while (currentToken == TOKEN_IDENTIFIER) {
+			if (ids == null)
+				ids = new ArrayList();
+			ids.add(tokenValue);
+			nextToken();
+			if (currentToken == TOKEN_COMMA) {
+				nextToken();
+				continue;
+			}
+			break;
+		}
+
+		if (currentToken != TOKEN_PIPE) {
+			// This was not a variable list
+			tokenPos = savePos;
+			currentToken = saveToken;
+			tokenValue = saveTokenValue;
+			return null;
+		}
+
+		if (ids == null)
+			// Empty list but otherwise OK
+			return emptyVariableArray;
+
+		int top = ids.size();
+		Variable[] result = new Variable[top];
+		if (top == 1) {
+			String name = (String) ids.get(0);
+			Variable each = new EachVariable(name);
+			push(each);
+			result[0] = each;
+		} else
+			for (int idx = 0; idx < top; ++idx) {
+				String name = (String) ids.get(idx);
+				Variable each;
+				if (idx == anyIndex)
+					each = new EachVariable(name);
+				else
+					each = Variable.create(name);
+				push(each);
+				result[idx] = each;
+			}
+		return result;
+	}
+
+	private Expression parseConstructor() {
+		if (currentToken == TOKEN_IDENTIFIER) {
+			int savePos = tokenPos;
+			int saveToken = currentToken;
+			Object saveTokenValue = tokenValue;
+
+			java.lang.reflect.Constructor ctor = (java.lang.reflect.Constructor) constructors.get(tokenValue);
+			if (ctor != null) {
+				nextToken();
+				if (currentToken == TOKEN_LP) {
+					// This is a constructor(<expr>)
+					nextToken();
+					Expression[] args = currentToken == TOKEN_RP ? Expression.emptyArray : parseArray();
+					assertToken(TOKEN_RP);
+					nextToken();
+					try {
+						return (Expression) ctor.newInstance(new Object[] {args});
+					} catch (InvocationTargetException e) {
+						Throwable cause = e.getCause();
+						if (cause instanceof RuntimeException)
+							throw (RuntimeException) cause;
+						throw new RuntimeException("Internal bogus", cause); //$NON-NLS-1$
+					} catch (Exception e) {
+						// This should never happen.
+						throw new RuntimeException("Internal bogus", e); //$NON-NLS-1$
+					}
+				}
+				tokenPos = savePos;
+				currentToken = saveToken;
+				tokenValue = saveTokenValue;
+			}
+		}
+		return parseUnary();
+	}
+
+	private Expression parseUnary() {
+		Expression expr;
+		switch (currentToken) {
+			case TOKEN_LP :
+				nextToken();
+				expr = parseCondition();
+				assertToken(TOKEN_RP);
+				nextToken();
+				break;
+			case TOKEN_LB :
+				nextToken();
+				expr = new Array(parseArray());
+				assertToken(TOKEN_RB);
+				nextToken();
+				break;
+			case TOKEN_LITERAL :
+				expr = new Constant(tokenValue);
+				nextToken();
+				break;
+			case TOKEN_DOLLAR :
+				expr = parseParameter();
+				break;
+			case TOKEN_IDENTIFIER :
+				expr = getVariableOrRootMember((String) tokenValue);
+				nextToken();
+				break;
+			case TOKEN_ANY :
+				expr = new EachVariable(EachVariable.KEYWORD_EACH);
+				nextToken();
+				break;
+			case TOKEN_NULL :
+				expr = Constant.NULL_CONSTANT;
+				nextToken();
+				break;
+			case TOKEN_TRUE :
+				expr = Constant.TRUE_CONSTANT;
+				nextToken();
+				break;
+			case TOKEN_FALSE :
+				expr = Constant.FALSE_CONSTANT;
+				nextToken();
+				break;
+			default :
+				throw syntaxError();
+		}
+		return expr;
+	}
+
+	private Expression parseParameter() {
+		if (currentToken == TOKEN_DOLLAR) {
+			nextToken();
+
+			Parameter param = null;
+			if (currentToken == TOKEN_LITERAL && tokenValue instanceof Integer)
+				param = new IndexedParameter(((Integer) tokenValue).intValue());
+			else if (currentToken == TOKEN_IDENTIFIER)
+				param = new KeyedParameter((String) tokenValue);
+
+			if (param != null) {
+				nextToken();
+				return param;
+			}
+		}
+		throw syntaxError();
+	}
+
+	private Expression[] parseArray() {
+		Expression expr = parseCondition();
+		if (currentToken != TOKEN_COMMA)
+			return new Expression[] {expr};
+
+		ArrayList operands = new ArrayList();
+		operands.add(expr);
+		do {
+			nextToken();
+			if (currentToken == TOKEN_LC)
+				// We don't allow lambdas in the array
+				break;
+			operands.add(parseCondition());
+		} while (currentToken == TOKEN_COMMA);
+		return (Expression[]) operands.toArray(new Expression[operands.size()]);
+	}
+
+	private void assertToken(int token) {
+		if (currentToken != token)
+			throw syntaxError();
+	}
+
+	private Expression getVariableOrRootMember(String id) {
+		int idx = size();
+		while (--idx >= 0) {
+			Variable v = (Variable) get(idx);
+			if (id.equals(v.getName()))
+				return v;
+		}
+
+		if (rootVariable.equals(id))
+			throw syntaxError("No such variable: " + id); //$NON-NLS-1$
+
+		return new DynamicMember(getVariableOrRootMember(rootVariable), id);
+	}
+
+	private void nextToken() {
+		tokenValue = null;
+		int top = expression.length();
+		char c = 0;
+		while (tokenPos < top) {
+			c = expression.charAt(tokenPos);
+			if (!Character.isWhitespace(c))
+				break;
+			++tokenPos;
+		}
+		if (tokenPos >= top) {
+			lastTokenPos = top;
+			currentToken = TOKEN_END;
+			return;
+		}
+
+		lastTokenPos = tokenPos;
+		switch (c) {
+			case '|' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '|') {
+					tokenValue = Or.OPERATOR;
+					currentToken = TOKEN_OR;
+					tokenPos += 2;
+				} else {
+					currentToken = TOKEN_PIPE;
+					++tokenPos;
+				}
+				break;
+
+			case '&' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '&') {
+					tokenValue = And.OPERATOR;
+					currentToken = TOKEN_AND;
+					tokenPos += 2;
+				} else
+					currentToken = TOKEN_ERROR;
+				break;
+
+			case '=' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '=') {
+					tokenValue = Equals.EQUALS_OPERATOR;
+					currentToken = TOKEN_EQUAL;
+					tokenPos += 2;
+				} else
+					currentToken = TOKEN_ERROR;
+				break;
+
+			case '!' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '=') {
+					tokenValue = Equals.NOT_EQUALS_OPERATOR;
+					currentToken = TOKEN_NOT_EQUAL;
+					tokenPos += 2;
+				} else {
+					currentToken = TOKEN_NOT;
+					++tokenPos;
+				}
+				break;
+
+			case '~' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '=') {
+					tokenValue = Matches.OPERATOR;
+					currentToken = TOKEN_MATCHES;
+					tokenPos += 2;
+				} else
+					currentToken = TOKEN_ERROR;
+				break;
+
+			case '>' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '=') {
+					tokenValue = Compare.GT_EQUAL_OPERATOR;
+					currentToken = TOKEN_GREATER_EQUAL;
+					tokenPos += 2;
+				} else {
+					currentToken = TOKEN_GREATER;
+					++tokenPos;
+				}
+				break;
+
+			case '<' :
+				if (tokenPos + 1 < top && expression.charAt(tokenPos + 1) == '=') {
+					tokenValue = Compare.LT_EQUAL_OPERATOR;
+					currentToken = TOKEN_LESS_EQUAL;
+					tokenPos += 2;
+				} else {
+					currentToken = TOKEN_LESS;
+					++tokenPos;
+				}
+				break;
+
+			case '?' :
+				currentToken = TOKEN_IF;
+				++tokenPos;
+				break;
+
+			case ':' :
+				currentToken = TOKEN_ELSE;
+				++tokenPos;
+				break;
+
+			case '.' :
+				currentToken = TOKEN_DOT;
+				++tokenPos;
+				break;
+
+			case '$' :
+				currentToken = TOKEN_DOLLAR;
+				++tokenPos;
+				break;
+
+			case '{' :
+				currentToken = TOKEN_LC;
+				++tokenPos;
+				break;
+
+			case '}' :
+				currentToken = TOKEN_RC;
+				++tokenPos;
+				break;
+
+			case '(' :
+				currentToken = TOKEN_LP;
+				++tokenPos;
+				break;
+
+			case ')' :
+				currentToken = TOKEN_RP;
+				++tokenPos;
+				break;
+
+			case '[' :
+				currentToken = TOKEN_LB;
+				++tokenPos;
+				break;
+
+			case ']' :
+				currentToken = TOKEN_RB;
+				++tokenPos;
+				break;
+
+			case ',' :
+				currentToken = TOKEN_COMMA;
+				++tokenPos;
+				break;
+
+			case '"' :
+			case '\'' : {
+				int start = ++tokenPos;
+				while (tokenPos < top && expression.charAt(tokenPos) != c)
+					++tokenPos;
+				if (tokenPos == top) {
+					tokenPos = start - 1;
+					currentToken = TOKEN_ERROR;
+				} else {
+					tokenValue = expression.substring(start, tokenPos++);
+					currentToken = TOKEN_LITERAL;
+				}
+				break;
+			}
+
+			case '/' : {
+				int start = ++tokenPos;
+				StringBuffer buf = new StringBuffer();
+				while (tokenPos < top) {
+					c = expression.charAt(tokenPos);
+					if (c == '\\' && tokenPos + 1 < top) {
+						c = expression.charAt(++tokenPos);
+						if (c != '/')
+							buf.append('\\');
+					} else if (c == '/')
+						break;
+					buf.append(c);
+					++tokenPos;
+				}
+				if (tokenPos == top) {
+					tokenPos = start - 1;
+					currentToken = TOKEN_ERROR;
+				} else {
+					tokenValue = SimplePattern.compile(expression.substring(start, tokenPos++));
+					currentToken = TOKEN_LITERAL;
+				}
+				break;
+			}
+
+			default :
+				if (Character.isDigit(c)) {
+					int start = tokenPos++;
+					while (tokenPos < top && Character.isDigit(expression.charAt(tokenPos)))
+						++tokenPos;
+					tokenValue = Integer.valueOf(expression.substring(start, tokenPos));
+					currentToken = TOKEN_LITERAL;
+					break;
+				}
+				if (Character.isJavaIdentifierStart(c)) {
+					int start = tokenPos++;
+					while (tokenPos < top && Character.isJavaIdentifierPart(expression.charAt(tokenPos)))
+						++tokenPos;
+					String word = expression.substring(start, tokenPos);
+					if (word.equals(EachVariable.KEYWORD_EACH))
+						currentToken = TOKEN_ANY;
+					else if (word.equals(Latest.OPERATOR))
+						currentToken = TOKEN_LATEST;
+					else if (word.equals(Limit.OPERATOR))
+						currentToken = TOKEN_LIMIT;
+					else if (word.equals(Unique.OPERATOR))
+						currentToken = TOKEN_UNIQUE;
+					else if (word.equals(Select.OPERATOR))
+						currentToken = TOKEN_SELECT;
+					else if (word.equals(Exists.OPERATOR))
+						currentToken = TOKEN_EXISTS;
+					else if (word.equals(First.OPERATOR))
+						currentToken = TOKEN_FIRST;
+					else if (word.equals(Flatten.OPERATOR))
+						currentToken = TOKEN_FLATTEN;
+					else if (word.equals(All.OPERATOR))
+						currentToken = TOKEN_ALL;
+					else if (word.equals(Reject.OPERATOR))
+						currentToken = TOKEN_REJECT;
+					else if (word.equals(Collect.OPERATOR))
+						currentToken = TOKEN_COLLECT;
+					else if (word.equals(Traverse.OPERATOR))
+						currentToken = TOKEN_TRAVERSE;
+					else if (word.equals(Constant.NULL_KEYWORD))
+						currentToken = TOKEN_NULL;
+					else if (word.equals(Constant.FALSE_KEYWORD))
+						currentToken = TOKEN_FALSE;
+					else if (word.equals(Constant.TRUE_KEYWORD))
+						currentToken = TOKEN_TRUE;
+					else
+						currentToken = TOKEN_IDENTIFIER;
+					tokenValue = word;
+					break;
+				}
+				throw syntaxError();
+		}
+	}
+
+	private void popVariable() {
+		if (isEmpty())
+			throw syntaxError();
+		pop();
+	}
+
+	private QueryParseException syntaxError() {
+		Object tv = tokenValue;
+		if (tv == null) {
+			if (lastTokenPos >= expression.length())
+				return syntaxError("Unexpeced end of expression"); //$NON-NLS-1$
+			tv = expression.substring(lastTokenPos, lastTokenPos + 1);
+		}
+		return syntaxError("Unexpected token \"" + tv + '"'); //$NON-NLS-1$
+	}
+
+	private QueryParseException syntaxError(String message) {
+		return new QueryParseException(expression, message, tokenPos);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FilterFunction.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FilterFunction.java
new file mode 100644
index 0000000..ee0e9de
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FilterFunction.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import org.osgi.framework.InvalidSyntaxException;
+
+/**
+ * A function that creates an OSGi filter based on a String
+ */
+public class FilterFunction extends Function {
+
+	static final String KEYWORD = "filter"; //$NON-NLS-1$
+
+	public FilterFunction(Expression[] operands) {
+		super(operands);
+	}
+
+	Object createInstance(String arg) {
+		try {
+			return QLActivator.context.createFilter(arg);
+		} catch (InvalidSyntaxException e) {
+			throw new IllegalArgumentException(e.getMessage());
+		}
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/First.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/First.java
new file mode 100644
index 0000000..c4567b6
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/First.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * A collection filter that yields the first element of the <code>collection</code> for which
+ * the <code>filter</code> yields <code>true</code>
+ */
+public final class First extends CollectionFilter {
+	public static final String OPERATOR = "first"; //$NON-NLS-1$
+
+	public First(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(ExpressionContext context, VariableScope scope, Iterator itor) {
+		while (itor.hasNext()) {
+			Object each = itor.next();
+			variable.setValue(scope, each);
+			if (lambda.evaluate(context, scope) == Boolean.TRUE)
+				return each;
+		}
+		return null;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Flatten.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Flatten.java
new file mode 100644
index 0000000..1bab6ca
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Flatten.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that yields a new collection consisting of all elements of the
+ * <code>collection</code> for which the <code>filter</code> yields <code>true</code>.
+ */
+public final class Flatten extends UnaryCollectionFilter {
+	public static final String OPERATOR = "flatten"; //$NON-NLS-1$
+
+	public Flatten(Expression collection) {
+		super(collection);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return new FlattenIterator(operand.evaluateAsIterator(context, scope));
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FlattenIterator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FlattenIterator.java
new file mode 100644
index 0000000..e2d659b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/FlattenIterator.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * A FlattenIterator will assume that its operand is an iterator that will produce
+ * elements that can be represented as iterators. The elements of those iterators
+ * will be returned in sequence, thus removing one iterator dimension.
+ */
+public class FlattenIterator implements Iterator {
+	private static final Object NO_ELEMENT = new Object();
+	private final Iterator iteratorIterator;
+	private Iterator currentIterator;
+
+	private Object nextObject = NO_ELEMENT;
+
+	public FlattenIterator(Iterator iterator) {
+		this.iteratorIterator = iterator;
+	}
+
+	public boolean hasNext() {
+		return positionNext();
+	}
+
+	public Object next() {
+		if (!positionNext())
+			throw new NoSuchElementException();
+
+		Object nxt = nextObject;
+		nextObject = NO_ELEMENT;
+		return nxt;
+	}
+
+	public void remove() {
+		throw new UnsupportedOperationException();
+	}
+
+	private boolean positionNext() {
+		if (nextObject != NO_ELEMENT)
+			return true;
+
+		while (currentIterator == null || !currentIterator.hasNext()) {
+			if (!iteratorIterator.hasNext())
+				return false;
+
+			Object nextItor = iteratorIterator.next();
+			currentIterator = (nextItor instanceof Iterator) ? (Iterator) nextItor : RepeatableIterator.create(nextItor);
+		}
+		nextObject = currentIterator.next();
+		return true;
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Function.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Function.java
new file mode 100644
index 0000000..92021ed
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Function.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that represents a function such as filter(&lt;expr&gt;) or version(&lt;expr&gt;)
+ */
+public abstract class Function extends NAry {
+
+	private Object instance;
+
+	Function(Expression[] operands) {
+		super(operands);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		if (instance != null)
+			return instance;
+
+		Expression operand = operands[0];
+		Object arg = operand.evaluate(context, scope);
+		if (arg instanceof String) {
+			Object result = createInstance((String) arg);
+			if (operand instanceof Constant || operand instanceof Parameter)
+				// operand won't change over time so we can cache this instance.
+				instance = result;
+			return result;
+		}
+		String what = arg == null ? "null" : ("a " + arg.getClass().getName()); //$NON-NLS-1$ //$NON-NLS-2$
+		throw new IllegalArgumentException("Cannot create a " + getOperator() + " from " + what); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append(getOperator());
+		bld.append('(');
+		Array.elementsToString(bld, operands);
+		bld.append(')');
+	}
+
+	Object createInstance(String arg) {
+		throw new UnsupportedOperationException();
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_CONSTRUCTOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IRepeatableIterator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IRepeatableIterator.java
new file mode 100644
index 0000000..7190c24
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IRepeatableIterator.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+public interface IRepeatableIterator extends Iterator {
+	/**
+	 * Returns a copy that will iterate over the same elements
+	 * as this iterator. The contents or position of this iterator
+	 * is left unchanged. 
+	 * @return A re-initialized copy of this iterator.
+	 */
+	IRepeatableIterator getCopy();
+
+	Object getIteratorProvider();
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IndexedParameter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IndexedParameter.java
new file mode 100644
index 0000000..5308f25
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/IndexedParameter.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that picks an indexed parameter from the expression context.
+ */
+public final class IndexedParameter extends Parameter {
+	final int position;
+
+	public IndexedParameter(int position) {
+		this.position = position;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return context.getParameter(position);
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append('$');
+		bld.append(position);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemExpression.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemExpression.java
new file mode 100644
index 0000000..7380c72
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemExpression.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The item expression is the top expression in item queries. It introduces the
+ * variable 'item' and initializes it with the item to match.
+ */
+public final class ItemExpression extends Binary {
+
+	public ItemExpression(Variable itemVariable, Expression expression) {
+		super(itemVariable, expression);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return rhs.evaluate(context, scope);
+	}
+
+	public boolean isMatch(ExpressionContext context, VariableScope scope, Object value) {
+		((Variable) lhs).setValue(scope, value);
+		return rhs.evaluate(context, scope) == Boolean.TRUE;
+	}
+
+	public VariableScope defineScope() {
+		return new SingleVariableScope((Variable) lhs);
+	}
+
+	public void toString(StringBuffer bld) {
+		rhs.toString(bld);
+	}
+
+	protected int getPriority() {
+		return rhs.getPriority();
+	}
+
+	Object evaluate(Object lval, Object rval) {
+		throw new UnsupportedOperationException();
+	}
+
+	String getOperator() {
+		throw new UnsupportedOperationException();
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemVariable.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemVariable.java
new file mode 100644
index 0000000..9d9752c
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/ItemVariable.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression representing a variable stack in the current thread.
+ */
+final class ItemVariable extends Variable {
+
+	ItemVariable(String name) {
+		super(name);
+	}
+
+	int countReferenceToEverything() {
+		return 0;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/KeyedParameter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/KeyedParameter.java
new file mode 100644
index 0000000..dd8acc2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/KeyedParameter.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that picks an keyed parameter from the expression context.
+ */
+public final class KeyedParameter extends Parameter {
+	final String key;
+
+	public KeyedParameter(String key) {
+		this.key = key;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return context.getParameter(key);
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append('$');
+		bld.append(key);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LambdaExpression.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LambdaExpression.java
new file mode 100644
index 0000000..4bbd194
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LambdaExpression.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+
+/**
+ * A function that executes some code
+ */
+public final class LambdaExpression extends Unary {
+	private final Expression[] currying;
+	private final Variable[] variables;
+
+	public LambdaExpression(Expression body, Expression[] currying, Variable[] variables) {
+		super(body);
+		int idx = currying.length;
+		if (idx > 0) {
+			if (idx != variables.length)
+				throw new IllegalArgumentException("Number of currying expressions and variables differ"); //$NON-NLS-1$
+			int anyCount = 0;
+			while (--idx >= 0)
+				if (currying[idx] instanceof EachVariable)
+					++anyCount;
+			if (anyCount != 1)
+				throw new IllegalArgumentException("Exaclty one _ must be present among the currying expressions"); //$NON-NLS-1$
+		} else if (variables.length != 1)
+			throw new IllegalArgumentException("Exaclty one variable required unless currying is used"); //$NON-NLS-1$
+		this.currying = currying;
+		this.variables = variables;
+	}
+
+	public LambdaExpression(Expression body, Variable variable) {
+		this(body, Expression.emptyArray, new Variable[] {variable});
+	}
+
+	public boolean accept(Visitor visitor) {
+		if (super.accept(visitor)) {
+			for (int idx = 0; idx < currying.length; ++idx)
+				if (!currying[idx].accept(visitor))
+					return false;
+			for (int idx = 0; idx < variables.length; ++idx)
+				if (!variables[idx].accept(visitor))
+					return false;
+		}
+		return true;
+	}
+
+	public void toString(StringBuffer bld) {
+		int top = currying.length;
+		if (top > 0) {
+			Array.elementsToString(bld, currying);
+			bld.append(", {"); //$NON-NLS-1$
+		}
+		Array.elementsToString(bld, variables);
+		bld.append(" | "); //$NON-NLS-1$
+		appendOperand(bld, operand, ExpressionParser.PRIORITY_COMMA);
+		if (top > 0)
+			bld.append('}');
+	}
+
+	int countReferenceToEverything() {
+		if (super.countReferenceToEverything() > 0)
+			return 2;
+		for (int idx = 0; idx < currying.length; ++idx)
+			if (currying[idx].countReferenceToEverything() > 0)
+				return 2;
+		for (int idx = 0; idx < variables.length; ++idx)
+			if (variables[idx].countReferenceToEverything() > 0)
+				return 2;
+		return 0;
+	}
+
+	EachVariable getItemVariable() {
+		int idx = currying.length;
+		if (idx == 0)
+			// No currying. Then we know that we have exactly one variable
+			return (EachVariable) variables[0];
+
+		while (--idx >= 0) {
+			Expression expr = currying[idx];
+			if (expr instanceof EachVariable)
+				return (EachVariable) variables[idx];
+		}
+		return null;
+	}
+
+	String getOperator() {
+		return "|"; //$NON-NLS-1$
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_LAMBDA;
+	}
+
+	VariableScope prolog(ExpressionContext context, VariableScope scope) {
+		if (currying.length == 0)
+			scope = new SingleVariableScope(scope, variables[0]);
+		else {
+			VariableScope lambdaScope = new MultiVariableScope(scope, variables);
+			for (int idx = 0; idx < currying.length; ++idx) {
+				Expression curry = currying[idx];
+				if (!(curry instanceof EachVariable))
+					variables[idx].setValue(lambdaScope, curry.evaluate(context, scope));
+			}
+			scope = lambdaScope;
+		}
+		return scope;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Latest.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Latest.java
new file mode 100644
index 0000000..b2957fe
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Latest.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.p2.metadata.IVersionedId;
+
+/**
+ * An expression that is especially targeted towards {@link IVersionedId} instances. It will
+ * reject any objects that is not an <code>IVersionedId</code> and it will ensure that the
+ * resulting iterator only iterates over the latest version of any found id.
+ */
+public final class Latest extends UnaryCollectionFilter {
+
+	static final String OPERATOR = "latest"; //$NON-NLS-1$
+
+	public Latest(Expression collection) {
+		super(collection);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Class instanceClass = context.getInstanceClass();
+		if (!IVersionedId.class.isAssignableFrom(instanceClass))
+			return Collections.EMPTY_SET.iterator();
+
+		HashMap greatestIUVersion;
+		if (operand instanceof Select) {
+			// Inline element evaluation here so that we don't build a map that is
+			// larger then it has to be
+			Select select = (Select) operand;
+			Iterator iterator = select.operand.evaluateAsIterator(context, scope);
+			if (!iterator.hasNext())
+				return Collections.EMPTY_SET.iterator();
+
+			greatestIUVersion = new HashMap();
+			scope = select.lambda.prolog(context, scope);
+			while (iterator.hasNext()) {
+				Object next = iterator.next();
+				if (!instanceClass.isInstance(next))
+					continue;
+
+				select.variable.setValue(scope, next);
+				if (select.lambda.evaluate(context, scope) != Boolean.TRUE)
+					continue;
+
+				IVersionedId versionedID = (IVersionedId) next;
+				String id = versionedID.getId();
+				IVersionedId prev = (IVersionedId) greatestIUVersion.put(id, versionedID);
+				if (prev == null)
+					continue;
+				if (prev.getVersion().compareTo(versionedID.getVersion()) > 0)
+					greatestIUVersion.put(id, prev);
+			}
+		} else {
+			Iterator iterator = operand.evaluateAsIterator(context, scope);
+			if (iterator == null)
+				return null;
+			if (!iterator.hasNext())
+				return Collections.EMPTY_SET.iterator();
+
+			greatestIUVersion = new HashMap();
+			while (iterator.hasNext()) {
+				Object next = iterator.next();
+				if (!instanceClass.isInstance(next))
+					continue;
+
+				IVersionedId versionedID = (IVersionedId) next;
+				String id = versionedID.getId();
+
+				IVersionedId prev = (IVersionedId) greatestIUVersion.put(id, versionedID);
+				if (prev == null)
+					continue;
+
+				if (prev.getVersion().compareTo(versionedID.getVersion()) > 0)
+					greatestIUVersion.put(id, prev);
+			}
+		}
+		return greatestIUVersion.values().iterator();
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Limit.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Limit.java
new file mode 100644
index 0000000..d93a9d3
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Limit.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * A collection filter that limits the number of entries in the collection
+ */
+public final class Limit extends Binary {
+
+	/**
+	 * An iterator that stops iterating after a given number of iterations.
+	 */
+	public static final class CountingIterator implements Iterator {
+		private final Iterator innerIterator;
+		private int counter;
+
+		public CountingIterator(Iterator iterator, int count) {
+			this.innerIterator = iterator;
+			this.counter = count;
+		}
+
+		public boolean hasNext() {
+			return counter > 0 && innerIterator.hasNext();
+		}
+
+		public Object next() {
+			if (counter > 0) {
+				--counter;
+				return innerIterator.next();
+			}
+			throw new NoSuchElementException();
+		}
+
+		public void remove() {
+			innerIterator.remove();
+		}
+	}
+
+	static final String OPERATOR = "limit"; //$NON-NLS-1$
+
+	public Limit(Expression operand, Expression param) {
+		super(operand, param);
+	}
+
+	public Limit(Expression operand, int limit) {
+		this(operand, new Constant(new Integer(limit)));
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object rval = rhs.evaluate(context, scope);
+		int limit = -1;
+		if (rval instanceof Integer)
+			limit = ((Integer) rval).intValue();
+		if (limit <= 0)
+			throw new IllegalArgumentException("limit expression did not evalutate to a positive integer"); //$NON-NLS-1$
+		return new CountingIterator(lhs.evaluateAsIterator(context, scope), limit);
+	}
+
+	public void toString(StringBuffer bld) {
+		CollectionFilter.appendProlog(bld, lhs, getOperator());
+		appendOperand(bld, rhs, ExpressionParser.PRIORITY_COMMA);
+		bld.append(')');
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_COLLECTION;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedKeys.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedKeys.java
new file mode 100644
index 0000000..6a5f6d1
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedKeys.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.ArrayList;
+import java.util.Locale;
+
+public class LocalizedKeys extends Function {
+	static final String KEYWORD = "localizedKeys"; //$NON-NLS-1$
+
+	public LocalizedKeys(Expression[] operands) {
+		super(operands);
+		int argCount = operands.length;
+		if (argCount != 2)
+			throw new IllegalArgumentException("localizedKeys must have exactly two arguments. The Locale and the key"); //$NON-NLS-1$
+	}
+
+	public synchronized Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object arg = operands[0].evaluate(context, scope);
+		if (!(arg instanceof Locale))
+			throw new IllegalArgumentException("localizedKeys first argument must be a java.util.Locale"); //$NON-NLS-1$
+		Locale locale = (Locale) arg;
+
+		arg = operands[1].evaluate(context, scope);
+		if (!(arg instanceof String))
+			throw new IllegalArgumentException("localizedKeys second argument must be a string"); //$NON-NLS-1$
+		String key = (String) arg;
+
+		ArrayList keyList = new ArrayList();
+		StringBuffer bld = new StringBuffer();
+		bld.append(locale.getLanguage());
+		int pos = bld.length();
+		bld.append('.');
+		bld.append(key);
+		keyList.add(bld.toString());
+		bld.setLength(pos);
+
+		bld.append('_');
+		if (locale.getCountry().length() > 0) {
+			bld.append(locale.getCountry());
+			pos = bld.length();
+			bld.append('.');
+			bld.append(key);
+			keyList.add(bld.toString());
+			bld.setLength(pos);
+		}
+
+		if (locale.getVariant().length() > 0) {
+			bld.append('_');
+			bld.append(locale.getVariant());
+			bld.append('.');
+			bld.append(key);
+			keyList.add(bld.toString());
+		}
+		bld.setLength(0);
+		bld.append("df_LT."); //$NON-NLS-1$
+		bld.append(key);
+		keyList.add(bld.toString());
+		return keyList.toArray(new String[keyList.size()]);
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedMap.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedMap.java
new file mode 100644
index 0000000..b6cd75f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedMap.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+
+public final class LocalizedMap extends Function {
+
+	static final String KEYWORD = "localizedMap"; //$NON-NLS-1$
+
+	private static final WeakHashMap localizedMapCache = new WeakHashMap();
+
+	private static final ContextExpression localizedPropertiesExpr = new ExpressionParser().parseQuery("" + // //$NON-NLS-1$
+			"everything.select(f | f ~= $2 &&" + // //$NON-NLS-1$
+			"  f.host.exists(h | $0 ~= h) &&" + // //$NON-NLS-1$
+			"  f.providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.localization' && pc.name ~= $1))" + // //$NON-NLS-1$
+			".collect(f | f.properties).flatten()"); //$NON-NLS-1$
+
+	public LocalizedMap(Expression[] operands) {
+		super(operands);
+		if (operands.length != 2)
+			throw new IllegalArgumentException(KEYWORD + " must have exactly two arguments. The Locale and the IU"); //$NON-NLS-1$
+	}
+
+	public synchronized Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object arg = operands[0].evaluate(context, scope);
+		if (!(arg instanceof Locale))
+			throw new IllegalArgumentException(KEYWORD + " first argument must be a java.util.Locale"); //$NON-NLS-1$
+		Locale locale = (Locale) arg;
+
+		arg = operands[1].evaluate(context, scope);
+		if (!(arg instanceof IInstallableUnit))
+			throw new IllegalArgumentException(KEYWORD + " second argument must be an IInstallableUnit"); //$NON-NLS-1$
+
+		IInstallableUnit iu = (IInstallableUnit) arg;
+		if (iu instanceof IInstallableUnitFragment) {
+			// Check that this isn't a translation fragment in itself.
+			IProvidedCapability[] provides = iu.getProvidedCapabilities();
+			int idx = provides.length;
+			while (--idx >= 0) {
+				IProvidedCapability pc = provides[idx];
+				if (pc.getNamespace().equals("org.eclipse.equinox.p2.localization")) //$NON-NLS-1$
+					return Collections.EMPTY_MAP;
+			}
+		}
+
+		Map iuLocales;
+		synchronized (localizedMapCache) {
+			iuLocales = (Map) localizedMapCache.get(iu);
+			if (iuLocales == null) {
+				iuLocales = new HashMap();
+				localizedMapCache.put(iu, iuLocales);
+			}
+		}
+
+		Map properties;
+		synchronized (iuLocales) {
+			properties = (Map) iuLocales.get(locale);
+			if (properties == null) {
+				properties = new HashMap();
+				collectLocaleProperties(context, scope, locale, iu, properties);
+				iuLocales.put(locale, properties);
+			}
+		}
+		return properties;
+	}
+
+	int countReferenceToEverything() {
+		return 1;
+	}
+
+	private static void collectLocaleProperties(ExpressionContext context, VariableScope scope, Locale locale, IInstallableUnit iu, Map properties) {
+		List localePrefixes = getLocalePrefixes(locale);
+		addPrefixedProperties(localePrefixes, properties, iu.getProperties().entrySet().iterator());
+		ExpressionContext subContext = new ExpressionContext(IInstallableUnitFragment.class, new Object[] {iu, locale, IInstallableUnitFragment.class}, context.getCopy(), false);
+		addPrefixedProperties(localePrefixes, properties, localizedPropertiesExpr.evaluateAsIterator(subContext, localizedPropertiesExpr.defineScope()));
+	}
+
+	private static void addPrefixedProperties(List prefixes, Map properties, Iterator entries) {
+		int prefixCount = prefixes.size();
+		outer: while (entries.hasNext()) {
+			Map.Entry entry = (Map.Entry) entries.next();
+			String key = (String) entry.getKey();
+			for (int idx = 0; idx < prefixCount; ++idx) {
+				if (key.startsWith((String) prefixes.get(idx))) {
+					properties.put(key, entry.getValue());
+					continue outer;
+				}
+			}
+		}
+	}
+
+	private static List getLocalePrefixes(Locale locale) {
+		ArrayList keyList = new ArrayList();
+
+		StringBuffer bld = new StringBuffer();
+		bld.append(locale.getLanguage());
+		int pos = bld.length();
+		bld.append('.');
+		keyList.add(bld.toString());
+		bld.setLength(pos);
+
+		bld.append('_');
+		if (locale.getCountry().length() > 0) {
+			bld.append(locale.getCountry());
+			pos = bld.length();
+			bld.append('.');
+			keyList.add(bld.toString());
+			bld.setLength(pos);
+		}
+
+		if (locale.getVariant().length() > 0) {
+			bld.append('_');
+			bld.append(locale.getVariant());
+			bld.append('.');
+			keyList.add(bld.toString());
+		}
+		keyList.add("df_LT."); //$NON-NLS-1$
+		return keyList;
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedProperty.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedProperty.java
new file mode 100644
index 0000000..a0827a0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/LocalizedProperty.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.Map;
+
+public final class LocalizedProperty extends Function {
+
+	static final String KEYWORD = "localizedProperty"; //$NON-NLS-1$
+
+	private static ContextExpression localePropertiesExpr = new ExpressionParser().parseQuery("" + // //$NON-NLS-1$
+			"localizedMap($0, $1).select(e | localizedKeys($0, $2).exists(k | k == e.key))"); //$NON-NLS-1$
+
+	public LocalizedProperty(Expression[] operands) {
+		super(operands);
+		if (operands.length != 3)
+			throw new IllegalArgumentException(KEYWORD + " must have exactly three arguments. The Locale, IU, and key"); //$NON-NLS-1$
+	}
+
+	public synchronized Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object[] args = new Object[] {operands[0].evaluate(context, scope), operands[1].evaluate(context, scope), operands[2].evaluate(context, scope)};
+		ExpressionContext subContext = new ExpressionContext(Map.Entry.class, args, context, false);
+		Iterator itor = localePropertiesExpr.evaluateAsIterator(subContext, localePropertiesExpr.defineScope());
+		return itor.hasNext() ? ((Map.Entry) itor.next()).getValue() : null;
+	}
+
+	int countReferenceToEverything() {
+		return 1; // Since we use a LocalizedMap
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MatchIteratorFilter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MatchIteratorFilter.java
new file mode 100644
index 0000000..b8cfe2f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MatchIteratorFilter.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * An iterator filter using a boolean {@link #isMatch(Object)} method.
+ */
+public abstract class MatchIteratorFilter implements Iterator {
+	private static final Object NO_ELEMENT = new Object();
+
+	private final Iterator innerIterator;
+
+	private final Class instanceClass;
+
+	private Object nextObject = NO_ELEMENT;
+
+	public MatchIteratorFilter(Class instanceClass, Iterator iterator) {
+		this.instanceClass = instanceClass;
+		this.innerIterator = iterator;
+	}
+
+	public boolean hasNext() {
+		return positionNext();
+	}
+
+	public Object next() {
+		if (!positionNext())
+			throw new NoSuchElementException();
+
+		Object nxt = nextObject;
+		nextObject = NO_ELEMENT;
+		return nxt;
+	}
+
+	public void remove() {
+		throw new UnsupportedOperationException();
+	}
+
+	protected abstract boolean isMatch(Object val);
+
+	private boolean positionNext() {
+		if (nextObject != NO_ELEMENT)
+			return true;
+
+		while (innerIterator.hasNext()) {
+			Object nxt = innerIterator.next();
+			if (instanceClass.isInstance(nxt) && isMatch(nxt)) {
+				nextObject = nxt;
+				return true;
+			}
+		}
+		return false;
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Matches.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Matches.java
new file mode 100644
index 0000000..dafa37a
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Matches.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.*;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+import org.eclipse.equinox.p2.metadata.IRequirement;
+import org.osgi.framework.Filter;
+
+/**
+ * <p>A class that performs &quot;matching&quot; The actual algorithm used for
+ * performing the match varies depending on the types of the items to match.</p>
+ * <p>The following things can be matched:</p>
+ * <table border="1" cellpadding="3">
+ * <tr><th>LHS</th><th>RHS</th><th>Implemented as</th></tr>
+ * <tr><td>IProvidedCapability</td><td>IRequiredCapability</td><td>lhs.satisfies(rhs)</td></tr>
+ * <tr><td>IInstallableUnit</td><td>IRequiredCapability</td><td>lhs.satisfies(rhs)</td></tr>
+ * <tr><td>Version</td><td>VersionRange</td><td>rhs.isIncluded(lhs)</td></tr>
+ * <tr><td>IInstallableUnit</td><td>Filter</td><td>rhs.matches(lhs.properties)</td></tr>
+ * <tr><td>Map</td><td>Filter</td><td>rhs.match(lhs)</td></tr>
+ * <tr><td>String</td><td>Pattern</td><td>rhs.matcher(lhs).matches()</td></tr>
+ * <tr><td>&lt;any&gt;</td><td>Class</td><td>rhs.isInstance(lhs)</td></tr>
+ * <tr><td>Class</td><td>Class</td><td>rhs.isAssignableFrom(lhs)</td></tr>
+ * </table>
+ */
+public final class Matches extends Binary {
+	public static final String OPERATOR = "~="; //$NON-NLS-1$
+
+	public Matches(Expression lhs, Expression rhs) {
+		super(lhs, rhs);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object lval = lhs.evaluate(context, scope);
+		Object rval = rhs.evaluate(context, scope);
+
+		if (rval instanceof IRequirement) {
+			IRequirement cap = (IRequirement) rval;
+			if (lval instanceof IInstallableUnit)
+				return Boolean.valueOf(((IInstallableUnit) lval).satisfies(cap));
+			if (lval instanceof IProvidedCapability)
+				return Boolean.valueOf(((IProvidedCapability) lval).satisfies(cap));
+
+		} else if (rval instanceof VersionRange) {
+			if (lval instanceof Version)
+				return Boolean.valueOf(((VersionRange) rval).isIncluded((Version) lval));
+
+		} else if (rval instanceof SimplePattern) {
+			if (lval instanceof CharSequence)
+				return Boolean.valueOf(((SimplePattern) rval).isMatch((CharSequence) lval));
+
+		} else if (rval instanceof IUpdateDescriptor) {
+			if (lval instanceof IInstallableUnit)
+				return Boolean.valueOf(((IUpdateDescriptor) rval).isUpdateOf((IInstallableUnit) lval));
+
+		} else if (rval instanceof Filter) {
+			if (lval instanceof IInstallableUnit)
+				return Boolean.valueOf(((Filter) rval).match(new Hashtable(((IInstallableUnit) lval).getProperties())));
+			if (lval instanceof Dictionary)
+				return Boolean.valueOf(((Filter) rval).match((Dictionary) lval));
+			if (lval instanceof Map)
+				return Boolean.valueOf(((Filter) rval).match(new Hashtable((Map) lval)));
+
+		} else if (rval instanceof Locale) {
+			if (lval instanceof String)
+				return Boolean.valueOf(matchLocaleVariants((Locale) rval, (String) lval));
+
+		} else if (rval instanceof Class) {
+			Class rclass = (Class) rval;
+			return Boolean.valueOf(lval instanceof Class ? rclass.isAssignableFrom((Class) lval) : rclass.isInstance(lval));
+		}
+
+		if (lval == null || rval == null)
+			return Boolean.FALSE;
+
+		throw new IllegalArgumentException("Cannot match a " + lval.getClass().getName() + " with a " + rval.getClass().getName()); //$NON-NLS-1$//$NON-NLS-2$
+	}
+
+	private static boolean equals(String a, String b, int startPos, int endPos) {
+		if (endPos - startPos != b.length())
+			return false;
+
+		int bidx = 0;
+		while (startPos < endPos)
+			if (a.charAt(startPos++) != b.charAt(bidx++))
+				return false;
+		return true;
+	}
+
+	private static boolean matchLocaleVariants(Locale rval, String lval) {
+		int uscore = lval.indexOf('_');
+		if (uscore < 0)
+			// No country and no variant. Just match language
+			return lval.equals(rval.getLanguage());
+
+		if (!equals(lval, rval.getLanguage(), 0, uscore))
+			// Language part doesn't match. Give up.
+			return false;
+
+		// Check country and variant
+		int countryStart = uscore + 1;
+		uscore = lval.indexOf('_', countryStart);
+		return uscore < 0 ? equals(lval, rval.getCountry(), countryStart, lval.length()) //
+				: equals(lval, rval.getCountry(), countryStart, uscore) && equals(lval, rval.getVariant(), uscore + 1, lval.length());
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Member.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Member.java
new file mode 100644
index 0000000..01c6596
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Member.java
@@ -0,0 +1,181 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.lang.reflect.*;
+
+/**
+ * <p>An expression that performs member calls to obtain some value
+ * from some object instance. It uses standard bean semantics so
+ * that an attempt to obtain &quot;value&quot; will cause an
+ * attempt to call <code>getValue()</code> and if no such method
+ * exists, <code>isValue()</code> and if that doesn't work either,
+ * <code>value()</code>.</p>
+ */
+public abstract class Member extends Unary {
+
+	public static Member createDynamicMember(Expression operand, String name) {
+		return new DynamicMember(operand, name);
+	}
+
+	static final String OPERATOR = "."; //$NON-NLS-1$
+	static final Object[] NO_ARGS = new Object[0];
+
+	final String name;
+	final Expression[] argExpressions;
+
+	static final class CapabilityIndex_satisfiesAny extends Member {
+
+		static final String ID = "satisfiesAny"; //$NON-NLS-1$
+
+		public CapabilityIndex_satisfiesAny(Expression operand, Expression[] argExpressions) {
+			super(operand, ID, NAry.assertLength(argExpressions, 1, 1, ID));
+		}
+
+		Object invoke(Object self, Object[] args) {
+			return ((CapabilityIndex) self).satisfiesAny(args[0]);
+		}
+	}
+
+	static final class CapabilityIndex_satisfiesAll extends Member {
+
+		static final String ID = "satisfiesAll"; //$NON-NLS-1$
+
+		public CapabilityIndex_satisfiesAll(Expression operand, Expression[] argExpressions) {
+			super(operand, ID, NAry.assertLength(argExpressions, 1, 1, ID));
+		}
+
+		Object invoke(Object self, Object[] args) {
+			return ((CapabilityIndex) self).satisfiesAll(args[0]);
+		}
+	}
+
+	public boolean accept(Visitor visitor) {
+		if (super.accept(visitor))
+			for (int idx = 0; idx < argExpressions.length; ++idx)
+				if (!argExpressions[idx].accept(visitor))
+					return false;
+		return true;
+	}
+
+	public Member(Expression operand, String name, Expression[] args) {
+		super(operand);
+		this.name = name;
+		this.argExpressions = args;
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object value = operand.evaluate(context, scope);
+		if (value == null)
+			throw new IllegalArgumentException("Cannot access member " + name + " in null"); //$NON-NLS-1$//$NON-NLS-2$
+		Object[] args = NO_ARGS;
+		int top = argExpressions.length;
+		if (top > 0) {
+			args = new Object[top];
+			for (int idx = 0; idx < top; ++idx)
+				args[idx] = argExpressions[idx].evaluate(context, scope);
+		}
+		return invoke(value, args);
+	}
+
+	public void toString(StringBuffer bld) {
+		if (operand == Variable.ITEM || operand == Variable.EVERYTHING)
+			bld.append(name);
+		else {
+			appendOperand(bld, operand, getPriority());
+			bld.append('.');
+			bld.append(name);
+		}
+		if (argExpressions.length > 0) {
+			bld.append('(');
+			Array.elementsToString(bld, argExpressions);
+			bld.append(')');
+		}
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_MEMBER;
+	}
+
+	abstract Object invoke(Object value, Object[] args);
+
+	static final class DynamicMember extends Member {
+		private static final Class[] NO_ARG_TYPES = new Class[0];
+		private static final String GET_PREFIX = "get"; //$NON-NLS-1$
+		private static final String IS_PREFIX = "is"; //$NON-NLS-1$
+
+		public DynamicMember(Expression operand, String name) {
+			super(operand, name, Expression.emptyArray);
+			if (!(name.startsWith(GET_PREFIX) || name.startsWith(IS_PREFIX)))
+				name = GET_PREFIX + Character.toUpperCase(name.charAt(0)) + name.substring(1);
+			this.methodName = name;
+		}
+
+		private Class lastClass;
+		private Method method;
+		private String methodName;
+
+		Object invoke(Object value, Object[] args) {
+			Class c = value.getClass();
+			if (lastClass == null || !lastClass.isAssignableFrom(c)) {
+				Method m;
+				for (;;) {
+					try {
+						m = c.getMethod(methodName, NO_ARG_TYPES);
+						if (!Modifier.isPublic(m.getModifiers()))
+							throw new NoSuchMethodException();
+						break;
+					} catch (NoSuchMethodException e) {
+						if (methodName.startsWith(GET_PREFIX))
+							// Switch from using getXxx() to isXxx()
+							methodName = IS_PREFIX + Character.toUpperCase(name.charAt(0)) + name.substring(1);
+						else if (methodName.startsWith(IS_PREFIX))
+							// Switch from using isXxx() to xxx()
+							methodName = name;
+						else
+							throw new IllegalArgumentException("Cannot find a public member " + name + " in a " + value.getClass().getName()); //$NON-NLS-1$//$NON-NLS-2$
+					}
+				}
+
+				// Since we already checked that it's public. This will speed
+				// up the calls a bit.
+				m.setAccessible(true);
+				lastClass = c;
+				method = m;
+			}
+
+			Exception checked;
+			try {
+				return method.invoke(value, NO_ARGS);
+			} catch (IllegalArgumentException e) {
+				throw e;
+			} catch (IllegalAccessException e) {
+				checked = e;
+			} catch (InvocationTargetException e) {
+				Throwable cause = e.getTargetException();
+				if (cause instanceof RuntimeException)
+					throw (RuntimeException) cause;
+				if (cause instanceof Error)
+					throw (Error) cause;
+				checked = (Exception) cause;
+			}
+			throw new RuntimeException("Problem invoking " + methodName + " on a " + value.getClass().getName(), checked); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+
+		Class getMemberClass() {
+			return null;
+		}
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MultiVariableScope.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MultiVariableScope.java
new file mode 100644
index 0000000..e939552
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/MultiVariableScope.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+final class MultiVariableScope implements VariableScope {
+	private final VariableScope parentScope;
+
+	private final Object[] values;
+
+	public MultiVariableScope(VariableScope parentScope, Variable[] variables) {
+		this.parentScope = parentScope;
+		values = new Object[variables.length * 2];
+		for (int idx = 0, ndx = 0; ndx < variables.length; ++ndx, idx += 2)
+			values[idx] = variables[ndx];
+	}
+
+	public Object getValue(Variable variable) {
+		for (int idx = 0; idx < values.length; ++idx)
+			if (values[idx++] == variable)
+				return values[idx];
+		return parentScope.getValue(variable);
+	}
+
+	public void setValue(Variable variable, Object value) {
+		for (int idx = 0; idx < values.length; ++idx)
+			if (values[idx++] == variable) {
+				values[idx] = value;
+				return;
+			}
+		parentScope.setValue(variable, value);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/NAry.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/NAry.java
new file mode 100644
index 0000000..c5962c2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/NAry.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The abstract baseclass for all N-ary expressions
+ *
+ */
+abstract class NAry extends Expression {
+	static Expression[] assertLength(Expression[] operands, int length, String operand) {
+		if (operands == null)
+			operands = emptyArray;
+		if (operands.length < length)
+			throw new IllegalArgumentException("Not enough operands for " + operand); //$NON-NLS-1$
+		return operands;
+	}
+
+	static Expression[] assertLength(Expression[] operands, int minLength, int maxLength, String operand) {
+		if (operands == null)
+			operands = emptyArray;
+		if (operands.length < minLength)
+			throw new IllegalArgumentException("Not enough operands for " + operand); //$NON-NLS-1$
+		if (operands.length > maxLength)
+			throw new IllegalArgumentException("Too many operands for " + operand); //$NON-NLS-1$
+		return operands;
+	}
+
+	final Expression[] operands;
+
+	NAry(Expression[] operands) {
+		this.operands = operands;
+	}
+
+	public boolean accept(Visitor visitor) {
+		if (super.accept(visitor))
+			for (int idx = 0; idx < operands.length; ++idx)
+				if (!operands[idx].accept(visitor))
+					return false;
+		return true;
+	}
+
+	public void toString(StringBuffer bld) {
+		appendOperand(bld, operands[0], getPriority());
+		for (int idx = 1; idx < operands.length; ++idx) {
+			bld.append(' ');
+			bld.append(getOperator());
+			bld.append(' ');
+			appendOperand(bld, operands[idx], getPriority());
+		}
+	}
+
+	int countReferenceToEverything() {
+		int count = 0;
+		for (int idx = 0; count < 2 && idx < operands.length; ++idx)
+			count += operands[idx].countReferenceToEverything();
+		return count;
+	}
+
+	abstract String getOperator();
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Not.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Not.java
new file mode 100644
index 0000000..6e2bc70
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Not.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * An expression that yields <code>true</code> when its operand does not.
+ */
+public final class Not extends Unary {
+	public static final String OPERATOR = "!"; //$NON-NLS-1$
+
+	public Not(Expression operand) {
+		super(operand);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return Boolean.valueOf(operand.evaluate(context, scope) != Boolean.TRUE);
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_NOT;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Or.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Or.java
new file mode 100644
index 0000000..25bf9d4
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Or.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * n-ary OR operator. This operator evaluates its first operand and then checks
+ * the class of the result. If the class is {@link Boolean} then it is assumed
+ * that all other operands also evaluates to a boolean and the full evaluation is
+ * <code>false</code> if none of its operands evaluate to <code>true</code>. If the
+ * first result was not of class {@link Boolean}, then it is assumed that it can
+ * be accessed as an {@link Iterator} and that all other operands also evaluates to
+ * something that can be accessed an {@link Iterator}. The OR operator will then
+ * function as a UNION operator and the result is the unique sum of all elements that
+ * were found in all operands. 
+ */
+public final class Or extends NAry {
+	public static final String OPERATOR = "||"; //$NON-NLS-1$
+
+	public Or(Expression[] operands) {
+		super(assertLength(operands, 2, OPERATOR));
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object firstValue = operands[0].evaluate(context, scope);
+
+		// Determine operation mode
+		if (firstValue instanceof Boolean) {
+			// The first value was boolean. Assume that the rest are too
+			if (((Boolean) firstValue).booleanValue())
+				return Boolean.TRUE;
+
+			for (int idx = 1; idx < operands.length; ++idx) {
+				if (operands[idx].evaluate(context, scope) == Boolean.TRUE)
+					return Boolean.TRUE;
+			}
+			return Boolean.FALSE;
+		}
+
+		// Not a boolean. Assume that we can use an iterator on all values
+		Set resultSet = asSet(firstValue, true);
+		for (int idx = 1; idx < operands.length; ++idx) {
+			Iterator itor = operands[idx].evaluateAsIterator(context, scope);
+			while (itor.hasNext())
+				resultSet.add(itor.next());
+		}
+		return resultSet;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_OR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Parameter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Parameter.java
new file mode 100644
index 0000000..0e96513
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Parameter.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The abstract base class for the indexed and keyed parameters
+ */
+abstract class Parameter extends Expression {
+	static final String OPERATOR = "$"; //$NON-NLS-1$
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_PARAMETER;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QLActivator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QLActivator.java
new file mode 100644
index 0000000..d1fc901
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QLActivator.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class QLActivator implements BundleActivator {
+	public static BundleContext context;
+
+	public static BundleContext getContext() {
+		return context;
+	}
+
+	public void start(BundleContext aContext) throws Exception {
+		QLActivator.context = aContext;
+	}
+
+	public void stop(BundleContext aContext) throws Exception {
+		QLActivator.context = null;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QueryParseException.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QueryParseException.java
new file mode 100644
index 0000000..50b32ce
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/QueryParseException.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+public class QueryParseException extends RuntimeException {
+	private static final long serialVersionUID = -4834995551702455870L;
+
+	public QueryParseException(String expression, String message, int position) {
+		super("Parse error in string \"" + expression + "\": " + message + " at position " + position); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RangeFunction.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RangeFunction.java
new file mode 100644
index 0000000..3141ebb
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RangeFunction.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
+
+/**
+ * A function that creates a {@link VersionRange} from a String
+ */
+public class RangeFunction extends Function {
+
+	static final String KEYWORD = "range"; //$NON-NLS-1$
+
+	public RangeFunction(Expression[] operands) {
+		super(operands);
+	}
+
+	Object createInstance(String arg) {
+		return new VersionRange(arg);
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Reject.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Reject.java
new file mode 100644
index 0000000..30945ba
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Reject.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * An expression that yields a new collection consisting of all elements of the
+ * <code>collection</code> for which the <code>filter</code> does not yield <code>true</code>.
+ */
+public class Reject extends CollectionFilter {
+	public static final String OPERATOR = "reject"; //$NON-NLS-1$
+
+	public Reject(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(final ExpressionContext context, final VariableScope scope, Iterator iterator) {
+		return new MatchIteratorFilter(Object.class, iterator) {
+			protected boolean isMatch(Object val) {
+				variable.setValue(scope, val);
+				return lambda.evaluate(context, scope) != Boolean.TRUE;
+			}
+		};
+	}
+
+	protected String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RepeatableIterator.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RepeatableIterator.java
new file mode 100644
index 0000000..e1419e9
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RepeatableIterator.java
@@ -0,0 +1,236 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
+
+public class RepeatableIterator implements IRepeatableIterator {
+	private final List values;
+	private int position = -1;
+
+	public static IRepeatableIterator create(Object unknown) {
+		if (unknown.getClass().isArray())
+			return create((Object[]) unknown);
+		if (unknown instanceof Iterator)
+			return create((Iterator) unknown);
+		if (unknown instanceof List)
+			return create((List) unknown);
+		if (unknown instanceof Collection)
+			return create((Collection) unknown);
+		if (unknown instanceof Map)
+			return create(((Map) unknown).entrySet());
+		if (unknown instanceof Collector)
+			return create((Collector) unknown);
+		throw new IllegalArgumentException("Cannot convert a " + unknown.getClass().getName() + " into an iterator"); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+
+	public static IRepeatableIterator create(Iterator iterator) {
+		return iterator instanceof IRepeatableIterator ? ((IRepeatableIterator) iterator).getCopy() : new ElementRetainingIterator(iterator);
+	}
+
+	public static IRepeatableIterator create(List values) {
+		return new RepeatableIterator(values);
+	}
+
+	public static IRepeatableIterator create(Collection values) {
+		return new CollectionIterator(values);
+	}
+
+	public static IRepeatableIterator create(Collector values) {
+		return new CollectorIterator(values);
+	}
+
+	public static IRepeatableIterator create(Object[] values) {
+		return new ArrayIterator(values);
+	}
+
+	RepeatableIterator(List values) {
+		this.values = values;
+	}
+
+	public IRepeatableIterator getCopy() {
+		return new RepeatableIterator(values);
+	}
+
+	public boolean hasNext() {
+		return position + 1 < values.size();
+	}
+
+	public Object next() {
+		if (++position == values.size()) {
+			--position;
+			throw new NoSuchElementException();
+		}
+		return values.get(position);
+	}
+
+	public void remove() {
+		throw new UnsupportedOperationException();
+	}
+
+	public Object getIteratorProvider() {
+		return values;
+	}
+
+	void setPosition(int position) {
+		this.position = position;
+	}
+
+	List getValues() {
+		return values;
+	}
+
+	static class ArrayIterator implements IRepeatableIterator {
+		private final Object[] array;
+		private int position = -1;
+
+		public ArrayIterator(Object[] array) {
+			this.array = array;
+		}
+
+		public Object getIteratorProvider() {
+			return array;
+		}
+
+		public boolean hasNext() {
+			return position + 1 < array.length;
+		}
+
+		public Object next() {
+			if (++position >= array.length)
+				throw new NoSuchElementException();
+			return array[position];
+		}
+
+		public void remove() {
+			throw new UnsupportedOperationException();
+		}
+
+		public IRepeatableIterator getCopy() {
+			return new ArrayIterator(array);
+		}
+	}
+
+	static class CollectionIterator implements IRepeatableIterator {
+		private final Collection collection;
+
+		private final Iterator iterator;
+
+		CollectionIterator(Collection collection) {
+			this.collection = collection;
+			this.iterator = collection.iterator();
+		}
+
+		public IRepeatableIterator getCopy() {
+			return new CollectionIterator(collection);
+		}
+
+		public Object getIteratorProvider() {
+			return collection;
+		}
+
+		public boolean hasNext() {
+			return iterator.hasNext();
+		}
+
+		public Object next() {
+			return iterator.next();
+		}
+
+		public void remove() {
+			throw new UnsupportedOperationException();
+		}
+	}
+
+	static class CollectorIterator implements IRepeatableIterator {
+		private final Collector collector;
+
+		private final Iterator iterator;
+
+		CollectorIterator(Collector collector) {
+			this.collector = collector;
+			this.iterator = collector.iterator();
+		}
+
+		public IRepeatableIterator getCopy() {
+			return new CollectorIterator(collector);
+		}
+
+		public Object getIteratorProvider() {
+			return collector;
+		}
+
+		public boolean hasNext() {
+			return iterator.hasNext();
+		}
+
+		public Object next() {
+			return iterator.next();
+		}
+
+		public void remove() {
+			throw new UnsupportedOperationException();
+		}
+	}
+
+	static class ElementRetainingIterator extends RepeatableIterator {
+
+		private Iterator innerIterator;
+
+		ElementRetainingIterator(Iterator iterator) {
+			super(new ArrayList());
+			innerIterator = iterator;
+		}
+
+		public synchronized boolean hasNext() {
+			if (innerIterator != null) {
+				if (innerIterator.hasNext())
+					return true;
+				innerIterator = null;
+				setPosition(getValues().size());
+			}
+			return super.hasNext();
+		}
+
+		public synchronized Object next() {
+			if (innerIterator != null) {
+				Object val = innerIterator.next();
+				getValues().add(val);
+				return val;
+			}
+			return super.next();
+		}
+
+		public synchronized IRepeatableIterator getCopy() {
+			// If the current iterator still exists, we must exhaust it first
+			//
+			exhaustInnerIterator();
+			return super.getCopy();
+		}
+
+		public synchronized Object getIteratorProvider() {
+			exhaustInnerIterator();
+			return super.getIteratorProvider();
+		}
+
+		private void exhaustInnerIterator() {
+			if (innerIterator != null) {
+				List values = getValues();
+				int savePos = values.size() - 1;
+				while (innerIterator.hasNext())
+					values.add(innerIterator.next());
+				innerIterator = null;
+				setPosition(savePos);
+			}
+		}
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RootVariableScope.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RootVariableScope.java
new file mode 100644
index 0000000..2a19acf
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/RootVariableScope.java
@@ -0,0 +1,21 @@
+package org.eclipse.equinox.internal.p2.ql;
+
+final class RootVariableScope implements VariableScope {
+	private static final RootVariableScope instance = new RootVariableScope();
+
+	private RootVariableScope() {
+		// To prevent singleton pattern breakage
+	}
+
+	public static VariableScope getInstance() {
+		return instance;
+	}
+
+	public Object getValue(Variable var) {
+		throw new IllegalArgumentException("No such variable: " + var.getName()); //$NON-NLS-1$
+	}
+
+	public void setValue(Variable var, Object val) {
+		throw new IllegalArgumentException("No such variable: " + var.getName()); //$NON-NLS-1$
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Select.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Select.java
new file mode 100644
index 0000000..05fc6a3
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Select.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * An expression that yields a new collection consisting of all elements of the
+ * <code>collection</code> for which the <code>filter</code> yields <code>true</code>.
+ */
+public final class Select extends CollectionFilter {
+	public static final String OPERATOR = "select"; //$NON-NLS-1$
+
+	public Select(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(final ExpressionContext context, final VariableScope scope, Iterator iterator) {
+		return new MatchIteratorFilter(Object.class, iterator) {
+			protected boolean isMatch(Object val) {
+				variable.setValue(scope, val);
+				return lambda.evaluate(context, scope) == Boolean.TRUE;
+			}
+		};
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SetConstructor.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SetConstructor.java
new file mode 100644
index 0000000..f3aea1e
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SetConstructor.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.HashSet;
+
+public class SetConstructor extends Function {
+
+	static final String KEYWORD = "set"; //$NON-NLS-1$
+
+	public SetConstructor(Expression[] operands) {
+		super(operands);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		HashSet result = new HashSet();
+		for (int idx = 0; idx < operands.length; ++idx)
+			result.add(operands[idx].evaluate(context, scope));
+		return result;
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SimplePattern.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SimplePattern.java
new file mode 100644
index 0000000..035489b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SimplePattern.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+public class SimplePattern {
+	private static class RubberBandNode extends Node {
+		RubberBandNode(Node next) {
+			super(next);
+		}
+
+		boolean match(CharSequence value, int pos) {
+			if (next == null)
+				return true;
+
+			int top = value.length();
+			while (pos < top) {
+				if (next.match(value, pos++))
+					return true;
+			}
+			return false;
+		}
+	}
+
+	private static class AnyCharacterNode extends Node {
+		AnyCharacterNode(Node next) {
+			super(next);
+		}
+
+		boolean match(CharSequence value, int pos) {
+			int top = value.length();
+			return next == null ? pos + 1 == top : next.match(value, pos + 1);
+		}
+	}
+
+	private static class ConstantNode extends Node {
+		final String constant;
+
+		ConstantNode(Node next, String constant) {
+			super(next);
+			this.constant = constant;
+		}
+
+		boolean match(CharSequence value, int pos) {
+			int vtop = value.length();
+			int ctop = constant.length();
+			if (ctop + pos > vtop)
+				return false;
+
+			for (int idx = 0; idx < ctop; ++idx, ++pos)
+				if (constant.charAt(idx) != value.charAt(pos))
+					return false;
+
+			return next == null ? true : next.match(value, pos);
+		}
+	}
+
+	private static abstract class Node {
+		final Node next;
+
+		Node(Node next) {
+			this.next = next;
+		}
+
+		abstract boolean match(CharSequence value, int pos);
+	}
+
+	public static SimplePattern compile(String pattern) {
+		if (pattern == null)
+			throw new IllegalArgumentException("Pattern can not be null"); //$NON-NLS-1$
+
+		return new SimplePattern(parse(pattern, 0));
+	}
+
+	private static Node parse(String pattern, int pos) {
+		int top = pattern.length();
+		StringBuffer bld = null;
+		Node parsedNode = null;
+		while (pos < top) {
+			char c = pattern.charAt(pos);
+			switch (c) {
+				case '*' :
+					parsedNode = new RubberBandNode(parse(pattern, pos + 1));
+					break;
+				case '?' :
+					parsedNode = new AnyCharacterNode(parse(pattern, pos + 1));
+					break;
+				case '\\' :
+					if (++pos == top)
+						throw new IllegalArgumentException("Pattern ends with escape"); //$NON-NLS-1$
+					c = pattern.charAt(pos);
+					// fall through
+				default :
+					if (bld == null)
+						bld = new StringBuffer();
+					bld.append(c);
+					++pos;
+					continue;
+			}
+			break;
+		}
+
+		if (bld != null)
+			parsedNode = new ConstantNode(parsedNode, bld.toString());
+		return parsedNode;
+	}
+
+	private final Node node;
+
+	private SimplePattern(Node node) {
+		this.node = node;
+	}
+
+	public boolean isMatch(CharSequence value) {
+		return node.match(value, 0);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SingleVariableScope.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SingleVariableScope.java
new file mode 100644
index 0000000..5ca6460
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/SingleVariableScope.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+final class SingleVariableScope implements VariableScope {
+	private final VariableScope parentScope;
+
+	private Object value;
+
+	private final Variable variable;
+
+	public SingleVariableScope(Variable variable) {
+		this.parentScope = ROOT;
+		this.variable = variable;
+	}
+
+	public SingleVariableScope(VariableScope parentScope, Variable variable) {
+		this.parentScope = parentScope;
+		this.variable = variable;
+	}
+
+	public Object getValue(Variable var) {
+		return variable == var ? value : parentScope.getValue(var);
+	}
+
+	public void setValue(Variable var, Object val) {
+		if (variable == var)
+			value = val;
+		else
+			parentScope.setValue(var, val);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Traverse.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Traverse.java
new file mode 100644
index 0000000..1285a1c
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Traverse.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+
+/**
+ * An expression that will collect items recursively based on a <code>rule</code>.
+ * The <code>rule</code> is applied for each item in the <code>collection</code> and
+ * is supposed to create a new collection. The <code>rule</code> is then applied for each item
+ * in the new collection. All items are collected into a set and items that are already
+ * in that set will not be perused again. The set becomes the result of the traversal.
+ */
+public final class Traverse extends CollectionFilter {
+
+	public static final String OPERATOR = "traverse"; //$NON-NLS-1$
+
+	public Traverse(Expression collection, LambdaExpression lambda) {
+		super(collection, lambda);
+	}
+
+	Object evaluate(ExpressionContext context, VariableScope scope, Iterator iterator) {
+		HashSet collector = new HashSet();
+		while (iterator.hasNext())
+			traverse(collector, iterator.next(), context, scope);
+		return collector;
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	void traverse(Set collector, Object parent, ExpressionContext context, VariableScope scope) {
+		if (collector.add(parent)) {
+			scope = new SingleVariableScope(scope, variable);
+			variable.setValue(scope, parent);
+			Iterator subIterator = lambda.evaluateAsIterator(context, scope);
+			while (subIterator.hasNext())
+				traverse(collector, subIterator.next(), context, scope);
+		}
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unary.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unary.java
new file mode 100644
index 0000000..6e4ce33
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unary.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+/**
+ * The abstract base class for all unary expressions
+ */
+abstract class Unary extends Expression {
+	final Expression operand;
+
+	Unary(Expression operand) {
+		this.operand = operand;
+	}
+
+	public boolean accept(Visitor visitor) {
+		return super.accept(visitor) && operand.accept(visitor);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		return operand.evaluate(context, scope);
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append(getOperator());
+		appendOperand(bld, operand, getPriority());
+	}
+
+	int countReferenceToEverything() {
+		return operand.countReferenceToEverything();
+	}
+
+	abstract String getOperator();
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/UnaryCollectionFilter.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/UnaryCollectionFilter.java
new file mode 100644
index 0000000..11c00c5
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/UnaryCollectionFilter.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+abstract class UnaryCollectionFilter extends Unary {
+
+	UnaryCollectionFilter(Expression collection) {
+		super(collection);
+	}
+
+	public void toString(StringBuffer bld) {
+		if (operand instanceof Select) {
+			Select select = (Select) operand;
+			CollectionFilter.appendProlog(bld, select.operand, getOperator());
+			appendOperand(bld, select.lambda, getPriority());
+		} else
+			CollectionFilter.appendProlog(bld, operand, getOperator());
+		bld.append(')');
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_COLLECTION;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unique.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unique.java
new file mode 100644
index 0000000..241dd64
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Unique.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.*;
+
+/**
+ * An expression that ensures that the elements of its collection is only returned
+ * once throughout the whole query.
+ */
+public final class Unique extends Binary {
+	public static class UniqueIterator extends MatchIteratorFilter {
+		private final Set uniqueSet;
+
+		public UniqueIterator(Class instanceClass, Iterator iterator, Set uniqueSet) {
+			super(instanceClass, iterator);
+			this.uniqueSet = uniqueSet;
+		}
+
+		protected boolean isMatch(Object val) {
+			synchronized (uniqueSet) {
+				return uniqueSet.add(val);
+			}
+		}
+	}
+
+	static final String OPERATOR = "unique"; //$NON-NLS-1$
+
+	public Unique(Expression collection, Expression cacheId) {
+		super(collection, cacheId);
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object explicitCache = rhs.evaluate(context, scope);
+		Set uniqueSet;
+		if (explicitCache == null)
+			// No cache, we just ensure that the iteration is unique
+			uniqueSet = new HashSet();
+		else {
+			if (!(explicitCache instanceof Set))
+				throw new IllegalArgumentException("Unique cache must be a java.util.Set"); //$NON-NLS-1$
+			uniqueSet = (Set) explicitCache;
+		}
+		return new UniqueIterator(Object.class, lhs.evaluateAsIterator(context, scope), uniqueSet);
+	}
+
+	public void toString(StringBuffer bld) {
+		CollectionFilter.appendProlog(bld, lhs, getOperator());
+		if (rhs != Constant.NULL_CONSTANT)
+			appendOperand(bld, rhs, ExpressionParser.PRIORITY_COMMA);
+		bld.append(')');
+	}
+
+	String getOperator() {
+		return OPERATOR;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_COLLECTION;
+	}
+
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Variable.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Variable.java
new file mode 100644
index 0000000..27b9950
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/Variable.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+
+/**
+ * An expression representing a variable stack in the current thread.
+ */
+public class Variable extends Expression {
+
+	static final String KEYWORD_EVERYTHING = "everything"; //$NON-NLS-1$
+
+	static final String KEYWORD_ITEM = "item"; //$NON-NLS-1$
+
+	public static final Variable EVERYTHING = new Variable(KEYWORD_EVERYTHING);
+
+	public static final Variable ITEM = new ItemVariable(KEYWORD_ITEM);
+
+	private final String name;
+
+	public static Variable createEach(String name) {
+		return new EachVariable(name);
+	}
+
+	public static Variable create(String name) {
+		if (EachVariable.KEYWORD_EACH.equals(name))
+			return new EachVariable(name);
+		if (KEYWORD_ITEM.equals(name))
+			return ITEM;
+		if (KEYWORD_EVERYTHING.equals(name))
+			return EVERYTHING;
+		return new Variable(name);
+	}
+
+	Variable(String name) {
+		this.name = name;
+	}
+
+	public final Object evaluate(ExpressionContext context, VariableScope scope) {
+		return scope.getValue(this);
+	}
+
+	public Iterator evaluateAsIterator(ExpressionContext context, VariableScope scope) {
+		Object value = scope.getValue(this);
+		if (value instanceof IRepeatableIterator)
+			return ((IRepeatableIterator) value).getCopy();
+
+		Iterator itor = RepeatableIterator.create(value);
+		setValue(scope, itor);
+		return itor;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void toString(StringBuffer bld) {
+		bld.append(name);
+	}
+
+	int countReferenceToEverything() {
+		return KEYWORD_EVERYTHING.equals(name) ? 1 : 0;
+	}
+
+	int getPriority() {
+		return ExpressionParser.PRIORITY_VARIABLE;
+	}
+
+	final void setValue(VariableScope scope, Object value) {
+		scope.setValue(this, value);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VariableScope.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VariableScope.java
new file mode 100644
index 0000000..fd758c5
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VariableScope.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+public interface VariableScope {
+	public static final VariableScope ROOT = RootVariableScope.getInstance();
+
+	Object getValue(Variable variable);
+
+	void setValue(Variable variable, Object value);
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VersionFunction.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VersionFunction.java
new file mode 100644
index 0000000..deca52b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/VersionFunction.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
+
+/**
+ * A function that creates a {@link Version} from a string
+ */
+public class VersionFunction extends Function {
+
+	static final String KEYWORD = "version"; //$NON-NLS-1$
+
+	public VersionFunction(Expression[] operands) {
+		super(operands);
+	}
+
+	Object createInstance(String arg) {
+		return Version.create(arg);
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/WrappedIQuery.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/WrappedIQuery.java
new file mode 100644
index 0000000..a9d79b0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/internal/p2/ql/WrappedIQuery.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.ql;
+
+import java.util.Iterator;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.IMatchQuery;
+import org.eclipse.equinox.p2.metadata.query.IQuery;
+
+public final class WrappedIQuery extends Function {
+
+	static final String KEYWORD = "iquery"; //$NON-NLS-1$
+
+	public WrappedIQuery(Expression[] operands) {
+		super(operands);
+		int argCount = operands.length;
+		if (argCount < 1)
+			throw new IllegalArgumentException("iquery must have at least one argument"); //$NON-NLS-1$
+		if (argCount > 3)
+			throw new IllegalArgumentException("iquery must have max 3 arguments"); //$NON-NLS-1$
+	}
+
+	public Object evaluate(ExpressionContext context, VariableScope scope) {
+		Object query = operands[0].evaluate(context, scope);
+
+		if (query instanceof IMatchQuery) {
+			if (operands.length > 2)
+				throw new IllegalArgumentException("iquery third argument cannot be combined with a match query"); //$NON-NLS-1$
+
+			Object value = null;
+			if (operands.length > 1)
+				value = operands[1].evaluate(context, scope);
+			else
+				value = Variable.ITEM.evaluate(context, scope);
+			return Boolean.valueOf(((IMatchQuery) query).isMatch(value));
+		}
+
+		if (!(query instanceof IQuery))
+			throw new IllegalArgumentException("iquery first argument must be an IQuery instance"); //$NON-NLS-1$
+
+		Collector collector;
+		if (operands.length < 3)
+			collector = new Collector();
+		else {
+			Object cobj = operands[2].evaluate(context, scope);
+			if (cobj instanceof Collector)
+				collector = (Collector) cobj;
+			else if (cobj == null)
+				collector = new Collector();
+			else
+				throw new IllegalArgumentException("iquery third argument must be a collector"); //$NON-NLS-1$
+		}
+
+		Iterator iterator = null;
+		if (operands.length > 1)
+			iterator = operands[1].evaluateAsIterator(context, scope);
+		else
+			iterator = Variable.EVERYTHING.evaluateAsIterator(context, scope);
+		return ((IQuery) query).perform(iterator, collector);
+	}
+
+	String getOperator() {
+		return KEYWORD;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/ExpressionQuery.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/ExpressionQuery.java
new file mode 100644
index 0000000..c80f0ee
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/ExpressionQuery.java
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.p2.ql;
+
+import java.util.Iterator;
+import java.util.Map;
+import org.eclipse.equinox.internal.p2.ql.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.ContextQuery;
+import org.eclipse.equinox.p2.metadata.IArtifactKey;
+import org.eclipse.equinox.p2.metadata.IVersionedId;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
+
+/**
+ * An IQuery implementation that is based on the p2 query language.
+ */
+public class ExpressionQuery extends ContextQuery {
+	private static final ExpressionParser parser = new ExpressionParser();
+	private static final Object[] noParameters = new Object[0];
+
+	private final Class instanceClass;
+	private final ContextExpression expression;
+	private final Object[] parameters;
+
+	public ExpressionQuery(Class instanceClass, ContextExpression expression, Object[] parameters) {
+		this.expression = expression;
+		this.parameters = parameters == null ? noParameters : parameters;
+		this.instanceClass = instanceClass;
+	}
+
+	public ExpressionQuery(Class instanceClass, String expression) {
+		this(instanceClass, parser.parseQuery(expression), null);
+	}
+
+	public ExpressionQuery(Class instanceClass, String expression, Object param1) {
+		this(instanceClass, parser.parseQuery(expression), new Object[] {param1});
+	}
+
+	public ExpressionQuery(Class instanceClass, String expression, Object param1, Object param2) {
+		this(instanceClass, parser.parseQuery(expression), new Object[] {param1, param2});
+	}
+
+	public ExpressionQuery(Class instanceClass, String expression, Object param1, Object param2, Object param3) {
+		this(instanceClass, parser.parseQuery(expression), new Object[] {param1, param2, param3});
+	}
+
+	public ExpressionQuery(ContextExpression expression, Map args) {
+		this(IVersionedId.class, expression, new Object[] {args});
+	}
+
+	public ExpressionQuery(ContextExpression expr, Object[] objects) {
+		this(IVersionedId.class, expr, objects);
+	}
+
+	public ExpressionQuery(String expression) {
+		this(IVersionedId.class, parser.parseQuery(expression), noParameters);
+	}
+
+	public ExpressionQuery(String expression, Object param1) {
+		this(IVersionedId.class, parser.parseQuery(expression), new Object[] {param1});
+	}
+
+	public ExpressionQuery(String expression, Object param1, Object param2) {
+		this(IVersionedId.class, parser.parseQuery(expression), new Object[] {param1, param2});
+	}
+
+	public ExpressionQuery(String expression, Object param1, Object param2, Object param3) {
+		this(IVersionedId.class, parser.parseQuery(expression), new Object[] {param1, param2, param3});
+	}
+
+	public Class getInstanceClass() {
+		return instanceClass;
+	}
+
+	public Object getProperty(String key) {
+		if (IArtifactRepository.QUERY_EXCLUDE_KEYS.equals(key))
+			return Boolean.valueOf(!instanceClass.isAssignableFrom(IArtifactKey.class));
+
+		if (IArtifactRepository.QUERY_EXCLUDE_DESCRIPTORS.equals(key))
+			return Boolean.valueOf(!instanceClass.isAssignableFrom(IArtifactDescriptor.class));
+
+		return super.getProperty(key);
+	}
+
+	public Collector perform(Iterator iterator, Collector collector) {
+		iterator = expression.evaluateAsIterator(new ExpressionContext(instanceClass, parameters, iterator, expression.needsRepeatedIterations()), expression.defineScope());
+		while (iterator.hasNext()) {
+			Object nxt = iterator.next();
+			if (!collector.accept(nxt))
+				break;
+		}
+		return collector;
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/PredicateQuery.java b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/PredicateQuery.java
new file mode 100644
index 0000000..cff4aa4
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.ql/src/org/eclipse/equinox/p2/ql/PredicateQuery.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Cloudsmith Inc. 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:
+ *     Cloudsmith Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.equinox.p2.ql;
+
+import java.util.Map;
+import org.eclipse.equinox.internal.p2.ql.*;
+import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
+import org.eclipse.equinox.p2.metadata.IArtifactKey;
+import org.eclipse.equinox.p2.metadata.IVersionedId;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
+
+/**
+ * An IQuery implementation that is based on the p2 query language.
+ */
+public class PredicateQuery extends MatchQuery {
+	private static final ExpressionParser parser = new ExpressionParser();
+
+	private final ExpressionContext context;
+	private final VariableScope scope;
+	private final ItemExpression expression;
+
+	public PredicateQuery(Class instanceClass, ItemExpression expression, Object[] parameters) {
+		this.expression = expression;
+		this.context = new ExpressionContext(instanceClass, parameters, null);
+		this.scope = expression.defineScope();
+	}
+
+	public PredicateQuery(Class instanceClass, String expression) {
+		this(instanceClass, parser.parsePredicate(expression), null);
+	}
+
+	public PredicateQuery(Class instanceClass, String expression, Object param1) {
+		this(instanceClass, parser.parsePredicate(expression), new Object[] {param1});
+	}
+
+	public PredicateQuery(Class instanceClass, String expression, Object param1, Object param2) {
+		this(instanceClass, parser.parsePredicate(expression), new Object[] {param1, param2});
+	}
+
+	public PredicateQuery(Class instanceClass, String expression, Object param1, Object param2, Object param3) {
+		this(instanceClass, parser.parsePredicate(expression), new Object[] {param1, param2, param3});
+	}
+
+	public PredicateQuery(ItemExpression expression, Map args) {
+		this(IVersionedId.class, expression, new Object[] {args});
+	}
+
+	public PredicateQuery(ItemExpression expr, Object[] objects) {
+		this(IVersionedId.class, expr, objects);
+	}
+
+	public PredicateQuery(String expression) {
+		this(IVersionedId.class, parser.parsePredicate(expression), null);
+	}
+
+	public PredicateQuery(String expression, Object param1) {
+		this(IVersionedId.class, parser.parsePredicate(expression), new Object[] {param1});
+	}
+
+	public PredicateQuery(String expression, Object param1, Object param2) {
+		this(IVersionedId.class, parser.parsePredicate(expression), new Object[] {param1, param2});
+	}
+
+	public PredicateQuery(String expression, Object param1, Object param2, Object param3) {
+		this(IVersionedId.class, parser.parsePredicate(expression), new Object[] {param1, param2, param3});
+	}
+
+	public Object getProperty(String key) {
+		if (IArtifactRepository.QUERY_EXCLUDE_KEYS.equals(key))
+			return Boolean.valueOf(!context.getInstanceClass().isAssignableFrom(IArtifactKey.class));
+
+		if (IArtifactRepository.QUERY_EXCLUDE_DESCRIPTORS.equals(key))
+			return Boolean.valueOf(!context.getInstanceClass().isAssignableFrom(IArtifactDescriptor.class));
+
+		return super.getProperty(key);
+	}
+
+	public boolean isMatch(Object candidate) {
+		return expression.isMatch(context, scope, candidate);
+	}
+}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
deleted file mode 100644
index bfbc706..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.reconciler.dropins</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b828310..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Thu Nov 20 12:56:54 PST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
deleted file mode 100644
index 50b1386..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="p2 bootstrap" id="org.eclipse.equinox.p2.reconciler.dropins.product" application="org.eclipse.equinox.p2.reconciler.application" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="default">
-      <linux>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</linux>
-      <macosx>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</macosx>
-      <solaris>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</solaris>
-      <win32>/org.eclipse.equinox.p2.reconciler.dropins/config.ini</win32>
-   </configIni>
-
-   <launcherArgs>
-      <vmArgs>-Dorg.eclipse.equinox.p2.reconciler.noConfig=true</vmArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher name="eclipse.exe">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.net"/>
-      <plugin id="org.eclipse.core.net.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
-      <plugin id="org.eclipse.equinox.p2.repository"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
deleted file mode 100644
index e1ccbb2..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Import-Package: org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.extensionlocation,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.provisional.configurator,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.query,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.environment;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.equinox.p2.touchpoint.eclipse;bundle-version="1.0.0"
-Export-Package: org.eclipse.equinox.internal.p2.reconciler.dropins;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
deleted file mode 100644
index abded13..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler App - Metadata Generator.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Reconciler App - Metadata Generator"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:D:/tmp/reconciler/repo/&#13;&#10;-artifactRepository file:D:/tmp/reconciler/repo&#13;&#10;-source D:/tmp/reconciler/eclipse&#13;&#10;-root reconciler&#13;&#10;-rootVersion 1.0.0&#13;&#10;-flavor tooling&#13;&#10;-publishArtifacts&#13;&#10;-append"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.security*1.0.0.v20080421-2006@default:default,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,com.ibm.icu*3.8.1.v20080402@default:default,org.eclipse.equinox.common*3.4.0.v20080421-2006@default:default,org.eclipse.core.runtime*3.4.0.v20080421-1805@default:default,org.eclipse.equinox.preferences*3.2.200.v20080421-2006@default:default,org.eclipse.update.configurator*3.2.200.v20080417@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.osgi*3.4.0.v20080421-2006@:,org.eclipse.core.net*1.1.0.I20080422@default:default,org.eclipse.equinox.registry*3.4.0.v20080421-2006@default:default,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.equinox.security.win32.x86*1.0.0.v20080421-2006@default:false,org.eclipse.equinox.app*1.1.0.v20080421-2006@default:true,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.launcher*1.0.100.v20080421-2006@default:default,org.eclipse.core.contenttype*3.3.0.v20080414@default:default,org.eclipse.core.net.win32.x86*1.0.0.HEAD@default:false,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.equinox.launcher.win32.win32.x86*1.0.100.v20080421-2006@default:false,org.eclipse.equinox.launcher*1.0.100.v20080414@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.frameworkadmin*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata*0.1.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.metadata.generator*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.core*0.1.0.qualifier@default:default,org.eclipse.equinox.p2.engine*0.1.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*0.1.0.qualifier@default:true,org.eclipse.ecf.provider.filetransfer.ssl*1.0.0.qualifier@default:false,org.eclipse.equinox.p2.metadata.repository*0.1.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.ecf.ssl*1.0.0.qualifier@default:false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch b/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
deleted file mode 100644
index 62cb457..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/Reconciler app installation.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Reconciler app installation"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-noExit&#13;&#10;-application org.eclipse.equinox.p2.director.app.application&#13;&#10;-metadataRepository file:d:/tmp/reconciler/repo &#13;&#10;-artifactRepository file:d:/tmp/reconciler/repo &#13;&#10;-installIU reconciler &#13;&#10;-destination d:/tmp/bootstrapTest/ &#13;&#10;-bundlepool d:/tmp/pool/&#13;&#10;-profile bootProfile &#13;&#10;-p2.os win32 &#13;&#10;-p2.ws win32 &#13;&#10;-p2.arch x86&#13;&#10;-profileProperties org.eclipse.update.install.features=true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=d:/tmp/bootstrapTest/p2"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.runtime*3.4.0.v20080421-1805@4:true,org.eclipse.equinox.common*3.4.0.v20080421-2006@default:default,org.eclipse.equinox.app*1.1.0.v20080421-2006@2:true,org.eclipse.core.runtime.compatibility.registry*3.2.200.v20070717@default:false,org.eclipse.equinox.security.win32.x86*1.0.0.v20080421-2006@default:false,org.eclipse.swt.win32.win32.x86*3.4.0.v3440@default:false,org.eclipse.equinox.preferences*3.2.200.v20080421-2006@default:default,org.eclipse.core.commands*3.4.0.v20080408-0800@default:default,org.eclipse.swt*3.4.0.v3440@default:default,org.eclipse.core.runtime.compatibility.auth*3.2.100.v20070502@default:default,org.eclipse.core.contenttype*3.3.0.v20080414@default:default,org.eclipse.osgi*3.4.0.v20080421-2006@:,org.eclipse.core.jobs*3.4.0.v20080310@default:default,org.eclipse.jface*3.4.0.I20080422-0800@default:default,org.eclipse.core.variables*3.2.100.v20080324-1600@default:default,org.eclipse.osgi.services*3.1.200.v20071203@default:default,org.eclipse.ant.core*3.2.0.v20080319@default:default,org.eclipse.equinox.security*1.0.0.v20080421-2006@default:default,org.eclipse.equinox.registry*3.4.0.v20080421-2006@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.metadata*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.engine*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.director*1.0.0.qualifier@default:default,org.sat4j.pb*2.0.0.v20080421@default:default,org.eclipse.equinox.p2.metadata.repository*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.director.app*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.console*1.0.0.qualifier@default:default,org.eclipse.ecf.identity*2.0.0.qualifier@default:default,org.eclipse.ecf*2.0.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer*2.0.0.qualifier@default:default,org.eclipse.ecf.filetransfer*2.0.0.qualifier@default:default,org.eclipse.equinox.simpleconfigurator.manipulator*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.core*1.0.0.qualifier@default:default,org.eclipse.equinox.frameworkadmin.equinox*1.0.0.qualifier@default:default,org.eclipse.equinox.p2.artifact.repository*1.0.0.qualifier@default:default,org.eclipse.ecf.provider.filetransfer.ssl*1.0.0.qualifier@default:false,org.eclipse.equinox.simpleconfigurator*1.0.0.qualifier@default:default,org.sat4j.core*2.0.0.v20080421@default:default,org.eclipse.equinox.frameworkadmin*1.0.0.qualifier@default:default,org.eclipse.ecf.ssl*1.0.0.qualifier@default:false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html b/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
deleted file mode 100644
index 6861747..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties,\
-               about.html,\
-               plugin.xml,\
-               Bootstrap.product,\
-               config.ini
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini b/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
deleted file mode 100644
index a28c5ec..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/config.ini
+++ /dev/null
@@ -1,55 +0,0 @@
-# Eclipse runtime configuration file
-# This file contains a number of key/value pairs that are merged into the 
-# System properties on system startup.  The values control the way the 
-# runtime is structured and runs.
-
-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 
-# URLs given may include a version number (e.g., .../location_1.2.3).  
-# If a version is not specified, the system binds
-# to the location which matches exactly or to the versioned location with the
-# latest version number.  If a version number is given then only exact matches
-# are considered.
-
-# The URL for the runtime entry point.  The default value is
-# platform:/base/plugins/org.eclipse.osgi 
-#osgi.framework = platform:/base/plugins/org.eclipse.osgi
-
-# The classpath for the framework found at the osgi.framework location.  This 
-# comma-separated list contains either URLs or simple element names.  Simple
-# names are assumed to be relative to the framework's install directory.  
-# Typically this value need not be set as it is initialized by the framework itself.
-# Version match searching is not done for URLs listed here.
-#osgi.frameworkClassPath =
-
-# The comma-separated list of locations to search for the splash screen file (splash.bmp).
-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.
-# The system binds to the first matching file.  There is no default value.
-osgi.splashPath = platform:/base/plugins/org.eclipse.platform
-
-# The location of the splash screen file.  If this value is set at system startup it is used 
-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 
-# the searching is done and this key is bound to the result of the search.
-#osgi.splashLocation =
-
-# The comma-separated list of bundles which are automatically installed and optionally started
-# once the system is up and running.  Each entry if of the form
-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]
-# If the startlevel is omitted then the framework will use the default start level for the bundle.
-# If the "start" tag is added then the bundle will be marked as started after being installed.
-# Simple bundle locations are interepreted as relative to the framework's parent directory.
-# The startlevel indicates the OSGi start level at which the bundle should run.
-# If this value is not set, the system computes an appropriate default.
-osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.equinox.p2.reconciler.dropins@4:start, org.eclipse.core.runtime@start
-
-# The default start level.
-osgi.bundles.defaultStartLevel=4
-
-# The product to run.  A given Eclipse configuration may contain many products.
-# The product identified will supply the branding (window icons, title bar text) etc 
-# as well as define the default application to run.  
-eclipse.application=org.eclipse.equinox.p2.reconciler.application
-
-org.eclipse.update.reconcile=false
-
-# End of file marker - must be here
-eof=eof
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
deleted file mode 100644
index deacb73..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Dropin Reconciler Plug-in
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml b/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
deleted file mode 100644
index 1b5ce1d..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/plugin.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         id="org.eclipse.equinox.p2.reconciler.dropins.product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.reconciler.application"
-            name="p2 reconciliation product">
-         <property
-               name="appName"
-               value="p2 reconciliation product">
-         </property>
-      </product>
-   </extension>
-   <extension
-         id="org.eclipse.equinox.p2.reconciler.application"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="singleton-global"
-            thread="main"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.reconciler.dropins.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.reconciler.application"
-            name="p2 reconciliation application">
-         <property
-               name="appName"
-               value="p2 reconciliation application">
-         </property>
-      </product>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
deleted file mode 100644
index 5b9f3fe..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.java
+++ /dev/null
@@ -1,667 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 implementation and ideas 
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.extensionlocation.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.p2.update.Configuration;
-import org.eclipse.equinox.internal.p2.update.PathUtil;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class Activator implements BundleActivator {
-
-	static final String PROP_APPLICATION_STATUS = "org.eclipse.equinox.p2.reconciler.application.status"; //$NON-NLS-1$
-	public static final String ID = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
-	private static final String DROPINS_DIRECTORY = "org.eclipse.equinox.p2.reconciler.dropins.directory"; //$NON-NLS-1$
-	private static final String DROPINS = "dropins"; //$NON-NLS-1$
-	private static final String LINKS = "links"; //$NON-NLS-1$
-	private static final String CONFIG_INI = "config.ini"; //$NON-NLS-1$
-	private static final String PLATFORM_CFG = "org.eclipse.update/platform.xml"; //$NON-NLS-1$
-	private static final String CACHE_FILENAME = "cache.timestamps"; //$NON-NLS-1$
-	private static final String DIR_ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String DIR_PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String DIR_FEATURES = "features"; //$NON-NLS-1$
-	private static final String EXT_LINK = ".link"; //$NON-NLS-1$
-	private static PackageAdmin packageAdmin;
-	private static BundleContext bundleContext;
-	private ServiceReference packageAdminRef;
-	private List watchers = new ArrayList();
-	private final static Set repositories = new HashSet();
-	private Collection filesToCheck = null;
-
-	/**
-	 * Helper method to create an extension location metadata repository at the given URI. 
-	 * If one already exists at that location then an exception will be thrown.
-	 * 
-	 * This method never returns <code>null</code>.
-	 * 
-	 * @throws IllegalStateException
-	 * @throws ProvisionException 
-	 */
-	public static IMetadataRepository createExtensionLocationMetadataRepository(URI location, String name, Map properties) throws ProvisionException {
-		BundleContext context = getContext();
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("MetadataRepositoryManager not registered."); //$NON-NLS-1$
-		ExtensionLocationMetadataRepositoryFactory factory = new ExtensionLocationMetadataRepositoryFactory();
-		IMetadataRepository repository = factory.create(location, name, ExtensionLocationMetadataRepository.TYPE, properties);
-		//we need to add the concrete repository to the repository manager, or its properties will not be correct
-		((MetadataRepositoryManager) manager).addRepository(repository);
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, String.valueOf(true));
-		return repository;
-	}
-
-	/**
-	 * Helper method to load an extension location metadata repository from the given URL.
-	 * 
-	 * @throws IllegalStateException
-	 * @throws ProvisionException
-	 */
-	public static IMetadataRepository loadMetadataRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		BundleContext context = getContext();
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(context, IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("MetadataRepositoryManager not registered."); //$NON-NLS-1$
-		IMetadataRepository repository = manager.loadRepository(location, monitor);
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, String.valueOf(true));
-		return repository;
-	}
-
-	/**
-	 * Helper method to create an extension location artifact repository at the given URL. 
-	 * If one already exists at that location then an exception will be thrown.
-	 * 
-	 * This method never returns <code>null</code>.
-	 * 
-	 * @throws IllegalStateException
-	 * @throws ProvisionException 
-	 */
-	public static IArtifactRepository createExtensionLocationArtifactRepository(URI location, String name, Map properties) throws ProvisionException {
-		BundleContext context = getContext();
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("ArtifactRepositoryManager not registered."); //$NON-NLS-1$
-		ExtensionLocationArtifactRepositoryFactory factory = new ExtensionLocationArtifactRepositoryFactory();
-		IArtifactRepository repository = factory.create(location, name, ExtensionLocationArtifactRepository.TYPE, properties);
-		//we need to add the concrete repository to the repository manager, or its properties will not be correct
-		((ArtifactRepositoryManager) manager).addRepository(repository);
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, String.valueOf(true));
-		return repository;
-	}
-
-	/**
-	 * Helper method to load an extension location metadata repository from the given URL.
-	 * 
-	 * @throws IllegalStateException
-	 * @throws ProvisionException
-	 */
-	public static IArtifactRepository loadArtifactRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		BundleContext context = getContext();
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(context, IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new IllegalStateException("ArtifactRepositoryManager not registered."); //$NON-NLS-1$
-		IArtifactRepository repository = manager.loadRepository(location, monitor);
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, String.valueOf(true));
-		return repository;
-	}
-
-	/*
-	 * Return the set of metadata repositories known to this bundle. It is constructed from the repos
-	 * for the drop-ins as well as the ones in the configuration.
-	 */
-	public static Set getRepositories() {
-		return repositories;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		setPackageAdmin((PackageAdmin) context.getService(packageAdminRef));
-		bundleContext = context;
-
-		// check to see if there is really any work to do. Do this after setting the context, and
-		// doing other initialization in case others call our public methods later.
-		if (isUpToDate()) {
-			// clear the cache
-			filesToCheck = null;
-			return;
-		}
-
-		if (!startEarly("org.eclipse.equinox.p2.exemplarysetup")) //$NON-NLS-1$
-			return;
-
-		checkConfigIni();
-
-		// create the watcher for the "drop-ins" folder
-		watchDropins();
-		// keep an eye on the platform.xml
-		watchConfiguration();
-
-		synchronize(null);
-		writeTimestamps();
-
-		// we should probably be holding on to these repos by URL
-		// see Bug 223422
-		// for now explicitly nulling out these repos to allow GC to occur
-		repositories.clear();
-		filesToCheck = null;
-	}
-
-	private void checkConfigIni() {
-		File configuration = getConfigurationLocation();
-		if (configuration == null) {
-			LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to determine configuration location.")); //$NON-NLS-1$
-			return;
-		}
-
-		File configIni = new File(configuration, CONFIG_INI);
-		if (!configIni.exists()) {
-			// try parent configuration
-			File parentConfiguration = getParentConfigurationLocation();
-			if (parentConfiguration == null)
-				return;
-
-			// write shared configuration
-			Properties props = new Properties();
-			try {
-				OutputStream os = null;
-				try {
-					os = new BufferedOutputStream(new FileOutputStream(configIni));
-					String externalForm = PathUtil.makeRelative(parentConfiguration.toURL().toExternalForm(), getOSGiInstallArea()).replace('\\', '/');
-					props.put("osgi.sharedConfiguration.area", externalForm); //$NON-NLS-1$
-					props.store(os, "Linked configuration"); //$NON-NLS-1$
-				} finally {
-					if (os != null)
-						os.close();
-				}
-			} catch (IOException e) {
-				LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked configuration location.", e)); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not we need to run
-	 * the reconciler due to changes in the file-system.
-	 */
-	private boolean isUpToDate() {
-		// the user might want to force a reconciliation
-		if ("true".equals(getContext().getProperty("osgi.checkConfiguration"))) //$NON-NLS-1$//$NON-NLS-2$
-			return false;
-		// read timestamps
-		Properties timestamps = readTimestamps();
-		if (timestamps.isEmpty())
-			return false;
-
-		// gather the list of files/folders that we need to check
-		Collection files = getFilesToCheck();
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			File file = (File) iter.next();
-			String key = file.getAbsolutePath();
-			String timestamp = timestamps.getProperty(key);
-			if (timestamp == null)
-				return false;
-			if (!Long.toString(file.lastModified()).equals(timestamp))
-				return false;
-			timestamps.remove(key);
-		}
-
-		// if we had some extra timestamps in the file, then signal that something has
-		// changed and we need to reconcile
-		return timestamps.isEmpty();
-	}
-
-	/*
-	 * Restore the cached timestamp values.
-	 */
-	private Properties readTimestamps() {
-		Properties result = new Properties();
-		File file = Activator.getContext().getDataFile(CACHE_FILENAME);
-		if (!file.exists())
-			return result;
-		InputStream input = null;
-		try {
-			input = new BufferedInputStream(new FileInputStream(file));
-			result.load(input);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while reading cached timestamps for reconciliation.", e)); //$NON-NLS-1$
-		} finally {
-			try {
-				if (input != null)
-					input.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Return a collection of files which are interesting to us when we want to record timestamps
-	 * to figure out if something has changed and perhaps avoid an unnecessary reconcilation.
-	 */
-	private Collection getFilesToCheck() {
-		if (filesToCheck != null)
-			return filesToCheck;
-
-		Set result = new HashSet();
-
-		// configuration/org.eclipse.update/platform.xml, configuration/../plugins, configuration/../features
-		File configuration = getConfigurationLocation();
-		if (configuration != null) {
-			result.add(new File(configuration, PLATFORM_CFG));
-			File parent = configuration.getParentFile();
-			if (parent != null) {
-				File plugins = new File(parent, "plugins"); //$NON-NLS-1$
-				result.add(plugins);
-				File features = new File(parent, "features"); //$NON-NLS-1$
-				result.add(features);
-			}
-		}
-
-		// if we are in shared mode then record the same files for the parent configuration
-		File parentConfiguration = getParentConfigurationLocation();
-		if (parentConfiguration != null) {
-			result.add(new File(parentConfiguration, PLATFORM_CFG));
-			File parent = parentConfiguration.getParentFile();
-			if (parent != null) {
-				File plugins = new File(parent, "plugins"); //$NON-NLS-1$
-				result.add(plugins);
-				File features = new File(parent, "features"); //$NON-NLS-1$
-				result.add(features);
-			}
-		}
-
-		// dropins folders
-		File[] dropins = getDropinsDirectories();
-		result.addAll(getDropinsToCheck(dropins));
-
-		// links folders
-		File[] links = getLinksDirectories();
-		result.addAll(getDropinsToCheck(links));
-
-		filesToCheck = result;
-		return filesToCheck;
-	}
-
-	/*
-	 * Iterate over the given collection of files (could be dropins or links folders) and 
-	 * return a collection of files that might be interesting to check the timestamps of.
-	 */
-	private Collection getDropinsToCheck(File[] files) {
-		Collection result = new HashSet();
-		for (int outer = 0; outer < files.length; outer++) {
-			// add top-level file/folder
-			result.add(files[outer]);
-
-			File[] children = files[outer].listFiles();
-			for (int inner = 0; children != null && inner < children.length; inner++) {
-				File child = children[inner];
-				if (child.isFile() && child.getName().toLowerCase().endsWith(EXT_LINK)) {
-					// if we have a link file then add the link file and its target
-					File target = DropinsRepositoryListener.getLinkedFile(child);
-					if (target == null || !target.exists())
-						continue;
-					result.add(child);
-					result.add(target);
-					File eclipse = new File(target, DIR_ECLIPSE);
-					result.add(eclipse);
-					result.add(new File(eclipse, DIR_PLUGINS));
-					result.add(new File(eclipse, DIR_FEATURES));
-
-				} else if (child.getName().equalsIgnoreCase(DIR_ECLIPSE)) {
-					// if it is an "eclipse" dir then add it as well as "plugins" and "features"
-					result.add(child);
-					result.add(new File(child, DIR_PLUGINS));
-					result.add(new File(child, DIR_FEATURES));
-
-				} else if (child.isDirectory()) {
-					// look for "dropins/foo/plugins" (and "features") and
-					// "dropins/foo/eclipse/plugins" (and "features")
-					// Note: we could have a directory-based bundle here but we 
-					// will still add it since it won't hurt anything (one extra timestamp check)
-					result.add(child);
-					File parent;
-					File eclipse = new File(child, DIR_ECLIPSE);
-					if (eclipse.exists()) {
-						result.add(eclipse);
-						parent = eclipse;
-					} else {
-						parent = child;
-					}
-					File plugins = new File(parent, DIR_PLUGINS);
-					if (plugins.exists())
-						result.add(plugins);
-					File features = new File(parent, DIR_FEATURES);
-					if (features.exists())
-						result.add(features);
-				}
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Persist the cache timestamp values.
-	 */
-	private void writeTimestamps() {
-		Properties timestamps = new Properties();
-		Collection files = getFilesToCheck();
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			File file = (File) iter.next();
-			timestamps.put(file.getAbsolutePath(), Long.toString(file.lastModified()));
-		}
-
-		// write out the file
-		File file = Activator.getContext().getDataFile(CACHE_FILENAME);
-		OutputStream output = null;
-		try {
-			file.delete();
-			output = new BufferedOutputStream(new FileOutputStream(file));
-			timestamps.store(output, null);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, ID, "Error occurred while writing cache timestamps for reconciliation.", e)); //$NON-NLS-1$
-		} finally {
-			if (output != null)
-				try {
-					output.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	private boolean startEarly(String bundleName) throws BundleException {
-		Bundle bundle = getBundle(bundleName);
-		if (bundle == null)
-			return false;
-		bundle.start(Bundle.START_TRANSIENT);
-		return true;
-	}
-
-	/*
-	 * Synchronize the profile.
-	 */
-	public static synchronized void synchronize(IProgressMonitor monitor) {
-		IProfile profile = getCurrentProfile(bundleContext);
-		if (profile == null)
-			return;
-		// create the profile synchronizer on all available repositories
-		ProfileSynchronizer synchronizer = new ProfileSynchronizer(profile, repositories);
-		IStatus result = synchronizer.synchronize(monitor);
-		if (ProfileSynchronizer.isReconciliationApplicationRunning()) {
-			System.getProperties().put(PROP_APPLICATION_STATUS, result);
-		}
-		if (!result.isOK() && !(result.getSeverity() == IStatus.CANCEL))
-			LogHelper.log(result);
-	}
-
-	/*
-	 * Watch the platform.xml file.
-	 */
-	private void watchConfiguration() {
-		File configFile = getConfigurationLocation();
-		if (configFile == null) {
-			LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to determine configuration location.")); //$NON-NLS-1$
-			return;
-		}
-
-		configFile = new File(configFile, PLATFORM_CFG);
-		if (!configFile.exists()) {
-			// try parent configuration
-			File parentConfiguration = getParentConfigurationLocation();
-			if (parentConfiguration == null)
-				return;
-
-			File shareConfigFile = new File(parentConfiguration, PLATFORM_CFG);
-			if (!shareConfigFile.exists())
-				return;
-
-			Configuration config = new Configuration();
-			config.setDate(Long.toString(new Date().getTime()));
-			config.setVersion("3.0"); //$NON-NLS-1$
-			try {
-				String sharedUR = PathUtil.makeRelative(shareConfigFile.toURL().toExternalForm(), getOSGiInstallArea()).replace('\\', '/');
-				config.setSharedUR(sharedUR);
-				// ensure that org.eclipse.update directory that holds platform.xml is pre-created.
-				configFile.getParentFile().mkdirs();
-				config.save(configFile, getOSGiInstallArea());
-			} catch (IOException e) {
-				LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked platform.xml.", e)); //$NON-NLS-1$
-				return;
-			} catch (ProvisionException e) {
-				LogHelper.log(new Status(IStatus.ERROR, ID, "Unable to create linked platform.xml.", e)); //$NON-NLS-1$
-				return;
-			}
-
-		}
-		DirectoryWatcher watcher = new DirectoryWatcher(configFile.getParentFile());
-		PlatformXmlListener listener = new PlatformXmlListener(configFile);
-		watcher.addListener(listener);
-		watcher.poll();
-		repositories.addAll(listener.getMetadataRepositories());
-	}
-
-	/*
-	 * Create a new directory watcher with a repository listener on the drop-ins folder. 
-	 */
-	private void watchDropins() {
-		List directories = new ArrayList();
-		File[] dropinsDirectories = getDropinsDirectories();
-		directories.addAll(Arrays.asList(dropinsDirectories));
-		File[] linksDirectories = getLinksDirectories();
-		directories.addAll(Arrays.asList(linksDirectories));
-		if (directories.isEmpty())
-			return;
-
-		DropinsRepositoryListener listener = new DropinsRepositoryListener(DROPINS);
-		DirectoryWatcher watcher = new DirectoryWatcher((File[]) directories.toArray(new File[directories.size()]));
-		watcher.addListener(listener);
-		watcher.poll();
-		repositories.addAll(listener.getMetadataRepositories());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		for (Iterator iter = watchers.iterator(); iter.hasNext();) {
-			DirectoryWatcher watcher = (DirectoryWatcher) iter.next();
-			watcher.stop();
-		}
-		bundleContext = null;
-		setPackageAdmin(null);
-		context.ungetService(packageAdminRef);
-	}
-
-	/*
-	 * Return the bundle context for this bundle.
-	 */
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-
-	/*
-	 * Helper method to get the configuration location. Return null if
-	 * it is unavailable.
-	 */
-	public static File getConfigurationLocation() {
-		Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
-		if (configurationLocation == null || !configurationLocation.isSet())
-			return null;
-		URL url = configurationLocation.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	/*
-	 * Helper method to get the shared configuration location. Return null if
-	 * it is unavailable.
-	 */
-	public static File getParentConfigurationLocation() {
-		Location configurationLocation = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.CONFIGURATION_FILTER);
-		if (configurationLocation == null || !configurationLocation.isSet())
-			return null;
-
-		Location sharedConfigurationLocation = configurationLocation.getParentLocation();
-		if (sharedConfigurationLocation == null)
-			return null;
-
-		URL url = sharedConfigurationLocation.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	/*
-	 * Do a look-up and return the OSGi install area if it is set.
-	 */
-	public static URL getOSGiInstallArea() {
-		Location location = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		if (location == null)
-			return null;
-		if (!location.isSet())
-			return null;
-		return location.getURL();
-	}
-
-	/*
-	 * Helper method to return the eclipse.home location. Return
-	 * null if it is unavailable.
-	 */
-	public static File getEclipseHome() {
-		Location eclipseHome = (Location) ServiceHelper.getService(getContext(), Location.class.getName(), Location.ECLIPSE_HOME_FILTER);
-		if (eclipseHome == null || !eclipseHome.isSet())
-			return null;
-		URL url = eclipseHome.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	/*
-	 * Return the locations of the links directories. There is a potential for
-	 * more than one to be returned here if we are running in shared mode.
-	 */
-	private static File[] getLinksDirectories() {
-		List linksDirectories = new ArrayList();
-		File root = getEclipseHome();
-		if (root != null)
-			linksDirectories.add(new File(root, LINKS));
-
-		// check to see if we are in shared mode. if so, then add the user's local
-		// links directory. (the shared one will have been added above with the
-		// reference to Eclipse home)
-		if (getParentConfigurationLocation() != null) {
-			File configuration = getConfigurationLocation();
-			if (configuration != null && configuration.getParentFile() != null)
-				linksDirectories.add(new File(configuration.getParentFile(), LINKS));
-		}
-		return (File[]) linksDirectories.toArray(new File[linksDirectories.size()]);
-	}
-
-	/*
-	 * Return the location of the dropins directories. These include the one specified by
-	 * the "org.eclipse.equinox.p2.reconciler.dropins.directory" System property and the one
-	 * in the Eclipse home directory. If we are in shared mode, then also add the user's
-	 * local dropins directory.
-	 */
-	private static File[] getDropinsDirectories() {
-		List dropinsDirectories = new ArrayList();
-		// did the user specify one via System properties?
-		String watchedDirectoryProperty = bundleContext.getProperty(DROPINS_DIRECTORY);
-		if (watchedDirectoryProperty != null)
-			dropinsDirectories.add(new File(watchedDirectoryProperty));
-
-		// always add the one in the Eclipse home directory
-		File root = getEclipseHome();
-		if (root != null)
-			dropinsDirectories.add(new File(root, DROPINS));
-
-		// check to see if we are in shared mode. if so, then add the user's local
-		// dropins directory. (the shared one will have been added above with the
-		// reference to Eclipse home)
-		if (getParentConfigurationLocation() != null) {
-			File configuration = getConfigurationLocation();
-			if (configuration != null && configuration.getParentFile() != null)
-				dropinsDirectories.add(new File(configuration.getParentFile(), DROPINS));
-		}
-		return (File[]) dropinsDirectories.toArray(new File[dropinsDirectories.size()]);
-	}
-
-	/*
-	 * Return the current profile or null if it cannot be retrieved.
-	 */
-	public static IProfile getCurrentProfile(BundleContext context) {
-		ServiceReference reference = context.getServiceReference(IProfileRegistry.SERVICE_NAME);
-		if (reference == null)
-			return null;
-		IProfileRegistry profileRegistry = (IProfileRegistry) context.getService(reference);
-		try {
-			return profileRegistry.getProfile(IProfileRegistry.SELF);
-		} finally {
-			context.ungetService(reference);
-		}
-	}
-
-	private static synchronized void setPackageAdmin(PackageAdmin service) {
-		packageAdmin = service;
-	}
-
-	/*
-	 * Return the bundle with the given symbolic name, or null if it cannot be found.
-	 */
-	static synchronized Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	// TODO Fix this up to get the services in a better way
-	public static IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) ServiceHelper.getService(bundleContext, IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	// TODO Fix this up to get the services in a better way
-	public static IMetadataRepositoryManager getMetadataRepositoryManager() {
-		return (IMetadataRepositoryManager) ServiceHelper.getService(bundleContext, IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
deleted file mode 100644
index c514d28..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Application.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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 implementation and ideas 
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class Application implements IApplication {
-
-	public Object start(IApplicationContext context) throws Exception {
-		Object obj = System.getProperties().get(Activator.PROP_APPLICATION_STATUS);
-		// if we have a non-OK status return "unlucky" 13, otherwise return the OK return code
-		if (obj != null && (obj instanceof IStatus) && !((IStatus) obj).isOK())
-			return new Integer(13);
-		return IApplication.EXIT_OK;
-	}
-
-	public void stop() {
-		//Nothing to do
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
deleted file mode 100644
index 06d6a88..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/DropinsRepositoryListener.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepository;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepository;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-public class DropinsRepositoryListener extends RepositoryListener {
-	private static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String FEATURES = "features"; //$NON-NLS-1$
-	private static final String JAR = ".jar"; //$NON-NLS-1$
-	private static final String LINK = ".link"; //$NON-NLS-1$
-	private static final String ZIP = ".zip"; //$NON-NLS-1$
-	private static final String LINKS_PATH = "path"; //$NON-NLS-1$
-	private static final String DROPIN_ARTIFACT_REPOSITORIES = "dropin.artifactRepositories"; //$NON-NLS-1$
-	private static final String DROPIN_METADATA_REPOSITORIES = "dropin.metadataRepositories"; //$NON-NLS-1$
-	private static final String PIPE = "|"; //$NON-NLS-1$
-	private List metadataRepositories = new ArrayList();
-	private List artifactRepositories = new ArrayList();
-
-	public DropinsRepositoryListener(String repositoryName) {
-		super(repositoryName, true);
-	}
-
-	public boolean isInterested(File file) {
-		return true;
-	}
-
-	public boolean added(File file) {
-		if (super.added(file))
-			return true;
-		addRepository(file);
-		return true;
-	}
-
-	public boolean changed(File file) {
-		if (super.changed(file))
-			return true;
-		addRepository(file);
-		return true;
-	}
-
-	private void addRepository(File file) {
-		URI repoLocation = createRepositoryLocation(file);
-		Properties properties = new Properties();
-		// if the file pointed to a link file, keep track of the attribute
-		// so we can add it to the repo later
-		if (file.isFile() && file.getName().endsWith(LINK)) {
-			URI linkLocation = getLinkRepository(file, false);
-			if (linkLocation != null)
-				properties.put(Site.PROP_LINK_FILE, file.getAbsolutePath());
-		}
-		if (repoLocation != null) {
-			getMetadataRepository(repoLocation, properties);
-			getArtifactRepository(repoLocation, properties);
-		}
-	}
-
-	/*
-	 * Return the file pointed to by the given link file. Return null if there is a problem
-	 * reading the file or resolving the location.
-	 */
-	static File getLinkedFile(File file) {
-		Properties links = new Properties();
-		try {
-			InputStream input = new BufferedInputStream(new FileInputStream(file));
-			try {
-				links.load(input);
-			} finally {
-				input.close();
-			}
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.error_reading_link, file.getAbsolutePath()), e));
-			return null;
-		}
-		String path = links.getProperty(LINKS_PATH);
-		if (path == null) {
-			return null;
-		}
-
-		// parse out link information
-		if (path.startsWith("r ")) { //$NON-NLS-1$
-			path = path.substring(2).trim();
-		} else if (path.startsWith("rw ")) { //$NON-NLS-1$
-			path = path.substring(3).trim();
-		} else {
-			path = path.trim();
-		}
-		File linkedFile = new File(path);
-		if (!linkedFile.isAbsolute()) {
-			// link support is relative to the install root
-			File root = Activator.getEclipseHome();
-			if (root != null)
-				linkedFile = new File(root, path);
-		}
-		try {
-			return linkedFile.getCanonicalFile();
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.error_resolving_link, linkedFile.getAbsolutePath(), file.getAbsolutePath()), e));
-			return null;
-		}
-	}
-
-	private URI createRepositoryLocation(File file) {
-		try {
-			file = file.getCanonicalFile();
-			String fileName = file.getName();
-			if (fileName.endsWith(LINK))
-				return getLinkRepository(file, true);
-
-			if (file.isDirectory()) {
-				// Check if the directory is either the plugins directory of an extension location
-				// or the features directory and the plugins folder is not present.
-				// This extra check on the features directory is done to avoid adding the parent URL twice
-				if (file.getName().equals(PLUGINS)) {
-					File parentFile = file.getParentFile();
-					return (parentFile != null) ? parentFile.toURI() : null;
-				}
-				if (file.getName().equals(FEATURES)) {
-					File parentFile = file.getParentFile();
-					if (parentFile == null || new File(parentFile, PLUGINS).isDirectory())
-						return null;
-					return parentFile.toURI();
-				}
-				return file.toURI();
-			}
-
-			//TODO: Should we remove this? We only should support directly runnable repos
-			if (fileName.endsWith(ZIP) || fileName.endsWith(JAR))
-				return new URI("jar:" + file.toURI() + "!/"); //$NON-NLS-1$ //$NON-NLS-2$
-
-			// last resort -- we'll try to interpret the file as a link
-			return getLinkRepository(file, false);
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while building repository location from file: " + file.getAbsolutePath(), e)); //$NON-NLS-1$
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while building repository location from file: " + file.getAbsolutePath(), e)); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private URI getLinkRepository(File file, boolean logMissingLink) {
-		File repo = getLinkedFile(file);
-		if (repo == null) {
-			if (logMissingLink)
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to determine link location from file: " + file.getAbsolutePath())); //$NON-NLS-1$
-			return null;
-		}
-		return repo.toURI();
-	}
-
-	public void getMetadataRepository(URI repoURL, Properties properties) {
-		try {
-			IMetadataRepository repository = null;
-			try {
-				ExtensionLocationMetadataRepository.validate(repoURL, null);
-				repository = Activator.createExtensionLocationMetadataRepository(repoURL, "dropins metadata repo: " + repoURL, properties); //$NON-NLS-1$
-			} catch (ProvisionException e) {
-				repository = Activator.loadMetadataRepository(repoURL, null);
-			}
-			metadataRepositories.add(repository);
-		} catch (ProvisionException ex) {
-			LogHelper.log(ex);
-		}
-	}
-
-	public void getArtifactRepository(URI repoURL, Properties properties) {
-		try {
-			IArtifactRepository repository = null;
-			try {
-				ExtensionLocationArtifactRepository.validate(repoURL, null);
-				repository = Activator.createExtensionLocationArtifactRepository(repoURL, "dropins artifact repo: " + repoURL, properties); //$NON-NLS-1$
-				// fall through here and call the load which then adds the repo to the manager's list
-			} catch (ProvisionException ex) {
-				repository = Activator.loadArtifactRepository(repoURL, null);
-			}
-			artifactRepositories.add(repository);
-		} catch (ProvisionException ex) {
-			LogHelper.log(ex);
-		}
-	}
-
-	public void stopPoll() {
-		synchronizeDropinMetadataRepositories();
-		synchronizeDropinArtifactRepositories();
-		super.stopPoll();
-	}
-
-	private void synchronizeDropinMetadataRepositories() {
-		List currentRepositories = new ArrayList();
-		for (Iterator it = metadataRepositories.iterator(); it.hasNext();) {
-			IMetadataRepository repository = (IMetadataRepository) it.next();
-			currentRepositories.add(repository.getLocation().toString());
-		}
-		List previousRepositories = getListRepositoryProperty(getMetadataRepository(), DROPIN_METADATA_REPOSITORIES);
-		for (Iterator iterator = previousRepositories.iterator(); iterator.hasNext();) {
-			String repository = (String) iterator.next();
-			if (!currentRepositories.contains(repository))
-				removeMetadataRepository(repository);
-		}
-		setListRepositoryProperty(getMetadataRepository(), DROPIN_METADATA_REPOSITORIES, currentRepositories);
-	}
-
-	private void removeMetadataRepository(String urlString) {
-		IMetadataRepositoryManager manager = Activator.getMetadataRepositoryManager();
-		if (manager == null)
-			throw new IllegalStateException(Messages.metadata_repo_manager_not_registered);
-		try {
-			manager.removeRepository(new URI(urlString));
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while creating URL from: " + urlString, e)); //$NON-NLS-1$
-		}
-	}
-
-	private void synchronizeDropinArtifactRepositories() {
-		List currentRepositories = new ArrayList();
-		for (Iterator it = artifactRepositories.iterator(); it.hasNext();) {
-			IArtifactRepository repository = (IArtifactRepository) it.next();
-			currentRepositories.add(repository.getLocation().toString());
-		}
-		List previousRepositories = getListRepositoryProperty(getArtifactRepository(), DROPIN_ARTIFACT_REPOSITORIES);
-		for (Iterator iterator = previousRepositories.iterator(); iterator.hasNext();) {
-			String repository = (String) iterator.next();
-			if (!currentRepositories.contains(repository))
-				removeArtifactRepository(repository);
-		}
-		setListRepositoryProperty(getArtifactRepository(), DROPIN_ARTIFACT_REPOSITORIES, currentRepositories);
-	}
-
-	public void removeArtifactRepository(String urlString) {
-		IArtifactRepositoryManager manager = Activator.getArtifactRepositoryManager();
-		if (manager == null)
-			throw new IllegalStateException(Messages.artifact_repo_manager_not_registered);
-		try {
-			manager.removeRepository(new URI(urlString));
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while creating URL from: " + urlString, e)); //$NON-NLS-1$
-		}
-	}
-
-	private List getListRepositoryProperty(IRepository repository, String key) {
-		List listProperty = new ArrayList();
-		String dropinRepositories = (String) repository.getProperties().get(key);
-		if (dropinRepositories != null) {
-			StringTokenizer tokenizer = new StringTokenizer(dropinRepositories, PIPE);
-			while (tokenizer.hasMoreTokens()) {
-				listProperty.add(tokenizer.nextToken());
-			}
-		}
-		return listProperty;
-	}
-
-	private void setListRepositoryProperty(IRepository repository, String key, List listProperty) {
-		StringBuffer buffer = new StringBuffer();
-		for (Iterator it = listProperty.iterator(); it.hasNext();) {
-			String repositoryString = (String) it.next();
-			buffer.append(repositoryString);
-			if (it.hasNext())
-				buffer.append(PIPE);
-		}
-		String value = (buffer.length() == 0) ? null : buffer.toString();
-		repository.setProperty(key, value);
-	}
-
-	public Collection getMetadataRepositories() {
-		List result = new ArrayList(metadataRepositories);
-		result.add(getMetadataRepository());
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
deleted file mode 100644
index 79296ff..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.reconciler.dropins.messages"; //$NON-NLS-1$
-	public static String artifact_repo_manager_not_registered;
-	public static String errorLoadingRepository;
-	public static String errorProcessingConfg;
-	public static String metadata_repo_manager_not_registered;
-	public static String error_reading_link;
-	public static String error_resolving_link;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// prevent instantiation
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
deleted file mode 100644
index b7a4cb7..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.extensionlocation.*;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class watches a platform.xml file. Note that we don't really need to use the DirectoryChangeListener
- * framework since we are doing a single poll on startup, but we will leave the code here in case we
- * want to watch for changes during a session. Note that the code to actually synchronize the repositories
- * is on the Activator so we will need to call out to that if this behaviour is changed.
- * 
- * @since 1.0
- */
-public class PlatformXmlListener extends DirectoryChangeListener {
-
-	private static final String PLATFORM_XML = "platform.xml"; //$NON-NLS-1$
-	private boolean changed = false;
-	private File root;
-	private long lastModified = -1l;
-	private Set configRepositories;
-
-	private String toString(Feature[] features, String[] list) {
-		StringBuffer buffer = new StringBuffer();
-		if (features != null) {
-			for (int i = 0; i < features.length; i++) {
-				String featureURL = features[i].getUrl();
-				if (featureURL != null)
-					buffer.append(featureURL).append(',');
-				else {
-					String id = features[i].getId();
-					String version = features[i].getVersion();
-					if (id != null && version != null)
-						buffer.append("features/" + id + "_" + version + "/,"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$					
-				}
-			}
-		}
-		if (list != null) {
-			for (int i = 0; i < list.length; i++)
-				buffer.append(list[i]).append(',');
-		}
-		if (buffer.length() == 0)
-			return ""; //$NON-NLS-1$
-
-		return buffer.substring(0, buffer.length() - 1);
-	}
-
-	/*
-	 * Construct a new listener based on the given platform.xml file.
-	 */
-	public PlatformXmlListener(File file) {
-		super();
-		if (!PLATFORM_XML.equals(file.getName()))
-			throw new IllegalArgumentException();
-		this.root = file;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#added(java.io.File)
-	 */
-	public boolean added(File file) {
-		changed = changed || PLATFORM_XML.equals(file.getName());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#changed(java.io.File)
-	 */
-	public boolean changed(File file) {
-		changed = changed || PLATFORM_XML.equals(file.getName());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#getSeenFile(java.io.File)
-	 */
-	public Long getSeenFile(File file) {
-		return new Long(0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener#isInterested(java.io.File)
-	 */
-	public boolean isInterested(File file) {
-		return file.getName().equals(PLATFORM_XML) && lastModified != file.lastModified();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#removed(java.io.File)
-	 */
-	public boolean removed(File file) {
-		changed = changed || PLATFORM_XML.equals(file.getName());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#startPoll()
-	 */
-	public void startPoll() {
-		changed = false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.IDirectoryChangeListener#stopPoll()
-	 */
-	public void stopPoll() {
-		if (changed) {
-			lastModified = root.lastModified();
-			try {
-				Configuration configuration = ConfigurationParser.parse(root, Activator.getOSGiInstallArea());
-				synchronizeConfiguration(configuration);
-			} catch (ProvisionException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, Messages.errorProcessingConfg, e));
-			}
-		}
-		changed = false;
-	}
-
-	public Collection getMetadataRepositories() {
-		if (configRepositories == null)
-			return Collections.EMPTY_SET;
-		return configRepositories;
-	}
-
-	/*
-	 * Look through the given list of repositories and see if there is one
-	 * currently associated with the given url string. Return null if one could not
-	 * be found.
-	 */
-	private IMetadataRepository getMatchingRepo(Collection repositoryList, String urlString) {
-		if (repositoryList == null)
-			return null;
-		IPath urlPath = new Path(urlString).makeAbsolute();
-		for (Iterator iter = repositoryList.iterator(); iter.hasNext();) {
-			IMetadataRepository repo = (IMetadataRepository) iter.next();
-			Path repoPath = new Path(URIUtil.toFile(repo.getLocation()).getAbsolutePath());
-			if (repoPath.makeAbsolute().equals(urlPath))
-				return repo;
-			// normalize the URLs to be the same
-			if (repo instanceof ExtensionLocationMetadataRepository) {
-				try {
-					File one = ExtensionLocationMetadataRepository.getBaseDirectory(repo.getLocation());
-					File two = ExtensionLocationMetadataRepository.getBaseDirectory(URIUtil.fromString(urlString));
-					if (one.equals(two))
-						return repo;
-				} catch (ProvisionException e) {
-					// Skip the repo if it's not found. Log all other errors.
-					if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while comparing repository locations.", e)); //$NON-NLS-1$
-				} catch (URISyntaxException e) {
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while comparing repository locations.", e)); //$NON-NLS-1$
-				}
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * Ensure that we have a repository for each site in the given configuration.
-	 */
-	protected void synchronizeConfiguration(Configuration config) {
-		List sites = config.getSites();
-		Set newRepos = new LinkedHashSet();
-		Set toBeRemoved = new HashSet();
-		for (Iterator iter = sites.iterator(); iter.hasNext();) {
-			Site site = (Site) iter.next();
-			String siteURL = site.getUrl();
-			IMetadataRepository match = getMatchingRepo(Activator.getRepositories(), siteURL);
-			if (match == null) {
-				try {
-					String linkFile = site.getLinkFile();
-					if (linkFile != null && linkFile.length() > 0) {
-						File link = new File(linkFile);
-						if (!link.exists()) {
-							toBeRemoved.add(site);
-							continue;
-						}
-					}
-					if (!site.isEnabled()) {
-						toBeRemoved.add(site);
-						continue;
-					}
-					String eclipseExtensionURL = siteURL + Constants.EXTENSION_LOCATION;
-					URI location = URIUtil.fromString(eclipseExtensionURL);
-					Map properties = new HashMap();
-					properties.put(SiteListener.SITE_POLICY, site.getPolicy());
-
-					// In a "USER-INCLUDE" we add the site's features to the list
-					// this is done to support backwards compatibility where previously features were not really installed.
-					// One can always directly add the features to this list. This might be useful for excluding a particular feature
-					// in a "USER-EXCLUDE" site. 
-					Feature[] listFeatures = site.getPolicy().equals(Site.POLICY_USER_INCLUDE) ? site.getFeatures() : null;
-
-					properties.put(SiteListener.SITE_LIST, toString(listFeatures, site.getList()));
-
-					// deal with the metadata repository
-					IMetadataRepository metadataRepository = null;
-					try {
-						metadataRepository = Activator.createExtensionLocationMetadataRepository(location, "extension location metadata repository: " + location.toString(), properties); //$NON-NLS-1$
-					} catch (ProvisionException ex) {
-						try {
-							metadataRepository = Activator.loadMetadataRepository(location, null);
-						} catch (ProvisionException inner) {
-							// handle the case where someone has removed the extension location from
-							// disk. Note: we use the siteURL not the eclipseextensionURL
-							URI fileURI = URIUtil.fromString(siteURL);
-							File file = URIUtil.toFile(fileURI);
-							if (file != null && !file.exists()) {
-								toBeRemoved.add(site);
-								continue;
-							}
-							throw inner;
-						}
-						// set the repository properties here in case they have changed since the last time we loaded
-						for (Iterator inner = properties.keySet().iterator(); inner.hasNext();) {
-							String key = (String) inner.next();
-							String value = (String) properties.get(key);
-							metadataRepository.setProperty(key, value);
-						}
-					}
-					newRepos.add(metadataRepository);
-
-					// now the artifact repository
-					try {
-						Activator.createExtensionLocationArtifactRepository(location, "extension location artifact repository: " + location, properties); //$NON-NLS-1$
-					} catch (ProvisionException ex) {
-						IArtifactRepository artifactRepository = Activator.loadArtifactRepository(location, null);
-						// set the repository properties here in case they have changed since the last time we loaded
-						for (Iterator inner = properties.keySet().iterator(); inner.hasNext();) {
-							String key = (String) inner.next();
-							String value = (String) properties.get(key);
-							artifactRepository.setProperty(key, value);
-						}
-					}
-				} catch (URISyntaxException e) {
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.errorLoadingRepository, siteURL), e));
-				} catch (ProvisionException e) {
-					// Skip the repo if it's not found. Log all other errors.
-					if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.errorLoadingRepository, siteURL), e));
-				}
-			} else {
-				newRepos.add(match);
-			}
-		}
-		if (!toBeRemoved.isEmpty()) {
-			for (Iterator iter = toBeRemoved.iterator(); iter.hasNext();)
-				config.removeSite((Site) iter.next());
-			try {
-				config.save(root, Activator.getOSGiInstallArea());
-			} catch (ProvisionException e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while saving configuration at: " + root, e)); //$NON-NLS-1$
-			}
-		}
-		configRepositories = newRepos;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
deleted file mode 100644
index 03bbe90..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/ProfileSynchronizer.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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 implementation and ideas 
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.reconciler.dropins;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.p2.extensionlocation.Constants;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.GroupQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Synchronizes a profile with a set of repositories.
- */
-public class ProfileSynchronizer {
-	private static final String RECONCILER_APPLICATION_ID = "org.eclipse.equinox.p2.reconciler.application"; //$NON-NLS-1$
-	private static final String TIMESTAMPS_FILE_PREFIX = "timestamps"; //$NON-NLS-1$
-	private static final String PROFILE_TIMESTAMP = "PROFILE"; //$NON-NLS-1$
-	private static final String NO_TIMESTAMP = "-1"; //$NON-NLS-1$
-	private static final String PROP_FROM_DROPINS = "org.eclipse.equinox.p2.reconciler.dropins"; //$NON-NLS-1$
-
-	private static final String CACHE_EXTENSIONS = "org.eclipse.equinox.p2.cache.extensions"; //$NON-NLS-1$
-	private static final String PIPE = "|"; //$NON-NLS-1$
-	private static final String EXPLANATION = "org.eclipse.equinox.p2.director.explain"; //$NON-NLS-1$
-	final IProfile profile;
-
-	final Map repositoryMap;
-	private Properties timestamps;
-
-	/*
-	 * Constructor for the class.
-	 */
-	public ProfileSynchronizer(IProfile profile, Collection repositories) {
-		this.profile = profile;
-		this.repositoryMap = new HashMap();
-		for (Iterator it = repositories.iterator(); it.hasNext();) {
-			IMetadataRepository repository = (IMetadataRepository) it.next();
-			repositoryMap.put(repository.getLocation().toString(), repository);
-		}
-	}
-
-	/*
-	 * Synchronize the profile with the list of metadata repositories.
-	 */
-	public IStatus synchronize(IProgressMonitor monitor) {
-		readTimestamps();
-		if (isUpToDate())
-			return Status.OK_STATUS;
-
-		ProvisioningContext context = getContext();
-		context.setProperty(EXPLANATION, Boolean.FALSE.toString());
-
-		ProfileChangeRequest request = createProfileChangeRequest(context);
-		String updatedCacheExtensions = synchronizeCacheExtensions();
-		if (request == null) {
-			if (updatedCacheExtensions != null) {
-				Operand operand = new PropertyOperand(CACHE_EXTENSIONS, null, updatedCacheExtensions);
-				IStatus engineResult = executeOperands(new Operand[] {operand}, context, null);
-				if (engineResult.getSeverity() != IStatus.ERROR && engineResult.getSeverity() != IStatus.CANCEL)
-					writeTimestamps();
-				return engineResult;
-			}
-			return Status.OK_STATUS;
-		}
-		if (updatedCacheExtensions != null)
-			request.setProfileProperty(CACHE_EXTENSIONS, updatedCacheExtensions);
-
-		SubMonitor sub = SubMonitor.convert(monitor, 100);
-		try {
-			//create the provisioning plan
-			IProvisioningPlan plan = createProvisioningPlan(request, context, sub.newChild(50));
-			IStatus status = plan.getStatus();
-			if (status.getSeverity() == IStatus.ERROR || status.getSeverity() == IStatus.CANCEL)
-				return status;
-
-			Operand[] operands = plan.getOperands();
-			if (operands.length == 0 || containsOnlyInstallableUnitPropertyOperandAdditions(operands)) {
-				writeTimestamps();
-				return status;
-			}
-
-			//invoke the engine to perform installs/uninstalls
-			IStatus engineResult = executePlan(plan, context, sub.newChild(50));
-			if (engineResult.getSeverity() == IStatus.ERROR || engineResult.getSeverity() == IStatus.CANCEL)
-				return engineResult;
-
-			writeTimestamps();
-
-			return applyConfiguration(false);
-		} finally {
-			sub.done();
-		}
-	}
-
-	// This is a special case that occurs where all IUs being installed are not compatible with the profile so
-	// the operands will have no affect if executed on the profile.
-	private boolean containsOnlyInstallableUnitPropertyOperandAdditions(Operand[] operands) {
-		for (int i = 0; i < operands.length; i++) {
-			if (!(operands[i] instanceof InstallableUnitPropertyOperand))
-				return false;
-
-			InstallableUnitPropertyOperand iuPropertyOperand = (InstallableUnitPropertyOperand) operands[i];
-			//check if this is a removal or update
-			if (iuPropertyOperand.first() != null)
-				return false;
-		}
-		return true;
-	}
-
-	private void writeTimestamps() {
-		timestamps.clear();
-		timestamps.put(PROFILE_TIMESTAMP, Long.toString(profile.getTimestamp()));
-		for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			IMetadataRepository repository = (IMetadataRepository) entry.getValue();
-			Map props = repository.getProperties();
-			String timestamp = null;
-			if (props != null)
-				timestamp = (String) props.get(IRepository.PROP_TIMESTAMP);
-
-			if (timestamp == null)
-				timestamp = NO_TIMESTAMP;
-
-			timestamps.put(entry.getKey(), timestamp);
-		}
-
-		try {
-			File file = Activator.getContext().getDataFile(TIMESTAMPS_FILE_PREFIX + profile.getProfileId().hashCode());
-			OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
-			try {
-				timestamps.store(os, "Timestamps for " + profile.getProfileId()); //$NON-NLS-1$
-			} finally {
-				if (os != null)
-					os.close();
-			}
-		} catch (FileNotFoundException e) {
-			//Ignore
-		} catch (IOException e) {
-			//Ignore
-		}
-	}
-
-	private boolean isUpToDate() {
-		// the user might want to force a reconciliation
-		if ("true".equals(Activator.getContext().getProperty("osgi.checkConfiguration"))) //$NON-NLS-1$//$NON-NLS-2$
-			return false;
-
-		String lastKnownProfileTimeStamp = (String) timestamps.remove(PROFILE_TIMESTAMP);
-		if (lastKnownProfileTimeStamp == null)
-			return false;
-		if (!lastKnownProfileTimeStamp.equals(Long.toString(profile.getTimestamp())))
-			return false;
-
-		//When we get here the timestamps map only contains information related to repos
-		for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			IMetadataRepository repository = (IMetadataRepository) entry.getValue();
-
-			Map props = repository.getProperties();
-			String currentTimestamp = null;
-			if (props != null)
-				currentTimestamp = (String) props.get(IRepository.PROP_TIMESTAMP);
-
-			if (currentTimestamp == null)
-				currentTimestamp = NO_TIMESTAMP;
-
-			String lastKnownTimestamp = (String) timestamps.remove(entry.getKey());
-			//A repo has been added 
-			if (lastKnownTimestamp == null)
-				return false;
-			if (!lastKnownTimestamp.equals(currentTimestamp)) {
-				return false;
-			}
-		}
-		//A repo has been removed
-		if (timestamps.size() != 0)
-			return false;
-
-		return true;
-	}
-
-	private void readTimestamps() {
-		File file = Activator.getContext().getDataFile(TIMESTAMPS_FILE_PREFIX + profile.getProfileId().hashCode());
-		timestamps = new Properties();
-		try {
-			InputStream is = new BufferedInputStream(new FileInputStream(file));
-			try {
-				timestamps.load(is);
-			} finally {
-				if (is != null)
-					is.close();
-			}
-		} catch (FileNotFoundException e) {
-			//Ignore
-		} catch (IOException e) {
-			//Ignore
-		}
-	}
-
-	private ProvisioningContext getContext() {
-		ArrayList repoURLs = new ArrayList();
-		for (Iterator iterator = repositoryMap.keySet().iterator(); iterator.hasNext();) {
-			try {
-				repoURLs.add(new URI((String) iterator.next()));
-			} catch (URISyntaxException e) {
-				//ignore
-			}
-		}
-		ProvisioningContext result = new ProvisioningContext((URI[]) repoURLs.toArray(new URI[repoURLs.size()]));
-		result.setArtifactRepositories(new URI[0]);
-		return result;
-	}
-
-	private String synchronizeCacheExtensions() {
-		List currentExtensions = new ArrayList();
-		StringBuffer buffer = new StringBuffer();
-
-		List repositories = new ArrayList(repositoryMap.keySet());
-		final String OSGiInstallArea = Activator.getOSGiInstallArea().toExternalForm() + Constants.EXTENSION_LOCATION;
-		Collections.sort(repositories, new Comparator() {
-			public int compare(Object left, Object right) {
-				if (OSGiInstallArea.equals(left))
-					return -1;
-				if (OSGiInstallArea.equals(right))
-					return 1;
-				return ((String) left).compareTo((String) right);
-			}
-		});
-		for (Iterator it = repositories.iterator(); it.hasNext();) {
-			String repositoryId = (String) it.next();
-			try {
-				IArtifactRepository repository = Activator.loadArtifactRepository(new URI(repositoryId), null);
-
-				if (repository instanceof IFileArtifactRepository) {
-					currentExtensions.add(escapePipe(repositoryId));
-					buffer.append(repositoryId);
-					if (it.hasNext())
-						buffer.append(PIPE);
-				}
-			} catch (ProvisionException e) {
-				// ignore
-			} catch (URISyntaxException e) {
-				// unexpected
-				e.printStackTrace();
-			}
-		}
-		String currentExtensionsProperty = (buffer.length() == 0) ? null : buffer.toString();
-
-		List previousExtensions = new ArrayList();
-		String previousExtensionsProperty = profile.getProperty(CACHE_EXTENSIONS);
-		if (previousExtensionsProperty != null) {
-			StringTokenizer tokenizer = new StringTokenizer(previousExtensionsProperty, PIPE);
-			while (tokenizer.hasMoreTokens()) {
-				previousExtensions.add(tokenizer.nextToken());
-			}
-		}
-
-		if (previousExtensions.size() == currentExtensions.size() && previousExtensions.containsAll(currentExtensions))
-			return null;
-
-		return currentExtensionsProperty;
-	}
-
-	/**
-	 * Escapes the pipe ('|') character in a URI using the standard URI escape sequence.
-	 * This is done because the pipe character is used as the delimiter between locations
-	 * in the cache extensions profile property.
-	 */
-	private String escapePipe(String location) {
-		String result = location;
-		int pipeIndex;
-		while ((pipeIndex = result.indexOf(',')) != -1)
-			result = result.substring(0, pipeIndex) + "%7C" + result.substring(pipeIndex + 1); //$NON-NLS-1$
-		return result;
-	}
-
-	public ProfileChangeRequest createProfileChangeRequest(ProvisioningContext context) {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-
-		boolean resolve = Boolean.valueOf(profile.getProperty("org.eclipse.equinox.p2.resolve")).booleanValue(); //$NON-NLS-1$
-		if (resolve)
-			request.removeProfileProperty("org.eclipse.equinox.p2.resolve"); //$NON-NLS-1$
-
-		List toAdd = new ArrayList();
-		List toRemove = new ArrayList();
-
-		boolean foundIUsToAdd = false;
-		Collection profileIUs = new HashSet(profile.query(InstallableUnitQuery.ANY, null).toCollection());
-
-		// we use IProfile.available(...) here so that we also gather any shared IUs
-		Collection availableProfileIUs = new HashSet(profile.available(InstallableUnitQuery.ANY, null).toCollection());
-
-		// get all IUs from all our repos (toAdd)
-		Collector allIUs = getAllIUsFromRepos();
-		for (Iterator iter = allIUs.iterator(); iter.hasNext();) {
-			final IInstallableUnit iu = (IInstallableUnit) iter.next();
-			// if the IU is already installed in the profile then skip it
-			if (!profileIUs.contains(iu)) {
-				if (GroupQuery.isGroup(iu))
-					request.setInstallableUnitProfileProperty(iu, IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-				// mark all IUs with special property
-				request.setInstallableUnitProfileProperty(iu, PROP_FROM_DROPINS, Boolean.TRUE.toString());
-				request.setInstallableUnitInclusionRules(iu, PlannerHelper.createOptionalInclusionRule(iu));
-				request.setInstallableUnitProfileProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU, Integer.toString(IProfile.LOCK_UNINSTALL));
-				toAdd.add(iu);
-
-				// as soon as we find something locally that needs to be installed, then 
-				// everything from the parent's dropins must be installed locally as well.
-				if (!foundIUsToAdd && !availableProfileIUs.contains(iu)) {
-					foundIUsToAdd = true;
-				}
-			}
-		}
-
-		// get all IUs from profile with marked property (existing)
-		Collector dropinIUs = profile.query(new IUProfilePropertyQuery(PROP_FROM_DROPINS, Boolean.toString(true)), null);
-		Collection all = new HashSet(allIUs.toCollection());
-		for (Iterator iter = dropinIUs.iterator(); iter.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iter.next();
-			// the STRICT policy is set when we install things via the UI, we use it to differentiate between IUs installed
-			// via the dropins and the UI. (dropins are considered optional) If an IU has both properties set it means that
-			// it was initially installed via the dropins but then upgraded via the UI. (properties are copied from the old IU
-			// to the new IU during an upgrade) In this case we want to remove the "from dropins" property so the upgrade
-			// will stick.
-			if ("STRICT".equals(profile.getInstallableUnitProperty(iu, "org.eclipse.equinox.p2.internal.inclusion.rules"))) { //$NON-NLS-1$//$NON-NLS-2$
-				request.removeInstallableUnitProfileProperty(iu, PROP_FROM_DROPINS);
-				request.removeInstallableUnitProfileProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU);
-				continue;
-			}
-			// remove the IUs that are in the intersection between the 2 sets
-			if (all.contains(iu))
-				toAdd.remove(iu);
-			else
-				toRemove.add(iu);
-		}
-
-		if (!foundIUsToAdd && toRemove.isEmpty() && !resolve) {
-			if (Tracing.DEBUG_RECONCILER)
-				Tracing.debug("[reconciler] Nothing to do."); //$NON-NLS-1$
-			return null;
-		}
-
-		context.setExtraIUs(toAdd);
-		request.addInstallableUnits((IInstallableUnit[]) toAdd.toArray(new IInstallableUnit[toAdd.size()]));
-		request.removeInstallableUnits((IInstallableUnit[]) toRemove.toArray(new IInstallableUnit[toRemove.size()]));
-		debug(request);
-		return request;
-	}
-
-	/*
-	 * If debugging is turned on, then print out the details for the given profile change request.
-	 */
-	private void debug(ProfileChangeRequest request) {
-		if (!Tracing.DEBUG_RECONCILER)
-			return;
-		final String PREFIX = "[reconciler] "; //$NON-NLS-1$
-		IInstallableUnit[] toAdd = request.getAddedInstallableUnits();
-		if (toAdd == null || toAdd.length == 0) {
-			Tracing.debug(PREFIX + "No installable units to add."); //$NON-NLS-1$
-		} else {
-			for (int i = 0; i < toAdd.length; i++) {
-				Tracing.debug(PREFIX + "Adding IU: " + toAdd[i].getId() + ' ' + toAdd[i].getVersion()); //$NON-NLS-1$
-			}
-		}
-		Map propsToAdd = request.getInstallableUnitProfilePropertiesToAdd();
-		if (propsToAdd == null || propsToAdd.isEmpty()) {
-			Tracing.debug(PREFIX + "No IU properties to add."); //$NON-NLS-1$
-		} else {
-			for (Iterator iter = propsToAdd.keySet().iterator(); iter.hasNext();) {
-				Object key = iter.next();
-				Tracing.debug(PREFIX + "Adding IU property: " + key + "->" + propsToAdd.get(key)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-
-		IInstallableUnit[] toRemove = request.getRemovedInstallableUnits();
-		if (toRemove == null || toRemove.length == 0) {
-			Tracing.debug(PREFIX + "No installable units to remove."); //$NON-NLS-1$
-		} else {
-			for (int i = 0; i < toRemove.length; i++) {
-				Tracing.debug(PREFIX + "Removing IU: " + toRemove[i].getId() + ' ' + toRemove[i].getVersion()); //$NON-NLS-1$
-			}
-		}
-		Map propsToRemove = request.getInstallableUnitProfilePropertiesToRemove();
-		if (propsToRemove == null || propsToRemove.isEmpty()) {
-			Tracing.debug(PREFIX + "No IU properties to remove."); //$NON-NLS-1$
-		} else {
-			for (Iterator iter = propsToRemove.keySet().iterator(); iter.hasNext();) {
-				Object key = iter.next();
-				Tracing.debug(PREFIX + "Removing IU property: " + key + "->" + propsToRemove.get(key)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	private Collector getAllIUsFromRepos() {
-		Collector allRepos = new Collector();
-		for (Iterator it = repositoryMap.entrySet().iterator(); it.hasNext();) {
-			Entry entry = (Entry) it.next();
-			IMetadataRepository repository = (IMetadataRepository) entry.getValue();
-			allRepos.addAll(repository.query(InstallableUnitQuery.ANY, null));
-		}
-		return allRepos;
-	}
-
-	private IProvisioningPlan createProvisioningPlan(ProfileChangeRequest request, ProvisioningContext provisioningContext, IProgressMonitor monitor) {
-		BundleContext context = Activator.getContext();
-		ServiceReference reference = context.getServiceReference(IPlanner.SERVICE_NAME);
-		IPlanner planner = (IPlanner) context.getService(reference);
-
-		try {
-			return planner.getProvisioningPlan(request, provisioningContext, monitor);
-		} finally {
-			context.ungetService(reference);
-		}
-	}
-
-	private IStatus executeOperands(Operand[] operands, ProvisioningContext provisioningContext, IProgressMonitor monitor) {
-		BundleContext context = Activator.getContext();
-		ServiceReference reference = context.getServiceReference(IEngine.SERVICE_NAME);
-		IEngine engine = (IEngine) context.getService(reference);
-		try {
-			IPhaseSet phaseSet = engine.createPhaseSetExcluding(new String[] {IPhaseSet.PHASE_COLLECT, IPhaseSet.PHASE_CHECK_TRUST});
-			IProvisioningPlan plan = engine.createCustomPlan(profile, operands, provisioningContext);
-			return engine.perform(plan, phaseSet, monitor);
-		} finally {
-			context.ungetService(reference);
-		}
-	}
-
-	private IStatus executePlan(IProvisioningPlan plan, ProvisioningContext provisioningContext, IProgressMonitor monitor) {
-		BundleContext context = Activator.getContext();
-		ServiceReference reference = context.getServiceReference(IEngine.SERVICE_NAME);
-		IEngine engine = (IEngine) context.getService(reference);
-		try {
-			IPhaseSet phaseSet = engine.createPhaseSetExcluding(new String[] {IPhaseSet.PHASE_COLLECT, IPhaseSet.PHASE_CHECK_TRUST});
-
-			if (plan.getInstallerPlan() != null) {
-				IStatus installerPlanStatus = engine.perform(plan.getInstallerPlan(), phaseSet, monitor);
-				if (!installerPlanStatus.isOK())
-					return installerPlanStatus;
-
-				applyConfiguration(true);
-			}
-			return engine.perform(plan, phaseSet, monitor);
-		} finally {
-			context.ungetService(reference);
-		}
-	}
-
-	/*
-	 * Write out the configuration file.
-	 */
-	private IStatus applyConfiguration(boolean isInstaller) {
-		if (!isInstaller && isReconciliationApplicationRunning())
-			return Status.OK_STATUS;
-		BundleContext context = Activator.getContext();
-		ServiceReference reference = context.getServiceReference(Configurator.class.getName());
-		Configurator configurator = (Configurator) context.getService(reference);
-		try {
-			configurator.applyConfiguration();
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, "Unexpected failure applying configuration", e); //$NON-NLS-1$
-		} finally {
-			context.ungetService(reference);
-		}
-		return Status.OK_STATUS;
-	}
-
-	static boolean isReconciliationApplicationRunning() {
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-		if (info == null)
-			return false;
-		String[] args = info.getCommandLineArgs();
-		if (args == null)
-			return false;
-		for (int i = 0; i < args.length; i++) {
-			if (args[i] != null && RECONCILER_APPLICATION_ID.equals(args[i].trim()))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties b/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
deleted file mode 100644
index c8b618c..0000000
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-artifact_repo_manager_not_registered=ArtifactRepositoryManager not registered.
-errorLoadingRepository=Error occurred while loading repository at {0}.
-errorProcessingConfg=Exception while processing configuration.
-metadata_repo_manager_not_registered=MetadataRepositoryManager not registered.
-error_reading_link = Error occurred while reading link file at {0}.
-error_resolving_link = Error occurred while resolving linked folder {0} from {1}.
- 
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.classpath b/bundles/org.eclipse.equinox.p2.repository.tools/.classpath
deleted file mode 100644
index 75116d7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.cvsignore b/bundles/org.eclipse.equinox.p2.repository.tools/.cvsignore
deleted file mode 100644
index b4b639c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-lib
-bin_ant
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.externalToolBuilders/Build Repository Tools JARs.launch b/bundles/org.eclipse.equinox.p2.repository.tools/.externalToolBuilders/Build Repository Tools JARs.launch
deleted file mode 100644
index 5bfe0d0..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.externalToolBuilders/Build Repository Tools JARs.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1255396956625_26&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.equinox.p2.repository.tools&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.repository.tools"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.equinox.p2.repository.tools}"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.project b/bundles/org.eclipse.equinox.p2.repository.tools/.project
deleted file mode 100644
index 798ed3f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.repository.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Repository Tools JARs.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ec3a851..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,348 +0,0 @@
-#Fri Dec 04 17:47:22 EST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c454095..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:57:48 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index b83f1b8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,45 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-SymbolicName: org.eclipse.equinox.p2.repository.tools;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.internal.repository.tools.Activator
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Import-Package: org.eclipse.core.runtime;version="3.4.0",
- org.eclipse.equinox.app;version="1.0.0",
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.director,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.engine.phases,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.spi,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.service.packageadmin;version="1.2.0"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.5.0"
-Export-Package: org.eclipse.equinox.p2.internal.repository.comparator;x-internal:=true,
- org.eclipse.equinox.p2.internal.repository.mirroring;x-internal:=true,
- org.eclipse.equinox.p2.internal.repository.tools;x-internal:=true,
- org.eclipse.equinox.p2.internal.repository.tools.analyzer;x-internal:=true,
- org.eclipse.equinox.p2.repository.tools.analyzer;x-internal:=true
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/about.html b/bundles/org.eclipse.equinox.p2.repository.tools/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/build.properties b/bundles/org.eclipse.equinox.p2.repository.tools/build.properties
deleted file mode 100644
index a1a8324..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/build.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               lib/*.jar,\
-               plugin.properties,\
-               about.html
-extra.lib/repository-tools-ant.jar = ../org.apache.ant/ant.jar
-jars.compile.order = ., lib/repository-tools-ant.jar
-source.lib/repository-tools-ant.jar = src_ant/
-output.lib/repository-tools-ant.jar = bin_ant/
-jars.extra.classpath=platform:/plugin/org.apache.ant/lib/ant.jar,\
-                     platform:/plugin/org.eclipse.equinox.p2.jarprocessor/lib/jarprocessor-ant.jar,\
-                    	 platform:/plugin/org.eclipse.equinox.p2.artifact.repository/ant_tasks/artifactRepository-ant.jar
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/lib/.cvsignore b/bundles/org.eclipse.equinox.p2.repository.tools/lib/.cvsignore
deleted file mode 100644
index 577f03f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-repository-tools-ant.jar
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/plugin.properties b/bundles/org.eclipse.equinox.p2.repository.tools/plugin.properties
deleted file mode 100644
index 9d171a8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-
-providerName = Eclipse.org - Equinox
-bundleName=Equinox p2 repository tools.
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/plugin.xml b/bundles/org.eclipse.equinox.p2.repository.tools/plugin.xml
deleted file mode 100644
index ca19dae..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/plugin.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
-         point="org.eclipse.equinox.p2.repository.tools.verifier">
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.IUCounting"
-            name="IU Counting Tool">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.CopyrightAnalyzer"
-            name="Copyright Analyzer">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.LicenseAnalyzer"
-            name="License Analyzer">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.HostCheckAnalyzer"
-            name="Fragment Host Analyzer">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.UniqueIUAnalyzer"
-            name="Unique IU Analyzer">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.UnzipFeatureJarAnalyzer"
-            name="Unzip Feature Jar Analyzer">
-      </IUAnalysis>
-      <IUAnalysis
-            class="org.eclipse.equinox.p2.internal.repository.tools.analyzer.VersionAnalyzer"
-            name="Version Analyzer">
-      </IUAnalysis>
-   </extension>
-  <extension-point id="org.eclipse.equinox.p2.repository.tools.verifier" name="Metadata Verifier" schema="schema/org.eclipse.equinox.p2.repository.tools.verifier.exsd"/> 
-  <extension
-         point="org.eclipse.ant.core.antTasks">
-     <antTask
-            class="org.eclipse.equinox.p2.internal.repository.tools.tasks.Repo2RunnableTask"
-            library="lib/repository-tools-ant.jar"
-            name="p2.repo2runnable">
-      </antTask>
-
-     <antTask
-            class="org.eclipse.equinox.p2.internal.repository.tools.tasks.MirrorTask"
-            library="lib/repository-tools-ant.jar"
-            name="p2.mirror">
-      </antTask>
-
-	<antTask
-		library="lib/repository-tools-ant.jar"
-		name="p2.artifact.mirror"
-		class="org.eclipse.equinox.p2.internal.repository.tools.tasks.MirrorArtifactsTask">
-	</antTask>
-		
-     <antTask
-            class="org.eclipse.equinox.p2.internal.repository.tools.tasks.CompositeRepositoryTask"
-            library="lib/repository-tools-ant.jar"
-            name="p2.composite.repository">
-      </antTask>
-      
-      <antTask
-			library="lib/repository-tools-ant.jar"
-			name="p2.process.artifacts"
-			class="org.eclipse.equinox.p2.internal.repository.tools.tasks.ProcessRepoTask" >
-	  </antTask>
-	  
-	  <antTask
-			library="lib/repository-tools-ant.jar"
-			name="p2.remove.iu"
-			class="org.eclipse.equinox.p2.internal.repository.tools.tasks.RemoveIUTask" >
-	  </antTask>
-  </extension>
-  
-  <extension
-         id="org.eclipse.equinox.p2.repository.repo2runnable"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run class="org.eclipse.equinox.p2.internal.repository.tools.Repo2Runnable"/>
-      </application>
-   </extension>
-
-	<extension
-    	point="org.eclipse.equinox.p2.artifact.repository.artifactComparators">
-		<artifactComparator
-			class="org.eclipse.equinox.p2.internal.repository.comparator.JarComparator"
-			id="org.eclipse.equinox.p2.repository.tools.jar.comparator">
-		</artifactComparator>
-	</extension>
-	
-	<extension id="org.eclipse.equinox.p2.repository.metadataverifier" point="org.eclipse.core.runtime.applications">
-		<application cardinality="singleton-global" visible="true">
-			<run class="org.eclipse.equinox.p2.internal.repository.tools.RepositoryAnalyzerApplication" />
-		</application>
-	</extension> 
-	
-	<extension id="org.eclipse.equinox.p2.artifact.repository.mirrorApplication"  point="org.eclipse.core.runtime.applications">
-		<application cardinality="1" thread="main" visible="true">
-			<run class="org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication" >
-				<parameter name="metadataOrArtifacts" value="artifacts" />
-			</run>
-		</application>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/schema/org.eclipse.equinox.p2.repository.tools.verifier.exsd b/bundles/org.eclipse.equinox.p2.repository.tools/schema/org.eclipse.equinox.p2.repository.tools.verifier.exsd
deleted file mode 100644
index ba2d23b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/schema/org.eclipse.equinox.p2.repository.tools.verifier.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.equinox.p2.repository.tools" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.equinox.p2.repository.tools" id="org.eclipse.equinox.p2.repository.tools.verifier" name="Metadata Verifier"/>
-      </appinfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="IUAnalysis"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="IUAnalysis">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.equinox.p2.metadata.analyzer.IIUAnalysis"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml b/bundles/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml
deleted file mode 100644
index 86fe836..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/scripts/buildAntJARs.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<project name="project" default="default">
-	<target name="default" description="Jar up the binaries that were compiled by the jdt builder" >
-		<mkdir dir="lib" />
-		<delete file="lib/repository-tools-ant.jar" failonerror="false"/>
-		<jar destfile="lib/repository-tools-ant.jar" basedir="bin_ant"/>
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Annotation.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Annotation.java
deleted file mode 100644
index 2771ea6..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Annotation.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class Annotation extends ClassFileStruct {
-
-	private static final AnnotationComponent[] NO_ENTRIES = new AnnotationComponent[0];
-
-	private int typeIndex;
-	private char[] typeName;
-	private int componentsNumber;
-	private AnnotationComponent[] components;
-	private int readOffset;
-
-	/**
-	 * Constructor for Annotation.
-	 *
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public Annotation(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-
-		final int index = u2At(classFileBytes, 0, offset);
-		this.typeIndex = index;
-		if (index != 0) {
-			ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(index);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.typeName = constantPoolEntry.getUtf8Value();
-		} else {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		final int length = u2At(classFileBytes, 2, offset);
-		this.componentsNumber = length;
-		this.readOffset = 4;
-		if (length != 0) {
-			this.components = new AnnotationComponent[length];
-			for (int i = 0; i < length; i++) {
-				AnnotationComponent component = new AnnotationComponent(classFileBytes, constantPool, offset + this.readOffset);
-				this.components[i] = component;
-				this.readOffset += component.sizeInBytes();
-			}
-		} else {
-			this.components = NO_ENTRIES;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotation#getTypeIndex()
-	 */
-	public int getTypeIndex() {
-		return this.typeIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotation#getComponentsNumber()
-	 */
-	public int getComponentsNumber() {
-		return this.componentsNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotation#getComponents()
-	 */
-	public AnnotationComponent[] getComponents() {
-		return this.components;
-	}
-
-	int sizeInBytes() {
-		return this.readOffset;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotation#getTypeName()
-	 */
-	public char[] getTypeName() {
-		return this.typeName;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponent.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponent.java
deleted file mode 100644
index ac83743..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponent.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class AnnotationComponent extends ClassFileStruct {
-
-	private int componentNameIndex;
-	private char[] componentName;
-	private AnnotationComponentValue componentValue;
-	private int readOffset;
-
-	public AnnotationComponent(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		final int nameIndex = u2At(classFileBytes, 0, offset);
-		this.componentNameIndex = nameIndex;
-		if (nameIndex != 0) {
-			ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(nameIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.componentName = constantPoolEntry.getUtf8Value();
-		}
-		this.readOffset = 2;
-		AnnotationComponentValue value = new AnnotationComponentValue(classFileBytes, constantPool, offset + this.readOffset);
-		this.componentValue = value;
-		this.readOffset += value.sizeInBytes();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponent#getComponentNameIndex()
-	 */
-	public int getComponentNameIndex() {
-		return this.componentNameIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponent#getComponentName()
-	 */
-	public char[] getComponentName() {
-		return this.componentName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponent#getComponentValue()
-	 */
-	public AnnotationComponentValue getComponentValue() {
-		return this.componentValue;
-	}
-
-	int sizeInBytes() {
-		return this.readOffset;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponentValue.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponentValue.java
deleted file mode 100644
index 3866439..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationComponentValue.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class AnnotationComponentValue extends ClassFileStruct {
-	/**
-	 * Tag value for a constant of type <code>byte</code>
-	 * @since 3.1
-	 */
-	public static final int BYTE_TAG = 'B';
-	/**
-	 * Tag value for a constant of type <code>char</code>
-	 * @since 3.1
-	 */
-	public static final int CHAR_TAG = 'C';
-	/**
-	 * Tag value for a constant of type <code>double</code>
-	 * @since 3.1
-	 */
-	public static final int DOUBLE_TAG = 'D';
-	/**
-	 * Tag value for a constant of type <code>float</code>
-	 * @since 3.1
-	 */
-	public static final int FLOAT_TAG = 'F';
-	/**
-	 * Tag value for a constant of type <code>int</code>
-	 * @since 3.1
-	 */
-	public static final int INTEGER_TAG = 'I';
-	/**
-	 * Tag value for a constant of type <code>long</code>
-	 * @since 3.1
-	 */
-	public static final int LONG_TAG = 'J';
-	/**
-	 * Tag value for a constant of type <code>short</code>
-	 * @since 3.1
-	 */
-	public static final int SHORT_TAG = 'S';
-	/**
-	 * Tag value for a constant of type <code>boolean</code>
-	 * @since 3.1
-	 */
-	public static final int BOOLEAN_TAG = 'Z';
-	/**
-	 * Tag value for a constant of type <code>java.lang.String</code>
-	 * @since 3.1
-	 */
-	public static final int STRING_TAG = 's';
-	/**
-	 * Tag value for a value that represents an enum constant
-	 * @since 3.1
-	 */
-	public static final int ENUM_TAG = 'e';
-	/**
-	 * Tag value for a value that represents a class
-	 * @since 3.1
-	 */
-	public static final int CLASS_TAG = 'c';
-	/**
-	 * Tag value for a value that represents an annotation
-	 * @since 3.1
-	 */
-	public static final int ANNOTATION_TAG = '@';
-	/**
-	 * Tag value for a value that represents an array
-	 * @since 3.1
-	 */
-	public static final int ARRAY_TAG = '[';
-
-	private static final AnnotationComponentValue[] NO_VALUES = new AnnotationComponentValue[0];
-
-	private AnnotationComponentValue[] annotationComponentValues;
-	private Annotation annotationValue;
-	private ConstantPoolEntry classInfo;
-	private int classFileInfoIndex;
-	private ConstantPoolEntry constantValue;
-	private int constantValueIndex;
-	private int enumConstantTypeNameIndex;
-	private int enumConstantNameIndex;
-	private char[] enumConstantTypeName;
-	private char[] enumConstantName;
-
-	private int readOffset;
-	private int tag;
-	private int valuesNumber;
-
-	public AnnotationComponentValue(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		this.classFileInfoIndex = -1;
-		this.constantValueIndex = -1;
-		this.enumConstantTypeNameIndex = -1;
-		this.enumConstantNameIndex = -1;
-		final int t = u1At(classFileBytes, 0, offset);
-		this.tag = t;
-		this.readOffset = 1;
-		switch (t) {
-			case 'B' :
-			case 'C' :
-			case 'D' :
-			case 'F' :
-			case 'I' :
-			case 'J' :
-			case 'S' :
-			case 'Z' :
-			case 's' :
-				final int constantIndex = u2At(classFileBytes, this.readOffset, offset);
-				this.constantValueIndex = constantIndex;
-				if (constantIndex != 0) {
-					ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(constantIndex);
-					switch (constantPoolEntry.getKind()) {
-						case ConstantPoolConstant.CONSTANT_Long :
-						case ConstantPoolConstant.CONSTANT_Float :
-						case ConstantPoolConstant.CONSTANT_Double :
-						case ConstantPoolConstant.CONSTANT_Integer :
-						case ConstantPoolConstant.CONSTANT_Utf8 :
-							break;
-						default :
-							throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					this.constantValue = constantPoolEntry;
-				}
-				this.readOffset += 2;
-				break;
-			case 'e' :
-				int index = u2At(classFileBytes, this.readOffset, offset);
-				this.enumConstantTypeNameIndex = index;
-				if (index != 0) {
-					ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					this.enumConstantTypeName = constantPoolEntry.getUtf8Value();
-				}
-				this.readOffset += 2;
-				index = u2At(classFileBytes, this.readOffset, offset);
-				this.enumConstantNameIndex = index;
-				if (index != 0) {
-					ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					this.enumConstantName = constantPoolEntry.getUtf8Value();
-				}
-				this.readOffset += 2;
-				break;
-			case 'c' :
-				final int classFileIndex = u2At(classFileBytes, this.readOffset, offset);
-				this.classFileInfoIndex = classFileIndex;
-				if (classFileIndex != 0) {
-					ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(classFileIndex);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					this.classInfo = constantPoolEntry;
-				}
-				this.readOffset += 2;
-				break;
-			case '@' :
-				Annotation annotation = new Annotation(classFileBytes, constantPool, this.readOffset + offset);
-				this.annotationValue = annotation;
-				this.readOffset += annotation.sizeInBytes();
-				break;
-			case '[' :
-				final int numberOfValues = u2At(classFileBytes, this.readOffset, offset);
-				this.valuesNumber = numberOfValues;
-				this.readOffset += 2;
-				if (numberOfValues != 0) {
-					this.annotationComponentValues = new AnnotationComponentValue[numberOfValues];
-					for (int i = 0; i < numberOfValues; i++) {
-						AnnotationComponentValue value = new AnnotationComponentValue(classFileBytes, constantPool, offset + this.readOffset);
-						this.annotationComponentValues[i] = value;
-						this.readOffset += value.sizeInBytes();
-					}
-				} else {
-					this.annotationComponentValues = NO_VALUES;
-				}
-				break;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getAnnotationComponentValues()
-	 */
-	public AnnotationComponentValue[] getAnnotationComponentValues() {
-		return this.annotationComponentValues;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getAnnotationValue()
-	 */
-	public Annotation getAnnotationValue() {
-		return this.annotationValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getClassInfo()
-	 */
-	public ConstantPoolEntry getClassInfo() {
-		return this.classInfo;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getClassInfoIndex()
-	 */
-	public int getClassInfoIndex() {
-		return this.classFileInfoIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getConstantValue()
-	 */
-	public ConstantPoolEntry getConstantValue() {
-		return this.constantValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getConstantValueIndex()
-	 */
-	public int getConstantValueIndex() {
-		return this.constantValueIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getEnumConstantName()
-	 */
-	public char[] getEnumConstantName() {
-		return this.enumConstantName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getEnumConstantNameIndex()
-	 */
-	public int getEnumConstantNameIndex() {
-		return this.enumConstantNameIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getEnumConstantTypeName()
-	 */
-	public char[] getEnumConstantTypeName() {
-		return this.enumConstantTypeName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getEnumConstantTypeNameIndex()
-	 */
-	public int getEnumConstantTypeNameIndex() {
-		return this.enumConstantTypeNameIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getTag()
-	 */
-	public int getTag() {
-		return this.tag;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationComponentValue#getValuesNumber()
-	 */
-	public int getValuesNumber() {
-		return this.valuesNumber;
-	}
-
-	int sizeInBytes() {
-		return this.readOffset;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationDefaultAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationDefaultAttribute.java
deleted file mode 100644
index a52692c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AnnotationDefaultAttribute.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class AnnotationDefaultAttribute extends ClassFileAttribute {
-
-	private AnnotationComponentValue memberValue;
-
-	/**
-	 * Constructor for AnnotationDefaultAttribute.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public AnnotationDefaultAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.memberValue = new AnnotationComponentValue(classFileBytes, constantPool, offset + 6);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IAnnotationDefaultAttribute#getMemberValue()
-	 */
-	public AnnotationComponentValue getMemberValue() {
-		return this.memberValue;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AttributeNamesConstants.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AttributeNamesConstants.java
deleted file mode 100644
index 3f55bfc..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/AttributeNamesConstants.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public interface AttributeNamesConstants {
-	/*
-	 * "Synthetic" attribute.
-	 * <p>Note that prior to JDK 1.5, synthetic elements were always marked
-	 * using an attribute; with 1.5, synthetic elements can also be marked
-	 * using the {@link IModifierConstants#ACC_SYNTHETIC} flag.
-	 * </p>
-	 * @since 2.0
-	 */
-	char[] SYNTHETIC = "Synthetic".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "ConstantValue" attribute.
-	 * @since 2.0
-	 */
-	char[] CONSTANT_VALUE = "ConstantValue".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "LineNumberTable" attribute.
-	 * @since 2.0
-	 */
-	char[] LINE_NUMBER = "LineNumberTable".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "LocalVariableTable" attribute.
-	 * @since 2.0
-	 */
-	char[] LOCAL_VARIABLE = "LocalVariableTable".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "InnerClasses" attribute.
-	 * @since 2.0
-	 */
-	char[] INNER_CLASSES = "InnerClasses".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "Code" attribute.
-	 * @since 2.0
-	 */
-	char[] CODE = "Code".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "Exceptions" attribute.
-	 * @since 2.0
-	 */
-	char[] EXCEPTIONS = "Exceptions".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "SourceFile" attribute.
-	 * @since 2.0
-	 */
-	char[] SOURCE = "SourceFile".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "Deprecated" attribute.
-	 * @since 2.0
-	 */
-	char[] DEPRECATED = "Deprecated".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "Signature" attribute (added in J2SE 1.5).
-	 * Class file readers which support J2SE 1.5 return
-	 * attributes with this name represented by objects
-	 * implementing {@link ISignatureAttribute}.
-	 * @since 3.0
-	 */
-	char[] SIGNATURE = "Signature".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "EnclosingMethod" attribute (added in J2SE 1.5).
-	 * Class file readers which support J2SE 1.5 return
-	 * attributes with this name represented by objects
-	 * implementing {@link IEnclosingMethodAttribute}.
-	 * @since 3.0
-	 */
-	char[] ENCLOSING_METHOD = "EnclosingMethod".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "LocalVariableTypeTable" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] LOCAL_VARIABLE_TYPE_TABLE = "LocalVariableTypeTable".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "RuntimeVisibleAnnotations" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] RUNTIME_VISIBLE_ANNOTATIONS = "RuntimeVisibleAnnotations".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "RuntimeInvisibleAnnotations" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] RUNTIME_INVISIBLE_ANNOTATIONS = "RuntimeInvisibleAnnotations".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "RuntimeVisibleParameterAnnotations" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS = "RuntimeVisibleParameterAnnotations".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "RuntimeInvisibleParameterAnnotations" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = "RuntimeInvisibleParameterAnnotations".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "AnnotationDefault" attribute (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	char[] ANNOTATION_DEFAULT = "AnnotationDefault".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "StackMapTable" attribute (added in J2SE 1.6).
-	 * @since 3.2
-	 */
-	char[] STACK_MAP_TABLE = "StackMapTable".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "StackMap" attribute (added in cldc1.0).
-	 * @since 3.2
-	 */
-	char[] STACK_MAP = "StackMap".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * "Varargs" attribute (unspecified).
-	 */
-	char[] VAR_ARGS = "Varargs".toCharArray(); //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CharOperation.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CharOperation.java
deleted file mode 100644
index 2f1ae4d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CharOperation.java
+++ /dev/null
@@ -1,602 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public final class CharOperation {
-	public static final char[] This = "this".toCharArray(); //$NON-NLS-1$
-
-	public static final char[] JAVA_LANG_ANNOTATION_DOCUMENTED = "Ljava/lang/annotation/Documented;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_ANNOTATION_ELEMENTTYPE = "Ljava/lang/annotation/ElementType;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_ANNOTATION_RETENTION = "Ljava/lang/annotation/Retention;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_ANNOTATION_RETENTIONPOLICY = "Ljava/lang/annotation/RetentionPolicy;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_ANNOTATION_TARGET = "Ljava/lang/annotation/Target;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_DEPRECATED = "Ljava/lang/Deprecated;".toCharArray(); //$NON-NLS-1$
-	public static final char[] JAVA_LANG_ANNOTATION_INHERITED = "Ljava/lang/annotation/Inherited;".toCharArray(); //$NON-NLS-1$
-	/**
-	 * Constant for an empty char array
-	 */
-	public static final char[] NO_CHAR = new char[0];
-
-	/**
-	 * Constant for an empty char array with two dimensions.
-	 */
-	public static final char[][] NO_CHAR_CHAR = new char[0][];
-
-	/**
-	 * Answers a hashcode for the array
-	 *
-	 * @param array the array for which a hashcode is required
-	 * @return the hashcode
-	 * @throws NullPointerException if array is null
-	 */
-	public static final int hashCode(char[] array) {
-		int length = array.length;
-		int hash = length == 0 ? 31 : array[0];
-		if (length < 8) {
-			for (int i = length; --i > 0;)
-				hash = (hash * 31) + array[i];
-		} else {
-			// 8 characters is enough to compute a decent hash code, don't waste time examining every character
-			for (int i = length - 1, last = i > 16 ? i - 16 : 0; i > last; i -= 2)
-				hash = (hash * 31) + array[i];
-		}
-		return hash & 0x7FFFFFFF;
-	}
-
-	/**
-	 * Answers the last index in the array for which the corresponding character is
-	 * equal to toBeFound starting from the end of the array.
-	 * Answers -1 if no occurrence of this character is found.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    toBeFound = 'c'
-	 *    array = { ' a', 'b', 'c', 'd' , 'c', 'e' }
-	 *    result => 4
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    toBeFound = 'e'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    result => -1
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param toBeFound the character to search
-	 * @param array the array to be searched
-	 * @return the last index in the array for which the corresponding character is
-	 * equal to toBeFound starting from the end of the array, -1 otherwise
-	 * @throws NullPointerException if array is null
-	 */
-	public static final int lastIndexOf(char toBeFound, char[] array) {
-		for (int i = array.length; --i >= 0;)
-			if (toBeFound == array[i])
-				return i;
-		return -1;
-	}
-
-	/**
-	 * Return a new array which is the split of the given array using the given divider.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    divider = 'b'
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    result => { { 'a' }, {  }, { 'a' }, { 'a' } }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    divider = 'c'
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    result => { { 'a', 'b', 'b', 'a', 'b', 'a' } }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    divider = 'c'
-	 *    array = { ' ', ' ', 'a' , 'b', 'b', 'a', 'b', 'a', ' ' }
-	 *    result => { { ' ', 'a', 'b', 'b', 'a', 'b', 'a', ' ' } }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param divider the given divider
-	 * @param array the given array
-	 * @return a new array which is the split of the given array using the given divider
-	 */
-	public static final char[][] splitOn(char divider, char[] array) {
-		int length = array == null ? 0 : array.length;
-		if (length == 0)
-			return NO_CHAR_CHAR;
-
-		int wordCount = 1;
-		for (int i = 0; i < length; i++)
-			if (array[i] == divider)
-				wordCount++;
-		char[][] split = new char[wordCount][];
-		int last = 0, currentWord = 0;
-		for (int i = 0; i < length; i++) {
-			if (array[i] == divider) {
-				split[currentWord] = new char[i - last];
-				System.arraycopy(array, last, split[currentWord++], 0, i - last);
-				last = i + 1;
-			}
-		}
-		split[currentWord] = new char[length - last];
-		System.arraycopy(array, last, split[currentWord], 0, length - last);
-		return split;
-	}
-
-	/**
-	 * Answers the first index in the array for which the corresponding character is
-	 * equal to toBeFound starting the search at index start.
-	 * Answers -1 if no occurrence of this character is found.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    toBeFound = 'c'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    start = 2
-	 *    result => 2
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    toBeFound = 'c'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    start = 3
-	 *    result => -1
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    toBeFound = 'e'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    start = 1
-	 *    result => -1
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param toBeFound the character to search
-	 * @param array the array to be searched
-	 * @param start the starting index
-	 * @return the first index in the array for which the corresponding character is
-	 * equal to toBeFound, -1 otherwise
-	 * @throws NullPointerException if array is null
-	 * @throws ArrayIndexOutOfBoundsException if  start is lower than 0
-	 */
-	public static final int indexOf(char toBeFound, char[] array, int start) {
-		for (int i = start; i < array.length; i++)
-			if (toBeFound == array[i])
-				return i;
-		return -1;
-	}
-
-	/**
-	 * Answers a new array with prepending the prefix character and appending the suffix
-	 * character at the end of the array. If array is null, it answers a new array containing the
-	 * prefix and the suffix characters.
-	 * <br>
-	 * <br>
-	 * For example:<br>
-	 * <ol>
-	 * <li><pre>
-	 *    prefix = 'a'
-	 *    array = { 'b' }
-	 *    suffix = 'c'
-	 *    => result = { 'a', 'b' , 'c' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    prefix = 'a'
-	 *    array = null
-	 *    suffix = 'c'
-	 *    => result = { 'a', 'c' }
-	 * </pre></li>
-	 * </ol>
-	 *
-	 * @param prefix the prefix character
-	 * @param array the array that is concatenated with the prefix and suffix characters
-	 * @param suffix the suffix character
-	 * @return the new array
-	 */
-	public static final char[] concat(char prefix, char[] array, char suffix) {
-		if (array == null)
-			return new char[] {prefix, suffix};
-
-		int length = array.length;
-		char[] result = new char[length + 2];
-		result[0] = prefix;
-		System.arraycopy(array, 0, result, 1, length);
-		result[length + 1] = suffix;
-		return result;
-	}
-
-	/**
-	 * Answers the concatenation of the three arrays. It answers null if the three arrays are null.
-	 * If first is null, it answers the concatenation of second and third.
-	 * If second is null, it answers the concatenation of first and third.
-	 * If third is null, it answers the concatenation of first and second.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    first = null
-	 *    second = { 'a' }
-	 *    third = { 'b' }
-	 *    => result = { ' a', 'b' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = { 'a' }
-	 *    second = null
-	 *    third = { 'b' }
-	 *    => result = { ' a', 'b' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = { 'a' }
-	 *    second = { 'b' }
-	 *    third = null
-	 *    => result = { ' a', 'b' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = null
-	 *    second = null
-	 *    third = null
-	 *    => result = null
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = { 'a' }
-	 *    second = { 'b' }
-	 *    third = { 'c' }
-	 *    => result = { 'a', 'b', 'c' }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param first the first array to concatenate
-	 * @param second the second array to concatenate
-	 * @param third the third array to concatenate
-	 *
-	 * @return the concatenation of the three arrays, or null if the three arrays are null.
-	 */
-	public static final char[] concat(char[] first, char[] second, char[] third) {
-		if (first == null)
-			return concat(second, third);
-		if (second == null)
-			return concat(first, third);
-		if (third == null)
-			return concat(first, second);
-
-		int length1 = first.length;
-		int length2 = second.length;
-		int length3 = third.length;
-		char[] result = new char[length1 + length2 + length3];
-		System.arraycopy(first, 0, result, 0, length1);
-		System.arraycopy(second, 0, result, length1, length2);
-		System.arraycopy(third, 0, result, length1 + length2, length3);
-		return result;
-	}
-
-	/**
-	 * Answers the concatenation of the two arrays. It answers null if the two arrays are null.
-	 * If the first array is null, then the second array is returned.
-	 * If the second array is null, then the first array is returned.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    first = null
-	 *    second = { 'a' }
-	 *    => result = { ' a' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = { ' a' }
-	 *    second = null
-	 *    => result = { ' a' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    first = { ' a' }
-	 *    second = { ' b' }
-	 *    => result = { ' a' , ' b' }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param first the first array to concatenate
-	 * @param second the second array to concatenate
-	 * @return the concatenation of the two arrays, or null if the two arrays are null.
-	 */
-	public static final char[] concat(char[] first, char[] second) {
-		if (first == null)
-			return second;
-		if (second == null)
-			return first;
-
-		int length1 = first.length;
-		int length2 = second.length;
-		char[] result = new char[length1 + length2];
-		System.arraycopy(first, 0, result, 0, length1);
-		System.arraycopy(second, 0, result, length1, length2);
-		return result;
-	}
-
-	/**
-	 * Replace all occurrence of the character to be replaced with the replacement character in the
-	 * given array.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    toBeReplaced = 'b'
-	 *    replacementChar = 'a'
-	 *    result => No returned value, but array is now equals to { 'a' , 'a', 'a', 'a', 'a', 'a' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    toBeReplaced = 'c'
-	 *    replacementChar = 'a'
-	 *    result => No returned value, but array is now equals to { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param array the given array
-	 * @param toBeReplaced the character to be replaced
-	 * @param replacementChar the replacement character
-	 * @throws NullPointerException if the given array is null
-	 */
-	public static final void replace(char[] array, char toBeReplaced, char replacementChar) {
-		if (toBeReplaced != replacementChar) {
-			for (int i = 0, max = array.length; i < max; i++) {
-				if (array[i] == toBeReplaced)
-					array[i] = replacementChar;
-			}
-		}
-	}
-
-	/**
-	 * Replace all occurrence of the character to be replaced with the replacement character
-	 * in a copy of the given array. Returns the given array if no occurrences of the character
-	 * to be replaced are found.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    toBeReplaced = 'b'
-	 *    replacementChar = 'a'
-	 *    result => A new array that is equals to { 'a' , 'a', 'a', 'a', 'a', 'a' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    toBeReplaced = 'c'
-	 *    replacementChar = 'a'
-	 *    result => The original array that remains unchanged.
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param array the given array
-	 * @param toBeReplaced the character to be replaced
-	 * @param replacementChar the replacement character
-	 * @throws NullPointerException if the given array is null
-	 * @since 3.1
-	 */
-	public static final char[] replaceOnCopy(char[] array, char toBeReplaced, char replacementChar) {
-
-		char[] result = null;
-		for (int i = 0, length = array.length; i < length; i++) {
-			char c = array[i];
-			if (c == toBeReplaced) {
-				if (result == null) {
-					result = new char[length];
-					System.arraycopy(array, 0, result, 0, i);
-				}
-				result[i] = replacementChar;
-			} else if (result != null) {
-				result[i] = c;
-			}
-		}
-		if (result == null)
-			return array;
-		return result;
-	}
-
-	/**
-	 * Answers the first index in the array for which the corresponding character is
-	 * equal to toBeFound. Answers -1 if no occurrence of this character is found.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    toBeFound = 'c'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    result => 2
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    toBeFound = 'e'
-	 *    array = { ' a', 'b', 'c', 'd' }
-	 *    result => -1
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param toBeFound the character to search
-	 * @param array the array to be searched
-	 * @return the first index in the array for which the corresponding character is
-	 * equal to toBeFound, -1 otherwise
-	 * @throws NullPointerException if array is null
-	 */
-	public static final int indexOf(char toBeFound, char[] array) {
-		return indexOf(toBeFound, array, 0);
-	}
-
-	/**
-	 * Answers a new array which is a copy of the given array starting at the given start and
-	 * ending at the given end. The given start is inclusive and the given end is exclusive.
-	 * Answers null if start is greater than end, if start is lower than 0 or if end is greater
-	 * than the length of the given array. If end  equals -1, it is converted to the array length.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    array = { 'a' , 'b' }
-	 *    start = 0
-	 *    end = 1
-	 *    result => { 'a' }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    array = { 'a', 'b' }
-	 *    start = 0
-	 *    end = -1
-	 *    result => { 'a' , 'b' }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param array the given array
-	 * @param start the given starting index
-	 * @param end the given ending index
-	 * @return a new array which is a copy of the given array starting at the given start and
-	 * ending at the given end
-	 * @throws NullPointerException if the given array is null
-	 */
-	public static final char[] subarray(char[] array, int start, int end) {
-		if (end == -1)
-			end = array.length;
-		if (start > end)
-			return null;
-		if (start < 0)
-			return null;
-		if (end > array.length)
-			return null;
-
-		char[] result = new char[end - start];
-		System.arraycopy(array, start, result, 0, end - start);
-		return result;
-	}
-
-	/**
-	 * Answers a new array which is a copy of the given array starting at the given start and
-	 * ending at the given end. The given start is inclusive and the given end is exclusive.
-	 * Answers null if start is greater than end, if start is lower than 0 or if end is greater
-	 * than the length of the given array. If end  equals -1, it is converted to the array length.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    array = { { 'a' } , { 'b' } }
-	 *    start = 0
-	 *    end = 1
-	 *    result => { { 'a' } }
-	 * </pre>
-	 * </li>
-	 * <li><pre>
-	 *    array = { { 'a' } , { 'b' } }
-	 *    start = 0
-	 *    end = -1
-	 *    result => { { 'a' }, { 'b' } }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param array the given array
-	 * @param start the given starting index
-	 * @param end the given ending index
-	 * @return a new array which is a copy of the given array starting at the given start and
-	 * ending at the given end
-	 * @throws NullPointerException if the given array is null
-	 */
-	public static final char[][] subarray(char[][] array, int start, int end) {
-		if (end == -1)
-			end = array.length;
-		if (start > end)
-			return null;
-		if (start < 0)
-			return null;
-		if (end > array.length)
-			return null;
-
-		char[][] result = new char[end - start][];
-		System.arraycopy(array, start, result, 0, end - start);
-		return result;
-	}
-
-	/**
-	 * Return a new array which is the split of the given array using the given divider. The given end
-	 * is exclusive and the given start is inclusive.
-	 * <br>
-	 * <br>
-	 * For example:
-	 * <ol>
-	 * <li><pre>
-	 *    divider = 'b'
-	 *    array = { 'a' , 'b', 'b', 'a', 'b', 'a' }
-	 *    start = 2
-	 *    end = 5
-	 *    result => { {  }, { 'a' }, {  } }
-	 * </pre>
-	 * </li>
-	 * </ol>
-	 *
-	 * @param divider the given divider
-	 * @param array the given array
-	 * @param start the given starting index
-	 * @param end the given ending index
-	 * @return a new array which is the split of the given array using the given divider
-	 * @throws ArrayIndexOutOfBoundsException if start is lower than 0 or end is greater than the array length
-	 */
-	public static final char[][] splitOn(char divider, char[] array, int start, int end) {
-		int length = array == null ? 0 : array.length;
-		if (length == 0 || start > end)
-			return NO_CHAR_CHAR;
-
-		int wordCount = 1;
-		for (int i = start; i < end; i++)
-			if (array[i] == divider)
-				wordCount++;
-		char[][] split = new char[wordCount][];
-		int last = start, currentWord = 0;
-		for (int i = start; i < end; i++) {
-			if (array[i] == divider) {
-				split[currentWord] = new char[i - last];
-				System.arraycopy(array, last, split[currentWord++], 0, i - last);
-				last = i + 1;
-			}
-		}
-		split[currentWord] = new char[end - last];
-		System.arraycopy(array, last, split[currentWord], 0, end - last);
-		return split;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileAttribute.java
deleted file mode 100644
index 0522580..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileAttribute.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ClassFileAttribute extends ClassFileStruct {
-	public static final ClassFileAttribute[] NO_ATTRIBUTES = new ClassFileAttribute[0];
-	private long attributeLength;
-	private int attributeNameIndex;
-	private char[] attributeName;
-
-	public ClassFileAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		this.attributeNameIndex = u2At(classFileBytes, 0, offset);
-		this.attributeLength = u4At(classFileBytes, 2, offset);
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.attributeNameIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.attributeName = constantPoolEntry.getUtf8Value();
-	}
-
-	public int getAttributeNameIndex() {
-		return this.attributeNameIndex;
-	}
-
-	/*
-	 * @see IClassFileAttribute#getAttributeName()
-	 */
-	public char[] getAttributeName() {
-		return this.attributeName;
-	}
-
-	/*
-	 * @see IClassFileAttribute#getAttributeLength()
-	 */
-	public long getAttributeLength() {
-		return this.attributeLength;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileReader.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileReader.java
deleted file mode 100644
index 61765ef..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileReader.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.util.Arrays;
-
-public class ClassFileReader extends ClassFileStruct {
-	/*
-	 * This value should be used to read completely each part of a .class file.
-	 */
-	public static final int ALL = 0xFFFF;
-
-	/*
-	 * This value should be used to read only the constant pool entries of a .class file.
-	 */
-	public static final int CONSTANT_POOL = 0x0001;
-
-	/*
-	 * This value should be used to read the constant pool entries and
-	 * the method infos of a .class file.
-	 */
-	public static final int METHOD_INFOS = 0x0002 + CONSTANT_POOL;
-
-	/*
-	 * This value should be used to read the constant pool entries and
-	 * the field infos of a .class file.
-	 */
-	public static final int FIELD_INFOS = 0x0004 + CONSTANT_POOL;
-
-	/*
-	 * This value should be used to read the constant pool entries and
-	 * the super interface names of a .class file.
-	 */
-	public static final int SUPER_INTERFACES = 0x0008 + CONSTANT_POOL;
-
-	/*
-	 * This value should be used to read the constant pool entries and
-	 * the attributes of a .class file.
-	 */
-	public static final int CLASSFILE_ATTRIBUTES = 0x0010 + CONSTANT_POOL;
-
-	/*
-	 * This value should be used to read the method bodies.
-	 * It has to be used with METHOD_INFOS.
-	 */
-	public static final int METHOD_BODIES = 0x0020;
-
-	/*
-	 * This value should be used to read the whole contents of the .class file except the
-	 * method bodies.
-	 */
-	public static final int ALL_BUT_METHOD_BODIES = ALL & ~METHOD_BODIES;
-
-	private static final FieldInfo[] NO_FIELD_INFOS = new FieldInfo[0];
-	private static final char[][] NO_INTERFACES_NAMES = CharOperation.NO_CHAR_CHAR;
-	private static final MethodInfo[] NO_METHOD_INFOS = new MethodInfo[0];
-	private int accessFlags;
-	private ClassFileAttribute[] attributes;
-	private int attributesCount;
-	private char[] className;
-	private int classNameIndex;
-
-	private ConstantPool constantPool;
-	private FieldInfo[] fields;
-	private int fieldsCount;
-	private InnerClassesAttribute innerClassesAttribute;
-	private int[] interfaceIndexes;
-	private char[][] interfaceNames;
-	private int interfacesCount;
-	private int magicNumber;
-	private int majorVersion;
-	private MethodInfo[] methods;
-	private int methodsCount;
-	private int minorVersion;
-	private SourceFileAttribute sourceFileAttribute;
-	private char[] superclassName;
-	private int superclassNameIndex;
-
-	/*
-	 * Constructor for ClassFileReader.
-	 *
-	 * @param classFileBytes the raw bytes of the .class file
-	 * @param decodingFlags the decoding flags
-	 *
-	 * @see IClassFileReader#ALL
-	 * @see IClassFileReader#CLASSFILE_ATTRIBUTES
-	 * @see IClassFileReader#CONSTANT_POOL
-	 * @see IClassFileReader#FIELD_INFOS
-	 */
-	public ClassFileReader(byte[] classFileBytes, int decodingFlags) throws ClassFormatException {
-
-		// This method looks ugly but is actually quite simple, the constantPool is constructed
-		// in 3 passes.  All non-primitive constant pool members that usually refer to other members
-		// by index are tweaked to have their value in inst vars, this minor cost at read-time makes
-		// all subsequent uses of the constant pool element faster.
-		int constantPoolCount;
-		int[] constantPoolOffsets;
-		try {
-			this.magicNumber = (int) u4At(classFileBytes, 0, 0);
-			if (this.magicNumber != 0xCAFEBABE) {
-				throw new ClassFormatException(ClassFormatException.INVALID_MAGIC_NUMBER);
-			}
-
-			int readOffset = 10;
-			this.minorVersion = u2At(classFileBytes, 4, 0);
-			this.majorVersion = u2At(classFileBytes, 6, 0);
-
-			if ((decodingFlags & CONSTANT_POOL) == 0) {
-				// no need to go further
-				return;
-			}
-
-			constantPoolCount = u2At(classFileBytes, 8, 0);
-			// Pass #1 - Fill in all primitive constants
-			constantPoolOffsets = new int[constantPoolCount];
-			for (int i = 1; i < constantPoolCount; i++) {
-				int tag = u1At(classFileBytes, readOffset, 0);
-				switch (tag) {
-					case ConstantPoolConstant.CONSTANT_Utf8 :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += u2At(classFileBytes, readOffset + 1, 0);
-						readOffset += ConstantPoolConstant.CONSTANT_Utf8_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_Integer :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Integer_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_Float :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Float_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_Long :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Long_SIZE;
-						i++;
-						break;
-					case ConstantPoolConstant.CONSTANT_Double :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Double_SIZE;
-						i++;
-						break;
-					case ConstantPoolConstant.CONSTANT_Class :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Class_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_String :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_String_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_Fieldref :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Fieldref_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_Methodref :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_Methodref_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_InterfaceMethodref :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_InterfaceMethodref_SIZE;
-						break;
-					case ConstantPoolConstant.CONSTANT_NameAndType :
-						constantPoolOffsets[i] = readOffset;
-						readOffset += ConstantPoolConstant.CONSTANT_NameAndType_SIZE;
-						break;
-					default :
-						throw new ClassFormatException(ClassFormatException.INVALID_TAG_CONSTANT);
-				}
-			}
-
-			this.constantPool = new ConstantPool(classFileBytes, constantPoolOffsets);
-			// Read and validate access flags
-			this.accessFlags = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-
-			// Read the classname, use exception handlers to catch bad format
-			this.classNameIndex = u2At(classFileBytes, readOffset, 0);
-			this.className = getConstantClassNameAt(classFileBytes, constantPoolOffsets, this.classNameIndex);
-			readOffset += 2;
-
-			// Read the superclass name, can be zero for java.lang.Object
-			this.superclassNameIndex = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-			// if superclassNameIndex is equals to 0 there is no need to set a value for the
-			// field this.superclassName. null is fine.
-			if (this.superclassNameIndex != 0) {
-				this.superclassName = getConstantClassNameAt(classFileBytes, constantPoolOffsets, this.superclassNameIndex);
-			}
-
-			// Read the interfaces, use exception handlers to catch bad format
-			this.interfacesCount = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-			this.interfaceNames = NO_INTERFACES_NAMES;
-			this.interfaceIndexes = Utility.EMPTY_INT_ARRAY;
-			if (this.interfacesCount != 0) {
-				if ((decodingFlags & SUPER_INTERFACES) != CONSTANT_POOL) {
-					this.interfaceNames = new char[this.interfacesCount][];
-					this.interfaceIndexes = new int[this.interfacesCount];
-					for (int i = 0; i < this.interfacesCount; i++) {
-						this.interfaceIndexes[i] = u2At(classFileBytes, readOffset, 0);
-						this.interfaceNames[i] = getConstantClassNameAt(classFileBytes, constantPoolOffsets, this.interfaceIndexes[i]);
-						readOffset += 2;
-					}
-				} else {
-					readOffset += (2 * this.interfacesCount);
-				}
-			}
-			// Read the this.fields, use exception handlers to catch bad format
-			this.fieldsCount = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-			this.fields = NO_FIELD_INFOS;
-			if (this.fieldsCount != 0) {
-				if ((decodingFlags & FIELD_INFOS) != CONSTANT_POOL) {
-					FieldInfo field;
-					this.fields = new FieldInfo[this.fieldsCount];
-					for (int i = 0; i < this.fieldsCount; i++) {
-						field = new FieldInfo(classFileBytes, this.constantPool, readOffset);
-						this.fields[i] = field;
-						readOffset += field.sizeInBytes();
-					}
-				} else {
-					for (int i = 0; i < this.fieldsCount; i++) {
-						int attributeCountForField = u2At(classFileBytes, 6, readOffset);
-						readOffset += 8;
-						if (attributeCountForField != 0) {
-							for (int j = 0; j < attributeCountForField; j++) {
-								int attributeLength = (int) u4At(classFileBytes, 2, readOffset);
-								readOffset += (6 + attributeLength);
-							}
-						}
-					}
-				}
-			}
-			// Read the this.methods
-			this.methodsCount = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-			this.methods = NO_METHOD_INFOS;
-			if (this.methodsCount != 0) {
-				if ((decodingFlags & METHOD_INFOS) != CONSTANT_POOL) {
-					this.methods = new MethodInfo[this.methodsCount];
-					MethodInfo method;
-					for (int i = 0; i < this.methodsCount; i++) {
-						method = new MethodInfo(classFileBytes, this.constantPool, readOffset, decodingFlags);
-						this.methods[i] = method;
-						readOffset += method.sizeInBytes();
-					}
-				} else {
-					for (int i = 0; i < this.methodsCount; i++) {
-						int attributeCountForMethod = u2At(classFileBytes, 6, readOffset);
-						readOffset += 8;
-						if (attributeCountForMethod != 0) {
-							for (int j = 0; j < attributeCountForMethod; j++) {
-								int attributeLength = (int) u4At(classFileBytes, 2, readOffset);
-								readOffset += (6 + attributeLength);
-							}
-						}
-					}
-				}
-			}
-
-			// Read the attributes
-			this.attributesCount = u2At(classFileBytes, readOffset, 0);
-			readOffset += 2;
-
-			int attributesIndex = 0;
-			this.attributes = ClassFileAttribute.NO_ATTRIBUTES;
-			if (this.attributesCount != 0) {
-				if ((decodingFlags & CLASSFILE_ATTRIBUTES) != CONSTANT_POOL) {
-					this.attributes = new ClassFileAttribute[this.attributesCount];
-					for (int i = 0; i < this.attributesCount; i++) {
-						int utf8Offset = constantPoolOffsets[u2At(classFileBytes, readOffset, 0)];
-						char[] attributeName = utf8At(classFileBytes, utf8Offset + 3, 0, u2At(classFileBytes, utf8Offset + 1, 0));
-						if (Arrays.equals(attributeName, AttributeNamesConstants.INNER_CLASSES)) {
-							this.innerClassesAttribute = new InnerClassesAttribute(classFileBytes, this.constantPool, readOffset);
-							this.attributes[attributesIndex++] = this.innerClassesAttribute;
-						} else if (Arrays.equals(attributeName, AttributeNamesConstants.SOURCE)) {
-							this.sourceFileAttribute = new SourceFileAttribute(classFileBytes, this.constantPool, readOffset);
-							this.attributes[attributesIndex++] = this.sourceFileAttribute;
-						} else if (Arrays.equals(attributeName, AttributeNamesConstants.ENCLOSING_METHOD)) {
-							this.attributes[attributesIndex++] = new EnclosingMethodAttribute(classFileBytes, this.constantPool, readOffset);
-						} else if (Arrays.equals(attributeName, AttributeNamesConstants.SIGNATURE)) {
-							this.attributes[attributesIndex++] = new SignatureAttribute(classFileBytes, this.constantPool, readOffset);
-						} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS)) {
-							this.attributes[attributesIndex++] = new RuntimeVisibleAnnotationsAttribute(classFileBytes, this.constantPool, readOffset);
-						} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS)) {
-							this.attributes[attributesIndex++] = new RuntimeInvisibleAnnotationsAttribute(classFileBytes, this.constantPool, readOffset);
-						} else {
-							this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, this.constantPool, readOffset);
-						}
-						readOffset += (6 + u4At(classFileBytes, readOffset + 2, 0));
-					}
-				} else {
-					for (int i = 0; i < this.attributesCount; i++) {
-						readOffset += (6 + u4At(classFileBytes, readOffset + 2, 0));
-					}
-				}
-			}
-			if (readOffset != classFileBytes.length) {
-				throw new ClassFormatException(ClassFormatException.TOO_MANY_BYTES);
-			}
-		} catch (ClassFormatException e) {
-			throw e;
-		} catch (Exception e) {
-			e.printStackTrace();
-			throw new ClassFormatException(ClassFormatException.ERROR_TRUNCATED_INPUT);
-		}
-	}
-
-	/*
-	 * @see IClassFileReader#getAccessFlags()
-	 */
-	public int getAccessFlags() {
-		return this.accessFlags;
-	}
-
-	/*
-	 * @see IClassFileReader#getAttributeCount()
-	 */
-	public int getAttributeCount() {
-		return this.attributesCount;
-	}
-
-	/*
-	 * @see IClassFileReader#getAttributes()
-	 */
-	public ClassFileAttribute[] getAttributes() {
-		return this.attributes;
-	}
-
-	/*
-	 * @see IClassFileReader#getClassIndex()
-	 */
-	public int getClassIndex() {
-		return this.classNameIndex;
-	}
-
-	/*
-	 * @see IClassFileReader#getClassName()
-	 */
-	public char[] getClassName() {
-		return this.className;
-	}
-
-	private char[] getConstantClassNameAt(byte[] classFileBytes, int[] constantPoolOffsets, int constantPoolIndex) {
-		int utf8Offset = constantPoolOffsets[u2At(classFileBytes, constantPoolOffsets[constantPoolIndex] + 1, 0)];
-		return utf8At(classFileBytes, utf8Offset + 3, 0, u2At(classFileBytes, utf8Offset + 1, 0));
-	}
-
-	/*
-	 * @see IClassFileReader#getConstantPool()
-	 */
-	public ConstantPool getConstantPool() {
-		return this.constantPool;
-	}
-
-	/*
-	 * @see IClassFileReader#getFieldInfos()
-	 */
-	public FieldInfo[] getFieldInfos() {
-		return this.fields;
-	}
-
-	/*
-	 * @see IClassFileReader#getFieldsCount()
-	 */
-	public int getFieldsCount() {
-		return this.fieldsCount;
-	}
-
-	/*
-	 * @see IClassFileReader#getInnerClassesAttribute()
-	 */
-	public InnerClassesAttribute getInnerClassesAttribute() {
-		return this.innerClassesAttribute;
-	}
-
-	/*
-	 * @see IClassFileReader#getInterfaceIndexes()
-	 */
-	public int[] getInterfaceIndexes() {
-		return this.interfaceIndexes;
-	}
-
-	/*
-	 * @see IClassFileReader#getInterfaceNames()
-	 */
-	public char[][] getInterfaceNames() {
-		return this.interfaceNames;
-	}
-
-	/*
-	 * @see IClassFileReader#getMagic()
-	 */
-	public int getMagic() {
-		return this.magicNumber;
-	}
-
-	/*
-	 * @see IClassFileReader#getMajorVersion()
-	 */
-	public int getMajorVersion() {
-		return this.majorVersion;
-	}
-
-	/*
-	 * @see IClassFileReader#getMethodInfos()
-	 */
-	public MethodInfo[] getMethodInfos() {
-		return this.methods;
-	}
-
-	/*
-	 * @see IClassFileReader#getMethodsCount()
-	 */
-	public int getMethodsCount() {
-		return this.methodsCount;
-	}
-
-	/*
-	 * @see IClassFileReader#getMinorVersion()
-	 */
-	public int getMinorVersion() {
-		return this.minorVersion;
-	}
-
-	/*
-	 * @see IClassFileReader#getSourceFileAttribute()
-	 */
-	public SourceFileAttribute getSourceFileAttribute() {
-		return this.sourceFileAttribute;
-	}
-
-	/*
-	 * @see IClassFileReader#getSuperclassIndex()
-	 */
-	public int getSuperclassIndex() {
-		return this.superclassNameIndex;
-	}
-
-	/*
-	 * @see IClassFileReader#getSuperclassName()
-	 */
-	public char[] getSuperclassName() {
-		return this.superclassName;
-	}
-
-	/*
-	 * @see IClassFileReader#isClass()
-	 */
-	public boolean isClass() {
-		return !isInterface();
-	}
-
-	/*
-	 * @see IClassFileReader#isInterface()
-	 */
-	public boolean isInterface() {
-		return (getAccessFlags() & IModifierConstants.ACC_INTERFACE) != 0;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileStruct.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileStruct.java
deleted file mode 100644
index a8c6038..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFileStruct.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public abstract class ClassFileStruct {
-
-	protected double doubleAt(byte[] reference, int relativeOffset, int structOffset) {
-		return (Double.longBitsToDouble(i8At(reference, relativeOffset, structOffset)));
-	}
-
-	protected float floatAt(byte[] reference, int relativeOffset, int structOffset) {
-		return (Float.intBitsToFloat(i4At(reference, relativeOffset, structOffset)));
-	}
-
-	protected int i1At(byte[] reference, int relativeOffset, int structOffset) {
-		return reference[relativeOffset + structOffset];
-	}
-
-	protected int i2At(byte[] reference, int relativeOffset, int structOffset) {
-		int position = relativeOffset + structOffset;
-		return (reference[position++] << 8) + (reference[position] & 0xFF);
-	}
-
-	protected int i4At(byte[] reference, int relativeOffset, int structOffset) {
-		int position = relativeOffset + structOffset;
-		return ((reference[position++] & 0xFF) << 24) + ((reference[position++] & 0xFF) << 16) + ((reference[position++] & 0xFF) << 8) + (reference[position] & 0xFF);
-	}
-
-	protected long i8At(byte[] reference, int relativeOffset, int structOffset) {
-		int position = relativeOffset + structOffset;
-		return (((long) (reference[position++] & 0xFF)) << 56) + (((long) (reference[position++] & 0xFF)) << 48) + (((long) (reference[position++] & 0xFF)) << 40) + (((long) (reference[position++] & 0xFF)) << 32) + (((long) (reference[position++] & 0xFF)) << 24) + (((long) (reference[position++] & 0xFF)) << 16) + (((long) (reference[position++] & 0xFF)) << 8) + (reference[position++] & 0xFF);
-	}
-
-	protected int u1At(byte[] reference, int relativeOffset, int structOffset) {
-		return (reference[relativeOffset + structOffset] & 0xFF);
-	}
-
-	protected int u2At(byte[] reference, int relativeOffset, int structOffset) {
-		int position = relativeOffset + structOffset;
-		return ((reference[position++] & 0xFF) << 8) + (reference[position] & 0xFF);
-	}
-
-	protected long u4At(byte[] reference, int relativeOffset, int structOffset) {
-		int position = relativeOffset + structOffset;
-		return (((reference[position++] & 0xFFL) << 24) + ((reference[position++] & 0xFF) << 16) + ((reference[position++] & 0xFF) << 8) + (reference[position] & 0xFF));
-	}
-
-	protected char[] utf8At(byte[] reference, int relativeOffset, int structOffset, int bytesAvailable) {
-		int length = bytesAvailable;
-		char outputBuf[] = new char[bytesAvailable];
-		int outputPos = 0;
-		int readOffset = structOffset + relativeOffset;
-
-		while (length != 0) {
-			int x = reference[readOffset++] & 0xFF;
-			length--;
-			if ((0x80 & x) != 0) {
-				if ((x & 0x20) != 0) {
-					length -= 2;
-					x = ((x & 0xF) << 12) + ((reference[readOffset++] & 0x3F) << 6) + (reference[readOffset++] & 0x3F);
-				} else {
-					length--;
-					x = ((x & 0x1F) << 6) + (reference[readOffset++] & 0x3F);
-				}
-			}
-			outputBuf[outputPos++] = (char) x;
-		}
-
-		if (outputPos != bytesAvailable) {
-			System.arraycopy(outputBuf, 0, (outputBuf = new char[outputPos]), 0, outputPos);
-		}
-		return outputBuf;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFormatException.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFormatException.java
deleted file mode 100644
index acff39c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ClassFormatException.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ClassFormatException extends Exception {
-
-	public static final int ERROR_MALFORMED_UTF8 = 1;
-	public static final int ERROR_TRUNCATED_INPUT = 2;
-	public static final int INVALID_CONSTANT_POOL_ENTRY = 3;
-	public static final int TOO_MANY_BYTES = 4;
-	public static final int INVALID_ARGUMENTS_FOR_INVOKEINTERFACE = 5;
-	public static final int INVALID_BYTECODE = 6;
-
-	/**
-	 * @since 3.0
-	 */
-	public static final int INVALID_TAG_CONSTANT = 7;
-
-	/**
-	 * @since 3.0
-	 */
-	public static final int INVALID_MAGIC_NUMBER = 8;
-
-	private static final long serialVersionUID = 6582900558320612988L; // backward compatible
-
-	/**
-	 * Constructor for ClassFormatException.
-	 * @param errorID the given error ID
-	 */
-	public ClassFormatException(int errorID) {
-		// TODO (olivier) what is the errorID?
-	}
-
-	/**
-	 * Constructor for ClassFormatException.
-	 * @param message the message for the exception
-	 */
-	public ClassFormatException(String message) {
-		super(message);
-	}
-
-	/**
-	 * Constructor for ClassFormatException.
-	 * @param message the message for the exception
-	 * @param  cause  the cause of the exception
-	 * @since 3.5
-	 */
-	public ClassFormatException(String message, Throwable cause) {
-		super(message, cause);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CodeAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CodeAttribute.java
deleted file mode 100644
index 9788468..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/CodeAttribute.java
+++ /dev/null
@@ -1,1114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class CodeAttribute extends ClassFileAttribute {
-	private static final ExceptionTableEntry[] NO_EXCEPTION_TABLE = new ExceptionTableEntry[0];
-	private ClassFileAttribute[] attributes;
-	private int attributesCount;
-	private byte[] bytecodes;
-	private byte[] classFileBytes;
-	private long codeLength;
-	private int codeOffset;
-	private ConstantPool constantPool;
-	private ExceptionTableEntry[] exceptionTableEntries;
-	private int exceptionTableLength;
-	private int maxLocals;
-	private int maxStack;
-
-	CodeAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.classFileBytes = classFileBytes;
-		this.constantPool = constantPool;
-		this.maxStack = u2At(classFileBytes, 6, offset);
-		this.maxLocals = u2At(classFileBytes, 8, offset);
-		this.codeLength = u4At(classFileBytes, 10, offset);
-		this.codeOffset = offset + 14;
-		int readOffset = (int) (14 + this.codeLength);
-		this.exceptionTableLength = u2At(classFileBytes, readOffset, offset);
-		readOffset += 2;
-		this.exceptionTableEntries = NO_EXCEPTION_TABLE;
-		if (this.exceptionTableLength != 0) {
-			this.exceptionTableEntries = new ExceptionTableEntry[this.exceptionTableLength];
-			for (int i = 0; i < this.exceptionTableLength; i++) {
-				this.exceptionTableEntries[i] = new ExceptionTableEntry(classFileBytes, constantPool, offset + readOffset);
-				readOffset += 8;
-			}
-		}
-		this.attributesCount = u2At(classFileBytes, readOffset, offset);
-		this.attributes = ClassFileAttribute.NO_ATTRIBUTES;
-		if (this.attributesCount != 0) {
-			this.attributes = new ClassFileAttribute[this.attributesCount];
-		}
-		readOffset += 2;
-		for (int i = 0; i < this.attributesCount; i++) {
-			ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(u2At(classFileBytes, readOffset, offset));
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			readOffset += (6 + u4At(classFileBytes, readOffset + 2, offset));
-		}
-	}
-
-	/*
-	 * @see ICodeAttribute#getAttributes()
-	 */
-	public ClassFileAttribute[] getAttributes() {
-		return this.attributes;
-	}
-
-	/*
-	 * @see ICodeAttribute#getAttributesCount()
-	 */
-	public int getAttributesCount() {
-		return this.attributesCount;
-	}
-
-	/*
-	 * @see ICodeAttribute#getBytecodes()
-	 */
-	public byte[] getBytecodes() {
-		if (this.bytecodes == null) {
-			System.arraycopy(this.classFileBytes, this.codeOffset, (this.bytecodes = new byte[(int) this.codeLength]), 0, (int) this.codeLength);
-		}
-		return this.bytecodes;
-	}
-
-	/*
-	 * @see ICodeAttribute#getCodeLength()
-	 */
-	public long getCodeLength() {
-		return this.codeLength;
-	}
-
-	/*
-	 * @see ICodeAttribute#getExceptionTable()
-	 */
-	public ExceptionTableEntry[] getExceptionTable() {
-		return this.exceptionTableEntries;
-	}
-
-	/*
-	 * @see ICodeAttribute#getExceptionTableLength()
-	 */
-	public int getExceptionTableLength() {
-		return this.exceptionTableLength;
-	}
-
-	/*
-	 * @see ICodeAttribute#getMaxLocals()
-	 */
-	public int getMaxLocals() {
-		return this.maxLocals;
-	}
-
-	/*
-	 * @see ICodeAttribute#getMaxStack()
-	 */
-	public int getMaxStack() {
-		return this.maxStack;
-	}
-
-	/*
-	 * @see ICodeAttribute#traverse(IBytecodeVisitor visitor)
-	 */
-	public void traverse(DefaultBytecodeVisitor visitor) throws ClassFormatException {
-		int pc = this.codeOffset;
-		int opcode, index, _const, branchOffset;
-		ConstantPoolEntry constantPoolEntry;
-		while (true) {
-			opcode = u1At(this.classFileBytes, 0, pc);
-			switch (opcode) {
-				case IOpcodeMnemonics.NOP :
-					visitor._nop(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ACONST_NULL :
-					visitor._aconst_null(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_M1 :
-					visitor._iconst_m1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_0 :
-					visitor._iconst_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_1 :
-					visitor._iconst_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_2 :
-					visitor._iconst_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_3 :
-					visitor._iconst_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_4 :
-					visitor._iconst_4(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ICONST_5 :
-					visitor._iconst_5(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LCONST_0 :
-					visitor._lconst_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LCONST_1 :
-					visitor._lconst_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FCONST_0 :
-					visitor._fconst_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FCONST_1 :
-					visitor._fconst_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FCONST_2 :
-					visitor._fconst_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DCONST_0 :
-					visitor._dconst_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DCONST_1 :
-					visitor._dconst_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.BIPUSH :
-					visitor._bipush(pc - this.codeOffset, (byte) i1At(this.classFileBytes, 1, pc));
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.SIPUSH :
-					visitor._sipush(pc - this.codeOffset, (short) i2At(this.classFileBytes, 1, pc));
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.LDC :
-					index = u1At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Float && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Integer && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_String && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._ldc(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.LDC_W :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Float && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Integer && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_String && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._ldc_w(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.LDC2_W :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Double && constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Long) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._ldc2_w(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.ILOAD :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._iload(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.LLOAD :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._lload(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.FLOAD :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._fload(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.DLOAD :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._dload(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.ALOAD :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._aload(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.ILOAD_0 :
-					visitor._iload_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ILOAD_1 :
-					visitor._iload_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ILOAD_2 :
-					visitor._iload_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ILOAD_3 :
-					visitor._iload_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LLOAD_0 :
-					visitor._lload_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LLOAD_1 :
-					visitor._lload_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LLOAD_2 :
-					visitor._lload_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LLOAD_3 :
-					visitor._lload_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FLOAD_0 :
-					visitor._fload_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FLOAD_1 :
-					visitor._fload_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FLOAD_2 :
-					visitor._fload_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FLOAD_3 :
-					visitor._fload_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DLOAD_0 :
-					visitor._dload_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DLOAD_1 :
-					visitor._dload_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DLOAD_2 :
-					visitor._dload_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DLOAD_3 :
-					visitor._dload_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ALOAD_0 :
-					visitor._aload_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ALOAD_1 :
-					visitor._aload_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ALOAD_2 :
-					visitor._aload_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ALOAD_3 :
-					visitor._aload_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IALOAD :
-					visitor._iaload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LALOAD :
-					visitor._laload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FALOAD :
-					visitor._faload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DALOAD :
-					visitor._daload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.AALOAD :
-					visitor._aaload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.BALOAD :
-					visitor._baload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.CALOAD :
-					visitor._caload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.SALOAD :
-					visitor._saload(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISTORE :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._istore(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.LSTORE :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._lstore(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.FSTORE :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._fstore(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.DSTORE :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._dstore(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.ASTORE :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._astore(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.ISTORE_0 :
-					visitor._istore_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISTORE_1 :
-					visitor._istore_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISTORE_2 :
-					visitor._istore_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISTORE_3 :
-					visitor._istore_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSTORE_0 :
-					visitor._lstore_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSTORE_1 :
-					visitor._lstore_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSTORE_2 :
-					visitor._lstore_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSTORE_3 :
-					visitor._lstore_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FSTORE_0 :
-					visitor._fstore_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FSTORE_1 :
-					visitor._fstore_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FSTORE_2 :
-					visitor._fstore_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FSTORE_3 :
-					visitor._fstore_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DSTORE_0 :
-					visitor._dstore_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DSTORE_1 :
-					visitor._dstore_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DSTORE_2 :
-					visitor._dstore_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DSTORE_3 :
-					visitor._dstore_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ASTORE_0 :
-					visitor._astore_0(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ASTORE_1 :
-					visitor._astore_1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ASTORE_2 :
-					visitor._astore_2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ASTORE_3 :
-					visitor._astore_3(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IASTORE :
-					visitor._iastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LASTORE :
-					visitor._lastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FASTORE :
-					visitor._fastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DASTORE :
-					visitor._dastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.AASTORE :
-					visitor._aastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.BASTORE :
-					visitor._bastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.CASTORE :
-					visitor._castore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.SASTORE :
-					visitor._sastore(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.POP :
-					visitor._pop(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.POP2 :
-					visitor._pop2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP :
-					visitor._dup(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP_X1 :
-					visitor._dup_x1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP_X2 :
-					visitor._dup_x2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP2 :
-					visitor._dup2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP2_X1 :
-					visitor._dup2_x1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DUP2_X2 :
-					visitor._dup2_x2(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.SWAP :
-					visitor._swap(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IADD :
-					visitor._iadd(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LADD :
-					visitor._ladd(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FADD :
-					visitor._fadd(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DADD :
-					visitor._dadd(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISUB :
-					visitor._isub(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSUB :
-					visitor._lsub(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FSUB :
-					visitor._fsub(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DSUB :
-					visitor._dsub(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IMUL :
-					visitor._imul(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LMUL :
-					visitor._lmul(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FMUL :
-					visitor._fmul(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DMUL :
-					visitor._dmul(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IDIV :
-					visitor._idiv(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LDIV :
-					visitor._ldiv(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FDIV :
-					visitor._fdiv(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DDIV :
-					visitor._ddiv(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IREM :
-					visitor._irem(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LREM :
-					visitor._lrem(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FREM :
-					visitor._frem(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DREM :
-					visitor._drem(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.INEG :
-					visitor._ineg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LNEG :
-					visitor._lneg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FNEG :
-					visitor._fneg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DNEG :
-					visitor._dneg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISHL :
-					visitor._ishl(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSHL :
-					visitor._lshl(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ISHR :
-					visitor._ishr(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LSHR :
-					visitor._lshr(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IUSHR :
-					visitor._iushr(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LUSHR :
-					visitor._lushr(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IAND :
-					visitor._iand(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LAND :
-					visitor._land(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IOR :
-					visitor._ior(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LOR :
-					visitor._lor(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IXOR :
-					visitor._ixor(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LXOR :
-					visitor._lxor(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IINC :
-					index = u1At(this.classFileBytes, 1, pc);
-					_const = i1At(this.classFileBytes, 2, pc);
-					visitor._iinc(pc - this.codeOffset, index, _const);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.I2L :
-					visitor._i2l(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.I2F :
-					visitor._i2f(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.I2D :
-					visitor._i2d(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.L2I :
-					visitor._l2i(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.L2F :
-					visitor._l2f(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.L2D :
-					visitor._l2d(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.F2I :
-					visitor._f2i(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.F2L :
-					visitor._f2l(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.F2D :
-					visitor._f2d(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.D2I :
-					visitor._d2i(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.D2L :
-					visitor._d2l(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.D2F :
-					visitor._d2f(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.I2B :
-					visitor._i2b(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.I2C :
-					visitor._i2c(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.I2S :
-					visitor._i2s(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LCMP :
-					visitor._lcmp(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FCMPL :
-					visitor._fcmpl(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FCMPG :
-					visitor._fcmpg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DCMPL :
-					visitor._dcmpl(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DCMPG :
-					visitor._dcmpg(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IFEQ :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifeq(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFNE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifne(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFLT :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._iflt(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFGE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifge(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFGT :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifgt(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFLE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifle(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPEQ :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmpeq(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPNE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmpne(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPLT :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmplt(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPGE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmpge(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPGT :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmpgt(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ICMPLE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_icmple(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ACMPEQ :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_acmpeq(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IF_ACMPNE :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._if_acmpne(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.GOTO :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._goto(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.JSR :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._jsr(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.RET :
-					index = u1At(this.classFileBytes, 1, pc);
-					visitor._ret(pc - this.codeOffset, index);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.TABLESWITCH :
-					int startpc = pc;
-					pc++;
-					while (((pc - this.codeOffset) & 0x03) != 0) { // faster than % 4
-						pc++;
-					}
-					int defaultOffset = i4At(this.classFileBytes, 0, pc);
-					pc += 4;
-					int low = i4At(this.classFileBytes, 0, pc);
-					pc += 4;
-					int high = i4At(this.classFileBytes, 0, pc);
-					pc += 4;
-					int length = high - low + 1;
-					int[] jumpOffsets = new int[length];
-					for (int i = 0; i < length; i++) {
-						jumpOffsets[i] = i4At(this.classFileBytes, 0, pc);
-						pc += 4;
-					}
-					visitor._tableswitch(startpc - this.codeOffset, defaultOffset, low, high, jumpOffsets);
-					break;
-				case IOpcodeMnemonics.LOOKUPSWITCH :
-					startpc = pc;
-					pc++;
-					while (((pc - this.codeOffset) & 0x03) != 0) {
-						pc++;
-					}
-					defaultOffset = i4At(this.classFileBytes, 0, pc);
-					pc += 4;
-					int npairs = (int) u4At(this.classFileBytes, 0, pc);
-					int[][] offset_pairs = new int[npairs][2];
-					pc += 4;
-					for (int i = 0; i < npairs; i++) {
-						offset_pairs[i][0] = i4At(this.classFileBytes, 0, pc);
-						pc += 4;
-						offset_pairs[i][1] = i4At(this.classFileBytes, 0, pc);
-						pc += 4;
-					}
-					visitor._lookupswitch(startpc - this.codeOffset, defaultOffset, npairs, offset_pairs);
-					break;
-				case IOpcodeMnemonics.IRETURN :
-					visitor._ireturn(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.LRETURN :
-					visitor._lreturn(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.FRETURN :
-					visitor._freturn(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.DRETURN :
-					visitor._dreturn(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ARETURN :
-					visitor._areturn(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.RETURN :
-					visitor._return(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.GETSTATIC :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Fieldref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._getstatic(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.PUTSTATIC :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Fieldref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._putstatic(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.GETFIELD :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Fieldref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._getfield(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.PUTFIELD :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Fieldref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._putfield(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.INVOKEVIRTUAL :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Methodref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._invokevirtual(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.INVOKESPECIAL :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Methodref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._invokespecial(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.INVOKESTATIC :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Methodref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._invokestatic(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.INVOKEINTERFACE :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_InterfaceMethodref) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					byte count = (byte) u1At(this.classFileBytes, 3, pc);
-					int extraArgs = u1At(this.classFileBytes, 4, pc);
-					if (extraArgs != 0) {
-						throw new ClassFormatException(ClassFormatException.INVALID_ARGUMENTS_FOR_INVOKEINTERFACE);
-					}
-					visitor._invokeinterface(pc - this.codeOffset, index, count, constantPoolEntry);
-					pc += 5;
-					break;
-				case IOpcodeMnemonics.NEW :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._new(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.NEWARRAY :
-					int atype = u1At(this.classFileBytes, 1, pc);
-					visitor._newarray(pc - this.codeOffset, atype);
-					pc += 2;
-					break;
-				case IOpcodeMnemonics.ANEWARRAY :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._anewarray(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.ARRAYLENGTH :
-					visitor._arraylength(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.ATHROW :
-					visitor._athrow(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.CHECKCAST :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._checkcast(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.INSTANCEOF :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					visitor._instanceof(pc - this.codeOffset, index, constantPoolEntry);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.MONITORENTER :
-					visitor._monitorenter(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.MONITOREXIT :
-					visitor._monitorexit(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.WIDE :
-					opcode = u1At(this.classFileBytes, 1, pc);
-					if (opcode == IOpcodeMnemonics.IINC) {
-						index = u2At(this.classFileBytes, 2, pc);
-						_const = i2At(this.classFileBytes, 4, pc);
-						visitor._wide(pc - this.codeOffset, opcode, index, _const);
-						pc += 6;
-					} else {
-						index = u2At(this.classFileBytes, 2, pc);
-						visitor._wide(pc - this.codeOffset, opcode, index);
-						pc += 4;
-					}
-					break;
-				case IOpcodeMnemonics.MULTIANEWARRAY :
-					index = u2At(this.classFileBytes, 1, pc);
-					constantPoolEntry = this.constantPool.decodeEntry(index);
-					if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-						throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-					}
-					int dimensions = u1At(this.classFileBytes, 3, pc);
-					visitor._multianewarray(pc - this.codeOffset, index, dimensions, constantPoolEntry);
-					pc += 4;
-					break;
-				case IOpcodeMnemonics.IFNULL :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifnull(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.IFNONNULL :
-					branchOffset = i2At(this.classFileBytes, 1, pc);
-					visitor._ifnonnull(pc - this.codeOffset, branchOffset);
-					pc += 3;
-					break;
-				case IOpcodeMnemonics.GOTO_W :
-					branchOffset = i4At(this.classFileBytes, 1, pc);
-					visitor._goto_w(pc - this.codeOffset, branchOffset);
-					pc += 5;
-					break;
-				case IOpcodeMnemonics.JSR_W :
-					branchOffset = i4At(this.classFileBytes, 1, pc);
-					visitor._jsr_w(pc - this.codeOffset, branchOffset);
-					pc += 5;
-					break;
-				case IOpcodeMnemonics.BREAKPOINT :
-					visitor._breakpoint(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IMPDEP1 :
-					visitor._impdep1(pc - this.codeOffset);
-					pc++;
-					break;
-				case IOpcodeMnemonics.IMPDEP2 :
-					visitor._impdep2(pc - this.codeOffset);
-					pc++;
-					break;
-				default :
-					throw new ClassFormatException(ClassFormatException.INVALID_BYTECODE);
-			}
-			if (pc >= (this.codeLength + this.codeOffset)) {
-				break;
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPool.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPool.java
deleted file mode 100644
index 3801086..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPool.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ConstantPool extends ClassFileStruct {
-
-	private int constantPoolCount;
-	private int[] constantPoolOffset;
-	private byte[] classFileBytes;
-
-	ConstantPool(byte[] reference, int[] constantPoolOffset) {
-		this.constantPoolCount = constantPoolOffset.length;
-		this.constantPoolOffset = constantPoolOffset;
-		this.classFileBytes = reference;
-	}
-
-	/*
-	 * @see IConstantPool#decodeEntry(int)
-	 */
-	public ConstantPoolEntry decodeEntry(int index) {
-		ConstantPoolEntry constantPoolEntry = new ConstantPoolEntry();
-		constantPoolEntry.reset();
-		int kind = getEntryKind(index);
-		constantPoolEntry.setKind(kind);
-		switch (kind) {
-			case ConstantPoolConstant.CONSTANT_Class :
-				constantPoolEntry.setClassInfoNameIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				constantPoolEntry.setClassInfoName(getUtf8ValueAt(constantPoolEntry.getClassInfoNameIndex()));
-				break;
-			case ConstantPoolConstant.CONSTANT_Double :
-				constantPoolEntry.setDoubleValue(doubleAt(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				break;
-			case ConstantPoolConstant.CONSTANT_Fieldref :
-				constantPoolEntry.setClassIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				int declaringClassIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getClassIndex()]);
-				constantPoolEntry.setClassName(getUtf8ValueAt(declaringClassIndex));
-				constantPoolEntry.setNameAndTypeIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
-				int fieldNameIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
-				int fieldDescriptorIndex = u2At(this.classFileBytes, 3, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
-				constantPoolEntry.setFieldName(getUtf8ValueAt(fieldNameIndex));
-				constantPoolEntry.setFieldDescriptor(getUtf8ValueAt(fieldDescriptorIndex));
-				break;
-			case ConstantPoolConstant.CONSTANT_Methodref :
-			case ConstantPoolConstant.CONSTANT_InterfaceMethodref :
-				constantPoolEntry.setClassIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				declaringClassIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getClassIndex()]);
-				constantPoolEntry.setClassName(getUtf8ValueAt(declaringClassIndex));
-				constantPoolEntry.setNameAndTypeIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
-				int methodNameIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
-				int methodDescriptorIndex = u2At(this.classFileBytes, 3, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
-				constantPoolEntry.setMethodName(getUtf8ValueAt(methodNameIndex));
-				constantPoolEntry.setMethodDescriptor(getUtf8ValueAt(methodDescriptorIndex));
-				break;
-			case ConstantPoolConstant.CONSTANT_Float :
-				constantPoolEntry.setFloatValue(floatAt(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				break;
-			case ConstantPoolConstant.CONSTANT_Integer :
-				constantPoolEntry.setIntegerValue(i4At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				break;
-			case ConstantPoolConstant.CONSTANT_Long :
-				constantPoolEntry.setLongValue(i8At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				break;
-			case ConstantPoolConstant.CONSTANT_NameAndType :
-				constantPoolEntry.setNameAndTypeNameIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				constantPoolEntry.setNameAndTypeDescriptorIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
-				break;
-			case ConstantPoolConstant.CONSTANT_String :
-				constantPoolEntry.setStringIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				constantPoolEntry.setStringValue(getUtf8ValueAt(constantPoolEntry.getStringIndex()));
-				break;
-			case ConstantPoolConstant.CONSTANT_Utf8 :
-				constantPoolEntry.setUtf8Length(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
-				constantPoolEntry.setUtf8Value(getUtf8ValueAt(index));
-		}
-		return constantPoolEntry;
-	}
-
-	/*
-	 * @see IConstantPool#getConstantPoolCount()
-	 */
-	public int getConstantPoolCount() {
-		return this.constantPoolCount;
-	}
-
-	/*
-	 * @see IConstantPool#getEntryKind(int)
-	 */
-	public int getEntryKind(int index) {
-		return u1At(this.classFileBytes, 0, this.constantPoolOffset[index]);
-	}
-
-	private char[] getUtf8ValueAt(int utf8Index) {
-		int utf8Offset = this.constantPoolOffset[utf8Index];
-		return utf8At(this.classFileBytes, 0, utf8Offset + 3, u2At(this.classFileBytes, 0, utf8Offset + 1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolConstant.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolConstant.java
deleted file mode 100644
index 7cebf66..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolConstant.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public interface ConstantPoolConstant {
-
-	int CONSTANT_Class = 7;
-	int CONSTANT_Fieldref = 9;
-	int CONSTANT_Methodref = 10;
-	int CONSTANT_InterfaceMethodref = 11;
-	int CONSTANT_String = 8;
-	int CONSTANT_Integer = 3;
-	int CONSTANT_Float = 4;
-	int CONSTANT_Long = 5;
-	int CONSTANT_Double = 6;
-	int CONSTANT_NameAndType = 12;
-	int CONSTANT_Utf8 = 1;
-
-	int CONSTANT_Methodref_SIZE = 5;
-	int CONSTANT_Class_SIZE = 3;
-	int CONSTANT_Double_SIZE = 9;
-	int CONSTANT_Fieldref_SIZE = 5;
-	int CONSTANT_Float_SIZE = 5;
-	int CONSTANT_Integer_SIZE = 5;
-	int CONSTANT_InterfaceMethodref_SIZE = 5;
-	int CONSTANT_Long_SIZE = 9;
-	int CONSTANT_String_SIZE = 3;
-	int CONSTANT_Utf8_SIZE = 3;
-	int CONSTANT_NameAndType_SIZE = 5;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolEntry.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolEntry.java
deleted file mode 100644
index cdee2fd..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantPoolEntry.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ConstantPoolEntry {
-
-	private int kind;
-	private int classInfoNameIndex;
-	private int classIndex;
-	private int nameAndTypeIndex;
-	private int stringIndex;
-	private char[] stringValue;
-	private int integerValue;
-	private float floatValue;
-	private double doubleValue;
-	private long longValue;
-	private int nameAndTypeDescriptorIndex;
-	private int nameAndTypeNameIndex;
-	private char[] className;
-	private char[] fieldName;
-	private char[] methodName;
-	private char[] fieldDescriptor;
-	private char[] methodDescriptor;
-	private char[] utf8Value;
-	private int utf8Length;
-	private char[] classInfoName;
-
-	public ConstantPoolEntry() {
-		this.classInfoNameIndex = -1;
-		this.classIndex = -1;
-		this.nameAndTypeIndex = -1;
-		this.stringIndex = -1;
-		this.stringValue = null;
-		this.integerValue = -1;
-		this.floatValue = -0.0f;
-		this.doubleValue = -0 - 0;
-		this.longValue = -1;
-		this.nameAndTypeDescriptorIndex = -1;
-		this.nameAndTypeNameIndex = -1;
-		this.className = null;
-		this.fieldName = null;
-		this.methodName = null;
-		this.fieldDescriptor = null;
-		this.methodDescriptor = null;
-		this.utf8Value = null;
-		this.utf8Length = -1;
-		this.classInfoName = null;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getKind()
-	 */
-	public int getKind() {
-		return this.kind;
-	}
-
-	/*
-	 * Sets the kind.
-	 * @param kind The kind to set
-	 */
-	public void setKind(int kind) {
-		this.kind = kind;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getClassInfoNameIndex()
-	 */
-	public int getClassInfoNameIndex() {
-		return this.classInfoNameIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getClassIndex()
-	 */
-	public int getClassIndex() {
-		return this.classIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getNameAndTypeIndex()
-	 */
-	public int getNameAndTypeIndex() {
-		return this.nameAndTypeIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getStringIndex()
-	 */
-	public int getStringIndex() {
-		return this.stringIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getStringValue()
-	 */
-	public String getStringValue() {
-		return new String(this.stringValue);
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getIntegerValue()
-	 */
-	public int getIntegerValue() {
-		return this.integerValue;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getFloatValue()
-	 */
-	public float getFloatValue() {
-		return this.floatValue;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getDoubleValue()
-	 */
-	public double getDoubleValue() {
-		return this.doubleValue;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getLongValue()
-	 */
-	public long getLongValue() {
-		return this.longValue;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getNameAndTypeInfoDescriptorIndex()
-	 */
-	public int getNameAndTypeInfoDescriptorIndex() {
-		return this.nameAndTypeDescriptorIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getNameAndTypeInfoNameIndex()
-	 */
-	public int getNameAndTypeInfoNameIndex() {
-		return this.nameAndTypeNameIndex;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getClassName()
-	 */
-	public char[] getClassName() {
-		return this.className;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getFieldName()
-	 */
-	public char[] getFieldName() {
-		return this.fieldName;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getMethodName()
-	 */
-	public char[] getMethodName() {
-		return this.methodName;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getFieldDescriptor()
-	 */
-	public char[] getFieldDescriptor() {
-		return this.fieldDescriptor;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getMethodDescriptor()
-	 */
-	public char[] getMethodDescriptor() {
-		return this.methodDescriptor;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getUtf8Value()
-	 */
-	public char[] getUtf8Value() {
-		return this.utf8Value;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getClassInfoName()
-	 */
-	public char[] getClassInfoName() {
-		return this.classInfoName;
-	}
-
-	/*
-	 * Sets the classInfoNameIndex.
-	 * @param classInfoNameIndex The classInfoNameIndex to set
-	 */
-	public void setClassInfoNameIndex(int classInfoNameIndex) {
-		this.classInfoNameIndex = classInfoNameIndex;
-	}
-
-	/*
-	 * Sets the classIndex.
-	 * @param classIndex The classIndex to set
-	 */
-	public void setClassIndex(int classIndex) {
-		this.classIndex = classIndex;
-	}
-
-	/*
-	 * Sets the nameAndTypeIndex.
-	 * @param nameAndTypeIndex The nameAndTypeIndex to set
-	 */
-	public void setNameAndTypeIndex(int nameAndTypeIndex) {
-		this.nameAndTypeIndex = nameAndTypeIndex;
-	}
-
-	/*
-	 * Sets the stringIndex.
-	 * @param stringIndex The stringIndex to set
-	 */
-	public void setStringIndex(int stringIndex) {
-		this.stringIndex = stringIndex;
-	}
-
-	/*
-	 * Sets the stringValue.
-	 * @param stringValue The stringValue to set
-	 */
-	public void setStringValue(char[] stringValue) {
-		this.stringValue = stringValue;
-	}
-
-	/*
-	 * Sets the integerValue.
-	 * @param integerValue The integerValue to set
-	 */
-	public void setIntegerValue(int integerValue) {
-		this.integerValue = integerValue;
-	}
-
-	/*
-	 * Sets the floatValue.
-	 * @param floatValue The floatValue to set
-	 */
-	public void setFloatValue(float floatValue) {
-		this.floatValue = floatValue;
-	}
-
-	/*
-	 * Sets the doubleValue.
-	 * @param doubleValue The doubleValue to set
-	 */
-	public void setDoubleValue(double doubleValue) {
-		this.doubleValue = doubleValue;
-	}
-
-	/*
-	 * Sets the longValue.
-	 * @param longValue The longValue to set
-	 */
-	public void setLongValue(long longValue) {
-		this.longValue = longValue;
-	}
-
-	/*
-	 * Gets the nameAndTypeDescriptorIndex.
-	 * @return Returns a int
-	 */
-	public int getNameAndTypeDescriptorIndex() {
-		return this.nameAndTypeDescriptorIndex;
-	}
-
-	/*
-	 * Sets the nameAndTypeDescriptorIndex.
-	 * @param nameAndTypeDescriptorIndex The nameAndTypeDescriptorIndex to set
-	 */
-	public void setNameAndTypeDescriptorIndex(int nameAndTypeDescriptorIndex) {
-		this.nameAndTypeDescriptorIndex = nameAndTypeDescriptorIndex;
-	}
-
-	/*
-	 * Gets the nameAndTypeNameIndex.
-	 * @return Returns a int
-	 */
-	public int getNameAndTypeNameIndex() {
-		return this.nameAndTypeNameIndex;
-	}
-
-	/*
-	 * Sets the nameAndTypeNameIndex.
-	 * @param nameAndTypeNameIndex The nameAndTypeNameIndex to set
-	 */
-	public void setNameAndTypeNameIndex(int nameAndTypeNameIndex) {
-		this.nameAndTypeNameIndex = nameAndTypeNameIndex;
-	}
-
-	/*
-	 * Sets the className.
-	 * @param className The className to set
-	 */
-	public void setClassName(char[] className) {
-		this.className = className;
-	}
-
-	/*
-	 * Sets the fieldName.
-	 * @param fieldName The fieldName to set
-	 */
-	public void setFieldName(char[] fieldName) {
-		this.fieldName = fieldName;
-	}
-
-	/*
-	 * Sets the methodName.
-	 * @param methodName The methodName to set
-	 */
-	public void setMethodName(char[] methodName) {
-		this.methodName = methodName;
-	}
-
-	/*
-	 * Sets the fieldDescriptor.
-	 * @param fieldDescriptor The fieldDescriptor to set
-	 */
-	public void setFieldDescriptor(char[] fieldDescriptor) {
-		this.fieldDescriptor = fieldDescriptor;
-	}
-
-	/*
-	 * Sets the methodDescriptor.
-	 * @param methodDescriptor The methodDescriptor to set
-	 */
-	public void setMethodDescriptor(char[] methodDescriptor) {
-		this.methodDescriptor = methodDescriptor;
-	}
-
-	/*
-	 * Sets the utf8Value.
-	 * @param utf8Value The utf8Value to set
-	 */
-	public void setUtf8Value(char[] utf8Value) {
-		this.utf8Value = utf8Value;
-	}
-
-	/*
-	 * Sets the classInfoName.
-	 * @param classInfoName The classInfoName to set
-	 */
-	public void setClassInfoName(char[] classInfoName) {
-		this.classInfoName = classInfoName;
-	}
-
-	/*
-	 * @see IConstantPoolEntry#getUtf8Length()
-	 */
-	public int getUtf8Length() {
-		return this.utf8Length;
-	}
-
-	/*
-	 * Sets the utf8Length.
-	 * @param utf8Length The utf8Length to set
-	 */
-	public void setUtf8Length(int utf8Length) {
-		this.utf8Length = utf8Length;
-	}
-
-	public void reset() {
-		this.kind = 0;
-		this.classInfoNameIndex = 0;
-		this.classIndex = 0;
-		this.nameAndTypeIndex = 0;
-		this.stringIndex = 0;
-		this.stringValue = null;
-		this.integerValue = 0;
-		this.floatValue = 0.0f;
-		this.doubleValue = 0.0;
-		this.longValue = 0L;
-		this.nameAndTypeDescriptorIndex = 0;
-		this.nameAndTypeNameIndex = 0;
-		this.className = null;
-		this.fieldName = null;
-		this.methodName = null;
-		this.fieldDescriptor = null;
-		this.methodDescriptor = null;
-		this.utf8Value = null;
-		this.utf8Length = 0;
-		this.classInfoName = null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantValueAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantValueAttribute.java
deleted file mode 100644
index 75e961e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ConstantValueAttribute.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ConstantValueAttribute extends ClassFileAttribute {
-
-	private int constantValueIndex;
-	private ConstantPoolEntry constantPoolEntry;
-
-	ConstantValueAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.constantValueIndex = u2At(classFileBytes, 6, offset);
-		this.constantPoolEntry = constantPool.decodeEntry(this.constantValueIndex);
-	}
-
-	/*
-	 * @see IConstantValueAttribute#getConstantValue()
-	 */
-	public ConstantPoolEntry getConstantValue() {
-		return this.constantPoolEntry;
-	}
-
-	/*
-	 * @see IConstantValueAttribute#getConstantValueIndex()
-	 */
-	public int getConstantValueIndex() {
-		return this.constantValueIndex;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/DefaultBytecodeVisitor.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/DefaultBytecodeVisitor.java
deleted file mode 100644
index aaeaf26..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/DefaultBytecodeVisitor.java
+++ /dev/null
@@ -1,2071 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DefaultBytecodeVisitor {
-	private static final String EMPTY_CLASS_NAME = "\"\""; //$NON-NLS-1$
-	private static final String EMPTY_LOCAL_NAME = ""; //$NON-NLS-1$
-	private static final int T_BOOLEAN = 4;
-	private static final int T_CHAR = 5;
-	private static final int T_FLOAT = 6;
-	private static final int T_DOUBLE = 7;
-	private static final int T_BYTE = 8;
-	private static final int T_SHORT = 9;
-	private static final int T_INT = 10;
-	private static final int T_LONG = 11;
-
-	private StringBuffer buffer;
-	private String lineSeparator;
-	private int tabNumber;
-	private int digitNumberForPC;
-	private int mode;
-
-	public DefaultBytecodeVisitor(CodeAttribute codeAttribute, char[] methodDescriptor, boolean isStatic, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		this.buffer = buffer;
-		this.lineSeparator = lineSeparator;
-		this.tabNumber = tabNumber + 1;
-		long codeLength = codeAttribute.getCodeLength();
-		this.digitNumberForPC = Long.toString(codeLength).length();
-		this.mode = mode;
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aaload(int)
-	 */
-	public void _aaload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.AALOAD]);
-		writeNewLine();
-	}
-
-	private void dumpPcNumber(int pc) {
-		writeTabs();
-		int digitForPC = 1;
-		if (pc != 0) {
-			digitForPC = Integer.toString(pc).length();
-		}
-		for (int i = 0, max = this.digitNumberForPC - digitForPC; i < max; i++) {
-			this.buffer.append(' ');
-		}
-		this.buffer.append(pc);
-		this.buffer.append(Messages.disassembler_indentation);
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aastore(int)
-	 */
-	public void _aastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.AASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aconst_null(int)
-	 */
-	public void _aconst_null(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ACONST_NULL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aload_0(int)
-	 */
-	public void _aload_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ALOAD_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aload_1(int)
-	 */
-	public void _aload_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ALOAD_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aload_2(int)
-	 */
-	public void _aload_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ALOAD_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aload_3(int)
-	 */
-	public void _aload_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ALOAD_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_aload(int, int)
-	 */
-	public void _aload(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ALOAD], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_anewarray(int, int, ConstantPoolEntry)
-	 */
-	public void _anewarray(int pc, int index, ConstantPoolEntry constantClass) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_anewarray, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ANEWARRAY], returnConstantClassName(constantClass)}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_areturn(int)
-	 */
-	public void _areturn(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ARETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_arraylength(int)
-	 */
-	public void _arraylength(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ARRAYLENGTH]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_astore_0(int)
-	 */
-	public void _astore_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ASTORE_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_astore_1(int)
-	 */
-	public void _astore_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ASTORE_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_astore_2(int)
-	 */
-	public void _astore_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ASTORE_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_astore_3(int)
-	 */
-	public void _astore_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ASTORE_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_astore(int, int)
-	 */
-	public void _astore(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ASTORE], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_athrow(int)
-	 */
-	public void _athrow(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ATHROW]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_baload(int)
-	 */
-	public void _baload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.BALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_bastore(int)
-	 */
-	public void _bastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.BASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_bipush(int, byte)
-	 */
-	public void _bipush(int pc, byte _byte) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.BIPUSH]).append(Messages.disassembler_space).append(_byte);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_caload(int)
-	 */
-	public void _caload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.CALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_castore(int)
-	 */
-	public void _castore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.CASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_checkcast(int, int, ConstantPoolEntry)
-	 */
-	public void _checkcast(int pc, int index, ConstantPoolEntry constantClass) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_checkcast, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.CHECKCAST], returnConstantClassName(constantClass)}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_d2f(int)
-	 */
-	public void _d2f(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.D2F]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_d2i(int)
-	 */
-	public void _d2i(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.D2I]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_d2l(int)
-	 */
-	public void _d2l(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.D2L]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dadd(int)
-	 */
-	public void _dadd(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DADD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_daload(int)
-	 */
-	public void _daload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dastore(int)
-	 */
-	public void _dastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dcmpg(int)
-	 */
-	public void _dcmpg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DCMPG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dcmpl(int)
-	 */
-	public void _dcmpl(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DCMPL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dconst_0(int)
-	 */
-	public void _dconst_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DCONST_0]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dconst_1(int)
-	 */
-	public void _dconst_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DCONST_1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ddiv(int)
-	 */
-	public void _ddiv(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DDIV]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dload_0(int)
-	 */
-	public void _dload_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DLOAD_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dload_1(int)
-	 */
-	public void _dload_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DLOAD_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dload_2(int)
-	 */
-	public void _dload_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DLOAD_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dload_3(int)
-	 */
-	public void _dload_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DLOAD_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dload(int, int)
-	 */
-	public void _dload(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DLOAD], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dmul(int)
-	 */
-	public void _dmul(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DMUL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dneg(int)
-	 */
-	public void _dneg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DNEG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_drem(int)
-	 */
-	public void _drem(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DREM]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dreturn(int)
-	 */
-	public void _dreturn(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DRETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dstore_0(int)
-	 */
-	public void _dstore_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSTORE_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dstore_1(int)
-	 */
-	public void _dstore_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSTORE_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dstore_2(int)
-	 */
-	public void _dstore_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSTORE_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dstore_3(int)
-	 */
-	public void _dstore_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSTORE_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dstore(int,int)
-	 */
-	public void _dstore(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSTORE], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dsub(int)
-	 */
-	public void _dsub(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DSUB]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup_x1(int)
-	 */
-	public void _dup_x1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP_X1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup_x2(int)
-	 */
-	public void _dup_x2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP_X2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup(int)
-	 */
-	public void _dup(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup2_x1(int)
-	 */
-	public void _dup2_x1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP2_X1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup2_x2(int)
-	 */
-	public void _dup2_x2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP2_X2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_dup2(int)
-	 */
-	public void _dup2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.DUP2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_f2d(int)
-	 */
-	public void _f2d(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.F2D]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_f2i(int)
-	 */
-	public void _f2i(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.F2I]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_f2l(int)
-	 */
-	public void _f2l(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.F2L]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fadd(int)
-	 */
-	public void _fadd(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FADD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_faload(int)
-	 */
-	public void _faload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fastore(int)
-	 */
-	public void _fastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fcmpg(int)
-	 */
-	public void _fcmpg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FCMPG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fcmpl(int)
-	 */
-	public void _fcmpl(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FCMPL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fconst_0(int)
-	 */
-	public void _fconst_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FCONST_0]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fconst_1(int)
-	 */
-	public void _fconst_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FCONST_1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fconst_2(int)
-	 */
-	public void _fconst_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FCONST_2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fdiv(int)
-	 */
-	public void _fdiv(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FDIV]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fload_0(int)
-	 */
-	public void _fload_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FLOAD_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fload_1(int)
-	 */
-	public void _fload_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FLOAD_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fload_2(int)
-	 */
-	public void _fload_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FLOAD_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fload_3(int)
-	 */
-	public void _fload_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FLOAD_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fload(int, int)
-	 */
-	public void _fload(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FLOAD], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fmul(int)
-	 */
-	public void _fmul(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FMUL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fneg(int)
-	 */
-	public void _fneg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FNEG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_frem(int)
-	 */
-	public void _frem(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FREM]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_freturn(int)
-	 */
-	public void _freturn(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FRETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fstore_0(int)
-	 */
-	public void _fstore_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSTORE_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fstore_1(int)
-	 */
-	public void _fstore_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSTORE_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fstore_2(int)
-	 */
-	public void _fstore_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSTORE_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fstore_3(int)
-	 */
-	public void _fstore_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSTORE_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fstore(int, int)
-	 */
-	public void _fstore(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSTORE], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_fsub(int)
-	 */
-	public void _fsub(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.FSUB]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_getfield(int, int, ConstantPoolEntry)
-	 */
-	public void _getfield(int pc, int index, ConstantPoolEntry constantFieldref) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_getfield, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.GETFIELD], returnDeclaringClassName(constantFieldref), new String(constantFieldref.getFieldName()), returnClassName(Signature.toCharArray(constantFieldref.getFieldDescriptor()))}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_getstatic(int, int, ConstantPoolEntry)
-	 */
-	public void _getstatic(int pc, int index, ConstantPoolEntry constantFieldref) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_getstatic, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.GETSTATIC], returnDeclaringClassName(constantFieldref), new String(constantFieldref.getFieldName()), returnClassName(Signature.toCharArray(constantFieldref.getFieldDescriptor()))}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_goto_w(int, int)
-	 */
-	public void _goto_w(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.GOTO_W]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_goto(int, int)
-	 */
-	public void _goto(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.GOTO]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2b(int)
-	 */
-	public void _i2b(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2B]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2c(int)
-	 */
-	public void _i2c(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2C]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2d(int)
-	 */
-	public void _i2d(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2D]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2f(int)
-	 */
-	public void _i2f(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2F]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2l(int)
-	 */
-	public void _i2l(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2L]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_i2s(int)
-	 */
-	public void _i2s(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.I2S]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iadd(int)
-	 */
-	public void _iadd(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IADD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iaload(int)
-	 */
-	public void _iaload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iand(int)
-	 */
-	public void _iand(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IAND]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iastore(int)
-	 */
-	public void _iastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_acmpeq(int, int)
-	 */
-	public void _if_acmpeq(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ACMPEQ]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_acmpne(int, int)
-	 */
-	public void _if_acmpne(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ACMPNE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmpeq(int, int)
-	 */
-	public void _if_icmpeq(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPEQ]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmpge(int, int)
-	 */
-	public void _if_icmpge(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPGE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmpgt(int, int)
-	 */
-	public void _if_icmpgt(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPGT]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmple(int, int)
-	 */
-	public void _if_icmple(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPLE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmplt(int, int)
-	 */
-	public void _if_icmplt(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPLT]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_if_icmpne(int, int)
-	 */
-	public void _if_icmpne(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IF_ICMPNE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_0(int)
-	 */
-	public void _iconst_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_0]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_1(int)
-	 */
-	public void _iconst_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_2(int)
-	 */
-	public void _iconst_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_3(int)
-	 */
-	public void _iconst_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_3]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_4(int)
-	 */
-	public void _iconst_4(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_4]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_5(int)
-	 */
-	public void _iconst_5(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_5]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iconst_m1(int)
-	 */
-	public void _iconst_m1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ICONST_M1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_idiv(int)
-	 */
-	public void _idiv(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IDIV]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifeq(int, int)
-	 */
-	public void _ifeq(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFEQ]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifge(int, int)
-	 */
-	public void _ifge(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFGE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifgt(int, int)
-	 */
-	public void _ifgt(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFGT]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifle(int, int)
-	 */
-	public void _ifle(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFLE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iflt(int, int)
-	 */
-	public void _iflt(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFLT]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifne(int, int)
-	 */
-	public void _ifne(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFNE]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifnonnull(int, int)
-	 */
-	public void _ifnonnull(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFNONNULL]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ifnull(int, int)
-	 */
-	public void _ifnull(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IFNULL]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iinc(int, int, int)
-	 */
-	public void _iinc(int pc, int index, int _const) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_iinc, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IINC], Integer.toString(index), Integer.toString(_const), EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iload_0(int)
-	 */
-	public void _iload_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ILOAD_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iload_1(int)
-	 */
-	public void _iload_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ILOAD_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iload_2(int)
-	 */
-	public void _iload_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ILOAD_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iload_3(int)
-	 */
-	public void _iload_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ILOAD_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iload(int, int)
-	 */
-	public void _iload(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ILOAD], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_imul(int)
-	 */
-	public void _imul(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IMUL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ineg(int)
-	 */
-	public void _ineg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INEG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_instanceof(int, int, ConstantPoolEntry)
-	 */
-	public void _instanceof(int pc, int index, ConstantPoolEntry constantClass) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_instanceof, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INSTANCEOF], returnConstantClassName(constantClass)}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_invokeinterface(int, int, byte, ConstantPoolEntry)
-	 */
-	public void _invokeinterface(int pc, int index, byte nargs, ConstantPoolEntry constantInterfaceMethodref) {
-
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_invokeinterface, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INVOKEINTERFACE], Integer.toString(nargs), Utility.toString(constantInterfaceMethodref.getClassName(), constantInterfaceMethodref.getMethodName(), constantInterfaceMethodref.getMethodDescriptor(), true, isCompact())}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_invokespecial(int, int, ConstantPoolEntry)
-	 */
-	public void _invokespecial(int pc, int index, ConstantPoolEntry constantMethodref) {
-		dumpPcNumber(pc);
-		final String signature = returnMethodSignature(constantMethodref);
-		this.buffer.append(NLS.bind(Messages.classformat_invokespecial, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INVOKESPECIAL], signature}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_invokestatic(int, int, ConstantPoolEntry)
-	 */
-	public void _invokestatic(int pc, int index, ConstantPoolEntry constantMethodref) {
-		dumpPcNumber(pc);
-		final String signature = returnMethodSignature(constantMethodref);
-		this.buffer.append(NLS.bind(Messages.classformat_invokestatic, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INVOKESTATIC], signature}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_invokevirtual(int, int, ConstantPoolEntry)
-	 */
-	public void _invokevirtual(int pc, int index, ConstantPoolEntry constantMethodref) {
-		dumpPcNumber(pc);
-		final String signature = returnMethodSignature(constantMethodref);
-		this.buffer.append(NLS.bind(Messages.classformat_invokevirtual, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.INVOKEVIRTUAL], signature}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ior(int)
-	 */
-	public void _ior(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IOR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_irem(int)
-	 */
-	public void _irem(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IREM]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ireturn(int)
-	 */
-	public void _ireturn(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IRETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ishl(int)
-	 */
-	public void _ishl(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISHL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ishr(int)
-	 */
-	public void _ishr(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISHR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_istore_0(int)
-	 */
-	public void _istore_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISTORE_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_istore_1(int)
-	 */
-	public void _istore_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISTORE_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_istore_2(int)
-	 */
-	public void _istore_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISTORE_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_istore_3(int)
-	 */
-	public void _istore_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISTORE_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_istore(int, int)
-	 */
-	public void _istore(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISTORE], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_isub(int)
-	 */
-	public void _isub(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.ISUB]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_iushr(int)
-	 */
-	public void _iushr(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IUSHR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ixor(int)
-	 */
-	public void _ixor(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IXOR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_jsr_w(int, int)
-	 */
-	public void _jsr_w(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.JSR_W]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_jsr(int, int)
-	 */
-	public void _jsr(int pc, int branchOffset) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.JSR]).append(Messages.disassembler_space).append(branchOffset + pc);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_l2d(int)
-	 */
-	public void _l2d(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.L2D]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_l2f(int)
-	 */
-	public void _l2f(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.L2F]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_l2i(int)
-	 */
-	public void _l2i(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.L2I]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ladd(int)
-	 */
-	public void _ladd(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LADD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_laload(int)
-	 */
-	public void _laload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_land(int)
-	 */
-	public void _land(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LAND]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lastore(int)
-	 */
-	public void _lastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lcmp(int)
-	 */
-	public void _lcmp(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LCMP]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lconst_0(int)
-	 */
-	public void _lconst_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LCONST_0]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lconst_1(int)
-	 */
-	public void _lconst_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LCONST_1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ldc_w(int, int, ConstantPoolEntry)
-	 */
-	public void _ldc_w(int pc, int index, ConstantPoolEntry constantPoolEntry) {
-		dumpPcNumber(pc);
-		switch (constantPoolEntry.getKind()) {
-			case ConstantPoolConstant.CONSTANT_Float :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_float, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC_W], Float.toString(constantPoolEntry.getFloatValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_Integer :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_integer, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC_W], Integer.toString(constantPoolEntry.getIntegerValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_String :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_string, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC_W], Disassembler.escapeString(constantPoolEntry.getStringValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_Class :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_class, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC_W], returnConstantClassName(constantPoolEntry)}));
-		}
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ldc(int, int, ConstantPoolEntry)
-	 */
-	public void _ldc(int pc, int index, ConstantPoolEntry constantPoolEntry) {
-		dumpPcNumber(pc);
-		switch (constantPoolEntry.getKind()) {
-			case ConstantPoolConstant.CONSTANT_Float :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_float, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC], Float.toString(constantPoolEntry.getFloatValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_Integer :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_integer, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC], Integer.toString(constantPoolEntry.getIntegerValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_String :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_string, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC], Disassembler.escapeString(constantPoolEntry.getStringValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_Class :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc_w_class, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC], returnConstantClassName(constantPoolEntry)}));
-		}
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ldc2_w(int, int, ConstantPoolEntry)
-	 */
-	public void _ldc2_w(int pc, int index, ConstantPoolEntry constantPoolEntry) {
-		dumpPcNumber(pc);
-		switch (constantPoolEntry.getKind()) {
-			case ConstantPoolConstant.CONSTANT_Long :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc2_w_long, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC2_W], Long.toString(constantPoolEntry.getLongValue())}));
-				break;
-			case ConstantPoolConstant.CONSTANT_Double :
-				this.buffer.append(NLS.bind(Messages.classformat_ldc2_w_double, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDC2_W], Double.toString(constantPoolEntry.getDoubleValue())}));
-		}
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ldiv(int)
-	 */
-	public void _ldiv(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LDIV]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lload_0(int)
-	 */
-	public void _lload_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LLOAD_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lload_1(int)
-	 */
-	public void _lload_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LLOAD_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lload_2(int)
-	 */
-	public void _lload_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LLOAD_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lload_3(int)
-	 */
-	public void _lload_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LLOAD_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lload(int, int)
-	 */
-	public void _lload(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_load, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LLOAD], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lmul(int)
-	 */
-	public void _lmul(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LMUL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lneg(int)
-	 */
-	public void _lneg(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LNEG]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lookupswitch(int, int, int, int[][])
-	 */
-	public void _lookupswitch(int pc, int defaultoffset, int npairs, int[][] offset_pairs) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LOOKUPSWITCH]).append(" default: ") //$NON-NLS-1$
-				.append(defaultoffset + pc);
-		writeNewLine();
-		for (int i = 0; i < npairs; i++) {
-			writeExtraTabs(3);
-			this.buffer.append("case ") //$NON-NLS-1$
-					.append(offset_pairs[i][0]).append(": ") //$NON-NLS-1$
-					.append(offset_pairs[i][1] + pc);
-			writeNewLine();
-		}
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lor(int)
-	 */
-	public void _lor(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LOR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lrem(int)
-	 */
-	public void _lrem(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LREM]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lreturn(int)
-	 */
-	public void _lreturn(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LRETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lshl(int)
-	 */
-	public void _lshl(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSHL]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lshr(int)
-	 */
-	public void _lshr(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSHR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lstore_0(int)
-	 */
-	public void _lstore_0(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSTORE_0], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lstore_1(int)
-	 */
-	public void _lstore_1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSTORE_1], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lstore_2(int)
-	 */
-	public void _lstore_2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSTORE_2], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lstore_3(int)
-	 */
-	public void _lstore_3(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSTORE_3], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lstore(int, int)
-	 */
-	public void _lstore(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_store, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSTORE], EMPTY_LOCAL_NAME}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lsub(int)
-	 */
-	public void _lsub(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LSUB]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lushr(int)
-	 */
-	public void _lushr(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LUSHR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_lxor(int)
-	 */
-	public void _lxor(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.LXOR]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_monitorenter(int)
-	 */
-	public void _monitorenter(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.MONITORENTER]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_monitorexit(int)
-	 */
-	public void _monitorexit(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.MONITOREXIT]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_multianewarray(int, int, int, ConstantPoolEntry)
-	 */
-	public void _multianewarray(int pc, int index, int dimensions, ConstantPoolEntry constantClass) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_multianewarray, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.MULTIANEWARRAY], returnConstantClassName(constantClass)}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_new(int, int, ConstantPoolEntry)
-	 */
-	public void _new(int pc, int index, ConstantPoolEntry constantClass) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_new, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEW], returnConstantClassName(constantClass)}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_newarray(int, int)
-	 */
-	public void _newarray(int pc, int atype) {
-		dumpPcNumber(pc);
-		switch (atype) {
-			case T_BOOLEAN :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_boolean, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_CHAR :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_char, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_FLOAT :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_float, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_DOUBLE :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_double, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_BYTE :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_byte, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_SHORT :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_short, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_INT :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_int, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-				break;
-			case T_LONG :
-				this.buffer.append(NLS.bind(Messages.classformat_newarray_long, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NEWARRAY], Integer.toString(atype)}));
-		}
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_nop(int)
-	 */
-	public void _nop(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.NOP]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_pop(int)
-	 */
-	public void _pop(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.POP]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_pop2(int)
-	 */
-	public void _pop2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.POP2]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_putfield(int, int, ConstantPoolEntry)
-	 */
-	public void _putfield(int pc, int index, ConstantPoolEntry constantFieldref) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_putfield, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.PUTFIELD], returnDeclaringClassName(constantFieldref), new String(constantFieldref.getFieldName()), returnClassName(Signature.toCharArray(constantFieldref.getFieldDescriptor()))}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_putstatic(int, int, ConstantPoolEntry)
-	 */
-	public void _putstatic(int pc, int index, ConstantPoolEntry constantFieldref) {
-		dumpPcNumber(pc);
-		this.buffer.append(NLS.bind(Messages.classformat_putstatic, new String[] {OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.PUTSTATIC], returnDeclaringClassName(constantFieldref), new String(constantFieldref.getFieldName()), returnClassName(Signature.toCharArray(constantFieldref.getFieldDescriptor()))}));
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_ret(int, int)
-	 */
-	public void _ret(int pc, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.RET]).append(Messages.disassembler_space).append(index);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_return(int)
-	 */
-	public void _return(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.RETURN]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_saload(int)
-	 */
-	public void _saload(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.SALOAD]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_sastore(int)
-	 */
-	public void _sastore(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.SASTORE]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_sipush(int, short)
-	 */
-	public void _sipush(int pc, short value) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.SIPUSH]).append(Messages.disassembler_space).append(value);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_swap(int)
-	 */
-	public void _swap(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.SWAP]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_tableswitch(int, int, int, int, int[])
-	 */
-	public void _tableswitch(int pc, int defaultoffset, int low, int high, int[] jump_offsets) {
-
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.TABLESWITCH]).append(" default: ") //$NON-NLS-1$
-				.append(defaultoffset + pc);
-		writeNewLine();
-		for (int i = low; i < high + 1; i++) {
-			writeExtraTabs(3);
-			this.buffer.append("case ") //$NON-NLS-1$
-					.append(i).append(": ") //$NON-NLS-1$
-					.append(jump_offsets[i - low] + pc);
-			writeNewLine();
-		}
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_wide(int, int, int)
-	 */
-	public void _wide(int pc, int iincopcode, int index, int _const) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.WIDE]);
-		writeNewLine();
-		_iinc(pc + 1, index, _const);
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_wide(int, int, int)
-	 */
-	public void _wide(int pc, int opcode, int index) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.WIDE]);
-		writeNewLine();
-		switch (opcode) {
-			case IOpcodeMnemonics.ILOAD :
-				_iload(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.FLOAD :
-				_fload(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.ALOAD :
-				_aload(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.LLOAD :
-				_lload(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.DLOAD :
-				_dload(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.ISTORE :
-				_istore(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.FSTORE :
-				_fstore(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.ASTORE :
-				_astore(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.LSTORE :
-				_lstore(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.DSTORE :
-				_dstore(pc + 1, index);
-				break;
-			case IOpcodeMnemonics.RET :
-				_ret(pc + 1, index);
-		}
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_breakpoint(int)
-	 */
-	public void _breakpoint(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.BREAKPOINT]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_impdep1(int)
-	 */
-	public void _impdep1(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IMPDEP1]);
-		writeNewLine();
-	}
-
-	/*
-	 * @see IBytecodeVisitor#_impdep2(int)
-	 */
-	public void _impdep2(int pc) {
-		dumpPcNumber(pc);
-		this.buffer.append(OpcodeStringValues.BYTECODE_NAMES[IOpcodeMnemonics.IMPDEP2]);
-		writeNewLine();
-	}
-
-	private boolean isCompact() {
-		return (this.mode & Disassembler.COMPACT) != 0;
-	}
-
-	private String returnConstantClassName(ConstantPoolEntry constantClass) {
-		char[] className = constantClass.getClassInfoName();
-		if (className.length == 0) {
-			return EMPTY_CLASS_NAME;
-		}
-		switch (className[0]) {
-			case '[' :
-				StringBuffer classNameBuffer = new StringBuffer();
-				Utility.appendTypeSignature(className, 0, classNameBuffer, isCompact());
-				return classNameBuffer.toString();
-			default :
-				return returnClassName(className);
-		}
-	}
-
-	private String returnClassName(char[] classInfoName) {
-		if (classInfoName.length == 0) {
-			return EMPTY_CLASS_NAME;
-		} else if (isCompact()) {
-			int lastIndexOfSlash = CharOperation.lastIndexOf('/', classInfoName);
-			if (lastIndexOfSlash != -1) {
-				return new String(classInfoName, lastIndexOfSlash + 1, classInfoName.length - lastIndexOfSlash - 1);
-			}
-		}
-		CharOperation.replace(classInfoName, '/', '.');
-		return new String(classInfoName);
-	}
-
-	private String returnDeclaringClassName(ConstantPoolEntry constantRef) {
-		final char[] className = constantRef.getClassName();
-		return returnClassName(className);
-	}
-
-	private String returnMethodSignature(ConstantPoolEntry constantMethodref) {
-		final char[] methodDescriptor = constantMethodref.getMethodDescriptor();
-		CharOperation.replace(methodDescriptor, '$', '#');
-		final char[] signature = Utility.toString(constantMethodref.getClassName(), constantMethodref.getMethodName(), methodDescriptor, true, isCompact()).toCharArray();
-		CharOperation.replace(signature, '#', '$');
-		return String.valueOf(signature);
-	}
-
-	private void writeNewLine() {
-		this.buffer.append(this.lineSeparator);
-	}
-
-	private void writeTabs() {
-		for (int i = 0, max = this.tabNumber; i < max; i++) {
-			this.buffer.append(Messages.disassembler_indentation);
-		}
-	}
-
-	private void writeExtraTabs(int extraTabs) {
-		for (int i = 0, max = this.tabNumber + extraTabs; i < max; i++) {
-			this.buffer.append(Messages.disassembler_indentation);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Disassembler.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Disassembler.java
deleted file mode 100644
index f96d488..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Disassembler.java
+++ /dev/null
@@ -1,1149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.util.Arrays;
-import java.util.Comparator;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Disassembler of .class files. It generates an output in the Writer that looks close to
- * the javap output.
- */
-public class Disassembler {
-	/**
-	 * The mode is the detailed mode to disassemble ClassFileReader. It returns the magic
-	 * numbers, the version numbers and field and method descriptors.
-	 */
-	public final static int DETAILED = 1;
-
-	/**
-	 * This mode is used to compact the class name to a simple name instead of a qualified name.
-	 * @since 3.1
-	 */
-	public final static int COMPACT = 8;
-
-	private static final char[] ANY_EXCEPTION = Messages.classfileformat_anyexceptionhandler.toCharArray();
-	private static final String VERSION_UNKNOWN = Messages.classfileformat_versionUnknown;
-
-	private boolean appendModifier(StringBuffer buffer, int accessFlags, int modifierConstant, String modifier, boolean firstModifier) {
-		if ((accessFlags & modifierConstant) != 0) {
-			if (!firstModifier) {
-				buffer.append(Messages.disassembler_space);
-			}
-			if (firstModifier) {
-				firstModifier = false;
-			}
-			buffer.append(modifier);
-		}
-		return firstModifier;
-	}
-
-	private void decodeModifiers(StringBuffer buffer, int accessFlags, int[] checkBits) {
-		decodeModifiers(buffer, accessFlags, false, false, checkBits);
-	}
-
-	private void decodeModifiers(StringBuffer buffer, int accessFlags, boolean printDefault, boolean asBridge, int[] checkBits) {
-		if (checkBits == null)
-			return;
-		boolean firstModifier = true;
-		for (int i = 0, max = checkBits.length; i < max; i++) {
-			switch (checkBits[i]) {
-				case IModifierConstants.ACC_PUBLIC :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_PUBLIC, "public", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_PROTECTED :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_PROTECTED, "protected", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_PRIVATE :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_PRIVATE, "private", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_ABSTRACT :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_ABSTRACT, "abstract", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_STATIC :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_STATIC, "static", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_FINAL :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_FINAL, "final", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_SYNCHRONIZED :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_SYNCHRONIZED, "synchronized", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_NATIVE :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_NATIVE, "native", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_STRICT :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_STRICT, "strictfp", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_TRANSIENT :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_TRANSIENT, "transient", firstModifier); //$NON-NLS-1$
-					break;
-				case IModifierConstants.ACC_VOLATILE :
-					// case IModifierConstants.ACC_BRIDGE :
-					if (asBridge) {
-						firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_BRIDGE, "bridge", firstModifier); //$NON-NLS-1$
-					} else {
-						firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_VOLATILE, "volatile", firstModifier); //$NON-NLS-1$
-					}
-					break;
-				case IModifierConstants.ACC_ENUM :
-					firstModifier = appendModifier(buffer, accessFlags, IModifierConstants.ACC_ENUM, "enum", firstModifier); //$NON-NLS-1$
-					break;
-			}
-		}
-		if (!firstModifier) {
-			if (!printDefault)
-				buffer.append(Messages.disassembler_space);
-		} else if (printDefault) {
-			// no modifier: package default visibility
-			buffer.append("default"); //$NON-NLS-1$
-		}
-	}
-
-	private void decodeModifiersForField(StringBuffer buffer, int accessFlags) {
-		decodeModifiers(buffer, accessFlags, new int[] {IModifierConstants.ACC_PUBLIC, IModifierConstants.ACC_PROTECTED, IModifierConstants.ACC_PRIVATE, IModifierConstants.ACC_STATIC, IModifierConstants.ACC_FINAL, IModifierConstants.ACC_TRANSIENT, IModifierConstants.ACC_VOLATILE, IModifierConstants.ACC_ENUM});
-	}
-
-	private final void decodeModifiersForInnerClasses(StringBuffer buffer, int accessFlags, boolean printDefault) {
-		decodeModifiers(buffer, accessFlags, printDefault, false, new int[] {IModifierConstants.ACC_PUBLIC, IModifierConstants.ACC_PROTECTED, IModifierConstants.ACC_PRIVATE, IModifierConstants.ACC_ABSTRACT, IModifierConstants.ACC_STATIC, IModifierConstants.ACC_FINAL,});
-	}
-
-	private final void decodeModifiersForMethod(StringBuffer buffer, int accessFlags) {
-		decodeModifiers(buffer, accessFlags, false, true, new int[] {IModifierConstants.ACC_PUBLIC, IModifierConstants.ACC_PROTECTED, IModifierConstants.ACC_PRIVATE, IModifierConstants.ACC_ABSTRACT, IModifierConstants.ACC_STATIC, IModifierConstants.ACC_FINAL, IModifierConstants.ACC_SYNCHRONIZED, IModifierConstants.ACC_NATIVE, IModifierConstants.ACC_STRICT, IModifierConstants.ACC_BRIDGE,});
-	}
-
-	private final void decodeModifiersForType(StringBuffer buffer, int accessFlags) {
-		decodeModifiers(buffer, accessFlags, new int[] {IModifierConstants.ACC_PUBLIC, IModifierConstants.ACC_ABSTRACT, IModifierConstants.ACC_FINAL,});
-	}
-
-	public static String escapeString(String s) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0, max = s.length(); i < max; i++) {
-			char c = s.charAt(i);
-			switch (c) {
-				case '\b' :
-					buffer.append("\\b"); //$NON-NLS-1$
-					break;
-				case '\t' :
-					buffer.append("\\t"); //$NON-NLS-1$
-					break;
-				case '\n' :
-					buffer.append("\\n"); //$NON-NLS-1$
-					break;
-				case '\f' :
-					buffer.append("\\f"); //$NON-NLS-1$
-					break;
-				case '\r' :
-					buffer.append("\\r"); //$NON-NLS-1$
-					break;
-				case '\0' :
-					buffer.append("\\0"); //$NON-NLS-1$
-					break;
-				case '\1' :
-					buffer.append("\\1"); //$NON-NLS-1$
-					break;
-				case '\2' :
-					buffer.append("\\2"); //$NON-NLS-1$
-					break;
-				case '\3' :
-					buffer.append("\\3"); //$NON-NLS-1$
-					break;
-				case '\4' :
-					buffer.append("\\4"); //$NON-NLS-1$
-					break;
-				case '\5' :
-					buffer.append("\\5"); //$NON-NLS-1$
-					break;
-				case '\6' :
-					buffer.append("\\6"); //$NON-NLS-1$
-					break;
-				case '\7' :
-					buffer.append("\\7"); //$NON-NLS-1$
-					break;
-				default :
-					buffer.append(c);
-			}
-		}
-		return buffer.toString();
-	}
-
-	static String decodeStringValue(char[] chars) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0, max = chars.length; i < max; i++) {
-			char c = chars[i];
-			switch (c) {
-				case '\b' :
-					buffer.append("\\b"); //$NON-NLS-1$
-					break;
-				case '\t' :
-					buffer.append("\\t"); //$NON-NLS-1$
-					break;
-				case '\n' :
-					buffer.append("\\n"); //$NON-NLS-1$
-					break;
-				case '\f' :
-					buffer.append("\\f"); //$NON-NLS-1$
-					break;
-				case '\r' :
-					buffer.append("\\r"); //$NON-NLS-1$
-					break;
-				case '\0' :
-					buffer.append("\\0"); //$NON-NLS-1$
-					break;
-				case '\1' :
-					buffer.append("\\1"); //$NON-NLS-1$
-					break;
-				case '\2' :
-					buffer.append("\\2"); //$NON-NLS-1$
-					break;
-				case '\3' :
-					buffer.append("\\3"); //$NON-NLS-1$
-					break;
-				case '\4' :
-					buffer.append("\\4"); //$NON-NLS-1$
-					break;
-				case '\5' :
-					buffer.append("\\5"); //$NON-NLS-1$
-					break;
-				case '\6' :
-					buffer.append("\\6"); //$NON-NLS-1$
-					break;
-				case '\7' :
-					buffer.append("\\7"); //$NON-NLS-1$
-					break;
-				default :
-					buffer.append(c);
-			}
-		}
-		return buffer.toString();
-	}
-
-	static String decodeStringValue(String s) {
-		return decodeStringValue(s.toCharArray());
-	}
-
-	/*
-	 * @see org.eclipse.jdt.core.util.ClassFileBytesDisassembler#disassemble(byte[], java.lang.String, int)
-	 */
-	public String disassemble(byte[] classFileBytes, String lineSeparator, int mode) throws ClassFormatException {
-		try {
-			return disassemble(new ClassFileReader(classFileBytes, ClassFileReader.ALL), lineSeparator, mode);
-		} catch (ArrayIndexOutOfBoundsException e) {
-			throw new ClassFormatException(e.getMessage(), e);
-		}
-	}
-
-	private void disassemble(Annotation annotation, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		final char[] typeName = CharOperation.replaceOnCopy(annotation.getTypeName(), '/', '.');
-		buffer.append(NLS.bind(Messages.disassembler_annotationentrystart, new String[] {new String(returnClassName(Signature.toCharArray(typeName), '.', mode))}));
-		final AnnotationComponent[] components = annotation.getComponents();
-		for (int i = 0, max = components.length; i < max; i++) {
-			disassemble(components[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_annotationentryend);
-	}
-
-	private void disassemble(AnnotationComponent annotationComponent, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(NLS.bind(Messages.disassembler_annotationcomponent, new String[] {new String(annotationComponent.getComponentName())}));
-		disassemble(annotationComponent.getComponentValue(), buffer, lineSeparator, tabNumber + 1, mode);
-	}
-
-	private void disassemble(AnnotationComponentValue annotationComponentValue, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		switch (annotationComponentValue.getTag()) {
-			case AnnotationComponentValue.BYTE_TAG :
-			case AnnotationComponentValue.CHAR_TAG :
-			case AnnotationComponentValue.DOUBLE_TAG :
-			case AnnotationComponentValue.FLOAT_TAG :
-			case AnnotationComponentValue.INTEGER_TAG :
-			case AnnotationComponentValue.LONG_TAG :
-			case AnnotationComponentValue.SHORT_TAG :
-			case AnnotationComponentValue.BOOLEAN_TAG :
-			case AnnotationComponentValue.STRING_TAG :
-				ConstantPoolEntry constantPoolEntry = annotationComponentValue.getConstantValue();
-				String value = null;
-				switch (constantPoolEntry.getKind()) {
-					case ConstantPoolConstant.CONSTANT_Long :
-						value = constantPoolEntry.getLongValue() + "L"; //$NON-NLS-1$
-						break;
-					case ConstantPoolConstant.CONSTANT_Float :
-						value = constantPoolEntry.getFloatValue() + "f"; //$NON-NLS-1$
-						break;
-					case ConstantPoolConstant.CONSTANT_Double :
-						value = Double.toString(constantPoolEntry.getDoubleValue());
-						break;
-					case ConstantPoolConstant.CONSTANT_Integer :
-						switch (annotationComponentValue.getTag()) {
-							case AnnotationComponentValue.CHAR_TAG :
-								value = "'" + (char) constantPoolEntry.getIntegerValue() + "'"; //$NON-NLS-1$//$NON-NLS-2$
-								break;
-							case AnnotationComponentValue.BOOLEAN_TAG :
-								value = constantPoolEntry.getIntegerValue() == 1 ? "true" : "false";//$NON-NLS-1$//$NON-NLS-2$
-								break;
-							case AnnotationComponentValue.BYTE_TAG :
-								value = "(byte) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-								break;
-							case AnnotationComponentValue.SHORT_TAG :
-								value = "(short) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-								break;
-							case AnnotationComponentValue.INTEGER_TAG :
-								value = "(int) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-						}
-						break;
-					case ConstantPoolConstant.CONSTANT_Utf8 :
-						value = "\"" + decodeStringValue(constantPoolEntry.getUtf8Value()) + "\"";//$NON-NLS-1$//$NON-NLS-2$
-				}
-				buffer.append(NLS.bind(Messages.disassembler_annotationdefaultvalue, value));
-				break;
-			case AnnotationComponentValue.ENUM_TAG :
-				final char[] typeName = CharOperation.replaceOnCopy(annotationComponentValue.getEnumConstantTypeName(), '/', '.');
-				final char[] constantName = annotationComponentValue.getEnumConstantName();
-				buffer.append(NLS.bind(Messages.disassembler_annotationenumvalue, new String[] {new String(returnClassName(Signature.toCharArray(typeName), '.', mode)), new String(constantName)}));
-				break;
-			case AnnotationComponentValue.CLASS_TAG :
-				constantPoolEntry = annotationComponentValue.getClassInfo();
-				final char[] className = CharOperation.replaceOnCopy(constantPoolEntry.getUtf8Value(), '/', '.');
-				buffer.append(NLS.bind(Messages.disassembler_annotationclassvalue, new String[] {new String(returnClassName(Signature.toCharArray(className), '.', mode))}));
-				break;
-			case AnnotationComponentValue.ANNOTATION_TAG :
-				buffer.append(Messages.disassembler_annotationannotationvalue);
-				Annotation annotation = annotationComponentValue.getAnnotationValue();
-				disassemble(annotation, buffer, lineSeparator, tabNumber + 1, mode);
-				break;
-			case AnnotationComponentValue.ARRAY_TAG :
-				buffer.append(Messages.disassembler_annotationarrayvaluestart);
-				final AnnotationComponentValue[] annotationComponentValues = annotationComponentValue.getAnnotationComponentValues();
-				for (int i = 0, max = annotationComponentValues.length; i < max; i++) {
-					writeNewLine(buffer, lineSeparator, tabNumber + 1);
-					disassemble(annotationComponentValues[i], buffer, lineSeparator, tabNumber + 1, mode);
-				}
-				writeNewLine(buffer, lineSeparator, tabNumber + 1);
-				buffer.append(Messages.disassembler_annotationarrayvalueend);
-		}
-	}
-
-	private void disassemble(AnnotationDefaultAttribute annotationDefaultAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_annotationdefaultheader);
-		AnnotationComponentValue componentValue = annotationDefaultAttribute.getMemberValue();
-		writeNewLine(buffer, lineSeparator, tabNumber + 2);
-		disassemble(componentValue, buffer, lineSeparator, tabNumber + 1, mode);
-	}
-
-	/**
-	 * Disassemble a method info header
-	 */
-	private void disassemble(ClassFileReader classFileReader, char[] className, MethodInfo methodInfo, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber);
-		final CodeAttribute codeAttribute = methodInfo.getCodeAttribute();
-		final char[] methodDescriptor = methodInfo.getDescriptor();
-		final SignatureAttribute signatureAttribute = (SignatureAttribute) Utility.getAttribute(methodInfo, AttributeNamesConstants.SIGNATURE);
-		final ClassFileAttribute runtimeVisibleAnnotationsAttribute = Utility.getAttribute(methodInfo, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS);
-		final ClassFileAttribute runtimeInvisibleAnnotationsAttribute = Utility.getAttribute(methodInfo, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS);
-		final ClassFileAttribute runtimeVisibleParameterAnnotationsAttribute = Utility.getAttribute(methodInfo, AttributeNamesConstants.RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS);
-		final ClassFileAttribute runtimeInvisibleParameterAnnotationsAttribute = Utility.getAttribute(methodInfo, AttributeNamesConstants.RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS);
-		final ClassFileAttribute annotationDefaultAttribute = Utility.getAttribute(methodInfo, AttributeNamesConstants.ANNOTATION_DEFAULT);
-		if (checkMode(mode, DETAILED)) {
-			buffer.append(NLS.bind(Messages.classfileformat_methoddescriptor, new String[] {new String(methodDescriptor)}));
-			if (methodInfo.isDeprecated()) {
-				buffer.append(Messages.disassembler_deprecated);
-			}
-			writeNewLine(buffer, lineSeparator, tabNumber);
-			if (signatureAttribute != null) {
-				buffer.append(NLS.bind(Messages.disassembler_signatureattributeheader, new String(signatureAttribute.getSignature())));
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-			if (codeAttribute != null) {
-				buffer.append(NLS.bind(Messages.classfileformat_stacksAndLocals, new String[] {Integer.toString(codeAttribute.getMaxStack()), Integer.toString(codeAttribute.getMaxLocals())}));
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-			// disassemble compact version of annotations
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-		}
-		final int accessFlags = methodInfo.getAccessFlags();
-		decodeModifiersForMethod(buffer, accessFlags);
-		if (methodInfo.isSynthetic()) {
-			buffer.append("synthetic"); //$NON-NLS-1$
-			buffer.append(Messages.disassembler_space);
-		}
-		CharOperation.replace(methodDescriptor, '/', '.');
-		final boolean isVarArgs = isVarArgs(methodInfo);
-		char[] methodHeader = null;
-		if (methodInfo.isConstructor()) {
-			methodHeader = Signature.toCharArray(methodDescriptor, returnClassName(className, '.', COMPACT), null, !checkMode(mode, COMPACT), false, isVarArgs);
-		} else if (methodInfo.isClinit()) {
-			methodHeader = Messages.classfileformat_clinitname.toCharArray();
-		} else {
-			methodHeader = Signature.toCharArray(methodDescriptor, methodInfo.getName(), null, !checkMode(mode, COMPACT), true, isVarArgs);
-		}
-		if (checkMode(mode, DETAILED) && (runtimeInvisibleParameterAnnotationsAttribute != null || runtimeVisibleParameterAnnotationsAttribute != null)) {
-			ParameterAnnotation[] invisibleParameterAnnotations = null;
-			ParameterAnnotation[] visibleParameterAnnotations = null;
-			int length = -1;
-			if (runtimeInvisibleParameterAnnotationsAttribute != null) {
-				RuntimeInvisibleParameterAnnotationsAttribute attribute = (RuntimeInvisibleParameterAnnotationsAttribute) runtimeInvisibleParameterAnnotationsAttribute;
-				invisibleParameterAnnotations = attribute.getParameterAnnotations();
-				length = invisibleParameterAnnotations.length;
-			}
-			if (runtimeVisibleParameterAnnotationsAttribute != null) {
-				RuntimeVisibleParameterAnnotationsAttribute attribute = (RuntimeVisibleParameterAnnotationsAttribute) runtimeVisibleParameterAnnotationsAttribute;
-				visibleParameterAnnotations = attribute.getParameterAnnotations();
-				length = visibleParameterAnnotations.length;
-			}
-			int insertionPosition = CharOperation.indexOf('(', methodHeader) + 1;
-			int start = 0;
-			StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append(methodHeader, 0, insertionPosition);
-			for (int i = 0; i < length; i++) {
-				if (i > 0) {
-					stringBuffer.append(' ');
-				}
-				int stringBufferSize = stringBuffer.length();
-				if (runtimeVisibleParameterAnnotationsAttribute != null) {
-					disassembleAsModifier((RuntimeVisibleParameterAnnotationsAttribute) runtimeVisibleParameterAnnotationsAttribute, stringBuffer, i, lineSeparator, tabNumber, mode);
-				}
-				if (runtimeInvisibleParameterAnnotationsAttribute != null) {
-					if (stringBuffer.length() != stringBufferSize) {
-						stringBuffer.append(' ');
-						stringBufferSize = stringBuffer.length();
-					}
-					disassembleAsModifier((RuntimeInvisibleParameterAnnotationsAttribute) runtimeInvisibleParameterAnnotationsAttribute, stringBuffer, i, lineSeparator, tabNumber, mode);
-				}
-				if (i == 0 && stringBuffer.length() != stringBufferSize) {
-					stringBuffer.append(' ');
-				}
-				start = insertionPosition;
-				insertionPosition = CharOperation.indexOf(',', methodHeader, start + 1) + 1;
-				if (insertionPosition == 0) {
-					stringBuffer.append(methodHeader, start, methodHeader.length - start);
-				} else {
-					stringBuffer.append(methodHeader, start, insertionPosition - start);
-				}
-			}
-			buffer.append(stringBuffer);
-		} else {
-			buffer.append(methodHeader);
-		}
-		ExceptionAttribute exceptionAttribute = methodInfo.getExceptionAttribute();
-		if (exceptionAttribute != null) {
-			buffer.append(" throws "); //$NON-NLS-1$
-			char[][] exceptionNames = exceptionAttribute.getExceptionNames();
-			int length = exceptionNames.length;
-			for (int i = 0; i < length; i++) {
-				if (i != 0) {
-					buffer.append(Messages.disassembler_comma).append(Messages.disassembler_space);
-				}
-				char[] exceptionName = exceptionNames[i];
-				CharOperation.replace(exceptionName, '/', '.');
-				buffer.append(returnClassName(exceptionName, '.', mode));
-			}
-		}
-		if (checkMode(mode, DETAILED)) {
-			if (annotationDefaultAttribute != null) {
-				buffer.append(" default "); //$NON-NLS-1$
-				disassembleAsModifier((AnnotationDefaultAttribute) annotationDefaultAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-		}
-		buffer.append(Messages.disassembler_endofmethodheader);
-
-		if (checkMode(mode, DETAILED)) {
-			if (codeAttribute != null) {
-				disassemble(codeAttribute, methodDescriptor, (accessFlags & IModifierConstants.ACC_STATIC) != 0, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (annotationDefaultAttribute != null) {
-				disassemble((AnnotationDefaultAttribute) annotationDefaultAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (runtimeVisibleParameterAnnotationsAttribute != null) {
-				disassemble((RuntimeVisibleParameterAnnotationsAttribute) runtimeVisibleParameterAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (runtimeInvisibleParameterAnnotationsAttribute != null) {
-				disassemble((RuntimeInvisibleParameterAnnotationsAttribute) runtimeInvisibleParameterAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-		}
-	}
-
-	/**
-	 * Answers back the disassembled string of the ClassFileReader according to the
-	 * mode.
-	 * This is an output quite similar to the javap tool.
-	 *
-	 * @param classFileReader The classFileReader to be disassembled
-	 * @param lineSeparator the line separator to use.
-	 * @param mode the mode used to disassemble the ClassFileReader
-	 *
-	 * @return the disassembled string of the ClassFileReader according to the mode
-	 */
-	private String disassemble(ClassFileReader classFileReader, String lineSeparator, int mode) {
-		if (classFileReader == null)
-			return Utility.EMPTY_STRING;
-		char[] className = classFileReader.getClassName();
-		if (className == null) {
-			// incomplete initialization. We cannot go further.
-			return Utility.EMPTY_STRING;
-		}
-		className = CharOperation.replaceOnCopy(className, '/', '.');
-		final int accessFlags = classFileReader.getAccessFlags();
-		final boolean isEnum = (accessFlags & IModifierConstants.ACC_ENUM) != 0;
-
-		StringBuffer buffer = new StringBuffer();
-		SourceFileAttribute sourceAttribute = classFileReader.getSourceFileAttribute();
-		ClassFileAttribute classFileAttribute = Utility.getAttribute(classFileReader, AttributeNamesConstants.SIGNATURE);
-		SignatureAttribute signatureAttribute = (SignatureAttribute) classFileAttribute;
-		if (checkMode(mode, DETAILED)) {
-			int minorVersion = classFileReader.getMinorVersion();
-			int majorVersion = classFileReader.getMajorVersion();
-			buffer.append(Messages.disassembler_begincommentline);
-			if (sourceAttribute != null) {
-				buffer.append(Messages.disassembler_sourceattributeheader);
-				buffer.append(sourceAttribute.getSourceFileName());
-			}
-			String versionNumber = VERSION_UNKNOWN;
-			if (minorVersion == 3 && majorVersion == 45) {
-				versionNumber = IModifierConstants.VERSION_1_1;
-			} else if (minorVersion == 0 && majorVersion == 46) {
-				versionNumber = IModifierConstants.VERSION_1_2;
-			} else if (minorVersion == 0 && majorVersion == 47) {
-				versionNumber = IModifierConstants.VERSION_1_3;
-			} else if (minorVersion == 0 && majorVersion == 48) {
-				versionNumber = IModifierConstants.VERSION_1_4;
-			} else if (minorVersion == 0 && majorVersion == 49) {
-				versionNumber = IModifierConstants.VERSION_1_5;
-			} else if (minorVersion == 0 && majorVersion == 50) {
-				versionNumber = IModifierConstants.VERSION_1_6;
-			} else if (minorVersion == 0 && majorVersion == 51) {
-				versionNumber = IModifierConstants.VERSION_1_7;
-			}
-			buffer.append(NLS.bind(Messages.classfileformat_versiondetails, new String[] {versionNumber, Integer.toString(majorVersion), Integer.toString(minorVersion), ((accessFlags & IModifierConstants.ACC_SUPER) != 0 ? Messages.classfileformat_superflagisset : Messages.classfileformat_superflagisnotset) + (isDeprecated(classFileReader) ? ", deprecated" : Utility.EMPTY_STRING)//$NON-NLS-1$
-			}));
-			writeNewLine(buffer, lineSeparator, 0);
-			if (signatureAttribute != null) {
-				buffer.append(NLS.bind(Messages.disassembler_signatureattributeheader, new String(signatureAttribute.getSignature())));
-				writeNewLine(buffer, lineSeparator, 0);
-			}
-		}
-
-		InnerClassesAttribute innerClassesAttribute = classFileReader.getInnerClassesAttribute();
-		ClassFileAttribute runtimeVisibleAnnotationsAttribute = Utility.getAttribute(classFileReader, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS);
-		ClassFileAttribute runtimeInvisibleAnnotationsAttribute = Utility.getAttribute(classFileReader, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS);
-
-		if (checkMode(mode, DETAILED)) {
-			// disassemble compact version of annotations
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, 0, mode);
-				writeNewLine(buffer, lineSeparator, 0);
-			}
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, 0, mode);
-				writeNewLine(buffer, lineSeparator, 0);
-			}
-		}
-		boolean decoded = false;
-		if (innerClassesAttribute != null) {
-			// search the right entry
-			InnerClassesAttributeEntry[] entries = innerClassesAttribute.getInnerClassAttributesEntries();
-			for (int i = 0, max = entries.length; i < max; i++) {
-				InnerClassesAttributeEntry entry = entries[i];
-				char[] innerClassName = entry.getInnerClassName();
-				if (innerClassName != null) {
-					if (Arrays.equals(classFileReader.getClassName(), innerClassName)) {
-						decodeModifiersForInnerClasses(buffer, entry.getAccessFlags(), false);
-						decoded = true;
-					}
-				}
-			}
-		}
-		if (!decoded) {
-			decodeModifiersForType(buffer, accessFlags);
-			if (isSynthetic(classFileReader)) {
-				buffer.append("synthetic"); //$NON-NLS-1$
-				buffer.append(Messages.disassembler_space);
-			}
-		}
-
-		final boolean isAnnotation = (accessFlags & IModifierConstants.ACC_ANNOTATION) != 0;
-		boolean isInterface = false;
-		if (isEnum) {
-			buffer.append("enum "); //$NON-NLS-1$
-		} else if (classFileReader.isClass()) {
-			buffer.append("class "); //$NON-NLS-1$
-		} else {
-			if (isAnnotation) {
-				buffer.append("@"); //$NON-NLS-1$
-			}
-			buffer.append("interface "); //$NON-NLS-1$
-			isInterface = true;
-		}
-
-		buffer.append(className);
-
-		char[] superclassName = classFileReader.getSuperclassName();
-		if (superclassName != null) {
-			CharOperation.replace(superclassName, '/', '.');
-			if (!isJavaLangObject(superclassName) && !isEnum) {
-				buffer.append(" extends "); //$NON-NLS-1$
-				buffer.append(returnClassName(superclassName, '.', mode));
-			}
-		}
-		if (!isAnnotation) {
-			char[][] superclassInterfaces = classFileReader.getInterfaceNames();
-			int length = superclassInterfaces.length;
-			if (length != 0) {
-				if (isInterface) {
-					buffer.append(" extends "); //$NON-NLS-1$
-				} else {
-					buffer.append(" implements "); //$NON-NLS-1$
-				}
-				for (int i = 0; i < length; i++) {
-					if (i != 0) {
-						buffer.append(Messages.disassembler_comma).append(Messages.disassembler_space);
-					}
-					char[] superinterface = superclassInterfaces[i];
-					CharOperation.replace(superinterface, '/', '.');
-					buffer.append(returnClassName(superinterface, '.', mode));
-				}
-			}
-		}
-		buffer.append(Messages.disassembler_opentypedeclaration);
-		disassembleTypeMembers(classFileReader, className, buffer, lineSeparator, 1, mode, isEnum);
-		if (checkMode(mode, DETAILED)) {
-			ClassFileAttribute[] attributes = classFileReader.getAttributes();
-			int length = attributes.length;
-			EnclosingMethodAttribute enclosingMethodAttribute = getEnclosingMethodAttribute(classFileReader);
-			int remainingAttributesLength = length;
-			if (innerClassesAttribute != null) {
-				remainingAttributesLength--;
-			}
-			if (enclosingMethodAttribute != null) {
-				remainingAttributesLength--;
-			}
-			if (sourceAttribute != null) {
-				remainingAttributesLength--;
-			}
-			if (signatureAttribute != null) {
-				remainingAttributesLength--;
-			}
-			if (innerClassesAttribute != null || enclosingMethodAttribute != null || remainingAttributesLength != 0) {
-				writeNewLine(buffer, lineSeparator, 0);
-			}
-			if (innerClassesAttribute != null) {
-				disassemble(innerClassesAttribute, buffer, lineSeparator, 1);
-			}
-			if (enclosingMethodAttribute != null) {
-				disassemble(enclosingMethodAttribute, buffer, lineSeparator, 0);
-			}
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, 0, mode);
-			}
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, 0, mode);
-			}
-		}
-		writeNewLine(buffer, lineSeparator, 0);
-		buffer.append(Messages.disassembler_closetypedeclaration);
-		return buffer.toString();
-	}
-
-	private boolean isJavaLangObject(final char[] className) {
-		return Arrays.equals(TypeConstants.JAVA_LANG_OBJECT, CharOperation.splitOn('.', className));
-	}
-
-	private boolean isVarArgs(MethodInfo methodInfo) {
-		int accessFlags = methodInfo.getAccessFlags();
-		if ((accessFlags & IModifierConstants.ACC_VARARGS) != 0)
-			return true;
-		// check the presence of the unspecified Varargs attribute
-		return Utility.getAttribute(methodInfo, AttributeNamesConstants.VAR_ARGS) != null;
-	}
-
-	private void disassemble(CodeAttribute codeAttribute, char[] methodDescriptor, boolean isStatic, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber - 1);
-		DefaultBytecodeVisitor visitor = new DefaultBytecodeVisitor(codeAttribute, methodDescriptor, isStatic, buffer, lineSeparator, tabNumber, mode);
-		try {
-			codeAttribute.traverse(visitor);
-		} catch (ClassFormatException e) {
-			dumpTab(tabNumber + 2, buffer);
-			buffer.append(Messages.classformat_classformatexception);
-			writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		}
-		final int exceptionTableLength = codeAttribute.getExceptionTableLength();
-		if (exceptionTableLength != 0) {
-			final int tabNumberForExceptionAttribute = tabNumber + 2;
-			dumpTab(tabNumberForExceptionAttribute, buffer);
-			final ExceptionTableEntry[] exceptionTableEntries = codeAttribute.getExceptionTable();
-			buffer.append(Messages.disassembler_exceptiontableheader);
-			writeNewLine(buffer, lineSeparator, tabNumberForExceptionAttribute + 1);
-			for (int i = 0; i < exceptionTableLength; i++) {
-				if (i != 0) {
-					writeNewLine(buffer, lineSeparator, tabNumberForExceptionAttribute + 1);
-				}
-				ExceptionTableEntry exceptionTableEntry = exceptionTableEntries[i];
-				char[] catchType;
-				if (exceptionTableEntry.getCatchTypeIndex() != 0) {
-					catchType = exceptionTableEntry.getCatchType();
-					CharOperation.replace(catchType, '/', '.');
-					catchType = returnClassName(catchType, '.', mode);
-				} else {
-					catchType = ANY_EXCEPTION;
-				}
-				buffer.append(NLS.bind(Messages.classfileformat_exceptiontableentry, new String[] {Integer.toString(exceptionTableEntry.getStartPC()), Integer.toString(exceptionTableEntry.getEndPC()), Integer.toString(exceptionTableEntry.getHandlerPC()), new String(catchType),}));
-			}
-		}
-	}
-
-	private void disassemble(EnclosingMethodAttribute enclosingMethodAttribute, StringBuffer buffer, String lineSeparator, int tabNumber) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_enclosingmethodheader);
-		buffer.append(" ")//$NON-NLS-1$
-				.append(enclosingMethodAttribute.getEnclosingClass());
-		if (enclosingMethodAttribute.getMethodNameAndTypeIndex() != 0) {
-			buffer.append(".")//$NON-NLS-1$
-					.append(enclosingMethodAttribute.getMethodName()).append(enclosingMethodAttribute.getMethodDescriptor());
-		}
-	}
-
-	/**
-	 * Disassemble a field info
-	 */
-	private void disassemble(FieldInfo fieldInfo, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber);
-		final char[] fieldDescriptor = fieldInfo.getDescriptor();
-		final SignatureAttribute signatureAttribute = (SignatureAttribute) Utility.getAttribute(fieldInfo, AttributeNamesConstants.SIGNATURE);
-		if (checkMode(mode, DETAILED)) {
-			buffer.append(NLS.bind(Messages.classfileformat_fieldddescriptor, new String[] {new String(fieldDescriptor)}));
-			if (fieldInfo.isDeprecated()) {
-				buffer.append(Messages.disassembler_deprecated);
-			}
-			writeNewLine(buffer, lineSeparator, tabNumber);
-			if (signatureAttribute != null) {
-				buffer.append(NLS.bind(Messages.disassembler_signatureattributeheader, new String(signatureAttribute.getSignature())));
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-		}
-		final ClassFileAttribute runtimeVisibleAnnotationsAttribute = Utility.getAttribute(fieldInfo, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS);
-		final ClassFileAttribute runtimeInvisibleAnnotationsAttribute = Utility.getAttribute(fieldInfo, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS);
-		if (checkMode(mode, DETAILED)) {
-			// disassemble compact version of annotations
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassembleAsModifier((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-		}
-		decodeModifiersForField(buffer, fieldInfo.getAccessFlags());
-		if (fieldInfo.isSynthetic()) {
-			buffer.append("synthetic"); //$NON-NLS-1$
-			buffer.append(Messages.disassembler_space);
-		}
-		buffer.append(returnClassName(getSignatureForField(fieldDescriptor), '.', mode));
-		buffer.append(' ');
-		buffer.append(new String(fieldInfo.getName()));
-		ConstantValueAttribute constantValueAttribute = fieldInfo.getConstantValueAttribute();
-		if (constantValueAttribute != null) {
-			buffer.append(Messages.disassembler_fieldhasconstant);
-			ConstantPoolEntry constantPoolEntry = constantValueAttribute.getConstantValue();
-			switch (constantPoolEntry.getKind()) {
-				case ConstantPoolConstant.CONSTANT_Long :
-					buffer.append(constantPoolEntry.getLongValue() + "L"); //$NON-NLS-1$
-					break;
-				case ConstantPoolConstant.CONSTANT_Float :
-					buffer.append(constantPoolEntry.getFloatValue() + "f"); //$NON-NLS-1$
-					break;
-				case ConstantPoolConstant.CONSTANT_Double :
-					buffer.append(constantPoolEntry.getDoubleValue());
-					break;
-				case ConstantPoolConstant.CONSTANT_Integer :
-					switch (fieldDescriptor[0]) {
-						case 'C' :
-							buffer.append("'" + (char) constantPoolEntry.getIntegerValue() + "'"); //$NON-NLS-1$//$NON-NLS-2$
-							break;
-						case 'Z' :
-							buffer.append(constantPoolEntry.getIntegerValue() == 1 ? "true" : "false");//$NON-NLS-1$//$NON-NLS-2$
-							break;
-						case 'B' :
-							buffer.append(constantPoolEntry.getIntegerValue());
-							break;
-						case 'S' :
-							buffer.append(constantPoolEntry.getIntegerValue());
-							break;
-						case 'I' :
-							buffer.append(constantPoolEntry.getIntegerValue());
-					}
-					break;
-				case ConstantPoolConstant.CONSTANT_String :
-					buffer.append("\"" + decodeStringValue(constantPoolEntry.getStringValue()) + "\"");//$NON-NLS-1$//$NON-NLS-2$
-			}
-		}
-		buffer.append(Messages.disassembler_endoffieldheader);
-		if (checkMode(mode, DETAILED)) {
-			if (runtimeVisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeVisibleAnnotationsAttribute) runtimeVisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-			if (runtimeInvisibleAnnotationsAttribute != null) {
-				disassemble((RuntimeInvisibleAnnotationsAttribute) runtimeInvisibleAnnotationsAttribute, buffer, lineSeparator, tabNumber, mode);
-			}
-		}
-	}
-
-	private void disassemble(InnerClassesAttribute innerClassesAttribute, StringBuffer buffer, String lineSeparator, int tabNumber) {
-		writeNewLine(buffer, lineSeparator, tabNumber);
-		buffer.append(Messages.disassembler_innerattributesheader);
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		InnerClassesAttributeEntry[] innerClassesAttributeEntries = innerClassesAttribute.getInnerClassAttributesEntries();
-		int length = innerClassesAttributeEntries.length;
-		int innerClassNameIndex, outerClassNameIndex, innerNameIndex, accessFlags;
-		InnerClassesAttributeEntry innerClassesAttributeEntry;
-		for (int i = 0; i < length; i++) {
-			if (i != 0) {
-				buffer.append(Messages.disassembler_comma);
-				writeNewLine(buffer, lineSeparator, tabNumber + 1);
-			}
-			innerClassesAttributeEntry = innerClassesAttributeEntries[i];
-			innerClassNameIndex = innerClassesAttributeEntry.getInnerClassNameIndex();
-			outerClassNameIndex = innerClassesAttributeEntry.getOuterClassNameIndex();
-			innerNameIndex = innerClassesAttributeEntry.getInnerNameIndex();
-			accessFlags = innerClassesAttributeEntry.getAccessFlags();
-			buffer.append(Messages.disassembler_openinnerclassentry).append(Messages.disassembler_inner_class_info_name);
-			if (innerClassNameIndex != 0) {
-				buffer.append(Messages.disassembler_space).append(innerClassesAttributeEntry.getInnerClassName());
-			}
-			buffer.append(Messages.disassembler_comma).append(Messages.disassembler_space).append(Messages.disassembler_outer_class_info_name);
-			if (outerClassNameIndex != 0) {
-				buffer.append(Messages.disassembler_space).append(innerClassesAttributeEntry.getOuterClassName());
-			}
-			writeNewLine(buffer, lineSeparator, tabNumber);
-			dumpTab(tabNumber, buffer);
-			buffer.append(Messages.disassembler_space);
-			buffer.append(Messages.disassembler_inner_name);
-			if (innerNameIndex != 0) {
-				buffer.append(Messages.disassembler_space).append(innerClassesAttributeEntry.getInnerName());
-			}
-			buffer.append(Messages.disassembler_comma).append(Messages.disassembler_space).append(Messages.disassembler_inner_accessflags).append(accessFlags).append(Messages.disassembler_space);
-			decodeModifiersForInnerClasses(buffer, accessFlags, true);
-			buffer.append(Messages.disassembler_closeinnerclassentry);
-		}
-	}
-
-	private void disassemble(int index, ParameterAnnotation parameterAnnotation, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		Annotation[] annotations = parameterAnnotation.getAnnotations();
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(NLS.bind(Messages.disassembler_parameterannotationentrystart, new String[] {Integer.toString(index), Integer.toString(annotations.length)}));
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			disassemble(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassemble(RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_runtimeinvisibleannotationsattributeheader);
-		Annotation[] annotations = runtimeInvisibleAnnotationsAttribute.getAnnotations();
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			disassemble(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassemble(RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_runtimeinvisibleparameterannotationsattributeheader);
-		ParameterAnnotation[] parameterAnnotations = runtimeInvisibleParameterAnnotationsAttribute.getParameterAnnotations();
-		for (int i = 0, max = parameterAnnotations.length; i < max; i++) {
-			disassemble(i, parameterAnnotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassemble(RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_runtimevisibleannotationsattributeheader);
-		Annotation[] annotations = runtimeVisibleAnnotationsAttribute.getAnnotations();
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			disassemble(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassemble(RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		writeNewLine(buffer, lineSeparator, tabNumber + 1);
-		buffer.append(Messages.disassembler_runtimevisibleparameterannotationsattributeheader);
-		ParameterAnnotation[] parameterAnnotations = runtimeVisibleParameterAnnotationsAttribute.getParameterAnnotations();
-		for (int i = 0, max = parameterAnnotations.length; i < max; i++) {
-			disassemble(i, parameterAnnotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleAsModifier(Annotation annotation, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		final char[] typeName = CharOperation.replaceOnCopy(annotation.getTypeName(), '/', '.');
-		buffer.append('@').append(returnClassName(Signature.toCharArray(typeName), '.', mode));
-		final AnnotationComponent[] components = annotation.getComponents();
-		final int length = components.length;
-		if (length != 0) {
-			buffer.append('(');
-			for (int i = 0; i < length; i++) {
-				if (i > 0) {
-					buffer.append(',');
-					writeNewLine(buffer, lineSeparator, tabNumber);
-				}
-				disassembleAsModifier(components[i], buffer, lineSeparator, tabNumber + 1, mode);
-			}
-			buffer.append(')');
-		}
-	}
-
-	private void disassembleAsModifier(AnnotationComponent annotationComponent, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		buffer.append(annotationComponent.getComponentName()).append('=');
-		disassembleAsModifier(annotationComponent.getComponentValue(), buffer, lineSeparator, tabNumber + 1, mode);
-	}
-
-	private void disassembleAsModifier(AnnotationComponentValue annotationComponentValue, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		switch (annotationComponentValue.getTag()) {
-			case AnnotationComponentValue.BYTE_TAG :
-			case AnnotationComponentValue.CHAR_TAG :
-			case AnnotationComponentValue.DOUBLE_TAG :
-			case AnnotationComponentValue.FLOAT_TAG :
-			case AnnotationComponentValue.INTEGER_TAG :
-			case AnnotationComponentValue.LONG_TAG :
-			case AnnotationComponentValue.SHORT_TAG :
-			case AnnotationComponentValue.BOOLEAN_TAG :
-			case AnnotationComponentValue.STRING_TAG :
-				ConstantPoolEntry constantPoolEntry = annotationComponentValue.getConstantValue();
-				String value = null;
-				switch (constantPoolEntry.getKind()) {
-					case ConstantPoolConstant.CONSTANT_Long :
-						value = constantPoolEntry.getLongValue() + "L"; //$NON-NLS-1$
-						break;
-					case ConstantPoolConstant.CONSTANT_Float :
-						value = constantPoolEntry.getFloatValue() + "f"; //$NON-NLS-1$
-						break;
-					case ConstantPoolConstant.CONSTANT_Double :
-						value = Double.toString(constantPoolEntry.getDoubleValue());
-						break;
-					case ConstantPoolConstant.CONSTANT_Integer :
-						switch (annotationComponentValue.getTag()) {
-							case AnnotationComponentValue.CHAR_TAG :
-								value = "'" + (char) constantPoolEntry.getIntegerValue() + "'"; //$NON-NLS-1$//$NON-NLS-2$
-								break;
-							case AnnotationComponentValue.BOOLEAN_TAG :
-								value = constantPoolEntry.getIntegerValue() == 1 ? "true" : "false";//$NON-NLS-1$//$NON-NLS-2$
-								break;
-							case AnnotationComponentValue.BYTE_TAG :
-								value = "(byte) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-								break;
-							case AnnotationComponentValue.SHORT_TAG :
-								value = "(short) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-								break;
-							case AnnotationComponentValue.INTEGER_TAG :
-								value = "(int) " + constantPoolEntry.getIntegerValue(); //$NON-NLS-1$
-						}
-						break;
-					case ConstantPoolConstant.CONSTANT_Utf8 :
-						value = "\"" + decodeStringValue(constantPoolEntry.getUtf8Value()) + "\"";//$NON-NLS-1$//$NON-NLS-2$
-				}
-				buffer.append(value);
-				break;
-			case AnnotationComponentValue.ENUM_TAG :
-				final char[] typeName = CharOperation.replaceOnCopy(annotationComponentValue.getEnumConstantTypeName(), '/', '.');
-				final char[] constantName = annotationComponentValue.getEnumConstantName();
-				buffer.append(returnClassName(Signature.toCharArray(typeName), '.', mode)).append('.').append(constantName);
-				break;
-			case AnnotationComponentValue.CLASS_TAG :
-				constantPoolEntry = annotationComponentValue.getClassInfo();
-				final char[] className = CharOperation.replaceOnCopy(constantPoolEntry.getUtf8Value(), '/', '.');
-				buffer.append(returnClassName(Signature.toCharArray(className), '.', mode));
-				break;
-			case AnnotationComponentValue.ANNOTATION_TAG :
-				Annotation annotation = annotationComponentValue.getAnnotationValue();
-				disassembleAsModifier(annotation, buffer, lineSeparator, tabNumber + 1, mode);
-				break;
-			case AnnotationComponentValue.ARRAY_TAG :
-				final AnnotationComponentValue[] annotationComponentValues = annotationComponentValue.getAnnotationComponentValues();
-				buffer.append('{');
-				for (int i = 0, max = annotationComponentValues.length; i < max; i++) {
-					if (i > 0) {
-						buffer.append(',');
-					}
-					disassembleAsModifier(annotationComponentValues[i], buffer, lineSeparator, tabNumber + 1, mode);
-				}
-				buffer.append('}');
-		}
-	}
-
-	private void disassembleAsModifier(AnnotationDefaultAttribute annotationDefaultAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		AnnotationComponentValue componentValue = annotationDefaultAttribute.getMemberValue();
-		disassembleAsModifier(componentValue, buffer, lineSeparator, tabNumber + 1, mode);
-	}
-
-	private void disassembleAsModifier(RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		Annotation[] annotations = runtimeInvisibleAnnotationsAttribute.getAnnotations();
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			disassembleAsModifier(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleAsModifier(RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute, StringBuffer buffer, int index, String lineSeparator, int tabNumber, int mode) {
-		ParameterAnnotation[] parameterAnnotations = runtimeInvisibleParameterAnnotationsAttribute.getParameterAnnotations();
-		if (parameterAnnotations.length > index) {
-			disassembleAsModifier(parameterAnnotations[index], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleAsModifier(RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute, StringBuffer buffer, int index, String lineSeparator, int tabNumber, int mode) {
-		ParameterAnnotation[] parameterAnnotations = runtimeVisibleParameterAnnotationsAttribute.getParameterAnnotations();
-		if (parameterAnnotations.length > index) {
-			disassembleAsModifier(parameterAnnotations[index], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleAsModifier(ParameterAnnotation parameterAnnotation, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		Annotation[] annotations = parameterAnnotation.getAnnotations();
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			if (i > 0) {
-				buffer.append(' ');
-			}
-			disassembleAsModifier(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleAsModifier(RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
-		Annotation[] annotations = runtimeVisibleAnnotationsAttribute.getAnnotations();
-		for (int i = 0, max = annotations.length; i < max; i++) {
-			if (i > 0) {
-				writeNewLine(buffer, lineSeparator, tabNumber);
-			}
-			disassembleAsModifier(annotations[i], buffer, lineSeparator, tabNumber + 1, mode);
-		}
-	}
-
-	private void disassembleTypeMembers(ClassFileReader classFileReader, char[] className, StringBuffer buffer, String lineSeparator, int tabNumber, int mode, boolean isEnum) {
-		FieldInfo[] fields = classFileReader.getFieldInfos();
-		// sort fields
-		Arrays.sort(fields, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				FieldInfo fieldInfo1 = (FieldInfo) o1;
-				FieldInfo fieldInfo2 = (FieldInfo) o2;
-				int compare = new String(fieldInfo1.getName()).compareTo(new String(fieldInfo2.getName()));
-				if (compare == 0) {
-					return new String(fieldInfo1.getDescriptor()).compareTo(new String(fieldInfo2.getDescriptor()));
-				}
-				return compare;
-			}
-		});
-		for (int i = 0, max = fields.length; i < max; i++) {
-			writeNewLine(buffer, lineSeparator, tabNumber);
-			disassemble(fields[i], buffer, lineSeparator, tabNumber, mode);
-		}
-		MethodInfo[] methods = classFileReader.getMethodInfos();
-		// sort methods
-		Arrays.sort(methods, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				MethodInfo methodInfo1 = (MethodInfo) o1;
-				MethodInfo methodInfo2 = (MethodInfo) o2;
-				int compare = new String(methodInfo1.getName()).compareTo(new String(methodInfo2.getName()));
-				if (compare == 0) {
-					return new String(methodInfo1.getDescriptor()).compareTo(new String(methodInfo2.getDescriptor()));
-				}
-				return compare;
-			}
-		});
-		for (int i = 0, max = methods.length; i < max; i++) {
-			writeNewLine(buffer, lineSeparator, tabNumber);
-			disassemble(classFileReader, className, methods[i], buffer, lineSeparator, tabNumber, mode);
-		}
-	}
-
-	private final void dumpTab(int tabNumber, StringBuffer buffer) {
-		for (int i = 0; i < tabNumber; i++) {
-			buffer.append(Messages.disassembler_indentation);
-		}
-	}
-
-	private EnclosingMethodAttribute getEnclosingMethodAttribute(ClassFileReader classFileReader) {
-		ClassFileAttribute[] attributes = classFileReader.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), AttributeNamesConstants.ENCLOSING_METHOD)) {
-				return (EnclosingMethodAttribute) attributes[i];
-			}
-		}
-		return null;
-	}
-
-	private char[] getSignatureForField(char[] fieldDescriptor) {
-		char[] newFieldDescriptor = CharOperation.replaceOnCopy(fieldDescriptor, '/', '.');
-		newFieldDescriptor = CharOperation.replaceOnCopy(newFieldDescriptor, '$', '%');
-		char[] fieldDescriptorSignature = Signature.toCharArray(newFieldDescriptor);
-		CharOperation.replace(fieldDescriptorSignature, '%', '$');
-		return fieldDescriptorSignature;
-	}
-
-	private boolean isDeprecated(ClassFileReader classFileReader) {
-		ClassFileAttribute[] attributes = classFileReader.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), AttributeNamesConstants.DEPRECATED)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean isSynthetic(ClassFileReader classFileReader) {
-		int flags = classFileReader.getAccessFlags();
-		if ((flags & IModifierConstants.ACC_SYNTHETIC) != 0) {
-			return true;
-		}
-		ClassFileAttribute[] attributes = classFileReader.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), AttributeNamesConstants.SYNTHETIC)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean checkMode(int mode, int flag) {
-		return (mode & flag) != 0;
-	}
-
-	private boolean isCompact(int mode) {
-		return (mode & Disassembler.COMPACT) != 0;
-	}
-
-	private char[] returnClassName(char[] classInfoName, char separator, int mode) {
-		if (classInfoName.length == 0) {
-			return CharOperation.NO_CHAR;
-		} else if (isCompact(mode)) {
-			int lastIndexOfSlash = CharOperation.lastIndexOf(separator, classInfoName);
-			if (lastIndexOfSlash != -1) {
-				return CharOperation.subarray(classInfoName, lastIndexOfSlash + 1, classInfoName.length);
-			}
-		}
-		return classInfoName;
-	}
-
-	private void writeNewLine(StringBuffer buffer, String lineSeparator, int tabNumber) {
-		buffer.append(lineSeparator);
-		dumpTab(tabNumber, buffer);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/EnclosingMethodAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/EnclosingMethodAttribute.java
deleted file mode 100644
index f764778..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/EnclosingMethodAttribute.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class EnclosingMethodAttribute extends ClassFileAttribute {
-
-	private int enclosingClassIndex;
-	private char[] enclosingClassName;
-	private int methodDescriptorIndex;
-	private char[] methodDescriptor;
-	private int methodNameIndex;
-	private char[] methodName;
-	private int methodNameAndTypeIndex;
-
-	EnclosingMethodAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		int index = u2At(classFileBytes, 6, offset);
-		this.enclosingClassIndex = index;
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(index);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.enclosingClassName = constantPoolEntry.getClassInfoName();
-		this.methodNameAndTypeIndex = u2At(classFileBytes, 8, offset);
-		if (this.methodNameAndTypeIndex != 0) {
-			constantPoolEntry = constantPool.decodeEntry(this.methodNameAndTypeIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_NameAndType) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.methodDescriptorIndex = constantPoolEntry.getNameAndTypeInfoDescriptorIndex();
-			this.methodNameIndex = constantPoolEntry.getNameAndTypeInfoNameIndex();
-			constantPoolEntry = constantPool.decodeEntry(this.methodDescriptorIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.methodDescriptor = constantPoolEntry.getUtf8Value();
-			constantPoolEntry = constantPool.decodeEntry(this.methodNameIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.methodName = constantPoolEntry.getUtf8Value();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getEnclosingClass()
-	 */
-	public char[] getEnclosingClass() {
-		return this.enclosingClassName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodDeclaringClassDescriptorIndex()
-	 */
-	public int getEnclosingClassIndex() {
-		return this.enclosingClassIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodDescriptor()
-	 */
-	public char[] getMethodDescriptor() {
-		return this.methodDescriptor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodDescriptorIndex()
-	 */
-	public int getMethodDescriptorIndex() {
-		return this.methodDescriptorIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodName()
-	 */
-	public char[] getMethodName() {
-		return this.methodName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodNameIndex()
-	 */
-	public int getMethodNameIndex() {
-		return this.methodNameIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IEnclosingMethodAttribute#getMethodNameAndTypeIndex()
-	 */
-	public int getMethodNameAndTypeIndex() {
-		return this.methodNameAndTypeIndex;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionAttribute.java
deleted file mode 100644
index 336aae0..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionAttribute.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ExceptionAttribute extends ClassFileAttribute {
-	private int exceptionsNumber;
-	private char[][] exceptionNames;
-	private int[] exceptionIndexes;
-
-	ExceptionAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.exceptionsNumber = u2At(classFileBytes, 6, offset);
-		int exceptionLength = this.exceptionsNumber;
-		this.exceptionNames = CharOperation.NO_CHAR_CHAR;
-		this.exceptionIndexes = Utility.EMPTY_INT_ARRAY;
-		if (exceptionLength != 0) {
-			this.exceptionNames = new char[exceptionLength][];
-			this.exceptionIndexes = new int[exceptionLength];
-		}
-		int readOffset = 8;
-		ConstantPoolEntry constantPoolEntry;
-		for (int i = 0; i < exceptionLength; i++) {
-			this.exceptionIndexes[i] = u2At(classFileBytes, readOffset, offset);
-			constantPoolEntry = constantPool.decodeEntry(this.exceptionIndexes[i]);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.exceptionNames[i] = constantPoolEntry.getClassInfoName();
-			readOffset += 2;
-		}
-	}
-
-	/*
-	 * @see IExceptionAttribute#getExceptionIndexes()
-	 */
-	public int[] getExceptionIndexes() {
-		return this.exceptionIndexes;
-	}
-
-	/*
-	 * @see IExceptionAttribute#getExceptionNames()
-	 */
-	public char[][] getExceptionNames() {
-		return this.exceptionNames;
-	}
-
-	/*
-	 * @see IExceptionAttribute#getExceptionsNumber()
-	 */
-	public int getExceptionsNumber() {
-		return this.exceptionsNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionTableEntry.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionTableEntry.java
deleted file mode 100644
index 6d889cd..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ExceptionTableEntry.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ExceptionTableEntry extends ClassFileStruct {
-
-	private int startPC;
-	private int endPC;
-	private int handlerPC;
-	private int catchTypeIndex;
-	private char[] catchType;
-
-	ExceptionTableEntry(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		this.startPC = u2At(classFileBytes, 0, offset);
-		this.endPC = u2At(classFileBytes, 2, offset);
-		this.handlerPC = u2At(classFileBytes, 4, offset);
-		this.catchTypeIndex = u2At(classFileBytes, 6, offset);
-		if (this.catchTypeIndex != 0) {
-			ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.catchTypeIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.catchType = constantPoolEntry.getClassInfoName();
-		}
-	}
-
-	/*
-	 * @see IExceptionTableEntry#getStartPC()
-	 */
-	public int getStartPC() {
-		return this.startPC;
-	}
-
-	/*
-	 * @see IExceptionTableEntry#getEndPC()
-	 */
-	public int getEndPC() {
-		return this.endPC;
-	}
-
-	/*
-	 * @see IExceptionTableEntry#getHandlerPC()
-	 */
-	public int getHandlerPC() {
-		return this.handlerPC;
-	}
-
-	/*
-	 * @see IExceptionTableEntry#getCatchTypeIndex()
-	 */
-	public int getCatchTypeIndex() {
-		return this.catchTypeIndex;
-	}
-
-	/*
-	 * @see IExceptionTableEntry#getCatchType()
-	 */
-	public char[] getCatchType() {
-		return this.catchType;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/FieldInfo.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/FieldInfo.java
deleted file mode 100644
index 9ebd6a8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/FieldInfo.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.util.Arrays;
-
-public class FieldInfo extends ClassFileStruct {
-	private int accessFlags;
-	private int attributeBytes;
-	private ClassFileAttribute[] attributes;
-	private int attributesCount;
-	private ConstantValueAttribute constantValueAttribute;
-	private char[] descriptor;
-	private int descriptorIndex;
-	private boolean isDeprecated;
-	private boolean isSynthetic;
-	private char[] name;
-	private int nameIndex;
-
-	/*
-	 * @param classFileBytes byte[]
-	 * @param constantPool IConstantPool
-	 * @param offset int
-	 */
-	public FieldInfo(byte classFileBytes[], ConstantPool constantPool, int offset) throws ClassFormatException {
-		final int flags = u2At(classFileBytes, 0, offset);
-		this.accessFlags = flags;
-		if ((flags & IModifierConstants.ACC_SYNTHETIC) != 0) {
-			this.isSynthetic = true;
-		}
-		this.nameIndex = u2At(classFileBytes, 2, offset);
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.name = constantPoolEntry.getUtf8Value();
-
-		this.descriptorIndex = u2At(classFileBytes, 4, offset);
-		constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.descriptor = constantPoolEntry.getUtf8Value();
-
-		this.attributesCount = u2At(classFileBytes, 6, offset);
-		this.attributes = ClassFileAttribute.NO_ATTRIBUTES;
-		int readOffset = 8;
-		if (this.attributesCount != 0) {
-			this.attributes = new ClassFileAttribute[this.attributesCount];
-		}
-		int attributesIndex = 0;
-		for (int i = 0; i < this.attributesCount; i++) {
-			constantPoolEntry = constantPool.decodeEntry(u2At(classFileBytes, readOffset, offset));
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			char[] attributeName = constantPoolEntry.getUtf8Value();
-			if (Arrays.equals(attributeName, AttributeNamesConstants.DEPRECATED)) {
-				this.isDeprecated = true;
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.SYNTHETIC)) {
-				this.isSynthetic = true;
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.CONSTANT_VALUE)) {
-				this.constantValueAttribute = new ConstantValueAttribute(classFileBytes, constantPool, offset + readOffset);
-				this.attributes[attributesIndex++] = this.constantValueAttribute;
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.SIGNATURE)) {
-				this.attributes[attributesIndex++] = new SignatureAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeVisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeInvisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else {
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			}
-			readOffset += (6 + u4At(classFileBytes, readOffset + 2, offset));
-		}
-
-		this.attributeBytes = readOffset;
-	}
-
-	/*
-	 * @see IFieldInfo#getAccessFlags()
-	 */
-	public int getAccessFlags() {
-		return this.accessFlags;
-	}
-
-	/*
-	 * @see IFieldInfo#getAttributeCount()
-	 */
-	public int getAttributeCount() {
-		return this.attributesCount;
-	}
-
-	/*
-	 * @see IFieldInfo#getAttributes()
-	 */
-	public ClassFileAttribute[] getAttributes() {
-		return this.attributes;
-	}
-
-	/*
-	 * @see IFieldInfo#getConstantValueAttribute()
-	 */
-	public ConstantValueAttribute getConstantValueAttribute() {
-		return this.constantValueAttribute;
-	}
-
-	/*
-	 * @see IFieldInfo#getDescriptor()
-	 */
-	public char[] getDescriptor() {
-		return this.descriptor;
-	}
-
-	/*
-	 * @see IFieldInfo#getDescriptorIndex()
-	 */
-	public int getDescriptorIndex() {
-		return this.descriptorIndex;
-	}
-
-	/*
-	 * @see IFieldInfo#getName()
-	 */
-	public char[] getName() {
-		return this.name;
-	}
-
-	/*
-	 * @see IFieldInfo#getNameIndex()
-	 */
-	public int getNameIndex() {
-		return this.nameIndex;
-	}
-
-	/*
-	 * @see IFieldInfo#hasConstantValueAttribute()
-	 */
-	public boolean hasConstantValueAttribute() {
-		return this.constantValueAttribute != null;
-	}
-
-	/*
-	 * @see IFieldInfo#isDeprecated()
-	 */
-	public boolean isDeprecated() {
-		return this.isDeprecated;
-	}
-
-	/*
-	 * @see IFieldInfo#isSynthetic()
-	 */
-	public boolean isSynthetic() {
-		return this.isSynthetic;
-	}
-
-	int sizeInBytes() {
-		return this.attributeBytes;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IModifierConstants.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IModifierConstants.java
deleted file mode 100644
index 17607b1..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IModifierConstants.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public interface IModifierConstants {
-
-	int ACC_PUBLIC = 0x0001;
-	int ACC_PRIVATE = 0x0002;
-	int ACC_PROTECTED = 0x0004;
-	int ACC_STATIC = 0x0008;
-	int ACC_FINAL = 0x0010;
-	int ACC_SUPER = 0x0020;
-	int ACC_SYNCHRONIZED = 0x0020;
-	int ACC_VOLATILE = 0x0040;
-
-	/**
-	 * Indicates a bridge method (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	int ACC_BRIDGE = 0x0040;
-	int ACC_TRANSIENT = 0x0080;
-
-	/**
-	 * Indicates a variable arity method (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	int ACC_VARARGS = 0x0080;
-	int ACC_NATIVE = 0x0100;
-	int ACC_INTERFACE = 0x0200;
-	int ACC_ABSTRACT = 0x0400;
-	int ACC_STRICT = 0x0800;
-	/**
-	 * Indicates a synthetic member.
-	 * @since 3.0
-	 */
-	int ACC_SYNTHETIC = 0x1000;
-
-	/**
-	 * Indicates an annotation (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	int ACC_ANNOTATION = 0x2000;
-
-	/**
-	 * Indicates an enum (added in J2SE 1.5).
-	 * @since 3.0
-	 */
-	int ACC_ENUM = 0x4000;
-
-	/**
-	 * Configurable option value: {@value}.
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_1 = "1.1"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_2 = "1.2"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 2.0
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_3 = "1.3"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 2.0
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_4 = "1.4"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 3.0
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_5 = "1.5"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 3.2
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_6 = "1.6"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 3.3
-	 * @category OptionValue
-	 */
-	public static final String VERSION_1_7 = "1.7"; //$NON-NLS-1$
-	/**
-	 * Configurable option value: {@value}.
-	 * @since 3.4
-	 * @category OptionValue
-	 */
-	public static final String VERSION_CLDC_1_1 = "cldc1.1"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IOpcodeMnemonics.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IOpcodeMnemonics.java
deleted file mode 100644
index 720591e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/IOpcodeMnemonics.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public interface IOpcodeMnemonics {
-
-	int NOP = 0x00;
-	int ACONST_NULL = 0x01;
-	int ICONST_M1 = 0x02;
-	int ICONST_0 = 0x03;
-	int ICONST_1 = 0x04;
-	int ICONST_2 = 0x05;
-	int ICONST_3 = 0x06;
-	int ICONST_4 = 0x07;
-	int ICONST_5 = 0x08;
-	int LCONST_0 = 0x09;
-	int LCONST_1 = 0x0A;
-	int FCONST_0 = 0x0B;
-	int FCONST_1 = 0x0C;
-	int FCONST_2 = 0x0D;
-	int DCONST_0 = 0x0E;
-	int DCONST_1 = 0x0F;
-	int BIPUSH = 0x10;
-	int SIPUSH = 0x11;
-	int LDC = 0x12;
-	int LDC_W = 0x13;
-	int LDC2_W = 0x14;
-	int ILOAD = 0x15;
-	int LLOAD = 0x16;
-	int FLOAD = 0x17;
-	int DLOAD = 0x18;
-	int ALOAD = 0x19;
-	int ILOAD_0 = 0x1A;
-	int ILOAD_1 = 0x1B;
-	int ILOAD_2 = 0x1C;
-	int ILOAD_3 = 0x1D;
-	int LLOAD_0 = 0x1E;
-	int LLOAD_1 = 0x1F;
-	int LLOAD_2 = 0x20;
-	int LLOAD_3 = 0x21;
-	int FLOAD_0 = 0x22;
-	int FLOAD_1 = 0x23;
-	int FLOAD_2 = 0x24;
-	int FLOAD_3 = 0x25;
-	int DLOAD_0 = 0x26;
-	int DLOAD_1 = 0x27;
-	int DLOAD_2 = 0x28;
-	int DLOAD_3 = 0x29;
-	int ALOAD_0 = 0x2A;
-	int ALOAD_1 = 0x2B;
-	int ALOAD_2 = 0x2C;
-	int ALOAD_3 = 0x2D;
-	int IALOAD = 0x2E;
-	int LALOAD = 0x2F;
-	int FALOAD = 0x30;
-	int DALOAD = 0x31;
-	int AALOAD = 0x32;
-	int BALOAD = 0x33;
-	int CALOAD = 0x34;
-	int SALOAD = 0x35;
-	int ISTORE = 0x36;
-	int LSTORE = 0x37;
-	int FSTORE = 0x38;
-	int DSTORE = 0x39;
-	int ASTORE = 0x3A;
-	int ISTORE_0 = 0x3B;
-	int ISTORE_1 = 0x3C;
-	int ISTORE_2 = 0x3D;
-	int ISTORE_3 = 0x3E;
-	int LSTORE_0 = 0x3F;
-	int LSTORE_1 = 0x40;
-	int LSTORE_2 = 0x41;
-	int LSTORE_3 = 0x42;
-	int FSTORE_0 = 0x43;
-	int FSTORE_1 = 0x44;
-	int FSTORE_2 = 0x45;
-	int FSTORE_3 = 0x46;
-	int DSTORE_0 = 0x47;
-	int DSTORE_1 = 0x48;
-	int DSTORE_2 = 0x49;
-	int DSTORE_3 = 0x4A;
-	int ASTORE_0 = 0x4B;
-	int ASTORE_1 = 0x4C;
-	int ASTORE_2 = 0x4D;
-	int ASTORE_3 = 0x4E;
-	int IASTORE = 0x4F;
-	int LASTORE = 0x50;
-	int FASTORE = 0x51;
-	int DASTORE = 0x52;
-	int AASTORE = 0x53;
-	int BASTORE = 0x54;
-	int CASTORE = 0x55;
-	int SASTORE = 0x56;
-	int POP = 0x57;
-	int POP2 = 0x58;
-	int DUP = 0x59;
-	int DUP_X1 = 0x5A;
-	int DUP_X2 = 0x5B;
-	int DUP2 = 0x5C;
-	int DUP2_X1 = 0x5D;
-	int DUP2_X2 = 0x5E;
-	int SWAP = 0x5F;
-	int IADD = 0x60;
-	int LADD = 0x61;
-	int FADD = 0x62;
-	int DADD = 0x63;
-	int ISUB = 0x64;
-	int LSUB = 0x65;
-	int FSUB = 0x66;
-	int DSUB = 0x67;
-	int IMUL = 0x68;
-	int LMUL = 0x69;
-	int FMUL = 0x6A;
-	int DMUL = 0x6B;
-	int IDIV = 0x6C;
-	int LDIV = 0x6D;
-	int FDIV = 0x6E;
-	int DDIV = 0x6F;
-	int IREM = 0x70;
-	int LREM = 0x71;
-	int FREM = 0x72;
-	int DREM = 0x73;
-	int INEG = 0x74;
-	int LNEG = 0x75;
-	int FNEG = 0x76;
-	int DNEG = 0x77;
-	int ISHL = 0x78;
-	int LSHL = 0x79;
-	int ISHR = 0x7A;
-	int LSHR = 0x7B;
-	int IUSHR = 0x7C;
-	int LUSHR = 0x7D;
-	int IAND = 0x7E;
-	int LAND = 0x7F;
-	int IOR = 0x80;
-	int LOR = 0x81;
-	int IXOR = 0x82;
-	int LXOR = 0x83;
-	int IINC = 0x84;
-	int I2L = 0x85;
-	int I2F = 0x86;
-	int I2D = 0x87;
-	int L2I = 0x88;
-	int L2F = 0x89;
-	int L2D = 0x8A;
-	int F2I = 0x8B;
-	int F2L = 0x8C;
-	int F2D = 0x8D;
-	int D2I = 0x8E;
-	int D2L = 0x8F;
-	int D2F = 0x90;
-	int I2B = 0x91;
-	int I2C = 0x92;
-	int I2S = 0x93;
-	int LCMP = 0x94;
-	int FCMPL = 0x95;
-	int FCMPG = 0x96;
-	int DCMPL = 0x97;
-	int DCMPG = 0x98;
-	int IFEQ = 0x99;
-	int IFNE = 0x9A;
-	int IFLT = 0x9B;
-	int IFGE = 0x9C;
-	int IFGT = 0x9D;
-	int IFLE = 0x9E;
-	int IF_ICMPEQ = 0x9F;
-	int IF_ICMPNE = 0xA0;
-	int IF_ICMPLT = 0xA1;
-	int IF_ICMPGE = 0xA2;
-	int IF_ICMPGT = 0xA3;
-	int IF_ICMPLE = 0xA4;
-	int IF_ACMPEQ = 0xA5;
-	int IF_ACMPNE = 0xA6;
-	int GOTO = 0xA7;
-	int JSR = 0xA8;
-	int RET = 0xA9;
-	int TABLESWITCH = 0xAA;
-	int LOOKUPSWITCH = 0xAB;
-	int IRETURN = 0xAC;
-	int LRETURN = 0xAD;
-	int FRETURN = 0xAE;
-	int DRETURN = 0xAF;
-	int ARETURN = 0xB0;
-	int RETURN = 0xB1;
-	int GETSTATIC = 0xB2;
-	int PUTSTATIC = 0xB3;
-	int GETFIELD = 0xB4;
-	int PUTFIELD = 0xB5;
-	int INVOKEVIRTUAL = 0xB6;
-	int INVOKESPECIAL = 0xB7;
-	int INVOKESTATIC = 0xB8;
-	int INVOKEINTERFACE = 0xB9;
-	int NEW = 0xBB;
-	int NEWARRAY = 0xBC;
-	int ANEWARRAY = 0xBD;
-	int ARRAYLENGTH = 0xBE;
-	int ATHROW = 0xBF;
-	int CHECKCAST = 0xC0;
-	int INSTANCEOF = 0xC1;
-	int MONITORENTER = 0xC2;
-	int MONITOREXIT = 0xC3;
-	int WIDE = 0xC4;
-	int MULTIANEWARRAY = 0xC5;
-	int IFNULL = 0xC6;
-	int IFNONNULL = 0xC7;
-	int GOTO_W = 0xC8;
-	int JSR_W = 0xC9;
-
-	int BREAKPOINT = 0xCA;
-	int IMPDEP1 = 0xFE;
-	int IMPDEP2 = 0xFF;
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttribute.java
deleted file mode 100644
index 4a31609..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class InnerClassesAttribute extends ClassFileAttribute {
-	private static final InnerClassesAttributeEntry[] NO_ENTRIES = new InnerClassesAttributeEntry[0];
-
-	private int numberOfClasses;
-	private InnerClassesAttributeEntry[] entries;
-
-	/**
-	 * Constructor for InnerClassesAttribute.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public InnerClassesAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.numberOfClasses = u2At(classFileBytes, 6, offset);
-		final int length = this.numberOfClasses;
-		if (length != 0) {
-			int readOffset = 8;
-			this.entries = new InnerClassesAttributeEntry[length];
-			for (int i = 0; i < length; i++) {
-				this.entries[i] = new InnerClassesAttributeEntry(classFileBytes, constantPool, offset + readOffset);
-				readOffset += 8;
-			}
-		} else {
-			this.entries = NO_ENTRIES;
-		}
-	}
-
-	/*
-	 * @see IInnerClassesAttribute#getInnerClassAttributesEntries()
-	 */
-	public InnerClassesAttributeEntry[] getInnerClassAttributesEntries() {
-		return this.entries;
-	}
-
-	/*
-	 * @see IInnerClassesAttribute#getNumberOfClasses()
-	 */
-	public int getNumberOfClasses() {
-		return this.numberOfClasses;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttributeEntry.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttributeEntry.java
deleted file mode 100644
index 34b267f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/InnerClassesAttributeEntry.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class InnerClassesAttributeEntry extends ClassFileStruct {
-
-	private int innerClassNameIndex;
-	private int outerClassNameIndex;
-	private int innerNameIndex;
-	private char[] innerClassName;
-	private char[] outerClassName;
-	private char[] innerName;
-	private int accessFlags;
-
-	public InnerClassesAttributeEntry(byte classFileBytes[], ConstantPool constantPool, int offset) throws ClassFormatException {
-		this.innerClassNameIndex = u2At(classFileBytes, 0, offset);
-		this.outerClassNameIndex = u2At(classFileBytes, 2, offset);
-		this.innerNameIndex = u2At(classFileBytes, 4, offset);
-		this.accessFlags = u2At(classFileBytes, 6, offset);
-		ConstantPoolEntry constantPoolEntry;
-		if (this.innerClassNameIndex != 0) {
-			constantPoolEntry = constantPool.decodeEntry(this.innerClassNameIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.innerClassName = constantPoolEntry.getClassInfoName();
-		}
-		if (this.outerClassNameIndex != 0) {
-			constantPoolEntry = constantPool.decodeEntry(this.outerClassNameIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Class) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.outerClassName = constantPoolEntry.getClassInfoName();
-		}
-		if (this.innerNameIndex != 0) {
-			constantPoolEntry = constantPool.decodeEntry(this.innerNameIndex);
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			this.innerName = constantPoolEntry.getUtf8Value();
-		}
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getAccessFlags()
-	 */
-	public int getAccessFlags() {
-		return this.accessFlags;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getInnerClassName()
-	 */
-	public char[] getInnerClassName() {
-		return this.innerClassName;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getInnerClassNameIndex()
-	 */
-	public int getInnerClassNameIndex() {
-		return this.innerClassNameIndex;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getInnerName()
-	 */
-	public char[] getInnerName() {
-		return this.innerName;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getInnerNameIndex()
-	 */
-	public int getInnerNameIndex() {
-		return this.innerNameIndex;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getOuterClassName()
-	 */
-	public char[] getOuterClassName() {
-		return this.outerClassName;
-	}
-
-	/*
-	 * @see IInnerClassesAttributeEntry#getOuterClassNameIndex()
-	 */
-	public int getOuterClassNameIndex() {
-		return this.outerClassNameIndex;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/JarComparator.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/JarComparator.java
deleted file mode 100644
index e3e09d3..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/JarComparator.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactComparator;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class JarComparator implements IArtifactComparator {
-
-	private static final String LINE_SEPARATOR = "\n"; //$NON-NLS-1$
-	private static final String CLASS_EXTENSION = ".class"; //$NON-NLS-1$
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String PROPERTIES_EXTENSION = ".properties"; //$NON-NLS-1$
-	private static final String PLUGIN_ID = "org.eclipse.equinox.p2.repository.tools"; //$NON-NLS-1$
-	private static final String DESTINATION_ARTIFACT_PREFIX = "destinationartifact"; //$NON-NLS-1$
-	private static final String SUFFIX_JAR = ".jar"; //$NON-NLS-1$
-	private static final String SOURCE_ARTIFACT_PREFIX = "sourceartifact"; //$NON-NLS-1$
-	private static final String OSGI_BUNDLE_CLASSIFIER = "osgi.bundle"; //$NON-NLS-1$
-
-	private static final String META_INF = "meta-inf/"; //$NON-NLS-1$
-	private static final String DSA_EXT = ".dsa"; //$NON-NLS-1$
-	private static final String RSA_EXT = ".rsa"; //$NON-NLS-1$
-	private static final String SF_EXT = ".sf"; //$NON-NLS-1$
-
-	private String sourceLocation, destinationLocation, descriptorString;
-
-	public IStatus compare(IArtifactRepository source, IArtifactDescriptor sourceDescriptor, IArtifactRepository destination, IArtifactDescriptor destinationDescriptor) {
-		// Cache information for potential error messages
-		sourceLocation = URIUtil.toUnencodedString(sourceDescriptor.getRepository().getLocation());
-		destinationLocation = URIUtil.toUnencodedString(destinationDescriptor.getRepository().getLocation());
-		descriptorString = sourceDescriptor.toString();
-
-		String classifier = sourceDescriptor.getArtifactKey().getClassifier();
-		if (!OSGI_BUNDLE_CLASSIFIER.equals(classifier)) {
-			return Status.OK_STATUS;
-		}
-		classifier = destinationDescriptor.getArtifactKey().getClassifier();
-		if (!OSGI_BUNDLE_CLASSIFIER.equals(classifier)) {
-			return Status.OK_STATUS;
-		}
-
-		File firstTempFile = null;
-		File secondTempFile = null;
-		try {
-			firstTempFile = getLocalJarFile(source, sourceDescriptor, SOURCE_ARTIFACT_PREFIX);
-			secondTempFile = getLocalJarFile(destination, destinationDescriptor, DESTINATION_ARTIFACT_PREFIX);
-			return compare(firstTempFile, secondTempFile);
-		} catch (CoreException e) {
-			return e.getStatus();
-		} finally {
-			if (firstTempFile != null)
-				firstTempFile.delete();
-			if (secondTempFile != null)
-				secondTempFile.delete();
-		}
-	}
-
-	public IStatus compare(File sourceFile, File destinationFile) {
-		ZipFile firstFile = null;
-		ZipFile secondFile = null;
-		try {
-			firstFile = new ZipFile(sourceFile);
-			secondFile = new ZipFile(destinationFile);
-			final int firstFileSize = firstFile.size();
-			final int secondFileSize = secondFile.size();
-			if (firstFileSize != secondFileSize) {
-				return newErrorStatus(NLS.bind(Messages.differentNumberOfEntries, new String[] {descriptorString, sourceLocation, Integer.toString(firstFileSize), destinationLocation, Integer.toString(secondFileSize)}));
-			}
-			for (Enumeration enumeration = firstFile.entries(); enumeration.hasMoreElements();) {
-				ZipEntry entry = (ZipEntry) enumeration.nextElement();
-				String entryName = entry.getName();
-				final ZipEntry entry2 = secondFile.getEntry(entryName);
-				if (!entry.isDirectory() && entry2 != null) {
-					String lowerCase = entryName.toLowerCase();
-					if (isSigningEntry(lowerCase)) {
-						continue;
-					}
-
-					InputStream firstStream = null;
-					InputStream secondStream = null;
-					try {
-						firstStream = new BufferedInputStream(firstFile.getInputStream(entry));
-						secondStream = new BufferedInputStream(secondFile.getInputStream(entry2));
-						boolean result = false;
-						if (lowerCase.endsWith(CLASS_EXTENSION)) {
-							try {
-								result = compareClasses(firstStream, entry.getSize(), secondStream, entry2.getSize());
-							} catch (ClassFormatException e) {
-								return newErrorStatus(NLS.bind(Messages.differentEntry, new String[] {entryName, descriptorString, sourceLocation}), e);
-							}
-						} else if (lowerCase.endsWith(JAR_EXTENSION)) {
-							result = compareNestedJars(firstStream, entry.getSize(), secondStream, entry2.getSize(), entryName);
-						} else if (lowerCase.endsWith(PROPERTIES_EXTENSION)) {
-							result = compareProperties(firstStream, secondStream);
-						} else if (entryName.equalsIgnoreCase(JarFile.MANIFEST_NAME)) {
-							result = compareManifest(firstStream, secondStream); //MANIFEST.MF file
-						} else {
-							result = compareBytes(firstStream, entry.getSize(), secondStream, entry2.getSize());
-						}
-						if (!result)
-							return newErrorStatus(NLS.bind(Messages.differentEntry, new String[] {entryName, descriptorString, sourceLocation}));
-					} finally {
-						Utility.close(firstStream);
-						Utility.close(secondStream);
-					}
-				} else if (!entry.isDirectory()) {
-					// missing entry, entry2 == null
-					return newErrorStatus(NLS.bind(Messages.missingEntry, new String[] {entryName, descriptorString, sourceLocation}));
-				}
-			}
-		} catch (CoreException e) {
-			return e.getStatus();
-		} catch (IOException e) {
-			// missing entry
-			return newErrorStatus(NLS.bind(Messages.ioexception, new String[] {sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()}), e);
-		} finally {
-			Utility.close(firstFile);
-			Utility.close(secondFile);
-		}
-		return Status.OK_STATUS;
-	}
-
-	private boolean compareManifest(InputStream firstStream, InputStream secondStream) throws IOException {
-		Manifest manifest = new Manifest(firstStream);
-		Manifest manifest2 = new Manifest(secondStream);
-
-		if (manifest == null || manifest2 == null)
-			return true;
-
-		Attributes attributes = manifest.getMainAttributes();
-		Attributes attributes2 = manifest2.getMainAttributes();
-		if (attributes.size() != attributes2.size())
-			return false;
-		for (Iterator iterator = attributes.entrySet().iterator(); iterator.hasNext();) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			Object value2 = attributes2.get(entry.getKey());
-			if (value2 == null) {
-				return false;
-			}
-			if (!value2.equals(entry.getValue())) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private boolean compareClasses(InputStream stream1, long size1, InputStream stream2, long size2) throws ClassFormatException, IOException {
-		Disassembler disassembler = new Disassembler();
-		byte[] firstEntryClassFileBytes = Utility.getInputStreamAsByteArray(stream1, (int) size1);
-		byte[] secondEntryClassFileBytes = Utility.getInputStreamAsByteArray(stream2, (int) size2);
-
-		String contentsFile1 = disassembler.disassemble(firstEntryClassFileBytes, LINE_SEPARATOR, Disassembler.DETAILED | Disassembler.COMPACT);
-		String contentsFile2 = disassembler.disassemble(secondEntryClassFileBytes, LINE_SEPARATOR, Disassembler.DETAILED | Disassembler.COMPACT);
-		return contentsFile1.equals(contentsFile2);
-	}
-
-	private boolean compareNestedJars(InputStream stream1, long size1, InputStream stream2, long size2, String entry) throws CoreException, IOException {
-		File firstTempFile = getLocalJarFile(stream1, entry, size1);
-		File secondTempFile = getLocalJarFile(stream2, entry, size2);
-
-		try {
-			IStatus status = compare(firstTempFile, secondTempFile);
-			if (!status.isOK())
-				throw new CoreException(status);
-		} finally {
-			if (firstTempFile != null)
-				firstTempFile.delete();
-			if (secondTempFile != null)
-				secondTempFile.delete();
-		}
-		return true;
-	}
-
-	private boolean compareProperties(InputStream stream1, InputStream stream2) {
-		Properties props1 = loadProperties(stream1);
-		Properties props2 = loadProperties(stream2);
-		if (props1.size() != props2.size())
-			return false;
-
-		props1.keys();
-		for (Iterator iterator = props1.keySet().iterator(); iterator.hasNext();) {
-			String key = (String) iterator.next();
-			if (!props2.containsKey(key))
-				return false;
-			if (!props1.getProperty(key).equals(props2.getProperty(key)))
-				return false;
-
-		}
-		return true;
-	}
-
-	private boolean compareBytes(InputStream firstStream, long size1, InputStream secondStream, long size2) throws IOException {
-		byte[] firstBytes = Utility.getInputStreamAsByteArray(firstStream, (int) size1);
-		byte[] secondBytes = Utility.getInputStreamAsByteArray(secondStream, (int) size2);
-		return Arrays.equals(firstBytes, secondBytes);
-	}
-
-	private Properties loadProperties(InputStream input) {
-		Properties result = new Properties();
-		try {
-			result.load(input);
-		} catch (IOException e) {
-			//ignore
-		}
-		return result;
-	}
-
-	private String normalize(String entryName) {
-		StringBuffer buffer = new StringBuffer();
-		char[] chars = entryName.toCharArray();
-		for (int i = 0, max = chars.length; i < max; i++) {
-			char currentChar = chars[i];
-			if (!Character.isJavaIdentifierPart(currentChar)) {
-				buffer.append('_');
-			} else {
-				buffer.append(currentChar);
-			}
-		}
-		return String.valueOf(buffer);
-	}
-
-	private IStatus newErrorStatus(String message, Exception e) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, message, e);
-	}
-
-	private IStatus newErrorStatus(String message) {
-		return newErrorStatus(message, null);
-	}
-
-	private File getLocalJarFile(IArtifactRepository repository, IArtifactDescriptor descriptor, String prefix) throws CoreException {
-		File file = null;
-		BufferedOutputStream stream = null;
-		try {
-			file = File.createTempFile(prefix, SUFFIX_JAR);
-			stream = new BufferedOutputStream(new FileOutputStream(file));
-			IStatus status = repository.getArtifact(descriptor, stream, new NullProgressMonitor());
-			if (!status.isOK())
-				throw new CoreException(status);
-			stream.flush();
-		} catch (FileNotFoundException e) {
-			throw new CoreException(newErrorStatus("FileNotFoundException", e)); //$NON-NLS-1$
-		} catch (IOException e) {
-			throw new CoreException(newErrorStatus("IOException", e)); //$NON-NLS-1$
-		} finally {
-			Utility.close(stream);
-		}
-		return file;
-	}
-
-	private File getLocalJarFile(InputStream inputStream, String entry, long size) throws IOException {
-		byte[] firstEntryClassFileBytes = Utility.getInputStreamAsByteArray(inputStream, (int) size);
-
-		File tempFile = null;
-		BufferedOutputStream stream = null;
-		try {
-			tempFile = File.createTempFile(SOURCE_ARTIFACT_PREFIX + normalize(entry), SUFFIX_JAR);
-			stream = new BufferedOutputStream(new FileOutputStream(tempFile));
-			stream.write(firstEntryClassFileBytes);
-			stream.flush();
-		} finally {
-			Utility.close(stream);
-		}
-		return tempFile;
-	}
-
-	private boolean isSigningEntry(String entry) {
-		return (entry.startsWith(META_INF) && (entry.endsWith(SF_EXT) || entry.endsWith(RSA_EXT) || entry.endsWith(DSA_EXT)));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Messages.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Messages.java
deleted file mode 100644
index 3edd78f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Messages.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.internal.repository.comparator.messages"; //$NON-NLS-1$
-	public static String differentNumberOfEntries;
-	public static String differentEntry;
-	public static String missingEntry;
-	public static String ioexception;
-	public static String disassembler_opentypedeclaration;
-	public static String disassembler_closetypedeclaration;
-	public static String disassembler_endofmethodheader;
-	public static String disassembler_begincommentline;
-	public static String disassembler_fieldhasconstant;
-	public static String disassembler_endoffieldheader;
-	public static String disassembler_sourceattributeheader;
-	public static String disassembler_enclosingmethodheader;
-	public static String disassembler_exceptiontableheader;
-	public static String disassembler_innerattributesheader;
-	public static String disassembler_inner_class_info_name;
-	public static String disassembler_outer_class_info_name;
-	public static String disassembler_inner_name;
-	public static String disassembler_inner_accessflags;
-	public static String disassembler_signatureattributeheader;
-	public static String disassembler_indentation;
-	public static String disassembler_space;
-	public static String disassembler_comma;
-	public static String disassembler_openinnerclassentry;
-	public static String disassembler_closeinnerclassentry;
-	public static String disassembler_deprecated;
-	public static String disassembler_annotationdefaultheader;
-	public static String disassembler_annotationdefaultvalue;
-	public static String disassembler_annotationenumvalue;
-	public static String disassembler_annotationclassvalue;
-	public static String disassembler_annotationannotationvalue;
-	public static String disassembler_annotationarrayvaluestart;
-	public static String disassembler_annotationarrayvalueend;
-	public static String disassembler_annotationentrystart;
-	public static String disassembler_annotationentryend;
-	public static String disassembler_annotationcomponent;
-	public static String disassembler_runtimevisibleannotationsattributeheader;
-	public static String disassembler_runtimeinvisibleannotationsattributeheader;
-	public static String disassembler_runtimevisibleparameterannotationsattributeheader;
-	public static String disassembler_runtimeinvisibleparameterannotationsattributeheader;
-	public static String disassembler_parameterannotationentrystart;
-	public static String classfileformat_versiondetails;
-	public static String classfileformat_methoddescriptor;
-	public static String classfileformat_fieldddescriptor;
-	public static String classfileformat_stacksAndLocals;
-	public static String classfileformat_superflagisnotset;
-	public static String classfileformat_superflagisset;
-	public static String classfileformat_clinitname;
-	public static String classformat_classformatexception;
-	public static String classformat_anewarray;
-	public static String classformat_checkcast;
-	public static String classformat_instanceof;
-	public static String classformat_ldc_w_class;
-	public static String classformat_ldc_w_float;
-	public static String classformat_ldc_w_integer;
-	public static String classformat_ldc_w_string;
-	public static String classformat_ldc2_w_long;
-	public static String classformat_ldc2_w_double;
-	public static String classformat_multianewarray;
-	public static String classformat_new;
-	public static String classformat_iinc;
-	public static String classformat_invokespecial;
-	public static String classformat_invokeinterface;
-	public static String classformat_invokestatic;
-	public static String classformat_invokevirtual;
-	public static String classformat_getfield;
-	public static String classformat_getstatic;
-	public static String classformat_putstatic;
-	public static String classformat_putfield;
-	public static String classformat_newarray_boolean;
-	public static String classformat_newarray_char;
-	public static String classformat_newarray_float;
-	public static String classformat_newarray_double;
-	public static String classformat_newarray_byte;
-	public static String classformat_newarray_short;
-	public static String classformat_newarray_int;
-	public static String classformat_newarray_long;
-	public static String classformat_store;
-	public static String classformat_load;
-	public static String classfileformat_anyexceptionhandler;
-	public static String classfileformat_exceptiontableentry;
-	public static String classfileformat_versionUnknown;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// prevent instantiation
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/MethodInfo.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/MethodInfo.java
deleted file mode 100644
index c778947..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/MethodInfo.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.util.Arrays;
-
-public class MethodInfo extends ClassFileStruct {
-	private int accessFlags;
-	private int attributeBytes;
-	private ClassFileAttribute[] attributes;
-	private int attributesCount;
-	private CodeAttribute codeAttribute;
-	private char[] descriptor;
-	private int descriptorIndex;
-	private ExceptionAttribute exceptionAttribute;
-	private boolean isDeprecated;
-	private boolean isSynthetic;
-	private char[] name;
-	private int nameIndex;
-
-	/*
-	 * @param classFileBytes byte[]
-	 * @param constantPool IConstantPool
-	 * @param offset int
-	 * @param decodingFlags int
-	 */
-	public MethodInfo(byte classFileBytes[], ConstantPool constantPool, int offset, int decodingFlags) throws ClassFormatException {
-
-		boolean no_code_attribute = (decodingFlags & ClassFileReader.METHOD_BODIES) == 0;
-		final int flags = u2At(classFileBytes, 0, offset);
-		this.accessFlags = flags;
-		if ((flags & IModifierConstants.ACC_SYNTHETIC) != 0) {
-			this.isSynthetic = true;
-		}
-
-		this.nameIndex = u2At(classFileBytes, 2, offset);
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.name = constantPoolEntry.getUtf8Value();
-
-		this.descriptorIndex = u2At(classFileBytes, 4, offset);
-		constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.descriptor = constantPoolEntry.getUtf8Value();
-
-		this.attributesCount = u2At(classFileBytes, 6, offset);
-		this.attributes = ClassFileAttribute.NO_ATTRIBUTES;
-		if (this.attributesCount != 0) {
-			if (no_code_attribute && !isAbstract() && !isNative()) {
-				if (this.attributesCount != 1) {
-					this.attributes = new ClassFileAttribute[this.attributesCount - 1];
-				}
-			} else {
-				this.attributes = new ClassFileAttribute[this.attributesCount];
-			}
-		}
-		int attributesIndex = 0;
-		int readOffset = 8;
-		for (int i = 0; i < this.attributesCount; i++) {
-			constantPoolEntry = constantPool.decodeEntry(u2At(classFileBytes, readOffset, offset));
-			if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-				throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-			}
-			char[] attributeName = constantPoolEntry.getUtf8Value();
-			if (Arrays.equals(attributeName, AttributeNamesConstants.DEPRECATED)) {
-				this.isDeprecated = true;
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.SYNTHETIC)) {
-				this.isSynthetic = true;
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.CODE)) {
-				if (!no_code_attribute) {
-					this.codeAttribute = new CodeAttribute(classFileBytes, constantPool, offset + readOffset);
-					this.attributes[attributesIndex++] = this.codeAttribute;
-				}
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.EXCEPTIONS)) {
-				this.exceptionAttribute = new ExceptionAttribute(classFileBytes, constantPool, offset + readOffset);
-				this.attributes[attributesIndex++] = this.exceptionAttribute;
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.SIGNATURE)) {
-				this.attributes[attributesIndex++] = new SignatureAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeVisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeInvisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeVisibleParameterAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS)) {
-				this.attributes[attributesIndex++] = new RuntimeInvisibleParameterAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else if (Arrays.equals(attributeName, AttributeNamesConstants.ANNOTATION_DEFAULT)) {
-				this.attributes[attributesIndex++] = new AnnotationDefaultAttribute(classFileBytes, constantPool, offset + readOffset);
-			} else {
-				this.attributes[attributesIndex++] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
-			}
-			readOffset += (6 + u4At(classFileBytes, readOffset + 2, offset));
-		}
-		this.attributeBytes = readOffset;
-	}
-
-	/*
-	 * @see IMethodInfo#getAccessFlags()
-	 */
-	public int getAccessFlags() {
-		return this.accessFlags;
-	}
-
-	/*
-	 * @see IMethodInfo#getAttributeCount()
-	 */
-	public int getAttributeCount() {
-		return this.attributesCount;
-	}
-
-	/*
-	 * @see IMethodInfo#getAttributes()
-	 */
-	public ClassFileAttribute[] getAttributes() {
-		return this.attributes;
-	}
-
-	/*
-	 * @see IMethodInfo#getCodeAttribute()
-	 */
-	public CodeAttribute getCodeAttribute() {
-		return this.codeAttribute;
-	}
-
-	/*
-	 * @see IMethodInfo#getDescriptor()
-	 */
-	public char[] getDescriptor() {
-		return this.descriptor;
-	}
-
-	/*
-	 * @see IMethodInfo#getDescriptorIndex()
-	 */
-	public int getDescriptorIndex() {
-		return this.descriptorIndex;
-	}
-
-	/*
-	 * @see IMethodInfo#getExceptionAttribute()
-	 */
-	public ExceptionAttribute getExceptionAttribute() {
-		return this.exceptionAttribute;
-	}
-
-	/*
-	 * @see IMethodInfo#getName()
-	 */
-	public char[] getName() {
-		return this.name;
-	}
-
-	/*
-	 * @see IMethodInfo#getNameIndex()
-	 */
-	public int getNameIndex() {
-		return this.nameIndex;
-	}
-
-	private boolean isAbstract() {
-		return (this.accessFlags & IModifierConstants.ACC_ABSTRACT) != 0;
-	}
-
-	/*
-	 * @see IMethodInfo#isClinit()
-	 */
-	public boolean isClinit() {
-		return this.name[0] == '<' && this.name.length == 8; // Can only match <clinit>
-	}
-
-	/*
-	 * @see IMethodInfo#isConstructor()
-	 */
-	public boolean isConstructor() {
-		return this.name[0] == '<' && this.name.length == 6; // Can only match <init>
-	}
-
-	/*
-	 * @see IMethodInfo#isDeprecated()
-	 */
-	public boolean isDeprecated() {
-		return this.isDeprecated;
-	}
-
-	private boolean isNative() {
-		return (this.accessFlags & IModifierConstants.ACC_NATIVE) != 0;
-	}
-
-	/*
-	 * @see IMethodInfo#isSynthetic()
-	 */
-	public boolean isSynthetic() {
-		return this.isSynthetic;
-	}
-
-	int sizeInBytes() {
-		return this.attributeBytes;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/OpcodeStringValues.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/OpcodeStringValues.java
deleted file mode 100644
index 76f80e9..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/OpcodeStringValues.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class OpcodeStringValues implements IOpcodeMnemonics {
-
-	public static final String[] BYTECODE_NAMES = new String[256];
-	static {
-		BYTECODE_NAMES[NOP] = "nop"; //$NON-NLS-1$
-		BYTECODE_NAMES[ACONST_NULL] = "aconst_null"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_M1] = "iconst_m1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_0] = "iconst_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_1] = "iconst_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_2] = "iconst_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_3] = "iconst_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_4] = "iconst_4"; //$NON-NLS-1$
-		BYTECODE_NAMES[ICONST_5] = "iconst_5"; //$NON-NLS-1$
-		BYTECODE_NAMES[LCONST_0] = "lconst_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[LCONST_1] = "lconst_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[FCONST_0] = "fconst_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[FCONST_1] = "fconst_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[FCONST_2] = "fconst_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DCONST_0] = "dconst_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[DCONST_1] = "dconst_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[BIPUSH] = "bipush"; //$NON-NLS-1$
-		BYTECODE_NAMES[SIPUSH] = "sipush"; //$NON-NLS-1$
-		BYTECODE_NAMES[LDC] = "ldc"; //$NON-NLS-1$
-		BYTECODE_NAMES[LDC_W] = "ldc_w"; //$NON-NLS-1$
-		BYTECODE_NAMES[LDC2_W] = "ldc2_w"; //$NON-NLS-1$
-		BYTECODE_NAMES[ILOAD] = "iload"; //$NON-NLS-1$
-		BYTECODE_NAMES[LLOAD] = "lload"; //$NON-NLS-1$
-		BYTECODE_NAMES[FLOAD] = "fload"; //$NON-NLS-1$
-		BYTECODE_NAMES[DLOAD] = "dload"; //$NON-NLS-1$
-		BYTECODE_NAMES[ALOAD] = "aload"; //$NON-NLS-1$
-		BYTECODE_NAMES[ILOAD_0] = "iload_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[ILOAD_1] = "iload_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ILOAD_2] = "iload_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[ILOAD_3] = "iload_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[LLOAD_0] = "lload_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[LLOAD_1] = "lload_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[LLOAD_2] = "lload_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[LLOAD_3] = "lload_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[FLOAD_0] = "fload_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[FLOAD_1] = "fload_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[FLOAD_2] = "fload_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[FLOAD_3] = "fload_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[DLOAD_0] = "dload_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[DLOAD_1] = "dload_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[DLOAD_2] = "dload_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DLOAD_3] = "dload_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[ALOAD_0] = "aload_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[ALOAD_1] = "aload_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ALOAD_2] = "aload_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[ALOAD_3] = "aload_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[IALOAD] = "iaload"; //$NON-NLS-1$
-		BYTECODE_NAMES[LALOAD] = "laload"; //$NON-NLS-1$
-		BYTECODE_NAMES[FALOAD] = "faload"; //$NON-NLS-1$
-		BYTECODE_NAMES[DALOAD] = "daload"; //$NON-NLS-1$
-		BYTECODE_NAMES[AALOAD] = "aaload"; //$NON-NLS-1$
-		BYTECODE_NAMES[BALOAD] = "baload"; //$NON-NLS-1$
-		BYTECODE_NAMES[CALOAD] = "caload"; //$NON-NLS-1$
-		BYTECODE_NAMES[SALOAD] = "saload"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISTORE] = "istore"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSTORE] = "lstore"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSTORE] = "fstore"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSTORE] = "dstore"; //$NON-NLS-1$
-		BYTECODE_NAMES[ASTORE] = "astore"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISTORE_0] = "istore_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISTORE_1] = "istore_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISTORE_2] = "istore_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISTORE_3] = "istore_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSTORE_0] = "lstore_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSTORE_1] = "lstore_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSTORE_2] = "lstore_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSTORE_3] = "lstore_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSTORE_0] = "fstore_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSTORE_1] = "fstore_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSTORE_2] = "fstore_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSTORE_3] = "fstore_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSTORE_0] = "dstore_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSTORE_1] = "dstore_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSTORE_2] = "dstore_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSTORE_3] = "dstore_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[ASTORE_0] = "astore_0"; //$NON-NLS-1$
-		BYTECODE_NAMES[ASTORE_1] = "astore_1"; //$NON-NLS-1$
-		BYTECODE_NAMES[ASTORE_2] = "astore_2"; //$NON-NLS-1$
-		BYTECODE_NAMES[ASTORE_3] = "astore_3"; //$NON-NLS-1$
-		BYTECODE_NAMES[IASTORE] = "iastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[LASTORE] = "lastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[FASTORE] = "fastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[DASTORE] = "dastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[AASTORE] = "aastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[BASTORE] = "bastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[CASTORE] = "castore"; //$NON-NLS-1$
-		BYTECODE_NAMES[SASTORE] = "sastore"; //$NON-NLS-1$
-		BYTECODE_NAMES[POP] = "pop"; //$NON-NLS-1$
-		BYTECODE_NAMES[POP2] = "pop2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP] = "dup"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP_X1] = "dup_x1"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP_X2] = "dup_x2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP2] = "dup2"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP2_X1] = "dup2_x1"; //$NON-NLS-1$
-		BYTECODE_NAMES[DUP2_X2] = "dup2_x2"; //$NON-NLS-1$
-		BYTECODE_NAMES[SWAP] = "swap"; //$NON-NLS-1$
-		BYTECODE_NAMES[IADD] = "iadd"; //$NON-NLS-1$
-		BYTECODE_NAMES[LADD] = "ladd"; //$NON-NLS-1$
-		BYTECODE_NAMES[FADD] = "fadd"; //$NON-NLS-1$
-		BYTECODE_NAMES[DADD] = "dadd"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISUB] = "isub"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSUB] = "lsub"; //$NON-NLS-1$
-		BYTECODE_NAMES[FSUB] = "fsub"; //$NON-NLS-1$
-		BYTECODE_NAMES[DSUB] = "dsub"; //$NON-NLS-1$
-		BYTECODE_NAMES[IMUL] = "imul"; //$NON-NLS-1$
-		BYTECODE_NAMES[LMUL] = "lmul"; //$NON-NLS-1$
-		BYTECODE_NAMES[FMUL] = "fmul"; //$NON-NLS-1$
-		BYTECODE_NAMES[DMUL] = "dmul"; //$NON-NLS-1$
-		BYTECODE_NAMES[IDIV] = "idiv"; //$NON-NLS-1$
-		BYTECODE_NAMES[LDIV] = "ldiv"; //$NON-NLS-1$
-		BYTECODE_NAMES[FDIV] = "fdiv"; //$NON-NLS-1$
-		BYTECODE_NAMES[DDIV] = "ddiv"; //$NON-NLS-1$
-		BYTECODE_NAMES[IREM] = "irem"; //$NON-NLS-1$
-		BYTECODE_NAMES[LREM] = "lrem"; //$NON-NLS-1$
-		BYTECODE_NAMES[FREM] = "frem"; //$NON-NLS-1$
-		BYTECODE_NAMES[DREM] = "drem"; //$NON-NLS-1$
-		BYTECODE_NAMES[INEG] = "ineg"; //$NON-NLS-1$
-		BYTECODE_NAMES[LNEG] = "lneg"; //$NON-NLS-1$
-		BYTECODE_NAMES[FNEG] = "fneg"; //$NON-NLS-1$
-		BYTECODE_NAMES[DNEG] = "dneg"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISHL] = "ishl"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSHL] = "lshl"; //$NON-NLS-1$
-		BYTECODE_NAMES[ISHR] = "ishr"; //$NON-NLS-1$
-		BYTECODE_NAMES[LSHR] = "lshr"; //$NON-NLS-1$
-		BYTECODE_NAMES[IUSHR] = "iushr"; //$NON-NLS-1$
-		BYTECODE_NAMES[LUSHR] = "lushr"; //$NON-NLS-1$
-		BYTECODE_NAMES[IAND] = "iand"; //$NON-NLS-1$
-		BYTECODE_NAMES[LAND] = "land"; //$NON-NLS-1$
-		BYTECODE_NAMES[IOR] = "ior"; //$NON-NLS-1$
-		BYTECODE_NAMES[LOR] = "lor"; //$NON-NLS-1$
-		BYTECODE_NAMES[IXOR] = "ixor"; //$NON-NLS-1$
-		BYTECODE_NAMES[LXOR] = "lxor"; //$NON-NLS-1$
-		BYTECODE_NAMES[IINC] = "iinc"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2L] = "i2l"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2F] = "i2f"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2D] = "i2d"; //$NON-NLS-1$
-		BYTECODE_NAMES[L2I] = "l2i"; //$NON-NLS-1$
-		BYTECODE_NAMES[L2F] = "l2f"; //$NON-NLS-1$
-		BYTECODE_NAMES[L2D] = "l2d"; //$NON-NLS-1$
-		BYTECODE_NAMES[F2I] = "f2i"; //$NON-NLS-1$
-		BYTECODE_NAMES[F2L] = "f2l"; //$NON-NLS-1$
-		BYTECODE_NAMES[F2D] = "f2d"; //$NON-NLS-1$
-		BYTECODE_NAMES[D2I] = "d2i"; //$NON-NLS-1$
-		BYTECODE_NAMES[D2L] = "d2l"; //$NON-NLS-1$
-		BYTECODE_NAMES[D2F] = "d2f"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2B] = "i2b"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2C] = "i2c"; //$NON-NLS-1$
-		BYTECODE_NAMES[I2S] = "i2s"; //$NON-NLS-1$
-		BYTECODE_NAMES[LCMP] = "lcmp"; //$NON-NLS-1$
-		BYTECODE_NAMES[FCMPL] = "fcmpl"; //$NON-NLS-1$
-		BYTECODE_NAMES[FCMPG] = "fcmpg"; //$NON-NLS-1$
-		BYTECODE_NAMES[DCMPL] = "dcmpl"; //$NON-NLS-1$
-		BYTECODE_NAMES[DCMPG] = "dcmpg"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFEQ] = "ifeq"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFNE] = "ifne"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFLT] = "iflt"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFGE] = "ifge"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFGT] = "ifgt"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFLE] = "ifle"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPEQ] = "if_icmpeq"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPNE] = "if_icmpne"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPLT] = "if_icmplt"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPGE] = "if_icmpge"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPGT] = "if_icmpgt"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ICMPLE] = "if_icmple"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ACMPEQ] = "if_acmpeq"; //$NON-NLS-1$
-		BYTECODE_NAMES[IF_ACMPNE] = "if_acmpne"; //$NON-NLS-1$
-		BYTECODE_NAMES[GOTO] = "goto"; //$NON-NLS-1$
-		BYTECODE_NAMES[JSR] = "jsr"; //$NON-NLS-1$
-		BYTECODE_NAMES[RET] = "ret"; //$NON-NLS-1$
-		BYTECODE_NAMES[TABLESWITCH] = "tableswitch"; //$NON-NLS-1$
-		BYTECODE_NAMES[LOOKUPSWITCH] = "lookupswitch"; //$NON-NLS-1$
-		BYTECODE_NAMES[IRETURN] = "ireturn"; //$NON-NLS-1$
-		BYTECODE_NAMES[LRETURN] = "lreturn"; //$NON-NLS-1$
-		BYTECODE_NAMES[FRETURN] = "freturn"; //$NON-NLS-1$
-		BYTECODE_NAMES[DRETURN] = "dreturn"; //$NON-NLS-1$
-		BYTECODE_NAMES[ARETURN] = "areturn"; //$NON-NLS-1$
-		BYTECODE_NAMES[RETURN] = "return"; //$NON-NLS-1$
-		BYTECODE_NAMES[GETSTATIC] = "getstatic"; //$NON-NLS-1$
-		BYTECODE_NAMES[PUTSTATIC] = "putstatic"; //$NON-NLS-1$
-		BYTECODE_NAMES[GETFIELD] = "getfield"; //$NON-NLS-1$
-		BYTECODE_NAMES[PUTFIELD] = "putfield"; //$NON-NLS-1$
-		BYTECODE_NAMES[INVOKEVIRTUAL] = "invokevirtual"; //$NON-NLS-1$
-		BYTECODE_NAMES[INVOKESPECIAL] = "invokespecial"; //$NON-NLS-1$
-		BYTECODE_NAMES[INVOKESTATIC] = "invokestatic"; //$NON-NLS-1$
-		BYTECODE_NAMES[INVOKEINTERFACE] = "invokeinterface"; //$NON-NLS-1$
-		BYTECODE_NAMES[NEW] = "new"; //$NON-NLS-1$
-		BYTECODE_NAMES[NEWARRAY] = "newarray"; //$NON-NLS-1$
-		BYTECODE_NAMES[ANEWARRAY] = "anewarray"; //$NON-NLS-1$
-		BYTECODE_NAMES[ARRAYLENGTH] = "arraylength"; //$NON-NLS-1$
-		BYTECODE_NAMES[ATHROW] = "athrow"; //$NON-NLS-1$
-		BYTECODE_NAMES[CHECKCAST] = "checkcast"; //$NON-NLS-1$
-		BYTECODE_NAMES[INSTANCEOF] = "instanceof"; //$NON-NLS-1$
-		BYTECODE_NAMES[MONITORENTER] = "monitorenter"; //$NON-NLS-1$
-		BYTECODE_NAMES[MONITOREXIT] = "monitorexit"; //$NON-NLS-1$
-		BYTECODE_NAMES[WIDE] = "wide"; //$NON-NLS-1$
-		BYTECODE_NAMES[MULTIANEWARRAY] = "multianewarray"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFNULL] = "ifnull"; //$NON-NLS-1$
-		BYTECODE_NAMES[IFNONNULL] = "ifnonnull"; //$NON-NLS-1$
-		BYTECODE_NAMES[GOTO_W] = "goto_w"; //$NON-NLS-1$
-		BYTECODE_NAMES[JSR_W] = "jsr_w"; //$NON-NLS-1$
-		BYTECODE_NAMES[BREAKPOINT] = "breakpoint"; //$NON-NLS-1$
-		BYTECODE_NAMES[IMPDEP1] = "impdep1"; //$NON-NLS-1$
-		BYTECODE_NAMES[IMPDEP2] = "impdep2"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ParameterAnnotation.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ParameterAnnotation.java
deleted file mode 100644
index ad7c6dc..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/ParameterAnnotation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class ParameterAnnotation extends ClassFileStruct {
-
-	private static final Annotation[] NO_ENTRIES = new Annotation[0];
-
-	private int annotationsNumber;
-	private Annotation[] annotations;
-	private int readOffset;
-
-	/**
-	 * Constructor for Annotation.
-	 *
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public ParameterAnnotation(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-
-		final int length = u2At(classFileBytes, 0, offset);
-		this.readOffset = 2;
-		this.annotationsNumber = length;
-		if (length != 0) {
-			this.annotations = new Annotation[length];
-			for (int i = 0; i < length; i++) {
-				Annotation annotation = new Annotation(classFileBytes, constantPool, offset + this.readOffset);
-				this.annotations[i] = annotation;
-				this.readOffset += annotation.sizeInBytes();
-			}
-		} else {
-			this.annotations = NO_ENTRIES;
-		}
-	}
-
-	int sizeInBytes() {
-		return this.readOffset;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IParameterAnnotation#getAnnotations()
-	 */
-	public Annotation[] getAnnotations() {
-		return this.annotations;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IParameterAnnotation#getAnnotationsNumber()
-	 */
-	public int getAnnotationsNumber() {
-		return this.annotationsNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleAnnotationsAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleAnnotationsAttribute.java
deleted file mode 100644
index f2e164c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleAnnotationsAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class RuntimeInvisibleAnnotationsAttribute extends ClassFileAttribute {
-
-	private static final Annotation[] NO_ENTRIES = new Annotation[0];
-	private int annotationsNumber;
-	private Annotation[] annotations;
-
-	/**
-	 * Constructor for RuntimeInvisibleAnnotations.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public RuntimeInvisibleAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		final int length = u2At(classFileBytes, 6, offset);
-		this.annotationsNumber = length;
-		if (length != 0) {
-			int readOffset = 8;
-			this.annotations = new Annotation[length];
-			for (int i = 0; i < length; i++) {
-				Annotation annotation = new Annotation(classFileBytes, constantPool, offset + readOffset);
-				this.annotations[i] = annotation;
-				readOffset += annotation.sizeInBytes();
-			}
-		} else {
-			this.annotations = NO_ENTRIES;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeInvisibleAnnotations#getAnnotations()
-	 */
-	public Annotation[] getAnnotations() {
-		return this.annotations;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeInvisibleAnnotations#getAnnotationsNumber()
-	 */
-	public int getAnnotationsNumber() {
-		return this.annotationsNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleParameterAnnotationsAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleParameterAnnotationsAttribute.java
deleted file mode 100644
index 3c724dd..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeInvisibleParameterAnnotationsAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class RuntimeInvisibleParameterAnnotationsAttribute extends ClassFileAttribute {
-
-	private static final ParameterAnnotation[] NO_ENTRIES = new ParameterAnnotation[0];
-	private ParameterAnnotation[] parameterAnnotations;
-	private int parametersNumber;
-
-	/**
-	 * Constructor for RuntimeVisibleParameterAnnotations.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public RuntimeInvisibleParameterAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		final int length = u1At(classFileBytes, 6, offset);
-		this.parametersNumber = length;
-		if (length != 0) {
-			int readOffset = 7;
-			this.parameterAnnotations = new ParameterAnnotation[length];
-			for (int i = 0; i < length; i++) {
-				ParameterAnnotation parameterAnnotation = new ParameterAnnotation(classFileBytes, constantPool, offset + readOffset);
-				this.parameterAnnotations[i] = parameterAnnotation;
-				readOffset += parameterAnnotation.sizeInBytes();
-			}
-		} else {
-			this.parameterAnnotations = NO_ENTRIES;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeInvisibleParameterAnnotations#getAnnotations()
-	 */
-	public ParameterAnnotation[] getParameterAnnotations() {
-		return this.parameterAnnotations;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeInvisibleParameterAnnotations#getParametersNumber()
-	 */
-	public int getParametersNumber() {
-		return this.parametersNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleAnnotationsAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleAnnotationsAttribute.java
deleted file mode 100644
index ff738fa..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleAnnotationsAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class RuntimeVisibleAnnotationsAttribute extends ClassFileAttribute {
-
-	private static final Annotation[] NO_ENTRIES = new Annotation[0];
-	private int annotationsNumber;
-	private Annotation[] annotations;
-
-	/**
-	 * Constructor for RuntimeVisibleAnnotations.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public RuntimeVisibleAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		final int length = u2At(classFileBytes, 6, offset);
-		this.annotationsNumber = length;
-		if (length != 0) {
-			int readOffset = 8;
-			this.annotations = new Annotation[length];
-			for (int i = 0; i < length; i++) {
-				Annotation annotation = new Annotation(classFileBytes, constantPool, offset + readOffset);
-				this.annotations[i] = annotation;
-				readOffset += annotation.sizeInBytes();
-			}
-		} else {
-			this.annotations = NO_ENTRIES;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeVisibleAnnotations#getAnnotations()
-	 */
-	public Annotation[] getAnnotations() {
-		return this.annotations;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeVisibleAnnotations#getAnnotationsNumber()
-	 */
-	public int getAnnotationsNumber() {
-		return this.annotationsNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleParameterAnnotationsAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleParameterAnnotationsAttribute.java
deleted file mode 100644
index 71700e2..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/RuntimeVisibleParameterAnnotationsAttribute.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class RuntimeVisibleParameterAnnotationsAttribute extends ClassFileAttribute {
-
-	private static final ParameterAnnotation[] NO_ENTRIES = new ParameterAnnotation[0];
-	private int parametersNumber;
-	private ParameterAnnotation[] parameterAnnotations;
-
-	/**
-	 * Constructor for RuntimeVisibleParameterAnnotations.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public RuntimeVisibleParameterAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		final int length = u1At(classFileBytes, 6, offset);
-		this.parametersNumber = length;
-		if (length != 0) {
-			int readOffset = 7;
-			this.parameterAnnotations = new ParameterAnnotation[length];
-			for (int i = 0; i < length; i++) {
-				ParameterAnnotation parameterAnnotation = new ParameterAnnotation(classFileBytes, constantPool, offset + readOffset);
-				this.parameterAnnotations[i] = parameterAnnotation;
-				readOffset += parameterAnnotation.sizeInBytes();
-			}
-		} else {
-			this.parameterAnnotations = NO_ENTRIES;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeVisibleParameterAnnotations#getAnnotations()
-	 */
-	public ParameterAnnotation[] getParameterAnnotations() {
-		return this.parameterAnnotations;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.IRuntimeVisibleParameterAnnotations#getParametersNumber()
-	 */
-	public int getParametersNumber() {
-		return this.parametersNumber;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Signature.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Signature.java
deleted file mode 100644
index e530f1e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Signature.java
+++ /dev/null
@@ -1,1163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.util.ArrayList;
-
-/*
- * Provides methods for encoding and decoding type and method signature strings.
- * <p>
- * Signatures obtained from parsing source files (i.e. files with one of the
- * {@link JavaCore#getJavaLikeExtensions() Java-like extensions}) differ subtly
- * from ones obtained from pre-compiled binary (".class") files in class names are
- * usually left unresolved in the former. For example, the normal resolved form
- * of the type "String" embeds the class's package name ("Ljava.lang.String;"
- * or "Ljava/lang/String;"), whereas the unresolved form contains only what is
- * written "QString;".
- * </p>
- * <p>
- * Generic types introduce to the Java language in J2SE 1.5 add three new
- * facets to signatures: type variables, parameterized types with type arguments,
- * and formal type parameters. <i>Rich</i> signatures containing these facets
- * only occur when dealing with code that makes overt use of the new language
- * features. All other code, and certainly all Java code written or compiled
- * with J2SE 1.4 or earlier, involved only <i>simple</i> signatures.
- * </p>
- * <p>
- * Note that the "Q" and "!" formats are specific to Eclipse; the remainder
- * are specified in the JVM spec.
- * </p>
- * <p>
- * The syntax for a type signature is:
- * <pre>
- * TypeSignature ::=
- *     "B"  // byte
- *   | "C"  // char
- *   | "D"  // double
- *   | "F"  // float
- *   | "I"  // int
- *   | "J"  // long
- *   | "S"  // short
- *   | "V"  // void
- *   | "Z"  // boolean
- *   | "T" + Identifier + ";" // type variable
- *   | "[" + TypeSignature  // array X[]
- *   | "!" + TypeSignature  // capture-of ?
- *   | ResolvedClassTypeSignature
- *   | UnresolvedClassTypeSignature
- *
- * ResolvedClassTypeSignature ::= // resolved named type (in compiled code)
- *     "L" + Identifier + OptionalTypeArguments
- *           ( ( "." | "/" ) + Identifier + OptionalTypeArguments )* + ";"
- *     | OptionalTypeParameters + "L" + Identifier +
- *           ( ( "." | "/" ) + Identifier )* + ";"
- *
- * UnresolvedClassTypeSignature ::= // unresolved named type (in source code)
- *     "Q" + Identifier + OptionalTypeArguments
- *           ( ( "." | "/" ) + Identifier + OptionalTypeArguments )* + ";"
- *     | OptionalTypeParameters "Q" + Identifier +
- *           ( ( "." | "/" ) + Identifier )* + ";"
- *
- * OptionalTypeArguments ::=
- *     "&lt;" + TypeArgument+ + "&gt;"
- *   |
- *
- * TypeArgument ::=
- *   | TypeSignature
- *   | "*" // wildcard ?
- *   | "+" TypeSignature // wildcard ? extends X
- *   | "-" TypeSignature // wildcard ? super X
- *
- * OptionalTypeParameters ::=
- *     "&lt;" + FormalTypeParameterSignature+ + "&gt;"
- *   |
- * </pre>
- * </p>
- * <p>
- * Examples:
- * <ul>
- *   <li><code>"[[I"</code> denotes <code>int[][]</code></li>
- *   <li><code>"Ljava.lang.String;"</code> denotes <code>java.lang.String</code> in compiled code</li>
- *   <li><code>"QString;"</code> denotes <code>String</code> in source code</li>
- *   <li><code>"Qjava.lang.String;"</code> denotes <code>java.lang.String</code> in source code</li>
- *   <li><code>"[QString;"</code> denotes <code>String[]</code> in source code</li>
- *   <li><code>"QMap&lt;QString;*&gt;;"</code> denotes <code>Map&lt;String,?&gt;</code> in source code</li>
- *   <li><code>"Qjava.util.List&ltTV;&gt;;"</code> denotes <code>java.util.List&lt;V&gt;</code> in source code</li>
- *   <li><code>"&ltE;&gt;Ljava.util.List;"</code> denotes <code>&lt;E&gt;java.util.List</code> in source code</li>
- * </ul>
- * </p>
- * <p>
- * The syntax for a method signature is:
- * <pre>
- * MethodSignature ::= OptionalTypeParameters + "(" + ParamTypeSignature* + ")" + ReturnTypeSignature
- * ParamTypeSignature ::= TypeSignature
- * ReturnTypeSignature ::= TypeSignature
- * </pre>
- * <p>
- * Examples:
- * <ul>
- *   <li><code>"()I"</code> denotes <code>int foo()</code></li>
- *   <li><code>"([Ljava.lang.String;)V"</code> denotes <code>void foo(java.lang.String[])</code> in compiled code</li>
- *   <li><code>"(QString;)QObject;"</code> denotes <code>Object foo(String)</code> in source code</li>
- * </ul>
- * </p>
- * <p>
- * The syntax for a formal type parameter signature is:
- * <pre>
- * FormalTypeParameterSignature ::=
- *     TypeVariableName + OptionalClassBound + InterfaceBound*
- * TypeVariableName ::= Identifier
- * OptionalClassBound ::=
- *     ":"
- *   | ":" + TypeSignature
- * InterfaceBound ::=
- *     ":" + TypeSignature
- * </pre>
- * <p>
- * Examples:
- * <ul>
- *   <li><code>"X:"</code> denotes <code>X</code></li>
- *   <li><code>"X:QReader;"</code> denotes <code>X extends Reader</code> in source code</li>
- *   <li><code>"X:QReader;:QSerializable;"</code> denotes <code>X extends Reader & Serializable</code> in source code</li>
- * </ul>
- * </p>
- * <p>
- * This class provides static methods and constants only.
- * </p>
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public final class Signature {
-	/*
-	 * Character constant indicating the primitive type boolean in a signature.
-	 * Value is <code>'Z'</code>.
-	 */
-	public static final char C_BOOLEAN = 'Z';
-
-	/*
-	 * Character constant indicating the primitive type byte in a signature.
-	 * Value is <code>'B'</code>.
-	 */
-	public static final char C_BYTE = 'B';
-
-	/*
-	 * Character constant indicating the primitive type char in a signature.
-	 * Value is <code>'C'</code>.
-	 */
-	public static final char C_CHAR = 'C';
-
-	/*
-	 * Character constant indicating the primitive type double in a signature.
-	 * Value is <code>'D'</code>.
-	 */
-	public static final char C_DOUBLE = 'D';
-
-	/*
-	 * Character constant indicating the primitive type float in a signature.
-	 * Value is <code>'F'</code>.
-	 */
-	public static final char C_FLOAT = 'F';
-
-	/*
-	 * Character constant indicating the primitive type int in a signature.
-	 * Value is <code>'I'</code>.
-	 */
-	public static final char C_INT = 'I';
-
-	/*
-	 * Character constant indicating the semicolon in a signature.
-	 * Value is <code>';'</code>.
-	 */
-	public static final char C_SEMICOLON = ';';
-
-	/*
-	 * Character constant indicating the colon in a signature.
-	 * Value is <code>':'</code>.
-	 * @since 3.0
-	 */
-	public static final char C_COLON = ':';
-
-	/*
-	 * Character constant indicating the primitive type long in a signature.
-	 * Value is <code>'J'</code>.
-	 */
-	public static final char C_LONG = 'J';
-
-	/*
-	 * Character constant indicating the primitive type short in a signature.
-	 * Value is <code>'S'</code>.
-	 */
-	public static final char C_SHORT = 'S';
-
-	/*
-	 * Character constant indicating result type void in a signature.
-	 * Value is <code>'V'</code>.
-	 */
-	public static final char C_VOID = 'V';
-
-	/*
-	 * Character constant indicating the start of a resolved type variable in a
-	 * signature. Value is <code>'T'</code>.
-	 * @since 3.0
-	 */
-	public static final char C_TYPE_VARIABLE = 'T';
-
-	/*
-	 * Character constant indicating an unbound wildcard type argument
-	 * in a signature.
-	 * Value is <code>'*'</code>.
-	 * @since 3.0
-	 */
-	public static final char C_STAR = '*';
-
-	/*
-	 * Character constant indicating an exception in a signature.
-	 * Value is <code>'^'</code>.
-	 * @since 3.1
-	 */
-	public static final char C_EXCEPTION_START = '^';
-
-	/*
-	 * Character constant indicating a bound wildcard type argument
-	 * in a signature with extends clause.
-	 * Value is <code>'+'</code>.
-	 * @since 3.1
-	 */
-	public static final char C_EXTENDS = '+';
-
-	/*
-	 * Character constant indicating a bound wildcard type argument
-	 * in a signature with super clause.
-	 * Value is <code>'-'</code>.
-	 * @since 3.1
-	 */
-	public static final char C_SUPER = '-';
-
-	/*
-	 * Character constant indicating the dot in a signature.
-	 * Value is <code>'.'</code>.
-	 */
-	public static final char C_DOT = '.';
-
-	/*
-	 * Character constant indicating the dollar in a signature.
-	 * Value is <code>'$'</code>.
-	 */
-	public static final char C_DOLLAR = '$';
-
-	/*
-	 * Character constant indicating an array type in a signature.
-	 * Value is <code>'['</code>.
-	 */
-	public static final char C_ARRAY = '[';
-
-	/*
-	 * Character constant indicating the start of a resolved, named type in a
-	 * signature. Value is <code>'L'</code>.
-	 */
-	public static final char C_RESOLVED = 'L';
-
-	/*
-	 * Character constant indicating the start of an unresolved, named type in a
-	 * signature. Value is <code>'Q'</code>.
-	 */
-	public static final char C_UNRESOLVED = 'Q';
-
-	/*
-	 * Character constant indicating the end of a named type in a signature.
-	 * Value is <code>';'</code>.
-	 */
-	public static final char C_NAME_END = ';';
-
-	/*
-	 * Character constant indicating the start of a parameter type list in a
-	 * signature. Value is <code>'('</code>.
-	 */
-	public static final char C_PARAM_START = '(';
-
-	/*
-	 * Character constant indicating the end of a parameter type list in a
-	 * signature. Value is <code>')'</code>.
-	 */
-	public static final char C_PARAM_END = ')';
-
-	/*
-	 * Character constant indicating the start of a formal type parameter
-	 * (or type argument) list in a signature. Value is <code>'&lt;'</code>.
-	 * @since 3.0
-	 */
-	public static final char C_GENERIC_START = '<';
-
-	/*
-	 * Character constant indicating the end of a generic type list in a
-	 * signature. Value is <code>'&gt;'</code>.
-	 * @since 3.0
-	 */
-	public static final char C_GENERIC_END = '>';
-
-	/*
-	 * Character constant indicating a capture of a wildcard type in a
-	 * signature. Value is <code>'!'</code>.
-	 * @since 3.1
-	 */
-	public static final char C_CAPTURE = '!';
-
-	/*
-	 * String constant for the signature of the primitive type boolean.
-	 * Value is <code>"Z"</code>.
-	 */
-	public static final String SIG_BOOLEAN = "Z"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type byte.
-	 * Value is <code>"B"</code>.
-	 */
-	public static final String SIG_BYTE = "B"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type char.
-	 * Value is <code>"C"</code>.
-	 */
-	public static final String SIG_CHAR = "C"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type double.
-	 * Value is <code>"D"</code>.
-	 */
-	public static final String SIG_DOUBLE = "D"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type float.
-	 * Value is <code>"F"</code>.
-	 */
-	public static final String SIG_FLOAT = "F"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type int.
-	 * Value is <code>"I"</code>.
-	 */
-	public static final String SIG_INT = "I"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type long.
-	 * Value is <code>"J"</code>.
-	 */
-	public static final String SIG_LONG = "J"; //$NON-NLS-1$
-
-	/*
-	 * String constant for the signature of the primitive type short.
-	 * Value is <code>"S"</code>.
-	 */
-	public static final String SIG_SHORT = "S"; //$NON-NLS-1$
-
-	/* String constant for the signature of result type void.
-	 * Value is <code>"V"</code>.
-	 */
-	public static final String SIG_VOID = "V"; //$NON-NLS-1$
-
-	/*
-	 * Kind constant for a class type signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.0
-	 */
-	public static final int CLASS_TYPE_SIGNATURE = 1;
-
-	/*
-	 * Kind constant for a base (primitive or void) type signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.0
-	 */
-	public static final int BASE_TYPE_SIGNATURE = 2;
-
-	/*
-	 * Kind constant for a type variable signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.0
-	 */
-	public static final int TYPE_VARIABLE_SIGNATURE = 3;
-
-	/*
-	 * Kind constant for an array type signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.0
-	 */
-	public static final int ARRAY_TYPE_SIGNATURE = 4;
-
-	/*
-	 * Kind constant for a wildcard type signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.1
-	 */
-	public static final int WILDCARD_TYPE_SIGNATURE = 5;
-
-	/*
-	 * Kind constant for the capture of a wildcard type signature.
-	 * @see #getTypeSignatureKind(String)
-	 * @since 3.1
-	 */
-	public static final int CAPTURE_TYPE_SIGNATURE = 6;
-
-	private static final char[] BOOLEAN = "boolean".toCharArray(); //$NON-NLS-1$
-	private static final char[] BYTE = "byte".toCharArray(); //$NON-NLS-1$
-	private static final char[] CHAR = "char".toCharArray(); //$NON-NLS-1$
-	private static final char[] DOUBLE = "double".toCharArray(); //$NON-NLS-1$
-	private static final char[] FLOAT = "float".toCharArray(); //$NON-NLS-1$
-	private static final char[] INT = "int".toCharArray(); //$NON-NLS-1$
-	private static final char[] LONG = "long".toCharArray(); //$NON-NLS-1$
-	private static final char[] SHORT = "short".toCharArray(); //$NON-NLS-1$
-	private static final char[] VOID = "void".toCharArray(); //$NON-NLS-1$
-	//	private static final char[] EXTENDS = "extends".toCharArray(); //$NON-NLS-1$
-	//	private static final char[] SUPER = "super".toCharArray(); //$NON-NLS-1$
-	private static final char[] CAPTURE = "capture-of".toCharArray(); //$NON-NLS-1$
-
-	/*
-	 * Returns the number of parameter types in the given method signature.
-	 *
-	 * @param methodSignature the method signature
-	 * @return the number of parameters
-	 * @exception IllegalArgumentException if the signature is not syntactically
-	 *   correct
-	 * @since 2.0
-	 */
-	public static int getParameterCount(char[] methodSignature) throws IllegalArgumentException {
-		try {
-			int count = 0;
-			int i = CharOperation.indexOf(C_PARAM_START, methodSignature);
-			if (i < 0) {
-				throw new IllegalArgumentException();
-			}
-			i++;
-			for (;;) {
-				if (methodSignature[i] == C_PARAM_END) {
-					return count;
-				}
-				int e = Utility.scanTypeSignature(methodSignature, i);
-				if (e < 0) {
-					throw new IllegalArgumentException();
-				}
-				i = e + 1;
-				count++;
-			}
-		} catch (ArrayIndexOutOfBoundsException e) {
-			throw new IllegalArgumentException();
-		}
-	}
-
-	/*
-	 * Extracts the parameter type signatures from the given method signature.
-	 * The method signature is expected to be dot-based.
-	 *
-	 * @param methodSignature the method signature
-	 * @return the list of parameter type signatures
-	 * @exception IllegalArgumentException if the signature is syntactically
-	 *   incorrect
-	 *
-	 * @since 2.0
-	 */
-	public static char[][] getParameterTypes(char[] methodSignature) throws IllegalArgumentException {
-		try {
-			int count = getParameterCount(methodSignature);
-			char[][] result = new char[count][];
-			if (count == 0) {
-				return result;
-			}
-			int i = CharOperation.indexOf(C_PARAM_START, methodSignature);
-			if (i < 0) {
-				throw new IllegalArgumentException();
-			}
-			i++;
-			int t = 0;
-			for (;;) {
-				if (methodSignature[i] == C_PARAM_END) {
-					return result;
-				}
-				int e = Utility.scanTypeSignature(methodSignature, i);
-				if (e < 0) {
-					throw new IllegalArgumentException();
-				}
-				result[t] = CharOperation.subarray(methodSignature, i, e + 1);
-				t++;
-				i = e + 1;
-			}
-		} catch (ArrayIndexOutOfBoundsException e) {
-			throw new IllegalArgumentException();
-		}
-	}
-
-	/*
-	 * Extracts the return type from the given method signature. The method signature is
-	 * expected to be dot-based.
-	 *
-	 * @param methodSignature the method signature
-	 * @return the type signature of the return type
-	 * @exception IllegalArgumentException if the signature is syntactically
-	 *   incorrect
-	 *
-	 * @since 2.0
-	 */
-	public static char[] getReturnType(char[] methodSignature) throws IllegalArgumentException {
-		// skip type parameters
-		int paren = CharOperation.lastIndexOf(C_PARAM_END, methodSignature);
-		if (paren == -1) {
-			throw new IllegalArgumentException();
-		}
-		// there could be thrown exceptions behind, thus scan one type exactly
-		int last = Utility.scanTypeSignature(methodSignature, paren + 1);
-		return CharOperation.subarray(methodSignature, paren + 1, last + 1);
-	}
-
-	/*
-	 * Extracts the class and interface bounds from the given formal type
-	 * parameter signature. The class bound, if present, is listed before
-	 * the interface bounds. The signature is expected to be dot-based.
-	 *
-	 * @param formalTypeParameterSignature the formal type parameter signature
-	 * @return the (possibly empty) list of type signatures for the bounds
-	 * @exception IllegalArgumentException if the signature is syntactically
-	 *   incorrect
-	 * @since 3.0
-	 */
-	public static char[][] getTypeParameterBounds(char[] formalTypeParameterSignature) throws IllegalArgumentException {
-		int p1 = CharOperation.indexOf(C_COLON, formalTypeParameterSignature);
-		if (p1 < 0) {
-			// no ":" means can't be a formal type parameter signature
-			throw new IllegalArgumentException();
-		}
-		if (p1 == formalTypeParameterSignature.length - 1) {
-			// no class or interface bounds
-			return CharOperation.NO_CHAR_CHAR;
-		}
-		int p2 = CharOperation.indexOf(C_COLON, formalTypeParameterSignature, p1 + 1);
-		char[] classBound;
-		if (p2 < 0) {
-			// no interface bounds
-			classBound = CharOperation.subarray(formalTypeParameterSignature, p1 + 1, formalTypeParameterSignature.length);
-			return new char[][] {classBound};
-		}
-		if (p2 == p1 + 1) {
-			// no class bound, but 1 or more interface bounds
-			classBound = null;
-		} else {
-			classBound = CharOperation.subarray(formalTypeParameterSignature, p1 + 1, p2);
-		}
-		char[][] interfaceBounds = CharOperation.splitOn(C_COLON, formalTypeParameterSignature, p2 + 1, formalTypeParameterSignature.length);
-		if (classBound == null) {
-			return interfaceBounds;
-		}
-		int resultLength = interfaceBounds.length + 1;
-		char[][] result = new char[resultLength][];
-		result[0] = classBound;
-		System.arraycopy(interfaceBounds, 0, result, 1, interfaceBounds.length);
-		return result;
-	}
-
-	/*
-	 * Extracts the type parameter signatures from the given method or type signature.
-	 * The method or type signature is expected to be dot-based.
-	 *
-	 * @param methodOrTypeSignature the method or type signature
-	 * @return the list of type parameter signatures
-	 * @exception IllegalArgumentException if the signature is syntactically
-	 *   incorrect
-	 *
-	 * @since 3.1
-	 */
-	public static char[][] getTypeParameters(char[] methodOrTypeSignature) throws IllegalArgumentException {
-		try {
-			int length = methodOrTypeSignature.length;
-			if (length == 0)
-				return CharOperation.NO_CHAR_CHAR;
-			if (methodOrTypeSignature[0] != C_GENERIC_START)
-				return CharOperation.NO_CHAR_CHAR;
-
-			ArrayList paramList = new ArrayList(1);
-			int paramStart = 1, i = 1; // start after leading '<'
-			while (i < length) {
-				if (methodOrTypeSignature[i] == C_GENERIC_END) {
-					int size = paramList.size();
-					if (size == 0)
-						throw new IllegalArgumentException();
-					char[][] result;
-					paramList.toArray(result = new char[size][]);
-					return result;
-				}
-				i = CharOperation.indexOf(C_COLON, methodOrTypeSignature, i);
-				if (i < 0 || i >= length)
-					throw new IllegalArgumentException();
-				// iterate over bounds
-				while (methodOrTypeSignature[i] == ':') {
-					i++; // skip colon
-					switch (methodOrTypeSignature[i]) {
-						case ':' :
-							// no class bound
-							break;
-						case C_GENERIC_END :
-							break;
-						case C_RESOLVED :
-							try {
-								i = Utility.scanClassTypeSignature(methodOrTypeSignature, i);
-								i++; // position at start of next param if any
-							} catch (IllegalArgumentException e) {
-								// not a class type signature -> it is a new type parameter
-							}
-							break;
-						case C_ARRAY :
-							try {
-								i = Utility.scanArrayTypeSignature(methodOrTypeSignature, i);
-								i++; // position at start of next param if any
-							} catch (IllegalArgumentException e) {
-								// not an array type signature -> it is a new type parameter
-							}
-							break;
-						case C_TYPE_VARIABLE :
-							try {
-								i = Utility.scanTypeVariableSignature(methodOrTypeSignature, i);
-								i++; // position at start of next param if any
-							} catch (IllegalArgumentException e) {
-								// not a type variable signature -> it is a new type parameter
-							}
-							break;
-						// default: another type parameter is starting
-					}
-				}
-				paramList.add(CharOperation.subarray(methodOrTypeSignature, paramStart, i));
-				paramStart = i; // next param start from here
-			}
-		} catch (ArrayIndexOutOfBoundsException e) {
-			// invalid signature, fall through
-		}
-		throw new IllegalArgumentException();
-	}
-
-	/*
-	 * Converts the given type signature to a readable string. The signature is expected to
-	 * be dot-based.
-	 *
-	 * <p>
-	 * For example:
-	 * <pre>
-	 * <code>
-	 * toString({'[', 'L', 'j', 'a', 'v', 'a', '.', 'l', 'a', 'n', 'g', '.', 'S', 't', 'r', 'i', 'n', 'g', ';'}) -> {'j', 'a', 'v', 'a', '.', 'l', 'a', 'n', 'g', '.', 'S', 't', 'r', 'i', 'n', 'g', '[', ']'}
-	 * toString({'I'}) -> {'i', 'n', 't'}
-	 * toString({'+', 'L', 'O', 'b', 'j', 'e', 'c', 't', ';'}) -> {'?', ' ', 'e', 'x', 't', 'e', 'n', 'd', 's', ' ', 'O', 'b', 'j', 'e', 'c', 't'}
-	 * </code>
-	 * </pre>
-	 * </p>
-	 * <p>
-	 * Note: This method assumes that a type signature containing a <code>'$'</code>
-	 * is an inner type signature. While this is correct in most cases, someone could
-	 * define a non-inner type name containing a <code>'$'</code>. Handling this
-	 * correctly in all cases would have required resolving the signature, which
-	 * generally not feasible.
-	 * </p>
-	 *
-	 * @param signature the type signature
-	 * @return the string representation of the type
-	 * @exception IllegalArgumentException if the signature is not syntactically
-	 *   correct
-	 *
-	 * @since 2.0
-	 */
-	public static char[] toCharArray(char[] signature) throws IllegalArgumentException {
-		int sigLength = signature.length;
-		if (sigLength == 0 || signature[0] == C_PARAM_START || signature[0] == C_GENERIC_START) {
-			return toCharArray(signature, CharOperation.NO_CHAR, null, true, true);
-		}
-
-		StringBuffer buffer = new StringBuffer(signature.length + 10);
-		appendTypeSignature(signature, 0, true, buffer);
-		char[] result = new char[buffer.length()];
-		buffer.getChars(0, buffer.length(), result, 0);
-		return result;
-	}
-
-	/*
-	 * Converts the given method signature to a readable form. The method signature is expected to
-	 * be dot-based.
-	 * <p>
-	 * For example:
-	 * <pre>
-	 * <code>
-	 * toString("([Ljava.lang.String;)V", "main", new String[] {"args"}, false, true) -> "void main(String[] args)"
-	 * </code>
-	 * </pre>
-	 * </p>
-	 *
-	 * @param methodSignature the method signature to convert
-	 * @param methodName the name of the method to insert in the result, or
-	 *   <code>null</code> if no method name is to be included
-	 * @param parameterNames the parameter names to insert in the result, or
-	 *   <code>null</code> if no parameter names are to be included; if supplied,
-	 *   the number of parameter names must match that of the method signature
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param includeReturnType <code>true</code> if the return type is to be
-	 *   included
-	 * @param isVargArgs <code>true</code> if the last argument should be displayed as a
-	 * variable argument,  <code>false</code> otherwise.
-	 * @return the char array representation of the method signature
-	 *
-	 * @since 3.1
-	 */
-	public static char[] toCharArray(char[] methodSignature, char[] methodName, char[][] parameterNames, boolean fullyQualifyTypeNames, boolean includeReturnType, boolean isVargArgs) {
-		int firstParen = CharOperation.indexOf(C_PARAM_START, methodSignature);
-		if (firstParen == -1) {
-			throw new IllegalArgumentException();
-		}
-
-		StringBuffer buffer = new StringBuffer(methodSignature.length + 10);
-
-		// return type
-		if (includeReturnType) {
-			char[] rts = getReturnType(methodSignature);
-			appendTypeSignature(rts, 0, fullyQualifyTypeNames, buffer);
-			buffer.append(' ');
-		}
-
-		// selector
-		if (methodName != null) {
-			buffer.append(methodName);
-		}
-
-		// parameters
-		buffer.append('(');
-		char[][] pts = getParameterTypes(methodSignature);
-		for (int i = 0, max = pts.length; i < max; i++) {
-			if (i == max - 1) {
-				appendTypeSignature(pts[i], 0, fullyQualifyTypeNames, buffer, isVargArgs);
-			} else {
-				appendTypeSignature(pts[i], 0, fullyQualifyTypeNames, buffer);
-			}
-			if (parameterNames != null) {
-				buffer.append(' ');
-				buffer.append(parameterNames[i]);
-			}
-			if (i != pts.length - 1) {
-				buffer.append(',');
-				buffer.append(' ');
-			}
-		}
-		buffer.append(')');
-		char[] result = new char[buffer.length()];
-		buffer.getChars(0, buffer.length(), result, 0);
-		return result;
-	}
-
-	/*
-	 * Scans the given string for a type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param buffer the string buffer to append to
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type signature
-	 * @see Utility#scanTypeSignature(char[], int)
-	 */
-	private static int appendTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		return appendTypeSignature(string, start, fullyQualifyTypeNames, buffer, false);
-	}
-
-	/*
-	 * Scans the given string for a type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param buffer the string buffer to append to
-	 * @param isVarArgs <code>true</code> if the type must be displayed as a
-	 * variable argument, <code>false</code> otherwise. In this case, the type must be an array type
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type signature, or if isVarArgs is <code>true</code>,
-	 * and the type is not an array type signature.
-	 * @see Utility#scanTypeSignature(char[], int)
-	 */
-	private static int appendTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer, boolean isVarArgs) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (isVarArgs) {
-			switch (c) {
-				case C_ARRAY :
-					return appendArrayTypeSignature(string, start, fullyQualifyTypeNames, buffer, true);
-				case C_RESOLVED :
-				case C_UNRESOLVED :
-				case C_TYPE_VARIABLE :
-				case C_BOOLEAN :
-				case C_BYTE :
-				case C_CHAR :
-				case C_DOUBLE :
-				case C_FLOAT :
-				case C_INT :
-				case C_LONG :
-				case C_SHORT :
-				case C_VOID :
-				case C_STAR :
-				case C_EXTENDS :
-				case C_SUPER :
-				case C_CAPTURE :
-				default :
-					throw new IllegalArgumentException(); // a var args is an array type
-			}
-		}
-		switch (c) {
-			case C_ARRAY :
-				return appendArrayTypeSignature(string, start, fullyQualifyTypeNames, buffer);
-			case C_RESOLVED :
-			case C_UNRESOLVED :
-				return appendClassTypeSignature(string, start, fullyQualifyTypeNames, buffer);
-			case C_TYPE_VARIABLE :
-				int e = Utility.scanTypeVariableSignature(string, start);
-				buffer.append(string, start + 1, e - start - 1);
-				return e;
-			case C_BOOLEAN :
-				buffer.append(BOOLEAN);
-				return start;
-			case C_BYTE :
-				buffer.append(BYTE);
-				return start;
-			case C_CHAR :
-				buffer.append(CHAR);
-				return start;
-			case C_DOUBLE :
-				buffer.append(DOUBLE);
-				return start;
-			case C_FLOAT :
-				buffer.append(FLOAT);
-				return start;
-			case C_INT :
-				buffer.append(INT);
-				return start;
-			case C_LONG :
-				buffer.append(LONG);
-				return start;
-			case C_SHORT :
-				buffer.append(SHORT);
-				return start;
-			case C_VOID :
-				buffer.append(VOID);
-				return start;
-			case C_CAPTURE :
-				return appendCaptureTypeSignature(string, start, fullyQualifyTypeNames, buffer);
-			case C_STAR :
-			case C_EXTENDS :
-			case C_SUPER :
-				return appendTypeArgumentSignature(string, start, fullyQualifyTypeNames, buffer);
-			default :
-				throw new IllegalArgumentException();
-		}
-	}
-
-	/*
-	 * Scans the given string for an array type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not an array type signature
-	 * @see Utility#scanArrayTypeSignature(char[], int)
-	 */
-	private static int appendArrayTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		return appendArrayTypeSignature(string, start, fullyQualifyTypeNames, buffer, false);
-	}
-
-	/*
-	 * Scans the given string for an array type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not an array type signature
-	 * @see Utility#scanArrayTypeSignature(char[], int)
-	 */
-	private static int appendCaptureTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		// need a minimum 2 char
-		if (start >= string.length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != C_CAPTURE) {
-			throw new IllegalArgumentException();
-		}
-		buffer.append(CAPTURE).append(' ');
-		return appendTypeArgumentSignature(string, start + 1, fullyQualifyTypeNames, buffer);
-	}
-
-	/*
-	 * Scans the given string for an array type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param isVarArgs <code>true</code> if the array type must be displayed as a
-	 * variable argument, <code>false</code> otherwise
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not an array type signature
-	 * @see Utility#scanArrayTypeSignature(char[], int)
-	 */
-	private static int appendArrayTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer, boolean isVarArgs) {
-		int length = string.length;
-		// need a minimum 2 char
-		if (start >= length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != C_ARRAY) {
-			throw new IllegalArgumentException();
-		}
-
-		int index = start;
-		c = string[++index];
-		while (c == C_ARRAY) {
-			// need a minimum 2 char
-			if (index >= length - 1) {
-				throw new IllegalArgumentException();
-			}
-			c = string[++index];
-		}
-
-		int e = appendTypeSignature(string, index, fullyQualifyTypeNames, buffer);
-
-		for (int i = 1, dims = index - start; i < dims; i++) {
-			buffer.append('[').append(']');
-		}
-
-		if (isVarArgs) {
-			buffer.append('.').append('.').append('.');
-		} else {
-			buffer.append('[').append(']');
-		}
-		return e;
-	}
-
-	/*
-	 * Scans the given string for a class type signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param buffer the string buffer to append to
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a class type signature
-	 * @see Utility#scanClassTypeSignature(char[], int)
-	 */
-	private static int appendClassTypeSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		// need a minimum 3 chars "Lx;"
-		if (start >= string.length - 2) {
-			throw new IllegalArgumentException();
-		}
-		// must start in "L" or "Q"
-		char c = string[start];
-		if (c != C_RESOLVED && c != C_UNRESOLVED) {
-			throw new IllegalArgumentException();
-		}
-		boolean resolved = (c == C_RESOLVED);
-		boolean removePackageQualifiers = !fullyQualifyTypeNames;
-		if (!resolved) {
-			// keep everything in an unresolved name
-			removePackageQualifiers = false;
-		}
-		int p = start + 1;
-		int checkpoint = buffer.length();
-		int innerTypeStart = -1;
-		boolean inAnonymousType = false;
-		while (true) {
-			if (p >= string.length) {
-				throw new IllegalArgumentException();
-			}
-			c = string[p];
-			switch (c) {
-				case C_SEMICOLON :
-					// all done
-					return p;
-				case C_GENERIC_START :
-					int e = appendTypeArgumentSignatures(string, p, fullyQualifyTypeNames, buffer);
-					// once we hit type arguments there are no more package prefixes
-					removePackageQualifiers = false;
-					p = e;
-					break;
-				case C_DOT :
-					if (removePackageQualifiers) {
-						// erase package prefix
-						buffer.setLength(checkpoint);
-					} else {
-						buffer.append('.');
-					}
-					break;
-				case '/' :
-					if (removePackageQualifiers) {
-						// erase package prefix
-						buffer.setLength(checkpoint);
-					} else {
-						buffer.append('/');
-					}
-					break;
-				case C_DOLLAR :
-					innerTypeStart = buffer.length();
-					inAnonymousType = false;
-					if (resolved) {
-						// once we hit "$" there are no more package prefixes
-						removePackageQualifiers = false;
-						/*
-						 * Convert '$' in resolved type signatures into '.'.
-						 * NOTE: This assumes that the type signature is an inner type
-						 * signature. This is true in most cases, but someone can define a
-						 * non-inner type name containing a '$'.
-						 */
-						buffer.append('.');
-					}
-					break;
-				default :
-					if (innerTypeStart != -1 && !inAnonymousType && Character.isDigit(c)) {
-						inAnonymousType = true;
-						buffer.setLength(innerTypeStart); // remove '.'
-						buffer.insert(checkpoint, "new "); //$NON-NLS-1$
-						buffer.append("(){}"); //$NON-NLS-1$
-					}
-					if (!inAnonymousType)
-						buffer.append(c);
-					innerTypeStart = -1;
-			}
-			p++;
-		}
-	}
-
-	/*
-	 * Scans the given string for a list of type arguments signature starting at the
-	 * given index and appends it to the given buffer, and returns the index of the
-	 * last character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param buffer the string buffer to append to
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a list of type argument
-	 * signatures
-	 * @see Utility#scanTypeArgumentSignatures(char[], int)
-	 */
-	private static int appendTypeArgumentSignatures(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		// need a minimum 2 char "<>"
-		if (start >= string.length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != C_GENERIC_START) {
-			throw new IllegalArgumentException();
-		}
-		buffer.append('<');
-		int p = start + 1;
-		int count = 0;
-		while (true) {
-			if (p >= string.length) {
-				throw new IllegalArgumentException();
-			}
-			c = string[p];
-			if (c == C_GENERIC_END) {
-				buffer.append('>');
-				return p;
-			}
-			if (count != 0) {
-				buffer.append(',');
-			}
-			int e = appendTypeArgumentSignature(string, p, fullyQualifyTypeNames, buffer);
-			count++;
-			p = e + 1;
-		}
-	}
-
-	/*
-	 * Scans the given string for a type argument signature starting at the given
-	 * index and appends it to the given buffer, and returns the index of the last
-	 * character.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param buffer the string buffer to append to
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type argument signature
-	 * @see Utility#scanTypeArgumentSignature(char[], int)
-	 */
-	private static int appendTypeArgumentSignature(char[] string, int start, boolean fullyQualifyTypeNames, StringBuffer buffer) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		switch (c) {
-			case C_STAR :
-				buffer.append('?');
-				return start;
-			case C_EXTENDS :
-				buffer.append("? extends "); //$NON-NLS-1$
-				return appendTypeSignature(string, start + 1, fullyQualifyTypeNames, buffer);
-			case C_SUPER :
-				buffer.append("? super "); //$NON-NLS-1$
-				return appendTypeSignature(string, start + 1, fullyQualifyTypeNames, buffer);
-			default :
-				return appendTypeSignature(string, start, fullyQualifyTypeNames, buffer);
-		}
-	}
-
-	/*
-	 * Converts the given method signature to a readable form. The method signature is expected to
-	 * be dot-based.
-	 * <p>
-	 * For example:
-	 * <pre>
-	 * <code>
-	 * toString("([Ljava.lang.String;)V", "main", new String[] {"args"}, false, true) -> "void main(String[] args)"
-	 * </code>
-	 * </pre>
-	 * </p>
-	 *
-	 * @param methodSignature the method signature to convert
-	 * @param methodName the name of the method to insert in the result, or
-	 *   <code>null</code> if no method name is to be included
-	 * @param parameterNames the parameter names to insert in the result, or
-	 *   <code>null</code> if no parameter names are to be included; if supplied,
-	 *   the number of parameter names must match that of the method signature
-	 * @param fullyQualifyTypeNames <code>true</code> if type names should be fully
-	 *   qualified, and <code>false</code> to use only simple names
-	 * @param includeReturnType <code>true</code> if the return type is to be
-	 *   included
-	 * @return the char array representation of the method signature
-	 *
-	 * @since 2.0
-	 */
-	public static char[] toCharArray(char[] methodSignature, char[] methodName, char[][] parameterNames, boolean fullyQualifyTypeNames, boolean includeReturnType) {
-		return toCharArray(methodSignature, methodName, parameterNames, fullyQualifyTypeNames, includeReturnType, false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SignatureAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SignatureAttribute.java
deleted file mode 100644
index e602410..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SignatureAttribute.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class SignatureAttribute extends ClassFileAttribute {
-
-	private int signatureIndex;
-	private char[] signature;
-
-	SignatureAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		final int index = u2At(classFileBytes, 6, offset);
-		this.signatureIndex = index;
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(index);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.signature = constantPoolEntry.getUtf8Value();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.ISignatureAttribute#getSignatureIndex()
-	 */
-	public int getSignatureIndex() {
-		return this.signatureIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.util.ISignatureAttribute#getSignature()
-	 */
-	public char[] getSignature() {
-		return this.signature;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SourceFileAttribute.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SourceFileAttribute.java
deleted file mode 100644
index f468e84..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/SourceFileAttribute.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public class SourceFileAttribute extends ClassFileAttribute {
-
-	private int sourceFileIndex;
-	private char[] sourceFileName;
-
-	/**
-	 * Constructor for SourceFileAttribute.
-	 * @param classFileBytes
-	 * @param constantPool
-	 * @param offset
-	 * @throws ClassFormatException
-	 */
-	public SourceFileAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset) throws ClassFormatException {
-		super(classFileBytes, constantPool, offset);
-		this.sourceFileIndex = u2At(classFileBytes, 6, offset);
-		ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.sourceFileIndex);
-		if (constantPoolEntry.getKind() != ConstantPoolConstant.CONSTANT_Utf8) {
-			throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY);
-		}
-		this.sourceFileName = constantPoolEntry.getUtf8Value();
-	}
-
-	/*
-	 * @see ISourceAttribute#getSourceFileIndex()
-	 */
-	public int getSourceFileIndex() {
-		return this.sourceFileIndex;
-	}
-
-	/*
-	 * @see ISourceAttribute#getSourceFileName()
-	 */
-	public char[] getSourceFileName() {
-		return this.sourceFileName;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/TypeConstants.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/TypeConstants.java
deleted file mode 100644
index 1e000fb..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/TypeConstants.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-public interface TypeConstants {
-
-	char[] JAVA = "java".toCharArray(); //$NON-NLS-1$
-	char[] LANG = "lang".toCharArray(); //$NON-NLS-1$
-	char[] IO = "io".toCharArray(); //$NON-NLS-1$
-	char[] UTIL = "util".toCharArray(); //$NON-NLS-1$
-	char[] ANNOTATION = "annotation".toCharArray(); //$NON-NLS-1$
-	char[] REFLECT = "reflect".toCharArray(); //$NON-NLS-1$
-	char[] LENGTH = "length".toCharArray(); //$NON-NLS-1$
-	char[] CLONE = "clone".toCharArray(); //$NON-NLS-1$
-	char[] EQUALS = "equals".toCharArray(); //$NON-NLS-1$
-	char[] GETCLASS = "getClass".toCharArray(); //$NON-NLS-1$
-	char[] HASHCODE = "hashCode".toCharArray(); //$NON-NLS-1$
-	char[] OBJECT = "Object".toCharArray(); //$NON-NLS-1$
-	char[] MAIN = "main".toCharArray(); //$NON-NLS-1$
-	char[] SERIALVERSIONUID = "serialVersionUID".toCharArray(); //$NON-NLS-1$
-	char[] SERIALPERSISTENTFIELDS = "serialPersistentFields".toCharArray(); //$NON-NLS-1$
-	char[] READRESOLVE = "readResolve".toCharArray(); //$NON-NLS-1$
-	char[] WRITEREPLACE = "writeReplace".toCharArray(); //$NON-NLS-1$
-	char[] READOBJECT = "readObject".toCharArray(); //$NON-NLS-1$
-	char[] WRITEOBJECT = "writeObject".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_LANG_OBJECT = "java.lang.Object".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_LANG_ENUM = "java.lang.Enum".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_LANG_ANNOTATION_ANNOTATION = "java.lang.annotation.Annotation".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_IO_OBJECTINPUTSTREAM = "java.io.ObjectInputStream".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_IO_OBJECTOUTPUTSTREAM = "java.io.ObjectOutputStream".toCharArray(); //$NON-NLS-1$
-	char[] CharArray_JAVA_IO_OBJECTSTREAMFIELD = "java.io.ObjectStreamField".toCharArray(); //$NON-NLS-1$
-	char[] ANONYM_PREFIX = "new ".toCharArray(); //$NON-NLS-1$
-	char[] ANONYM_SUFFIX = "(){}".toCharArray(); //$NON-NLS-1$
-	char[] WILDCARD_NAME = {'?'};
-	char[] WILDCARD_SUPER = " super ".toCharArray(); //$NON-NLS-1$
-	char[] WILDCARD_EXTENDS = " extends ".toCharArray(); //$NON-NLS-1$
-	char[] WILDCARD_MINUS = {'-'};
-	char[] WILDCARD_STAR = {'*'};
-	char[] WILDCARD_PLUS = {'+'};
-	char[] WILDCARD_CAPTURE_NAME_PREFIX = "capture#".toCharArray(); //$NON-NLS-1$
-	char[] WILDCARD_CAPTURE_NAME_SUFFIX = "-of ".toCharArray(); //$NON-NLS-1$
-	char[] WILDCARD_CAPTURE = {'!'};
-	char[] BYTE = "byte".toCharArray(); //$NON-NLS-1$
-	char[] SHORT = "short".toCharArray(); //$NON-NLS-1$
-	char[] INT = "int".toCharArray(); //$NON-NLS-1$
-	char[] LONG = "long".toCharArray(); //$NON-NLS-1$
-	char[] FLOAT = "float".toCharArray(); //$NON-NLS-1$
-	char[] DOUBLE = "double".toCharArray(); //$NON-NLS-1$
-	char[] CHAR = "char".toCharArray(); //$NON-NLS-1$
-	char[] BOOLEAN = "boolean".toCharArray(); //$NON-NLS-1$
-	char[] NULL = "null".toCharArray(); //$NON-NLS-1$
-	char[] VOID = "void".toCharArray(); //$NON-NLS-1$
-	char[] VALUE = "value".toCharArray(); //$NON-NLS-1$
-	char[] VALUES = "values".toCharArray(); //$NON-NLS-1$
-	char[] VALUEOF = "valueOf".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_SOURCE = "SOURCE".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_CLASS = "CLASS".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_RUNTIME = "RUNTIME".toCharArray(); //$NON-NLS-1$
-	char[] ANNOTATION_PREFIX = "@".toCharArray(); //$NON-NLS-1$
-	char[] ANNOTATION_SUFFIX = "()".toCharArray(); //$NON-NLS-1$
-	char[] TYPE = "TYPE".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_FIELD = "FIELD".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_METHOD = "METHOD".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_PARAMETER = "PARAMETER".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_CONSTRUCTOR = "CONSTRUCTOR".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_LOCAL_VARIABLE = "LOCAL_VARIABLE".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_ANNOTATION_TYPE = "ANNOTATION_TYPE".toCharArray(); //$NON-NLS-1$
-	char[] UPPER_PACKAGE = "PACKAGE".toCharArray(); //$NON-NLS-1$
-
-	// Constant compound names
-	char[][] JAVA_LANG = {JAVA, LANG};
-	char[][] JAVA_IO = {JAVA, IO};
-	char[][] JAVA_LANG_ANNOTATION_ANNOTATION = {JAVA, LANG, ANNOTATION, "Annotation".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ASSERTIONERROR = {JAVA, LANG, "AssertionError".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_CLASS = {JAVA, LANG, "Class".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_CLASSNOTFOUNDEXCEPTION = {JAVA, LANG, "ClassNotFoundException".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_CLONEABLE = {JAVA, LANG, "Cloneable".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ENUM = {JAVA, LANG, "Enum".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_EXCEPTION = {JAVA, LANG, "Exception".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ERROR = {JAVA, LANG, "Error".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ILLEGALARGUMENTEXCEPTION = {JAVA, LANG, "IllegalArgumentException".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ITERABLE = {JAVA, LANG, "Iterable".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_NOCLASSDEFERROR = {JAVA, LANG, "NoClassDefError".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_OBJECT = {JAVA, LANG, OBJECT};
-	char[][] JAVA_LANG_STRING = {JAVA, LANG, "String".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_STRINGBUFFER = {JAVA, LANG, "StringBuffer".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_STRINGBUILDER = {JAVA, LANG, "StringBuilder".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_SYSTEM = {JAVA, LANG, "System".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_RUNTIMEEXCEPTION = {JAVA, LANG, "RuntimeException".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_THROWABLE = {JAVA, LANG, "Throwable".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_REFLECT_CONSTRUCTOR = {JAVA, LANG, REFLECT, "Constructor".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_IO_PRINTSTREAM = {JAVA, IO, "PrintStream".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_IO_SERIALIZABLE = {JAVA, IO, "Serializable".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_BYTE = {JAVA, LANG, "Byte".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_SHORT = {JAVA, LANG, "Short".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_CHARACTER = {JAVA, LANG, "Character".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_INTEGER = {JAVA, LANG, "Integer".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_LONG = {JAVA, LANG, "Long".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_FLOAT = {JAVA, LANG, "Float".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_DOUBLE = {JAVA, LANG, "Double".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_BOOLEAN = {JAVA, LANG, "Boolean".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_VOID = {JAVA, LANG, "Void".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_UTIL_COLLECTION = {JAVA, UTIL, "Collection".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_UTIL_ITERATOR = {JAVA, UTIL, "Iterator".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_DEPRECATED = {JAVA, LANG, "Deprecated".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_DOCUMENTED = {JAVA, LANG, ANNOTATION, "Documented".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_INHERITED = {JAVA, LANG, ANNOTATION, "Inherited".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_OVERRIDE = {JAVA, LANG, "Override".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_RETENTION = {JAVA, LANG, ANNOTATION, "Retention".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_SUPPRESSWARNINGS = {JAVA, LANG, "SuppressWarnings".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_TARGET = {JAVA, LANG, ANNOTATION, "Target".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_RETENTIONPOLICY = {JAVA, LANG, ANNOTATION, "RetentionPolicy".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_ANNOTATION_ELEMENTTYPE = {JAVA, LANG, ANNOTATION, "ElementType".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_REFLECT_FIELD = new char[][] {JAVA, LANG, REFLECT, "Field".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_LANG_REFLECT_METHOD = new char[][] {JAVA, LANG, REFLECT, "Method".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_IO_OBJECTSTREAMEXCEPTION = new char[][] {JAVA, IO, "ObjectStreamException".toCharArray()};//$NON-NLS-1$
-	char[][] JAVA_IO_EXTERNALIZABLE = {JAVA, IO, "Externalizable".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_IO_IOEXCEPTION = new char[][] {JAVA, IO, "IOException".toCharArray()};//$NON-NLS-1$
-	char[][] JAVA_IO_OBJECTOUTPUTSTREAM = new char[][] {JAVA, IO, "ObjectOutputStream".toCharArray()}; //$NON-NLS-1$
-	char[][] JAVA_IO_OBJECTINPUTSTREAM = new char[][] {JAVA, IO, "ObjectInputStream".toCharArray()}; //$NON-NLS-1$
-
-	// Constraints for generic type argument inference
-	int CONSTRAINT_EQUAL = 0; // Actual = Formal
-	int CONSTRAINT_EXTENDS = 1; // Actual << Formal
-	int CONSTRAINT_SUPER = 2; // Actual >> Formal
-
-	// Constants used to perform bound checks
-	int OK = 0;
-	int UNCHECKED = 1;
-	int MISMATCH = 2;
-
-	// Synthetics
-	char[] INIT = "<init>".toCharArray(); //$NON-NLS-1$
-	char[] CLINIT = "<clinit>".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_SWITCH_ENUM_TABLE = "$SWITCH_TABLE$".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_ENUM_VALUES = "ENUM$VALUES".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_ASSERT_DISABLED = "$assertionsDisabled".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_CLASS = "class$".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_OUTER_LOCAL_PREFIX = "val$".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_ENCLOSING_INSTANCE_PREFIX = "this$".toCharArray(); //$NON-NLS-1$
-	char[] SYNTHETIC_ACCESS_METHOD_PREFIX = "access$".toCharArray(); //$NON-NLS-1$
-
-	// synthetic package-info name
-	public static final char[] PACKAGE_INFO_NAME = "package-info".toCharArray(); //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Utility.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Utility.java
deleted file mode 100644
index 888ce16..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/Utility.java
+++ /dev/null
@@ -1,689 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-public class Utility {
-	public static final int[] EMPTY_INT_ARRAY = new int[0];
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private static final int DEFAULT_READING_SIZE = 8192;
-	private static final char[] BOOLEAN = "boolean".toCharArray(); //$NON-NLS-1$
-	private static final char[] BYTE = "byte".toCharArray(); //$NON-NLS-1$
-	private static final char[] CHAR = "char".toCharArray(); //$NON-NLS-1$
-	private static final char[] DOUBLE = "double".toCharArray(); //$NON-NLS-1$
-	private static final char[] FLOAT = "float".toCharArray(); //$NON-NLS-1$
-	private static final char[] INT = "int".toCharArray(); //$NON-NLS-1$
-	private static final char[] LONG = "long".toCharArray(); //$NON-NLS-1$
-	private static final char[] SHORT = "short".toCharArray(); //$NON-NLS-1$
-	private static final char[] VOID = "void".toCharArray(); //$NON-NLS-1$
-	private static final char[] INIT = "<init>".toCharArray(); //$NON-NLS-1$
-
-	/**
-	 * Returns the contents of the given zip entry as a byte array.
-	 * @throws IOException if a problem occured reading the zip entry.
-	 */
-	public static byte[] getZipEntryByteContent(ZipEntry ze, ZipFile zip) throws IOException {
-
-		InputStream stream = null;
-		try {
-			stream = zip.getInputStream(ze);
-			if (stream == null)
-				throw new IOException("Invalid zip entry name : " + ze.getName()); //$NON-NLS-1$
-			return getInputStreamAsByteArray(stream, (int) ze.getSize());
-		} finally {
-			close(stream);
-		}
-	}
-
-	public static void close(Object object) {
-		if (object == null)
-			return;
-		try {
-			if (object instanceof InputStream)
-				((InputStream) object).close();
-			else if (object instanceof OutputStream)
-				((OutputStream) object).close();
-			else if (object instanceof ZipFile)
-				((ZipFile) object).close();
-		} catch (IOException e) {
-			//ignore
-		}
-	}
-
-	/**
-	 * Returns the given input stream's contents as a byte array.
-	 * If a length is specified (ie. if length != -1), only length bytes
-	 * are returned. Otherwise all bytes in the stream are returned.
-	 * Note this doesn't close the stream.
-	 * @throws IOException if a problem occured reading the stream.
-	 */
-	public static byte[] getInputStreamAsByteArray(InputStream stream, int length) throws IOException {
-		byte[] contents;
-		if (length == -1) {
-			contents = new byte[0];
-			int contentsLength = 0;
-			int amountRead = -1;
-			do {
-				int amountRequested = Math.max(stream.available(), DEFAULT_READING_SIZE); // read at least 8K
-
-				// resize contents if needed
-				if (contentsLength + amountRequested > contents.length) {
-					System.arraycopy(contents, 0, contents = new byte[contentsLength + amountRequested], 0, contentsLength);
-				}
-
-				// read as many bytes as possible
-				amountRead = stream.read(contents, contentsLength, amountRequested);
-
-				if (amountRead > 0) {
-					// remember length of contents
-					contentsLength += amountRead;
-				}
-			} while (amountRead != -1);
-
-			// resize contents if necessary
-			if (contentsLength < contents.length) {
-				System.arraycopy(contents, 0, contents = new byte[contentsLength], 0, contentsLength);
-			}
-		} else {
-			contents = new byte[length];
-			int len = 0;
-			int readSize = 0;
-			while ((readSize != -1) && (len != length)) {
-				// See PR 1FMS89U
-				// We record first the read size. In this case len is the actual read size.
-				len += readSize;
-				readSize = stream.read(contents, len, length - len);
-			}
-		}
-
-		return contents;
-	}
-
-	public static ClassFileAttribute getAttribute(MethodInfo methodInfo, char[] attributeName) {
-		ClassFileAttribute[] attributes = methodInfo.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), attributeName)) {
-				return attributes[i];
-			}
-		}
-		return null;
-	}
-
-	public static ClassFileAttribute getAttribute(FieldInfo fieldInfo, char[] attributeName) {
-		ClassFileAttribute[] attributes = fieldInfo.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), attributeName)) {
-				return attributes[i];
-			}
-		}
-		return null;
-	}
-
-	public static ClassFileAttribute getAttribute(ClassFileReader classFileReader, char[] attributeName) {
-		ClassFileAttribute[] attributes = classFileReader.getAttributes();
-		for (int i = 0, max = attributes.length; i < max; i++) {
-			if (Arrays.equals(attributes[i].getAttributeName(), attributeName)) {
-				return attributes[i];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Scans the given string for a type signature starting at the given index
-	 * and returns the index of the last character.
-	 * <pre>
-	 * TypeSignature:
-	 *  |  BaseTypeSignature
-	 *  |  ArrayTypeSignature
-	 *  |  ClassTypeSignature
-	 *  |  TypeVariableSignature
-	 * </pre>
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type signature
-	 */
-	public static int scanTypeSignature(char[] string, int start) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		switch (c) {
-			case Signature.C_ARRAY :
-				return scanArrayTypeSignature(string, start);
-			case Signature.C_RESOLVED :
-			case Signature.C_UNRESOLVED :
-				return scanClassTypeSignature(string, start);
-			case Signature.C_TYPE_VARIABLE :
-				return scanTypeVariableSignature(string, start);
-			case Signature.C_BOOLEAN :
-			case Signature.C_BYTE :
-			case Signature.C_CHAR :
-			case Signature.C_DOUBLE :
-			case Signature.C_FLOAT :
-			case Signature.C_INT :
-			case Signature.C_LONG :
-			case Signature.C_SHORT :
-			case Signature.C_VOID :
-				return scanBaseTypeSignature(string, start);
-			case Signature.C_CAPTURE :
-				return scanCaptureTypeSignature(string, start);
-			case Signature.C_EXTENDS :
-			case Signature.C_SUPER :
-			case Signature.C_STAR :
-				return scanTypeBoundSignature(string, start);
-			default :
-				throw new IllegalArgumentException();
-		}
-	}
-
-	/**
-	 * Scans the given string for a base type signature starting at the given index
-	 * and returns the index of the last character.
-	 * <pre>
-	 * BaseTypeSignature:
-	 *     <b>B</b> | <b>C</b> | <b>D</b> | <b>F</b> | <b>I</b>
-	 *   | <b>J</b> | <b>S</b> | <b>V</b> | <b>Z</b>
-	 * </pre>
-	 * Note that although the base type "V" is only allowed in method return types,
-	 * there is no syntactic ambiguity. This method will accept them anywhere
-	 * without complaint.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a base type signature
-	 */
-	public static int scanBaseTypeSignature(char[] string, int start) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if ("BCDFIJSVZ".indexOf(c) >= 0) { //$NON-NLS-1$
-			return start;
-		}
-		throw new IllegalArgumentException();
-	}
-
-	/**
-	 * Scans the given string for an array type signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * ArrayTypeSignature:
-	 *     <b>[</b> TypeSignature
-	 * </pre>
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not an array type signature
-	 */
-	public static int scanArrayTypeSignature(char[] string, int start) {
-		int length = string.length;
-		// need a minimum 2 char
-		if (start >= length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != Signature.C_ARRAY) {
-			throw new IllegalArgumentException();
-		}
-
-		c = string[++start];
-		while (c == Signature.C_ARRAY) {
-			// need a minimum 2 char
-			if (start >= length - 1) {
-				throw new IllegalArgumentException();
-			}
-			c = string[++start];
-		}
-		return scanTypeSignature(string, start);
-	}
-
-	/**
-	 * Scans the given string for a capture of a wildcard type signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * CaptureTypeSignature:
-	 *     <b>!</b> TypeBoundSignature
-	 * </pre>
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a capture type signature
-	 */
-	public static int scanCaptureTypeSignature(char[] string, int start) {
-		// need a minimum 2 char
-		if (start >= string.length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != Signature.C_CAPTURE) {
-			throw new IllegalArgumentException();
-		}
-		return scanTypeBoundSignature(string, start + 1);
-	}
-
-	/**
-	 * Scans the given string for a type variable signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * TypeVariableSignature:
-	 *     <b>T</b> Identifier <b>;</b>
-	 * </pre>
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type variable signature
-	 */
-	public static int scanTypeVariableSignature(char[] string, int start) {
-		// need a minimum 3 chars "Tx;"
-		if (start >= string.length - 2) {
-			throw new IllegalArgumentException();
-		}
-		// must start in "T"
-		char c = string[start];
-		if (c != Signature.C_TYPE_VARIABLE) {
-			throw new IllegalArgumentException();
-		}
-		int id = scanIdentifier(string, start + 1);
-		c = string[id + 1];
-		if (c == Signature.C_SEMICOLON) {
-			return id + 1;
-		}
-		throw new IllegalArgumentException();
-	}
-
-	/**
-	 * Scans the given string for an identifier starting at the given
-	 * index and returns the index of the last character.
-	 * Stop characters are: ";", ":", "&lt;", "&gt;", "/", ".".
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not an identifier
-	 */
-	public static int scanIdentifier(char[] string, int start) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		int p = start;
-		while (true) {
-			char c = string[p];
-			if (c == '<' || c == '>' || c == ':' || c == ';' || c == '.' || c == '/') {
-				return p - 1;
-			}
-			p++;
-			if (p == string.length) {
-				return p - 1;
-			}
-		}
-	}
-
-	/**
-	 * Scans the given string for a class type signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * ClassTypeSignature:
-	 *     { <b>L</b> | <b>Q</b> } Identifier
-	 *           { { <b>/</b> | <b>.</b> Identifier [ <b>&lt;</b> TypeArgumentSignature* <b>&gt;</b> ] }
-	 *           <b>;</b>
-	 * </pre>
-	 * Note that although all "/"-identifiers most come before "."-identifiers,
-	 * there is no syntactic ambiguity. This method will accept them without
-	 * complaint.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a class type signature
-	 */
-	public static int scanClassTypeSignature(char[] string, int start) {
-		// need a minimum 3 chars "Lx;"
-		if (start >= string.length - 2) {
-			throw new IllegalArgumentException();
-		}
-		// must start in "L" or "Q"
-		char c = string[start];
-		if (c != Signature.C_RESOLVED && c != Signature.C_UNRESOLVED) {
-			return -1;
-		}
-		int p = start + 1;
-		while (true) {
-			if (p >= string.length) {
-				throw new IllegalArgumentException();
-			}
-			c = string[p];
-			if (c == Signature.C_SEMICOLON) {
-				// all done
-				return p;
-			} else if (c == Signature.C_GENERIC_START) {
-				int e = scanTypeArgumentSignatures(string, p);
-				p = e;
-			} else if (c == Signature.C_DOT || c == '/') {
-				int id = scanIdentifier(string, p + 1);
-				p = id;
-			}
-			p++;
-		}
-	}
-
-	/**
-	 * Scans the given string for a type bound signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * TypeBoundSignature:
-	 *     <b>[-+]</b> TypeSignature <b>;</b>
-	 *     <b>*</b></b>
-	 * </pre>
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type variable signature
-	 */
-	public static int scanTypeBoundSignature(char[] string, int start) {
-		// need a minimum 1 char for wildcard
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		switch (c) {
-			case Signature.C_STAR :
-				return start;
-			case Signature.C_SUPER :
-			case Signature.C_EXTENDS :
-				// need a minimum 3 chars "+[I"
-				if (start >= string.length - 2) {
-					throw new IllegalArgumentException();
-				}
-				break;
-			default :
-				// must start in "+/-"
-				throw new IllegalArgumentException();
-
-		}
-		c = string[++start];
-		switch (c) {
-			case Signature.C_CAPTURE :
-				return scanCaptureTypeSignature(string, start);
-			case Signature.C_SUPER :
-			case Signature.C_EXTENDS :
-				return scanTypeBoundSignature(string, start);
-			case Signature.C_RESOLVED :
-			case Signature.C_UNRESOLVED :
-				return scanClassTypeSignature(string, start);
-			case Signature.C_TYPE_VARIABLE :
-				return scanTypeVariableSignature(string, start);
-			case Signature.C_ARRAY :
-				return scanArrayTypeSignature(string, start);
-			case Signature.C_STAR :
-				return start;
-			default :
-				throw new IllegalArgumentException();
-		}
-	}
-
-	/**
-	 * Scans the given string for a list of type argument signatures starting at
-	 * the given index and returns the index of the last character.
-	 * <pre>
-	 * TypeArgumentSignatures:
-	 *     <b>&lt;</b> TypeArgumentSignature* <b>&gt;</b>
-	 * </pre>
-	 * Note that although there is supposed to be at least one type argument, there
-	 * is no syntactic ambiguity if there are none. This method will accept zero
-	 * type argument signatures without complaint.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a list of type arguments
-	 * signatures
-	 */
-	public static int scanTypeArgumentSignatures(char[] string, int start) {
-		// need a minimum 2 char "<>"
-		if (start >= string.length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != Signature.C_GENERIC_START) {
-			throw new IllegalArgumentException();
-		}
-		int p = start + 1;
-		while (true) {
-			if (p >= string.length) {
-				throw new IllegalArgumentException();
-			}
-			c = string[p];
-			if (c == Signature.C_GENERIC_END) {
-				return p;
-			}
-			int e = scanTypeArgumentSignature(string, p);
-			p = e + 1;
-		}
-	}
-
-	/**
-	 * Scans the given string for a type argument signature starting at the given
-	 * index and returns the index of the last character.
-	 * <pre>
-	 * TypeArgumentSignature:
-	 *     <b>&#42;</b>
-	 *  |  <b>+</b> TypeSignature
-	 *  |  <b>-</b> TypeSignature
-	 *  |  TypeSignature
-	 * </pre>
-	 * Note that although base types are not allowed in type arguments, there is
-	 * no syntactic ambiguity. This method will accept them without complaint.
-	 *
-	 * @param string the signature string
-	 * @param start the 0-based character index of the first character
-	 * @return the 0-based character index of the last character
-	 * @exception IllegalArgumentException if this is not a type argument signature
-	 */
-	public static int scanTypeArgumentSignature(char[] string, int start) {
-		// need a minimum 1 char
-		if (start >= string.length) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		switch (c) {
-			case Signature.C_STAR :
-				return start;
-			case Signature.C_EXTENDS :
-			case Signature.C_SUPER :
-				return scanTypeBoundSignature(string, start);
-			default :
-				return scanTypeSignature(string, start);
-		}
-	}
-
-	static void appendTypeSignature(char[] string, int start, StringBuffer buffer, boolean compact) {
-		char c = string[start];
-		switch (c) {
-			case Signature.C_ARRAY :
-				appendArrayTypeSignature(string, start, buffer, compact);
-				break;
-			case Signature.C_RESOLVED :
-				appendClassTypeSignature(string, start, buffer, compact);
-				break;
-			case Signature.C_TYPE_VARIABLE :
-				int e = scanTypeVariableSignature(string, start);
-				buffer.append(string, start + 1, e - start - 1);
-				break;
-			case Signature.C_BOOLEAN :
-				buffer.append(BOOLEAN);
-				break;
-			case Signature.C_BYTE :
-				buffer.append(BYTE);
-				break;
-			case Signature.C_CHAR :
-				buffer.append(CHAR);
-				break;
-			case Signature.C_DOUBLE :
-				buffer.append(DOUBLE);
-				break;
-			case Signature.C_FLOAT :
-				buffer.append(FLOAT);
-				break;
-			case Signature.C_INT :
-				buffer.append(INT);
-				break;
-			case Signature.C_LONG :
-				buffer.append(LONG);
-				break;
-			case Signature.C_SHORT :
-				buffer.append(SHORT);
-				break;
-			case Signature.C_VOID :
-				buffer.append(VOID);
-				break;
-		}
-	}
-
-	private static void appendArrayTypeSignature(char[] string, int start, StringBuffer buffer, boolean compact) {
-		int length = string.length;
-		// need a minimum 2 char
-		if (start >= length - 1) {
-			throw new IllegalArgumentException();
-		}
-		char c = string[start];
-		if (c != Signature.C_ARRAY) {
-			throw new IllegalArgumentException();
-		}
-
-		int index = start;
-		c = string[++index];
-		while (c == Signature.C_ARRAY) {
-			// need a minimum 2 char
-			if (index >= length - 1) {
-				throw new IllegalArgumentException();
-			}
-			c = string[++index];
-		}
-
-		appendTypeSignature(string, index, buffer, compact);
-
-		for (int i = 0, dims = index - start; i < dims; i++) {
-			buffer.append('[').append(']');
-		}
-	}
-
-	private static void appendClassTypeSignature(char[] string, int start, StringBuffer buffer, boolean compact) {
-		char c = string[start];
-		if (c != Signature.C_RESOLVED) {
-			return;
-		}
-		int p = start + 1;
-		int checkpoint = buffer.length();
-		while (true) {
-			c = string[p];
-			switch (c) {
-				case Signature.C_SEMICOLON :
-					// all done
-					return;
-				case Signature.C_DOT :
-				case '/' :
-					// erase package prefix
-					if (compact) {
-						buffer.setLength(checkpoint);
-					} else {
-						buffer.append('.');
-					}
-					break;
-				case Signature.C_DOLLAR :
-					/**
-					 * Convert '$' in resolved type signatures into '.'.
-					 * NOTE: This assumes that the type signature is an inner type
-					 * signature. This is true in most cases, but someone can define a
-					 * non-inner type name containing a '$'.
-					 */
-					buffer.append('.');
-					break;
-				default :
-					buffer.append(c);
-			}
-			p++;
-		}
-	}
-
-	public static String toString(char[] declaringClass, char[] methodName, char[] methodSignature, boolean includeReturnType, boolean compact) {
-		final boolean isConstructor = Arrays.equals(methodName, INIT);
-		int firstParen = CharOperation.indexOf(Signature.C_PARAM_START, methodSignature);
-		if (firstParen == -1) {
-			return ""; //$NON-NLS-1$
-		}
-
-		StringBuffer buffer = new StringBuffer(methodSignature.length + 10);
-
-		// decode declaring class name
-		// it can be either an array signature or a type signature
-		if (declaringClass.length > 0) {
-			char[] declaringClassSignature = null;
-			if (declaringClass[0] == Signature.C_ARRAY) {
-				CharOperation.replace(declaringClass, '/', '.');
-				declaringClassSignature = Signature.toCharArray(declaringClass);
-			} else {
-				CharOperation.replace(declaringClass, '/', '.');
-				declaringClassSignature = declaringClass;
-			}
-			int lastIndexOfSlash = CharOperation.lastIndexOf('.', declaringClassSignature);
-			if (compact && lastIndexOfSlash != -1) {
-				buffer.append(declaringClassSignature, lastIndexOfSlash + 1, declaringClassSignature.length - lastIndexOfSlash - 1);
-			} else {
-				buffer.append(declaringClassSignature);
-			}
-		}
-
-		// selector
-		if (!isConstructor) {
-			buffer.append('.');
-			if (methodName != null) {
-				buffer.append(methodName);
-			}
-		}
-
-		// parameters
-		buffer.append('(');
-		char[][] pts = Signature.getParameterTypes(methodSignature);
-		for (int i = 0, max = pts.length; i < max; i++) {
-			appendTypeSignature(pts[i], 0, buffer, compact);
-			if (i != pts.length - 1) {
-				buffer.append(',');
-				buffer.append(' ');
-			}
-		}
-		buffer.append(')');
-
-		if (!isConstructor) {
-			buffer.append(" : "); //$NON-NLS-1$
-			// return type
-			if (includeReturnType) {
-				char[] rts = Signature.getReturnType(methodSignature);
-				appendTypeSignature(rts, 0, buffer, compact);
-			}
-		}
-		return String.valueOf(buffer);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/messages.properties b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/messages.properties
deleted file mode 100644
index e8c3956..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/messages.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-differentNumberOfEntries=Difference in [{0}]: {1} contains {2} files and {3} contains {4} files
-differentEntry=Difference found for {0} within [{1}] from {2}
-missingEntry=Missing {0} within [{1}] from {2}
-ioexception=IOException comparing {0} and {1} 
-
-### Disassembler messages
-
-### disassembler
-disassembler_opentypedeclaration =\ '{'
-disassembler_closetypedeclaration = }
-disassembler_endofmethodheader = ;
-disassembler_begincommentline = //\ 
-disassembler_fieldhasconstant =\ =\ 
-disassembler_endoffieldheader = ;
-disassembler_sourceattributeheader = Compiled from\ 
-disassembler_enclosingmethodheader = Enclosing Method:
-disassembler_exceptiontableheader = Exception Table:
-disassembler_innerattributesheader = Inner classes:
-disassembler_inner_class_info_name = inner class info:
-disassembler_outer_class_info_name = outer class info:
-disassembler_inner_name = inner name:
-disassembler_inner_accessflags = accessflags:\ 
-disassembler_signatureattributeheader = // Signature: {0}
-disassembler_indentation = \  
-disassembler_space = \ 
-disassembler_comma = ,
-disassembler_openinnerclassentry = [
-disassembler_closeinnerclassentry = ]
-disassembler_deprecated =\ (deprecated)
-disassembler_annotationdefaultheader = Annotation Default:\ 
-disassembler_annotationdefaultvalue= {0} (constant type)
-disassembler_annotationenumvalue = {0}.{1}(enum type)
-disassembler_annotationclassvalue = {0} (class type)
-disassembler_annotationannotationvalue = annotation value =
-disassembler_annotationarrayvaluestart = [
-disassembler_annotationarrayvalueend = ]
-disassembler_annotationentrystart = @{0}(
-disassembler_annotationentryend = )
-disassembler_annotationcomponent = {0}=
-disassembler_runtimevisibleannotationsattributeheader= RuntimeVisibleAnnotations:\ 
-disassembler_runtimeinvisibleannotationsattributeheader= RuntimeInvisibleAnnotations:\ 
-disassembler_runtimevisibleparameterannotationsattributeheader= RuntimeVisibleParameterAnnotations:\ 
-disassembler_runtimeinvisibleparameterannotationsattributeheader= RuntimeInvisibleParameterAnnotations:\ 
-disassembler_parameterannotationentrystart=Number of annotations for parameter {0}: {1}
-### classfileformat decoding
-classfileformat_versiondetails =\ (version {0} : {1}.{2}, {3})
-classfileformat_methoddescriptor = // Method descriptor {0}
-classfileformat_fieldddescriptor = // Field descriptor {0}
-classfileformat_stacksAndLocals= // Stack: {0}, Locals: {1}
-classfileformat_superflagisnotset = no super bit
-classfileformat_superflagisset = super bit
-classfileformat_clinitname = '{'}
-classformat_classformatexception = Class Format Exception
-classfileformat_versionUnknown = unknown
-
-### string displayed for each opcode
-classformat_anewarray = {0} {1}
-classformat_checkcast = {0} {1}
-classformat_instanceof = {0} {1}
-classformat_ldc_w_class = {0} <Class {1}>
-classformat_ldc_w_float = {0} <Float {1}>
-classformat_ldc_w_integer = {0} <Integer {1}>
-classformat_ldc_w_string = {0} <String "{1}">
-classformat_ldc2_w_long = {0} <Long {1}>
-classformat_ldc2_w_double = {0} <Double {1}>
-classformat_multianewarray = {0} {1}
-classformat_new = {0} {1}
-classformat_iinc = {0} {1} {2}{3}
-classformat_invokespecial ={0} {1}
-classformat_invokeinterface ={0} {2} [nargs: {1}]
-classformat_invokestatic ={0} {1}
-classformat_invokevirtual ={0} {1}
-classformat_getfield ={0} {1}.{2} : {3}
-classformat_getstatic ={0} {1}.{2} : {3}
-classformat_putstatic ={0} {1}.{2} : {3}
-classformat_putfield ={0} {1}.{2} : {3}
-classformat_newarray_boolean = {0} boolean
-classformat_newarray_char = {0} char
-classformat_newarray_float = {0} float
-classformat_newarray_double = {0} double
-classformat_newarray_byte = {0} byte
-classformat_newarray_short = {0} short
-classformat_newarray_int = {0} int
-classformat_newarray_long = {0} long
-classformat_store = {0}{1}
-classformat_load = {0}{1}
-classfileformat_anyexceptionhandler=any
-classfileformat_exceptiontableentry = [pc: {0}, pc: {1}] -> {2} when : {3}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/FileMirrorLog.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/FileMirrorLog.java
deleted file mode 100644
index 8ea5bfa..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/FileMirrorLog.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.mirroring;
-
-import java.io.*;
-import java.util.Date;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public class FileMirrorLog implements IArtifactMirrorLog {
-
-	private static final String INDENT = "\t"; //$NON-NLS-1$
-	private static final String SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
-	private BufferedWriter out;
-	private boolean consoleMessage = false;
-	private int minSeverity = IStatus.OK;
-	private boolean hasRoot = false;
-
-	public FileMirrorLog(String location, int minSeverity, String root) {
-		this.minSeverity = minSeverity;
-		try {
-			File log = new File(location);
-			if (log.getParentFile().exists() || log.getParentFile().mkdirs()) {
-				out = new BufferedWriter(new FileWriter(log, true));
-				if (root != null) {
-					log(root + " - " + new Date()); //$NON-NLS-1$
-					hasRoot = true;
-				}
-			} else
-				throw new IOException(Messages.exception_unableToCreateParentDir);
-		} catch (IOException e) {
-			exceptionOccurred(null, e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#log(org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor, org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(IArtifactDescriptor descriptor, IStatus status) {
-		if (status.getSeverity() >= minSeverity) {
-			log(descriptor.toString());
-			log(status, INDENT);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#log(org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(IStatus status) {
-		log(status, ""); //$NON-NLS-1$
-	}
-
-	/*
-	 * Write a status to the log, indenting it based on status depth.
-	 * @param status the status to log
-	 * @param depth the depth of the status
-	 */
-	private void log(IStatus status, String prefix) {
-		if (status.getSeverity() >= minSeverity) {
-			// Write status to log
-			log(prefix + status.getMessage());
-
-			// Write exception to log if applicable
-			String exceptionMessage = status.getException() != null ? status.getException().getMessage() : null;
-			if (exceptionMessage != null)
-				log(prefix + exceptionMessage);
-
-			// Write the children of the status to the log
-			IStatus[] nestedStatus = status.getChildren();
-			if (nestedStatus != null)
-				for (int i = 0; i < nestedStatus.length; i++)
-					log(nestedStatus[i], prefix + INDENT);
-		}
-	}
-
-	/*
-	 * Write a message to the log
-	 * @param message the message to write
-	 */
-	private void log(String message) {
-		try {
-			out.write((hasRoot ? INDENT : "") + message + SEPARATOR); //$NON-NLS-1$
-		} catch (IOException e) {
-			exceptionOccurred((hasRoot ? INDENT : "") + message, e); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#close()
-	 */
-	public void close() {
-		try {
-			if (out != null)
-				out.close();
-		} catch (IOException e) {
-			exceptionOccurred(null, e);
-		}
-	}
-
-	/*
-	 * Show an error message if this the first time, and print status messages.
-	 */
-	private void exceptionOccurred(String message, Exception e) {
-		if (!consoleMessage) {
-			System.err.println(Messages.MirrorLog_Exception_Occurred);
-			e.printStackTrace(System.err);
-			System.err.println(Messages.MirrorLog_Console_Log);
-			consoleMessage = true;
-		}
-		if (message != null)
-			System.out.println(message);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/IArtifactMirrorLog.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/IArtifactMirrorLog.java
deleted file mode 100644
index 727929d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/IArtifactMirrorLog.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.mirroring;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public interface IArtifactMirrorLog {
-
-	// Log a status associated with a descriptor 
-	public void log(IArtifactDescriptor descriptor, IStatus status);
-
-	// Log a status
-	public void log(IStatus status);
-
-	// Notify that logging is completed & cleanup resources 
-	public void close();
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
deleted file mode 100644
index ba846b0..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *  	Compeople AG (Stefan Liebig) - various ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.mirroring;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.RawMirrorRequest;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.ArtifactComparatorFactory;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactComparator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.internal.repository.tools.Activator;
-import org.eclipse.equinox.p2.internal.repository.tools.Messages;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A utility class that performs mirroring of artifacts between repositories.
- */
-public class Mirroring {
-	private IArtifactRepository source;
-	private IArtifactRepository destination;
-	private IArtifactRepository baseline;
-	private boolean raw;
-	private boolean compare = false;
-	private boolean validate = false;
-	private IArtifactComparator comparator;
-	private String comparatorID;
-	private List keysToMirror;
-	private IArtifactMirrorLog comparatorLog;
-
-	private IArtifactComparator getComparator() {
-		if (comparator == null)
-			comparator = ArtifactComparatorFactory.getArtifactComparator(comparatorID);
-		return comparator;
-	}
-
-	public Mirroring(IArtifactRepository source, IArtifactRepository destination, boolean raw) {
-		this.source = source;
-		this.destination = destination;
-		this.raw = raw;
-	}
-
-	public void setCompare(boolean compare) {
-		this.compare = compare;
-	}
-
-	public void setComparatorId(String id) {
-		this.comparatorID = id;
-	}
-
-	public void setComparatorLog(IArtifactMirrorLog comparatorLog) {
-		this.comparatorLog = comparatorLog;
-	}
-
-	public void setBaseline(IArtifactRepository baseline) {
-		this.baseline = baseline;
-	}
-
-	public void setValidate(boolean validate) {
-		this.validate = validate;
-	}
-
-	public MultiStatus run(boolean failOnError, boolean verbose) {
-		if (!destination.isModifiable())
-			throw new IllegalStateException(NLS.bind(Messages.exception_destinationNotModifiable, destination.getLocation()));
-		if (compare)
-			getComparator(); //initialize the comparator. Only needed if we're comparing. Used to force error if comparatorID is invalid.
-		MultiStatus multiStatus = new MultiStatus(Activator.ID, IStatus.OK, Messages.message_mirroringStatus, null);
-		Iterator keys = null;
-		if (keysToMirror != null)
-			keys = keysToMirror.iterator();
-		else {
-			Collector result = source.query(ArtifactKeyQuery.ALL_KEYS, null);
-			keys = result.iterator();
-		}
-		while (keys.hasNext()) {
-			IArtifactKey key = (IArtifactKey) keys.next();
-			IArtifactDescriptor[] descriptors = source.getArtifactDescriptors(key);
-			for (int j = 0; j < descriptors.length; j++) {
-				IStatus result = mirror(descriptors[j], verbose);
-				//Only log INFO and WARNING if we want verbose logging. Always log ERRORs
-				if (!result.isOK() && (verbose || result.getSeverity() == IStatus.ERROR))
-					multiStatus.add(result);
-				//stop mirroring as soon as we have an error
-				if (failOnError && multiStatus.getSeverity() == IStatus.ERROR)
-					return multiStatus;
-			}
-		}
-		if (validate) {
-			// Simple validation of the mirror
-			IStatus validation = validateMirror(verbose);
-			if (!validation.isOK() && (verbose || validation.getSeverity() == IStatus.ERROR))
-				multiStatus.add(validation);
-		}
-		return multiStatus;
-	}
-
-	private IStatus mirror(IArtifactDescriptor descriptor, boolean verbose) {
-		IArtifactDescriptor newDescriptor = raw ? descriptor : new ArtifactDescriptor(descriptor);
-
-		if (verbose)
-			System.out.println("Mirroring: " + descriptor.getArtifactKey() + " (Descriptor: " + descriptor + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		if (compare && baseline != null)
-			if (baseline.contains(descriptor)) {
-				// we have to create an output stream based on the descriptor found in the baseline otherwise all
-				// the properties will be copied over from the wrong descriptor and our repository will be inconsistent.
-				IArtifactDescriptor baselineDescriptor = getBaselineDescriptor(descriptor);
-
-				// if we found a descriptor in the baseline then we'll use it to copy the artifact
-				if (baselineDescriptor != null) {
-					MultiStatus status = new MultiStatus(Activator.ID, IStatus.OK, NLS.bind(Messages.Mirroring_compareAndDownload, descriptor), null);
-					//Compare source against baseline
-					IStatus comparison = getComparator().compare(baseline, baselineDescriptor, source, descriptor);
-					if (comparatorLog != null)
-						comparatorLog.log(baselineDescriptor, comparison);
-					status.add(comparison);
-					if (destination.contains(baselineDescriptor))
-						return compareToDestination(baselineDescriptor);
-
-					//download artifact from baseline
-					status.add(downloadArtifact(baseline, baselineDescriptor, baselineDescriptor));
-					return status;
-				}
-			}
-
-		// Check if the destination already contains the file. 
-		if (destination.contains(newDescriptor)) {
-			if (compare)
-				return compareToDestination(descriptor);
-			String message = NLS.bind(Messages.mirror_alreadyExists, descriptor, destination);
-			return new Status(IStatus.INFO, Activator.ID, ProvisionException.ARTIFACT_EXISTS, message, null);
-		}
-
-		return downloadArtifact(source, newDescriptor, descriptor);
-	}
-
-	/**
-	 * Takes an IArtifactDescriptor descriptor and the ProvisionException that was thrown when destination.getOutputStream(descriptor)
-	 * and compares descriptor to the duplicate descriptor in the destination.
-	 * 
-	 * Callers should verify the ProvisionException was thrown due to the artifact existing in the destination before invoking this method.
-	 * @param descriptor
-	 * @return the status of the compare
-	 */
-	private IStatus compareToDestination(IArtifactDescriptor descriptor) {
-		IArtifactDescriptor[] destDescriptors = destination.getArtifactDescriptors(descriptor.getArtifactKey());
-		IArtifactDescriptor destDescriptor = null;
-		for (int i = 0; destDescriptor == null && i < destDescriptors.length; i++) {
-			if (destDescriptors[i].equals(descriptor))
-				destDescriptor = destDescriptors[i];
-		}
-		if (destDescriptor == null)
-			return new Status(IStatus.INFO, Activator.ID, ProvisionException.ARTIFACT_EXISTS, Messages.Mirroring_noMatchingDescriptor, null);
-		return compare(source, descriptor, destination, destDescriptor);
-	}
-
-	private IStatus compare(IArtifactRepository sourceRepository, IArtifactDescriptor sourceDescriptor, IArtifactRepository destRepository, IArtifactDescriptor destDescriptor) {
-		IStatus comparison = getComparator().compare(sourceRepository, sourceDescriptor, destRepository, destDescriptor);
-		if (comparatorLog != null)
-			comparatorLog.log(sourceDescriptor, comparison);
-		return comparison;
-	}
-
-	/*
-	 * Create, and execute a MirrorRequest for a given descriptor.
-	 */
-	private IStatus downloadArtifact(IArtifactRepository sourceRepo, IArtifactDescriptor destDescriptor, IArtifactDescriptor srcDescriptor) {
-		RawMirrorRequest request = new RawMirrorRequest(srcDescriptor, destDescriptor, destination);
-		request.setSourceRepository(sourceRepo);
-
-		request.perform(new NullProgressMonitor());
-
-		return request.getResult();
-	}
-
-	public void setArtifactKeys(IArtifactKey[] keys) {
-		this.keysToMirror = Arrays.asList(keys);
-	}
-
-	/*
-	 *  Get the equivalent descriptor from the baseline repository
-	 */
-	private IArtifactDescriptor getBaselineDescriptor(IArtifactDescriptor descriptor) {
-		IArtifactDescriptor[] baselineDescriptors = baseline.getArtifactDescriptors(descriptor.getArtifactKey());
-		for (int i = 0; i < baselineDescriptors.length; i++) {
-			if (baselineDescriptors[i].equals(descriptor))
-				return baselineDescriptors[i];
-		}
-		return null;
-	}
-
-	/* 
-	 * Simple validation of a mirror to see if all source descriptors are present in the destination
-	 */
-	private IStatus validateMirror(boolean verbose) {
-		MultiStatus status = new MultiStatus(Activator.ID, 0, Messages.Mirroring_ValidationError, null);
-
-		// The keys that were mirrored in this session
-		Iterator keys = null;
-		if (keysToMirror != null) {
-			keys = keysToMirror.iterator();
-		} else {
-			Collector result = source.query(ArtifactKeyQuery.ALL_KEYS, null);
-			keys = result.iterator();
-		}
-		while (keys.hasNext()) {
-			IArtifactKey artifactKey = (IArtifactKey) keys.next();
-			IArtifactDescriptor[] srcDescriptors = source.getArtifactDescriptors(artifactKey);
-			IArtifactDescriptor[] destDescriptors = destination.getArtifactDescriptors(artifactKey);
-
-			Arrays.sort(srcDescriptors, new ArtifactDescriptorComparator());
-			Arrays.sort(destDescriptors, new ArtifactDescriptorComparator());
-
-			int src = 0;
-			int dest = 0;
-			while (src < srcDescriptors.length && dest < destDescriptors.length) {
-				if (!destDescriptors[dest].equals(srcDescriptors[src])) {
-					if (destDescriptors[dest].toString().compareTo((srcDescriptors[src].toString())) > 0) {
-						// Missing an artifact
-						if (verbose)
-							System.out.println(NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src]));
-						status.add(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
-					} else {
-						// Its okay if there are extra descriptors in the destination
-						dest++;
-					}
-				} else {
-					// check properties for differences
-					Map destMap = destDescriptors[dest].getProperties();
-					Map srcProperties = null;
-					if (baseline != null) {
-						IArtifactDescriptor baselineDescriptor = getBaselineDescriptor(destDescriptors[dest]);
-						if (baselineDescriptor != null)
-							srcProperties = baselineDescriptor.getProperties();
-					}
-					// Baseline not set, or could not find descriptor so we'll use the source descriptor
-					if (srcProperties == null)
-						srcProperties = srcDescriptors[src].getProperties();
-
-					// Cycle through properties of the originating descriptor & compare
-					for (Iterator iter = srcProperties.keySet().iterator(); iter.hasNext();) {
-						String key = (String) iter.next();
-						if (!srcProperties.get(key).equals(destMap.get(key))) {
-							if (verbose)
-								System.out.println(NLS.bind(Messages.Mirroring_differentDescriptorProperty, new Object[] {destDescriptors[dest], key, srcProperties.get(key), destMap.get(key)}));
-							status.add(new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.Mirroring_differentDescriptorProperty, new Object[] {destDescriptors[dest], key, srcProperties.get(key), destMap.get(key)})));
-						}
-					}
-					src++;
-					dest++;
-				}
-			}
-
-			// If there are still source descriptors they're missing from the destination repository 
-			while (src < srcDescriptors.length) {
-				if (verbose)
-					System.out.println(NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src]));
-				status.add(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
-			}
-		}
-
-		return status;
-	}
-
-	// Simple comparator for ArtifactDescriptors
-	protected class ArtifactDescriptorComparator implements Comparator {
-
-		public int compare(Object arg0, Object arg1) {
-			if (arg0 != null && arg1 != null)
-				return arg0.toString().compareTo(arg1.toString());
-			else if (arg1 == null && arg0 == null)
-				return 0;
-			else if (arg1 == null)
-				return 1;
-			return -1;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/XMLMirrorLog.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/XMLMirrorLog.java
deleted file mode 100644
index 0b488f7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/XMLMirrorLog.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.mirroring;
-
-import java.io.*;
-import java.util.Date;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public class XMLMirrorLog implements IArtifactMirrorLog {
-	private static final String DEFAULT_FORMAT = "canonical"; //$NON-NLS-1$
-	// Constants used in XML tags
-	private static final String LOG = "log"; //$NON-NLS-1$
-	private static final String TIME_ATTRIBUTE = "time"; //$NON-NLS-1$
-	private static final String DESCRIPTOR_ELEMENT = "descriptor"; //$NON-NLS-1$
-	private static final String DESCRIPTOR_CLASSIFIER_ATTRIBUTE = "classifier"; //$NON-NLS-1$
-	private static final String DESCRIPTOR_FORMAT_ATTRIBUTE = "format"; //$NON-NLS-1$
-	private static final String DESCRIPTOR_ID_ATTRIBUTE = "id"; //$NON-NLS-1$
-	private static final String DESCRIPTOR_VERSION_ATTRIBUTE = "version"; //$NON-NLS-1$
-	private static final String STATUS_ELEMENT = "status"; //$NON-NLS-1$
-	private static final String STATUS_SEVERITY_ATTRIBUTE = "severity"; //$NON-NLS-1$
-	private static final String STATUS_MESSAGE_ATTRIBUTE = "message"; //$NON-NLS-1$
-
-	private int minStatus = IStatus.OK;
-	private XMLWriter writer;
-	private OutputStream outputStream;
-	private boolean consoleMessage = false;
-
-	public XMLMirrorLog(String location, int minStatus, String root) {
-		this.minStatus = minStatus;
-
-		try {
-			outputStream = new FileOutputStream(location);
-			writer = new XMLWriter(outputStream, null);
-			if (root != null)
-				writer.start(root.toLowerCase());
-			else
-				writer.start(LOG);
-			writer.attribute(TIME_ATTRIBUTE, new Date());
-		} catch (UnsupportedEncodingException e) {
-			exceptionOccurred(e);
-		} catch (FileNotFoundException e) {
-			exceptionOccurred(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#log(org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactDescriptor, org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(IArtifactDescriptor descriptor, IStatus status) {
-		if (status.getSeverity() < minStatus)
-			return;
-		// Start descriptor tag
-		if (writer != null) {
-			writer.start(DESCRIPTOR_ELEMENT);
-			writer.attribute(DESCRIPTOR_ID_ATTRIBUTE, descriptor.getArtifactKey().getId());
-			writer.attribute(DESCRIPTOR_CLASSIFIER_ATTRIBUTE, descriptor.getArtifactKey().getClassifier());
-			writer.attribute(DESCRIPTOR_VERSION_ATTRIBUTE, descriptor.getArtifactKey().getVersion());
-			if (descriptor.getProperties().get(IArtifactDescriptor.FORMAT) != null)
-				writer.attribute(DESCRIPTOR_FORMAT_ATTRIBUTE, descriptor.getProperties().get(IArtifactDescriptor.FORMAT));
-			else
-				writer.attribute(DESCRIPTOR_FORMAT_ATTRIBUTE, DEFAULT_FORMAT);
-		} else
-			// Creation of the XML writer failed, dump results to the console
-			System.out.println(descriptor);
-
-		log(status);
-
-		// Close descriptor tag
-		if (writer != null)
-			writer.end();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#log(org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(IStatus status) {
-		if (status.getSeverity() < minStatus)
-			return;
-
-		if (writer != null) {
-			// Start status tag
-			writer.start(STATUS_ELEMENT);
-			// Set severity attribute
-			switch (status.getSeverity()) {
-				case IStatus.OK :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, "OK"); //$NON-NLS-1$
-					break;
-				case IStatus.INFO :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, "INFO"); //$NON-NLS-1$
-					break;
-				case IStatus.WARNING :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, "WARNING"); //$NON-NLS-1$
-					break;
-				case IStatus.ERROR :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, "ERROR"); //$NON-NLS-1$
-					break;
-				case IStatus.CANCEL :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, "CANCEL"); //$NON-NLS-1$
-					break;
-				default :
-					writer.attribute(STATUS_SEVERITY_ATTRIBUTE, status.getSeverity());
-			}
-			// Set  message attribute
-			writer.attribute(STATUS_MESSAGE_ATTRIBUTE, status.getMessage());
-		} else
-			// Creation of the XML writer failed, dump results to the console
-			System.out.println(status);
-
-		// Log children statuses
-		IStatus[] nestedStatus = status.getChildren();
-		if (nestedStatus != null)
-			for (int i = 0; i < nestedStatus.length; i++)
-				log(nestedStatus[i]);
-
-		// Close status tag
-		if (writer != null)
-			writer.end();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.p2.artifact.mirror.IArtifactMirrorLog#close()
-	 */
-	public void close() {
-		try {
-			if (writer != null) {
-				// Close opening tag & flush results
-				writer.end();
-				writer.flush();
-			}
-		} finally {
-			if (outputStream != null)
-				try {
-					// Close output stream
-					outputStream.close();
-				} catch (IOException e) {
-					exceptionOccurred(e);
-				}
-		}
-	}
-
-	/*
-	 * Show an error message if this the first time
-	 */
-	private void exceptionOccurred(Exception e) {
-		if (!consoleMessage) {
-			System.err.println(Messages.MirrorLog_Exception_Occurred);
-			e.printStackTrace(System.err);
-			System.err.println(Messages.MirrorLog_Console_Log);
-			consoleMessage = true;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
deleted file mode 100644
index 0c09fb9..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
-import org.eclipse.equinox.p2.repository.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.ServiceReference;
-
-public abstract class AbstractApplication {
-	protected boolean removeAddedRepositories = true;
-
-	protected List sourceRepositories = new ArrayList(); //List of repository descriptors
-	protected List artifactReposToRemove = new ArrayList();
-	protected List metadataReposToRemove = new ArrayList();
-	protected List sourceIUs = new ArrayList();
-	private List destinationRepos = new ArrayList();
-
-	protected IArtifactRepository destinationArtifactRepository = null;
-	protected IMetadataRepository destinationMetadataRepository = null;
-
-	private CompositeMetadataRepository compositeMetadataRepository = null;
-	private CompositeArtifactRepository compositeArtifactRepository = null;
-
-	protected IProvisioningAgent agent;
-
-	public AbstractApplication() {
-		super();
-		try {
-			setupAgent();
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-		}
-	}
-
-	private void setupAgent() throws ProvisionException {
-		//note if we ever wanted these applications to act on a different agent than
-		//the currently running system we would need to set it here
-		ServiceReference agentRef = Activator.getBundleContext().getServiceReference(IProvisioningAgent.SERVICE_NAME);
-		if (agentRef != null) {
-			agent = (IProvisioningAgent) Activator.getBundleContext().getService(agentRef);
-			if (agent != null)
-				return;
-		}
-		//there is no agent around so we need to create one
-		ServiceReference providerRef = Activator.getBundleContext().getServiceReference(IProvisioningAgentProvider.SERVICE_NAME);
-		if (providerRef == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		IProvisioningAgentProvider provider = (IProvisioningAgentProvider) Activator.getBundleContext().getService(providerRef);
-		if (provider == null)
-			throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
-		//obtain agent for currently running system
-		agent = provider.createAgent(null);
-		Activator.getBundleContext().ungetService(providerRef);
-	}
-
-	public void setSourceIUs(List ius) {
-		sourceIUs = ius;
-	}
-
-	protected void finalizeRepositories() throws ProvisionException {
-		if (removeAddedRepositories) {
-			IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-			for (Iterator iter = artifactReposToRemove.iterator(); iter.hasNext();)
-				artifactRepositoryManager.removeRepository((URI) iter.next());
-			IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-			for (Iterator iter = metadataReposToRemove.iterator(); iter.hasNext();)
-				metadataRepositoryManager.removeRepository((URI) iter.next());
-		}
-		metadataReposToRemove = null;
-		artifactReposToRemove = null;
-		compositeArtifactRepository = null;
-		compositeMetadataRepository = null;
-		destinationArtifactRepository = null;
-		destinationMetadataRepository = null;
-	}
-
-	protected IMetadataRepositoryManager getMetadataRepositoryManager() {
-		return (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	protected IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	public void initializeRepos(IProgressMonitor progress) throws ProvisionException {
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		URI curLocation = null;
-		try {
-			for (Iterator iter = sourceRepositories.iterator(); iter.hasNext();) {
-				RepositoryDescriptor repo = (RepositoryDescriptor) iter.next();
-				curLocation = repo.getRepoLocation();
-				if (repo.isBoth()) {
-					addRepository(artifactRepositoryManager, curLocation, 0, progress);
-					addRepository(metadataRepositoryManager, curLocation, 0, progress);
-				} else if (repo.isArtifact())
-					addRepository(artifactRepositoryManager, curLocation, 0, progress);
-				else if (repo.isMetadata())
-					addRepository(metadataRepositoryManager, curLocation, 0, progress);
-				else
-					throw new ProvisionException(NLS.bind(Messages.unknown_repository_type, repo.getRepoLocation()));
-			}
-		} catch (ProvisionException e) {
-			if (e.getCause() instanceof MalformedURLException) {
-				throw new ProvisionException(NLS.bind(Messages.exception_invalidSource, curLocation), e);
-			}
-			throw e;
-		}
-		processDestinationRepos(artifactRepositoryManager, metadataRepositoryManager);
-	}
-
-	//Helper to add a repository. It takes care of adding the repos to the deletion list and loading it 
-	protected IMetadataRepository addRepository(IMetadataRepositoryManager manager, URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		if (!manager.contains(location))
-			metadataReposToRemove.add(location);
-		return manager.loadRepository(location, flags, monitor);
-	}
-
-	//Helper to add a repository. It takes care of adding the repos to the deletion list and loading it
-	protected IArtifactRepository addRepository(IArtifactRepositoryManager manager, URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		if (!manager.contains(location))
-			artifactReposToRemove.add(location);
-		return manager.loadRepository(location, flags, monitor);
-	}
-
-	private void processDestinationRepos(IArtifactRepositoryManager artifactRepositoryManager, IMetadataRepositoryManager metadataRepositoryManager) throws ProvisionException {
-		RepositoryDescriptor artifactRepoDescriptor = null;
-		RepositoryDescriptor metadataRepoDescriptor = null;
-
-		Iterator iter = destinationRepos.iterator();
-		while (iter.hasNext() && (artifactRepoDescriptor == null || metadataRepoDescriptor == null)) {
-			RepositoryDescriptor repo = (RepositoryDescriptor) iter.next();
-			if (repo.isArtifact() && artifactRepoDescriptor == null)
-				artifactRepoDescriptor = repo;
-			if (repo.isMetadata() && metadataRepoDescriptor == null)
-				metadataRepoDescriptor = repo;
-		}
-
-		if (artifactRepoDescriptor != null)
-			destinationArtifactRepository = initializeDestination(artifactRepoDescriptor, artifactRepositoryManager);
-		if (metadataRepoDescriptor != null)
-			destinationMetadataRepository = initializeDestination(metadataRepoDescriptor, metadataRepositoryManager);
-
-		if (destinationMetadataRepository == null && destinationArtifactRepository == null)
-			throw new ProvisionException(Messages.AbstractApplication_no_valid_destinations);
-	}
-
-	public IMetadataRepository getDestinationMetadataRepository() {
-		return destinationMetadataRepository;
-	}
-
-	public IArtifactRepository getDestinationArtifactRepository() {
-		return destinationArtifactRepository;
-	}
-
-	protected IMetadataRepository initializeDestination(RepositoryDescriptor toInit, IMetadataRepositoryManager mgr) throws ProvisionException {
-		try {
-			IMetadataRepository repository = addRepository(mgr, toInit.getRepoLocation(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, null);
-			if (initDestinationRepository(repository, toInit))
-				return repository;
-		} catch (ProvisionException e) {
-			//fall through and create a new repository below
-		}
-
-		IMetadataRepository source = null;
-		try {
-			if (toInit.getFormat() != null)
-				source = mgr.loadRepository(toInit.getFormat(), 0, null);
-		} catch (ProvisionException e) {
-			//Ignore.
-		}
-		//This code assumes source has been successfully loaded before this point
-		//No existing repository; create a new repository at destinationLocation but with source's attributes.
-		try {
-			IMetadataRepository result = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : toInit.getRepoLocation().toString()), IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, source != null ? source.getProperties() : null);
-			if (toInit.isCompressed() && !result.getProperties().containsKey(IRepository.PROP_COMPRESSED))
-				result.setProperty(IRepository.PROP_COMPRESSED, "true"); //$NON-NLS-1$
-			return (IMetadataRepository) RepositoryHelper.validDestinationRepository(result);
-		} catch (UnsupportedOperationException e) {
-			throw new ProvisionException(NLS.bind(Messages.exception_invalidDestination, toInit.getRepoLocation()), e.getCause());
-		}
-	}
-
-	protected IArtifactRepository initializeDestination(RepositoryDescriptor toInit, IArtifactRepositoryManager mgr) throws ProvisionException {
-		try {
-			IArtifactRepository repository = addRepository(mgr, toInit.getRepoLocation(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, null);
-			if (initDestinationRepository(repository, toInit))
-				return repository;
-		} catch (ProvisionException e) {
-			//fall through and create a new repository below
-		}
-		IArtifactRepository source = null;
-		try {
-			if (toInit.getFormat() != null)
-				source = mgr.loadRepository(toInit.getFormat(), 0, null);
-		} catch (ProvisionException e) {
-			//Ignore.
-		}
-		//This code assumes source has been successfully loaded before this point
-		//No existing repository; create a new repository at destinationLocation but with source's attributes.
-		// TODO for now create a Simple repo by default.
-		try {
-			IArtifactRepository result = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : toInit.getRepoLocation().toString()), IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, source != null ? source.getProperties() : null);
-			if (toInit.isCompressed() && !result.getProperties().containsKey(IRepository.PROP_COMPRESSED))
-				result.setProperty(IRepository.PROP_COMPRESSED, "true"); //$NON-NLS-1$
-			return (IArtifactRepository) RepositoryHelper.validDestinationRepository(result);
-		} catch (UnsupportedOperationException e) {
-			throw new ProvisionException(NLS.bind(Messages.exception_invalidDestination, toInit.getRepoLocation()), e.getCause());
-		}
-	}
-
-	protected boolean initDestinationRepository(IRepository repository, RepositoryDescriptor descriptor) {
-		if (repository != null && repository.isModifiable()) {
-			if (descriptor.getName() != null)
-				repository.setName(descriptor.getName());
-			if (repository instanceof ICompositeRepository && !descriptor.isAppend())
-				((ICompositeRepository) repository).removeAllChildren();
-			else if (repository instanceof IMetadataRepository && !descriptor.isAppend())
-				((IMetadataRepository) repository).removeAll();
-			else if (repository instanceof IArtifactRepository && !descriptor.isAppend())
-				((IArtifactRepository) repository).removeAll();
-			return true;
-		}
-		return false;
-	}
-
-	public IMetadataRepository getCompositeMetadataRepository() {
-		if (compositeMetadataRepository == null) {
-			try {
-				compositeMetadataRepository = new CompositeMetadataRepository(new URI("memory:/composite"), "parent metadata repo", null);//$NON-NLS-1$ //$NON-NLS-2$
-			} catch (URISyntaxException e) {
-				//Can't happen
-			}
-			for (Iterator iter = sourceRepositories.iterator(); iter.hasNext();) {
-				RepositoryDescriptor repo = (RepositoryDescriptor) iter.next();
-				if (repo.isMetadata())
-					compositeMetadataRepository.addChild(repo.getRepoLocation());
-			}
-		}
-		return compositeMetadataRepository;
-	}
-
-	public IArtifactRepository getCompositeArtifactRepository() {
-		if (compositeArtifactRepository == null) {
-			try {
-				compositeArtifactRepository = new CompositeArtifactRepository(new URI("memory:/composite"), "parent artifact repo", null);//$NON-NLS-1$ //$NON-NLS-2$
-			} catch (URISyntaxException e) {
-				//Can't happen
-			}
-			for (Iterator iter = sourceRepositories.iterator(); iter.hasNext();) {
-				RepositoryDescriptor repo = (RepositoryDescriptor) iter.next();
-				if (repo.isArtifact())
-					compositeArtifactRepository.addChild(repo.getRepoLocation());
-			}
-		}
-		return compositeArtifactRepository;
-	}
-
-	public boolean hasArtifactSources() {
-		return ((ICompositeRepository) getCompositeArtifactRepository()).getChildren().size() > 0;
-	}
-
-	public boolean hasMetadataSources() {
-		return ((ICompositeRepository) getCompositeMetadataRepository()).getChildren().size() > 0;
-	}
-
-	public abstract IStatus run(IProgressMonitor monitor) throws ProvisionException;
-
-	public void addDestination(RepositoryDescriptor descriptor) {
-		destinationRepos.add(descriptor);
-	}
-
-	public void addSource(RepositoryDescriptor repo) {
-		sourceRepositories.add(repo);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Activator.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Activator.java
deleted file mode 100644
index 497d862..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Activator.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class Activator implements BundleActivator {
-
-	public static final String ID = "org.eclipse.equinox.p2.transformer"; //$NON-NLS-1$
-	private static BundleContext bundleContext;
-
-	/*
-	 * Return the bundle context or <code>null</code>.
-	 */
-	public static BundleContext getBundleContext() {
-		return bundleContext;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-
-		// TODO needed to do this to ensure the profile registry was registered
-		Bundle bundle = getBundle("org.eclipse.equinox.p2.exemplarysetup"); //$NON-NLS-1$
-		if (bundle == null)
-			throw new ProvisionException(Messages.unable_to_start_exemplarysetup);
-		bundle.start(Bundle.START_TRANSIENT);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-
-	/*
-	 * Construct and return a URI from the given String. Log
-	 * and return null if there was a problem.
-	 */
-	public static URI getURI(String spec) {
-		if (spec == null)
-			return null;
-		try {
-			return URIUtil.fromString(spec);
-		} catch (URISyntaxException e) {
-			LogHelper.log(new Status(IStatus.WARNING, ID, NLS.bind(Messages.unable_to_process_uri, spec), e));
-		}
-		return null;
-	}
-
-	/*
-	 * Return the artifact repository manager. Throw an exception if it cannot be obtained.
-	 */
-	public static IArtifactRepositoryManager getArtifactRepositoryManager() throws ProvisionException {
-		IArtifactRepositoryManager manager = (IArtifactRepositoryManager) ServiceHelper.getService(getBundleContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new ProvisionException(Messages.no_artifactRepo_manager);
-		return manager;
-	}
-
-	/*
-	 * Return the profile registry. Throw an exception if it cannot be found.
-	 */
-	static IProfileRegistry getProfileRegistry() throws ProvisionException {
-		IProfileRegistry registry = (IProfileRegistry) ServiceHelper.getService(getBundleContext(), IProfileRegistry.SERVICE_NAME);
-		if (registry == null)
-			throw new ProvisionException(Messages.no_profile_registry);
-		return registry;
-	}
-
-	/*
-	 * Return the bundle with the given symbolic name, or null if it cannot be found.
-	 */
-	public static synchronized Bundle getBundle(String symbolicName) throws ProvisionException {
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(getBundleContext(), PackageAdmin.class.getName());
-		if (packageAdmin == null)
-			throw new ProvisionException(Messages.no_package_admin);
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0)
-				return bundles[i];
-		}
-		return null;
-	}
-
-	/*
-	 * Return the metadata repository manager. Throw an exception if it cannot be obtained.
-	 */
-	public static IMetadataRepositoryManager getMetadataRepositoryManager() throws ProvisionException {
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(getBundleContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		if (manager == null)
-			throw new ProvisionException(Messages.no_metadataRepo_manager);
-		return manager;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
deleted file mode 100644
index 840da04..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.MalformedURLException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.ICompositeRepository;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-
-public class CompositeRepositoryApplication extends AbstractApplication {
-	private List childrenToAdd = new ArrayList();
-	private List childrenToRemove = new ArrayList();
-	private boolean failOnExists = false;
-	private String comparatorID = null;
-
-	public IStatus run(IProgressMonitor monitor) throws ProvisionException {
-		try {
-			initializeRepos(new NullProgressMonitor());
-			// load repository
-			ICompositeRepository metadataRepo = (ICompositeRepository) destinationMetadataRepository;
-			CompositeArtifactRepository artifactRepo = (CompositeArtifactRepository) destinationArtifactRepository;
-
-			// Remove children from the Composite Repositories
-			for (Iterator iterator = childrenToRemove.iterator(); iterator.hasNext();) {
-				RepositoryDescriptor child = (RepositoryDescriptor) iterator.next();
-				if (child.isArtifact() && artifactRepo != null)
-					artifactRepo.removeChild(child.getOriginalRepoLocation());
-				if (child.isMetadata() && metadataRepo != null)
-					metadataRepo.removeChild(child.getOriginalRepoLocation());
-			}
-
-			// Add children to the Composite Repositories
-			for (Iterator iterator = childrenToAdd.iterator(); iterator.hasNext();) {
-				RepositoryDescriptor child = (RepositoryDescriptor) iterator.next();
-				if (child.isArtifact() && artifactRepo != null)
-					artifactRepo.addChild(child.getOriginalRepoLocation());
-				if (child.isMetadata() && metadataRepo != null)
-					metadataRepo.addChild(child.getOriginalRepoLocation());
-			}
-
-			if (comparatorID != null)
-				if (!artifactRepo.validate(comparatorID))
-					return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.CompositeRepositoryApplication_failedComparator, comparatorID));
-			return Status.OK_STATUS;
-		} finally {
-			finalizeRepositories();
-		}
-	}
-
-	public void addChild(RepositoryDescriptor child) {
-		childrenToAdd.add(child);
-	}
-
-	public void removeChild(RepositoryDescriptor child) {
-		childrenToRemove.add(child);
-	}
-
-	public void setFailOnExists(boolean value) {
-		failOnExists = value;
-	}
-
-	protected IArtifactRepository initializeDestination(RepositoryDescriptor toInit, IArtifactRepositoryManager mgr) throws ProvisionException {
-		// remove the repo first.
-		mgr.removeRepository(toInit.getRepoLocation());
-
-		// first try and load to see if one already exists at that location.
-		try {
-			IArtifactRepository repository = mgr.loadRepository(toInit.getRepoLocation(), null);
-			if (validRepositoryLocation(repository) && initDestinationRepository(repository, toInit))
-				return repository;
-			throw new ProvisionException(new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.CompositeRepository_composite_repository_exists, toInit.getRepoLocation())));
-		} catch (ProvisionException e) {
-			// re-throw the exception if we got anything other than "repo not found"
-			if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND) {
-				if (e.getCause() instanceof MalformedURLException)
-					throw new ProvisionException(NLS.bind(Messages.exception_invalidDestination, toInit.getRepoLocation()), e.getCause());
-				throw e;
-			}
-		}
-
-		IArtifactRepository source = null;
-		try {
-			if (toInit.getFormat() != null)
-				source = mgr.loadRepository(toInit.getFormat(), 0, null);
-		} catch (ProvisionException e) {
-			//Ignore.
-		}
-		//This code assumes source has been successfully loaded before this point
-		try {
-			//No existing repository; create a new repository at destinationLocation but with source's attributes.
-			IArtifactRepository repo = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : Messages.CompositeRepository_default_artifactRepo_name), IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, source != null ? source.getProperties() : null);
-			initRepository(repo, toInit);
-			return repo;
-		} catch (IllegalStateException e) {
-			mgr.removeRepository(toInit.getRepoLocation());
-			throw e;
-		}
-	}
-
-	protected IMetadataRepository initializeDestination(RepositoryDescriptor toInit, IMetadataRepositoryManager mgr) throws ProvisionException {
-		// remove the repo first.
-		mgr.removeRepository(toInit.getRepoLocation());
-
-		// first try and load to see if one already exists at that location.
-		try {
-			IMetadataRepository repository = mgr.loadRepository(toInit.getRepoLocation(), null);
-			if (!validRepositoryLocation(repository) && initDestinationRepository(repository, toInit))
-				throw new ProvisionException(new Status(IStatus.INFO, Activator.ID, NLS.bind(Messages.CompositeRepository_composite_repository_exists, toInit.getRepoLocation())));
-			return repository;
-		} catch (ProvisionException e) {
-			// re-throw the exception if we got anything other than "repo not found"
-			if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND) {
-				if (e.getCause() instanceof MalformedURLException)
-					throw new ProvisionException(NLS.bind(Messages.exception_invalidDestination, toInit.getRepoLocation()), e.getCause());
-				throw e;
-			}
-		}
-
-		IMetadataRepository source = null;
-		try {
-			if (toInit.getFormat() != null)
-				source = mgr.loadRepository(toInit.getFormat(), 0, null);
-		} catch (ProvisionException e) {
-			//Ignore
-		}
-		//This code assumes source has been successfully loaded before this point
-		try {
-			//No existing repository; create a new repository at destinationLocation but with source's attributes.
-			IMetadataRepository repo = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : Messages.CompositeRepository_default_metadataRepo_name), IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, source != null ? source.getProperties() : null);
-			initRepository(repo, toInit);
-			return repo;
-		} catch (IllegalStateException e) {
-			mgr.removeRepository(toInit.getRepoLocation());
-			throw e;
-		}
-	}
-
-	/*
-	 * Determine if the repository is valid for this operation
-	 */
-	private boolean validRepositoryLocation(IRepository repository) throws ProvisionException {
-		if (repository instanceof ICompositeRepository) {
-			// if we have an already existing repository at that location, then throw an error
-			// if the user told us to
-			if (failOnExists)
-				throw new ProvisionException(NLS.bind(Messages.CompositeRepository_composite_repository_exists, repository.getLocation()));
-			RepositoryHelper.validDestinationRepository(repository);
-			return true;
-		}
-		// we have a non-composite repo at this location. that is ok because we can co-exist.
-		return true;
-	}
-
-	/*
-	 * Initialize a new repository
-	 */
-	private void initRepository(IRepository repository, RepositoryDescriptor desc) {
-		RepositoryHelper.validDestinationRepository(repository);
-		if (desc.isCompressed() && !repository.getProperties().containsKey(IRepository.PROP_COMPRESSED))
-			repository.setProperty(IRepository.PROP_COMPRESSED, String.valueOf(true));
-	}
-
-	public void setComparator(String value) {
-		comparatorID = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Messages.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Messages.java
deleted file mode 100644
index c02fa61..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Messages.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.internal.repository.tools.messages"; //$NON-NLS-1$
-	public static String exception_destinationNotModifiable;
-	public static String exception_unableToRemoveRepo;
-	public static String exception_notLocalFileRepo;
-	public static String exception_noEngineService;
-	public static String exception_needIUsOrNonEmptyRepo;
-	public static String exception_needDestinationRepo;
-	public static String exception_onlyOneComparator;
-
-	public static String AbstractApplication_no_valid_destinations;
-
-	public static String AbstractRepositoryTask_unableToFind;
-
-	public static String CompositeRepository_composite_repository_exists;
-	public static String CompositeRepository_default_artifactRepo_name;
-	public static String CompositeRepository_default_metadataRepo_name;
-
-	public static String no_artifactRepo_manager;
-	public static String no_metadataRepo_manager;
-	public static String no_package_admin;
-	public static String no_profile_registry;
-	public static String unable_to_process_uri;
-	public static String unable_to_start_exemplarysetup;
-	public static String unknown_repository_type;
-
-	public static String MirrorApplication_artifactDestinationNoSource;
-	public static String MirrorApplication_metadataDestinationNoSource;
-	public static String MirrorApplication_no_IUs;
-	public static String MirrorApplication_set_source_repositories;
-
-	public static String ProcessRepo_location_not_url;
-	public static String ProcessRepo_must_be_local;
-
-	public static String SlicingOption_invalid_platform;
-	public static String exception_invalidDestination;
-	public static String exception_invalidSource;
-	public static String CompositeRepositoryApplication_failedComparator;
-	public static String Repo2RunnableTask_errorTransforming;
-	public static String SlicingOption_invalidFilterFormat;
-
-	public static String skippingInvalidFilter;
-
-	public static String message_mirroringStatus;
-	public static String Mirroring_compareAndDownload;
-	public static String mirror_alreadyExists;
-	public static String Mirroring_noMatchingDescriptor;
-	public static String Mirroring_ValidationError;
-	public static String Mirroring_missingDescriptor;
-	public static String Mirroring_differentDescriptorProperty;
-
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
deleted file mode 100644
index 214787e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/MirrorApplication.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.director.PermissiveSlicer;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.internal.repository.mirroring.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class MirrorApplication extends AbstractApplication implements IApplication, IExecutableExtension {
-	private static final String LOG_ROOT = "p2.mirror"; //$NON-NLS-1$
-	private static final String MIRROR_MODE = "metadataOrArtifacts"; //$NON-NLS-1$
-
-	protected SlicingOptions slicingOptions = new SlicingOptions();
-
-	private URI baseline;
-	private String comparatorID;
-	private boolean compare = false;
-	private boolean failOnError = true;
-	private boolean raw = true;
-	private boolean verbose = false;
-	private boolean validate = false;
-	private String metadataOrArtifacts = null;
-
-	private File mirrorLogFile; // file to log mirror output to (optional)
-	private File comparatorLogFile; // file to comparator output to (optional)
-	private IArtifactMirrorLog mirrorLog;
-	private IArtifactMirrorLog comparatorLog;
-
-	public Object start(IApplicationContext context) throws Exception {
-		Map args = context.getArguments();
-		initializeFromArguments((String[]) args.get(IApplicationContext.APPLICATION_ARGS));
-		run(null);
-		return IApplication.EXIT_OK;
-	}
-
-	public void stop() {
-		// TODO Auto-generated method stub
-
-	}
-
-	/*
-	 * The old "org.eclipse.equinox.p2.artifact.repository.mirrorApplication" application only does artifacts
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) {
-		if (data instanceof Map && ((Map) data).containsKey(MIRROR_MODE)) {
-			metadataOrArtifacts = (String) ((Map) data).get(MIRROR_MODE);
-		}
-	}
-
-	public void initializeFromArguments(String[] args) throws Exception {
-		if (args == null)
-			return;
-
-		File comparatorLogLocation = null;
-		File mirrorLogLocation = null;
-
-		RepositoryDescriptor destination = new RepositoryDescriptor();
-		RepositoryDescriptor sourceRepo = new RepositoryDescriptor();
-		if (metadataOrArtifacts != null) {
-			destination.setKind(metadataOrArtifacts);
-			sourceRepo.setKind(metadataOrArtifacts);
-		}
-
-		addDestination(destination);
-		addSource(sourceRepo);
-
-		for (int i = 0; i < args.length; i++) {
-			// check for args without parameters (i.e., a flag arg)
-			if (args[i].equalsIgnoreCase("-raw")) //$NON-NLS-1$
-				raw = true;
-			else if (args[i].equalsIgnoreCase("-ignoreErrors")) //$NON-NLS-1$
-				failOnError = false;
-			else if (args[i].equalsIgnoreCase("-verbose")) //$NON-NLS-1$
-				verbose = true;
-			else if (args[i].equalsIgnoreCase("-compare")) //$NON-NLS-1$
-				compare = true;
-			else if (args[i].equalsIgnoreCase("-validate")) //$NON-NLS-1$
-				validate = true;
-
-			// check for args with parameters. If we are at the last argument or 
-			// if the next one has a '-' as the first character, then we can't have 
-			// an arg with a param so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-
-			String arg = args[++i];
-
-			if (args[i - 1].equalsIgnoreCase("-comparator")) //$NON-NLS-1$
-				comparatorID = arg;
-			else if (args[i - 1].equalsIgnoreCase("-comparatorLog")) //$NON-NLS-1$
-				comparatorLogLocation = new File(arg);
-			else if (args[i - 1].equalsIgnoreCase("-destinationName")) //$NON-NLS-1$	
-				destination.setName(arg);
-			else if (args[i - 1].equalsIgnoreCase("-writeMode")) { //$NON-NLS-1$
-				if (args[i].equalsIgnoreCase("clean")) //$NON-NLS-1$
-					destination.setAppend(false);
-			} else if (args[i - 1].equalsIgnoreCase("-log")) { //$NON-NLS-1$
-				mirrorLogLocation = new File(arg);
-			} else {
-				try {
-					if (args[i - 1].equalsIgnoreCase("-source")) { //$NON-NLS-1$
-						URI uri = RepositoryHelper.localRepoURIHelper(URIUtil.fromString(arg));
-						sourceRepo.setLocation(uri);
-						destination.setFormat(uri);
-					} else if (args[i - 1].equalsIgnoreCase("-destination")) //$NON-NLS-1$
-						destination.setLocation(RepositoryHelper.localRepoURIHelper(URIUtil.fromString(arg)));
-					else if (args[i - 1].equalsIgnoreCase("-compareAgainst")) { //$NON-NLS-1$
-						baseline = RepositoryHelper.localRepoURIHelper(URIUtil.fromString(arg));
-						compare = true;
-					}
-				} catch (URISyntaxException e) {
-					throw new IllegalArgumentException(NLS.bind(Messages.ProcessRepo_location_not_url, arg));
-				}
-			}
-		}
-
-		// Create logs
-		if (mirrorLogLocation != null)
-			mirrorLog = getLog(mirrorLogLocation, "p2.artifact.mirror"); //$NON-NLS-1$
-		if (comparatorLogLocation != null && comparatorID != null)
-			comparatorLog = getLog(comparatorLogLocation, comparatorID);
-	}
-
-	public IStatus run(IProgressMonitor monitor) throws ProvisionException {
-		IStatus mirrorStatus = Status.OK_STATUS;
-		try {
-			initializeRepos(new NullProgressMonitor());
-			initializeLogs();
-			validate();
-			initializeIUs();
-			IQueryable slice = slice(new NullProgressMonitor());
-			if (destinationArtifactRepository != null) {
-				mirrorStatus = mirrorArtifacts(slice, new NullProgressMonitor());
-				if (mirrorStatus.getSeverity() == IStatus.ERROR)
-					return mirrorStatus;
-			}
-			if (destinationMetadataRepository != null)
-				mirrorMetadata(slice, new NullProgressMonitor());
-		} finally {
-			finalizeRepositories();
-			finalizeLogs();
-		}
-		if (mirrorStatus.isOK())
-			return Status.OK_STATUS;
-		return mirrorStatus;
-	}
-
-	private IStatus mirrorArtifacts(IQueryable slice, IProgressMonitor monitor) throws ProvisionException {
-		// Obtain ArtifactKeys from IUs
-		Collector ius = slice.query(InstallableUnitQuery.ANY, monitor);
-		ArrayList keys = new ArrayList(ius.size());
-		for (Iterator iterator = ius.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			IArtifactKey[] iuKeys = iu.getArtifacts();
-			for (int i = 0; i < iuKeys.length; i++) {
-				keys.add(iuKeys[i]);
-			}
-		}
-
-		Mirroring mirror = new Mirroring(getCompositeArtifactRepository(), destinationArtifactRepository, raw);
-		mirror.setCompare(compare);
-		mirror.setComparatorId(comparatorID);
-		mirror.setBaseline(initializeBaseline());
-		mirror.setValidate(validate);
-
-		// If IUs have been specified then only they should be mirrored, otherwise mirror everything.
-		if (keys.size() > 0)
-			mirror.setArtifactKeys((IArtifactKey[]) keys.toArray(new IArtifactKey[keys.size()]));
-
-		if (comparatorLog != null)
-			mirror.setComparatorLog(comparatorLog);
-
-		IStatus result = mirror.run(failOnError, verbose);
-
-		if (mirrorLog != null)
-			mirrorLog.log(result);
-		else
-			LogHelper.log(result);
-		return result;
-	}
-
-	private IArtifactRepository initializeBaseline() throws ProvisionException {
-		if (baseline == null)
-			return null;
-		return addRepository(getArtifactRepositoryManager(), baseline, 0, null);
-	}
-
-	private void mirrorMetadata(IQueryable slice, IProgressMonitor monitor) {
-		Collector allIUs = slice.query(InstallableUnitQuery.ANY, monitor);
-		destinationMetadataRepository.addInstallableUnits((IInstallableUnit[]) allIUs.toArray(IInstallableUnit.class));
-	}
-
-	/*
-	 * Ensure all mandatory parameters have been set. Throw an exception if there
-	 * are any missing. We don't require the user to specify the artifact repository here,
-	 * we will default to the ones already registered in the manager. (callers are free
-	 * to add more if they wish)
-	 */
-	private void validate() throws ProvisionException {
-		if (sourceRepositories.isEmpty())
-			throw new ProvisionException(Messages.MirrorApplication_set_source_repositories);
-		if (!hasArtifactSources() && destinationArtifactRepository != null)
-			throw new ProvisionException(Messages.MirrorApplication_artifactDestinationNoSource);
-		if (!hasMetadataSources() && destinationMetadataRepository != null)
-			throw new ProvisionException(Messages.MirrorApplication_metadataDestinationNoSource);
-	}
-
-	/*
-	 * If no IUs have been specified we want to mirror them all
-	 */
-	private void initializeIUs() throws ProvisionException {
-		if (sourceIUs == null || sourceIUs.isEmpty()) {
-			sourceIUs = new ArrayList();
-			IMetadataRepository metadataRepo = getCompositeMetadataRepository();
-			Collector collector = metadataRepo.query(InstallableUnitQuery.ANY, null);
-
-			for (Iterator iter = collector.iterator(); iter.hasNext();) {
-				IInstallableUnit iu = (IInstallableUnit) iter.next();
-				sourceIUs.add(iu);
-			}
-
-			if (collector.size() == 0 && destinationMetadataRepository != null)
-				throw new ProvisionException(Messages.MirrorApplication_no_IUs);
-		}
-	}
-
-	/*
-	 * Initialize logs, if applicable
-	 */
-	private void initializeLogs() {
-		if (compare && comparatorLogFile != null)
-			comparatorLog = getLog(comparatorLogFile, comparatorID);
-		if (mirrorLog == null && mirrorLogFile != null)
-			mirrorLog = getLog(mirrorLogFile, LOG_ROOT);
-	}
-
-	/*
-	 * Finalize logs, if applicable
-	 */
-	private void finalizeLogs() {
-		if (comparatorLog != null)
-			comparatorLog.close();
-		if (mirrorLog != null)
-			mirrorLog.close();
-	}
-
-	/*
-	 * Get the log for a location
-	 */
-	private IArtifactMirrorLog getLog(File location, String root) {
-		String absolutePath = location.getAbsolutePath();
-		if (absolutePath.toLowerCase().endsWith(".xml")) //$NON-NLS-1$
-			return new XMLMirrorLog(absolutePath, 0, root);
-		return new FileMirrorLog(absolutePath, 0, root);
-	}
-
-	private IQueryable slice(IProgressMonitor monitor) throws ProvisionException {
-		if (slicingOptions == null)
-			slicingOptions = new SlicingOptions();
-		PermissiveSlicer slicer = new PermissiveSlicer(getCompositeMetadataRepository(), slicingOptions.getFilter(), slicingOptions.includeOptionalDependencies(), slicingOptions.isEverythingGreedy(), slicingOptions.forceFilterTo(), slicingOptions.considerStrictDependencyOnly(), slicingOptions.followOnlyFilteredRequirements());
-		IQueryable slice = slicer.slice((IInstallableUnit[]) sourceIUs.toArray(new IInstallableUnit[sourceIUs.size()]), monitor);
-
-		if (slice != null && slicingOptions.latestVersionOnly()) {
-			Collector collector = new Collector();
-			collector = slice.query(new LatestIUVersionQuery(), monitor);
-			slice = collector;
-		}
-		if (slicer.getStatus().getSeverity() != IStatus.OK && mirrorLog != null) {
-			mirrorLog.log(slicer.getStatus());
-		}
-		if (slice == null) {
-			throw new ProvisionException(slicer.getStatus());
-		}
-		return slice;
-	}
-
-	public void setSlicingOptions(SlicingOptions options) {
-		slicingOptions = options;
-	}
-
-	/*
-	 * Set the location of the baseline repository. (used in comparison)
-	 */
-	public void setBaseline(URI baseline) {
-		this.baseline = baseline;
-		compare = true;
-	}
-
-	/*
-	 * Set the identifier of the comparator to use.
-	 */
-	public void setComparatorID(String value) {
-		comparatorID = value;
-		compare = true;
-	}
-
-	/*
-	 * Set whether or not the application should be calling a comparator when mirroring.
-	 */
-	public void setCompare(boolean value) {
-		compare = value;
-	}
-
-	/*
-	 * Set whether or not we should ignore errors when running the mirror application.
-	 */
-	public void setIgnoreErrors(boolean value) {
-		failOnError = !value;
-	}
-
-	/*
-	 * Set whether or not the the artifacts are raw.
-	 */
-	public void setRaw(boolean value) {
-		raw = value;
-	}
-
-	/*
-	 * Set whether or not the mirror application should be run in verbose mode.
-	 */
-	public void setVerbose(boolean value) {
-		verbose = value;
-	}
-
-	/*
-	 * Set the location of the log for comparator output
-	 */
-	public void setComparatorLog(File comparatorLog) {
-		this.comparatorLogFile = comparatorLog;
-	}
-
-	/*
-	 * Set the location of the log for mirroring. 
-	 */
-	public void setLog(File mirrorLog) {
-		this.mirrorLogFile = mirrorLog;
-	}
-
-	/*
-	 * Set the ArtifactMirror log
-	 */
-	public void setLog(IArtifactMirrorLog log) {
-		mirrorLog = log;
-	}
-
-	/*
-	 * Set if the artifact mirror should be validated
-	 */
-	public void setValidate(boolean value) {
-		validate = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
deleted file mode 100644
index e4f8ec8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.osgi.util.NLS;
-
-public class RecreateRepositoryApplication extends AbstractApplication {
-	static final private String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
-	private RepositoryDescriptor descriptor;
-	private String repoName = null;
-	boolean removeArtifactRepo = true;
-	private Map repoProperties = null;
-	private Map repoMap = null;
-
-	public IStatus run(IProgressMonitor monitor) throws ProvisionException {
-		try {
-			IArtifactRepository repository = initialize(monitor);
-			removeRepository(repository, monitor);
-			recreateRepository(monitor);
-		} finally {
-			if (removeArtifactRepo) {
-				IArtifactRepositoryManager repositoryManager = getArtifactRepositoryManager();
-				repositoryManager.removeRepository(descriptor.getRepoLocation());
-			}
-		}
-
-		return Status.OK_STATUS;
-	}
-
-	public void setArtifactRepository(RepositoryDescriptor descriptor) {
-		this.descriptor = descriptor;
-	}
-
-	private IArtifactRepository initialize(IProgressMonitor monitor) throws ProvisionException {
-		IArtifactRepositoryManager repositoryManager = getArtifactRepositoryManager();
-		removeArtifactRepo = !repositoryManager.contains(descriptor.getRepoLocation());
-
-		IArtifactRepository repository = repositoryManager.loadRepository(descriptor.getRepoLocation(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, monitor);
-
-		if (repository == null || !repository.isModifiable())
-			throw new ProvisionException(NLS.bind(Messages.exception_destinationNotModifiable, repository.getLocation()));
-		if (!(repository instanceof IFileArtifactRepository))
-			throw new ProvisionException(NLS.bind(Messages.exception_notLocalFileRepo, repository.getLocation()));
-
-		repoName = repository.getName();
-		repoProperties = repository.getProperties();
-
-		repoMap = new HashMap();
-		Collector keys = repository.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-			repoMap.put(key, descriptors);
-		}
-
-		return repository;
-	}
-
-	private void removeRepository(IArtifactRepository repository, IProgressMonitor monitor) throws ProvisionException {
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		manager.removeRepository(repository.getLocation());
-
-		boolean compressed = Boolean.valueOf((String) repoProperties.get(IRepository.PROP_COMPRESSED)).booleanValue();
-		try {
-			URI realLocation = SimpleArtifactRepository.getActualLocation(repository.getLocation(), compressed);
-			File realFile = URIUtil.toFile(realLocation);
-			if (!realFile.exists() || !realFile.delete())
-				throw new ProvisionException(NLS.bind(Messages.exception_unableToRemoveRepo, realFile.toString()));
-		} catch (IOException e) {
-			throw new ProvisionException(NLS.bind(Messages.exception_unableToRemoveRepo, repository.getLocation().toString()));
-		}
-	}
-
-	private void recreateRepository(IProgressMonitor monitor) throws ProvisionException {
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-
-		//add pack200 mappings, the existing repoProperties is not modifiable 
-		Map newProperties = new HashMap(repoProperties);
-		newProperties.put(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
-		IArtifactRepository repository = manager.createRepository(descriptor.getRepoLocation(), repoName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, newProperties);
-		if (!(repository instanceof IFileArtifactRepository))
-			throw new ProvisionException(NLS.bind(Messages.exception_notLocalFileRepo, repository.getLocation()));
-
-		IFileArtifactRepository simple = (IFileArtifactRepository) repository;
-		for (Iterator iterator = repoMap.keySet().iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] descriptors = (IArtifactDescriptor[]) repoMap.get(key);
-
-			String unpackedSize = null;
-			File packFile = null;
-			Set files = new HashSet();
-			for (int i = 0; i < descriptors.length; i++) {
-				File artifactFile = simple.getArtifactFile(descriptors[i]);
-				files.add(artifactFile);
-
-				String size = Long.toString(artifactFile.length());
-
-				ArtifactDescriptor newDescriptor = new ArtifactDescriptor(descriptors[i]);
-				newDescriptor.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, size);
-				newDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, size);
-
-				String md5 = RepositoryUtilities.computeMD5(artifactFile);
-				if (md5 != null)
-					newDescriptor.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, md5);
-
-				File temp = new File(artifactFile.getParentFile(), artifactFile.getName() + ".pack.gz"); //$NON-NLS-1$
-				if (temp.exists()) {
-					packFile = temp;
-					unpackedSize = size;
-				}
-
-				repository.addDescriptor(newDescriptor);
-			}
-			if (packFile != null && !files.contains(packFile) && packFile.length() > 0) {
-				ArtifactDescriptor packDescriptor = createPack200ArtifactDescriptor(key, packFile, unpackedSize);
-				repository.addDescriptor(packDescriptor);
-			}
-		}
-	}
-
-	private ArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File packFile, String installSize) {
-		final String PACKED_FORMAT = "packed"; //$NON-NLS-1$
-
-		if (packFile != null && packFile.exists()) {
-			ArtifactDescriptor result = new ArtifactDescriptor(key);
-			result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
-			result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(packFile.length()));
-			ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-			result.setProcessingSteps(steps);
-			result.setProperty(IArtifactDescriptor.FORMAT, PACKED_FORMAT);
-			return result;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java
deleted file mode 100644
index d855c80..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/Repo2Runnable.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.p2.engine.phases.Collect;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * The transformer takes an existing p2 repository (local or remote), iterates over 
- * its list of IUs, and fetches all of the corresponding artifacts to a user-specified location. 
- * Once fetched, the artifacts will be in "runnable" form... that is directory-based bundles will be
- * extracted into folders and packed JAR files will be un-packed.
- * 
- * @since 1.0
- */
-public class Repo2Runnable extends AbstractApplication implements IApplication {
-	private static final String NATIVE_ARTIFACTS = "nativeArtifacts"; //$NON-NLS-1$
-	private static final String NATIVE_TYPE = "org.eclipse.equinox.p2.native"; //$NON-NLS-1$
-	private static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
-
-	protected class CollectNativesAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND);
-			IInstallableUnit installableUnit = operand.second();
-
-			IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-			IArtifactKey[] toDownload = installableUnit.getArtifacts();
-			if (toDownload == null)
-				return Status.OK_STATUS;
-
-			List artifactRequests = (List) parameters.get(NATIVE_ARTIFACTS);
-
-			for (int i = 0; i < toDownload.length; i++) {
-				IArtifactRequest request = manager.createMirrorRequest(toDownload[i], destinationArtifactRepository, null, null);
-				artifactRequests.add(request);
-			}
-			return Status.OK_STATUS;
-		}
-
-		public IStatus undo(Map parameters) {
-			// nothing to do for now
-			return Status.OK_STATUS;
-		}
-	}
-
-	protected class CollectNativesPhase extends InstallableUnitPhase {
-		public CollectNativesPhase(int weight) {
-			super(NATIVE_ARTIFACTS, weight);
-		}
-
-		protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-			IInstallableUnit unit = operand.second();
-			if (unit.getTouchpointType().getId().equals(NATIVE_TYPE)) {
-				return new ProvisioningAction[] {new CollectNativesAction()};
-			}
-			return null;
-		}
-
-		protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			parameters.put(NATIVE_ARTIFACTS, new ArrayList());
-			return null;
-		}
-
-		protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			List artifactRequests = (List) parameters.get(NATIVE_ARTIFACTS);
-			ProvisioningContext context = (ProvisioningContext) parameters.get(PARM_CONTEXT);
-			IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-			IArtifactRepositoryManager repositoryManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-			DownloadManager dm = new DownloadManager(context, repositoryManager);
-			for (Iterator it = artifactRequests.iterator(); it.hasNext();) {
-				dm.add((IArtifactRequest) it.next());
-			}
-			return dm.start(monitor);
-		}
-	}
-
-	// the list of IUs that we actually transformed... could have come from the repo 
-	// or have been user-specified.
-	private Collection processedIUs = new ArrayList();
-
-	/*
-	 * Perform the transformation.
-	 */
-	public IStatus run(IProgressMonitor monitor) throws ProvisionException {
-		SubMonitor progress = SubMonitor.convert(monitor, 5);
-
-		initializeRepos(progress);
-
-		// ensure all the right parameters are set
-		validate();
-
-		// figure out which IUs we need to process
-		collectIUs(progress.newChild(1));
-
-		// create the operands from the list of IUs
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[processedIUs.size()];
-		int i = 0;
-		for (Iterator iter = processedIUs.iterator(); iter.hasNext();)
-			operands[i++] = new InstallableUnitOperand(null, (IInstallableUnit) iter.next());
-
-		// call the engine with only the "collect" phase so all we do is download
-		IProfile profile = createProfile();
-		try {
-			ProvisioningContext context = new ProvisioningContext();
-			IEngine engine = (IEngine) ServiceHelper.getService(Activator.getBundleContext(), IEngine.SERVICE_NAME);
-			if (engine == null)
-				throw new ProvisionException(Messages.exception_noEngineService);
-
-			IProvisioningPlan plan = engine.createCustomPlan(profile, operands, context);
-			IStatus result = engine.perform(plan, getPhaseSet(), progress.newChild(1));
-			PhaseSet nativeSet = getNativePhase();
-			if (nativeSet != null)
-				engine.perform(plan, nativeSet, progress.newChild(1));
-
-			// publish the metadata to a destination - if requested
-			publishMetadata(progress.newChild(1));
-
-			// return the resulting status
-			return result;
-		} finally {
-			// cleanup by removing the temporary profile and unloading the repos which were new
-			removeProfile(profile);
-			finalizeRepositories();
-		}
-	}
-
-	protected PhaseSet getPhaseSet() {
-		return new PhaseSet(new Phase[] {new Collect(100)}) { /* nothing to override */};
-	}
-
-	protected PhaseSet getNativePhase() {
-		return new PhaseSet(new Phase[] {new CollectNativesPhase(100)}) { /*nothing to override */};
-	}
-
-	/*
-	 * Figure out exactly which IUs we have to process.
-	 */
-	private void collectIUs(IProgressMonitor monitor) throws ProvisionException {
-		// if the user told us exactly which IUs to process, then just set it and return.
-		if (sourceIUs != null && !sourceIUs.isEmpty()) {
-			processedIUs = sourceIUs;
-			return;
-		}
-		// get all IUs from the repos
-		if (!hasMetadataSources())
-			throw new ProvisionException(Messages.exception_needIUsOrNonEmptyRepo);
-
-		processedIUs.addAll(getAllIUs(getCompositeMetadataRepository(), monitor).toCollection());
-
-		if (processedIUs.isEmpty())
-			throw new ProvisionException(Messages.exception_needIUsOrNonEmptyRepo);
-	}
-
-	/*
-	 * If there is a destination metadata repository set, then add all our transformed
-	 * IUs to it. 
-	 */
-	private void publishMetadata(IProgressMonitor monitor) {
-		// publishing the metadata is optional
-		if (destinationMetadataRepository == null)
-			return;
-		destinationMetadataRepository.addInstallableUnits((IInstallableUnit[]) processedIUs.toArray(new IInstallableUnit[processedIUs.size()]));
-	}
-
-	/*
-	 * Return a collector over all the IUs contained in the given repository.
-	 */
-	private Collector getAllIUs(IMetadataRepository repository, IProgressMonitor monitor) {
-		SubMonitor progress = SubMonitor.convert(monitor, 2);
-		try {
-			return repository.query(InstallableUnitQuery.ANY, progress.newChild(1));
-		} finally {
-			progress.done();
-		}
-	}
-
-	/*
-	 * Remove the given profile from the profile registry.
-	 */
-	private void removeProfile(IProfile profile) throws ProvisionException {
-		IProfileRegistry registry = Activator.getProfileRegistry();
-		registry.removeProfile(profile.getProfileId());
-	}
-
-	/*
-	 * Create and return a new profile.
-	 */
-	private IProfile createProfile() throws ProvisionException {
-		Map properties = new Properties();
-		properties.put(IProfile.PROP_CACHE, URIUtil.toFile(destinationArtifactRepository.getLocation()).getAbsolutePath());
-		properties.put(IProfile.PROP_INSTALL_FOLDER, URIUtil.toFile(destinationArtifactRepository.getLocation()).getAbsolutePath());
-		IProfileRegistry registry = Activator.getProfileRegistry();
-		return registry.addProfile(System.currentTimeMillis() + "-" + Math.random(), properties); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
-		processCommandLineArgs(args);
-		// perform the transformation
-		run(null);
-		return IApplication.EXIT_OK;
-	}
-
-	/*
-	 * Iterate over the command-line arguments and prepare the transformer for processing.
-	 */
-	private void processCommandLineArgs(String[] args) throws URISyntaxException {
-		if (args == null)
-			return;
-		for (int i = 0; i < args.length; i++) {
-			String option = args[i];
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			if (option.equalsIgnoreCase("-source")) { //$NON-NLS-1$
-				RepositoryDescriptor source = new RepositoryDescriptor();
-				source.setLocation(URIUtil.fromString(arg));
-				addSource(source);
-			}
-
-			if (option.equalsIgnoreCase("-destination")) { //$NON-NLS-1$
-				RepositoryDescriptor destination = new RepositoryDescriptor();
-				destination.setLocation(URIUtil.fromString(arg));
-				addDestination(destination);
-			}
-		}
-	}
-
-	/*
-	 * Ensure all mandatory parameters have been set. Throw an exception if there
-	 * are any missing. We don't require the user to specify the artifact repository here,
-	 * we will default to the ones already registered in the manager. (callers are free
-	 * to add more if they wish)
-	 */
-	private void validate() throws ProvisionException {
-		if (!hasMetadataSources() && sourceIUs == null)
-			throw new ProvisionException(Messages.exception_needIUsOrNonEmptyRepo);
-		if (destinationArtifactRepository == null)
-			throw new ProvisionException(Messages.exception_needDestinationRepo);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// nothing to do
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryAnalyzerApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryAnalyzerApplication.java
deleted file mode 100644
index 8a8503c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryAnalyzerApplication.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.repository.tools.analyzer.RepositoryAnalyzer;
-
-/**
- *
- */
-public class RepositoryAnalyzerApplication implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-
-		long start = System.currentTimeMillis();
-		URI uri = new URI("http://download.eclipse.org/releases/galileo");
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getBundleContext(), IMetadataRepositoryManager.class.getName());
-		IMetadataRepository repository = manager.loadRepository(uri, new NullProgressMonitor());
-		RepositoryAnalyzer repositoryAnalyzer = new RepositoryAnalyzer(new IMetadataRepository[] {repository});
-		IStatus status = repositoryAnalyzer.analyze(new NullProgressMonitor());
-		IStatus[] children = status.getChildren();
-		long time = (System.currentTimeMillis()) - start;
-		if (status.isOK())
-			System.out.println("Repository Analyzer Finished succesfuly in " + time + " ms.");
-		else
-			System.out.println("Repository Analyzer Finished in " + time + " ms with status with errors.");
-		for (int i = 0; i < children.length; i++) {
-			if (children[i].isOK())
-				System.out.print("[OK] ");
-			else
-				System.out.print("[Error] ");
-			System.out.println(children[i].getMessage());
-			if (children[i].isMultiStatus() && children[i].getChildren() != null && children[i].getChildren().length > 0) {
-				IStatus[] subChildren = children[i].getChildren();
-				for (int j = 0; j < subChildren.length; j++) {
-					System.out.println("   " + subChildren[j].getMessage());
-				}
-			}
-		}
-		return IApplication.EXIT_OK;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// TODO Auto-generated method stub
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
deleted file mode 100644
index f8c2ae7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.net.URI;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class RepositoryDescriptor {
-
-	public static final int TYPE_BOTH = -1;
-	public static final String KIND_ARTIFACT = "A"; //$NON-NLS-1$
-	public static final String KIND_METADATA = "M"; //$NON-NLS-1$
-
-	private boolean compressed = true;
-	private boolean append = true;
-	private String name = null;
-	private URI location = null;
-	private URI format = null;
-	private int kind = TYPE_BOTH;
-	private URI originalLocation = null;
-
-	public void setCompressed(boolean compress) {
-		compressed = compress;
-	}
-
-	public void setName(String repoName) {
-		name = repoName;
-	}
-
-	public void setLocation(URI repoLocation) {
-		originalLocation = repoLocation;
-		location = RepositoryHelper.localRepoURIHelper(repoLocation);
-	}
-
-	public void setFormat(URI format) {
-		this.format = RepositoryHelper.localRepoURIHelper(format);
-	}
-
-	public void setAppend(boolean appendMode) {
-		append = appendMode;
-	}
-
-	public boolean isCompressed() {
-		return compressed;
-	}
-
-	public boolean isAppend() {
-		return append;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public URI getRepoLocation() {
-		return location;
-	}
-
-	public URI getOriginalRepoLocation() {
-		return originalLocation;
-	}
-
-	public URI getFormat() {
-		return format;
-	}
-
-	public int getKind() {
-		return kind;
-	}
-
-	public boolean isBoth() {
-		return kind == TYPE_BOTH;
-	}
-
-	public boolean isArtifact() {
-		return kind == TYPE_BOTH || kind == IRepository.TYPE_ARTIFACT;
-	}
-
-	public boolean isMetadata() {
-		return kind == TYPE_BOTH || kind == IRepository.TYPE_METADATA;
-	}
-
-	public void setKind(String repoKind) {
-		kind = determineKind(repoKind);
-	}
-
-	/*
-	 * Determine the repository type
-	 */
-	public static int determineKind(String repoKind) {
-		if (kindMatches(repoKind, KIND_METADATA))
-			return IRepository.TYPE_METADATA;
-		else if (kindMatches(repoKind, KIND_ARTIFACT))
-			return IRepository.TYPE_ARTIFACT;
-
-		throw new IllegalArgumentException(NLS.bind(Messages.unknown_repository_type, repoKind));
-	}
-
-	/*
-	 * Determine if the repository kind matches the identifier kind
-	 */
-	public static boolean kindMatches(String repoKind, String kindIdentifier) {
-		return repoKind.startsWith(kindIdentifier) || repoKind.startsWith(kindIdentifier.toLowerCase());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryUtilities.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryUtilities.java
deleted file mode 100644
index 11e3e32..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryUtilities.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.io.*;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-public class RepositoryUtilities {
-
-	public static String computeMD5(File file) {
-		if (file == null || file.isDirectory() || !file.exists())
-			return null;
-		MessageDigest md5Checker;
-		try {
-			md5Checker = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			return null;
-		}
-		InputStream fis = null;
-		try {
-			fis = new BufferedInputStream(new FileInputStream(file));
-			int read = -1;
-			while ((read = fis.read()) != -1) {
-				md5Checker.update((byte) read);
-			}
-			byte[] digest = md5Checker.digest();
-			StringBuffer buf = new StringBuffer();
-			for (int i = 0; i < digest.length; i++) {
-				if ((digest[i] & 0xFF) < 0x10)
-					buf.append('0');
-				buf.append(Integer.toHexString(digest[i] & 0xFF));
-			}
-			return buf.toString();
-		} catch (FileNotFoundException e) {
-			return null;
-		} catch (IOException e) {
-			return null;
-		} finally {
-			if (fis != null)
-				try {
-					fis.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
deleted file mode 100644
index 6531d36..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/SlicingOptions.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools;
-
-import java.util.Dictionary;
-import java.util.Properties;
-
-public class SlicingOptions {
-	private boolean includeOptionalDependencies = true;
-	private boolean everythingGreedy = true;
-	private boolean forceFilterTo = true;
-	private boolean considerStrictDependencyOnly = false;
-	private boolean followOnlyFilteredRequirements = false;
-	private boolean latestVersion = false;
-	private Dictionary filter = null;
-
-	public boolean includeOptionalDependencies() {
-		return includeOptionalDependencies;
-	}
-
-	public void includeOptionalDependencies(boolean optional) {
-		this.includeOptionalDependencies = optional;
-	}
-
-	public boolean isEverythingGreedy() {
-		return everythingGreedy;
-	}
-
-	public void everythingGreedy(boolean greedy) {
-		this.everythingGreedy = greedy;
-	}
-
-	public boolean forceFilterTo() {
-		return forceFilterTo;
-	}
-
-	public void forceFilterTo(boolean forcedTo) {
-		this.forceFilterTo = forcedTo;
-	}
-
-	public boolean considerStrictDependencyOnly() {
-		return considerStrictDependencyOnly;
-	}
-
-	public void considerStrictDependencyOnly(boolean strict) {
-		this.considerStrictDependencyOnly = strict;
-	}
-
-	public Dictionary getFilter() {
-		if (filter == null)
-			filter = new Properties();
-		return filter;
-	}
-
-	public void setFilter(Dictionary filter) {
-		this.filter = filter;
-	}
-
-	public void followOnlyFilteredRequirements(boolean onlyFiltered) {
-		this.followOnlyFilteredRequirements = onlyFiltered;
-	}
-
-	public boolean followOnlyFilteredRequirements() {
-		return followOnlyFilteredRequirements;
-	}
-
-	public boolean latestVersionOnly() {
-		return latestVersion;
-	}
-
-	public void latestVersionOnly(boolean latest) {
-		this.latestVersion = latest;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/CopyrightAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/CopyrightAnalyzer.java
deleted file mode 100644
index ea1c42b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/CopyrightAnalyzer.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that all Group IUs have a copyright.
- */
-public class CopyrightAnalyzer extends IUAnalyzer {
-
-	public void analyzeIU(IInstallableUnit iu) {
-		if (Boolean.valueOf(iu.getProperty(InstallableUnitDescription.PROP_TYPE_GROUP)).booleanValue()) {
-			if (iu.getCopyright() == null || iu.getCopyright().getBody().length() == 0) {
-				// If there is no copyright at all, this is an error
-				error(iu, "[ERROR] " + iu.getId() + " has no copyright");
-				return;
-			}
-			if (iu.getCopyright() != null && iu.getCopyright().getBody().startsWith("%")) {
-				// If there is a copyright, but it starts with %, then check the default
-				// language for a copyright
-				String copyrightProperty = iu.getCopyright().getBody().substring(1);
-				if (iu.getProperty("df_LT." + copyrightProperty) == null)
-					error(iu, "[ERROR] " + iu.getId() + " has no copyright");
-			}
-		}
-	}
-
-	public void preAnalysis(IMetadataRepository repository) {
-		// do nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/HostCheckAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/HostCheckAnalyzer.java
deleted file mode 100644
index b8460d1..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/HostCheckAnalyzer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that for each fragment the host can be resolved.
- * Currently this service only checks requirements with the namespace "osgi.bundle"
- */
-public class HostCheckAnalyzer extends IUAnalyzer {
-
-	private IMetadataRepository repository;
-
-	public void analyzeIU(IInstallableUnit iu) {
-		if (iu instanceof IInstallableUnitFragment) {
-			IInstallableUnitFragment fragment = (IInstallableUnitFragment) iu;
-			IRequirement[] hosts = fragment.getHost();
-			for (int i = 0; i < hosts.length; i++) {
-				IRequiredCapability theHost = null;
-				if (hosts[i] instanceof IRequiredCapability)
-					theHost = (IRequiredCapability) hosts[i];
-				if (theHost.getNamespace().equals("osgi.bundle")) {
-					Collector results = repository.query(new InstallableUnitQuery(theHost.getName(), theHost.getRange()), new NullProgressMonitor());
-					if (results.size() == 0) {
-						error(iu, "IU Fragment: " + iu.getId() + " cannot find host" + theHost.getName() + " : " + theHost.getRange());
-						return;
-					}
-				}
-			}
-		}
-
-	}
-
-	public void preAnalysis(IMetadataRepository repository) {
-		this.repository = repository;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/IUCounting.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/IUCounting.java
deleted file mode 100644
index 4f1589c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/IUCounting.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IIUAnalyzer;
-
-/**
- * This service just counts the total number of IUs
- */
-public class IUCounting implements IIUAnalyzer {
-
-	int totalIUs = 0;
-	int totalGroups = 0;
-	int totalFragments = 0;
-	int totalCategories = 0;
-
-	private boolean hasProperty(IInstallableUnit iu, String property) {
-		return Boolean.valueOf(iu.getProperty(property)).booleanValue();
-	}
-
-	public void analyzeIU(IInstallableUnit iu) {
-		totalIUs++;
-		if (hasProperty(iu, InstallableUnitDescription.PROP_TYPE_FRAGMENT))
-			totalFragments++;
-		if (hasProperty(iu, InstallableUnitDescription.PROP_TYPE_GROUP))
-			totalGroups++;
-		if (hasProperty(iu, InstallableUnitDescription.PROP_TYPE_CATEGORY))
-			totalCategories++;
-	}
-
-	public IStatus postAnalysis() {
-		System.out.println("Total IUs: " + totalIUs);
-		System.out.println("  Total Groups: " + totalGroups);
-		System.out.println("  Total Fragments: " + totalFragments);
-		System.out.println("  Total Categories: " + totalCategories);
-		return null;
-	}
-
-	public void preAnalysis(IMetadataRepository repo) {
-		totalIUs = 0;
-		totalGroups = 0;
-		totalFragments = 0;
-		totalCategories = 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/LicenseAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/LicenseAnalyzer.java
deleted file mode 100644
index 58284c3..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/LicenseAnalyzer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2009 EclipseSource 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:
- *   EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that each IU has a license.
- */
-public class LicenseAnalyzer extends IUAnalyzer {
-
-	public void analyzeIU(IInstallableUnit iu) {
-		if (Boolean.valueOf(iu.getProperty(InstallableUnitDescription.PROP_TYPE_GROUP)).booleanValue()) {
-			if (iu.getLicenses() == null || iu.getLicenses().length == 0) {
-				// If there is no license then this is an error
-				error(iu, "[ERROR] " + iu.getId() + " has no license");
-				return;
-			} else if (iu.getLicenses()[0].getBody().length() == 0) {
-				error(iu, "[ERROR] " + iu.getId() + " has no license");
-				return;
-			}
-
-			for (int i = 0; i < iu.getLicenses().length; i++) {
-				ILicense license = iu.getLicenses()[i];
-				if (license.getBody().startsWith("%")) {
-					String licenseProperty = license.getBody().substring(1);
-					if (iu.getProperty("df_LT." + licenseProperty) == null) {
-						error(iu, "[ERROR] " + iu.getId() + " has no license");
-					}
-				}
-			}
-		}
-	}
-
-	public void preAnalysis(IMetadataRepository repository) {
-		// Do nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UniqueIUAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UniqueIUAnalyzer.java
deleted file mode 100644
index 320d2f5..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UniqueIUAnalyzer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that each IU is unique in a given repository.
- */
-public class UniqueIUAnalyzer extends IUAnalyzer {
-
-	Set versionedNames = null;
-
-	public void analyzeIU(IInstallableUnit iu) {
-		// Create a unique name / version pair and cache it
-		String uniqueID = iu.getId() + ":" + iu.getVersion().toString();
-		if (versionedNames.contains(uniqueID)) {
-			error(iu, "[ERROR]" + iu.getId() + " with version: " + iu.getVersion() + " already exists in the repository");
-			return;
-		}
-		versionedNames.add(uniqueID);
-	}
-
-	public void preAnalysis(IMetadataRepository repo) {
-		versionedNames = new HashSet();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UnzipFeatureJarAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UnzipFeatureJarAnalyzer.java
deleted file mode 100644
index 1d92ad5..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/UnzipFeatureJarAnalyzer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that each Feature Jar IU has the unzip touchpoint
- */
-public class UnzipFeatureJarAnalyzer extends IUAnalyzer {
-
-	public void analyzeIU(IInstallableUnit iu) {
-		if (iu.getId().indexOf("feature.jar") > -1) {
-			ITouchpointData[] touchpointData = iu.getTouchpointData();
-			if (touchpointData.length == 0) {
-				error(iu, "[ERROR] No unzip touchpoint for: " + iu.getId());
-			} else {
-				boolean found = false;
-				for (int i = 0; i < touchpointData.length; i++) {
-					ITouchpointInstruction instruction = touchpointData[i].getInstruction("zipped");
-					if (instruction.getBody().equals("true"))
-						found = true;
-				}
-				if (!found) {
-					error(iu, "[ERROR] No unzip touchpoint for: " + iu.getId());
-				}
-			}
-		}
-
-	}
-
-	public void preAnalysis(IMetadataRepository repository) {
-		// Do nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
deleted file mode 100644
index dbb9b10..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
-/**
- * This service checks that each IU has a proper version number
- *  1. No 0.0.0
- *  2. No x.y.z.qualifier (each qualifier has been replaced)
- */
-public class VersionAnalyzer extends IUAnalyzer {
-
-	public void analyzeIU(IInstallableUnit iu) {
-		if (iu.getVersion().equals(Version.emptyVersion)) {
-			error(iu, "[ERROR] IU: " + iu.getId() + " has not replaced its qualifiier");
-			return;
-		}
-		if (iu.getVersion().isOSGiCompatible()) {
-			String qualifier = Version.toOSGiVersion(iu.getVersion()).getQualifier();
-			if (qualifier != null && qualifier.equals("qualifier")) {
-				error(iu, "[ERROR] IU: " + iu.getId() + " has not replaced its qualifiier");
-				return;
-			}
-		}
-	}
-
-	public void preAnalysis(IMetadataRepository repo) {
-		// Do nothing
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/messages.properties b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/messages.properties
deleted file mode 100644
index ce9f91e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/messages.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-AbstractApplication_no_valid_destinations=Unable to locate a valid destination repository.
-AbstractRepositoryTask_unableToFind=Unable to find: {0} 
-
-CompositeRepository_composite_repository_exists=Composite repository already exists at location: {0}
-CompositeRepository_default_artifactRepo_name=Composite Artifact Repository
-CompositeRepository_default_metadataRepo_name=Composite Artifact Repository
-CompositeRepositoryApplication_failedComparator=Artifact repository failed test with comparator: {0}
-
-no_artifactRepo_manager=Unable to acquire artifact repository manager service.
-no_metadataRepo_manager=Unable to acquire metadata repository manager service.
-no_package_admin=Unable to acquire package admin service.
-no_profile_registry=Unable to acquire profile registry service.
-unable_to_process_uri=Unable to process as URI: {0}
-unable_to_start_exemplarysetup=Unable to start exemplarysetup bundle.
-unknown_repository_type=Repository is of an unknown type: {0}
-skippingInvalidFilter=Invalid filter format, skipping {0}.
-
-MirrorApplication_artifactDestinationNoSource=Destination artifact repository specified without a corresponding source artifact repository.
-MirrorApplication_metadataDestinationNoSource=Destination metadata repository specified without a corresponding source metadata repository.
-MirrorApplication_no_IUs=No IUs specified and no IUs obtained from metadata repositories.
-MirrorApplication_set_source_repositories=Need to set the source repository location(s).
-ProcessRepo_location_not_url=Repository location {0} must be a URI.
-ProcessRepo_must_be_local=Repository must be local: {0}
-
-
-SlicingOption_invalid_platform=Invalid platform filter format: {0}.
-SlicingOption_invalidFilterFormat=Invalid filter format: {0}
-exception_destinationNotModifiable = The destination repository must be modifiable: {0}.
-exception_invalidDestination=Invalid destination repository location: {0}.
-exception_invalidSource=Invalid source repository location: {0}.
-exception_unableToRemoveRepo=Unable to remove artifact repository file: {0}.
-exception_notLocalFileRepo= {0} is not a local file based repository.
-exception_noEngineService=Unable to acquire engine service.
-exception_needIUsOrNonEmptyRepo=Need to specify either a non-empty source metadata repository or a valid list of IUs.
-exception_needDestinationRepo=Need to set the destination artifact repository location.
-exception_onlyOneComparator=Only one comparator should be defined.
-Repo2RunnableTask_errorTransforming=Error occurred while transforming repository: {0}.
-
-message_mirroringStatus = Messages while mirroring artifact descriptors.
-Mirroring_compareAndDownload=Compare and download of {0} from baseline.
-mirror_alreadyExists=Artifact: {0} already exists in repository: {1}.
-Mirroring_noMatchingDescriptor=Could not match descriptor for compare
-Mirroring_ValidationError=Error occurred while validating mirror.
-Mirroring_missingDescriptor=Missing descriptor: {0}.
-Mirroring_differentDescriptorProperty=Descriptor {0} has different properties for {1}, source: {2}, destination: {3}.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IIUAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IIUAnalyzer.java
deleted file mode 100644
index f1dae6c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IIUAnalyzer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.repository.tools.analyzer;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * The IUAnalaysis Interface.  
- * 
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- * 
- * Clients are encouraged to extend IUAnalysis, an abstract class that implements
- * this interface.
- * 
- * @since 2.0
- * 
- */
-public interface IIUAnalyzer {
-
-	public static final String ID = "org.eclipse.equinox.p2.repository.tools.verifier"; //$NON-NLS-1$
-
-	public void preAnalysis(IMetadataRepository repository);
-
-	public IStatus postAnalysis();
-
-	public void analyzeIU(IInstallableUnit iu);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IUAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IUAnalyzer.java
deleted file mode 100644
index cb9671e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/IUAnalyzer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.repository.tools.analyzer;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.internal.repository.tools.Activator;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An abstract base class for the Analyzer.  Clients are encouraged to extends this 
- * class when defining IU Analysis extension points.
- * 
- */
-public abstract class IUAnalyzer implements IIUAnalyzer {
-
-	private List errors = null;
-	private String analyzerName;
-
-	public void setName(String name) {
-		this.analyzerName = name;
-	}
-
-	protected void error(IInstallableUnit iu, String error) {
-		if (errors == null)
-			errors = new ArrayList();
-		errors.add(new Status(IStatus.ERROR, Activator.ID, error));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.repository.tools.verifier.IIUAnalysis#postAnalysis()
-	 */
-	public IStatus postAnalysis() {
-		if (errors == null || errors.size() == 0)
-			return Status.OK_STATUS;
-		return new MultiStatus(Activator.ID, IStatus.ERROR, (IStatus[]) errors.toArray(new IStatus[errors.size()]), analyzerName, null);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/RepositoryAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/RepositoryAnalyzer.java
deleted file mode 100644
index 33594ae..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/repository/tools/analyzer/RepositoryAnalyzer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.repository.tools.analyzer;
-
-import java.util.Iterator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.internal.repository.tools.Activator;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- *
- */
-public class RepositoryAnalyzer {
-
-	private final IMetadataRepository[] repositories;
-
-	public RepositoryAnalyzer(IMetadataRepository[] repositories) {
-		this.repositories = repositories;
-	}
-
-	public IStatus analyze(IProgressMonitor monitor) {
-		MultiStatus result = new MultiStatus(Activator.ID, IStatus.OK, null, null);
-
-		SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 2);
-		IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(IIUAnalyzer.ID);
-
-		for (int i = 0; i < repositories.length; i++) {
-			Collector queryResult = repositories[i].query(InstallableUnitQuery.ANY, sub);
-
-			SubMonitor repositoryMonitor = SubMonitor.convert(sub, queryResult.size());
-			for (int j = 0; j < config.length; j++) {
-				try {
-					IIUAnalyzer verifier = (IIUAnalyzer) config[j].createExecutableExtension("class"); //$NON-NLS-1$
-					String analyizerName = config[j].getAttribute("name"); //$NON-NLS-1$
-					if (verifier instanceof IUAnalyzer) {
-						((IUAnalyzer) verifier).setName(analyizerName);
-					}
-					verifier.preAnalysis(repositories[i]);
-					Iterator iter = queryResult.iterator();
-					while (iter.hasNext()) {
-						IInstallableUnit iu = (IInstallableUnit) iter.next();
-						verifier.analyzeIU(iu);
-					}
-					IStatus postAnalysisResult = verifier.postAnalysis();
-					if (postAnalysisResult == null)
-						postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName);
-					if (postAnalysisResult.isOK() && !postAnalysisResult.isMultiStatus())
-						postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName);
-					result.add(postAnalysisResult);
-				} catch (CoreException e) {
-					if (e.getCause() instanceof ClassNotFoundException) {
-						result.add(new Status(IStatus.ERROR, Activator.ID, "Cannot find: " + config[j].getAttribute("class")));
-					} else
-						e.printStackTrace();
-				}
-			}
-			repositoryMonitor.done();
-		}
-		sub.done();
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java
deleted file mode 100644
index 4f493f6..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AbstractRepositoryTask.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.types.FileSet;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.internal.repository.tools.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class AbstractRepositoryTask extends Task {
-	protected static final String ANT_PREFIX = "${"; //$NON-NLS-1$
-	protected AbstractApplication application;
-	protected List iuTasks = new ArrayList();
-	protected List sourceRepos = new ArrayList();
-	protected List destinations = new ArrayList();
-
-	protected void addMetadataSourceRepository(URI repoLocation) {
-		RepositoryDescriptor source = new RepositoryDescriptor();
-		source.setLocation(repoLocation);
-		source.setKind(RepositoryDescriptor.KIND_METADATA);
-		application.addSource(source);
-	}
-
-	protected void addArtifactSourceRepository(URI repoLocation) {
-		RepositoryDescriptor source = new RepositoryDescriptor();
-		source.setLocation(repoLocation);
-		source.setKind(RepositoryDescriptor.KIND_ARTIFACT);
-		application.addSource(source);
-	}
-
-	/*
-	 * Create an object to hold IU information since the user specified an "iu" sub-element.
-	 */
-	public Object createIu() {
-		IUDescription iu = new IUDescription();
-		iuTasks.add(iu);
-		return iu;
-	}
-
-	/*
-	 * If the repositories are co-located then the user just has to set one
-	 * argument to specify both the artifact and metadata repositories.
-	 */
-	public void setSource(String location) {
-		RepositoryDescriptor source = new RepositoryDescriptor();
-		try {
-			source.setLocation(URIUtil.fromString(location));
-			application.addSource(source);
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	/*
-	 * If the repositories are co-located then the user just has to set one
-	 * argument to specify both the artifact and metadata repositories.
-	 */
-	public void setDestination(String location) {
-		// TODO depreciate 
-		DestinationRepository dest = new DestinationRepository();
-		dest.setLocation(location);
-		destinations.add(dest);
-		application.addDestination(dest.getDescriptor());
-	}
-
-	public DestinationRepository createDestination() {
-		// TODO depreciate 
-		DestinationRepository destination = new DestinationRepository();
-		destinations.add(destination);
-		application.addDestination(destination.getDescriptor());
-		return destination;
-	}
-
-	/*
-	 * Add a repository to mirror into
-	 */
-	public DestinationRepository createRepository() {
-		DestinationRepository destination = new DestinationRepository();
-		destinations.add(destination);
-		application.addDestination(destination.getDescriptor());
-		return destination;
-	}
-
-	/*
-	 * Add source repositories to mirror from
-	 */
-	public void addConfiguredSource(RepositoryList sourceList) {
-		for (Iterator iter = sourceList.getRepositoryList().iterator(); iter.hasNext();) {
-			DestinationRepository repo = (DestinationRepository) iter.next();
-			application.addSource(repo.getDescriptor());
-		}
-
-		for (Iterator iter = sourceList.getFileSetList().iterator(); iter.hasNext();) {
-			FileSet fileSet = (FileSet) iter.next();
-			sourceRepos.add(fileSet);
-			// Added to the application later through prepareSourceRepos
-		}
-	}
-
-	/*
-	 * If the user specified some source repositories via sub-elements
-	 * then add them to the transformer for consideration.
-	 */
-	protected void prepareSourceRepos() {
-		if (sourceRepos == null || sourceRepos.isEmpty())
-			return;
-		for (Iterator iter = sourceRepos.iterator(); iter.hasNext();) {
-			RepositoryFileSet fileset = (RepositoryFileSet) iter.next();
-
-			if (fileset.getRepoLocation() != null) {
-				//TODO depreciate
-				if (!fileset.getRepoLocation().startsWith(ANT_PREFIX)) {
-					addArtifactSourceRepository(fileset.getRepoLocationURI());
-					addMetadataSourceRepository(fileset.getRepoLocationURI());
-				}
-			} else if (fileset.getDir() != null) {
-				DirectoryScanner scanner = fileset.getDirectoryScanner(getProject());
-				String[][] elements = new String[][] {scanner.getIncludedDirectories(), scanner.getIncludedFiles()};
-				for (int i = 0; i < 2; i++) {
-					for (int j = 0; j < elements[i].length; j++) {
-						File file = new File(fileset.getDir(), elements[i][j]);
-						URI uri = file.toURI();
-
-						if (file.isFile() && file.getName().endsWith(".zip")) { //$NON-NLS-1$
-							uri = URIUtil.toJarURI(uri, null);
-						}
-						if (fileset.isBoth()) {
-							addArtifactSourceRepository(uri);
-							addMetadataSourceRepository(uri);
-						} else if (fileset.isArtifact())
-							addArtifactSourceRepository(uri);
-						else if (fileset.isMetadata())
-							addMetadataSourceRepository(uri);
-						else
-							throw new BuildException(NLS.bind(Messages.unknown_repository_type, uri));
-					}
-				}
-			}
-		}
-		sourceRepos.clear();
-	}
-
-	protected List prepareIUs() {
-		if (iuTasks == null || iuTasks.isEmpty())
-			return null;
-
-		IMetadataRepository repository = application.getCompositeMetadataRepository();
-		List result = new ArrayList();
-		for (Iterator iter = iuTasks.iterator(); iter.hasNext();) {
-			IUDescription iu = (IUDescription) iter.next();
-			IQuery iuQuery = iu.createQuery();
-
-			Collector collector = repository.query(iuQuery, null);
-
-			if (iu.isRequired() && collector.isEmpty())
-				throw new BuildException(NLS.bind(Messages.AbstractRepositoryTask_unableToFind, iu.toString()));
-			result.addAll(collector.toCollection());
-		}
-		return result;
-	}
-
-	protected void log(IStatus status) {
-		try {
-			new AntMirrorLog(this).log(status);
-		} catch (NoSuchMethodException e) {
-			// Shouldn't occur
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AntMirrorLog.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AntMirrorLog.java
deleted file mode 100644
index 5c7d04d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/AntMirrorLog.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import org.eclipse.equinox.p2.internal.repository.mirroring.IArtifactMirrorLog;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public class AntMirrorLog implements IArtifactMirrorLog {
-
-	private boolean consoleMessage = false;
-	private Method log;
-	private Object task;
-
-	public AntMirrorLog(Object task) throws NoSuchMethodException {
-		this.task = task;
-		try {
-			log = task.getClass().getMethod("log", new Class[] {String.class, int.class}); //$NON-NLS-1$
-		} catch (SecurityException e) {
-			exceptionOccurred(null, e);
-		}
-	}
-
-	public void log(IArtifactDescriptor descriptor, IStatus status) {
-		log(descriptor.toString(), status.getSeverity());
-		log(status);
-	}
-
-	public void log(IStatus status) {
-		int severity = status.getSeverity();
-		// Log the status message
-		log(status.getMessage(), severity);
-		// Log the exception if applicable
-		if (status.getException() != null)
-			log(status.getException().getMessage(), severity);
-
-		// Log any children of this status
-		IStatus[] nestedStatus = status.getChildren();
-		if (nestedStatus != null)
-			for (int i = 0; i < nestedStatus.length; i++)
-				log(nestedStatus[i]);
-	}
-
-	public void close() {
-		// nothing to do here
-	}
-
-	/*
-	 * Log a message to the Ant Task
-	 */
-	private void log(String message, int statusSeverity) {
-		try {
-			log.invoke(task, new Object[] {message, new Integer(mapLogLevels(statusSeverity))});
-		} catch (IllegalArgumentException e) {
-			exceptionOccurred(message, e);
-		} catch (IllegalAccessException e) {
-			exceptionOccurred(message, e);
-		} catch (InvocationTargetException e) {
-			exceptionOccurred(message, e);
-		}
-	}
-
-	/*
-	 * Show an error message if this the first time, and print status messages.
-	 */
-	private void exceptionOccurred(String message, Exception e) {
-		if (!consoleMessage) {
-			System.err.println(Messages.MirrorLog_Exception_Occurred);
-			e.printStackTrace(System.err);
-			System.err.println(Messages.MirrorLog_Console_Log);
-			consoleMessage = true;
-		}
-		if (message != null)
-			System.out.println(message);
-	}
-
-	/**
-	 * Copied from AntLogAdapter in pde build.
-	 */
-	private int mapLogLevels(int iStatusLevel) {
-		switch (iStatusLevel) {
-			case IStatus.ERROR :
-				return 0;
-			case IStatus.OK :
-				return 2;
-			case IStatus.INFO :
-				return 2;
-			case IStatus.WARNING :
-				return 1;
-			default :
-				return 1;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ComparatorDescription.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ComparatorDescription.java
deleted file mode 100644
index 9ec3fc3..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ComparatorDescription.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import org.apache.tools.ant.types.DataType;
-
-public class ComparatorDescription extends DataType {
-
-	DestinationRepository baseline;
-	String comparatorId;
-	File comparatorLog;
-
-	/*
-	 * Set the baseline repository to compare to
-	 */
-	public void addRepository(DestinationRepository value) {
-		this.baseline = value;
-	}
-
-	/*
-	 * Set the comparator to use
-	 */
-	public void setComparator(String value) {
-		comparatorId = value;
-	}
-
-	/*
-	 * Set the log location for the comparator
-	 */
-	public void setComparatorLog(File value) {
-		comparatorLog = value;
-	}
-
-	public DestinationRepository getBaseline() {
-		return baseline;
-	}
-
-	public String getComparator() {
-		return comparatorId;
-	}
-
-	public File getComparatorLog() {
-		return comparatorLog;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/CompositeRepositoryTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/CompositeRepositoryTask.java
deleted file mode 100644
index f1e8e9e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/CompositeRepositoryTask.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.Iterator;
-import org.apache.tools.ant.BuildException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.CompositeRepositoryApplication;
-
-public class CompositeRepositoryTask extends AbstractRepositoryTask {
-
-	public CompositeRepositoryTask() {
-		application = new CompositeRepositoryApplication();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		try {
-			IStatus result = application.run(null);
-			if (result.matches(IStatus.ERROR)) {
-				throw new BuildException(TaskHelper.statusToString(result, null).toString());
-			}
-		} catch (ProvisionException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	/*
-	 * Add the listed repositories to the composite repository
-	 */
-	public void addConfiguredAdd(RepositoryList list) {
-		for (Iterator iter = list.getRepositoryList().iterator(); iter.hasNext();) {
-			DestinationRepository repo = (DestinationRepository) iter.next();
-			((CompositeRepositoryApplication) application).addChild(repo.getDescriptor());
-		}
-	}
-
-	/*	
-	 * Remove the listed repositories from the composite repository
-	 */
-	public void addConfiguredRemove(RepositoryList list) {
-		for (Iterator iter = list.getRepositoryList().iterator(); iter.hasNext();) {
-			DestinationRepository repo = (DestinationRepository) iter.next();
-			((CompositeRepositoryApplication) application).removeChild(repo.getDescriptor());
-		}
-	}
-
-	/*
-	 * Set whether the task should fail if the repository already exists
-	 */
-	public void setFailOnExists(boolean value) {
-		((CompositeRepositoryApplication) application).setFailOnExists(value);
-	}
-
-	public void setValidate(String value) {
-		((CompositeRepositoryApplication) application).setComparator(value);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/DestinationRepository.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/DestinationRepository.java
deleted file mode 100644
index 71602d5..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/DestinationRepository.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.DataType;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
-
-public class DestinationRepository extends DataType {
-
-	private RepositoryDescriptor descriptor = new RepositoryDescriptor();
-
-	public void setCompressed(boolean compress) {
-		descriptor.setCompressed(compress);
-	}
-
-	public void setName(String repoName) {
-		descriptor.setName(repoName);
-	}
-
-	public void setLocation(String repoLocation) throws BuildException {
-		try {
-			descriptor.setLocation(URIUtil.fromString(repoLocation));
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	public void setFormat(String formatLocation) {
-		try {
-			descriptor.setFormat(URIUtil.fromString(formatLocation));
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	public void setAppend(boolean appendMode) {
-		descriptor.setAppend(appendMode);
-	}
-
-	public void setKind(String repoKind) {
-		descriptor.setKind(repoKind);
-	}
-
-	RepositoryDescriptor getDescriptor() {
-		return descriptor;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/IUDescription.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/IUDescription.java
deleted file mode 100644
index ad96cd7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/IUDescription.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.*;
-import org.apache.tools.ant.types.DataType;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.internal.repository.tools.Activator;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-
-/**
- * @since 1.0
- */
-public class IUDescription extends DataType {
-	static private final String QUERY_PROPERTY = "property"; //$NON-NLS-1$
-	static private final String QUERY_NAME = "name"; //$NON-NLS-1$
-	static private final String QUERY_VALUE = "value"; //$NON-NLS-1$
-	static private final String ANT_PREFIX = "${"; //$NON-NLS-1$
-	private String id;
-	private String version;
-	private String queryString;
-	private boolean required = true;
-	private String artifactFilter = null;
-
-	public IUDescription() {
-		super();
-	}
-
-	public void setId(String value) {
-		if (value != null && !value.startsWith(ANT_PREFIX))
-			this.id = value;
-	}
-
-	public void setVersion(String value) {
-		if (value != null && !value.startsWith(ANT_PREFIX))
-			this.version = value;
-	}
-
-	public void setQuery(String query) {
-		if (query != null && !query.startsWith(ANT_PREFIX))
-			this.queryString = query;
-	}
-
-	public void setArtifacts(String filter) {
-		if (filter != null && !filter.startsWith(ANT_PREFIX))
-			this.artifactFilter = filter;
-	}
-
-	public Filter getArtifactFilter() throws InvalidSyntaxException {
-		if (artifactFilter != null)
-			return Activator.getBundleContext().createFilter(artifactFilter);
-		return null;
-	}
-
-	public void setRequired(boolean required) {
-		this.required = required;
-	}
-
-	public boolean isRequired() {
-		return required;
-	}
-
-	public String getQueryString() {
-		return queryString;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer("Installable Unit ["); //$NON-NLS-1$
-		if (id != null) {
-			buffer.append(" id="); //$NON-NLS-1$
-			buffer.append(id);
-		}
-		if (version != null) {
-			buffer.append(" version="); //$NON-NLS-1$
-			buffer.append(version);
-		}
-		if (queryString != null) {
-			buffer.append(" query="); //$NON-NLS-1$
-			buffer.append(queryString);
-		}
-		buffer.append(" ]"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-
-	public IQuery createQuery() {
-		List queries = new ArrayList();
-		if (id != null) {
-			if (version == null || version.length() == 0) {
-				// Get the latest version of the iu
-				queries.add(new InstallableUnitQuery(id));
-				queries.add(new LatestIUVersionQuery());
-			} else {
-				Version iuVersion = Version.parseVersion(version);
-				queries.add(new InstallableUnitQuery(id, iuVersion));
-			}
-		}
-
-		IQuery iuQuery = processQueryString();
-		if (iuQuery != null)
-			queries.add(iuQuery);
-
-		if (queries.size() == 1)
-			return (IQuery) queries.get(0);
-		return new PipedQuery((IQuery[]) queries.toArray(new IQuery[queries.size()]));
-	}
-
-	private IQuery processQueryString() {
-		if (queryString == null)
-			return null;
-		int startIdx = queryString.indexOf('[');
-		int endIdx = queryString.lastIndexOf(']');
-		if (startIdx == -1 || endIdx == -1 || endIdx < startIdx)
-			return null;
-		String element = queryString.substring(0, startIdx);
-		Map attributes = processQueryAttributes(queryString.substring(startIdx + 1, endIdx));
-		if (element.equals(QUERY_PROPERTY)) {
-			String name = (String) attributes.get(QUERY_NAME);
-			String value = (String) attributes.get(QUERY_VALUE);
-			if (name == null)
-				return null;
-			return new IUPropertyQuery(name, value);
-		}
-
-		return null;
-	}
-
-	private Map processQueryAttributes(String attributes) {
-		if (attributes == null || attributes.length() == 0)
-			return Collections.EMPTY_MAP;
-
-		Map result = new HashMap();
-		int start = 0;
-		int idx = 0;
-		while ((idx = attributes.indexOf('@', start)) > -1) {
-			int equals = attributes.indexOf('=', idx);
-			int startQuote = attributes.indexOf('\'', equals);
-			int endQuote = attributes.indexOf('\'', startQuote + 1);
-			if (equals == -1 || startQuote <= equals || endQuote <= startQuote)
-				break;
-			String key = attributes.substring(idx + 1, equals).trim();
-			String value = attributes.substring(startQuote + 1, endQuote);
-			result.put(key, value);
-
-			start = endQuote + 1;
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorArtifactsTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorArtifactsTask.java
deleted file mode 100644
index f75497b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorArtifactsTask.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
-
-/**
- * Ant task for running the artifact repository mirroring application.
- */
-public class MirrorArtifactsTask extends Task {
-	URI source;
-	URI destination;
-	String destinationName;
-	URI baseline; // location of known good repository for compare against (optional)
-	File mirrorLog; // file to log mirror output to (optional)
-	File comparatorLog; // file to comparator output to (optional)
-	String comparatorID; // specifies a comparator (optional)
-	String writeMode;
-	boolean compare = false;
-	boolean ignoreErrors = false;
-	boolean raw = false; // use raw artifact descriptors?
-	boolean verbose = false;
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() {
-		// Compare against if baseline specified
-		RepositoryDescriptor destinationRepo = new RepositoryDescriptor();
-		destinationRepo.setName(destinationName);
-		destinationRepo.setLocation(destination);
-		destinationRepo.setKind(RepositoryDescriptor.KIND_ARTIFACT);
-		if (writeMode != null && writeMode.equals("clean")) //$NON-NLS-1$
-			destinationRepo.setAppend(false);
-
-		RepositoryDescriptor sourceRepo = new RepositoryDescriptor();
-		sourceRepo.setLocation(source);
-		sourceRepo.setKind(RepositoryDescriptor.KIND_ARTIFACT);
-
-		MirrorApplication app = new MirrorApplication();
-		app.addDestination(destinationRepo);
-		app.addSource(sourceRepo);
-		app.setRaw(raw);
-		app.setIgnoreErrors(ignoreErrors);
-		app.setVerbose(verbose);
-		app.setCompare(compare);
-		app.setComparatorID(comparatorID);
-		app.setBaseline(baseline);
-		if (comparatorLog != null)
-			app.setComparatorLog(comparatorLog);
-		if (mirrorLog != null)
-			app.setLog(mirrorLog);
-		else {
-			try {
-				app.setLog(new AntMirrorLog(this));
-			} catch (NoSuchMethodException e) {
-				//shouldn't happen
-			}
-		}
-
-		try {
-			app.run(null);
-		} catch (Exception e) {
-			throw new BuildException("Exception while running mirror application.", e);
-		}
-	}
-
-	/*
-	 * Set the location of the source.
-	 */
-	public void setSource(String value) {
-		try {
-			source = URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	/*
-	 * Set the location of the destination.
-	 */
-	public void setDestination(String value) {
-		try {
-			destination = URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-
-	/*
-	 * Set the name of the destination repository.
-	 */
-	public void setDestinationName(String value) {
-		destinationName = value;
-	}
-
-	/*
-	 * Set the location of the baseline repository. (used in comparison)
-	 */
-	public void setBaseline(String value) {
-		try {
-			baseline = URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-		compare = true;
-	}
-
-	/*
-	 * Set the identifier of the comparator to use.
-	 */
-	public void setComparatorID(String value) {
-		comparatorID = value;
-		compare = true;
-	}
-
-	/*
-	 * Set the location of the comparator log
-	 */
-	public void setComparatorLog(String value) {
-		comparatorLog = new File(value);
-	}
-
-	/*
-	 * Set the write mode. (e.g. clean or append)
-	 */
-	public void setWriteMode(String value) {
-		writeMode = value;
-	}
-
-	/*
-	 * Set the log location if applicable
-	 */
-	public void setLog(String value) {
-		mirrorLog = new File(value);
-	}
-
-	/*
-	 * Set whether or not the application should be calling a comparator when mirroring.
-	 */
-	public void setCompare(boolean value) {
-		compare = value;
-	}
-
-	/*
-	 * Set whether or not we should ignore errors when running the mirror application.
-	 */
-	public void setIgnoreErrors(boolean value) {
-		ignoreErrors = value;
-	}
-
-	/*
-	 * Set whether or not the the artifacts are raw.
-	 */
-	public void setRaw(boolean value) {
-		raw = value;
-	}
-
-	/*
-	 * Set whether or not the mirror application should be run in verbose mode.
-	 */
-	public void setVerbose(boolean value) {
-		verbose = value;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorTask.java
deleted file mode 100644
index d2a220b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/MirrorTask.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import java.util.List;
-import org.apache.tools.ant.BuildException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.Messages;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-
-public class MirrorTask extends AbstractRepositoryTask {
-
-	private File mirrorLog; // file to log mirror output to (optional)
-	private ComparatorDescription comparator;
-
-	public MirrorTask() {
-		application = new MirrorApplication();
-	}
-
-	public void execute() throws BuildException {
-		try {
-			if (mirrorLog != null)
-				((MirrorApplication) application).setLog(mirrorLog);
-			else
-				((MirrorApplication) application).setLog(new AntMirrorLog(this));
-
-			if (comparator != null) {
-				// Enable comparison
-				((MirrorApplication) application).setCompare(true);
-				// Set baseline location
-				if (comparator.getBaseline() != null)
-					((MirrorApplication) application).setBaseline(comparator.getBaseline().getDescriptor().getRepoLocation());
-				// Set comparator to use
-				if (comparator.getComparator() != null)
-					((MirrorApplication) application).setComparatorID(comparator.getComparator());
-				// Set comparator log
-				if (comparator.getComparatorLog() != null)
-					((MirrorApplication) application).setComparatorLog(comparator.getComparatorLog());
-			}
-
-			prepareSourceRepos();
-			application.initializeRepos(null);
-			List ius = prepareIUs();
-			application.setSourceIUs(ius);
-			IStatus result = application.run(null);
-			if (result.matches(IStatus.ERROR))
-				throw new BuildException(TaskHelper.statusToString(result, null).toString());
-		} catch (ProvisionException e) {
-			throw new BuildException(e);
-		} catch (NoSuchMethodException e) {
-			// Should not occur
-			throw new BuildException(e);
-		}
-	}
-
-	public SlicingOption createSlicingOptions() {
-		SlicingOption options = new SlicingOption();
-		((MirrorApplication) application).setSlicingOptions(options.getOptions());
-		return options;
-	}
-
-	/*
-	 * Set the comparison information
-	 */
-	public ComparatorDescription createComparator() {
-		if (comparator != null)
-			throw new BuildException(Messages.exception_onlyOneComparator);
-		comparator = new ComparatorDescription();
-		return comparator;
-	}
-
-	/*
-	 * Set the location of the mirror log
-	 */
-	public void setLog(String value) {
-		mirrorLog = new File(value);
-	}
-
-	/*
-	 * Set whether or not we should ignore errors when running the mirror application.
-	 */
-	public void setIgnoreErrors(boolean value) {
-		((MirrorApplication) application).setIgnoreErrors(value);
-	}
-
-	/*
-	 * Set whether or not the the artifacts are raw.
-	 */
-	public void setRaw(boolean value) {
-		((MirrorApplication) application).setRaw(value);
-	}
-
-	/*
-	 * Set whether or not the mirror application should be run in verbose mode.
-	 */
-	public void setVerbose(boolean value) {
-		((MirrorApplication) application).setVerbose(value);
-	}
-
-	public void setValidate(boolean value) {
-		((MirrorApplication) application).setValidate(value);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
deleted file mode 100644
index 9b2286f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.jarprocessor.ant.JarProcessorTask;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.*;
-import org.eclipse.osgi.util.NLS;
-
-public class ProcessRepoTask extends Task {
-
-	public static class SigningOptions {
-		public String alias;
-		public String keystore;
-		public String storepass;
-		public String keypass;
-		public boolean unsign;
-
-		public void setAlias(String alias) {
-			this.alias = alias;
-		}
-
-		public void setKeystore(String keystore) {
-			this.keystore = keystore;
-		}
-
-		public void setKeypass(String keypass) {
-			this.keypass = keypass;
-		}
-
-		public void setStorepass(String storepass) {
-			this.storepass = storepass;
-		}
-
-		public void setUnsign(String unsign) {
-			this.unsign = Boolean.valueOf(unsign).booleanValue();
-		}
-	}
-
-	private URI repository = null;
-
-	private boolean pack = false;
-	private boolean repack = false;
-	private SigningOptions signing = null;
-	private JarProcessorTask jarProcessor = null;
-
-	public void execute() throws BuildException {
-		File file = URIUtil.toFile(repository);
-		if (file == null || !file.exists()) {
-			throw new BuildException(NLS.bind(Messages.ProcessRepo_must_be_local, repository.toString()));
-		}
-		if (pack | repack | signing != null) {
-			if (jarProcessor == null)
-				jarProcessor = new JarProcessorTask();
-			if (signing != null) {
-				jarProcessor.setAlias(signing.alias);
-				jarProcessor.setKeypass(signing.keypass);
-				jarProcessor.setKeystore(signing.keystore);
-				jarProcessor.setStorepass(signing.storepass);
-				jarProcessor.setUnsign(signing.unsign);
-
-				if (signing.alias != null && signing.alias.length() > 0 && !signing.alias.startsWith("${")) //$NON-NLS-1$
-					jarProcessor.setSign(true);
-			}
-			jarProcessor.setPack(pack);
-			jarProcessor.setNormalize(repack);
-			jarProcessor.setInputFolder(new File(repository));
-			jarProcessor.setProject(getProject());
-			jarProcessor.execute();
-		}
-
-		recreateRepository();
-	}
-
-	private void recreateRepository() {
-		RepositoryDescriptor descriptor = new RepositoryDescriptor();
-		descriptor.setAppend(true);
-		descriptor.setFormat(null);
-		descriptor.setKind("artifact"); //$NON-NLS-1$
-		descriptor.setLocation(repository);
-
-		RecreateRepositoryApplication application = new RecreateRepositoryApplication();
-		application.setArtifactRepository(descriptor);
-		try {
-			application.run(new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	public void setRepositoryPath(String repository) {
-		try {
-			this.repository = URIUtil.fromString(repository);
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException(NLS.bind(Messages.ProcessRepo_location_not_url, repository));
-		}
-	}
-
-	public void setPack(boolean pack) {
-		this.pack = pack;
-	}
-
-	public void setNormalize(boolean normalize) {
-		this.repack = normalize;
-	}
-
-	public void addConfiguredSign(SigningOptions options) {
-		this.signing = options;
-	}
-
-	public void addConfiguredPlugin(IUDescription iu) {
-		if (jarProcessor == null)
-			jarProcessor = new JarProcessorTask();
-
-		String path = "plugins/" + iu.getId() + '_' + iu.getVersion(); //$NON-NLS-1$
-		File repo = new File(repository);
-		File plugin = new File(repo, path);
-		if (!plugin.exists())
-			plugin = new File(repo, path + ".jar"); //$NON-NLS-1$
-
-		if (plugin.exists()) {
-			jarProcessor.addInputFile(plugin);
-		}
-	}
-
-	public void addConfiguredFeature(IUDescription iu) {
-		if (jarProcessor == null)
-			jarProcessor = new JarProcessorTask();
-
-		String path = "features/" + iu.getId() + '_' + iu.getVersion(); //$NON-NLS-1$
-		File repo = new File(repository);
-		File feature = new File(repo, path);
-		if (!feature.exists())
-			feature = new File(repo, path + ".jar"); //$NON-NLS-1$
-
-		if (feature.exists()) {
-			jarProcessor.addInputFile(feature);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
deleted file mode 100644
index c6ff9e0..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.*;
-import org.apache.tools.ant.BuildException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.internal.repository.tools.AbstractApplication;
-import org.eclipse.equinox.p2.internal.repository.tools.Messages;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-
-public class RemoveIUTask extends AbstractRepositoryTask {
-	private static final String CLASSIFIER = "classifier"; //$NON-NLS-1$
-	private static final String ID = "id"; //$NON-NLS-1$
-	private static final String VERSION = "version"; //$NON-NLS-1$
-
-	protected static class RemoveIUApplication extends AbstractApplication {
-		//Only need the application to reuse super's repo management.
-		public IStatus run(IProgressMonitor monitor) {
-			return null;
-		}
-
-		public void finalizeRepos() throws ProvisionException {
-			super.finalizeRepositories();
-		}
-	}
-
-	public RemoveIUTask() {
-		this.application = new RemoveIUApplication();
-	}
-
-	public void execute() throws BuildException {
-		try {
-			if (iuTasks == null || iuTasks.isEmpty())
-				return; //nothing to do
-
-			application.initializeRepos(null);
-			if (application.getCompositeMetadataRepository() == null)
-				throw new BuildException(Messages.AbstractApplication_no_valid_destinations); //need a repo
-
-			IMetadataRepository repository = application.getDestinationMetadataRepository();
-			IArtifactRepository artifacts = application.getDestinationArtifactRepository();
-
-			final Set toRemove = new HashSet();
-			for (Iterator iter = iuTasks.iterator(); iter.hasNext();) {
-				IUDescription iu = (IUDescription) iter.next();
-				IQuery iuQuery = iu.createQuery();
-
-				Collector collector = repository.query(iuQuery, null);
-
-				if (collector.isEmpty())
-					getProject().log(NLS.bind(Messages.AbstractRepositoryTask_unableToFind, iu.toString()));
-				else {
-					for (Iterator iterator = collector.iterator(); iterator.hasNext();) {
-						IInstallableUnit unit = (IInstallableUnit) iterator.next();
-						IArtifactKey[] keys = unit.getArtifacts();
-						Filter filter = null;
-						try {
-							filter = iu.getArtifactFilter();
-						} catch (InvalidSyntaxException e) {
-							getProject().log(NLS.bind(Messages.skippingInvalidFilter, iu.toString()));
-							continue;
-						}
-
-						//we will only remove the metadata if all artifacts were removed
-						boolean removeMetadata = true;
-						for (int i = 0; i < keys.length; i++) {
-							if (filter == null) {
-								artifacts.removeDescriptor(keys[i]);
-							} else {
-								IArtifactDescriptor[] descriptors = artifacts.getArtifactDescriptors(keys[i]);
-								for (int j = 0; j < descriptors.length; j++) {
-									if (filter.match(createDictionary(descriptors[j]))) {
-										artifacts.removeDescriptor(descriptors[j]);
-									} else {
-										removeMetadata = false;
-									}
-								}
-							}
-						}
-						if (removeMetadata)
-							toRemove.add(unit);
-					}
-				}
-			}
-
-			if (toRemove.size() > 0) {
-				repository.removeInstallableUnits((IInstallableUnit[]) toRemove.toArray(new IInstallableUnit[toRemove.size()]), null);
-			}
-		} catch (ProvisionException e) {
-			throw new BuildException(e);
-		} finally {
-			try {
-				((RemoveIUApplication) application).finalizeRepos();
-			} catch (ProvisionException e) {
-				throw new BuildException(e);
-			}
-		}
-	}
-
-	private Dictionary createDictionary(IArtifactDescriptor descriptor) {
-		Hashtable result = new Hashtable(5);
-		result.putAll(descriptor.getProperties());
-		IArtifactKey key = descriptor.getArtifactKey();
-		result.put(CLASSIFIER, key.getClassifier());
-		result.put(ID, key.getId());
-		result.put(VERSION, key.getVersion());
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/Repo2RunnableTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/Repo2RunnableTask.java
deleted file mode 100644
index 345fe23..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/Repo2RunnableTask.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.List;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.Messages;
-import org.eclipse.equinox.p2.internal.repository.tools.Repo2Runnable;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Ant task which calls the "repo to runnable" application. This application takes an
- * existing p2 repository (local or remote), iterates over its list of IUs, and fetches 
- * all of the corresponding artifacts to a user-specified location. Once fetched, the
- * artifacts will be in "runnable" form... that is directory-based bundles will be
- * extracted into folders and packed JAR files will be un-packed.
- * 
- * @since 1.0
- */
-public class Repo2RunnableTask extends AbstractRepositoryTask {
-
-	private boolean failOnError = true;
-
-	/*
-	 * Constructor for the class. Create a new instance of the application
-	 * so we can populate it with attributes.
-	 */
-	public Repo2RunnableTask() {
-		super();
-		this.application = new Repo2Runnable();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		try {
-			prepareSourceRepos();
-			application.initializeRepos(null);
-			List ius = prepareIUs();
-			if ((ius == null || ius.size() == 0) && !(application.hasArtifactSources() || application.hasMetadataSources()))
-				throw new BuildException(Messages.exception_needIUsOrNonEmptyRepo);
-			application.setSourceIUs(ius);
-			IStatus result = application.run(null);
-			if (failOnError && result.matches(IStatus.ERROR))
-				throw new ProvisionException(result);
-		} catch (ProvisionException e) {
-			if (failOnError)
-				throw new BuildException(NLS.bind(Messages.Repo2RunnableTask_errorTransforming, null != e.getMessage() ? e.getMessage() : e.toString()), e);
-			/* else */
-			getProject().log(NLS.bind(Messages.Repo2RunnableTask_errorTransforming, null != e.getMessage() ? e.getMessage() : e.toString()), Project.MSG_WARN);
-			getProject().log(e.getMessage(), Project.MSG_WARN);
-		}
-	}
-
-	public void setFailOnError(boolean fail) {
-		this.failOnError = fail;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryFileSet.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryFileSet.java
deleted file mode 100644
index 5a9eed2..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryFileSet.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.FileSet;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
-import org.eclipse.equinox.p2.repository.IRepository;
-
-public class RepositoryFileSet extends FileSet {
-	public final static int TYPE_ARTIFACT = IRepository.TYPE_ARTIFACT;
-	public final static int TYPE_METADATA = IRepository.TYPE_METADATA;
-
-	private int kind = RepositoryDescriptor.TYPE_BOTH;
-	protected String myLocation = null;
-
-	public void setKind(String repoKind) {
-		kind = RepositoryDescriptor.determineKind(repoKind);
-	}
-
-	public int getKind() {
-		return kind;
-	}
-
-	public boolean isBoth() {
-		return kind == RepositoryDescriptor.TYPE_BOTH;
-	}
-
-	public boolean isArtifact() {
-		return kind == RepositoryDescriptor.TYPE_BOTH || kind == IRepository.TYPE_ARTIFACT;
-	}
-
-	public boolean isMetadata() {
-		return kind == RepositoryDescriptor.TYPE_BOTH || kind == IRepository.TYPE_METADATA;
-	}
-
-	public void setLocation(String value) {
-		// TODO depreciate 
-		myLocation = value;
-	}
-
-	public String getRepoLocation() {
-		// TODO depreciate 
-		return myLocation;
-	}
-
-	public URI getRepoLocationURI() {
-		// TODO depreciate 
-		try {
-			return RepositoryHelper.localRepoURIHelper(URIUtil.fromString(getRepoLocation()));
-		} catch (URISyntaxException e) {
-			throw new BuildException(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryList.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryList.java
deleted file mode 100644
index a76d321..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RepositoryList.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class RepositoryList extends RepositoryFileSet {
-	// TODO this class should extend DataType, currently RepoFileSet to support <source location="xxx" /> 
-	List repositories = new ArrayList();
-	List sourceFileSets = new ArrayList();
-
-	public DestinationRepository createRepository() {
-		DestinationRepository repo = new DestinationRepository();
-		repositories.add(repo);
-		return repo;
-	}
-
-	public RepositoryFileSet createFileSet() {
-		RepositoryFileSet fileSet = new RepositoryFileSet();
-		sourceFileSets.add(fileSet);
-		return fileSet;
-	}
-
-	public List getRepositoryList() {
-		return repositories;
-	}
-
-	public List getFileSetList() {
-		//TODO this should eventually be removed
-		sourceFileSets.add(this);
-		return sourceFileSets;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java
deleted file mode 100644
index fcd8a6b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/SlicingOption.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import java.util.Dictionary;
-import java.util.StringTokenizer;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.equinox.p2.internal.repository.tools.Messages;
-import org.eclipse.equinox.p2.internal.repository.tools.SlicingOptions;
-import org.eclipse.osgi.util.NLS;
-
-public class SlicingOption extends Task {
-
-	SlicingOptions options = null;
-
-	public SlicingOption() {
-		options = new SlicingOptions();
-		options.forceFilterTo(true);
-		options.considerStrictDependencyOnly(false);
-		options.everythingGreedy(true);
-		options.includeOptionalDependencies(true);
-		options.followOnlyFilteredRequirements(false);
-		setIncludeFeatures(true);
-	}
-
-	/**
-	 * Setting this to true will cause the optional dependencies to be considered.
-	 */
-	public void setIncludeOptional(boolean optional) {
-		options.includeOptionalDependencies(optional);
-	}
-
-	/**
-	 * 
-	 */
-	public void setPlatformFilter(String platformFilter) {
-		if (platformFilter == null || platformFilter.trim().equals("")) //$NON-NLS-1$
-			return;
-		if (platformFilter.equalsIgnoreCase("true")) { //$NON-NLS-1$
-			options.forceFilterTo(true);
-			return;
-		}
-		if (platformFilter.equalsIgnoreCase("false")) { //$NON-NLS-1$
-			options.forceFilterTo(false);
-			return;
-		}
-		StringTokenizer tok = new StringTokenizer(platformFilter, ","); //$NON-NLS-1$
-		if (tok.countTokens() != 3)
-			throw new BuildException(NLS.bind(Messages.SlicingOption_invalid_platform, platformFilter));
-		Dictionary filter = options.getFilter();
-		filter.put("osgi.os", tok.nextToken().trim()); //$NON-NLS-1$
-		filter.put("osgi.ws", tok.nextToken().trim()); //$NON-NLS-1$
-		filter.put("osgi.arch", tok.nextToken().trim()); //$NON-NLS-1$
-		options.setFilter(filter);
-	}
-
-	public void setIncludeNonGreedy(boolean greed) {
-		options.everythingGreedy(greed);
-	}
-
-	public void setIncludeFeatures(boolean includeFeatures) {
-		Dictionary filter = options.getFilter();
-		filter.put("org.eclipse.update.install.features", String.valueOf(includeFeatures)); //$NON-NLS-1$
-		options.setFilter(filter);
-	}
-
-	public void setFilter(String filterString) {
-		if (filterString == null || filterString.trim().equals("")) //$NON-NLS-1$
-			return;
-		Dictionary filter = options.getFilter();
-		StringTokenizer tok = new StringTokenizer(filterString, ","); //$NON-NLS-1$
-		while (tok.hasMoreTokens()) {
-			String rule = tok.nextToken().trim();
-			int eqIndex = rule.indexOf('=');
-			if (eqIndex == -1)
-				throw new BuildException(NLS.bind(Messages.SlicingOption_invalidFilterFormat, rule));
-			filter.put(rule.substring(0, eqIndex), rule.substring(eqIndex + 1));
-		}
-		options.setFilter(filter);
-	}
-
-	/** 
-	 * Set this property to true if only strict dependencies must be followed. A strict dependency is defined by a version range only including one version (e.g. [1.0.0.v2009, 1.0.0.v2009])
-	 * The default value is false.
-	 */
-	public void setFollowStrict(boolean strict) {
-		options.considerStrictDependencyOnly(strict);
-	}
-
-	public void setFollowOnlyFilteredRequirements(boolean onlyFiltered) {
-		options.followOnlyFilteredRequirements(onlyFiltered);
-	}
-
-	public void setLatestVersionOnly(boolean latest) {
-		options.latestVersionOnly(latest);
-	}
-
-	public SlicingOptions getOptions() {
-		return options;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/TaskHelper.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/TaskHelper.java
deleted file mode 100644
index 8eeab46..0000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/TaskHelper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.tools.tasks;
-
-import org.eclipse.core.runtime.IStatus;
-
-public class TaskHelper {
-	public static StringBuffer statusToString(IStatus status, StringBuffer b) {
-		IStatus[] nestedStatus = status.getChildren();
-		if (b == null)
-			b = new StringBuffer();
-		b.append(status.getMessage());
-		for (int i = 0; i < nestedStatus.length; i++) {
-			b.append('\n');
-			b.append(statusToString(nestedStatus[i], b));
-		}
-		return b;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/.classpath b/bundles/org.eclipse.equinox.p2.repository/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.repository/.project b/bundles/org.eclipse.equinox.p2.repository/.project
deleted file mode 100644
index 120c042..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index fe9a0e7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,351 +0,0 @@
-#Mon May 04 16:59:04 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6de3a71..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Mon May 04 16:59:04 EDT 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 979e4e8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
deleted file mode 100644
index 7b54749..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,52 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true
-Bundle-Version: 2.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.repository.Activator
-Require-Bundle: org.eclipse.equinox.common,
- org.eclipse.ecf.filetransfer,
- org.eclipse.ecf,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.registry;bundle-version="3.3.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.1"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Bundle-Vendor: %providerName
-Import-Package: javax.xml.parsers,
- org.eclipse.core.runtime.jobs,
- org.eclipse.core.runtime.preferences;version="3.2.0",
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.security.storage,
- org.eclipse.osgi.service.debug,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.service.prefs;version="1.0.0",
- org.osgi.util.tracker;version="1.3.0",
- org.xml.sax,
- org.xml.sax.helpers
-Export-Package: org.eclipse.equinox.internal.p2.persistence;x-friends:="org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata.repository",
- org.eclipse.equinox.internal.p2.repository;x-friends:="org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.updatesite",
- org.eclipse.equinox.internal.p2.repository.helpers;
-  x-friends:="org.eclipse.equinox.p2.artifact.repository,
-   org.eclipse.equinox.p2.exemplarysetup,
-   org.eclipse.equinox.p2.metadata.repository,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.updatesite,
-   org.eclipse.equinox.p2.repository.tools,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.metadata.generator",
- org.eclipse.equinox.internal.provisional.p2.repository;uses:="org.osgi.framework,org.eclipse.core.runtime",
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata
diff --git a/bundles/org.eclipse.equinox.p2.repository/about.html b/bundles/org.eclipse.equinox.p2.repository/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/build.properties b/bundles/org.eclipse.equinox.p2.repository/build.properties
deleted file mode 100644
index 42c5dd3..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2009 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.repository/plugin.properties b/bundles/org.eclipse.equinox.p2.repository/plugin.properties
deleted file mode 100644
index 952b84d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Repository
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeParser.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeParser.java
deleted file mode 100644
index 521e196..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeParser.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-/*
- * Class used to read a composite repository.
- */
-public class CompositeParser extends XMLParser implements XMLConstants {
-
-	private static final Version CURRENT_VERSION = Version.createOSGi(1, 0, 0);
-	static final VersionRange XML_TOLERANCE = new VersionRange(CURRENT_VERSION, true, Version.createOSGi(2, 0, 0), false);
-	private static final String REQUIRED_CAPABILITY_ELEMENT = "required"; //$NON-NLS-1$
-	private static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
-	String repositoryType;
-	private CompositeRepositoryState theState;
-
-	protected class ChildrenHandler extends AbstractHandler {
-		private ArrayList children;
-
-		public ChildrenHandler(AbstractHandler parentHandler, Attributes attributes) {
-			super(parentHandler, CHILDREN_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			children = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4));
-		}
-
-		public URI[] getChildren() {
-			int size = children.size();
-			URI[] result = new URI[size];
-			int i = 0;
-			for (Iterator it = children.iterator(); it.hasNext(); i++) {
-				result[i] = (URI) it.next();
-			}
-			return result;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(CHILD_ELEMENT)) {
-				new ChildHandler(this, attributes, children);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-	}
-
-	protected class ChildHandler extends AbstractHandler {
-		private final String[] required = new String[] {LOCATION_ELEMENT};
-		private final String[] optional = new String[] {};
-
-		URI currentRepo = null;
-
-		private List repos;
-
-		public ChildHandler(AbstractHandler parentHandler, Attributes attributes, List repos) {
-			super(parentHandler, CHILD_ELEMENT);
-			String[] values = parseAttributes(attributes, required, optional);
-			this.repos = repos;
-			//skip entire subrepository if the location is missing
-			if (values[0] == null)
-				return;
-			currentRepo = checkURI(REQUIRED_CAPABILITY_ELEMENT, URI_ATTRIBUTE, values[0]);
-
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			checkCancel();
-		}
-
-		protected void finished() {
-			if (currentRepo != null)
-				repos.add(currentRepo);
-		}
-	}
-
-	private final class RepositoryDocHandler extends DocHandler {
-
-		public RepositoryDocHandler(String rootName, RootHandler rootHandler) {
-			super(rootName, rootHandler);
-		}
-
-		public void processingInstruction(String target, String data) throws SAXException {
-			if (repositoryType.equals(target)) {
-				Version repositoryVersion = extractPIVersion(target, data);
-				if (!XML_TOLERANCE.isIncluded(repositoryVersion)) {
-					throw new SAXException(NLS.bind(Messages.io_IncompatibleVersion, repositoryVersion, XML_TOLERANCE));
-				}
-			}
-		}
-	}
-
-	/*
-	 * Handler for the "repository" attribute.
-	 */
-	private final class RepositoryHandler extends RootHandler {
-
-		private final String[] required = new String[] {NAME_ATTRIBUTE, TYPE_ATTRIBUTE, VERSION_ATTRIBUTE};
-		private final String[] optional = new String[] {DESCRIPTION_ATTRIBUTE, PROVIDER_ATTRIBUTE};
-		private PropertiesHandler propertiesHandler = null;
-		private ChildrenHandler childrenHandler = null;
-		private CompositeRepositoryState state;
-		private String[] attrValues = new String[required.length + optional.length];
-
-		public RepositoryHandler() {
-			super();
-		}
-
-		public CompositeRepositoryState getRepository() {
-			return state;
-		}
-
-		protected void handleRootAttributes(Attributes attributes) {
-			attrValues = parseAttributes(attributes, required, optional);
-			attrValues[2] = checkVersion(REPOSITORY_ELEMENT, VERSION_ATTRIBUTE, attrValues[2]).toString();
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (PROPERTIES_ELEMENT.equals(name)) {
-				if (propertiesHandler == null) {
-					propertiesHandler = new PropertiesHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else if (CHILDREN_ELEMENT.equals(name)) {
-				if (childrenHandler == null) {
-					childrenHandler = new ChildrenHandler(this, attributes);
-				} else {
-					duplicateElement(this, name, attributes);
-				}
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-		/*
-		 * If we parsed valid XML then fill in our repository state object with the parsed data.
-		 */
-		protected void finished() {
-			if (isValidXML()) {
-				state = new CompositeRepositoryState();
-				state.setName(attrValues[0]);
-				state.setType(attrValues[1]);
-				state.setVersion(attrValues[2]);
-				state.setDescription(attrValues[3]);
-				state.setProvider(attrValues[4]);
-				state.setProperties((propertiesHandler == null ? new OrderedProperties(0) //
-						: propertiesHandler.getProperties()));
-				state.setChildren((childrenHandler == null ? new URI[0] //
-						: childrenHandler.getChildren()));
-			}
-		}
-	}
-
-	public CompositeParser(BundleContext context, String bundleId, String type) {
-		super(context, bundleId);
-		this.repositoryType = type;
-	}
-
-	public void parse(File file) throws IOException {
-		parse(new FileInputStream(file));
-	}
-
-	public synchronized void parse(InputStream stream) throws IOException {
-		this.status = null;
-		try {
-			// TODO: currently not caching the parser since we make no assumptions
-			//		 or restrictions on concurrent parsing
-			getParser();
-			RepositoryHandler repositoryHandler = new RepositoryHandler();
-			xmlReader.setContentHandler(new RepositoryDocHandler(REPOSITORY_ELEMENT, repositoryHandler));
-			xmlReader.parse(new InputSource(stream));
-			if (isValidXML()) {
-				theState = repositoryHandler.getRepository();
-			}
-		} catch (SAXException e) {
-			throw new IOException(e.getMessage());
-		} catch (ParserConfigurationException e) {
-			throw new IOException(e.getMessage());
-		} finally {
-			stream.close();
-		}
-	}
-
-	public CompositeRepositoryState getRepositoryState() {
-		return theState;
-	}
-
-	//TODO what?
-	protected Object getRootObject() {
-		return null;
-	}
-
-	protected String getErrorMessage() {
-		return Messages.io_parseError;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryIO.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryIO.java
deleted file mode 100644
index 02319fb..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryIO.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.io.*;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This class reads and writes repository metadata (e.g. table of contents files) 
- * for composite artifact and metadata repositories.
- * <p>
- * Note: This class is not used for reading or writing the actual composite repositories.
- */
-public class CompositeRepositoryIO {
-
-	/**
-	 * Writes the given repository to the stream.
-	 * This method performs buffering, and closes the stream when finished.
-	 */
-	public void write(CompositeRepositoryState repository, OutputStream output, String type) {
-		OutputStream bufferedOutput = null;
-		try {
-			try {
-				bufferedOutput = new BufferedOutputStream(output);
-				CompositeWriter repositoryWriter = new CompositeWriter(bufferedOutput, type);
-				repositoryWriter.write(repository);
-			} finally {
-				if (bufferedOutput != null) {
-					bufferedOutput.close();
-				}
-			}
-		} catch (IOException ioe) {
-			// TODO shouldn't this throw a core exception?
-			ioe.printStackTrace();
-		}
-	}
-
-	/**
-	 * Reads the composite repository from the given stream,
-	 * and returns the contained array of abstract composite repositories.
-	 * 
-	 * This method performs buffering, and closes the stream when finished.
-	 */
-	public CompositeRepositoryState read(URL location, InputStream input, String type, IProgressMonitor monitor) throws ProvisionException {
-		BufferedInputStream bufferedInput = null;
-		try {
-			try {
-				bufferedInput = new BufferedInputStream(input);
-				CompositeParser repositoryParser = new CompositeParser(Activator.getContext(), Activator.ID, type);
-				repositoryParser.parse(input);
-				IStatus result = repositoryParser.getStatus();
-				switch (result.getSeverity()) {
-					case IStatus.CANCEL :
-						throw new OperationCanceledException();
-					case IStatus.ERROR :
-						throw new ProvisionException(result);
-					case IStatus.WARNING :
-					case IStatus.INFO :
-						LogHelper.log(result);
-				}
-				CompositeRepositoryState repositoryState = repositoryParser.getRepositoryState();
-				if (repositoryState == null)
-					throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, Messages.io_parseError, null));
-				return repositoryState;
-			} finally {
-				if (bufferedInput != null)
-					bufferedInput.close();
-			}
-		} catch (IOException ioe) {
-			String msg = NLS.bind(Messages.io_failedRead, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, ioe));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryState.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryState.java
deleted file mode 100644
index 83f7795..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeRepositoryState.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.net.URI;
-import java.util.Map;
-
-/*
- * Instances of this class represent a composite repository (either metadata
- * or artifact) and are used in persisting or retrieving the repository to/from disk.
- */
-public class CompositeRepositoryState {
-	private String name;
-	private String type;
-	private String version;
-	private String provider;
-	private String description;
-	private URI location;
-	private Map properties;
-	private URI[] children;
-
-	public void setName(String value) {
-		name = value;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setType(String value) {
-		type = value;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public void setVersion(String value) {
-		version = value;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public void setProvider(String value) {
-		provider = value;
-	}
-
-	public String getProvider() {
-		return provider;
-	}
-
-	public void setDescription(String value) {
-		description = value;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setLocation(URI value) {
-		location = value;
-	}
-
-	public URI getLocation() {
-		return location;
-	}
-
-	public void setProperties(Map value) {
-		properties = value;
-	}
-
-	public Map getProperties() {
-		return properties;
-	}
-
-	public void setChildren(URI[] value) {
-		children = value;
-	}
-
-	public URI[] getChildren() {
-		return children;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeWriter.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeWriter.java
deleted file mode 100644
index 2045fc9..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/CompositeWriter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/*
- * Class used to persist a composite repository.
- */
-public class CompositeWriter extends XMLWriter implements XMLConstants {
-
-	private static final String REPOSITORY_ELEMENT = "repository"; //$NON-NLS-1$
-	private static final Version CURRENT_VERSION = Version.createOSGi(1, 0, 0);
-
-	public CompositeWriter(OutputStream output, String type) throws UnsupportedEncodingException {
-		super(output, new XMLWriter.ProcessingInstruction[] {XMLWriter.ProcessingInstruction.makeTargetVersionInstruction(type, CURRENT_VERSION)});
-		// TODO: add a processing instruction for the metadata version
-	}
-
-	/**
-	 * Writes a list of URIs referring to sub repositories
-	 */
-	protected void writeChildren(URI[] children) {
-		if (children == null || children.length == 0)
-			return;
-		start(CHILDREN_ELEMENT);
-		attribute(COLLECTION_SIZE_ATTRIBUTE, children.length);
-		for (int i = 0; i < children.length; i++)
-			writeChild(children[i]);
-		end(CHILDREN_ELEMENT);
-	}
-
-	protected void writeChild(URI encodedURI) {
-		String unencodedString = URIUtil.toUnencodedString(encodedURI);
-		start(CHILD_ELEMENT);
-		attribute(LOCATION_ELEMENT, unencodedString);
-		end(CHILD_ELEMENT);
-	}
-
-	/**
-	 * Write the given composite repository to the output stream.
-	 */
-	public void write(CompositeRepositoryState repository) {
-		start(REPOSITORY_ELEMENT);
-		attribute(NAME_ATTRIBUTE, repository.getName());
-		attribute(TYPE_ATTRIBUTE, repository.getType());
-		attribute(VERSION_ATTRIBUTE, repository.getVersion());
-		attributeOptional(PROVIDER_ATTRIBUTE, repository.getProvider());
-		attributeOptional(DESCRIPTION_ATTRIBUTE, repository.getDescription()); // TODO: could be cdata?
-		writeProperties(repository.getProperties());
-		writeChildren(repository.getChildren());
-		end(REPOSITORY_ELEMENT);
-		flush();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/Messages.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
deleted file mode 100644
index d303249..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.persistence.messages"; //$NON-NLS-1$
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String XMLParser_No_SAX_Parser;
-	public static String XMLParser_Error_At_Line;
-	public static String XMLParser_Error_At_Line_Column;
-	public static String XMLParser_Error_At_Name_Line;
-	public static String XMLParser_Error_At_Name_Line_Column;
-	public static String XMLParser_Missing_Required_Attribute;
-	public static String XMLParser_Illegal_Value_For_Attribute;
-	public static String XMLParser_Duplicate_Element;
-
-	public static String io_failedRead;
-	public static String io_IncompatibleVersion;
-	public static String io_parseError;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
deleted file mode 100644
index b742715..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLConstants.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-public interface XMLConstants {
-
-	// Constants used in defining a default processing instruction
-	// including a class name and a version of the associated XML
-	// for some category of objects.
-	//	e.g. <?category class='a.b.c.SomeClass' version='1.2.3'?>
-	//
-	public static final String PI_CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
-	public static final String PI_VERSION_ATTRIBUTE = "version"; //$NON-NLS-1$
-
-	// Element and attribute names for a standard property collection.
-	//	e.g. <properties size='1'>
-	//			<property name='some_name' value='some_value'/>
-	//		 </properties>
-	public static final String PROPERTIES_ELEMENT = "properties"; //$NON-NLS-1$
-	public static final String PROPERTY_ELEMENT = "property"; //$NON-NLS-1$
-	public static final String PROPERTY_NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
-	public static final String PROPERTY_VALUE_ATTRIBUTE = "value"; //$NON-NLS-1$
-	public static final String[] PROPERTY_ATTRIBUTES = new String[] {PROPERTY_NAME_ATTRIBUTE, PROPERTY_VALUE_ATTRIBUTE};
-
-	// Constants for the names of common general attributes
-	public static final String ID_ATTRIBUTE = "id"; //$NON-NLS-1$
-	public static final String PARENT_ID_ATTRIBUTE = "parentId"; //$NON-NLS-1$
-	public static final String TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$
-	public static final String NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
-	public static final String VERSION_ATTRIBUTE = "version"; //$NON-NLS-1$
-	public static final String VERSION_RANGE_ATTRIBUTE = "range"; //$NON-NLS-1$
-	public static final String NAMESPACE_ATTRIBUTE = "namespace"; //$NON-NLS-1$
-	public static final String CLASSIFIER_ATTRIBUTE = "classifier"; //$NON-NLS-1$
-	public static final String DESCRIPTION_ATTRIBUTE = "description"; //$NON-NLS-1$
-	public static final String PROVIDER_ATTRIBUTE = "provider"; //$NON-NLS-1$
-	public static final String URL_ATTRIBUTE = "url"; //$NON-NLS-1$
-	public static final String URI_ATTRIBUTE = "uri"; //$NON-NLS-1$
-
-	// Constants for the license and copyright elements
-	public static final String LICENSES_ELEMENT = "licenses"; //$NON-NLS-1$
-	public static final String LICENSE_ELEMENT = "license"; //$NON-NLS-1$
-	public static final String COPYRIGHT_ELEMENT = "copyright"; //$NON-NLS-1$
-
-	// A constant for the name of an attribute of a collection or array element
-	// specifying the size or length
-	public static final String COLLECTION_SIZE_ATTRIBUTE = "size"; //$NON-NLS-1$
-
-	// A constant for an empty array of attribute names
-	public static String[] noAttributes = new String[0];
-
-	//Constants for attributes of a composite repository
-	public static final String CHILDREN_ELEMENT = "children"; //$NON-NLS-1$
-	public static final String CHILD_ELEMENT = "child"; //$NON-NLS-1$
-	public static final String LOCATION_ELEMENT = "location"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
deleted file mode 100644
index 62b3087..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
+++ /dev/null
@@ -1,753 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.net.*;
-import java.util.List;
-import java.util.StringTokenizer;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.p2.core.StringPool;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-import org.xml.sax.*;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-public abstract class XMLParser extends DefaultHandler implements XMLConstants {
-
-	// Get the root object that is being parsed.
-	protected abstract Object getRootObject();
-
-	// Get a generic parser error message for inclusion in an error status
-	protected abstract String getErrorMessage();
-
-	protected BundleContext context; // parser class bundle context
-	protected String bundleId; // parser class bundle id
-
-	protected XMLReader xmlReader; // the XML reader for the parser
-
-	protected MultiStatus status = null; // accumulation of non-fatal errors
-	protected Locator locator = null; // document locator, if supported by the parser
-
-	protected StringPool stringPool = new StringPool();//used to eliminate string duplication
-	private IProgressMonitor monitor;
-
-	private static ServiceTracker xmlTracker = null;
-
-	public XMLParser(BundleContext context, String pluginId) {
-		super();
-		this.context = context;
-		this.bundleId = pluginId;
-	}
-
-	/**
-	 *  Non-fatal errors accumulated during parsing.
-	 */
-	public IStatus getStatus() {
-		return (status != null ? status : Status.OK_STATUS);
-	}
-
-	/**
-	 * Returns the canonical form of a string. Used to eliminate duplicate equal 
-	 * strings.
-	 */
-	protected String canonicalize(String string) {
-		return stringPool == null ? string : stringPool.add(string);
-	}
-
-	public boolean isValidXML() {
-		return (status == null || !status.matches(IStatus.ERROR | IStatus.CANCEL));
-	}
-
-	private synchronized static SAXParserFactory acquireXMLParsing(BundleContext context) {
-		if (xmlTracker == null) {
-			xmlTracker = new ServiceTracker(context, SAXParserFactory.class.getName(), null);
-			xmlTracker.open();
-		}
-		return (SAXParserFactory) xmlTracker.getService();
-	}
-
-	protected synchronized static void releaseXMLParsing() {
-		if (xmlTracker != null) {
-			xmlTracker.close();
-			xmlTracker = null;
-		}
-	}
-
-	protected SAXParser getParser() throws ParserConfigurationException, SAXException {
-		SAXParserFactory factory = acquireXMLParsing(this.context);
-		if (factory == null) {
-			throw new SAXException(Messages.XMLParser_No_SAX_Parser);
-		}
-		factory.setNamespaceAware(true);
-		factory.setValidating(false);
-		try {
-			factory.setFeature("http://xml.org/sax/features/string-interning", true); //$NON-NLS-1$
-		} catch (SAXException se) {
-			// some parsers may not support string interning
-		}
-		SAXParser theParser = factory.newSAXParser();
-		if (theParser == null) {
-			throw new SAXException(Messages.XMLParser_No_SAX_Parser);
-		}
-		xmlReader = theParser.getXMLReader();
-		return theParser;
-	}
-
-	public static String makeSimpleName(String localName, String qualifiedName) {
-		if (localName != null && localName.length() > 0) {
-			return localName;
-		}
-		int nameSpaceIndex = qualifiedName.indexOf(":"); //$NON-NLS-1$
-		return (nameSpaceIndex == -1 ? qualifiedName : qualifiedName.substring(nameSpaceIndex + 1));
-	}
-
-	/**
-	 * Set the document locator for the parser
-	 * 
-	 * @see org.xml.sax.ContentHandler#setDocumentLocator
-	 */
-	public void setDocumentLocator(Locator docLocator) {
-		locator = docLocator;
-	}
-
-	/**
-	 * Sets the progress monitor for the parser
-	 */
-	protected void setProgressMonitor(IProgressMonitor monitor) {
-		this.monitor = monitor;
-	}
-
-	/**
-	 * Abstract base class for content handlers
-	 */
-	protected abstract class AbstractHandler extends DefaultHandler {
-
-		protected ContentHandler parentHandler = null;
-		protected String elementHandled = null;
-
-		protected StringBuffer characters = null; // character data inside an element
-
-		public AbstractHandler() {
-			// Empty constructor for a root handler
-		}
-
-		public AbstractHandler(ContentHandler parentHandler) {
-			this.parentHandler = parentHandler;
-			xmlReader.setContentHandler(this);
-		}
-
-		public AbstractHandler(ContentHandler parentHandler, String elementHandled) {
-			this.parentHandler = parentHandler;
-			xmlReader.setContentHandler(this);
-			this.elementHandled = elementHandled;
-		}
-
-		/**
-		 * Set the document locator for the parser
-		 * 
-		 * @see org.xml.sax.ContentHandler#setDocumentLocator
-		 */
-		public void setDocumentLocator(Locator docLocator) {
-			locator = docLocator;
-		}
-
-		public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-			finishCharacters();
-			String name = makeSimpleName(localName, qName);
-			trace(name, attributes);
-			startElement(name, attributes);
-		}
-
-		public abstract void startElement(String name, Attributes attributes) throws SAXException;
-
-		public void invalidElement(String name, Attributes attributes) {
-			unexpectedElement(this, name, attributes);
-			new IgnoringHandler(this);
-		}
-
-		public void endElement(String namespaceURI, String localName, String qName) {
-			// TODO: throw a bad state error if makeSimpleName(localName, qName) != elementHandled
-			finishCharacters();
-			finished();
-			// Restore the parent content handler
-			xmlReader.setContentHandler(parentHandler);
-		}
-
-		/**
-		 * 	An implementation for startElement when there are no sub-elements
-		 */
-		protected void noSubElements(String name, Attributes attributes) {
-			unexpectedElement(this, name, attributes);
-			// Create a new handler to ignore subsequent nested elements			
-			new IgnoringHandler(this);
-		}
-
-		/*
-		 * Save up character data until endElement or nested startElement
-		 * 
-		 * @see org.xml.sax.ContentHandler#characters
-		 */
-		public void characters(char[] chars, int start, int length) {
-			if (this.characters == null) {
-				this.characters = new StringBuffer();
-			}
-			this.characters.append(chars, start, length);
-		}
-
-		// Consume the characters accumulated in this.characters.
-		// Called before startElement or endElement
-		private String finishCharacters() {
-			// common case -- no characters or only whitespace
-			if (this.characters == null || this.characters.length() == 0) {
-				return null;
-			}
-			if (allWhiteSpace(this.characters)) {
-				this.characters.setLength(0);
-				return null;
-			}
-
-			// process the characters
-			try {
-				String trimmedChars = this.characters.toString().trim();
-				if (trimmedChars.length() == 0) {
-					// this shouldn't happen due to the test for allWhiteSpace above
-					System.err.println("Unexpected non-whitespace characters: " //$NON-NLS-1$
-							+ trimmedChars);
-					return null;
-				}
-				processCharacters(trimmedChars);
-				return trimmedChars;
-			} finally {
-				this.characters.setLength(0);
-			}
-		}
-
-		// Method to override in the handler of an element with CDATA. 
-		protected void processCharacters(String data) {
-			if (data.length() > 0) {
-				unexpectedCharacterData(this, data);
-			}
-		}
-
-		private boolean allWhiteSpace(StringBuffer sb) {
-			int length = sb.length();
-			for (int i = 0; i < length; i += 1) {
-				if (!Character.isWhitespace(sb.charAt(i))) {
-					return false;
-				}
-			}
-			return true;
-		}
-
-		/**
-		 * 	Called when this element and all elements nested into it have been
-		 * 	handled.
-		 */
-		protected void finished() {
-			// Do nothing by default
-		}
-
-		/*
-		 * 	A name used to identify the handler.
-		 */
-		public String getName() {
-			return (elementHandled != null ? elementHandled : "NoName"); //$NON-NLS-1$
-		}
-
-		/**
-		 * In p2 1.0 we stored URLs, in 1.1 and later we store URIs. This method will
-		 * first check for a URI, and then resort to looking for a URL attribute for
-		 * backwards compatibility.
-		 * @param attributes The attributes to parse
-		 * @param required If true, an exception is thrown if no URI or URL attribute is present
-		 */
-		protected URI parseURIAttribute(Attributes attributes, boolean required) {
-			String location = parseOptionalAttribute(attributes, URI_ATTRIBUTE);
-			try {
-				if (location != null)
-					return new URI(location);
-				if (required)
-					location = parseRequiredAttributes(attributes, new String[] {URL_ATTRIBUTE})[0];
-				else
-					location = parseOptionalAttribute(attributes, URL_ATTRIBUTE);
-				if (location == null)
-					return null;
-				return URIUtil.toURI(new URL(location));
-			} catch (MalformedURLException e) {
-				invalidAttributeValue(elementHandled, URL_ATTRIBUTE, location, e);
-			} catch (URISyntaxException e) {
-				invalidAttributeValue(elementHandled, URL_ATTRIBUTE, location, e);
-			}
-			return null;
-		}
-
-		/**
-		 * Parse the attributes of an element with only required attributes.
-		 */
-		protected String[] parseRequiredAttributes(Attributes attributes, String[] required) {
-			return parseAttributes(attributes, required, noAttributes);
-		}
-
-		/**
-		 * Parse the attributes of an element with a single optional attribute.
-		 */
-		protected String parseOptionalAttribute(Attributes attributes, String name) {
-			return parseAttributes(attributes, noAttributes, new String[] {name})[0];
-		}
-
-		/**
-		 * Parse the attributes of an element, given the list of required and optional ones.
-		 * Return values in same order, null for those not present.
-		 * Log warnings for extra attributes or missing required attributes.
-		 */
-		protected String[] parseAttributes(Attributes attributes, String[] required, String[] optional) {
-			String[] result = new String[required.length + optional.length];
-			for (int i = 0; i < attributes.getLength(); i += 1) {
-				String name = attributes.getLocalName(i);
-				String value = canonicalize(attributes.getValue(i).trim());
-				int j;
-				if ((j = indexOf(required, name)) >= 0) {
-					result[j] = value;
-				} else if ((j = indexOf(optional, name)) >= 0) {
-					result[required.length + j] = value;
-				} else {
-					unexpectedAttribute(elementHandled, name, value);
-				}
-			}
-			for (int i = 0; i < required.length; i += 1) {
-				checkRequiredAttribute(elementHandled, required[i], result[i]);
-			}
-			return result;
-		}
-
-	}
-
-	/**
-	 *	Handler for an XML document.
-	 *
-	 *	Using the inelegant name 'DocHandler' to clearly distinguish
-	 *	this class from the deprecated org.xml.sax.DocumentHandler.
-	 */
-	protected class DocHandler extends AbstractHandler {
-
-		RootHandler rootHandler;
-
-		public DocHandler(String rootName, RootHandler rootHandler) {
-			super(null, rootName);
-			this.rootHandler = rootHandler;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(elementHandled)) {
-				rootHandler.initialize(this, name, attributes);
-				xmlReader.setContentHandler(rootHandler);
-			} else {
-				this.noSubElements(name, attributes);
-			}
-		}
-
-	}
-
-	/**
-	 * 	Abstract handler for the root element.
-	 */
-	protected abstract class RootHandler extends AbstractHandler {
-
-		public RootHandler() {
-			super();
-		}
-
-		public void initialize(DocHandler document, String rootName, Attributes attributes) {
-			this.parentHandler = document;
-			this.elementHandled = rootName;
-			handleRootAttributes(attributes);
-		}
-
-		protected abstract void handleRootAttributes(Attributes attributes);
-
-	}
-
-	/**
-	 * 	Handler for an ordered properties collection.
-	 */
-	protected class PropertiesHandler extends AbstractHandler {
-
-		private OrderedProperties properties;
-
-		public PropertiesHandler(ContentHandler parentHandler, Attributes attributes) {
-			super(parentHandler, PROPERTIES_ELEMENT);
-			String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-			properties = (size != null ? new OrderedProperties(Integer.parseInt(size)) : new OrderedProperties());
-		}
-
-		public OrderedProperties getProperties() {
-			return properties;
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			if (name.equals(PROPERTY_ELEMENT)) {
-				new PropertyHandler(this, attributes, properties);
-			} else {
-				invalidElement(name, attributes);
-			}
-		}
-
-	}
-
-	/**
-	 * 	Handler for a property in an ordered properties collection.
-	 */
-	protected class PropertyHandler extends AbstractHandler {
-
-		public PropertyHandler(ContentHandler parentHandler, Attributes attributes, OrderedProperties properties) {
-			super(parentHandler, PROPERTY_ELEMENT);
-			String[] property = parseProperty(attributes);
-			if (isValidProperty(property)) {
-				properties.setProperty(property[0], property[1]);
-			}
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-
-		private String[] parseProperty(Attributes attributes) {
-			return parseRequiredAttributes(attributes, PROPERTY_ATTRIBUTES);
-		}
-
-		private boolean isValidProperty(String[] property) {
-			return (property.length == 2 && property[0] != null && property[1] != null);
-		}
-	}
-
-	/**
-	 * 	Handler for an element with only cdata and no sub-elements.
-	 */
-	protected class TextHandler extends AbstractHandler {
-
-		private String text = null;
-
-		// Constructor for a subclass that processes the attributes
-		public TextHandler(AbstractHandler parent, String elementName) {
-			super(parent, elementName);
-		}
-
-		// Constructor for a subclass with no attributes
-		public TextHandler(AbstractHandler parent, String elementName, Attributes attributes) {
-			super(parent, elementName);
-			parseAttributes(attributes, noAttributes, noAttributes);
-		}
-
-		public TextHandler(AbstractHandler parent, String elementName, Attributes attributes, List texts) {
-			super(parent, elementName);
-			parseAttributes(attributes, noAttributes, noAttributes);
-		}
-
-		public String getText() {
-			return (text != null ? text : ""); //$NON-NLS-1$
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			invalidElement(name, attributes);
-		}
-
-		protected void processCharacters(String data) {
-			this.text = canonicalize(data);
-		}
-
-	}
-
-	/**
-	 * 	Handler for ignoring content.
-	 */
-	protected class IgnoringHandler extends AbstractHandler {
-
-		public IgnoringHandler(AbstractHandler parent) {
-			super(parent);
-			this.elementHandled = "IgnoringAll"; //$NON-NLS-1$
-		}
-
-		public void startElement(String name, Attributes attributes) {
-			noSubElements(name, attributes);
-		}
-
-	}
-
-	// Helper for processing instructions that include a Version.
-	public Version extractPIVersion(String target, String data) {
-		return checkVersion(target, PI_VERSION_ATTRIBUTE, extractPIAttribute(data, PI_VERSION_ATTRIBUTE));
-	}
-
-	private String extractPIAttribute(String data, String key) {
-		StringTokenizer piTokenizer = new StringTokenizer(data, " \'\""); //$NON-NLS-1$
-		String[] tokens = new String[piTokenizer.countTokens()];
-		int index = 0;
-		int valueIndex = -1;
-		while (piTokenizer.hasMoreTokens() && index < tokens.length) {
-			tokens[index] = piTokenizer.nextToken();
-			if (tokens[index].equals(key + '=') && index < tokens.length) {
-				valueIndex = index + 1;
-			}
-			index++;
-		}
-		return (valueIndex >= 0 ? tokens[valueIndex] : ""); //$NON-NLS-1$
-	}
-
-	public void error(SAXParseException ex) {
-		addError(IStatus.WARNING, ex.getMessage(), ex);
-	}
-
-	public void fatalError(SAXParseException ex) {
-		addError(IStatus.ERROR, ex.getMessage(), ex);
-	}
-
-	protected String getErrorPrefix() {
-		return null;
-	}
-
-	protected String getErrorSuffix() {
-		return null;
-	}
-
-	/**
-	 * Collects an error or warning that occurred during parsing.
-	 */
-	public final void addError(int severity, String msg, Throwable exception) {
-		int line = 0;
-		int column = 0;
-		String key = msg;
-		Object[] args = new Object[] {};
-		String root = (getRootObject() == null ? "" //$NON-NLS-1$
-				: " (" + getRootObject() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (this.locator != null) {
-			String name = this.locator.getSystemId();
-			line = this.locator.getLineNumber();
-			column = this.locator.getColumnNumber();
-			if (line > 0) {
-				args = new Object[] {msg, root, name, new Integer(line), new Integer(column)};
-				if (column > 0) {
-					key = (name != null ? Messages.XMLParser_Error_At_Name_Line_Column //
-							: Messages.XMLParser_Error_At_Line_Column);
-				} else {
-					key = (name != null ? Messages.XMLParser_Error_At_Name_Line //
-							: Messages.XMLParser_Error_At_Line);
-				}
-			}
-		}
-		String errMsg = NLS.bind(key, args);
-		String prefix = getErrorPrefix();
-		String suffix = getErrorSuffix();
-		if (prefix != null) {
-			errMsg = prefix + errMsg;
-		}
-		if (suffix != null) {
-			errMsg = errMsg + suffix;
-		}
-		IStatus currStatus = new Status(severity, Activator.ID, errMsg, exception);
-		if (this.status == null) {
-			this.status = new MultiStatus(bundleId, IStatus.OK, new IStatus[] {currStatus}, getErrorMessage(), null);
-		} else {
-			this.status.add(currStatus);
-		}
-	}
-
-	public void trace(String element, Attributes attributes) {
-		// TODO: support logging
-		//		if (!getLogger().isDebugLoggable()) {
-		//			return;
-		//		}
-		//		int indentSize = (this.stateStack != null ? this.stateStack.size() - 1 : 1);
-		//		if (attributes == null) {
-		//			indentSize -= 1;
-		//		}
-		//		char[] indent = new char[2 * indentSize];
-		//		Arrays.fill(indent, ' ');
-		//		StringBuffer sb = new StringBuffer();
-		//		sb.append(indent);
-		//		sb.append('<');
-		//		if (attributes != null) {
-		//			sb.append(element);
-		//			toString(sb, attributes);
-		//		} else {
-		//			sb.append('/').append(element);
-		//		}
-		//		sb.append('>');
-		//		getLogger().debug(sb.toString());
-	}
-
-	private static String toString(Attributes attributes) {
-		StringBuffer result = new StringBuffer();
-		toString(result, attributes);
-		return result.toString();
-	}
-
-	private static void toString(StringBuffer sb, Attributes attributes) {
-		for (int i = 0; i < attributes.getLength(); i += 1) {
-			String name = attributes.getLocalName(i);
-			String value = attributes.getValue(i).trim();
-			sb.append(' ').append(name);
-			sb.append('=').append('"');
-			sb.append(value);
-			sb.append('"');
-		}
-	}
-
-	public void checkRequiredAttribute(String element, String name, Object value) {
-		if (value == null) {
-			addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Missing_Required_Attribute, element, name), null);
-		}
-	}
-
-	// Check the format of a required boolean attribute
-	public Boolean checkBoolean(String element, String attribute, String value) {
-		try {
-			return Boolean.valueOf(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		} catch (NullPointerException npe) {
-			invalidAttributeValue(element, attribute, null);
-		}
-		return Boolean.FALSE;
-	}
-
-	// Check the format of an optional boolean attribute
-	public Boolean checkBoolean(String element, String attribute, String value, boolean defaultValue) {
-		Boolean result = (defaultValue ? Boolean.TRUE : Boolean.FALSE);
-		if (value != null) {
-			try {
-				return Boolean.valueOf(value);
-			} catch (IllegalArgumentException iae) {
-				invalidAttributeValue(element, attribute, value);
-			}
-		}
-		return result;
-	}
-
-	// Check the format of a required integer attribute
-	public int checkInteger(String element, String attribute, String value) {
-		try {
-			return Integer.parseInt(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		}
-		return 0;
-	}
-
-	// Check the format of a required URI attribute
-	public URI checkURI(String element, String attribute, String value) {
-		try {
-			return URIUtil.fromString(value);
-		} catch (URISyntaxException e) {
-			invalidAttributeValue(element, attribute, value);
-		}
-		//TODO ok to return null?
-		return null;
-	}
-
-	public void checkCancel() {
-		if (monitor != null && monitor.isCanceled())
-			throw new OperationCanceledException();
-	}
-
-	/**
-	 * Converts a version string to a Version object. Returns the version object,
-	 * or {@link Version#emptyVersion} if the value was not a valid version.
-	 */
-	public Version checkVersion(String element, String attribute, String value) {
-		try {
-			return Version.parseVersion(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		} catch (NullPointerException npe) {
-			invalidAttributeValue(element, attribute, null);
-		}
-		return Version.emptyVersion;
-	}
-
-	public VersionRange checkVersionRange(String element, String attribute, String value) {
-		try {
-			if (value != null)
-				return new VersionRange(value);
-		} catch (IllegalArgumentException iae) {
-			invalidAttributeValue(element, attribute, value);
-		} catch (NullPointerException npe) {
-			invalidAttributeValue(element, attribute, null);
-		}
-		return VersionRange.emptyRange;
-	}
-
-	public void unexpectedAttribute(String element, String attribute, String value) {
-		if (Tracing.DEBUG_PARSE_PROBLEMS)
-			Tracing.debug("Unexpected attribute for element " + element + ": " + attribute + '=' + value); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void invalidAttributeValue(String element, String attribute, String value) {
-		invalidAttributeValue(element, attribute, value, null);
-	}
-
-	public void invalidAttributeValue(String element, String attribute, String value, Throwable exception) {
-		addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Illegal_Value_For_Attribute, new Object[] {attribute, element, value}), exception);
-	}
-
-	public void unexpectedElement(AbstractHandler handler, String element, Attributes attributes) {
-		if (Tracing.DEBUG_PARSE_PROBLEMS)
-			Tracing.debug("Unexpected element in element " + handler.getName() + ": <" + element + toString(attributes) + '>'); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void duplicateElement(AbstractHandler handler, String element, Attributes attributes) {
-		addError(IStatus.WARNING, NLS.bind(Messages.XMLParser_Duplicate_Element, new Object[] {handler.getName(), element, toString(attributes)}), null);
-		//ignore the duplicate element entirely because we have already logged it
-		new IgnoringHandler(handler);
-	}
-
-	public void unexpectedCharacterData(AbstractHandler handler, String cdata) {
-		if (Tracing.DEBUG_PARSE_PROBLEMS)
-			Tracing.debug("Unexpected character data in element " + handler.getName() + ": " + cdata.trim()); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Find the index of the first occurrence of object in array, or -1.
-	 * Use Arrays.binarySearch if array is big and sorted.
-	 */
-	protected static int indexOf(String[] array, String value) {
-		for (int i = 0; i < array.length; i += 1) {
-			if (value == null ? array[i] == null : value.equals(array[i])) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	//	public class BadStateError extends AssertionError {
-	//		private static final long serialVersionUID = 1L; // not serialized
-	//
-	//		public BadStateError() {
-	//			super("unexpected state" + //$NON-NLS-1$
-	//					(XMLParser.this.stateStack != null ? ": " + XMLParser.this.stateStack //$NON-NLS-1$
-	//					: "")); //$NON-NLS-1$
-	//		}
-	//
-	//		public BadStateError(String element) {
-	//			super("unexpected state for " + element + //$NON-NLS-1$
-	//					(XMLParser.this.stateStack != null ? ": " + XMLParser.this.stateStack //$NON-NLS-1$
-	//					: "")); //$NON-NLS-1$
-	//		}
-	//	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
deleted file mode 100644
index eb11327..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLWriter.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.persistence;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-public class XMLWriter implements XMLConstants {
-
-	public static class ProcessingInstruction {
-
-		private String target;
-		private String[] data;
-
-		// The standard UTF-8 processing instruction
-		public static final String XML_UTF8 = "<?xml version='1.0' encoding='UTF-8'?>"; //$NON-NLS-1$
-
-		public ProcessingInstruction(String target, String[] attrs, String[] values) {
-			// Lengths of attributes and values must be the same
-			this.target = target;
-			this.data = new String[attrs.length];
-			for (int i = 0; i < attrs.length; i++) {
-				data[i] = attributeImage(attrs[i], values[i]);
-			}
-		}
-
-		public static ProcessingInstruction makeTargetVersionInstruction(String target, Version version) {
-			return new ProcessingInstruction(target, new String[] {PI_VERSION_ATTRIBUTE}, new String[] {version.toString()});
-		}
-
-		public String toString() {
-			StringBuffer sb = new StringBuffer("<?"); //$NON-NLS-1$
-			sb.append(this.target).append(' ');
-			for (int i = 0; i < data.length; i++) {
-				sb.append(this.data[i]);
-				if (i < data.length - 1) {
-					sb.append(' ');
-				}
-			}
-			sb.append("?>"); //$NON-NLS-1$
-			return sb.toString();
-		}
-	}
-
-	private Stack elements; // XML elements that have not yet been closed
-	private boolean open; // Can attributes be added to the current element?
-	private String indent; // used for each level of indentation
-
-	private PrintWriter pw;
-
-	public XMLWriter(OutputStream output, ProcessingInstruction[] piElements) throws UnsupportedEncodingException {
-		this.pw = new PrintWriter(new OutputStreamWriter(output, "UTF8"), false); //$NON-NLS-1$
-		println(ProcessingInstruction.XML_UTF8);
-		this.elements = new Stack();
-		this.open = false;
-		this.indent = "  "; //$NON-NLS-1$
-		if (piElements != null) {
-			for (int i = 0; i < piElements.length; i++) {
-				println(piElements[i].toString());
-			}
-		}
-	}
-
-	// start a new element
-	public void start(String name) {
-		if (this.open) {
-			println('>');
-		}
-		indent();
-		print('<');
-		print(name);
-		this.elements.push(name);
-		this.open = true;
-	}
-
-	// end the most recent element with this name
-	public void end(String name) {
-		if (this.elements.empty()) {
-			throw new EndWithoutStartError();
-		}
-		int index = this.elements.search(name);
-		if (index == -1) {
-			throw new EndWithoutStartError(name);
-		}
-		for (int i = 0; i < index; i += 1) {
-			end();
-		}
-	}
-
-	// end the current element
-	public void end() {
-		if (this.elements.empty()) {
-			throw new EndWithoutStartError();
-		}
-		String name = (String) this.elements.pop();
-		if (this.open) {
-			println("/>"); //$NON-NLS-1$
-		} else {
-			printlnIndented("</" + name + '>', false); //$NON-NLS-1$
-		}
-		this.open = false;
-	}
-
-	public static String escape(String txt) {
-		StringBuffer buffer = null;
-		for (int i = 0; i < txt.length(); ++i) {
-			String replace;
-			char c = txt.charAt(i);
-			switch (c) {
-				case '<' :
-					replace = "&lt;"; //$NON-NLS-1$
-					break;
-				case '>' :
-					replace = "&gt;"; //$NON-NLS-1$
-					break;
-				case '"' :
-					replace = "&quot;"; //$NON-NLS-1$
-					break;
-				case '\'' :
-					replace = "&apos;"; //$NON-NLS-1$
-					break;
-				case '&' :
-					replace = "&amp;"; //$NON-NLS-1$
-					break;
-				case '\t' :
-					replace = "&#x9;"; //$NON-NLS-1$
-					break;
-				case '\n' :
-					replace = "&#xA;"; //$NON-NLS-1$
-					break;
-				case '\r' :
-					replace = "&#xD;"; //$NON-NLS-1$
-					break;
-				default :
-					// this is the set of legal xml scharacters in unicode excluding high surrogates since they cannot be represented with a char
-					// see http://www.w3.org/TR/REC-xml/#charsets
-					if ((c >= '\u0020' && c <= '\uD7FF') || (c >= '\uE000' && c <= '\uFFFD')) {
-						if (buffer != null)
-							buffer.append(c);
-						continue;
-					}
-					replace = Character.isWhitespace(c) ? " " : null; //$NON-NLS-1$
-			}
-			if (buffer == null) {
-				buffer = new StringBuffer(txt.length() + 16);
-				buffer.append(txt.substring(0, i));
-			}
-			if (replace != null)
-				buffer.append(replace);
-		}
-
-		if (buffer == null)
-			return txt;
-
-		return buffer.toString();
-	}
-
-	// write a boolean attribute if it doesn't have the default value
-	public void attribute(String name, boolean value, boolean defaultValue) {
-		if (value != defaultValue) {
-			attribute(name, value);
-		}
-	}
-
-	public void attribute(String name, boolean value) {
-		attribute(name, Boolean.toString(value));
-	}
-
-	public void attribute(String name, int value) {
-		attribute(name, Integer.toString(value));
-	}
-
-	public void attributeOptional(String name, String value) {
-		if (value != null && value.length() > 0) {
-			attribute(name, value);
-		}
-	}
-
-	public void attribute(String name, Object value) {
-		if (!this.open) {
-			throw new AttributeAfterNestedContentError();
-		}
-		if (value == null) {
-			return; // optional attribute with no value
-		}
-		print(' ');
-		print(name);
-		print("='"); //$NON-NLS-1$
-		print(escape(value.toString()));
-		print('\'');
-	}
-
-	public void cdata(String data) {
-		cdata(data, true);
-	}
-
-	public void cdata(String data, boolean escape) {
-		if (this.open) {
-			println('>');
-			this.open = false;
-		}
-		if (data != null) {
-			printlnIndented(data, escape);
-		}
-	}
-
-	public void flush() {
-		this.pw.flush();
-	}
-
-	public void writeProperties(Map properties) {
-		writeProperties(PROPERTIES_ELEMENT, properties);
-	}
-
-	public void writeProperties(String propertiesElement, Map properties) {
-		if (properties != null && properties.size() > 0) {
-			start(propertiesElement);
-			attribute(COLLECTION_SIZE_ATTRIBUTE, properties.size());
-			for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
-				String name = (String) iter.next();
-				writeProperty(name, (String) properties.get(name));
-			}
-			end(propertiesElement);
-		}
-	}
-
-	public void writeProperty(String name, String value) {
-		start(PROPERTY_ELEMENT);
-		attribute(PROPERTY_NAME_ATTRIBUTE, name);
-		attribute(PROPERTY_VALUE_ATTRIBUTE, value);
-		end();
-	}
-
-	protected static String attributeImage(String name, String value) {
-		if (value == null) {
-			return ""; // optional attribute with no value //$NON-NLS-1$
-		}
-		return name + "='" + escape(value) + '\''; //$NON-NLS-1$
-	}
-
-	private void println(char c) {
-		this.pw.println(c);
-	}
-
-	private void println(String s) {
-		this.pw.println(s);
-	}
-
-	private void println() {
-		this.pw.println();
-	}
-
-	private void print(char c) {
-		this.pw.print(c);
-	}
-
-	private void print(String s) {
-		this.pw.print(s);
-	}
-
-	private void printlnIndented(String s, boolean escape) {
-		if (s.length() == 0) {
-			println();
-		} else {
-			indent();
-			println(escape ? escape(s) : s);
-		}
-	}
-
-	private void indent() {
-		for (int i = this.elements.size(); i > 0; i -= 1) {
-			print(this.indent);
-		}
-	}
-
-	public static class AttributeAfterNestedContentError extends Error {
-		private static final long serialVersionUID = 1L; // not serialized
-	}
-
-	public static class EndWithoutStartError extends Error {
-		private static final long serialVersionUID = 1L; // not serialized
-		private String name;
-
-		public EndWithoutStartError() {
-			super();
-		}
-
-		public EndWithoutStartError(String name) {
-			super();
-			this.name = name;
-		}
-
-		public String getName() {
-			return this.name;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/messages.properties b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
deleted file mode 100644
index b19ad2f..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/messages.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-
-# All these errors are bound to 5 args: 0-msg, 1-root, 2-name, 3-line, 4-column
-XMLParser_Error_At_Line=Error at line {3}{1}: {0}
-XMLParser_Error_At_Line_Column=Error at line {3}, column {4}{1}: {0}
-XMLParser_Error_At_Name_Line=Error in {2} at line {3}: {0}
-XMLParser_Error_At_Name_Line_Column=Error in {2} at line {3}, column {4}: {0}
-
-XMLParser_No_SAX_Parser=Unable to acquire a SAX parser service.
-XMLParser_Missing_Required_Attribute=Missing required attribute in "{0}": {1}
-XMLParser_Illegal_Value_For_Attribute=Illegal value for attribute "{0}" of element "{1}": {2}
-XMLParser_Duplicate_Element=Duplicate singleton element in element "{0}": <{1}{2}>
-
-io_failedRead=Unable to read repository at {0}
-io_IncompatibleVersion=\
-Metadata repository has incompatible version {0}; expected {1}
-io_parseError=\
-Error parsing composite repository
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Activator.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Activator.java
deleted file mode 100644
index 695e287..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Activator.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- * 	Cloudsmith Inc - initial API and implementation
- * 	IBM Corporation - ongoing development
- * 	Genuitec - Bug 291926
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
-import org.eclipse.ecf.provider.filetransfer.IFileTransferProtocolToFactoryMapper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * The activator class controls the plug-in life cycle.
- * This activator has helper methods to get file transfer service tracker, and
- * for making sure required ECF bundles are started.
- */
-public class Activator implements BundleActivator {
-
-	public static final String ID = "org.eclipse.equinox.p2.repository"; //$NON-NLS-1$
-	private static final String HTTP = "http"; //$NON-NLS-1$
-	private static final String HTTPS = "https"; //$NON-NLS-1$
-
-	private static BundleContext context;
-	// tracker for ECF service
-	private ServiceTracker retrievalFactoryTracker;
-
-	// tracker for protocolToFactoryMapperTracker
-	private ServiceTracker protocolToFactoryMapperTracker = null;
-
-	// The shared instance
-	private static Activator plugin;
-
-	public void start(BundleContext aContext) throws Exception {
-		Activator.context = aContext;
-		Activator.plugin = this;
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		Activator.context = null;
-		Activator.plugin = null;
-		if (retrievalFactoryTracker != null) {
-			retrievalFactoryTracker.close();
-			retrievalFactoryTracker = null;
-		}
-		if (protocolToFactoryMapperTracker != null) {
-			protocolToFactoryMapperTracker.close();
-			protocolToFactoryMapperTracker = null;
-		}
-
-	}
-
-	public static BundleContext getContext() {
-		return Activator.context;
-	}
-
-	/**
-	 * Get singleton instance.
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a {@link IRetrieveFileTransferFactory} using a {@link ServiceTracker} after having attempted
-	 * to start the bundle "org.eclipse.ecf.provider.filetransfer". If something is wrong with the configuration
-	 * this method returns null.
-	 * @return a factory, or null, if configuration is incorrect
-	 */
-	public IRetrieveFileTransferFactory getRetrieveFileTransferFactory() {
-		return (IRetrieveFileTransferFactory) getFileTransferServiceTracker().getService();
-	}
-
-	public synchronized void useJREHttpClient() {
-		IFileTransferProtocolToFactoryMapper mapper = getProtocolToFactoryMapper();
-		if (mapper != null) {
-			// remove http
-			// Remove browse provider
-			String providerId = mapper.getBrowseFileTransferFactoryId(HTTP);
-			if (providerId != null) {
-				mapper.removeBrowseFileTransferFactory(providerId);
-			}
-			// Remove retrieve provider
-			providerId = mapper.getRetrieveFileTransferFactoryId(HTTP);
-			if (providerId != null) {
-				mapper.removeRetrieveFileTransferFactory(providerId);
-			}
-			// Remove send provider
-			providerId = mapper.getSendFileTransferFactoryId(HTTP);
-			if (providerId != null) {
-				mapper.removeSendFileTransferFactory(providerId);
-			}
-			// remove https
-			// Remove browse provider
-			providerId = mapper.getBrowseFileTransferFactoryId(HTTPS);
-			if (providerId != null) {
-				mapper.removeBrowseFileTransferFactory(providerId);
-			}
-			// Remove retrieve provider
-			providerId = mapper.getRetrieveFileTransferFactoryId(HTTPS);
-			if (providerId != null) {
-				mapper.removeRetrieveFileTransferFactory(providerId);
-			}
-			// Remove send provider
-			providerId = mapper.getSendFileTransferFactoryId(HTTPS);
-			if (providerId != null) {
-				mapper.removeSendFileTransferFactory(providerId);
-			}
-		}
-	}
-
-	/**
-	 * Gets the singleton ServiceTracker for the IRetrieveFileTransferFactory and starts the bundles
-	 * "org.eclipse.ecf" and
-	 * "org.eclipse.ecf.provider.filetransfer" on first call.
-	 * @return  ServiceTracker
-	 */
-	private synchronized ServiceTracker getFileTransferServiceTracker() {
-		if (retrievalFactoryTracker == null) {
-			retrievalFactoryTracker = new ServiceTracker(Activator.getContext(), IRetrieveFileTransferFactory.class.getName(), null);
-			retrievalFactoryTracker.open();
-			startBundle("org.eclipse.ecf"); //$NON-NLS-1$
-			startBundle("org.eclipse.ecf.provider.filetransfer"); //$NON-NLS-1$
-		}
-		return retrievalFactoryTracker;
-	}
-
-	private IFileTransferProtocolToFactoryMapper getProtocolToFactoryMapper() {
-		if (protocolToFactoryMapperTracker == null) {
-			protocolToFactoryMapperTracker = new ServiceTracker(context, IFileTransferProtocolToFactoryMapper.class.getName(), null);
-			protocolToFactoryMapperTracker.open();
-		}
-		return (IFileTransferProtocolToFactoryMapper) protocolToFactoryMapperTracker.getService();
-	}
-
-	private boolean startBundle(String bundleId) {
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(Activator.getContext(), PackageAdmin.class.getName());
-		if (packageAdmin == null)
-			return false;
-
-		Bundle[] bundles = packageAdmin.getBundles(bundleId, null);
-		if (bundles != null && bundles.length > 0) {
-			for (int i = 0; i < bundles.length; i++) {
-				try {
-					if ((bundles[i].getState() & Bundle.INSTALLED) == 0) {
-						bundles[i].start(Bundle.START_ACTIVATION_POLICY);
-						bundles[i].start(Bundle.START_TRANSIENT);
-						return true;
-					}
-				} catch (BundleException e) {
-					// failed, try next bundle
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/AuthenticationFailedException.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/AuthenticationFailedException.java
deleted file mode 100644
index a98c52d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/AuthenticationFailedException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.net.ProtocolException;
-
-/**
- * Exception signaling that authentication failed.
- */
-public class AuthenticationFailedException extends ProtocolException {
-
-	private static final long serialVersionUID = 1L;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
deleted file mode 100644
index c22fbe0..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Cloudsmith Inc - additional implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.metadata.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.repository.*;
-import org.eclipse.equinox.internal.p2.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A class to manage metadata cache files. Creating the cache files will place
- * the file in the AgentData location in a cache directory.
- * 
- * Using the bus listeners will allow the manager to listen for repository
- * events. When a repository is removed, it will remove the cache file if one
- * was created for the repository.
- */
-public class CacheManager {
-	private final IAgentLocation agentLocation;
-
-	/**
-	 * IStateful implementation of BufferedOutputStream. Class is used to get the status from
-	 * a download operation.
-	 */
-	private static class StatefulStream extends BufferedOutputStream implements IStateful {
-		private IStatus status;
-
-		public StatefulStream(OutputStream stream) {
-			super(stream);
-		}
-
-		public IStatus getStatus() {
-
-			return status;
-		}
-
-		public void setStatus(IStatus aStatus) {
-			status = aStatus;
-		}
-
-	}
-
-	public CacheManager(IAgentLocation agentLocation) {
-		this.agentLocation = agentLocation;
-	}
-
-	private static SynchronousProvisioningListener busListener;
-	private static final String DOWNLOADING = "downloading"; //$NON-NLS-1$
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String PROP_RESUMABLE = "org.eclipse.equinox.p2.metadata.repository.resumable"; //$NON-NLS-1$
-	private static final String RESUME_DEFAULT = "true"; //$NON-NLS-1$
-	private static final String XML_EXTENSION = ".xml"; //$NON-NLS-1$
-
-	private final HashSet knownPrefixes = new HashSet(5);
-
-	/**
-	 * Returns a hash of the repository location.
-	 */
-	private int computeHash(URI repositoryLocation) {
-		return repositoryLocation.hashCode();
-	}
-
-	/**
-	 * Returns a local cache file with the contents of the given remote location,
-	 * or <code>null</code> if a local cache could not be created.
-	 * 
-	 * @param repositoryLocation The remote location to be cached
-	 * @param prefix The prefix to use when creating the cache file
-	 * @param monitor a progress monitor
-	 * @return A {@link File} object pointing to the cache file or <code>null</code>
-	 * if the location is not a repository.
-	 * @throws FileNotFoundException if neither jar nor xml index file exists at given location 
-	 * @throws AuthenticationFailedException if jar not available and xml causes authentication fail
-	 * @throws IOException on general IO errors
-	 * @throws ProvisionException on any error (e.g. user cancellation, unknown host, malformed address, connection refused, etc.)
-	 * @throws OperationCanceledException - if user canceled
-	 */
-	public File createCache(URI repositoryLocation, String prefix, IProgressMonitor monitor) throws IOException, ProvisionException {
-
-		SubMonitor submonitor = SubMonitor.convert(monitor, 1000);
-		try {
-			knownPrefixes.add(prefix);
-			File cacheFile = getCache(repositoryLocation, prefix);
-			URI jarLocation = URIUtil.append(repositoryLocation, prefix + JAR_EXTENSION);
-			URI xmlLocation = URIUtil.append(repositoryLocation, prefix + XML_EXTENSION);
-			int hashCode = computeHash(repositoryLocation);
-
-			// Knowing if cache is stale is complicated by the fact that a jar could have been 
-			// produced after an xml index (and vice versa), and by the need to capture any
-			// errors, as these needs to be reported to the user as something meaningful - instead of
-			// just a general "can't read repository".
-			// (Previous impl of stale checking ignored errors, and caused multiple round-trips)
-			boolean stale = true;
-			long lastModified = 0L;
-			String name = null;
-			String useExtension = JAR_EXTENSION;
-			URI remoteFile = jarLocation;
-
-			if (cacheFile != null) {
-				lastModified = cacheFile.lastModified();
-				name = cacheFile.getName();
-			}
-			// get last modified on jar
-			long lastModifiedRemote = 0L;
-			// bug 269588 - server may return 0 when file exists, so extra flag is needed
-			boolean useJar = true;
-			try {
-				lastModifiedRemote = getTransport().getLastModified(jarLocation, submonitor.newChild(1));
-				if (lastModifiedRemote <= 0)
-					LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Server returned lastModified <= 0 for " + jarLocation)); //$NON-NLS-1$
-			} catch (AuthenticationFailedException e) {
-				// it is not meaningful to continue - the credentials are for the server
-				// do not pass the exception - it gives no additional meaningful user information
-				throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.CacheManager_AuthenticationFaileFor_0, repositoryLocation), null));
-			} catch (CoreException e) {
-				useJar = false;
-				// give up on a timeout - if we did not get a 404 on the jar, we will just prolong the pain
-				// by (almost certainly) also timing out on the xml.
-				if (e.getStatus() != null && e.getStatus().getException() != null) {
-					Throwable ex = e.getStatus().getException();
-					if (ex.getClass() == java.net.SocketTimeoutException.class)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, NLS.bind(Messages.CacheManager_FailedCommunicationWithRepo_0, repositoryLocation), ex));
-				}
-			} catch (OperationCanceledException e) {
-				// must pass this on
-				throw e;
-			} catch (Exception e) {
-				// not ideal, just skip the jar on error, and try the xml instead - report errors for
-				// the xml.
-				useJar = false;
-			}
-			if (submonitor.isCanceled())
-				throw new OperationCanceledException();
-
-			if (useJar) {
-				// There is a jar, and it should be used - cache is stale if it is xml based or
-				// if older (irrespective of jar or xml).
-				// Bug 269588 - also stale if remote reports 0
-				stale = lastModifiedRemote > lastModified || (name != null && name.endsWith(XML_EXTENSION) || lastModifiedRemote <= 0);
-			} else {
-				// Also need to check remote XML file, and handle cancel, and errors
-				// (Status is reported based on finding the XML file as giving up on certain errors
-				// when checking for the jar may not be correct).
-				try {
-					lastModifiedRemote = getTransport().getLastModified(xmlLocation, submonitor.newChild(1));
-					// if lastModifiedRemote is 0 - something is wrong in the communication stack, as 
-					// a FileNotFound exception should have been thrown.
-					// bug 269588 - server may return 0 when file exists - site is not correctly configured
-					if (lastModifiedRemote <= 0)
-						LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Server returned lastModified <= 0 for " + xmlLocation)); //$NON-NLS-1$
-
-				} catch (UserCancelledException e) {
-					throw new OperationCanceledException();
-				} catch (FileNotFoundException e) {
-					throw new FileNotFoundException(NLS.bind(Messages.CacheManager_Neither_0_nor_1_found, jarLocation, xmlLocation));
-				} catch (AuthenticationFailedException e) {
-					// do not pass the exception, it provides no additional meaningful user information
-					throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.CacheManager_AuthenticationFaileFor_0, repositoryLocation), null));
-				} catch (CoreException e) {
-					IStatus status = e.getStatus();
-					if (status == null)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.CacheManager_FailedCommunicationWithRepo_0, repositoryLocation), e));
-					else if (status.getException() instanceof FileNotFoundException)
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, status.getMessage(), null));
-					throw new ProvisionException(status);
-
-				}
-				// There is an xml, and it should be used - cache is stale if it is jar based or
-				// if older (irrespective of jar or xml).
-				// bug 269588 - server may return 0 when file exists - assume it is stale
-				stale = lastModifiedRemote > lastModified || (name != null && name.endsWith(JAR_EXTENSION) || lastModifiedRemote <= 0);
-				useExtension = XML_EXTENSION;
-				remoteFile = xmlLocation;
-			}
-
-			if (!stale)
-				return cacheFile;
-
-			// The cache is stale or missing, so we need to update it from the remote location
-			cacheFile = new File(getCacheDirectory(), prefix + hashCode + useExtension);
-			updateCache(cacheFile, remoteFile, lastModifiedRemote, submonitor);
-			return cacheFile;
-		} finally {
-			submonitor.done();
-		}
-	}
-
-	/**
-	 * Deletes the local cache file(s) for the given repository
-	 * @param repositoryLocation
-	 */
-	void deleteCache(URI repositoryLocation) {
-		for (Iterator it = knownPrefixes.iterator(); it.hasNext();) {
-			String prefix = (String) it.next();
-			File[] cacheFiles = getCacheFiles(repositoryLocation, prefix);
-			for (int i = 0; i < cacheFiles.length; i++) {
-				// delete the cache file if it exists
-				safeDelete(cacheFiles[i]);
-				// delete a resumable download if it exists
-				safeDelete(new File(new File(cacheFiles[i].getParentFile(), DOWNLOADING), cacheFiles[i].getName()));
-			}
-		}
-	}
-
-	/**
-	 * Determines the local file path of the repository's cache file.
-	 * @param repositoryLocation The location to compute the cache for
-	 * @param prefix The prefix to use for this location
-	 * @return A {@link File} pointing to the cache file or <code>null</code> if
-	 * the cache file does not exist.
-	 */
-	private File getCache(URI repositoryLocation, String prefix) {
-		File[] files = getCacheFiles(repositoryLocation, prefix);
-		if (files[0].exists())
-			return files[0];
-		return files[1].exists() ? files[1] : null;
-	}
-
-	/**
-	 * Returns the file corresponding to the data area to be used by the cache manager.
-	 */
-	private File getCacheDirectory() {
-		return URIUtil.toFile(agentLocation.getDataArea(Activator.ID + "/cache/")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Determines the local file paths of the repository's potential cache files.
-	 * @param repositoryLocation The location to compute the cache for
-	 * @param prefix The prefix to use for this location
-	 * @return A {@link File} array with the cache files for JAR and XML extensions.
-	 */
-	private File[] getCacheFiles(URI repositoryLocation, String prefix) {
-		File[] files = new File[2];
-		File dataAreaFile = getCacheDirectory();
-		int hashCode = computeHash(repositoryLocation);
-		files[0] = new File(dataAreaFile, prefix + hashCode + JAR_EXTENSION);
-		files[1] = new File(dataAreaFile, prefix + hashCode + XML_EXTENSION);
-		return files;
-	}
-
-	private RepositoryTransport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-
-	private boolean isResumeEnabled() {
-		String resumeProp = System.getProperty(PROP_RESUMABLE, RESUME_DEFAULT);
-		return Boolean.valueOf(resumeProp).booleanValue();
-	}
-
-	/**
-	 * Make cacheFile resumable and return true if it was possible.
-	 * @param cacheFile - the partially downloaded file to make resumeable
-	 * @param remoteFile The remote file being cached
-	 * @param status - the download status reported for the partial download
-	 * @return true if the file was made resumable, false otherwise
-	 */
-	private boolean makeResumeable(File cacheFile, URI remoteFile, IStatus status) {
-		if (status == null || status.isOK() || cacheFile == null || !(status instanceof DownloadStatus))
-			return false;
-		// check if resume feature is turned off
-		if (!isResumeEnabled())
-			return false;
-		DownloadStatus downloadStatus = (DownloadStatus) status;
-		long currentLength = cacheFile.length();
-		// if cache file does not exist, or nothing was written to it, there is nothing to resume
-		if (currentLength == 0L)
-			return false;
-
-		long reportedSize = downloadStatus.getFileSize();
-		long reportedModified = downloadStatus.getLastModified();
-
-		if (reportedSize == DownloadStatus.UNKNOWN_SIZE || reportedSize == 0L) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because filesize not reported.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-		if (reportedModified <= 0) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because last-modified not reported.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-
-		// if more than what was reported has been written something odd is going on, and we can't
-		// trust the reported size. 
-		// There is a small chance that user canceled in the time window after the full download is seen, and the result is returned. In this
-		// case the reported and current lengths will be equal.
-		if (reportedSize < currentLength) {
-			LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind("Download of {0} not resumable because more was read then reported size.", remoteFile))); //$NON-NLS-1$
-			return false;
-		}
-		File resumeDir = new File(cacheFile.getParentFile(), DOWNLOADING);
-		if (!resumeDir.mkdir()) {
-			if (!(resumeDir.exists() && resumeDir.isDirectory())) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not create directory {0} for resumable download of {1}", resumeDir, remoteFile))); //$NON-NLS-1$
-				return false;
-			}
-		}
-		// move partial cache file to "downloading" directory
-		File resumeFile = new File(resumeDir, cacheFile.getName());
-		if (!cacheFile.renameTo(resumeFile)) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not move {0} to {1} for resumed download", cacheFile, resumeFile))); //$NON-NLS-1$
-			return false;
-		}
-		// touch the file with remote modified time
-		if (!resumeFile.setLastModified(reportedModified)) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not set last modified time on {0} for resumed download", resumeFile))); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Adds a {@link SynchronousProvisioningListener} to the event bus for
-	 * deleting cache files when the corresponding repository is deleted.
-	 */
-	private void registerRepoEventListener(IProvisioningEventBus eventBus) {
-		if (busListener == null) {
-			busListener = new SynchronousProvisioningListener() {
-				public void notify(EventObject o) {
-					if (o instanceof RepositoryEvent) {
-						RepositoryEvent event = (RepositoryEvent) o;
-						if (RepositoryEvent.REMOVED == event.getKind() && IRepository.TYPE_METADATA == event.getRepositoryType()) {
-							deleteCache(event.getRepositoryLocation());
-						}
-					}
-				}
-			};
-		}
-		// the bus could have disappeared and is now back again - so do this every time
-		eventBus.addListener(busListener);
-	}
-
-	private boolean safeDelete(File file) {
-		if (file.exists()) {
-			if (!file.delete()) {
-				file.deleteOnExit();
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public void setEventBus(IProvisioningEventBus newBus) {
-		registerRepoEventListener(newBus);
-	}
-
-	public void unsetEventBus(IProvisioningEventBus oldBus) {
-		unregisterRepoEventListener(oldBus);
-	}
-
-	/**
-	 * Removes the {@link SynchronousProvisioningListener} that cleans up the
-	 * cache file from the event bus.
-	 */
-	private void unregisterRepoEventListener(IProvisioningEventBus bus) {
-		if (bus != null && busListener != null)
-			bus.removeListener(busListener);
-	}
-
-	private void updateCache(File cacheFile, URI remoteFile, long lastModifiedRemote, SubMonitor submonitor) throws FileNotFoundException, IOException, ProvisionException {
-		cacheFile.getParentFile().mkdirs();
-		File resumeFile = new File(new File(cacheFile.getParentFile(), DOWNLOADING), cacheFile.getName());
-		// if append should be performed or not
-		boolean append = false;
-		if (resumeFile.exists()) {
-			// the resume file can be too old
-			if (lastModifiedRemote != resumeFile.lastModified() || lastModifiedRemote <= 0)
-				safeDelete(resumeFile);
-			else {
-				if (resumeFile.renameTo(cacheFile))
-					append = true;
-				else
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind("Could not move resumable file {0} into cache", resumeFile))); //$NON-NLS-1$
-			}
-		}
-
-		StatefulStream metadata = new StatefulStream(new FileOutputStream(cacheFile, append));
-		IStatus result = null;
-		try {
-			submonitor.setWorkRemaining(1000);
-			// resume from cache file's length if in append mode
-			result = getTransport().download(remoteFile, metadata, append ? cacheFile.length() : -1, submonitor.newChild(1000));
-		} catch (OperationCanceledException e) {
-			// need to pick up the status - a new operation canceled exception is thrown at the end
-			// as status will be CANCEL.
-			result = metadata.getStatus();
-		} finally {
-			metadata.close();
-			// result is null if a runtime error (other than OperationCanceledException) 
-			// occurred, just delete the cache file (or a later attempt could fail 
-			// with "premature end of file").
-			if (result == null)
-				cacheFile.delete();
-		}
-		if (result.isOK())
-			return;
-
-		// if possible, keep a partial download to be resumed.
-		if (!makeResumeable(cacheFile, remoteFile, result))
-			cacheFile.delete();
-
-		if (result.getSeverity() == IStatus.CANCEL || submonitor.isCanceled())
-			throw new OperationCanceledException();
-		throw new ProvisionException(result);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Credentials.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Credentials.java
deleted file mode 100644
index 958e1b5..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Credentials.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, IBM Corporation and others.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- * Contributors:
- * 	IBM Corporation - Initial API and implementation
- *  Cloudsmith Inc - Implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URLEncoder;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.repository.helpers.DebugHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.security.storage.*;
-
-/**
- * Credentials handles AuthenticationInfo that can be used to established an
- * ECF connection context. An AuthenticationInfo is obtained for a URI buy looking
- * in a store, if none is provided the user is optionally prompted for the information. 
- */
-public class Credentials {
-	public static class LoginCanceledException extends Exception {
-		private static final long serialVersionUID = 1L;
-
-	}
-
-	/** 
-	 * Cache of auth information that is not persisted, and modified auth info.
-	 */
-	private static final Map savedAuthInfo = Collections.synchronizedMap(new HashMap());
-
-	/**
-	 * Information about retry counts, and prompts canceled by user. The SoftReference is
-	 * a Map if not null. The keys are also used as serialization per host.
-	 */
-	private static Map remembered;
-
-	/** 
-	 * Serializes pop up of login/password prompt 
-	 */
-	private static final Object promptLock = new Object();
-
-	/**
-	 * Returns the AuthenticationInfo for the given URI. This may prompt the
-	 * user for user name and password as required.
-	 * 
-	 * If the URI is opaque, the entire URI is used as the key. For non opaque URIs, 
-	 * the key is based on the host name, using a host name of "localhost" if host name is
-	 * missing.
-	 *
-	 * @param location - the file location requiring login details
-	 * @param prompt - use <code>true</code> to prompt the user instead of
-	 * looking at the secure preference store for login, use <code>false</code>
-	 * to only try the secure preference store
-	 * @throws UserCancelledException when the user cancels the login prompt
-	 * @throws CoreException if the password cannot be read or saved
-	 * @return The authentication info.
-	 */
-	public static AuthenticationInfo forLocation(URI location, boolean prompt) throws LoginCanceledException, CoreException {
-		return forLocation(location, prompt, null);
-	}
-
-	/**
-	 * Returns the AuthenticationInfo for the given URI. This may prompt the
-	 * user for user name and password as required.
-	 * 
-	 * If the URI is opaque, the entire URI is used as the key. For non opaque URIs, 
-	 * the key is based on the host name, using a host name of "localhost" if host name is
-	 * missing.
-	 * 
-	 * This method allows passing a previously used AuthenticationInfo. If set, the user interface
-	 * may present the information "on file" to the user for editing.
-	 * 
-	 * @param location - the location for which to obtain authentication information
-	 * @param prompt - if true, user will be prompted for information
-	 * @param lastUsed - optional information used in an previous attempt to login
-	 * @return AuthenticationInfo, or null if there was no information available
-	 * @throws UserCancelledException - user canceled the prompt for name/password
-	 * @throws CoreException if there is an error
-	 */
-	public static AuthenticationInfo forLocation(URI location, boolean prompt, AuthenticationInfo lastUsed) throws LoginCanceledException, CoreException {
-		String host = uriToHost(location);
-		String nodeKey;
-		try {
-			nodeKey = URLEncoder.encode(host, "UTF-8"); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e2) {
-			// fall back to default platform encoding
-			try {
-				// Uses getProperty "file.encoding" instead of using deprecated URLEncoder.encode(String location) 
-				// which does the same, but throws NPE on missing property.
-				String enc = System.getProperty("file.encoding");//$NON-NLS-1$
-				if (enc == null)
-					throw new UnsupportedEncodingException("No UTF-8 encoding and missing system property: file.encoding"); //$NON-NLS-1$
-				nodeKey = URLEncoder.encode(host, enc);
-			} catch (UnsupportedEncodingException e) {
-				throw RepositoryStatusHelper.internalError(e);
-			}
-		}
-		if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-			DebugHelper.debug("Credentials", "forLocation:ENTER", // //$NON-NLS-1$ //$NON-NLS-2$
-					new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		// Must serialize getting stored permissions per host as the location may
-		// be prompted right now
-		// Start by getting a key to lock on
-		HostEntry hostLock = null;
-		synchronized (Credentials.class) {
-			Map r = getRemembered();
-			hostLock = (HostEntry) r.get(host);
-			if (hostLock == null) {
-				hostLock = new HostEntry(0);
-				r.put(host, hostLock);
-			}
-		}
-		AuthenticationInfo loginDetails = null;
-		ISecurePreferences securePreferences = null;
-		// synchronize getting secure store with prompting user, as it may prompt.
-		synchronized (promptLock) {
-			securePreferences = SecurePreferencesFactory.getDefault();
-		}
-
-		// serialize the prompting per host
-		synchronized (hostLock) {
-			try {
-				if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-					DebugHelper.debug("Credentials", "forLocation:HOSTLOCK OBTAINED", // //$NON-NLS-1$ //$NON-NLS-2$
-							new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-
-				String nodeName = IRepository.PREFERENCE_NODE + '/' + nodeKey;
-				ISecurePreferences prefNode = null;
-				try {
-					if (securePreferences.nodeExists(nodeName))
-						prefNode = securePreferences.node(nodeName);
-				} catch (IllegalArgumentException e) {
-					// if the node name is illegal/malformed (should not happen).
-					throw RepositoryStatusHelper.internalError(e);
-				} catch (IllegalStateException e) {
-					// thrown if preference store has been tampered with
-					throw RepositoryStatusHelper.internalError(e);
-				}
-				if (!prompt) {
-					try {
-						if (prefNode != null) {
-							String username = prefNode.get(IRepository.PROP_USERNAME, null);
-							String password = prefNode.get(IRepository.PROP_PASSWORD, null);
-							if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-								if (username != null && password != null) {
-									DebugHelper.debug("Credentials", "forLocation:PREFNODE FOUND - USING STORED INFO", // //$NON-NLS-1$ //$NON-NLS-2$
-											new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-								}
-							}
-
-							// if we don't have stored connection data just return a null auth info
-							if (username != null && password != null)
-								return new IServiceUI.AuthenticationInfo(username, password, true);
-						}
-						if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-							DebugHelper.debug("Credentials", "forLocation:PREFNODE NOT FOUND - RETURN FROM MEMORY", // //$NON-NLS-1$ //$NON-NLS-2$
-									new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						return restoreFromMemory(nodeName);
-					} catch (StorageException e) {
-						throw RepositoryStatusHelper.internalError(e);
-					}
-				}
-				// need to prompt user for user name and password
-				// first check (throw exception) if having a remembered cancel
-				checkRememberedCancel(host);
-
-				// check if another thread has modified the credentials since last attempt
-				// made by current thread - if so, try with latest without prompting
-				if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-					AuthenticationInfo latest = restoreFromMemory(nodeName);
-					boolean useLatest = false;
-					if (latest != null && lastUsed != null)
-						if (!(latest.getUserName().equals(lastUsed.getUserName()) && latest.getPassword().equals(lastUsed.getPassword())))
-							useLatest = true;
-					if (useLatest)
-						DebugHelper.debug("Credentials", "forLocation:LATER INFO AVAILABLE - RETURNING IT", // //$NON-NLS-1$ //$NON-NLS-2$
-								new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-
-				AuthenticationInfo latest = restoreFromMemory(nodeName);
-				if (latest != null && lastUsed != null)
-					if (!(latest.getUserName().equals(lastUsed.getUserName()) && latest.getPassword().equals(lastUsed.getPassword())))
-						return latest;
-
-				// check if number of prompts have been exceeded for the host - if so
-				// do a synthetic Login canceled by user
-				// (The alternative is to return "latest" until retry login gives up with
-				// authentication failed - but that would waste time).
-				if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-					if (getPromptCount(host) >= RepositoryPreferences.getLoginRetryCount()) {
-						if (lastUsed == null && latest == null)
-							DebugHelper.debug("Credentials", "forLocation:NO INFO - SYNTHETIC CANCEL", // //$NON-NLS-1$ //$NON-NLS-2$
-									new Object[] {"host", location}); //$NON-NLS-1$ 
-						return latest == null ? lastUsed : latest; // keep client failing on the latest known
-					}
-					DebugHelper.debug("Credentials", "forLocation:LATER INFO AVAILABLE - RETURNING IT", // //$NON-NLS-1$ //$NON-NLS-2$
-							new Object[] {"host", location, "prompt", Boolean.toString(prompt)}); //$NON-NLS-1$ //$NON-NLS-2$
-
-				}
-				if (getPromptCount(host) >= RepositoryPreferences.getLoginRetryCount()) {
-					if (lastUsed == null && latest == null)
-						throw new LoginCanceledException();
-					return latest == null ? lastUsed : latest; // keep client failing on the latest known
-				}
-				IServiceUI adminUIService = (IServiceUI) ServiceHelper.getService(Activator.getContext(), IServiceUI.class.getName());
-				if (adminUIService != null)
-					synchronized (promptLock) {
-						try {
-							if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-								DebugHelper.debug("Credentials", "forLocation:PROMPTLOCK OBTAINED", // //$NON-NLS-1$ //$NON-NLS-2$
-										new Object[] {"host", location}); //$NON-NLS-1$ 					
-							}
-
-							// serialize the popping of the dialog itself
-							loginDetails = lastUsed != null ? adminUIService.getUsernamePassword(host, lastUsed) : adminUIService.getUsernamePassword(host);
-							//null result means user canceled password dialog
-							if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-								if (loginDetails == null)
-									DebugHelper.debug("Credentials", "forLocation:PROMPTED - USER CANCELED (PROMPT LOCK RELEASED)", // //$NON-NLS-1$ //$NON-NLS-2$
-											new Object[] {"host", location}); //$NON-NLS-1$					
-							}
-							if (loginDetails == null) {
-								rememberCancel(host);
-								throw new LoginCanceledException();
-							}
-							//save user name and password if requested by user
-							if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-								if (loginDetails.saveResult())
-									DebugHelper.debug("Credentials", "forLocation:SAVING RESULT", // //$NON-NLS-1$ //$NON-NLS-2$
-											new Object[] {"host", location}); //$NON-NLS-1$					
-							}
-
-							if (loginDetails.saveResult()) {
-								if (prefNode == null)
-									prefNode = securePreferences.node(nodeName);
-								try {
-									prefNode.put(IRepository.PROP_USERNAME, loginDetails.getUserName(), true);
-									prefNode.put(IRepository.PROP_PASSWORD, loginDetails.getPassword(), true);
-									prefNode.flush();
-								} catch (StorageException e1) {
-									throw RepositoryStatusHelper.internalError(e1);
-								} catch (IOException e) {
-									throw RepositoryStatusHelper.internalError(e);
-								}
-							} else {
-								// if persisted earlier - the preference should be removed
-								if (securePreferences.nodeExists(nodeName)) {
-									if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-										DebugHelper.debug("Credentials", "forLocation:REMOVING PREVIOUSLY SAVED INFO", // //$NON-NLS-1$ //$NON-NLS-2$
-												new Object[] {"host", location}); //$NON-NLS-1$					
-									}
-
-									prefNode = securePreferences.node(nodeName);
-									prefNode.removeNode();
-									try {
-										prefNode.flush();
-									} catch (IOException e) {
-										throw RepositoryStatusHelper.internalError(e);
-									}
-								}
-							}
-							saveInMemory(nodeName, loginDetails);
-						} finally {
-							if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-								DebugHelper.debug("Credentials", "forLocation:PROMPTLOCK RELEASED", // //$NON-NLS-1$ //$NON-NLS-2$
-										new Object[] {"host", location}); //$NON-NLS-1$					
-							}
-						}
-					}
-				incrementPromptCount(host);
-			} finally {
-				if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-					DebugHelper.debug("Credentials", "forLocation:HOSTLOCK RELEASED", // //$NON-NLS-1$ //$NON-NLS-2$
-							new Object[] {"host", location}); //$NON-NLS-1$					
-				}
-			}
-
-		}
-
-		return loginDetails;
-	}
-
-	private static String uriToHost(URI location) {
-		// if URI is not opaque, just getting the host may be enough
-		String host = location.getHost();
-		if (host == null) {
-			String scheme = location.getScheme();
-			if (URIUtil.isFileURI(location) || scheme == null)
-				// If the URI references a file, a password could possibly be needed for the directory
-				// (it could be a protected zip file representing a compressed directory) - in this
-				// case the key is the path without the last segment.
-				// Using "Path" this way may result in an empty string - which later will result in
-				// an invalid key.
-				host = new Path(location.toString()).removeLastSegments(1).toString();
-			else
-				// it is an opaque URI - details are unknown - can only use entire string.
-				host = location.toString();
-		}
-		return host;
-	}
-
-	/**
-	 * Returns authentication details stored in memory for the given node name,
-	 * or <code>null</code> if no information is stored.
-	 */
-	private static AuthenticationInfo restoreFromMemory(String nodeName) {
-		return (AuthenticationInfo) savedAuthInfo.get(nodeName);
-	}
-
-	/**
-	 * Saves authentication details in memory so user is only prompted once per (SDK) session
-	 */
-	private static void saveInMemory(String nodeName, AuthenticationInfo loginDetails) {
-		savedAuthInfo.put(nodeName, loginDetails);
-	}
-
-	/**
-	 * Remember the fact that the host was canceled.
-	 * @param host
-	 */
-	private static void rememberCancel(String host) {
-		Map r = getRemembered();
-		if (r != null)
-			r.put(host, new HostEntry(-1));
-	}
-
-	/**
-	 * Throws LoginCancledException if the host was previously canceled, and the information
-	 * is not stale.
-	 * @param host
-	 * @throws LoginCanceledException
-	 */
-	private static void checkRememberedCancel(String host) throws LoginCanceledException {
-		Map r = getRemembered();
-		if (r != null) {
-			Object x = r.get(host);
-			if (x != null && x instanceof HostEntry)
-				if (((HostEntry) x).isCanceled()) {
-					if (DebugHelper.DEBUG_REPOSITORY_CREDENTIALS) {
-						DebugHelper.debug("Credentials", "checkRememberCancel:PREVIOUSLY CANCELED", // //$NON-NLS-1$ //$NON-NLS-2$
-								new Object[] {"host", host}); //$NON-NLS-1$ 
-					}
-
-					throw new LoginCanceledException();
-				}
-		}
-
-	}
-
-	/**
-	 * Increments the prompt count for host. If information is stale, the count is restarted
-	 * at 1.
-	 * @param host
-	 */
-	private static void incrementPromptCount(String host) {
-		Map r = getRemembered();
-		if (r != null) {
-			HostEntry value = (HostEntry) r.get(host);
-			if (value == null)
-				r.put(host, value = new HostEntry(1));
-			else {
-				if (value.isStale())
-					value.reset();
-				value.increment();
-			}
-		}
-	}
-
-	/**
-	 * Returns prompt count for host, except if information is stale in which case 0 is returned.
-	 * @param host
-	 * @return number of time prompt has been performed for a host (or 0 if information is stale)
-	 */
-	private static int getPromptCount(String host) {
-		Map r = getRemembered();
-		if (r != null) {
-			HostEntry value = (HostEntry) r.get(host);
-			if (value != null && !value.isStale())
-				return value.getCount();
-		}
-		return 0;
-
-	}
-
-	/**
-	 * Clears the cached information about prompts for all login/password and
-	 * canceled logins.
-	 */
-	public static synchronized void clearPromptCache() {
-		if (remembered == null)
-			return;
-		Map r = remembered;
-		if (r == null || r.isEmpty())
-			return;
-		// reset entries rather than creating a new empty map since the entries
-		// are also used as locks
-		Iterator itor = r.entrySet().iterator();
-		while (itor.hasNext())
-			((HostEntry) itor.next()).reset();
-	}
-
-	/**
-	 * Clears the cached information for location about prompts for login/password and
-	 * canceled logins.
-	 * @param location the repository location
-	 */
-	public static synchronized void clearPromptCache(URI location) {
-		clearPromptCache(uriToHost(location));
-	}
-
-	/**
-	 * Clears the cached information for host about prompts for login/password and
-	 * canceled logins. 
-	 * @param host a host as returned from uriToHost for a location
-	 */
-	public static synchronized void clearPromptCache(String host) {
-		if (remembered == null)
-			return;
-		Map r = remembered;
-		if (r == null)
-			return;
-		HostEntry value = (HostEntry) r.get(host);
-		if (value != null)
-			value.reset();
-	}
-
-	private static synchronized Map getRemembered() {
-		if (remembered == null)
-			remembered = Collections.synchronizedMap(new HashMap());
-		return remembered;
-	}
-
-	private static class HostEntry {
-		long timestamp;
-		int count;
-
-		public HostEntry(int count) {
-			this.count = count;
-			this.timestamp = System.currentTimeMillis();
-		}
-
-		public boolean isCanceled() {
-			return count == -1 && !isStale();
-		}
-
-		public boolean isStale() {
-			// a record is stale if older than 3 minutes
-			return System.currentTimeMillis() - timestamp > 1000 * 60 * 3;
-		}
-
-		public int getCount() {
-			return count;
-		}
-
-		public void increment() {
-			if (count != -1)
-				count++;
-		}
-
-		public void reset() {
-			count = 0;
-			timestamp = System.currentTimeMillis();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/DownloadStatus.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/DownloadStatus.java
deleted file mode 100644
index de0597d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/DownloadStatus.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import org.eclipse.core.runtime.Status;
-
-/**
- * A status object that optionally reports additional information about the
- * result of a download.
- */
-public class DownloadStatus extends Status {
-	public static final long UNKNOWN_RATE = -1;
-	public static final long UNKNOWN_SIZE = -1;
-
-	private long speed = UNKNOWN_RATE;
-	private long fileSize = UNKNOWN_SIZE;
-	private long lastModified = 0;
-
-	/**
-	 * Constructs a new DownloadStatus with the given attributes.
-	 */
-	public DownloadStatus(int severity, String pluginId, String message) {
-		super(severity, pluginId, message);
-	}
-
-	/**
-	 * Constructs a new DownloadStatus with the given attributes.
-	 */
-	public DownloadStatus(int severity, String pluginId, String message, Throwable exception) {
-		super(severity, pluginId, message, exception);
-	}
-
-	public DownloadStatus(int severity, String pluginId, int code, String message, Throwable exception) {
-		super(severity, pluginId, code, message, exception);
-	}
-
-	/**
-	 * Returns the download rate in bytes per second.  If the rate is unknown,
-	 * @{link {@link #UNKNOWN_RATE}} is returned.
-	 * @return the download rate in bytes per second
-	 */
-	public long getTransferRate() {
-		return speed;
-	}
-
-	/**
-	 * Sets the download rate of the transfer in bytes per second.
-	 * @param rate The download rate in bytes per second
-	 */
-	public void setTransferRate(long rate) {
-		this.speed = rate;
-	}
-
-	public void setFileSize(long aFileSize) {
-		fileSize = aFileSize;
-	}
-
-	public long getFileSize() {
-		return fileSize;
-	}
-
-	public void setLastModified(long timestamp) {
-		lastModified = timestamp;
-	}
-
-	public long getLastModified() {
-		return lastModified;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfo.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfo.java
deleted file mode 100644
index b4af75e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfo.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text or
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.util.Properties;
-
-/**
- * Carries information about a file transfer.
- * 
- */
-public class FileInfo {
-	public static final String PROPERTY_CONTENT_TYPE = "contentType"; //$NON-NLS-1$
-
-	public static final String PROPERTY_LAST_MODIFIED = "lastModified"; //$NON-NLS-1$
-
-	public static final String PROPERTY_NAME = "name"; //$NON-NLS-1$
-
-	public static final String PROPERTY_SIZE = "size"; //$NON-NLS-1$
-
-	public static final String PROPERTY_SPEED = "speed"; //$NON-NLS-1$
-
-	public static final long UNKNOWN_RATE = -1L;
-
-	private String contentType;
-
-	private long lastModified = 0L;
-
-	private String name;
-
-	private long size = -1L;
-
-	private long averageSpeed = UNKNOWN_RATE;
-
-	public FileInfo() {
-		contentType = ""; //$NON-NLS-1$
-		name = ""; //$NON-NLS-1$
-	}
-
-	public FileInfo(FileInfo fileInfo) {
-		initFrom(fileInfo);
-	}
-
-	/*
-	 * (non java doc)
-	 * properties based method for possible use with resumable download
-	 */
-	public FileInfo(Properties properties) {
-		name = properties.getProperty(PROPERTY_NAME);
-		contentType = properties.getProperty(PROPERTY_CONTENT_TYPE);
-
-		String v = properties.getProperty(PROPERTY_LAST_MODIFIED);
-		if (v != null)
-			lastModified = Long.parseLong(v);
-
-		v = properties.getProperty(PROPERTY_SIZE);
-		if (v != null)
-			size = Long.parseLong(v);
-		v = properties.getProperty(PROPERTY_SPEED);
-		if (v != null)
-			averageSpeed = Long.parseLong(v);
-	}
-
-	/*
-	 * (non java doc)
-	 * properties based method for possible use with resumable download
-	 */
-	public void addProperties(Properties properties) {
-		if (contentType != null)
-			properties.setProperty(PROPERTY_CONTENT_TYPE, contentType);
-		if (lastModified != 0L)
-			properties.setProperty(PROPERTY_LAST_MODIFIED, Long.toString(lastModified));
-		if (name != null)
-			properties.setProperty(PROPERTY_NAME, name);
-		if (size != -1L)
-			properties.setProperty(PROPERTY_SIZE, Long.toString(size));
-		if (averageSpeed != UNKNOWN_RATE)
-			properties.setProperty(PROPERTY_SPEED, Long.toString(averageSpeed));
-
-	}
-
-	public final String getContentType() {
-		return contentType;
-	}
-
-	public long getLastModified() {
-		return lastModified;
-	}
-
-	public final String getRemoteName() {
-		return name;
-	}
-
-	public final long getSize() {
-		return size;
-	}
-
-	public void initFrom(FileInfo info) {
-		setName(info.getRemoteName());
-		setContentType(info.getContentType());
-		setSize(info.getSize());
-		setLastModified(info.getLastModified());
-	}
-
-	public void reset() {
-		name = null;
-		contentType = null;
-		size = -1;
-		lastModified = 0;
-	}
-
-	public final void setContentType(String contentType) {
-		this.contentType = contentType;
-	}
-
-	public void setLastModified(long timestamp) {
-		lastModified = timestamp;
-	}
-
-	public final void setName(String name) {
-		this.name = name;
-	}
-
-	public final void setSize(long size) {
-		this.size = size;
-	}
-
-	/**
-	 * Set the average transfer rate measured in bytes/second
-	 * @param averageSpeed rate in bytes/second, or {@link #UNKNOWN_RATE}
-	 */
-	public void setAverageSpeed(long averageSpeed) {
-		this.averageSpeed = averageSpeed;
-	}
-
-	/**
-	 * Returns the average transfer rate measured in bytes/second.
-	 * @return transfer rate in bytes/second or {@link #UNKNOWN_RATE}
-	 */
-	public long getAverageSpeed() {
-		return averageSpeed;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java
deleted file mode 100644
index c84d4e2..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, IBM Corporation, and others.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- * Contributors:
- * 	IBM Corporation - initial implementation
- * 	Cloudsmith Inc - modified API, and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ecf.core.*;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.*;
-import org.eclipse.ecf.filetransfer.events.IRemoteFileSystemBrowseEvent;
-import org.eclipse.ecf.filetransfer.events.IRemoteFileSystemEvent;
-import org.eclipse.ecf.filetransfer.identity.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The FileInfoReader is a {@link Job} similar to {@link FileReader}, but without the support
- * from ECF (there is currently no way to wait on a BrowseRequest job, as this is internal to
- * ECF). If such support is added, this class is easily modified.
- * 
- */
-public class FileInfoReader extends Job implements IRemoteFileSystemListener {
-	private Exception exception;
-	private IProgressMonitor theMonitor;
-	private final int connectionRetryCount;
-	private final long connectionRetryDelay;
-	private final IConnectContext connectContext;
-	final Boolean[] barrier = new Boolean[1];
-	private IRemoteFile[] remoteFiles;
-	private IRemoteFileSystemRequest browseRequest;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus run(IProgressMonitor monitor) {
-		synchronized (barrier) {
-			while (barrier[0] == null) {
-				try {
-					barrier.wait(1000);
-					if (theMonitor.isCanceled() && browseRequest != null)
-						browseRequest.cancel();
-				} catch (InterruptedException e) {
-					//ignore
-				}
-			}
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Waits until request is processed (barrier[0] is non null).
-	 * This is a bit of a hack, as it would be better if the ECFBrowser worked in similar fashion to
-	 * file transfer were a custom job can be supplied.
-	 * TODO: log an issue for ECF.
-	 */
-	private void waitOnSelf() {
-		schedule();
-		while (barrier[0] == null) {
-			boolean logged = false;
-			try {
-				join();
-			} catch (InterruptedException e) {
-				if (!logged)
-					LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Unexpected interrupt while waiting on ECF browse request", e)); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Create a new FileInfoReader that will retry failed connection attempts and sleep some amount of time between each
-	 * attempt.
-	 */
-	public FileInfoReader(IConnectContext aConnectContext) {
-		super(Messages.repo_loading); // job label - TODO: this is a bad label
-		barrier[0] = null;
-		// Hide this job.
-		setSystem(true);
-		setUser(false);
-		connectionRetryCount = RepositoryPreferences.getConnectionRetryCount();
-		connectionRetryDelay = RepositoryPreferences.getConnectionMsRetryDelay();
-		connectContext = aConnectContext;
-	}
-
-	/**
-	 * Get the requested information.
-	 * @return IRemoteFile[] or null if there was an error.
-	 * @throws CoreException 
-	 * @throws FileNotFoundException 
-	 * @throws AuthenticationFailedException 
-	 * @throws JREHttpClientRequiredException 
-	 */
-	public IRemoteFile[] getRemoteFiles(URI location, IProgressMonitor monitor) throws AuthenticationFailedException, FileNotFoundException, CoreException, JREHttpClientRequiredException {
-		if (monitor != null)
-			monitor.beginTask(location.toString(), 1);
-		try {
-			sendBrowseRequest(location, monitor);
-			waitOnSelf();
-			// throw any exception received in a callback
-			checkException(location, connectionRetryCount);
-
-			return remoteFiles;
-		} finally {
-			if (monitor != null) {
-				monitor.done();
-			}
-		}
-
-	}
-
-	public IRemoteFile getRemoteFile(URI location, IProgressMonitor monitor) throws AuthenticationFailedException, FileNotFoundException, CoreException, JREHttpClientRequiredException {
-
-		getRemoteFiles(location, monitor);
-		return remoteFiles != null && remoteFiles.length > 0 ? remoteFiles[0] : null;
-	}
-
-	public long getLastModified(URI location, IProgressMonitor monitor) throws AuthenticationFailedException, FileNotFoundException, CoreException, JREHttpClientRequiredException {
-		IRemoteFile file = getRemoteFile(location, monitor);
-		if (file == null)
-			throw new FileNotFoundException(location.toString());
-		return file.getInfo().getLastModified();
-	}
-
-	public void handleRemoteFileEvent(IRemoteFileSystemEvent event) {
-		exception = event.getException();
-		if (exception != null) {
-			synchronized (barrier) {
-				barrier[0] = Boolean.TRUE;
-				barrier.notify();
-			}
-		} else if (event instanceof IRemoteFileSystemBrowseEvent) {
-			IRemoteFileSystemBrowseEvent fsbe = (IRemoteFileSystemBrowseEvent) event;
-			remoteFiles = fsbe.getRemoteFiles();
-			if (theMonitor != null)
-				theMonitor.worked(1);
-			synchronized (barrier) {
-				barrier[0] = Boolean.TRUE;
-				barrier.notify();
-			}
-		} else {
-			synchronized (barrier) {
-				barrier[0] = Boolean.FALSE; // ended by unknown reason
-				barrier.notify();
-			}
-		}
-	}
-
-	protected void sendBrowseRequest(URI uri, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		IContainer container;
-		try {
-			container = ContainerFactory.getDefault().createContainer();
-		} catch (ContainerCreateException e) {
-			throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error);
-		}
-
-		IRemoteFileSystemBrowserContainerAdapter adapter = (IRemoteFileSystemBrowserContainerAdapter) container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class);
-		if (adapter == null) {
-			throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error);
-		}
-
-		adapter.setConnectContextForAuthentication(connectContext);
-
-		this.exception = null;
-		this.theMonitor = monitor;
-		for (int retryCount = 0;; retryCount++) {
-			if (monitor != null && monitor.isCanceled())
-				throw new OperationCanceledException();
-
-			try {
-				IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getBrowseNamespace(), uri.toString());
-				browseRequest = adapter.sendBrowseRequest(fileID, this);
-			} catch (RemoteFileSystemException e) {
-				exception = e;
-			} catch (FileCreateException e) {
-				exception = e;
-			}
-			if (checkException(uri, retryCount))
-				break;
-		}
-	}
-
-	protected Exception getException() {
-		return exception;
-	}
-
-	/**
-	 * Utility method to check exception condition and determine if retry should be done.
-	 * If there was an exception it is translated into one of the specified exceptions and thrown.
-	 * 
-	 * @param uri the URI being read - used for logging purposes
-	 * @param attemptCounter - the current attempt number (start with 0)
-	 * @return true if the exception is an IOException and attemptCounter < connectionRetryCount, false otherwise
-	 * @throws CoreException
-	 * @throws FileNotFoundException
-	 * @throws AuthenticationFailedException
-	 * @throws JREHttpClientRequiredException 
-	 */
-	private boolean checkException(URI uri, int attemptCounter) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		// note that 'exception' could have been captured in a callback
-		if (exception != null) {
-			// check if HTTP client needs to be changed
-			RepositoryStatusHelper.checkJREHttpClientRequired(exception);
-
-			// if this is a authentication failure - it is not meaningful to continue
-			RepositoryStatusHelper.checkPermissionDenied(exception);
-
-			// if this is a file not found - it is not meaningful to continue
-			RepositoryStatusHelper.checkFileNotFound(exception, uri);
-
-			Throwable t = RepositoryStatusHelper.unwind(exception);
-			if (t instanceof CoreException)
-				throw RepositoryStatusHelper.unwindCoreException((CoreException) t);
-
-			if (t instanceof IOException && attemptCounter < connectionRetryCount) {
-				// TODO: Retry only certain exceptions or filter out
-				// some exceptions not worth retrying
-				//
-				exception = null;
-				try {
-					LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.connection_to_0_failed_on_1_retry_attempt_2, new String[] {uri.toString(), t.getMessage(), String.valueOf(attemptCounter)}), t));
-
-					Thread.sleep(connectionRetryDelay);
-					return false;
-				} catch (InterruptedException e) {
-					/* ignore */
-				}
-			}
-			throw RepositoryStatusHelper.wrap(exception);
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileReader.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileReader.java
deleted file mode 100644
index 7531104..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileReader.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 Cloudsmith Inc.
- *  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:
- * 	Cloudsmith Inc - initial API and implementation
- * 	IBM Corporation - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.*;
-import java.net.SocketTimeoutException;
-import java.net.URI;
-import java.util.Date;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.*;
-import org.eclipse.ecf.filetransfer.events.*;
-import org.eclipse.ecf.filetransfer.identity.*;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * FileReader is an ECF FileTransferJob implementation.
- */
-public final class FileReader extends FileTransferJob implements IFileTransferListener {
-	/**
-	 * Class used to suppress warnings about a job being blocked by another job.
-	 * Since we are running a job that will always be blocked by another job that
-	 * is actually performing the transfer, these messages are unnecessary and ugly.
-	 */
-	static class SuppressBlockedMonitor extends SubProgressMonitor {
-		public SuppressBlockedMonitor(IProgressMonitor monitor, int ticks) {
-			super(monitor, ticks);
-		}
-
-		public void setBlocked(IStatus reason) {
-			//do nothing
-		}
-
-		public void clearBlocked() {
-			//do nothing
-		}
-	}
-
-	private static IFileReaderProbe testProbe;
-	private boolean closeStreamWhenFinished = false;
-	private Exception exception;
-	private FileInfo fileInfo;
-	private long lastProgressCount;
-	private long lastStatsCount;
-	protected IProgressMonitor theMonitor;
-	private OutputStream theOutputStream;
-	private ProgressStatistics statistics;
-	private final int connectionRetryCount;
-	private final long connectionRetryDelay;
-	private final IConnectContext connectContext;
-	private URI requestUri;
-	protected IFileTransferConnectStartEvent connectEvent;
-	private Job cancelJob;
-	private boolean monitorStarted;
-
-	/**
-	 * Create a new FileReader that will retry failed connection attempts and sleep some amount of time between each
-	 * attempt.
-	 */
-	public FileReader(IConnectContext aConnectContext) {
-		super(Messages.FileTransport_reader); // job label
-
-		// Hide this job.
-		setSystem(true);
-		setUser(false);
-		connectionRetryCount = RepositoryPreferences.getConnectionRetryCount();
-		connectionRetryDelay = RepositoryPreferences.getConnectionMsRetryDelay();
-		connectContext = aConnectContext;
-	}
-
-	public FileInfo getLastFileInfo() {
-		return fileInfo;
-	}
-
-	/**
-	 * A job to handle cancelation when trying to establish a socket connection.
-	 * At this point we don't have a transfer job running yet, so we need a separate
-	 * job to monitor for cancelation.
-	 */
-	protected class CancelHandler extends Job {
-		private boolean done = false;
-
-		protected CancelHandler() {
-			super(Messages.FileTransport_cancelCheck);
-			setSystem(true);
-		}
-
-		public IStatus run(IProgressMonitor jobMonitor) {
-			while (!done && !jobMonitor.isCanceled()) {
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException e) {
-					return Status.CANCEL_STATUS;
-				}
-				if (theMonitor != null && theMonitor.isCanceled())
-					if (connectEvent != null)
-						connectEvent.cancel();
-			}
-			return Status.OK_STATUS;
-		}
-
-		protected void canceling() {
-			//wake up from sleep in run method
-			Thread t = getThread();
-			if (t != null)
-				t.interrupt();
-		}
-
-	}
-
-	public synchronized void handleTransferEvent(IFileTransferEvent event) {
-		if (event instanceof IFileTransferConnectStartEvent) {
-			// keep the connect event to be able to cancel the transfer
-			connectEvent = (IFileTransferConnectStartEvent) event;
-			cancelJob = new CancelHandler();
-			//schedule with a delay to avoid the overhead of an extra job on a fast connection
-			cancelJob.schedule(500);
-		} else if (event instanceof IIncomingFileTransferReceiveStartEvent) {
-			//we no longer need the cancel handler because we are about to fork the transfer job
-			if (cancelJob != null)
-				cancelJob.cancel();
-			IIncomingFileTransfer source = ((IIncomingFileTransferEvent) event).getSource();
-			try {
-				FileInfo fi = new FileInfo();
-				Date lastModified = source.getRemoteLastModified();
-				if (lastModified != null)
-					fi.setLastModified(lastModified.getTime());
-				fi.setName(source.getRemoteFileName());
-				fi.setSize(source.getFileLength());
-				fileInfo = fi;
-
-				((IIncomingFileTransferReceiveStartEvent) event).receive(theOutputStream, this);
-			} catch (IOException e) {
-				exception = e;
-				return;
-			}
-			long fileLength = source.getFileLength();
-			ProgressStatistics stats = new ProgressStatistics(requestUri, source.getRemoteFileName(), fileLength);
-			setStatistics(stats);
-
-			if (theMonitor != null) {
-				theMonitor.beginTask(null, 1000);
-				monitorStarted = true;
-				theMonitor.subTask(stats.report());
-				lastStatsCount = 0;
-				lastProgressCount = 0;
-			}
-			onStart(source);
-		} else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
-			IIncomingFileTransfer source = ((IIncomingFileTransferEvent) event).getSource();
-			if (theMonitor != null) {
-				if (theMonitor.isCanceled()) {
-					source.cancel();
-					return;
-				}
-
-				long br = source.getBytesReceived();
-				long count = br - lastStatsCount;
-				lastStatsCount = br;
-				ProgressStatistics stats = getStatistics();
-				if (stats != null) {
-					stats.increase(count);
-					fileInfo.setAverageSpeed(stats.getAverageSpeed());
-					if (stats.shouldReport()) {
-						count = br - lastProgressCount;
-						lastProgressCount = br;
-						theMonitor.subTask(stats.report());
-						theMonitor.worked((int) (1000 * count / stats.getTotal()));
-					}
-				}
-			}
-			onData(source);
-		} else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
-			if (closeStreamWhenFinished)
-				hardClose(theOutputStream);
-
-			if (exception == null)
-				exception = ((IIncomingFileTransferReceiveDoneEvent) event).getException();
-			onDone(((IIncomingFileTransferReceiveDoneEvent) event).getSource());
-		}
-	}
-
-	public InputStream read(URI url, final IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		final PipedInputStream input = new PipedInputStream();
-		PipedOutputStream output;
-		try {
-			output = new PipedOutputStream(input);
-		} catch (IOException e) {
-			throw RepositoryStatusHelper.wrap(e);
-		}
-		RepositoryTracing.debug("Downloading {0}", url); //$NON-NLS-1$
-
-		sendRetrieveRequest(url, output, null, true, monitor);
-
-		return new InputStream() {
-			public int available() throws IOException {
-				checkException();
-				return input.available();
-			}
-
-			public void close() throws IOException {
-				hardClose(input);
-				checkException();
-			}
-
-			public void mark(int readlimit) {
-				input.mark(readlimit);
-			}
-
-			public boolean markSupported() {
-				return input.markSupported();
-			}
-
-			public int read() throws IOException {
-				checkException();
-				return input.read();
-			}
-
-			public int read(byte b[]) throws IOException {
-				checkException();
-				return input.read(b);
-			}
-
-			public int read(byte b[], int off, int len) throws IOException {
-				checkException();
-				return input.read(b, off, len);
-			}
-
-			public void reset() throws IOException {
-				checkException();
-				input.reset();
-			}
-
-			public long skip(long n) throws IOException {
-				checkException();
-				return input.skip(n);
-			}
-
-			private void checkException() throws IOException {
-				if (getException() == null)
-					return;
-
-				IOException e;
-				Throwable t = RepositoryStatusHelper.unwind(getException());
-				if (t instanceof IOException)
-					e = (IOException) t;
-				else {
-					e = new IOException(t.getMessage());
-					e.initCause(t);
-				}
-				throw e;
-			}
-		};
-	}
-
-	public void readInto(URI uri, OutputStream anOutputStream, IProgressMonitor monitor) //
-			throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		readInto(uri, anOutputStream, -1, monitor);
-	}
-
-	public boolean belongsTo(Object family) {
-		return family == this;
-	}
-
-	public void readInto(URI uri, OutputStream anOutputStream, long startPos, IProgressMonitor monitor) //
-			throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		try {
-			sendRetrieveRequest(uri, anOutputStream, (startPos != -1 ? new DownloadRange(startPos) : null), false, monitor);
-			Job.getJobManager().join(this, new SuppressBlockedMonitor(monitor, 0));
-			if (monitor.isCanceled() && connectEvent != null)
-				connectEvent.cancel();
-			// check and throw exception if received in callback
-			checkException(uri, connectionRetryCount);
-		} catch (InterruptedException e) {
-			monitor.setCanceled(true);
-			throw new OperationCanceledException();
-		} finally {
-			// kill the cancelJob, if there is one
-			if (cancelJob != null) {
-				cancelJob.cancel();
-				cancelJob = null;
-			}
-			// If monitor was never started, make sure it is balanced
-			if (!monitorStarted)
-				monitor.beginTask(null, 1);
-			monitorStarted = false;
-			monitor.done();
-		}
-	}
-
-	protected void sendRetrieveRequest(URI uri, OutputStream outputStream, DownloadRange range, boolean closeStreamOnFinish, //
-			IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-
-		IRetrieveFileTransferFactory factory = Activator.getDefault().getRetrieveFileTransferFactory();
-		if (factory == null) {
-			throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error);
-		}
-		IRetrieveFileTransferContainerAdapter adapter = factory.newInstance();
-
-		adapter.setConnectContextForAuthentication(connectContext);
-
-		this.exception = null;
-		this.closeStreamWhenFinished = closeStreamOnFinish;
-		this.fileInfo = null;
-		this.statistics = null;
-		this.lastProgressCount = 0L;
-		this.lastStatsCount = 0L;
-		this.theMonitor = monitor;
-		this.monitorStarted = false;
-		this.theOutputStream = outputStream;
-		this.requestUri = uri;
-
-		for (int retryCount = 0;; retryCount++) {
-			if (monitor != null && monitor.isCanceled())
-				throw new OperationCanceledException();
-
-			try {
-				IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getRetrieveNamespace(), uri.toString());
-				if (range != null)
-					adapter.sendRetrieveRequest(fileID, range, this, null);
-				else
-					adapter.sendRetrieveRequest(fileID, this, null);
-			} catch (IncomingFileTransferException e) {
-				exception = e;
-			} catch (FileCreateException e) {
-				exception = e;
-			} catch (Throwable t) {
-				if (exception != null)
-					exception.printStackTrace();
-			}
-			if (checkException(uri, retryCount))
-				break;
-		}
-	}
-
-	/**
-	 * Utility method to check exception condition and determine if retry should be done.
-	 * If there was an exception it is translated into one of the specified exceptions and thrown.
-	 * 
-	 * @param uri the URI being read - used for logging purposes
-	 * @param attemptCounter - the current attempt number (start with 0)
-	 * @return true if the exception is an IOException and attemptCounter < connectionRetryCount, false otherwise
-	 * @throws CoreException
-	 * @throws FileNotFoundException
-	 * @throws AuthenticationFailedException
-	 */
-	private boolean checkException(URI uri, int attemptCounter) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException {
-		// note that 'exception' could have been captured in a callback
-		if (exception != null) {
-			// check if HTTP client needs to be changed
-			RepositoryStatusHelper.checkJREHttpClientRequired(exception);
-
-			// if this is an 'authentication failure' - it is not meaningful to continue
-			RepositoryStatusHelper.checkPermissionDenied(exception);
-
-			// if this is a 'file not found' - it is not meaningful to continue
-			RepositoryStatusHelper.checkFileNotFound(exception, uri);
-
-			Throwable t = RepositoryStatusHelper.unwind(exception);
-			if (t instanceof CoreException)
-				throw RepositoryStatusHelper.unwindCoreException((CoreException) t);
-
-			// not meaningful to try 'timeout again' - if a server is that busy, we
-			// need to wait for quite some time before retrying- it is not likely it is
-			// just a temporary network thing.
-			if (t instanceof SocketTimeoutException)
-				throw RepositoryStatusHelper.wrap(t);
-
-			if (t instanceof IOException && attemptCounter < connectionRetryCount) {
-				// TODO: Retry only certain exceptions or filter out
-				// some exceptions not worth retrying
-				//
-				exception = null;
-				try {
-					LogHelper.log(new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.connection_to_0_failed_on_1_retry_attempt_2, new String[] {uri.toString(), t.getMessage(), String.valueOf(attemptCounter)}), t));
-
-					Thread.sleep(connectionRetryDelay);
-					return false;
-				} catch (InterruptedException e) {
-					/* ignore */
-				}
-			}
-			throw RepositoryStatusHelper.wrap(exception);
-		}
-		return true;
-	}
-
-	protected Exception getException() {
-		return exception;
-	}
-
-	/**
-	 * Closes input and output streams
-	 * @param aStream
-	 */
-	public static void hardClose(Object aStream) {
-		if (aStream != null) {
-			try {
-				if (aStream instanceof OutputStream)
-					((OutputStream) aStream).close();
-				else if (aStream instanceof InputStream)
-					((InputStream) aStream).close();
-			} catch (IOException e) { /* ignore */
-			}
-		}
-	}
-
-	private static class DownloadRange implements IFileRangeSpecification {
-
-		private long startPosition;
-
-		public DownloadRange(long startPos) {
-			startPosition = startPos;
-		}
-
-		public long getEndPosition() {
-			return -1;
-		}
-
-		public long getStartPosition() {
-			return startPosition;
-		}
-
-	}
-
-	private void onDone(IIncomingFileTransfer source) {
-		if (testProbe != null)
-			testProbe.onDone(this, source, theMonitor);
-	}
-
-	private void onStart(IIncomingFileTransfer source) {
-		if (testProbe != null)
-			testProbe.onStart(this, source, theMonitor);
-	}
-
-	private void onData(IIncomingFileTransfer source) {
-		if (testProbe != null)
-			testProbe.onData(this, source, theMonitor);
-	}
-
-	/**
-	 * Sets a testing probe that can intercept events on the file reader for testing purposes.
-	 * This method should only ever be called from automated test suites.
-	 */
-	public static void setTestProbe(IFileReaderProbe probe) {
-		testProbe = probe;
-	}
-
-	/**
-	 * Sets the progress statistics. This method is synchronized because the field
-	 * is accessed from both the transfer thread and the thread initiating the transfer
-	 * and we need to ensure field values are consistent across threads.
-	 * 
-	 * @param statistics the statistics to set, or <code>null</code>
-	 */
-	private synchronized void setStatistics(ProgressStatistics statistics) {
-		this.statistics = statistics;
-	}
-
-	/**
-	 * Returns the progress statistics. This method is synchronized because the field
-	 * is accessed from both the transfer thread and the thread initiating the transfer
-	 * and we need to ensure field values are consistent across threads.
-	 * 
-	 * @return the statistics, or <code>null</code>
-	 */
-	private synchronized ProgressStatistics getStatistics() {
-		return statistics;
-	}
-
-	/**
-	 * An interface to allow automated tests to hook into file reader events
-	 * @see #setTestProbe
-	 */
-	public interface IFileReaderProbe {
-		public void onStart(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor);
-
-		public void onData(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor);
-
-		public void onDone(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/JREHttpClientRequiredException.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/JREHttpClientRequiredException.java
deleted file mode 100644
index b6474e3..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/JREHttpClientRequiredException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.net.ProtocolException;
-
-/**
- * Exception signaling that the JRE Http Client is required to handle the request.
- */
-public class JREHttpClientRequiredException extends ProtocolException {
-
-	private static final long serialVersionUID = 1550518207489119010L;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Messages.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Messages.java
deleted file mode 100644
index 2ed09a9..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Messages.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Cloudsmith Inc - additional messages
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.repository.messages"; //$NON-NLS-1$
-
-	public static String artifact_not_found;
-	public static String io_failedRead;
-	public static String ecf_configuration_error;
-	public static String repoMan_internalError;
-	public static String repo_loading;
-
-	public static String exception_malformedRepoURI;
-	public static String TransportErrorTranslator_400;
-	public static String TransportErrorTranslator_401;
-	public static String TransportErrorTranslator_402;
-	public static String TransportErrorTranslator_403;
-	public static String TransportErrorTranslator_404;
-	public static String TransportErrorTranslator_405;
-	public static String TransportErrorTranslator_406;
-	public static String TransportErrorTranslator_407;
-	public static String TransportErrorTranslator_408;
-	public static String TransportErrorTranslator_409;
-	public static String TransportErrorTranslator_410;
-	public static String TransportErrorTranslator_411;
-	public static String TransportErrorTranslator_412;
-	public static String TransportErrorTranslator_413;
-	public static String TransportErrorTranslator_414;
-	public static String TransportErrorTranslator_415;
-	public static String TransportErrorTranslator_416;
-	public static String TransportErrorTranslator_417;
-	public static String TransportErrorTranslator_418;
-	public static String TransportErrorTranslator_422;
-	public static String TransportErrorTranslator_423;
-	public static String TransportErrorTranslator_424;
-	public static String TransportErrorTranslator_425;
-	public static String TransportErrorTranslator_426;
-	public static String TransportErrorTranslator_449;
-	public static String TransportErrorTranslator_450;
-	public static String TransportErrorTranslator_500;
-	public static String TransportErrorTranslator_501;
-	public static String TransportErrorTranslator_502;
-	public static String TransportErrorTranslator_503;
-	public static String TransportErrorTranslator_504;
-	public static String TransportErrorTranslator_505;
-	public static String TransportErrorTranslator_506;
-	public static String TransportErrorTranslator_507;
-	public static String TransportErrorTranslator_508;
-	public static String TransportErrorTranslator_510;
-	public static String TransportErrorTranslator_MalformedRemoteFileReference;
-	public static String TransportErrorTranslator_UnableToConnectToRepository_0;
-
-	public static String TransportErrorTranslator_UnknownErrorCode;
-	public static String TransportErrorTranslator_UnknownHost;
-
-	public static String fetching_0_from_1_2_at_3;
-	public static String fetching_0_from_1_2_of_3_at_4;
-	public static String connection_to_0_failed_on_1_retry_attempt_2;
-
-	public static String FileTransport_reader;
-	public static String FileTransport_cancelCheck;
-
-	public static String UnableToRead_0_TooManyAttempts;
-	public static String UnableToRead_0_UserCanceled;
-	static {
-		// initialize resource bundles
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/ProgressStatistics.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/ProgressStatistics.java
deleted file mode 100644
index 4fb5f15..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/ProgressStatistics.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 Cloudsmith Inc.
- *  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:
- * 	Cloudsmith Inc - initial API and implementation
- * 	IBM Corporation - ongoing development
- * 	Genuitec - Bug 291926
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.net.URI;
-import java.text.NumberFormat;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Converts progress of file download to average download speed and keeps track of
- * when it is suitable to update a progress monitor. A suitably scaled and formatted string for use
- * in progress monitoring is provided.
- */
-public class ProgressStatistics {
-	private static final int DEFAULT_REPORT_INTERVAL = 1000;
-
-	private static final int SPEED_INTERVAL = 5000;
-
-	private static final int SPEED_RESOLUTION = 1000;
-
-	private static String convert(long amount) {
-		NumberFormat fmt = NumberFormat.getInstance();
-		if (amount < 1024)
-			return fmt.format(amount) + "B"; //$NON-NLS-1$
-
-		fmt.setMaximumFractionDigits(2);
-		if (amount < 1024 * 1024)
-			return fmt.format(((double) amount) / 1024) + "kB"; //$NON-NLS-1$
-
-		return fmt.format(((double) amount) / (1024 * 1024)) + "MB"; //$NON-NLS-1$
-	}
-
-	private final String m_fileName;
-
-	private final long m_total;
-
-	private final long m_startTime;
-
-	private long m_current;
-
-	private long m_lastReportTime;
-
-	private int m_reportInterval;
-
-	private SortedMap m_recentSpeedMap;
-
-	private long m_recentSpeedMapKey;
-
-	private URI m_uri;
-
-	public ProgressStatistics(URI uri, String fileName, long total) {
-		m_startTime = System.currentTimeMillis();
-		m_fileName = fileName;
-
-		m_total = total;
-
-		m_current = 0;
-		m_lastReportTime = 0;
-		m_reportInterval = DEFAULT_REPORT_INTERVAL;
-		m_recentSpeedMap = new TreeMap();
-		m_recentSpeedMapKey = 0L;
-		m_uri = uri;
-	}
-
-	public long getAverageSpeed() {
-		long dur = getDuration();
-		if (dur > 0)
-			return (int) (m_current / (dur / 1000.0));
-		return 0L;
-	}
-
-	public long getDuration() {
-		return System.currentTimeMillis() - m_startTime;
-	}
-
-	public double getPercentage() {
-		if (m_total > 0)
-			return ((double) m_current) / ((double) m_total);
-
-		return 0.0;
-	}
-
-	synchronized public long getRecentSpeed() {
-		removeObsoleteRecentSpeedData(getDuration() / SPEED_RESOLUTION);
-		long dur = 0L;
-		long amount = 0L;
-		SortedMap relevantData = m_recentSpeedMap.headMap(new Long(m_recentSpeedMapKey));
-
-		Iterator itor = relevantData.entrySet().iterator();
-		while (itor.hasNext()) {
-			Entry entry = (Entry) itor.next();
-			dur += SPEED_RESOLUTION;
-			amount += ((Long) entry.getValue()).longValue();
-		}
-
-		if (dur >= 1000)
-			return amount / (dur / 1000);
-
-		return 0L;
-	}
-
-	public int getReportInterval() {
-		return m_reportInterval;
-	}
-
-	public long getTotal() {
-		return m_total;
-	}
-
-	public void increase(long inc) {
-		registerRecentSpeed(getDuration() / SPEED_RESOLUTION, inc);
-		m_current += inc;
-	}
-
-	public synchronized String report() {
-		return m_total != -1 ? NLS.bind(Messages.fetching_0_from_1_2_of_3_at_4, new String[] {m_fileName, m_uri.toString(), convert(m_current), convert(m_total), convert(getRecentSpeed())}) : NLS.bind(Messages.fetching_0_from_1_2_at_3, new String[] {m_fileName, m_uri.toString(), convert(m_current), convert(getRecentSpeed())});
-	}
-
-	public void setReportInterval(int reportInterval) {
-		m_reportInterval = reportInterval;
-	}
-
-	public boolean shouldReport() {
-		long currentTime = System.currentTimeMillis();
-		if (m_lastReportTime == 0 || currentTime - m_lastReportTime >= m_reportInterval) {
-			m_lastReportTime = currentTime;
-			return true;
-		}
-		return false;
-	}
-
-	public String toString() {
-		return report();
-	}
-
-	synchronized private void registerRecentSpeed(long key, long inc) {
-		Long keyL = new Long(key);
-		Long currentValueL = (Long) m_recentSpeedMap.get(keyL);
-		long currentValue = 0L;
-		if (currentValueL != null)
-			currentValue = currentValueL.longValue();
-
-		m_recentSpeedMap.put(keyL, new Long(inc + currentValue));
-
-		if (m_recentSpeedMapKey != key) {
-			m_recentSpeedMapKey = key;
-			removeObsoleteRecentSpeedData(key);
-		}
-	}
-
-	synchronized private void removeObsoleteRecentSpeedData(long lastKey) {
-		long threshold = lastKey - SPEED_INTERVAL / SPEED_RESOLUTION;
-		m_recentSpeedMap.headMap(new Long(threshold)).clear();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryPreferences.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryPreferences.java
deleted file mode 100644
index a126e80..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryPreferences.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text or
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-/**
- * Holds various preferences for repository.
- * TODO: if values should be configurable, they need to be persisted and read back.
- *
- */
-public class RepositoryPreferences {
-
-	/**
-	 * Number of attempts to connect (with same credentials) before giving up.
-	 * Note that newer ECF using apache HTTPclient has retry by default.
-	 * TODO - make this configurable via a property.
-	 * TODO - consider removing this option
-	 * @return the value 1
-	 */
-	public static int getConnectionRetryCount() {
-		return 1;
-	}
-
-	/**
-	 * Reconnect delay after failure to connect (with same credentials)- in milliseconds.
-	 * Current implementation returns 200ms.
-	 * TODO - make this configurable via a property
-	 * @return the value 200
-	 */
-	public static long getConnectionMsRetryDelay() {
-		return 200;
-	}
-
-	/**
-	 * Number of attempts to connect (with different credentials) before giving up.
-	 * The returned value should be the number of prompts to the user + 1 (for the initial
-	 * attempt with either no, or stored/cached credentials).
-	 * TODO - make this configurable via a property.
-	 * @return the value 4 - resulting in 3 prompts to user
-	 */
-	public static int getLoginRetryCount() {
-		return 4;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatus.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatus.java
deleted file mode 100644
index 67fbb9c..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatus.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.FileNotFoundException;
-import java.net.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ecf.core.identity.IDCreateException;
-import org.eclipse.ecf.filetransfer.BrowseFileTransferException;
-import org.eclipse.ecf.filetransfer.IncomingFileTransferException;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Utility class to transform transport errors into error messages.
- *
- */
-public class RepositoryStatus {
-
-	public static String codeToMessage(int code, String toDownload) {
-		switch (code) {
-			case 400 :
-				return NLS.bind(Messages.TransportErrorTranslator_400, toDownload);
-			case 401 :
-				return NLS.bind(Messages.TransportErrorTranslator_401, toDownload);
-			case 402 :
-				return NLS.bind(Messages.TransportErrorTranslator_402, toDownload);
-			case 403 :
-				return NLS.bind(Messages.TransportErrorTranslator_403, toDownload);
-			case 404 :
-				return NLS.bind(Messages.TransportErrorTranslator_404, toDownload);
-			case 405 :
-				return NLS.bind(Messages.TransportErrorTranslator_405, toDownload);
-			case 406 :
-				return NLS.bind(Messages.TransportErrorTranslator_406, toDownload);
-			case 407 :
-				return NLS.bind(Messages.TransportErrorTranslator_407, toDownload);
-			case 408 :
-				return NLS.bind(Messages.TransportErrorTranslator_408, toDownload);
-			case 409 :
-				return NLS.bind(Messages.TransportErrorTranslator_409, toDownload);
-			case 410 :
-				return NLS.bind(Messages.TransportErrorTranslator_410, toDownload);
-			case 411 :
-				return NLS.bind(Messages.TransportErrorTranslator_411, toDownload);
-			case 412 :
-				return NLS.bind(Messages.TransportErrorTranslator_412, toDownload);
-			case 413 :
-				return NLS.bind(Messages.TransportErrorTranslator_413, toDownload);
-			case 414 :
-				return NLS.bind(Messages.TransportErrorTranslator_414, toDownload);
-			case 415 :
-				return NLS.bind(Messages.TransportErrorTranslator_415, toDownload);
-			case 416 :
-				return NLS.bind(Messages.TransportErrorTranslator_416, toDownload);
-			case 417 :
-				return NLS.bind(Messages.TransportErrorTranslator_417, toDownload);
-			case 418 :
-				return NLS.bind(Messages.TransportErrorTranslator_418, toDownload);
-			case 422 :
-				return NLS.bind(Messages.TransportErrorTranslator_422, toDownload);
-			case 423 :
-				return NLS.bind(Messages.TransportErrorTranslator_423, toDownload);
-			case 424 :
-				return NLS.bind(Messages.TransportErrorTranslator_424, toDownload);
-			case 425 :
-				return NLS.bind(Messages.TransportErrorTranslator_425, toDownload);
-			case 426 :
-				return NLS.bind(Messages.TransportErrorTranslator_426, toDownload);
-			case 449 :
-				return NLS.bind(Messages.TransportErrorTranslator_449, toDownload);
-			case 450 :
-				return NLS.bind(Messages.TransportErrorTranslator_450, toDownload);
-
-			case 500 :
-				return NLS.bind(Messages.TransportErrorTranslator_500, toDownload);
-			case 501 :
-				return NLS.bind(Messages.TransportErrorTranslator_501, toDownload);
-			case 502 :
-				return NLS.bind(Messages.TransportErrorTranslator_502, toDownload);
-			case 503 :
-				return NLS.bind(Messages.TransportErrorTranslator_503, toDownload);
-			case 504 :
-				return NLS.bind(Messages.TransportErrorTranslator_504, toDownload);
-			case 505 :
-				return NLS.bind(Messages.TransportErrorTranslator_505, toDownload);
-			case 506 :
-				return NLS.bind(Messages.TransportErrorTranslator_506, toDownload);
-			case 507 :
-				return NLS.bind(Messages.TransportErrorTranslator_507, toDownload);
-			case 508 :
-				return NLS.bind(Messages.TransportErrorTranslator_508, toDownload);
-			case 510 :
-				return NLS.bind(Messages.TransportErrorTranslator_510, toDownload);
-
-			default :
-				return NLS.bind(Messages.TransportErrorTranslator_UnknownErrorCode, Integer.toString(code), toDownload);
-		}
-	}
-
-	public static DownloadStatus forStatus(IStatus original, URI toDownload) {
-		Throwable t = original.getException();
-		return forException(t, toDownload);
-	}
-
-	public static DownloadStatus forException(Throwable t, URI toDownload) {
-		if (t instanceof FileNotFoundException || (t instanceof IncomingFileTransferException && ((IncomingFileTransferException) t).getErrorCode() == 404))
-			return new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.ARTIFACT_NOT_FOUND, NLS.bind(Messages.artifact_not_found, toDownload), t);
-		if (t instanceof ConnectException)
-			return new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, NLS.bind(Messages.TransportErrorTranslator_UnableToConnectToRepository_0, toDownload), t);
-		if (t instanceof UnknownHostException)
-			return new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_INVALID_LOCATION, NLS.bind(Messages.TransportErrorTranslator_UnknownHost, toDownload), t);
-		if (t instanceof IDCreateException) {
-			IStatus status = ((IDCreateException) t).getStatus();
-			if (status != null && status.getException() != null)
-				t = status.getException();
-
-			return new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_INVALID_LOCATION, NLS.bind(Messages.TransportErrorTranslator_MalformedRemoteFileReference, toDownload), t);
-		}
-		int code = 0;
-
-		// default to report as read repository error
-		int provisionCode = ProvisionException.REPOSITORY_FAILED_READ;
-
-		if (t instanceof IncomingFileTransferException)
-			code = ((IncomingFileTransferException) t).getErrorCode();
-		else if (t instanceof BrowseFileTransferException)
-			code = ((BrowseFileTransferException) t).getErrorCode();
-
-		// Switch on error codes in the HTTP error code range. 
-		// Note that 404 uses ARTIFACT_NOT_FOUND (as opposed to REPOSITORY_NOT_FOUND, which
-		// is determined higher up in the calling chain).
-		if (code == 401)
-			provisionCode = ProvisionException.REPOSITORY_FAILED_AUTHENTICATION;
-		else if (code == 404)
-			provisionCode = ProvisionException.ARTIFACT_NOT_FOUND;
-
-		// Add more specific translation here
-
-		return new DownloadStatus(IStatus.ERROR, Activator.ID, provisionCode, //
-				code == 0 ? NLS.bind(Messages.io_failedRead, toDownload) //
-						: codeToMessage(code, toDownload.toString()), t);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatusHelper.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatusHelper.java
deleted file mode 100644
index 601a2da..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryStatusHelper.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc, and other.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the individual
- * copyright holders listed above, as Initial Contributors under such license.
- * The text of such license is available at www.eclipse.org.
- * Contributors:
- * 	Cloudsmith Inc. - Initial API and implementation
- *  IBM Corporation - Original Implementation of checkPermissionDenied
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.BrowseFileTransferException;
-import org.eclipse.ecf.filetransfer.IncomingFileTransferException;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * RepositoryStatusHelper is a utility class for processing of exceptions and status.
- */
-public abstract class RepositoryStatusHelper {
-
-	private static final long serialVersionUID = 1L;
-	protected static final String SERVER_REDIRECT = "Server redirected too many times"; //$NON-NLS-1$
-
-	public static IStatus createStatus(String nlsMessage, Object arg) {
-		return createExceptionStatus(null, nlsMessage, new Object[] {arg});
-	}
-
-	public static IStatus createStatus(String nlsMessage, Object arg1, Object arg2) {
-		return createExceptionStatus(null, nlsMessage, new Object[] {arg1, arg2});
-	}
-
-	public static IStatus createStatus(String nlsMessage, Object arg1, Object arg2, Object arg3) {
-		return createExceptionStatus(null, nlsMessage, new Object[] {arg1, arg2, arg3});
-	}
-
-	public static IStatus createStatus(String nlsMessage, Object[] args) {
-		return createExceptionStatus(null, nlsMessage, args);
-	}
-
-	public static IStatus createStatus(String nlsMessage) {
-		return createExceptionStatus(null, nlsMessage, new Object[] {});
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause) {
-		return (cause instanceof CoreException) ? ((CoreException) cause).getStatus() : new Status(IStatus.ERROR, Activator.ID, IStatus.OK, cause.getMessage(), cause);
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause, String nlsMessage, Object[] args) {
-		if (args != null && args.length > 0)
-			nlsMessage = NLS.bind(nlsMessage, args);
-		return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, nlsMessage, cause);
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause, String nlsMessage, Object arg1, Object arg2, Object arg3) {
-		return createExceptionStatus(cause, nlsMessage, new Object[] {arg1, arg2, arg3});
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause, String nlsMessage, Object arg1, Object arg2) {
-		return createExceptionStatus(cause, nlsMessage, new Object[] {arg1, arg2});
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause, String nlsMessage, Object arg1) {
-		return createExceptionStatus(cause, nlsMessage, new Object[] {arg1});
-	}
-
-	public static IStatus createExceptionStatus(Throwable cause, String nlsMessage) {
-		return createExceptionStatus(cause, nlsMessage, new Object[] {});
-	}
-
-	public static void deeplyPrint(Throwable e, PrintStream strm, boolean stackTrace) {
-		deeplyPrint(e, strm, stackTrace, 0);
-	}
-
-	public static CoreException fromMessage(String nlsMessage, Object[] args) {
-		return fromExceptionMessage(null, nlsMessage, args);
-	}
-
-	public static CoreException fromMessage(String nlsMessage, Object arg1) {
-		return fromExceptionMessage(null, nlsMessage, new Object[] {arg1});
-	}
-
-	public static CoreException fromMessage(String nlsMessage, Object arg1, Object arg2) {
-		return fromExceptionMessage(null, nlsMessage, new Object[] {arg1, arg2});
-	}
-
-	public static CoreException fromMessage(String nlsMessage, Object arg1, Object arg2, Object arg3) {
-		return fromExceptionMessage(null, nlsMessage, new Object[] {arg1, arg2, arg3});
-	}
-
-	public static CoreException fromMessage(String nlsMessage) {
-		return fromExceptionMessage(null, nlsMessage, new Object[] {});
-	}
-
-	public static CoreException fromExceptionMessage(Throwable cause, String nlsMessage, Object[] args) {
-		CoreException ce = new CoreException(createExceptionStatus(cause, nlsMessage, args));
-		if (cause != null)
-			ce.initCause(cause);
-		return ce;
-	}
-
-	public static CoreException fromExceptionMessage(Throwable cause, String nlsMessage, Object arg1, Object arg2, Object arg3) {
-		return fromExceptionMessage(cause, nlsMessage, new Object[] {arg1, arg2, arg3});
-	}
-
-	public static CoreException fromExceptionMessage(Throwable cause, String nlsMessage, Object arg1, Object arg2) {
-		return fromExceptionMessage(cause, nlsMessage, new Object[] {arg1, arg2});
-	}
-
-	public static CoreException fromExceptionMessage(Throwable cause, String nlsMessage, Object arg1) {
-		return fromExceptionMessage(cause, nlsMessage, new Object[] {arg1});
-	}
-
-	public static CoreException fromExceptionMessage(Throwable cause, String nlsMessage) {
-		return fromExceptionMessage(cause, nlsMessage, new Object[] {});
-	}
-
-	public static Throwable unwind(Throwable t) {
-		for (;;) {
-			Class tc = t.getClass();
-
-			// We don't use instanceof operator since we want
-			// the explicit class, not subclasses.
-			//
-			if (tc != RuntimeException.class && tc != InvocationTargetException.class && tc != IOException.class)
-				break;
-
-			Throwable cause = t.getCause();
-			if (cause == null)
-				break;
-
-			String msg = t.getMessage();
-			if (msg != null && !msg.equals(cause.toString()))
-				break;
-
-			t = cause;
-		}
-		return t;
-	}
-
-	public static CoreException unwindCoreException(CoreException exception) {
-		IStatus status = exception.getStatus();
-		while (status != null && status.getException() instanceof CoreException) {
-			exception = (CoreException) status.getException();
-			status = exception.getStatus();
-		}
-		return exception;
-	}
-
-	public static CoreException wrap(IStatus status) {
-		CoreException e = new CoreException(status);
-		Throwable t = status.getException();
-		if (t != null)
-			e.initCause(t);
-		return e;
-	}
-
-	public static CoreException wrap(Throwable t) {
-		t = unwind(t);
-		if (t instanceof CoreException)
-			return unwindCoreException((CoreException) t);
-
-		if (t instanceof OperationCanceledException || t instanceof InterruptedException)
-			return new CoreException(Status.CANCEL_STATUS);
-
-		String msg = t.toString();
-		return fromExceptionMessage(t, msg);
-	}
-
-	private static void appendLevelString(PrintStream strm, int level) {
-		if (level > 0) {
-			strm.print("[0"); //$NON-NLS-1$
-			for (int idx = 1; idx < level; ++idx) {
-				strm.print('.');
-				strm.print(level);
-			}
-			strm.print(']');
-		}
-	}
-
-	private static void deeplyPrint(CoreException ce, PrintStream strm, boolean stackTrace, int level) {
-		appendLevelString(strm, level);
-		if (stackTrace)
-			ce.printStackTrace(strm);
-		deeplyPrint(ce.getStatus(), strm, stackTrace, level);
-	}
-
-	private static void deeplyPrint(IStatus status, PrintStream strm, boolean stackTrace, int level) {
-		appendLevelString(strm, level);
-		String msg = status.getMessage();
-		strm.println(msg);
-		Throwable cause = status.getException();
-		if (cause != null) {
-			strm.print("Caused by: "); //$NON-NLS-1$
-			if (stackTrace || !(msg.equals(cause.getMessage()) || msg.equals(cause.toString())))
-				deeplyPrint(cause, strm, stackTrace, level);
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				deeplyPrint(children[i], strm, stackTrace, level + 1);
-		}
-	}
-
-	private static void deeplyPrint(Throwable t, PrintStream strm, boolean stackTrace, int level) {
-		if (t instanceof CoreException)
-			deeplyPrint((CoreException) t, strm, stackTrace, level);
-		else {
-			appendLevelString(strm, level);
-			if (stackTrace)
-				t.printStackTrace(strm);
-			else {
-				strm.println(t.toString());
-				Throwable cause = t.getCause();
-				if (cause != null) {
-					strm.print("Caused by: "); //$NON-NLS-1$
-					deeplyPrint(cause, strm, stackTrace, level);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Check if the given exception represents that a switch to the JRE HTTP Client 
-	 * is required. ECF sets the HTTP status code 477 to indicate this.
-	 * If the JRE HTTP client is required a JREHttpClientRequiredException is thrown.
-	 */
-	public static void checkJREHttpClientRequired(Throwable t) throws JREHttpClientRequiredException {
-		if (t instanceof IncomingFileTransferException) {
-			if (((IncomingFileTransferException) t).getErrorCode() == 477)
-				throw new JREHttpClientRequiredException();
-		} else if (t instanceof BrowseFileTransferException) {
-			if (((BrowseFileTransferException) t).getErrorCode() == 477)
-				throw new JREHttpClientRequiredException();
-		}
-
-	}
-
-	/**
-	 * Check if the given exception represents a permission failure (401 for HTTP),
-	 * and throw a AuthenticationFailedException if a permission failure was encountered.
-	 */
-	public static void checkPermissionDenied(Throwable t) throws AuthenticationFailedException {
-		// From Use of File Transfer
-		if (t instanceof IncomingFileTransferException) {
-			if (((IncomingFileTransferException) t).getErrorCode() == 401)
-				throw new AuthenticationFailedException();
-			IStatus status = ((IncomingFileTransferException) t).getStatus();
-			t = status == null ? t : status.getException();
-			// From Use of Browse
-		} else if (t instanceof BrowseFileTransferException) {
-			if (((BrowseFileTransferException) t).getErrorCode() == 401)
-				throw new AuthenticationFailedException();
-			IStatus status = ((BrowseFileTransferException) t).getStatus();
-			t = status == null ? t : status.getException();
-		}
-
-		if (t == null || !(t instanceof IOException))
-			return;
-
-		// TODO: is this needed (for 401) now that ECF throws exceptions with codes?
-		// try to figure out if we have a 401 by parsing the exception message
-		// There is unfortunately no specific (general) exception for "redirected too many times" - which is commonly
-		// caused by a failed login. The message and exception are different in different implementations
-		// of http client.
-		String m = t.getMessage();
-		if (m != null && (m.indexOf(" 401 ") != -1 || m.indexOf(SERVER_REDIRECT) != -1)) //$NON-NLS-1$
-			throw new AuthenticationFailedException();
-		if ("org.apache.commons.httpclient.RedirectException".equals(t.getClass().getName())) //$NON-NLS-1$
-			throw new AuthenticationFailedException();
-	}
-
-	/**
-	 * Translates exceptions representing "FileNotFound" into FileNotFoundException.
-	 * @param t the throwable to check
-	 * @param toDownload the URI the exception was thrown for
-	 * @throws FileNotFoundException if 't' represents a file not found
-	 */
-	public static void checkFileNotFound(Throwable t, URI toDownload) throws FileNotFoundException {
-		if (t instanceof IncomingFileTransferException) {
-			IncomingFileTransferException e = (IncomingFileTransferException) t;
-			if (e.getErrorCode() == 404 || e.getErrorCode() == 403 || e.getErrorCode() == 300)
-				throw new FileNotFoundException(toDownload.toString());
-		}
-		if (t instanceof BrowseFileTransferException) {
-			BrowseFileTransferException e = (BrowseFileTransferException) t;
-			if (e.getErrorCode() == 404 || e.getErrorCode() == 403 || e.getErrorCode() == 300)
-				throw new FileNotFoundException(toDownload.toString());
-		}
-
-		if (t instanceof FileNotFoundException)
-			throw (FileNotFoundException) t;
-		if (t instanceof CoreException) {
-			IStatus status = ((CoreException) t).getStatus();
-			Throwable e = status == null ? null : status.getException();
-			if (e instanceof FileNotFoundException)
-				throw (FileNotFoundException) e;
-		}
-	}
-
-	/**
-	 * Get default "InternalError" ProvisionException.
-	 * @param t
-	 * @return a default "InternalError"
-	 */
-	public static ProvisionException internalError(Throwable t) {
-		return new ProvisionException(new Status(IStatus.ERROR, Activator.ID, //
-				ProvisionException.INTERNAL_ERROR, Messages.repoMan_internalError, t));
-	}
-
-	public static IStatus malformedAddressStatus(String address, Throwable t) {
-		return new Status(IStatus.ERROR, Activator.ID, //
-				ProvisionException.REPOSITORY_INVALID_LOCATION, NLS.bind(Messages.exception_malformedRepoURI, address), t);
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTracing.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTracing.java
deleted file mode 100644
index 203a75a..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTracing.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text or
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-/**
- * TODO: Placeholder class - should have link to p2 tracing for repository debug
- *
- */
-public class RepositoryTracing {
-
-	public static void debug(String string, Object arg) {
-		// TODO Fix logging if debug is turned on
-		// NLS.bind(string, new Object[] {arg});
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTransport.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTransport.java
deleted file mode 100644
index 02d7027..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/RepositoryTransport.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, IBM Corporation and other.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- * 
- * Contributors
- * 	IBM Corporation - Initial API and implementation.
- *  Cloudsmith Inc - Implementation
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.*;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.core.security.ConnectContextFactory;
-import org.eclipse.ecf.core.security.IConnectContext;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.repository.Credentials.LoginCanceledException;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI.AuthenticationInfo;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * RepositoryTransport adapts p2 to ECF file download and file browsing.
- * Download is performed by {@link FileReader}, and file browsing is performed by
- * {@link FileInfoReader}.
- */
-public class RepositoryTransport extends Transport {
-	private static RepositoryTransport instance;
-
-	/**
-	 * Returns an shared instance of Generic Transport
-	 */
-	public static synchronized RepositoryTransport getInstance() {
-		if (instance == null) {
-			instance = new RepositoryTransport();
-		}
-		return instance;
-	}
-
-	/**
-	 * Perform a download, writing into the target output stream. Progress is reported on the
-	 * monitor. If the <code>target</code> is an instance of {@link IStateful} the resulting status
-	 * is also set on the target. An IStateful target is updated with status even if this methods
-	 * throws {@link OperationCanceledException}.
-	 * 
-	 * @returns IStatus, that is a {@link DownloadStatus} on success.
-	 * @param toDownload URI of file to download
-	 * @param target OutputStream where result is written
-	 * @param startPos the starting position of the download, or -1 for from start
-	 * @param monitor where progress should be reported
-	 * @throws OperationCanceledException if the operation was canceled.
-	 */
-	public IStatus download(URI toDownload, OutputStream target, long startPos, IProgressMonitor monitor) {
-
-		boolean promptUser = false;
-		boolean useJREHttp = false;
-		AuthenticationInfo loginDetails = null;
-		for (int i = RepositoryPreferences.getLoginRetryCount(); i > 0; i--) {
-			FileReader reader = null;
-			try {
-				loginDetails = Credentials.forLocation(toDownload, promptUser, loginDetails);
-				IConnectContext context = (loginDetails == null) ? null : ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
-
-				// perform the download
-				reader = new FileReader(context);
-				reader.readInto(toDownload, target, startPos, monitor);
-
-				// check that job ended ok - throw exceptions otherwise
-				IStatus result = reader.getResult();
-				if (result.getSeverity() == IStatus.CANCEL)
-					throw new UserCancelledException();
-				if (!result.isOK())
-					throw new CoreException(result);
-
-				// Download status is expected on success
-				DownloadStatus status = new DownloadStatus(IStatus.OK, Activator.ID, Status.OK_STATUS.getMessage());
-				return statusOn(target, status, reader);
-			} catch (UserCancelledException e) {
-				statusOn(target, new DownloadStatus(IStatus.CANCEL, Activator.ID, 1, "", null), reader); //$NON-NLS-1$
-				throw new OperationCanceledException();
-			} catch (OperationCanceledException e) {
-				statusOn(target, new DownloadStatus(IStatus.CANCEL, Activator.ID, 1, "", null), reader); //$NON-NLS-1$
-				throw e;
-			} catch (CoreException e) {
-				if (e.getStatus().getException() == null)
-					return statusOn(target, RepositoryStatus.forException(e, toDownload), reader);
-				return statusOn(target, RepositoryStatus.forStatus(e.getStatus(), toDownload), reader);
-			} catch (FileNotFoundException e) {
-				return statusOn(target, RepositoryStatus.forException(e, toDownload), reader);
-			} catch (AuthenticationFailedException e) {
-				promptUser = true;
-			} catch (Credentials.LoginCanceledException e) {
-				DownloadStatus status = new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, //
-						NLS.bind(Messages.UnableToRead_0_UserCanceled, toDownload), null);
-				return statusOn(target, status, null);
-			} catch (JREHttpClientRequiredException e) {
-				if (!useJREHttp) {
-					useJREHttp = true; // only do this once
-					i++; // need an extra retry
-					Activator.getDefault().useJREHttpClient();
-				}
-			}
-		}
-		// reached maximum number of retries without success
-		DownloadStatus status = new DownloadStatus(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, //
-				NLS.bind(Messages.UnableToRead_0_TooManyAttempts, toDownload), null);
-		return statusOn(target, status, null);
-	}
-
-	/**
-	 * Perform a download, writing into the target output stream. Progress is reported on the
-	 * monitor. If the <code>target</code> is an instance of {@link IStateful} the resulting status
-	 * is also set on the target.
-	 * 
-	 * @returns IStatus, that is a {@link DownloadStatus} on success.
-	 * @param toDownload URI of file to download
-	 * @param target OutputStream where result is written
-	 * @param monitor where progress should be reported
-	 * @throws OperationCanceledException if the operation was canceled.
-	 */
-	public IStatus download(URI toDownload, OutputStream target, IProgressMonitor monitor) {
-		return download(toDownload, target, -1, monitor);
-	}
-
-	/**
-	 * Perform a stream download, writing into an InputStream that is returned. Performs authentication if needed.
-	 * 
-	 * @returns InputStream a stream with the content from the toDownload URI, or null
-	 * @param toDownload URI of file to download
-	 * @param monitor monitor checked for cancellation
-	 * @throws OperationCanceledException if the operation was canceled.
-	 * @throws AuthenticationFailedException if authentication failed, or too many attempt were made
-	 * @throws FileNotFoundException if the toDownload was reported as non existing
-	 * @throws CoreException on errors
-	 */
-	public InputStream stream(URI toDownload, IProgressMonitor monitor) throws FileNotFoundException, CoreException, AuthenticationFailedException {
-
-		boolean promptUser = false;
-		boolean useJREHttp = false;
-		AuthenticationInfo loginDetails = null;
-		for (int i = RepositoryPreferences.getLoginRetryCount(); i > 0; i--) {
-			FileReader reader = null;
-			try {
-				loginDetails = Credentials.forLocation(toDownload, promptUser, loginDetails);
-				IConnectContext context = (loginDetails == null) ? null : ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
-
-				// perform the streamed download
-				reader = new FileReader(context);
-				return reader.read(toDownload, monitor);
-			} catch (UserCancelledException e) {
-				throw new OperationCanceledException();
-			} catch (AuthenticationFailedException e) {
-				promptUser = true;
-			} catch (CoreException e) {
-				// must translate this core exception as it is most likely not informative to a user
-				if (e.getStatus().getException() == null)
-					throw new CoreException(RepositoryStatus.forException(e, toDownload));
-				throw new CoreException(RepositoryStatus.forStatus(e.getStatus(), toDownload));
-			} catch (LoginCanceledException e) {
-				// i.e. same behavior when user cancels as when failing n attempts.
-				throw new AuthenticationFailedException();
-			} catch (JREHttpClientRequiredException e) {
-				if (!useJREHttp) {
-					useJREHttp = true; // only do this once
-					i++; // need an extra retry
-					Activator.getDefault().useJREHttpClient();
-				}
-			}
-		}
-		throw new AuthenticationFailedException();
-	}
-
-	/**
-	 * Set the status on the output stream if it implements IStateful. 
-	 * Update the DownloadStatus with information from FileReader.
-	 * @param target an OutputStream possibly implementing IStateful
-	 * @param status a DownloadStatus configured with status message, code, etc
-	 * @param reader a FileReade that was used to download (or null if not known).
-	 * @throws OperationCanceledException if the operation was canceled by the user.
-	 * @return the configured DownloadStatus status.
-	 */
-	private static DownloadStatus statusOn(OutputStream target, DownloadStatus status, FileReader reader) {
-		if (reader != null) {
-			FileInfo fi = reader.getLastFileInfo();
-			if (fi != null) {
-				status.setFileSize(fi.getSize());
-				status.setLastModified(fi.getLastModified());
-				status.setTransferRate(fi.getAverageSpeed());
-			}
-		}
-		if (target instanceof IStateful)
-			((IStateful) target).setStatus(status);
-		return status;
-	}
-
-	/**
-	 * Returns the last modified date for a URI. A last modified of 0 typically indicates that
-	 * the server response is wrong, but should not be interpreted as a file not found.
-	 * @param toDownload
-	 * @param monitor
-	 * @throws OperationCanceledException if the operation was canceled by the user.
-	 * @return last modified date (possibly 0)
-	 */
-	public long getLastModified(URI toDownload, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException {
-		boolean promptUser = false;
-		boolean useJREHttp = false;
-		AuthenticationInfo loginDetails = null;
-		for (int i = RepositoryPreferences.getLoginRetryCount(); i > 0; i--) {
-			try {
-				loginDetails = Credentials.forLocation(toDownload, promptUser, loginDetails);
-				IConnectContext context = (loginDetails == null) ? null : ConnectContextFactory.createUsernamePasswordConnectContext(loginDetails.getUserName(), loginDetails.getPassword());
-				// get the remote info
-				FileInfoReader reader = new FileInfoReader(context);
-				return reader.getLastModified(toDownload, monitor);
-			} catch (UserCancelledException e) {
-				throw new OperationCanceledException();
-			} catch (CoreException e) {
-				// must translate this core exception as it is most likely not informative to a user
-				if (e.getStatus().getException() == null)
-					throw new CoreException(RepositoryStatus.forException(e, toDownload));
-				throw new CoreException(RepositoryStatus.forStatus(e.getStatus(), toDownload));
-			} catch (AuthenticationFailedException e) {
-				promptUser = true;
-			} catch (LoginCanceledException e) {
-				// same behavior as if user failed n attempts.
-				throw new AuthenticationFailedException();
-			} catch (JREHttpClientRequiredException e) {
-				if (!useJREHttp) {
-					useJREHttp = true; // only do this once
-					i++; // need an extra retry
-					Activator.getDefault().useJREHttpClient();
-				}
-			}
-
-		}
-		// reached maximum number of authentication retries without success
-		throw new AuthenticationFailedException();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Transport.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Transport.java
deleted file mode 100644
index 6eba11a..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/Transport.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository;
-
-import java.io.OutputStream;
-import java.net.URI;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public abstract class Transport {
-
-	/**
-	 * @param toDownload
-	 * @param target
-	 * @param pm
-	 * @return IStatus describing outcome of the download
-	 */
-	public abstract IStatus download(URI toDownload, OutputStream target, IProgressMonitor pm);
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
deleted file mode 100644
index cc53eac..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
+++ /dev/null
@@ -1,1090 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository.helpers;
-
-import java.lang.ref.SoftReference;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.IPreferencesService;
-import org.eclipse.equinox.internal.p2.core.Activator;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.security.storage.EncodingUtils;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Common code shared between artifact and metadata repository managers.
- */
-public abstract class AbstractRepositoryManager implements IRepositoryManager, ProvisioningListener {
-	protected static class RepositoryInfo {
-		public String description;
-		public boolean isEnabled = true;
-		public boolean isSystem = false;
-		public URI location;
-		public String name;
-		public String nickname;
-		public SoftReference repository;
-		public String suffix;
-
-		public RepositoryInfo() {
-			super();
-		}
-	}
-
-	public static final String ATTR_SUFFIX = "suffix"; //$NON-NLS-1$
-	public static final String EL_FACTORY = "factory"; //$NON-NLS-1$
-	public static final String EL_FILTER = "filter"; //$NON-NLS-1$
-	public static final String KEY_DESCRIPTION = "description"; //$NON-NLS-1$
-	public static final String KEY_ENABLED = "enabled"; //$NON-NLS-1$
-	public static final String KEY_NAME = "name"; //$NON-NLS-1$
-	public static final String KEY_NICKNAME = "nickname"; //$NON-NLS-1$
-	public static final String KEY_PROVIDER = "provider"; //$NON-NLS-1$
-	public static final String KEY_SUFFIX = "suffix"; //$NON-NLS-1$
-	public static final String KEY_SYSTEM = "isSystem"; //$NON-NLS-1$
-	public static final String KEY_TYPE = "type"; //$NON-NLS-1$
-	public static final String KEY_URI = "uri"; //$NON-NLS-1$
-	public static final String KEY_URL = "url"; //$NON-NLS-1$
-	public static final String KEY_VERSION = "version"; //$NON-NLS-1$
-
-	public static final String NODE_REPOSITORIES = "repositories"; //$NON-NLS-1$
-
-	/**
-	 * Map of String->RepositoryInfo, where String is the repository key
-	 * obtained via getKey(URI).
-	 */
-	protected Map repositories = null;
-
-	//lock object to be held when referring to the repositories field
-	protected final Object repositoryLock = new Object();
-
-	/**
-	 * Cache List of repositories that are not reachable. Maintain cache
-	 * for short duration because repository may become available at any time.
-	 */
-	protected SoftReference unavailableRepositories;
-
-	/**
-	 * Set used to manage exclusive load locks on repository locations.
-	 */
-	private Map loadLocks = new HashMap();
-	protected IProvisioningEventBus eventBus;
-	private IAgentLocation agentLocation;
-
-	protected AbstractRepositoryManager() {
-		super();
-	}
-
-	/**
-	 * Adds a repository to the list of known repositories
-	 * @param repository the repository object to add
-	 * @param signalAdd whether a repository change event should be fired
-	 * @param suffix the suffix used to load the repository, or <code>null</code> if unknown
-	 */
-	protected void addRepository(IRepository repository, boolean signalAdd, String suffix) {
-		boolean added = false;
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			String key = getKey(repository.getLocation());
-			RepositoryInfo info = (RepositoryInfo) repositories.get(key);
-			if (info == null) {
-				info = new RepositoryInfo();
-				added = true;
-				repositories.put(key, info);
-			}
-			info.repository = new SoftReference(repository);
-			info.name = repository.getName();
-			info.description = repository.getDescription();
-			info.location = repository.getLocation();
-			String value = (String) repository.getProperties().get(IRepository.PROP_SYSTEM);
-			if (value != null)
-				info.isSystem = Boolean.valueOf(value).booleanValue();
-			info.suffix = suffix;
-		}
-		// save the given repository in the preferences.
-		remember(repository, suffix);
-		if (added && signalAdd)
-			broadcastChangeEvent(repository.getLocation(), IRepository.TYPE_METADATA, RepositoryEvent.ADDED, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#addRepository(java.net.URI)
-	 */
-	public void addRepository(URI location) {
-		checkValidLocation(location);
-		//add the repository, or enable it if already known
-		if (!addRepository(location, true, true))
-			setEnabled(location, true);
-	}
-
-	/**
-	 * Adds the repository to the list of known repositories. 
-	 * @param location The repository location
-	 * @param isEnabled Whether the repository should be enabled
-	 * @param signalAdd Whether a repository add event should be broadcast
-	 * @return <code>true</code> if the repository was actually added, and 
-	 * <code>false</code> otherwise.
-	 */
-	private boolean addRepository(URI location, boolean isEnabled, boolean signalAdd) {
-		RepositoryInfo info = new RepositoryInfo();
-		info.location = location;
-		info.isEnabled = isEnabled;
-		boolean added = true;
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			if (contains(location))
-				return false;
-			added = repositories.put(getKey(location), info) == null;
-			// save the given repository in the preferences.
-			remember(info, true);
-		}
-		if (added && signalAdd)
-			broadcastChangeEvent(location, getRepositoryType(), RepositoryEvent.ADDED, isEnabled);
-		return added;
-	}
-
-	protected IRepository basicGetRepository(URI location) {
-		checkValidLocation(location);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info == null || info.repository == null)
-				return null;
-			IRepository repo = (IRepository) info.repository.get();
-			//update our repository info because the repository may have changed
-			if (repo != null)
-				addRepository(repo, false, null);
-			return repo;
-		}
-	}
-
-	public IRepository basicRefreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
-		checkValidLocation(location);
-		clearNotFound(location);
-		boolean wasEnabled = isEnabled(location);
-		String nick = getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		//remove the repository so  event is broadcast and repositories can clear their caches
-		if (!removeRepository(location))
-			fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-		boolean loaded = false;
-		try {
-			IRepository result = loadRepository(location, monitor, null, 0);
-			loaded = true;
-			setEnabled(location, wasEnabled);
-			return result;
-		} finally {
-			//if we failed to load, make sure the repository is not lost
-			if (!loaded)
-				addRepository(location, wasEnabled, true);
-			if (nick != null)
-				setRepositoryProperty(location, IRepository.PROP_NICKNAME, nick);
-		}
-	}
-
-	private void broadcastChangeEvent(URI location, int repositoryType, int kind, boolean isEnabled) {
-		if (eventBus != null)
-			eventBus.publishEvent(new RepositoryEvent(location, repositoryType, kind, isEnabled));
-	}
-
-	/**
-	 * Check if we recently attempted to load the given location and failed
-	 * to find anything. Returns <code>true</code> if the repository was not
-	 * found, and <code>false</code> otherwise.
-	 */
-	private boolean checkNotFound(URI location) {
-		if (unavailableRepositories == null)
-			return false;
-		List badRepos = (List) unavailableRepositories.get();
-		if (badRepos == null)
-			return false;
-		return badRepos.contains(location);
-	}
-
-	/**
-	 * Clear the fact that we tried to load a repository at this location and did not find anything.
-	 */
-	private void clearNotFound(URI location) {
-		List badRepos;
-		if (unavailableRepositories != null) {
-			badRepos = (List) unavailableRepositories.get();
-			if (badRepos != null) {
-				badRepos.remove(location);
-				return;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#contains(java.net.URI)
-	 */
-	public boolean contains(URI location) {
-		checkValidLocation(location);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			return repositories.containsKey(getKey(location));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager#createRepository(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
-	 */
-	protected IRepository doCreateRepository(URI location, String name, String type, Map properties) throws ProvisionException {
-		checkValidLocation(location);
-		Assert.isNotNull(name);
-		Assert.isNotNull(type);
-		IRepository result = null;
-		try {
-			enterLoad(location, new NullProgressMonitor());
-			boolean loaded = false;
-			try {
-				//repository should not already exist
-				loadRepository(location, (IProgressMonitor) null, type, 0);
-				loaded = true;
-			} catch (ProvisionException e) {
-				//expected - fall through and create the new repository
-			}
-			if (loaded)
-				fail(location, ProvisionException.REPOSITORY_EXISTS);
-
-			IExtension extension = RegistryFactory.getRegistry().getExtension(getRepositoryProviderExtensionPointId(), type);
-			if (extension == null)
-				fail(location, ProvisionException.REPOSITORY_UNKNOWN_TYPE);
-			//		MetadataRepositoryFactory factory = (MetadataRepositoryFactory) createExecutableExtension(extension, EL_FACTORY);
-			//		if (factory == null)
-			//			fail(location, ProvisionException.REPOSITORY_FAILED_READ);
-			result = factoryCreate(location, name, type, properties, extension);
-			if (result == null)
-				fail(location, ProvisionException.REPOSITORY_FAILED_READ);
-			clearNotFound(location);
-			addRepository(result, false, null);
-		} finally {
-			exitLoad(location);
-		}
-		//fire event after releasing load lock
-		broadcastChangeEvent(location, getRepositoryType(), RepositoryEvent.ADDED, true);
-		return result;
-	}
-
-	/**
-	 * Returns the executable extension, or <code>null</code> if there
-	 * was no corresponding extension, or an error occurred loading it
-	 */
-	protected Object createExecutableExtension(IExtension extension, String element) {
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-		CoreException failure = null;
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i].getName().equals(element)) {
-				try {
-					return elements[i].createExecutableExtension("class"); //$NON-NLS-1$
-				} catch (CoreException e) {
-					log("Error loading repository extension: " + extension.getUniqueIdentifier(), failure); //$NON-NLS-1$
-					return null;
-				}
-			}
-		}
-		log("Malformed repository extension: " + extension.getUniqueIdentifier(), null); //$NON-NLS-1$
-		return null;
-	}
-
-	/**
-	 * Obtains an exclusive right to load a repository at the given location. Blocks
-	 * if another thread is currently loading at that location. Invocation of this
-	 * method must be followed by a subsequent call to {@link #exitLoad(URI)}.
-	 * 
-	 * To avoid deadlock between the loadLock and repositoryLock, this method
-	 * must not be called when repositoryLock is held.
-	 * 
-	 * @param location The location to lock
-	 */
-	private void enterLoad(URI location, IProgressMonitor monitor) {
-		Thread current = Thread.currentThread();
-		synchronized (loadLocks) {
-			while (true) {
-				Thread owner = (Thread) loadLocks.get(location);
-				if (owner == null || current.equals(owner))
-					break;
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				try {
-					loadLocks.wait(1000);
-				} catch (InterruptedException e) {
-					//keep trying
-				}
-			}
-			loadLocks.put(location, current);
-		}
-	}
-
-	/**
-	 * Relinquishes the exclusive right to load a repository at the given location. Unblocks
-	 * other threads waiting to load at that location.
-	 * @param location The location to unlock
-	 */
-	private void exitLoad(URI location) {
-		synchronized (loadLocks) {
-			loadLocks.remove(location);
-			loadLocks.notifyAll();
-		}
-	}
-
-	/**
-	 * Creates and returns a repository using the given repository factory extension. Returns
-	 * null if no factory could be found associated with that extension.
-	 */
-	protected abstract IRepository factoryCreate(URI location, String name, String type, Map properties, IExtension extension) throws ProvisionException;
-
-	/**
-	 * Loads and returns a repository using the given repository factory extension. Returns
-	 * null if no factory could be found associated with that extension.
-	 */
-	protected abstract IRepository factoryLoad(URI location, IExtension extension, int flags, SubMonitor monitor) throws ProvisionException;
-
-	private void fail(URI location, int code) throws ProvisionException {
-		String msg = null;
-		switch (code) {
-			case ProvisionException.REPOSITORY_EXISTS :
-				msg = NLS.bind(Messages.repoMan_exists, location);
-				break;
-			case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
-				msg = NLS.bind(Messages.repoMan_unknownType, location);
-				break;
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				msg = NLS.bind(Messages.repoMan_failedRead, location);
-				break;
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				msg = NLS.bind(Messages.repoMan_notExists, location);
-				break;
-			case ProvisionException.REPOSITORY_FAILED_AUTHENTICATION :
-				msg = NLS.bind(Messages.repoManAuthenticationFailedFor_0, location);
-				break;
-		}
-		if (msg == null)
-			msg = Messages.repoMan_internalError;
-		throw new ProvisionException(new Status(IStatus.ERROR, getBundleId(), code, msg, null));
-	}
-
-	protected IExtension[] findMatchingRepositoryExtensions(String suffix, String type) {
-		IConfigurationElement[] elt = null;
-		if (type != null && type.length() > 0) {
-			IExtension ext = RegistryFactory.getRegistry().getExtension(getRepositoryProviderExtensionPointId(), type);
-			elt = (ext != null) ? ext.getConfigurationElements() : new IConfigurationElement[0];
-		} else {
-			elt = RegistryFactory.getRegistry().getConfigurationElementsFor(getRepositoryProviderExtensionPointId());
-		}
-		int count = 0;
-		for (int i = 0; i < elt.length; i++) {
-			if (EL_FILTER.equals(elt[i].getName())) {
-				if (!suffix.equals(elt[i].getAttribute(ATTR_SUFFIX))) {
-					elt[i] = null;
-				} else {
-					count++;
-				}
-			} else {
-				elt[i] = null;
-			}
-		}
-		IExtension[] results = new IExtension[count];
-		for (int i = 0; i < elt.length; i++) {
-			if (elt[i] != null)
-				results[--count] = elt[i].getDeclaringExtension();
-		}
-		return results;
-	}
-
-	protected String[] getAllSuffixes() {
-		IConfigurationElement[] elements = RegistryFactory.getRegistry().getConfigurationElementsFor(getRepositoryProviderExtensionPointId());
-		ArrayList result = new ArrayList(elements.length);
-		result.add(getDefaultSuffix());
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i].getName().equals(EL_FILTER)) {
-				String suffix = elements[i].getAttribute(ATTR_SUFFIX);
-				if (!result.contains(suffix))
-					result.add(suffix);
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/**
-	 * Returns the bundle id of the bundle that provides the concrete repository manager
-	 * @return a symbolic bundle id
-	 */
-	protected abstract String getBundleId();
-
-	/**
-	 * Returns the default repository suffix. This is used to ensure a particular
-	 * repository type is preferred over all others.
-	 */
-	protected abstract String getDefaultSuffix();
-
-	/*
-	 * Return a string key based on the given repository location which
-	 * is suitable for use as a preference node name.
-	 * TODO: convert local file system URI to canonical form
-	 */
-	private String getKey(URI location) {
-		String key = location.toString().replace('/', '_');
-		//remove trailing slash
-		if (key.endsWith("_")) //$NON-NLS-1$
-			key = key.substring(0, key.length() - 1);
-		return key;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#getKnownRepositories(int)
-	 */
-	public URI[] getKnownRepositories(int flags) {
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			ArrayList result = new ArrayList();
-			int i = 0;
-			for (Iterator it = repositories.values().iterator(); it.hasNext(); i++) {
-				RepositoryInfo info = (RepositoryInfo) it.next();
-				if (matchesFlags(info, flags))
-					result.add(info.location);
-			}
-			return (URI[]) result.toArray(new URI[result.size()]);
-		}
-	}
-
-	/**
-	 * Return the preference node which is the root for where we store the repository information.
-	 * Returns <code>null</code> if no preferences are available
-	 */
-	Preferences getPreferences() {
-		if (agentLocation == null)
-			return null;
-		IPreferencesService prefService = (IPreferencesService) ServiceHelper.getService(Activator.getContext(), IPreferencesService.class.getName());
-		try {
-			//see ProfileScope for preference path format
-			String locationString = EncodingUtils.encodeSlashes(agentLocation.getRootLocation().toString());
-			return prefService.getRootNode().node("/profile/" + locationString + "/_SELF_/" + getBundleId() + '/' + NODE_REPOSITORIES); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (IllegalArgumentException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Restores a repository location from the preferences.
-	 */
-	private URI getRepositoryLocation(Preferences node) {
-		//prefer the location stored in URI form
-		String locationString = node.get(KEY_URI, null);
-		try {
-			if (locationString != null) {
-				URI result = new URI(locationString);
-				if (result.isAbsolute())
-					return result;
-				log("Invalid repository URI: " + locationString, new RuntimeException()); //$NON-NLS-1$
-			}
-		} catch (URISyntaxException e) {
-			log("Error while restoring repository: " + locationString, e); //$NON-NLS-1$
-		}
-		//we used to store the repository as a URL, so try old key for backwards compatibility
-		locationString = node.get(KEY_URL, null);
-		try {
-			if (locationString != null) {
-				URI result = URIUtil.toURI(new URL(locationString));
-				if (result.isAbsolute())
-					return result;
-				log("Invalid repository URL: " + locationString, new RuntimeException()); //$NON-NLS-1$
-			}
-		} catch (MalformedURLException e) {
-			log("Error while restoring repository: " + locationString, e); //$NON-NLS-1$
-		} catch (URISyntaxException e) {
-			log("Error while restoring repository: " + locationString, e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/*(non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#getRepositoryProperty(java.net.URI, java.lang.String)
-	 */
-	public String getRepositoryProperty(URI location, String key) {
-		checkValidLocation(location);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info == null)
-				return null;// Repository not found
-			if (IRepository.PROP_DESCRIPTION.equals(key))
-				return info.description;
-			else if (IRepository.PROP_NAME.equals(key))
-				return info.name;
-			else if (IRepository.PROP_SYSTEM.equals(key))
-				return Boolean.toString(info.isSystem);
-			else if (IRepository.PROP_NICKNAME.equals(key))
-				return info.nickname;
-			// Key not known, return null
-			return null;
-		}
-	}
-
-	/*(non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#getRepositoryProperty(java.net.URI, java.lang.String)
-	 */
-	public void setRepositoryProperty(URI location, String key, String value) {
-		checkValidLocation(location);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info == null)
-				return;// Repository not found
-			if (IRepository.PROP_DESCRIPTION.equals(key))
-				info.description = value;
-			else if (IRepository.PROP_NAME.equals(key))
-				info.name = value;
-			else if (IRepository.PROP_NICKNAME.equals(key))
-				info.nickname = value;
-			else if (IRepository.PROP_SYSTEM.equals(key))
-				//only true if value.equals("true") which is OK because a repository is only system if it's explicitly set to system.
-				info.isSystem = Boolean.valueOf(value).booleanValue();
-			remember(info, true);
-		}
-	}
-
-	/**
-	 * Returns the fully qualified id of the repository provider extension point.
-	 */
-	protected abstract String getRepositoryProviderExtensionPointId();
-
-	/**
-	 * Returns the system property used to specify additional repositories to be
-	 * automatically added to the list of known repositories.
-	 */
-	protected abstract String getRepositorySystemProperty();
-
-	/**
-	 * Returns the repository type stored in this manager.
-	 */
-	protected abstract int getRepositoryType();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#isEnabled(java.net.URI)
-	 */
-	public boolean isEnabled(URI location) {
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info != null)
-				return info.isEnabled;
-			// Repository not found, return false
-			return false;
-		}
-	}
-
-	protected IRepository loadRepository(URI location, IProgressMonitor monitor, String type, int flags) throws ProvisionException {
-		checkValidLocation(location);
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		boolean added = false;
-		IRepository result = null;
-
-		try {
-			enterLoad(location, monitor);
-			result = basicGetRepository(location);
-			if (result != null)
-				return result;
-			if (checkNotFound(location))
-				fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-			//add the repository first so that it will be enabled, but don't send add event until after the load
-			added = addRepository(location, true, false);
-			String[] suffixes = sortSuffixes(getAllSuffixes(), location);
-			SubMonitor sub = SubMonitor.convert(monitor, NLS.bind(Messages.repoMan_adding, location), suffixes.length * 100);
-			ProvisionException failure = null;
-			try {
-				for (int i = 0; i < suffixes.length; i++) {
-					if (sub.isCanceled())
-						throw new OperationCanceledException();
-					try {
-						result = loadRepository(location, suffixes[i], type, flags, sub.newChild(100));
-					} catch (ProvisionException e) {
-						failure = e;
-						break;
-					}
-					if (result != null) {
-						addRepository(result, false, suffixes[i]);
-						break;
-					}
-				}
-			} finally {
-				sub.done();
-			}
-			if (result == null) {
-				//if we just added the repository, remove it because it cannot be loaded
-				if (added)
-					removeRepository(location, false);
-				//eagerly cleanup missing system repositories
-				if (Boolean.valueOf(getRepositoryProperty(location, IRepository.PROP_SYSTEM)).booleanValue())
-					removeRepository(location);
-				else if (failure == null || failure.getStatus().getCode() != ProvisionException.REPOSITORY_FAILED_AUTHENTICATION)
-					rememberNotFound(location);
-				if (failure != null)
-					throw failure;
-				fail(location, ProvisionException.REPOSITORY_NOT_FOUND);
-			}
-		} finally {
-			exitLoad(location);
-		}
-		//broadcast the add event after releasing lock
-		if (added)
-			broadcastChangeEvent(location, IRepository.TYPE_METADATA, RepositoryEvent.ADDED, true);
-		return result;
-	}
-
-	/**
-	 * Basic sanity checking on location argument
-	 */
-	private URI checkValidLocation(URI location) {
-		if (location == null)
-			throw new IllegalArgumentException("Location cannot be null"); //$NON-NLS-1$
-		if (!location.isAbsolute())
-			throw new IllegalArgumentException("Location must be absolute: " + location); //$NON-NLS-1$
-		return location;
-	}
-
-	private IRepository loadRepository(URI location, String suffix, String type, int flags, SubMonitor monitor) throws ProvisionException {
-		IExtension[] providers = findMatchingRepositoryExtensions(suffix, type);
-		// Loop over the candidates and return the first one that successfully loads
-		monitor.beginTask("", providers.length * 10); //$NON-NLS-1$
-		for (int i = 0; i < providers.length; i++)
-			try {
-				IRepository repo = factoryLoad(location, providers[i], flags, monitor);
-				if (repo != null)
-					return repo;
-			} catch (ProvisionException e) {
-				if (e.getStatus().getCode() != ProvisionException.REPOSITORY_NOT_FOUND)
-					throw e;
-			} catch (OperationCanceledException e) {
-				//always propagate cancelation
-				throw e;
-			} catch (Exception e) {
-				//catch and log unexpected errors and move onto the next factory
-				log("Unexpected error loading extension: " + providers[i].getUniqueIdentifier(), e); //$NON-NLS-1$
-			} catch (LinkageError e) {
-				//catch and log unexpected errors and move onto the next factory
-				log("Unexpected error loading extension: " + providers[i].getUniqueIdentifier(), e); //$NON-NLS-1$
-			}
-		return null;
-	}
-
-	protected void log(String message, Throwable t) {
-		LogHelper.log(new Status(IStatus.ERROR, getBundleId(), message, t));
-	}
-
-	private boolean matchesFlags(RepositoryInfo info, int flags) {
-		if ((flags & REPOSITORIES_SYSTEM) == REPOSITORIES_SYSTEM)
-			if (!info.isSystem)
-				return false;
-		if ((flags & REPOSITORIES_NON_SYSTEM) == REPOSITORIES_NON_SYSTEM)
-			if (info.isSystem)
-				return false;
-		if ((flags & REPOSITORIES_DISABLED) == REPOSITORIES_DISABLED) {
-			if (info.isEnabled)
-				return false;
-		} else {
-			//ignore disabled repositories for all other flag types
-			if (!info.isEnabled)
-				return false;
-		}
-		if ((flags & REPOSITORIES_LOCAL) == REPOSITORIES_LOCAL)
-			return "file".equals(info.location.getScheme()) || info.location.toString().startsWith("jar:file"); //$NON-NLS-1$ //$NON-NLS-2$
-		return true;
-	}
-
-	/*(non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener#notify(java.util.EventObject)
-	 */
-	public void notify(EventObject o) {
-		if (o instanceof RepositoryEvent) {
-			RepositoryEvent event = (RepositoryEvent) o;
-			if (event.getKind() == RepositoryEvent.DISCOVERED && event.getRepositoryType() == getRepositoryType())
-				addRepository(event.getRepositoryLocation(), event.isRepositoryEnabled(), true);
-		}
-	}
-
-	/**
-	 * Sets a preference and returns <code>true</code> if the preference
-	 * was actually changed.
-	 */
-	protected boolean putValue(Preferences node, String key, String newValue) {
-		String oldValue = node.get(key, null);
-		if (oldValue == newValue || (oldValue != null && oldValue.equals(newValue)))
-			return false;
-		if (newValue == null)
-			node.remove(key);
-		else
-			node.put(key, newValue);
-		return true;
-	}
-
-	/*
-	 * Add the given repository object to the preferences and save.
-	 */
-	private void remember(IRepository repository, String suffix) {
-		boolean changed = false;
-		Preferences node = getPreferences();
-		// Ensure we retrieved preferences
-		if (node == null)
-			return;
-		node = node.node(getKey(repository.getLocation()));
-
-		try {
-			changed |= putValue(node, KEY_URI, repository.getLocation().toString());
-			changed |= putValue(node, KEY_URL, null);
-			changed |= putValue(node, KEY_DESCRIPTION, repository.getDescription());
-			changed |= putValue(node, KEY_NAME, repository.getName());
-			changed |= putValue(node, KEY_PROVIDER, repository.getProvider());
-			changed |= putValue(node, KEY_TYPE, repository.getType());
-			changed |= putValue(node, KEY_VERSION, repository.getVersion());
-			//allow repository manager to define system property if it is undefined in the repository itself
-			String value = (String) repository.getProperties().get(IRepository.PROP_SYSTEM);
-			if (value != null)
-				changed |= putValue(node, KEY_SYSTEM, value);
-			changed |= putValue(node, KEY_SUFFIX, suffix);
-			if (changed)
-				saveToPreferences();
-		} catch (IllegalStateException e) {
-			//the repository was removed concurrently, so we don't need to save it
-		}
-	}
-
-	/**
-	 * Writes the state of the repository information into the appropriate preference node.
-	 * 
-	 * @param info The info to write to the preference node
-	 * @param flush <code>true</code> if the preference node should be flushed to
-	 * disk, and <code>false</code> otherwise
-	 */
-	private boolean remember(RepositoryInfo info, boolean flush) {
-		boolean changed = false;
-		Preferences node = getPreferences();
-		// Ensure we retrieved preferences
-		if (node == null)
-			return changed;
-		node = node.node(getKey(info.location));
-		try {
-			changed |= putValue(node, KEY_URI, info.location.toString());
-			changed |= putValue(node, KEY_URL, null);
-			changed |= putValue(node, KEY_SYSTEM, Boolean.toString(info.isSystem));
-			changed |= putValue(node, KEY_DESCRIPTION, info.description);
-			changed |= putValue(node, KEY_NAME, info.name);
-			changed |= putValue(node, KEY_NICKNAME, info.nickname);
-			changed |= putValue(node, KEY_SUFFIX, info.suffix);
-			changed |= putValue(node, KEY_ENABLED, Boolean.toString(info.isEnabled));
-			if (changed && flush)
-				saveToPreferences();
-			return changed;
-		} catch (IllegalStateException e) {
-			//the repository was removed concurrently, so we don't need to save it
-			return false;
-		}
-	}
-
-	/**
-	 * Cache the fact that we tried to load a repository at this location and did not find anything.
-	 */
-	private void rememberNotFound(URI location) {
-		List badRepos;
-		if (unavailableRepositories != null) {
-			badRepos = (List) unavailableRepositories.get();
-			if (badRepos != null) {
-				badRepos.add(location);
-				return;
-			}
-		}
-		badRepos = new ArrayList();
-		badRepos.add(location);
-		unavailableRepositories = new SoftReference(badRepos);
-	}
-
-	public boolean removeRepository(URI toRemove) {
-		return removeRepository(checkValidLocation(toRemove), true);
-	}
-
-	private boolean removeRepository(URI toRemove, boolean signalRemove) {
-		Assert.isNotNull(toRemove);
-		final String repoKey = getKey(toRemove);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			if (repositories.remove(repoKey) == null)
-				return false;
-		}
-		// remove the repository from the preference store
-		try {
-			if (Tracing.DEBUG_REMOVE_REPO) {
-				String msg = "Removing repository: " + toRemove; //$NON-NLS-1$
-				Tracing.debug(msg);
-				new Exception(msg).printStackTrace();
-			}
-			Preferences node = getPreferences();
-			if (node != null) {
-				node.node(repoKey).removeNode();
-				saveToPreferences();
-			}
-			clearNotFound(toRemove);
-		} catch (BackingStoreException e) {
-			log("Error saving preferences", e); //$NON-NLS-1$
-		}
-		//TODO: compute and pass appropriate isEnabled flag
-		if (signalRemove)
-			broadcastChangeEvent(toRemove, getRepositoryType(), RepositoryEvent.REMOVED, true);
-		return true;
-	}
-
-	/*
-	 * Load the list of repositories from the preferences.
-	 */
-	private void restoreFromPreferences() {
-		// restore the list of repositories from the preference store
-		Preferences node = getPreferences();
-		if (node == null)
-			return;
-		String[] children;
-		try {
-			children = node.childrenNames();
-		} catch (BackingStoreException e) {
-			log("Error restoring repositories from preferences", e); //$NON-NLS-1$
-			return;
-		}
-		for (int i = 0; i < children.length; i++) {
-			Preferences child = node.node(children[i]);
-			URI location = getRepositoryLocation(child);
-			if (location == null) {
-				try {
-					child.removeNode();
-					continue;
-				} catch (BackingStoreException e) {
-					log("Error removing invalid repository", e); //$NON-NLS-1$
-				}
-			}
-			RepositoryInfo info = new RepositoryInfo();
-			info.location = location;
-			info.name = child.get(KEY_NAME, null);
-			info.nickname = child.get(KEY_NICKNAME, null);
-			info.description = child.get(KEY_DESCRIPTION, null);
-			info.isSystem = child.getBoolean(KEY_SYSTEM, false);
-			info.isEnabled = child.getBoolean(KEY_ENABLED, true);
-			info.suffix = child.get(KEY_SUFFIX, null);
-			repositories.put(getKey(info.location), info);
-		}
-		// now that we have loaded everything, remember them
-		saveToPreferences();
-	}
-
-	private void restoreFromSystemProperty() {
-		String locationString = Activator.getContext().getProperty(getRepositorySystemProperty());
-		if (locationString != null) {
-			StringTokenizer tokenizer = new StringTokenizer(locationString, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				try {
-					addRepository(new URI(tokenizer.nextToken()), true, true);
-				} catch (URISyntaxException e) {
-					log("Error while restoring repository " + locationString, e); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	/**
-	 * Restores the repository list.
-	 */
-	private void restoreRepositories() {
-		synchronized (repositoryLock) {
-			repositories = new HashMap();
-			restoreSpecialRepositories();
-			restoreFromSystemProperty();
-			restoreFromPreferences();
-		}
-	}
-
-	/**
-	 * Hook method to restore special additional repositories.
-	 */
-	protected void restoreSpecialRepositories() {
-		//by default no special repositories
-	}
-
-	/*
-	 * Save the list of repositories to the file-system.
-	 */
-	private void saveToPreferences() {
-		try {
-			Preferences node = getPreferences();
-			if (node != null)
-				node.flush();
-		} catch (BackingStoreException e) {
-			log("Error while saving repositories in preferences", e); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager#setEnabled(java.net.URI, boolean)
-	 */
-	public void setEnabled(URI location, boolean enablement) {
-		checkValidLocation(location);
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info == null || info.isEnabled == enablement)
-				return;
-			info.isEnabled = enablement;
-			remember(info, true);
-		}
-		broadcastChangeEvent(location, getRepositoryType(), RepositoryEvent.ENABLEMENT, enablement);
-	}
-
-	/**
-	 * Injects the agent location service to be used by this repository manager
-	 * @param location The agent location
-	 */
-	public void setAgentLocation(IAgentLocation location) {
-		this.agentLocation = location;
-	}
-
-	/**
-	 * Injects the event bus service to be used by this repository manager.
-	 * @param bus The event bus being added
-	 */
-	public void setEventBus(IProvisioningEventBus bus) {
-		if (eventBus == bus)
-			return;
-		if (eventBus != null)
-			unsetEventBus(eventBus);
-		this.eventBus = bus;
-		eventBus.addListener(this);
-	}
-
-	/**
-	 * Removes the event bus service used by this repository manager
-	 * @param bus The bus being removed
-	 */
-	public void unsetEventBus(IProvisioningEventBus bus) {
-		if (bus == eventBus) {
-			eventBus.removeListener(this);
-			eventBus = null;
-		}
-	}
-
-	/**
-	 * Shuts down the repository manager.
-	 */
-	public void shutdown() {
-		if (eventBus != null) {
-			eventBus.removeListener(this);
-			eventBus = null;
-		}
-		//ensure all repository state in memory is written to disk
-		boolean changed = false;
-		synchronized (repositoryLock) {
-			if (repositories != null) {
-				for (Iterator it = repositories.values().iterator(); it.hasNext();) {
-					RepositoryInfo info = (RepositoryInfo) it.next();
-					changed |= remember(info, false);
-				}
-			}
-		}
-		if (changed) {
-			if (Tracing.DEBUG)
-				Tracing.debug("Unsaved preferences when shutting down " + getClass().getName()); //$NON-NLS-1$
-			saveToPreferences();
-		}
-		repositories = null;
-		unavailableRepositories = null;
-	}
-
-	/**
-	 * Optimize the order in which repository suffixes are searched by trying 
-	 * the last successfully loaded suffix first.
-	 */
-	private String[] sortSuffixes(String[] suffixes, URI location) {
-		synchronized (repositoryLock) {
-			if (repositories == null)
-				restoreRepositories();
-			RepositoryInfo info = (RepositoryInfo) repositories.get(getKey(location));
-			if (info == null || info.suffix == null)
-				return suffixes;
-			//move lastSuffix to the front of the list but preserve order of remaining entries
-			String lastSuffix = info.suffix;
-			for (int i = 0; i < suffixes.length; i++) {
-				if (lastSuffix.equals(suffixes[i])) {
-					System.arraycopy(suffixes, 0, suffixes, 1, i);
-					suffixes[0] = lastSuffix;
-					return suffixes;
-				}
-			}
-		}
-		return suffixes;
-	}
-
-	/**
-	 * Performs a query against the contents of each known 
-	 * repository, accumulating any objects that satisfy the query in the 
-	 * provided collector.
-	 * <p>
-	 * Note that using this method can be quite expensive, as every known
-	 * repository will be loaded in order to query each one.  If a
-	 * client wishes to query only certain repositories, it is better to use
-	 * {@link #getKnownRepositories(int)} to filter the list of repositories
-	 * loaded and then query each of the returned repositories.
-	 * <p>
-	 * This method is long-running; progress and cancellation are provided
-	 * by the given progress monitor. 
-	 * 
-	 * @param query The query to perform against each element in each known repository
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return A collector containing the results of the query
-	 */
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		URI[] locations = getKnownRepositories(REPOSITORIES_ALL);
-		List queryables = new ArrayList(locations.length); // use a list since we don't know exactly how many will load
-		SubMonitor sub = SubMonitor.convert(monitor, locations.length * 10);
-		for (int i = 0; i < locations.length; i++) {
-			try {
-				if (sub.isCanceled())
-					throw new OperationCanceledException();
-				queryables.add(loadRepository(locations[i], sub.newChild(9), null, 0));
-			} catch (ProvisionException e) {
-				//ignore this repository for this query
-			}
-		}
-		try {
-			IQueryable[] queryablesArray = (IQueryable[]) queryables.toArray(new IQueryable[queryables.size()]);
-			CompoundQueryable compoundQueryable = new CompoundQueryable(queryablesArray);
-			collector = compoundQueryable.query(query, sub.newChild(locations.length * 1));
-		} finally {
-			sub.done();
-		}
-		return collector;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/DebugHelper.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/DebugHelper.java
deleted file mode 100644
index f230f47..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/DebugHelper.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository.helpers;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.repository.Activator;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-public class DebugHelper {
-	public static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	public static final boolean DEBUG_REPOSITORY_CREDENTIALS;
-	public static final boolean DEBUG_REPOSITORY_TRANSPORT;
-
-	static {
-		DebugOptions options = (DebugOptions) ServiceHelper.getService(Activator.getContext(), DebugOptions.class.getName());
-		if (options != null) {
-			DEBUG_REPOSITORY_CREDENTIALS = options.getBooleanOption(Activator.ID + "/credentials/debug", false); //$NON-NLS-1$
-			DEBUG_REPOSITORY_TRANSPORT = options.getBooleanOption(Activator.ID + "/transport/debug", false); //$NON-NLS-1$
-		} else {
-			DEBUG_REPOSITORY_CREDENTIALS = false;
-			DEBUG_REPOSITORY_TRANSPORT = false;
-		}
-	}
-
-	public static void debug(String name, String message) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("["); //$NON-NLS-1$
-		buffer.append(Activator.ID + "-" + name); //$NON-NLS-1$
-		buffer.append("] "); //$NON-NLS-1$
-		buffer.append(new Date(System.currentTimeMillis()));
-		buffer.append(" - ["); //$NON-NLS-1$
-		buffer.append(Thread.currentThread().getName());
-		buffer.append("] " + LINE_SEPARATOR); //$NON-NLS-1$
-		buffer.append(message);
-		System.out.println(buffer.toString());
-	}
-
-	public static void debug(String name, String message, Object[] keyValueArray) {
-		if (keyValueArray == null || keyValueArray.length == 0)
-			debug(name, message);
-		else {
-			Map params = new LinkedHashMap(keyValueArray.length / 2);
-			for (int i = 0; i < keyValueArray.length; i += 2)
-				params.put(keyValueArray[i], keyValueArray[i + 1]);
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(message);
-			buffer.append(formatMap(params, true, true));
-			debug(name, buffer.toString());
-		}
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("["); //$NON-NLS-1$
-		buffer.append(Activator.ID + "-" + name); //$NON-NLS-1$
-		buffer.append("] "); //$NON-NLS-1$
-		buffer.append(new Date(System.currentTimeMillis()));
-		buffer.append(" - ["); //$NON-NLS-1$
-		buffer.append(Thread.currentThread().getName());
-		buffer.append("] " + LINE_SEPARATOR); //$NON-NLS-1$
-		buffer.append(message);
-		System.out.println(buffer.toString());
-	}
-
-	public static String formatArray(Object[] array, boolean toString, boolean newLines) {
-		if (array == null || array.length == 0)
-			return "[]"; //$NON-NLS-1$
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('[');
-		int i = 0;
-		for (;;) {
-			if (toString)
-				buffer.append(array[i].toString());
-			else
-				buffer.append(array[i].getClass().getName());
-			i++;
-			if (i == array.length)
-				break;
-			buffer.append(',');
-			if (newLines)
-				buffer.append(DebugHelper.LINE_SEPARATOR);
-			else
-				buffer.append(' ');
-		}
-		buffer.append(']');
-		return buffer.toString();
-	}
-
-	public static String formatMap(Map map, boolean toString, boolean newLines) {
-		if (map == null || map.size() == 0)
-			return "[]"; //$NON-NLS-1$
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('[');
-		Iterator itor = map.entrySet().iterator();
-		while (itor.hasNext()) {
-			Map.Entry e = (Map.Entry) itor.next();
-			buffer.append(e.getKey());
-			buffer.append('=');
-			if (toString)
-				buffer.append(e.getValue().toString());
-			else
-				buffer.append(e.getValue().getClass().getName());
-
-			buffer.append(',');
-			if (newLines) {
-				buffer.append(DebugHelper.LINE_SEPARATOR);
-				buffer.append("    "); //$NON-NLS-1$
-			} else
-				buffer.append(' ');
-		}
-		buffer.append(']');
-		return buffer.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/Messages.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/Messages.java
deleted file mode 100644
index e85bc45..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository.helpers;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.repository.helpers.messages"; //$NON-NLS-1$
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String repoMan_adding;
-	public static String repoMan_exists;
-	public static String repoMan_failedRead;
-	public static String repoMan_internalError;
-	public static String repoMan_notExists;
-	public static String repoMan_unknownType;
-	public static String repoManAuthenticationFailedFor_0;
-	public static String DestinationNotModifiable;
-	public static String locationMustBeAbsolute;
-	public static String schemeNotSupported;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/RepositoryHelper.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/RepositoryHelper.java
deleted file mode 100644
index 9b235f1..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/RepositoryHelper.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *     Cloudsmith Inc - ongoing implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.repository.helpers;
-
-import java.io.File;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.Activator;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class RepositoryHelper {
-	protected static final String FILE_SCHEME = "file"; //$NON-NLS-1$
-
-	/**
-	 * If the provided URI can be interpreted as representing a local address (no schema, or one letter schema) 
-	 * but is missing the file schema, a new URI is created which represents the local file. 
-	 * 
-	 * @param location the URI to convert
-	 * @return the converted URI, or the original
-	 */
-	public static URI localRepoURIHelper(URI location) {
-		if (location == null)
-			return null;
-		if (location.getScheme() == null)
-			// Probably a local path:  /home/user/repo
-			location = (new File(location.getPath())).getAbsoluteFile().toURI();
-		else if (location.getScheme().length() == 1)
-			// Probably a windows path:  C:\repo
-			location = (new File(URIUtil.toUnencodedString(location))).toURI();
-		else if (!FILE_SCHEME.equalsIgnoreCase(location.getScheme()))
-			// This else must occur last!
-			return location;
-
-		// Zipped repository?
-		String lowerCase = location.toString().toLowerCase();
-		if (lowerCase.endsWith(".jar") || lowerCase.endsWith(".zip")) //$NON-NLS-1$//$NON-NLS-2$
-			return URIUtil.toJarURI(location, null);
-		return location;
-	}
-
-	/**
-	 * Determine if the repository could be used as a valid destination (eg, it is modifiable)
-	 * @param repository the repository to test
-	 * @return the repository
-	 */
-	public static IRepository validDestinationRepository(IRepository repository) {
-		if (!repository.isModifiable())
-			throw new IllegalStateException(NLS.bind(Messages.DestinationNotModifiable, repository.getLocation()));
-		return repository;
-	}
-
-	/**
-	 * Determine if the location is a syntactically correct repository location. Intended to be used
-	 * from the UI when checking validity of user input.
-	 * 
-	 * @throws IllegalArgumentException if location is null
-	 */
-	public static IStatus checkRepositoryLocationSyntax(URI location) {
-		if (location == null)
-			throw new IllegalArgumentException("Location cannot be null"); //$NON-NLS-1$
-		if (!location.isAbsolute())
-			return new Status(IStatus.ERROR, Activator.ID, Messages.locationMustBeAbsolute);
-		try {
-			new URL(location.getScheme(), "dummy.com", -1, "dummy.txt"); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (MalformedURLException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.schemeNotSupported);
-
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/messages.properties b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/messages.properties
deleted file mode 100644
index 906ee55..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-repoMan_adding = Adding repository {0}
-repoMan_exists=Repository already exists at {0}.
-repoMan_failedRead=The repository could not be read: {0}.
-repoMan_internalError=Internal error.
-repoMan_notExists=No repository found at {0}.
-repoMan_unknownType=Unknown repository type at {0}.
-repoManAuthenticationFailedFor_0=Authentication failed for {0}
-DestinationNotModifiable=Destination repository is not modifiable: {0}
-locationMustBeAbsolute=Location must be absolute
-schemeNotSupported=Scheme not supported
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/messages.properties b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/messages.properties
deleted file mode 100644
index 15728fe..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/messages.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-#     Cloudsmith Inc - additional messages
-###############################################################################
-artifact_not_found=Artifact not found: {0}.
-
-io_failedRead=Unable to read repository at {0}.
-ecf_configuration_error=Transport initialization error.
-
-
-repoMan_internalError=Internal error.
-repo_loading = Loading the repository {0}
-
-
-
-
-
-exception_malformedRepoURI = The repository location ({0}) must be a URI.
-
-TransportErrorTranslator_400=Bad HTTP Request: {0}
-TransportErrorTranslator_401=Authentication Failed - Unauthorized: {0}
-TransportErrorTranslator_402=HTTP Payment Required: {0}
-TransportErrorTranslator_403=HTTP Access Forbidden: {0}
-TransportErrorTranslator_404=HTTP Remote File Not Found: {0}
-TransportErrorTranslator_405=HTTP Method Not Allowed: {0}
-TransportErrorTranslator_406=HTTP Request Not Acceptable: {0}
-TransportErrorTranslator_407=HTTP Proxy Authentication Required: {0}
-TransportErrorTranslator_408=HTTP Request Timeout: {0}
-TransportErrorTranslator_409=HTTP Conflict In Request: {0}
-TransportErrorTranslator_410=HTTP Remote File Permanently Removed: {0}
-TransportErrorTranslator_411=HTTP Length Required: {0}
-TransportErrorTranslator_412=HTTP Precondition Failed: {0}
-TransportErrorTranslator_413=HTTP Requested Entity Too Large: {0}
-TransportErrorTranslator_414=HTTP Request URI Too Long: {0}
-TransportErrorTranslator_415=HTTP Unsupported Media Type: {0}
-TransportErrorTranslator_416=HTTP Requested Range Not Satisfiable: {0}
-TransportErrorTranslator_417=HTTP Expectation Failed: {0}
-TransportErrorTranslator_418=HTTP Cannot provision coffee from a tea pot: {0}
-TransportErrorTranslator_422=HTTP (WebDav) Unprocessable Entity: {0}
-TransportErrorTranslator_423=HTTP (WebDAV) Locked: {0}
-TransportErrorTranslator_424=HTTP (WebDAV) Failed Dependency: {0}
-TransportErrorTranslator_425=HTTP Unordered Collection: {0}
-TransportErrorTranslator_426=HTTP Upgrade Required: {0}
-TransportErrorTranslator_449=HTTP Retry With Response: {0}
-TransportErrorTranslator_450=HTTP Blocked By Parental Control: {0}
-TransportErrorTranslator_500=HTTP Server ''Internal Error'': {0}
-TransportErrorTranslator_501=HTTP Server ''Not Implemented'': {0}
-TransportErrorTranslator_502=HTTP Server ''Bad Gateway'' : {0}
-TransportErrorTranslator_503=HTTP Server ''Service Unavailable'': {0}
-TransportErrorTranslator_504=HTTP Server ''Gateway Timeout'': {0}
-TransportErrorTranslator_505=HTTP Server ''HTTP Version Not Supported'': {0}
-TransportErrorTranslator_506=HTTP Server ''Variant Also Negotiates'': {0}
-TransportErrorTranslator_507=HTTP (WebDAV) ''Insufficient Storage'': {0}
-TransportErrorTranslator_508=HTTP Server ''Bandwidth Limit Exceeded'': {0}
-TransportErrorTranslator_510=HTTP Server ''Not Extended'': {0}
-TransportErrorTranslator_MalformedRemoteFileReference=Malformed reference to remote file: {0}
-TransportErrorTranslator_UnableToConnectToRepository_0=Unable to connect to repository {0}
-TransportErrorTranslator_UnknownErrorCode=HTTP Server Unknown HTTP Response Code ({0}):{1}
-TransportErrorTranslator_UnknownHost=Unknown Host: {0}
-fetching_0_from_1_2_at_3=Fetching {0} ({2} at {3}/s) from {1}
-fetching_0_from_1_2_of_3_at_4=Fetching {0} ({2} of {3} at {4}/s) from {1}
-FileTransport_reader=File Transport Reader
-FileTransport_cancelCheck=File Transport Cancel Handler
-connection_to_0_failed_on_1_retry_attempt_2=Connection to {0} failed on {1}. Retry attempt {2} started
-UnableToRead_0_TooManyAttempts=Unable to read repository at: {0}. Too many failed login attempts.
-UnableToRead_0_UserCanceled=Unable to read repository at: {0}. Login canceled by user.
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/IStateful.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/IStateful.java
deleted file mode 100644
index daa7d96..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/IStateful.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.repository;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Implementing <code>IStateful</code> adds the ability to store status information.
- */
-public interface IStateful {
-
-	/**
-	 * Set the status.
-	 * 
-	 * @param status if status equals null => getStatus().isOK
-	 */
-	void setStatus(IStatus status);
-
-	/**
-	 * Get status.
-	 * @return status
-	 */
-	public IStatus getStatus();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryCreationException.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryCreationException.java
deleted file mode 100644
index 0a6899a..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryCreationException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.repository;
-
-public class RepositoryCreationException extends Exception {
-
-	private static final long serialVersionUID = -5648382121963317100L;
-
-	public RepositoryCreationException(Throwable e) {
-		super(e);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryEvent.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryEvent.java
deleted file mode 100644
index a62905e..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/p2/repository/RepositoryEvent.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.repository;
-
-import java.net.URI;
-import java.util.EventObject;
-import org.eclipse.equinox.p2.repository.IRepository;
-
-/**
- * An event indicating a repository was added, removed, changed,
- * or discovered.
- * 
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class RepositoryEvent extends EventObject {
-	private static final long serialVersionUID = 3082402920617281765L;
-
-	/**
-	 * A change kind constant (value 0), indicating a repository was added to the 
-	 * list of repositories known to a repository manager.
-	 */
-	public static final int ADDED = 0;
-
-	/**
-	 * A change kind constant (value 1), indicating a repository was removed from 
-	 * the list of repositories known to a repository manager.
-	 */
-	public static final int REMOVED = 1;
-
-	/**
-	 * A change kind constant (value 2), indicating a repository known to a 
-	 * repository manager was modified.
-	 */
-	public static final int CHANGED = 2;
-
-	/**
-	 * A change kind constant (value 4), indicating a new repository was discovered.
-	 * This event is a way to notify repository managers in a generic way about
-	 * a newly discovered repository. The repository manager will typically receive
-	 * this event, add the repository to its list of known repositories, and issue
-	 * a subsequent {@link #ADDED} event. Other clients should not typically
-	 * listen for this kind of event.
-	 */
-	public static final int DISCOVERED = 4;
-
-	/**
-	 * A change kind constant (value 8), indicating the repository's enablement
-	 * was changed.  The {{@link #isRepositoryEnabled()} method can be used
-	 * to find out the new enablement state of the repository, and to deduce
-	 * the previous enablement state.
-	 */
-	public static final int ENABLEMENT = 8;
-
-	private final int kind, type;
-	private boolean isEnabled;
-	private String nickname;
-
-	/**
-	 * Creates and returns a new repository discovery event.
-	 * @param location the location of the repository that changed.
-	 * @param nickname the repository nickname
-	 * @param repositoryType the type of repository that was changed
-	 * @param enabled whether the repository is enabled
-	 * @return A new repository discovery event
-	 * @see IRepository#PROP_NICKNAME
-	 */
-	public static RepositoryEvent newDiscoveryEvent(URI location, String nickname, int repositoryType, boolean enabled) {
-		RepositoryEvent event = new RepositoryEvent(location, repositoryType, DISCOVERED, enabled);
-		event.nickname = nickname;
-		return event;
-	}
-
-	/**
-	 * Creates a new repository event.
-	 * 
-	 * @param location the location of the repository that changed.
-	 * @param repositoryType the type of repository that was changed
-	 * @param kind the kind of change that occurred.
-	 * @param enabled whether the repository is enabled
-	 */
-	public RepositoryEvent(URI location, int repositoryType, int kind, boolean enabled) {
-		super(location);
-		this.kind = kind;
-		this.type = repositoryType;
-		isEnabled = enabled;
-	}
-
-	/**
-	 * Returns the kind of change that occurred.
-	 *
-	 * @return the kind of change that occurred.
-	 * @see #ADDED
-	 * @see #REMOVED
-	 * @see #CHANGED
-	 * @see #DISCOVERED
-	 * @see #ENABLEMENT
-	 */
-	public int getKind() {
-		return kind;
-	}
-
-	/**
-	 * Returns the nickname of the repository. This method is only applicable
-	 * for the {@link #DISCOVERED} event type. For other event types this
-	 * method returns <code>null</code>.
-	 */
-	public String getRepositoryNickname() {
-		return nickname;
-	}
-
-	/**
-	 * Returns the location of the repository associated with this event.
-	 * 
-	 * @return the location of the repository associated with this event.
-	 */
-	public URI getRepositoryLocation() {
-		return (URI) getSource();
-	}
-
-	/**
-	 * Returns the type of repository associated with this event. Clients
-	 * should not assume that the set of possible repository types is closed;
-	 * clients should ignore events from repository types they don't know about.
-	 * 
-	 * @return the type of repository associated with this event.
-	 *  ({@link IRepository#TYPE_METADATA} or {@link IRepository#TYPE_ARTIFACT}).
-	 */
-	public int getRepositoryType() {
-		return type;
-	}
-
-	/**
-	 * Returns whether the affected repository is enabled.
-	 * 
-	 * @return <code>true</code> if the repository is enabled,
-	 * and <code>false</code> otherwise.
-	 */
-	public boolean isRepositoryEnabled() {
-		return isEnabled;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/repository/AbstractRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/repository/AbstractRepository.java
deleted file mode 100644
index cdc7c22..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/provisional/spi/p2/repository/AbstractRepository.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.spi.p2.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.repository.IRepository;
-
-/**
-* AbstractRepository defines common properties that may be provided by various kinds
-* of repositories.
-* <p>
-* Clients may extend this class.
-* </p>
-*/
-public abstract class AbstractRepository extends PlatformObject implements IRepository {
-	protected String description;
-	protected transient URI location;
-	protected String name;
-	protected Map properties = new OrderedProperties();
-	protected String provider;
-	protected String type;
-	protected String version;
-
-	protected AbstractRepository(String name, String type, String version, URI location, String description, String provider, Map properties) {
-		this.name = name;
-		this.type = type;
-		this.version = version;
-		this.location = location;
-		this.description = description == null ? "" : description; //$NON-NLS-1$
-		this.provider = provider == null ? "" : provider; //$NON-NLS-1$
-		if (properties != null)
-			this.properties.putAll(properties);
-	}
-
-	/**
-	 * Asserts that this repository is modifiable, throwing a runtime exception if
-	 * it is not. This is suitable for use by subclasses when an attempt is made
-	 * to write to a repository.
-	 */
-	protected void assertModifiable() {
-		if (!isModifiable())
-			throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a brief description of the repository.
-	 * @return the description of the repository.
-	 */
-	public synchronized String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns the location of this repository.
-	 * TODO: Should we use URL or URI? URL requires a protocol handler
-	 * to be installed in Java.  Can the URL have any protocol?
-	 * @return the URL of the repository.
-	 */
-	public synchronized URI getLocation() {
-		return location;
-	}
-
-	/**
-	 * Returns the name of the repository.
-	 * @return the name of the repository.
-	 */
-	public synchronized String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns a read-only collection of the properties of the repository.
-	 * @return the properties of this repository.
-	 */
-	public synchronized Map getProperties() {
-		return OrderedProperties.unmodifiableProperties(properties);
-	}
-
-	/**
-	 * Returns the name of the provider of the repository.
-	 * @return the provider of this repository.
-	 */
-	public synchronized String getProvider() {
-		return provider;
-	}
-
-	/**
-	 * Returns a string representing the type of the repository.
-	 * @return the type of the repository.
-	 */
-	public synchronized String getType() {
-		return type;
-	}
-
-	/**
-	 * Returns a string representing the version for the repository type.
-	 * @return the version of the type of the repository.
-	 */
-	public synchronized String getVersion() {
-		return version;
-	}
-
-	public boolean isModifiable() {
-		return false;
-	}
-
-	public synchronized void setDescription(String description) {
-		this.description = description;
-	}
-
-	public synchronized void setName(String value) {
-		this.name = value;
-	}
-
-	public synchronized String setProperty(String key, String value) {
-		assertModifiable();
-		return (String) (value == null ? properties.remove(key) : properties.put(key, value));
-	}
-
-	public synchronized void setProvider(String provider) {
-		this.provider = provider;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/ICompositeRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/ICompositeRepository.java
deleted file mode 100644
index aed6bc7..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/ICompositeRepository.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository;
-
-import java.net.URI;
-import java.util.List;
-
-/**
- * @since 2.0
- */
-public interface ICompositeRepository extends IRepository {
-	/**
-	 * 
-	 * @return a list of URIs containing the locations of the children repositories
-	 */
-	public abstract List getChildren();
-
-	/**
-	 * Removes all child repositories
-	 */
-	public abstract void removeAllChildren();
-
-	/**
-	 * Removes specified URI from list of child repositories.
-	 * Does nothing if specified URI is not a child repository
-	 * @param child
-	 */
-	public abstract void removeChild(URI child);
-
-	/**
-	 * Adds a specified URI to list of child repositories.
-	 * Does nothing if URI is a duplicate of an existing child repository.
-	 * @param child
-	 */
-	public abstract void addChild(URI child);
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepository.java
deleted file mode 100644
index 91b4f91..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepository.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-
-/**
- * Base interface that defines common properties that may be provided by 
- * various kinds of repositories.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IRepository extends IAdaptable, IQueryable {
-	/** 
-	 * The key for a boolean property indicating that the repository
-	 * is a system repository.  System repositories are implementation details
-	 * that are not subject to general access, hidden from the typical user, etc.
-	 */
-	public static final String PROP_SYSTEM = "p2.system"; //$NON-NLS-1$
-
-	/**
-	 * The key for a boolean property indicating that repository metadata is
-	 * stored in compressed form.  A compressed repository will have lower
-	 * bandwidth cost to read when remote, but higher processing cost to
-	 * uncompress when reading.
-	 */
-	public static final String PROP_COMPRESSED = "p2.compressed"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing a human-readable name for the repository.
-	 */
-	public static final String PROP_NAME = "name"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing a user-defined name for the repository.
-	 * This property is never stored in the repository itself, but is instead tracked and managed
-	 * by an {@link IRepositoryManager}.
-	 */
-	public static final String PROP_NICKNAME = "p2.nickname"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing a human-readable description for the repository.
-	 */
-	public static final String PROP_DESCRIPTION = "description"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing the common base URL that should
-	 * be replaced with the mirror URL.
-	 */
-	public static final String PROP_MIRRORS_BASE_URL = "p2.mirrorsBaseURL"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing a URL that can return mirrors of this
-	 * repository.
-	 */
-	public static final String PROP_MIRRORS_URL = "p2.mirrorsURL"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property containing the time when the repository was last modified.
-	 */
-	public static final String PROP_TIMESTAMP = "p2.timestamp"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing the user name to an authenticated
-	 * URL.  This key is used in the secure preference store for repository data.
-	 * @see #PREFERENCE_NODE
-	 */
-	public static final String PROP_USERNAME = "username"; //$NON-NLS-1$
-
-	/**
-	 * The key for a string property providing the password to an authenticated
-	 * URL.  This key is used in the secure preference store for repository data.
-	 * @see #PREFERENCE_NODE
-	 */
-	public static final String PROP_PASSWORD = "password"; //$NON-NLS-1$
-
-	/**
-	 * The node identifier for repository secure preference store.
-	 */
-	public static final String PREFERENCE_NODE = "org.eclipse.equinox.p2.repository"; //$NON-NLS-1$
-
-	/**
-	 * A repository type constant (value 0) representing a metadata repository.
-	 */
-	public static final int TYPE_METADATA = 0;
-
-	/**
-	 * A repository type constant (value 1) representing an artifact repository.
-	 */
-	public static final int TYPE_ARTIFACT = 1;
-
-	/** 
-	 * General purpose zero-valued bit mask constant. Useful whenever you need to
-	 * supply a bit mask with no bits set.
-	 */
-	public static final int NONE = 0;
-
-	/**
-	 * An option flag constant (value 1) indicating an enabled repository.
-	 */
-	public static final int ENABLED = 1;
-
-	/**
-	 * Returns the URL of the repository.
-	 * TODO: Should we use URL or URI? URL requires a protocol handler
-	 * to be installed in Java.  Can the URL have any protocol?
-	 * @return the URL of the repository.
-	 */
-	public URI getLocation();
-
-	/**
-	 * Returns the name of the repository.
-	 * @return the name of the repository.
-	 */
-	public String getName();
-
-	/**
-	 * Returns a string representing the type of the repository.
-	 * @return the type of the repository.
-	 */
-	public String getType();
-
-	/**
-	 * Returns a string representing the version for the repository type.
-	 * @return the version of the type of the repository.
-	 */
-	public String getVersion();
-
-	/**
-	 * Returns a brief description of the repository.
-	 * @return the description of the repository.
-	 */
-	public String getDescription();
-
-	/**
-	 * Returns the name of the provider of the repository.
-	 * @return the provider of this repository.
-	 */
-	public String getProvider();
-
-	/**
-	 * Returns a read-only collection of the properties of the repository.
-	 * @return the properties of this repository.
-	 */
-	public Map getProperties();
-
-	/**
-	 * Returns <code>true</code> if this repository can be modified.
-	 * @return whether or not this repository can be modified
-	 */
-	public boolean isModifiable();
-
-	/**
-	 * Set the name of the repository.
-	 */
-	public void setName(String name);
-
-	/**
-	 * Sets the description of the repository.
-	 */
-	public void setDescription(String description);
-
-	/**
-	 * Sets the value of the property with the given key. Returns the old property
-	 * associated with that key, if any.  Setting a value of <code>null</code> will
-	 * remove the corresponding key from the properties of this repository.
-	 * 
-	 * @param key The property key
-	 * @param value The new property value, or <code>null</code> to remove the key
-	 * @return The old property value, or <code>null</code> if there was no old value
-	 */
-	public String setProperty(String key, String value);
-
-	/**
-	 * Sets the name of the provider of the repository.
-	 */
-	public void setProvider(String provider);
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepositoryManager.java
deleted file mode 100644
index dfe7bfe..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/IRepositoryManager.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository;
-
-import java.net.URI;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-
-/**
- * The common base class for metadata and artifact repository managers.
- * <p>
- * A repository manager keeps track of a set of known repositories, and provides 
- * caching of these known repositories to avoid unnecessary loading of repositories 
- * from the disk or network.  The manager fires {@link RepositoryEvent}s when the 
- * set of known repositories changes.
- * </p>
- * <p>
- * All {@link URI} instances provided to a repository manager must be absolute.
- * </p>
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IRepositoryManager extends IQueryable {
-	/**
-	 * Constant used to indicate that all enabled repositories are of interest.
-	 */
-	public static final int REPOSITORIES_ALL = 0;
-
-	/**
-	 * Constant used to indicate that disabled repositories are of interest.
-	 * @see #getKnownRepositories(int)
-	 */
-	public static final int REPOSITORIES_DISABLED = 1 << 3;
-
-	/**
-	 * Constant used to indicate that local repositories are of interest.
-	 * @see #getKnownRepositories(int)
-	 */
-	public static final int REPOSITORIES_LOCAL = 1 << 2;
-
-	/**
-	 * Constant used to indicate that non-system repositories are of interest.
-	 * @see IRepository#PROP_SYSTEM
-	 * @see #getKnownRepositories(int)
-	 */
-	public static final int REPOSITORIES_NON_SYSTEM = 1 << 1;
-
-	/**
-	 * Constant used to indicate that system repositories are of interest.
-	 * @see IRepository#PROP_SYSTEM
-	 * @see #getKnownRepositories(int)
-	 */
-	public static final int REPOSITORIES_SYSTEM = 1 << 0;
-
-	/**
-	 * Constant used to indicate that a repository manager should only load the
-	 * repository if the repository is modifiable.
-	 * @see IRepository#isModifiable()
-	 */
-	public static final int REPOSITORY_HINT_MODIFIABLE = 1 << 0;
-
-	/**
-	 * Adds the repository at the given location to the list of repositories tracked by 
-	 * this repository manager. This method does not attempt to contact or load
-	 * the repository, and makes no attempt to determine whether there is a valid
-	 * repository at the provided location.
-	 * <p>
-	 * If there is a known disabled repository at the given location, it will become
-	 * enabled as a result of this method. Thus the caller can be guaranteed that
-	 * there is a known, enabled repository at the given location when this method returns.
-	 * 
-	 * @param location The absolute location of the repository to add
-	 * @see #isEnabled(URI)
-	 */
-	public void addRepository(URI location);
-
-	/**
-	 * Returns whether a repository at the given location is in the list of repositories
-	 * tracked by this repository manager.
-	 * 
-	 * @param location The absolute location of the repository to look for
-	 * @return <code>true</code> if the repository is known to this manager,
-	 * and <code>false</code> otherwise
-	 */
-	public boolean contains(URI location);
-
-	/**
-	 * Returns the artifact repository locations known to the repository manager.
-	 * <p>
-	 * Note that the repository manager does not guarantee that a valid repository
-	 * exists at any of the returned locations at any particular moment in time.
-	 * A subsequent attempt to load a repository at any of the given locations may
-	 * or may not succeed.
-	 * 
-	 * @param flags an integer bit-mask indicating which repositories should be
-	 * returned.  <code>REPOSITORIES_ALL</code> can be used as the mask when
-	 * all enabled repositories should be returned.
-	 * @return the locations of the repositories managed by this repository manager.
-	 * 
-	 * @see #REPOSITORIES_ALL
-	 * @see #REPOSITORIES_SYSTEM
-	 * @see #REPOSITORIES_NON_SYSTEM
-	 * @see #REPOSITORIES_LOCAL
-	 * @see #REPOSITORIES_DISABLED
-	 */
-	public URI[] getKnownRepositories(int flags);
-
-	/**
-	 * Returns the property associated with the repository at the given URI, 
-	 * without loading the repository.
-	 * <p>
-	 * Note that some properties for a repository can only be
-	 * determined when that repository is loaded.  This method will return <code>null</code>
-	 * for such properties.  Only values for the properties that are already
-	 * known by a repository manager will be returned. 
-	 * <p>
-	 * If a client wishes to retrieve a property value from a repository 
-	 * regardless of the cost of retrieving it, the client should load the 
-	 * repository and then retrieve the property from the repository itself.
-	 * 
-	 * @param location the absolute URI of the repository in question
-	 * @param key the String key of the property desired
-	 * @return the value of the property, or <code>null</code> if the repository
-	 * does not exist, the value does not exist, or the property value 
-	 * could not be determined without loading the repository.
-	 * 
-	 * @see IRepository#getProperties()
-	 * @see #setRepositoryProperty(URI, String, String)
-	 */
-	public String getRepositoryProperty(URI location, String key);
-
-	/**
-	 * Sets the property associated with the repository at the given URI, 
-	 * without loading the repository.
-	 * <p>
-	 * This method stores properties in a cache in the repository manager and does
-	 * not write the property to the backing repository. This is useful for making
-	 * repository properties available without incurring the cost of loading the repository.
-	 * When the repository is loaded, it will overwrite any conflicting properties that
-	 * have been set using this method.
-	 * </p>
-	 * <p>
-	 * To persistently set a property on a repository, clients must load
-	 * the repository and call {@link IRepository#setProperty(String, String)}.
-	 * </p>
-	 * 
-	 * @param location the absolute URI of the repository in question
-	 * @param key the String key of the property desired
-	 * @param value the value to set the property to
-	 * @see #getRepositoryProperty(URI, String)
-	 * @see IRepository#setProperty(String, String)
-	 */
-	public void setRepositoryProperty(URI location, String key, String value);
-
-	/**
-	 * Returns the enablement value of a repository.  Disabled repositories are known
-	 * to the repository manager, but are never used in the context of provisioning
-	 * operations. Disabled repositories are useful as a form of bookmark to indicate that a 
-	 * repository location is of interest, but not currently used.
-	 * <p>
-	 * Note that enablement is a property of the repository manager and not a property
-	 * of the affected repository. The enablement of the repository is discarded when 
-	 * a repository is removed from the repository manager.
-	 * 
-	 * @param location The absolute location of the repository whose enablement is requested
-	 * @return <code>true</code> if the repository is enabled, and
-	 * <code>false</code> if it is not enabled, or if the repository location 
-	 * is not known to the repository manager.
-	 * @see #REPOSITORIES_DISABLED
-	 * @see #setEnabled(URI, boolean)
-	 */
-	public boolean isEnabled(URI location);
-
-	/**
-	 * Removes the repository at the given location from the list of
-	 * repositories known to this repository manager.  The underlying
-	 * repository is not deleted. This method has no effect if the given
-	 * repository is not already known to this repository manager.
-	 * 
-	 * @param location The absolute location of the repository to remove
-	 * @return <code>true</code> if a repository was removed, and 
-	 * <code>false</code> otherwise.
-	 */
-	public boolean removeRepository(URI location);
-
-	/**
-	 * Sets the enablement of a repository. Disabled repositories are known
-	 * to the repository manager, but are never used in the context of provisioning
-	 * operation. Disabled repositories are useful as a form of bookmark to indicate that a 
-	 * repository location is of interest, but not currently used.
-	 * <p>
-	 * Note that enablement is a property of the repository manager and not a property
-	 * of the affected repository. The enablement of the repository is discarded when 
-	 * a repository is removed from the repository manager.
-	 * <p>
-	 * This method has no effect if the given repository location is not known to the
-	 * repository manager.
-	 * 
-	 * @param location The absolute location of the repository to enable or disable
-	 * @param enablement <code>true</code>to enable the repository, and
-	 * <code>false</code> to disable the repository
-	 * @see #REPOSITORIES_DISABLED
-	 * @see #isEnabled(URI)
-	 */
-	public void setEnabled(URI location, boolean enablement);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactDescriptorQuery.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactDescriptorQuery.java
deleted file mode 100644
index c3ae1ba..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactDescriptorQuery.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.repository.artifact;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * An implementation of IArtifactQuery that matches IArtifactDescriptors
- * @since 2.0
- */
-public class ArtifactDescriptorQuery extends MatchQuery {
-	public static final ArtifactDescriptorQuery ALL_DESCRIPTORS = new ArtifactDescriptorQuery();
-	private VersionRange range = null;
-	private String id = null;
-	private String format = null;
-	private ArtifactDescriptor descriptor = null;
-	private IArtifactRepository repository = null;
-
-	/**
-	 * The query will match descriptors with the given id, version and format
-	 * If any parameter is null, that attribute will be ignored
-	 * @param id - the id to match, or null
-	 * @param versionRange - the version range to match or null
-	 * @param format - {@link IArtifactDescriptor#FORMAT} value to match, or null
-	 */
-	public ArtifactDescriptorQuery(String id, VersionRange versionRange, String format) {
-		this(id, versionRange, format, null);
-	}
-
-	/**
-	 * The query will match descriptors with the given id, version range, format and repository
-	 * if any parameter is null, that attribute will be ignored
-	 * @param id - the id to match, or null
-	 * @param versionRange - the version range to match or null
-	 * @param format - {@link IArtifactDescriptor#FORMAT} value to match, or null
-	 * @param repository
-	 */
-	public ArtifactDescriptorQuery(String id, VersionRange versionRange, String format, IArtifactRepository repository) {
-		this.id = id;
-		this.range = versionRange;
-		this.format = format;
-		this.repository = repository;
-	}
-
-	public ArtifactDescriptorQuery() {
-		//matches everything
-	}
-
-	/**
-	 * The query will match candidate descriptors where
-	 *          new ArtifactDescriptor(descriptor).equals(new ArtifactDescriptor(candidate))
-	 * @param descriptor
-	 */
-	public ArtifactDescriptorQuery(IArtifactDescriptor descriptor) {
-		this.descriptor = (descriptor.getClass() == ArtifactDescriptor.class) ? (ArtifactDescriptor) descriptor : new ArtifactDescriptor(descriptor);
-	}
-
-	public boolean isMatch(Object candidate) {
-		if (!(candidate instanceof IArtifactDescriptor))
-			return false;
-
-		if (descriptor != null)
-			return matchDescriptor((IArtifactDescriptor) candidate);
-
-		IArtifactDescriptor candidateDescriptor = (IArtifactDescriptor) candidate;
-		if (id != null && !id.equals(candidateDescriptor.getArtifactKey().getId()))
-			return false;
-
-		if (range != null && !range.isIncluded(candidateDescriptor.getArtifactKey().getVersion()))
-			return false;
-
-		if (format != null && !format.equals(candidateDescriptor.getProperty(IArtifactDescriptor.FORMAT)))
-			return false;
-
-		if (repository != null && repository != candidateDescriptor.getRepository())
-			return false;
-
-		return true;
-	}
-
-	protected boolean matchDescriptor(IArtifactDescriptor candidate) {
-		ArtifactDescriptor candidateDescriptor = (candidate.getClass() == ArtifactDescriptor.class) ? (ArtifactDescriptor) candidate : new ArtifactDescriptor(candidate);
-		return descriptor.equals(candidateDescriptor);
-	}
-
-	public Boolean getExcludeArtifactDescriptors() {
-		return Boolean.FALSE;
-	}
-
-	public Boolean getExcludeArtifactKeys() {
-		return Boolean.TRUE;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactKeyQuery.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactKeyQuery.java
deleted file mode 100644
index 58faaa8..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ArtifactKeyQuery.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.repository.artifact;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/**
- * An IArtifactQuery returning matching IArtifactKey objects.
- * @since 2.0
- */
-public class ArtifactKeyQuery extends MatchQuery {
-	public static final ArtifactKeyQuery ALL_KEYS = new ArtifactKeyQuery();
-
-	private String id;
-	private String classifier;
-	private VersionRange range;
-	private IArtifactKey artifactKey;
-
-	/**
-	 * Pass the id and/or version range to match IArtifactKeys against.
-	 * Passing null results in matching any id/version
-	 * @param classifier The artifact key classifier, or <code>null</code>
-	 * @param id The artifact key id, or <code>null</code>
-	 * @param range A version range, or <code>null</code>
-	 */
-	public ArtifactKeyQuery(String classifier, String id, VersionRange range) {
-		this.id = id;
-		this.classifier = classifier;
-		this.range = range;
-	}
-
-	public ArtifactKeyQuery() {
-		//matches everything
-	}
-
-	public ArtifactKeyQuery(IArtifactKey key) {
-		this.artifactKey = key;
-	}
-
-	public boolean isMatch(Object candidate) {
-		if (!(candidate instanceof IArtifactKey))
-			return false;
-
-		if (artifactKey != null)
-			return matchKey((IArtifactKey) candidate);
-
-		IArtifactKey key = (IArtifactKey) candidate;
-
-		if (classifier != null && !key.getClassifier().equals(classifier))
-			return false;
-
-		if (id != null && !key.getId().equals(id))
-			return false;
-
-		if (range != null && !range.isIncluded(key.getVersion()))
-			return false;
-
-		return true;
-	}
-
-	protected boolean matchKey(IArtifactKey candidate) {
-		return artifactKey.equals(candidate);
-	}
-
-	// We are interested in IArtifactKey objects
-	public Boolean getExcludeArtifactKeys() {
-		return Boolean.FALSE;
-	}
-
-	// We are not interested in IArtifactDescriptor objects
-	public Boolean getExcludeArtifactDescriptors() {
-		return Boolean.TRUE;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
deleted file mode 100644
index 1268c9b..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-import java.util.Map;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/**
- * @since 2.0
- */
-public interface IArtifactDescriptor {
-
-	public static final String DOWNLOAD_SIZE = "download.size"; //$NON-NLS-1$
-	public static final String ARTIFACT_SIZE = "artifact.size"; //$NON-NLS-1$
-	public static final String DOWNLOAD_MD5 = "download.md5"; //$NON-NLS-1$
-	public static final String DOWNLOAD_CONTENTTYPE = "download.contentType"; //$NON-NLS-1$
-	public static final String TYPE_ZIP = "application/zip"; //$NON-NLS-1$
-	public static final String ARTIFACT_MD5 = "artifact.md5"; //$NON-NLS-1$
-	public static final String FORMAT = "format"; //$NON-NLS-1$
-
-	/**
-	 * Return the key for the artifact described by this descriptor.
-	 * @return the key associated with this descriptor
-	 */
-	public abstract IArtifactKey getArtifactKey();
-
-	/**
-	 * Return the value of the given property in this descriptor  <code>null</code> 
-	 * is returned if no such property exists
-	 * @param key the property key to look for
-	 * @return the value of the given property or <code>null</code>
-	 */
-	public abstract String getProperty(String key);
-
-	/**
-	 * Returns a read-only collection of the properties of the artifact descriptor.
-	 * @return the properties of this artifact descriptor.
-	 */
-	public Map getProperties();
-
-	/** 
-	 * Return the list of processing steps associated with this descriptor.
-	 * An empty set of steps implies that this descriptor describes a complete
-	 * copy of the artifact in its native form.
-	 * @return the list of processing steps for this descriptor
-	 */
-	public abstract ProcessingStepDescriptor[] getProcessingSteps();
-
-	/**
-	 * Return the artifact repository that holds the artifact described by this descriptor.
-	 * <code>null</code> is returned if this descriptor is not held in a repository.
-	 * 
-	 * @return the repository holding this artifact or <code>null</code> if none.
-	 */
-	public abstract IArtifactRepository getRepository();
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java
deleted file mode 100644
index 0453735..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepository.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-import java.io.OutputStream;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-
-/**
- * A repository containing artifacts.
- * <p>
- * This interface is not intended to be implemented by clients.  Artifact repository
- * implementations must subclass {@link AbstractArtifactRepository} rather than 
- * implementing this interface directly.
- * </p>
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IArtifactRepository extends IRepository {
-
-	/**
-	 * See {@link IQuery#getProperty(String)}.  A query should implement "getExcludeArtifactKeys" returning
-	 * Boolean.TRUE to indicate that it is not interested in {@link IArtifactKey}s.
-	 */
-	public static final String QUERY_EXCLUDE_KEYS = "ExcludeArtifactKeys"; //$NON-NLS-1$
-
-	/**
-	 * See {@link IQuery#getProperty(String)}.  A query should implement "getExcludeArtifactDescriptors" returning
-	 * Boolean.TRUE to indicate that it is not interested in {@link IArtifactDescriptor}s.
-	 */
-	public static final String QUERY_EXCLUDE_DESCRIPTORS = "ExcludeArtifactDescriptors"; //$NON-NLS-1$
-
-	/** 
-	 * The return code to use when a client could/should retry a failed getArtifact() operation.
-	 * For example, the repository may have additional mirrors that could be consulted.
-	 */
-	public static int CODE_RETRY = 13;
-
-	/**
-	 * Create an instance of IArtifactDescriptor based on the given key
-	 * @param key
-	 * @return a new instanceof of IArtifactDescriptor
-	 */
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key);
-
-	/**
-	 * Add the given descriptor to the set of descriptors in this repository.  This is 
-	 * a relatively low-level operation that should be used only when the actual related 
-	 * content is in this repository and the given descriptor accurately describes 
-	 * that content.
-	 * @param descriptor the descriptor to add.
-	 */
-	public void addDescriptor(IArtifactDescriptor descriptor);
-
-	/**
-	 * Add the given artifact descriptors to this repository
-	 * @param descriptors the artifact descriptors to add
-	 */
-	public void addDescriptors(IArtifactDescriptor[] descriptors);
-
-	/** 
-	 * Returns true if this repository contains the given descriptor.
-	 * @param descriptor the descriptor to query
-	 * @return true if the given descriptor is already in this repository
-	 */
-	public boolean contains(IArtifactDescriptor descriptor);
-
-	/** 
-	 * Returns true if this repository contains the given artifact key.
-	 * @param key the key to query
-	 * @return true if the given key is already in this repository
-	 */
-	public boolean contains(IArtifactKey key);
-
-	/**
-	 * Write to the given output stream the bytes represented by the artifact descriptor processed by the processing steps of the given descriptor.
-	 */
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor);
-
-	/**
-	 * Write to the given output stream the bytes represented by the artifact descriptor without processing by the steps of the given descriptor. 
-	 */
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor);
-
-	/**
-	 * Return the set of artifact descriptors describing the ways that this repository
-	 * can supply the artifact associated with the given artifact key
-	 * @param key the artifact key to lookup
-	 * @return the descriptors associated with the given key
-	 */
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key);
-
-	/**
-	 * Executes the given artifact requests on this byte server.
-	 * @param requests The artifact requests
-	 * @param monitor
-	 * @return a status object that is <code>OK</code> if requests were
-	 * processed successfully. Otherwise, a status indicating information,
-	 * warnings, or errors that occurred while executing the artifact requests
-	 */
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor);
-
-	/**
-	 * Open an output stream to which a client can write the data for the given 
-	 * artifact descriptor.
-	 * @param descriptor the descriptor describing the artifact data to be written to the 
-	 * resultant stream
-	 * @return the stream to which the artifact content can be written. The returned output
-	 *  stream may implement <code>IStateful</code>.
-	 * @throws ProvisionException if the output stream could not be created.  Reasons include:
-	 * <ul>
-	 * <li>An I/O exception occurred (@link {@link ProvisionException#REPOSITORY_FAILED_WRITE}) .</li>
-	 * <li>An artifact already exists at that location ({@link ProvisionException#ARTIFACT_EXISTS}).</li>
-	 * </ul>
-	 */
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException;
-
-	/**
-	 * Remove the all keys, descriptors, and contents from this repository.
-	 */
-	public void removeAll();
-
-	/**
-	 * Remove the given descriptor and its corresponding content in this repository.  
-	 * @param descriptor the descriptor to remove.
-	 */
-	public void removeDescriptor(IArtifactDescriptor descriptor);
-
-	/**
-	 * Remove the given key and all related content and descriptors from this repository.  
-	 * @param key the key to remove.
-	 */
-	public void removeDescriptor(IArtifactKey key);
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepositoryManager.java
deleted file mode 100644
index 9446215..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRepositoryManager.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-
-/**
- * A metadata repository manager is used to create, access, and manipulate
- * {@link IArtifactRepository} instances. See {@link IRepositoryManager}
- * for a general description of the characteristics of repository managers.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IArtifactRepositoryManager extends IRepositoryManager {
-	/**
-	 * The name used for obtaining a reference to the metadata repository manager service
-	 */
-	public static final String SERVICE_NAME = IArtifactRepositoryManager.class.getName();
-
-	public static final IArtifactRequest[] NO_ARTIFACT_REQUEST = new IArtifactRequest[0];
-
-	/**
-	 * Repository type for a simple repository based on a URL or local file system location.
-	 */
-	public static final String TYPE_SIMPLE_REPOSITORY = "org.eclipse.equinox.p2.artifact.repository.simpleRepository"; //$NON-NLS-1$
-	public static final String TYPE_COMPOSITE_REPOSITORY = "org.eclipse.equinox.p2.artifact.repository.compositeRepository"; //$NON-NLS-1$
-
-	/**
-	 * Return a new request to mirror the given artifact into the destination repository.
-	 * @param key the artifact to mirror
-	 * @param destination the destination where the artifact will be mirrored
-	 * @param destinationDescriptorProperties additional properties for use in creating the repository's ArtifactDescriptor, 
-	 * or <code>null</code> to indicate no additional properties are needed
-	 * @param destinationRepositoryProperties additional repository specific properties for use in creating the repositor's ArtifactDescriptor,
-	 * , or <code>null</code> to indicate no additional properties are needed
-	 * @return the newly created request object
-	 */
-	public IArtifactRequest createMirrorRequest(IArtifactKey key, IArtifactRepository destination, Properties destinationDescriptorProperties, Properties destinationRepositoryProperties);
-
-	/**
-	 * Creates and returns a new empty artifact repository of the given type at 
-	 * the given location.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * 
-	 * @param location the absolute location for the new repository
-	 * @param name the name of the new repository
-	 * @param type the kind of repository to create
-	 * @param properties the properties to set on the repository
-	 * @return the newly created repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>The repository type is unknown.</li>
-	 * <li>There was an error writing to the given repository location.</li>
-	 * <li>A repository already exists at that location.</li>
-	 * </ul>
-	 */
-	public IArtifactRepository createRepository(URI location, String name, String type, Map properties) throws ProvisionException;
-
-	/**
-	 * Loads the repository at the given location.  The location is expected to contain 
-	 * data that describes a valid artifact repository of a known type.  If this manager
-	 * already knows a repository at the given location then that repository is returned.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * 
-	 * @param location the absolute location in which to look for a repository description
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return a repository object for the given location
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public IArtifactRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Loads the repository at the given location.  The location is expected to contain 
-	 * data that describes a valid artifact repository of a known type.  If this manager
-	 * already knows a repository at the given location then that repository is returned.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * <p>
-	 * The flags passed in should be taken as a hint for the type of repository to load.  If
-	 * the manager cannot load a repository that satisfies these hints, it can fail fast.
-	 * </p>
-	 * @param location the absolute location in which to look for a repository description
-	 * @param flags - bit-wise or of flags to consider when loading the repository
-	 *  (currently only {@link IRepositoryManager#REPOSITORY_HINT_MODIFIABLE} is supported)
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return a repository object for the given location
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 * @see IRepositoryManager#REPOSITORY_HINT_MODIFIABLE
-	 */
-	public IArtifactRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Refreshes the repository corresponding to the given URL. This method discards
-	 * any cached state held by the repository manager and reloads the repository
-	 * contents. The provided repository location must already be known to the repository
-	 * manager.
-	 * 
-	 * @param location The absolute location of the repository to refresh
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The refreshed metadata repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>The location is not known to the repository manager.</li>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public IArtifactRepository refreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRequest.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRequest.java
deleted file mode 100644
index 1eb2eb2..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactRequest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/**
- * Represents a request to transfer an artifact from an artifact repository. When the
- * request is executed against a repository, it will be executed and the result
- * of the execution will become available.
- * 
- * @see IArtifactRepositoryManager#createMirrorRequest(IArtifactKey, IArtifactRepository, java.util.Properties, java.util.Properties)
- * @see IArtifactRepository#getArtifacts(IArtifactRequest[], IProgressMonitor)
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IArtifactRequest {
-
-	/**
-	 * Returns the key for the artifact that is being requested
-	 * 
-	 * @return The requested artifact key
-	 */
-	public IArtifactKey getArtifactKey();
-
-	/**
-	 * Returns the result of the executed artifact request, or <code>null</code> if
-	 * the request has never been executed. Artifact requests are executed by invoking
-	 * {@link IArtifactRepository#getArtifacts(IArtifactRequest[], IProgressMonitor)}.
-	 * 
-	 * @return The result of the previous perform call, or <code>null</code>
-	 */
-	public IStatus getResult();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IFileArtifactRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IFileArtifactRepository.java
deleted file mode 100644
index 78a7701..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IFileArtifactRepository.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-import java.io.File;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/**
- * @since 2.0
- */
-public interface IFileArtifactRepository extends IArtifactRepository {
-	/**
-	 * Return the location of the full local file corresponding to the given 
-	 * artifact key to the given key, or <code>null</code> if not available.
-	 * 
-	 * @return the location of the requested artifact or<code>null</code> if not available
-	 */
-	public File getArtifactFile(IArtifactKey key);
-
-	/**
-	 * Return the location of the local file corresponding to the given 
-	 * artifact descriptor, or <code>null</code> if not available.
-	 * 
-	 * @return the location of the requested descriptor or<code>null</code> if not available
-	 */
-	public File getArtifactFile(IArtifactDescriptor descriptor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ProcessingStepDescriptor.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ProcessingStepDescriptor.java
deleted file mode 100644
index 39e58d9..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/ProcessingStepDescriptor.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2009 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact;
-
-/**
- * The description of a processor step.
- * @since 2.0
- */
-public class ProcessingStepDescriptor {
-
-	private final String processorId; //the operation to be applied (e.g: unpack, md5, signature verification, etc.)
-	private final String data; //data requested for the processing (eg. expected checksum)
-	private final boolean required; //whether the step is optional or not
-
-	/**
-	 * Create a processing step description.
-	 * 
-	 * @param processorId
-	 * @param data
-	 * @param required
-	 */
-	public ProcessingStepDescriptor(String processorId, String data, boolean required) {
-		super();
-		this.processorId = processorId;
-		this.data = data;
-		this.required = required;
-	}
-
-	public String getProcessorId() {
-		return processorId;
-	}
-
-	public String getData() {
-		return data;
-	}
-
-	public boolean isRequired() {
-		return required;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((data == null) ? 0 : data.hashCode());
-		result = prime * result + ((processorId == null) ? 0 : processorId.hashCode());
-		result = prime * result + (required ? 1231 : 1237);
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (!(obj instanceof ProcessingStepDescriptor))
-			return false;
-		final ProcessingStepDescriptor other = (ProcessingStepDescriptor) obj;
-		if (data == null) {
-			if (other.data != null)
-				return false;
-		} else if (!data.equals(other.data))
-			return false;
-		if (processorId == null) {
-			if (other.processorId != null)
-				return false;
-		} else if (!processorId.equals(other.processorId))
-			return false;
-		if (required != other.required)
-			return false;
-		return true;
-	}
-
-	public String toString() {
-		return "Processor: " + processorId + (required ? "(req)" : "(notReq)") + " ,data: " + data; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/spi/ArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/spi/ArtifactDescriptor.java
deleted file mode 100644
index 4e51f05..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/spi/ArtifactDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.artifact.spi;
-
-import java.util.Arrays;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-/**
- * This represents information about a given artifact stored on a particular byte server.
- * @since 2.0
- */
-public class ArtifactDescriptor implements IArtifactDescriptor {
-	private static final ProcessingStepDescriptor[] EMPTY_STEPS = new ProcessingStepDescriptor[0];
-
-	protected IArtifactKey key; // The key associated with this artifact
-
-	// The list of post processing steps that must be applied one the artifact once it 
-	// has been downloaded (e.g, unpack, then md5 checksum, then...)
-	protected ProcessingStepDescriptor[] processingSteps = EMPTY_STEPS;
-
-	protected Map properties = new OrderedProperties();
-	protected transient IArtifactRepository repository;
-
-	public ArtifactDescriptor(IArtifactDescriptor base) {
-		super();
-		key = base.getArtifactKey();
-		processingSteps = base.getProcessingSteps();
-		properties.putAll(base.getProperties());
-		repository = base.getRepository();
-	}
-
-	public ArtifactDescriptor(ArtifactDescriptor base) {
-		super();
-		key = base.key;
-		processingSteps = base.processingSteps;
-		properties.putAll(base.properties);
-		repository = base.repository;
-	}
-
-	public ArtifactDescriptor(IArtifactKey key) {
-		super();
-		this.key = key;
-	}
-
-	public IArtifactKey getArtifactKey() {
-		return key;
-	}
-
-	public String getProperty(String propertyKey) {
-		return (String) properties.get(propertyKey);
-	}
-
-	public void setProperty(String key, String value) {
-		if (value == null)
-			properties.remove(key);
-		else
-			properties.put(key, value);
-	}
-
-	public void addProperties(Map additionalProperties) {
-		properties.putAll(additionalProperties);
-	}
-
-	/**
-	 * Returns a read-only collection of the properties of the artifact descriptor.
-	 * @return the properties of this artifact descriptor.
-	 */
-	public Map getProperties() {
-		return OrderedProperties.unmodifiableProperties(properties);
-	}
-
-	public ProcessingStepDescriptor[] getProcessingSteps() {
-		return processingSteps;
-	}
-
-	public void setProcessingSteps(ProcessingStepDescriptor[] value) {
-		processingSteps = value == null ? EMPTY_STEPS : value;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-
-		// Other implementations of IArtifactDescriptor must not be considered equal
-		if (!(obj instanceof ArtifactDescriptor))
-			return false;
-
-		ArtifactDescriptor other = (ArtifactDescriptor) obj;
-		if (key == null) {
-			if (other.getArtifactKey() != null)
-				return false;
-		} else if (!key.equals(other.getArtifactKey()))
-			return false;
-
-		if (!Arrays.equals(processingSteps, other.getProcessingSteps()))
-			return false;
-
-		String format = getProperty(FORMAT);
-		String otherFormat = other.getProperty(FORMAT);
-		if (format != null ? !format.equals(otherFormat) : otherFormat != null)
-			return false;
-
-		return true;
-	}
-
-	public int hashCode() {
-		String format = getProperty(FORMAT);
-
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((key == null) ? 0 : key.hashCode());
-		result = prime * result + Arrays.asList(processingSteps).hashCode();
-		result = prime * result + (format != null ? format.hashCode() : 0);
-		return result;
-	}
-
-	public IArtifactRepository getRepository() {
-		return repository;
-	}
-
-	public void setRepository(IArtifactRepository value) {
-		repository = value;
-	}
-
-	public String toString() {
-		String format = getProperty(IArtifactDescriptor.FORMAT);
-		if (format == null)
-			return "canonical: " + key.toString(); //$NON-NLS-1$
-		return format + ": " + key.toString(); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepository.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepository.java
deleted file mode 100644
index b186caa..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepository.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.metadata;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-
-/**
- * A metadata repository stores information about a set of installable units
- * <p>
- * This interface is not intended to be implemented by clients.  Metadata repository
- * implementations must subclass {@link AbstractMetadataRepository} rather than 
- * implementing this interface directly.
- * </p>
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IMetadataRepository extends IRepository {
-
-	/** 
-	 * Add the given installable units to this repository
-	 * @param installableUnits the installable units to add
-	 */
-	public void addInstallableUnits(IInstallableUnit[] installableUnits);
-
-	/**
-	 * Adds a reference to another repository to this repository. When a repository
-	 * is loaded by {@link IMetadataRepositoryManager}, its references
-	 * are automatically added to the repository manager's set of known repositories.
-	 * <p>
-	 * Note that this method does not add the <b>contents</b> of the given
-	 * repository to this repository, but merely adds the location of another
-	 * repository to the metadata of this repository.
-	 * <p>
-	 * The {@link IRepository#ENABLED} option flag controls whether the 
-	 * referenced repository should be marked as enabled when added to the repository
-	 * manager. If this flag is set, the repository will be marked as enabled when
-	 * added to the repository manager. If this flag is missing, the repository will
-	 * be marked as disabled.
-	 * 
-	 * @param location the location of the repository to add
-	 * @param nickname The nickname of the repository, or <code>null</code>
-	 * @param type the repository type (currently either {@link IRepository#TYPE_METADATA}
-	 * or {@link IRepository#TYPE_ARTIFACT}).
-	 * @param options bit-wise or of option constants (currently either 
-	 * {@link IRepository#ENABLED} or {@link IRepository#NONE}).
-	 * @see IMetadataRepositoryManager#setEnabled(URI, boolean)
-	 */
-	public void addReference(URI location, String nickname, int type, int options);
-
-	/**
-	 * Removes all installable units that match the given query from this repository.
-	 * 
-	 * @param query the installable units to remove
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return <code>true</code> if any units were actually removed, and
-	 * <code>false</code> otherwise
-	 */
-	public boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor);
-
-	/**
-	 * Remove all installable units from this repository.  
-	 */
-	public void removeAll();
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepositoryManager.java
deleted file mode 100644
index 2fd873d..0000000
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/metadata/IMetadataRepositoryManager.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.repository.metadata;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-
-/**
- * A metadata repository manager is used to create, access, and manipulate
- * {@link IMetadataRepository} instances. See {@link IRepositoryManager}
- * for a general description of the characteristics of repository managers.
- * 
- * @noimplement This interface is not intended to be implemented by clients.
- * @since 2.0
- */
-public interface IMetadataRepositoryManager extends IRepositoryManager {
-	/**
-	 * The name used for obtaining a reference to the metadata repository manager service
-	 */
-	public static final String SERVICE_NAME = IMetadataRepositoryManager.class.getName();
-
-	/**
-	 * Repository type for a simple repository based on a URL or local file system location.
-	 */
-	public static final String TYPE_SIMPLE_REPOSITORY = "org.eclipse.equinox.p2.metadata.repository.simpleRepository"; //$NON-NLS-1$
-	public static final String TYPE_COMPOSITE_REPOSITORY = "org.eclipse.equinox.p2.metadata.repository.compositeRepository"; //$NON-NLS-1$
-
-	/**
-	 * Creates and returns a new empty metadata repository of the given type at 
-	 * the given location.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * 
-	 * @param location the absolute location for the new repository
-	 * @param name the name of the new repository
-	 * @param type the kind of repository to create
-	 * @param properties the properties to set on the repository
-	 * @return the newly created repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>The repository type is unknown.</li>
-	 * <li>There was an error writing to the given repository location.</li>
-	 * <li>A repository already exists at that location.</li>
-	 * </ul>
-	 */
-	public IMetadataRepository createRepository(URI location, String name, String type, Map properties) throws ProvisionException;
-
-	/**
-	 * Loads a repository corresponding to the given URL.  If a repository has
-	 * previously been loaded at the given location, the same cached repository
-	 * may be returned.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * 
-	 * @param location The absolute location of the repository to load
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The loaded metadata repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public IMetadataRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Loads a repository corresponding to the given URL.  If a repository has
-	 * previously been loaded at the given location, the same cached repository
-	 * may be returned.
-	 * <p>
-	 * The resulting repository is added to the list of repositories tracked by
-	 * the repository manager. Clients must make a subsequent call to {@link #removeRepository(URI)}
-	 * if they do not want the repository manager to remember the repository for subsequent
-	 * load attempts.
-	 * </p>
-	 * <p>
-	 * The flags passed in should be taken as a hint for the type of repository to load.  If
-	 * the manager cannot load a repository that satisfies these hints, it can fail fast.
-	 * </p>
-	 * @param location The absolute location of the repository to load
-	 * @param flags - bit-wise or of flags to consider when loading the repository
-	 *  (currently only {@link IRepositoryManager#REPOSITORY_HINT_MODIFIABLE} is supported)
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The loaded metadata repository
-	 * @throws ProvisionException if the repository could not be created.  Reasons include:
-	 * <ul>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 * @see IRepositoryManager#REPOSITORY_HINT_MODIFIABLE
-	 */
-	public IMetadataRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Refreshes the repository corresponding to the given URL. This method discards
-	 * any cached state held by the repository manager and reloads the repository
-	 * contents. The provided repository location must already be known to the repository
-	 * manager.
-	 * 
-	 * @param location The absolute location of the repository to refresh
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return The refreshed metadata repository
-	 * @throws ProvisionException if the repository could not be refreshed.  Reasons include:
-	 * <ul>
-	 * <li>The location is not known to the repository manager.</li>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public IMetadataRepository refreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException;
-
-	/**
-	 * Validates a given URL and returns a status indicating whether a valid repository is likely
-	 * to be found at the given URL. Callers must assume that the validity of a 
-	 * repository location cannot be completely determined until an attempt to load 
-	 * the repository is made.  
-	 * 
-	 * @param location The absolute location of the repository to validate
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting is not desired
-	 * @return A status indicating whether a valid repository is likely located at the
-	 * location.  A status with severity <code>OK</code> indicates that the repository is
-	 * likely to be loadable, or that as much validation as could be done was successful.
-	 * Reasons for a non-OK status include:
-	 * <ul>
-	 * <li>The specified location is not a valid repository location.</li>
-	 * <li>There is no existing repository at that location.</li>
-	 * <li>The repository at that location could not be read.</li>
-	 * </ul>
-	 */
-	public IStatus validateRepositoryLocation(URI location, IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.equinox.p2.sar/.project b/bundles/org.eclipse.equinox.p2.sar/.project
deleted file mode 100644
index 594de5f..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.sar</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 24d9b4c..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Fri Feb 22 11:10:10 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
deleted file mode 100644
index 69950b7..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Sar Plug-in
-Bundle-SymbolicName: org.eclipse.equinox.p2.sar;singleton:=true
-Bundle-Version: 0.1.0
-Import-Package: org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Export-Package: org.eclipse.equinox.internal.p2.sar;x-friends:="org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.processors"
diff --git a/bundles/org.eclipse.equinox.p2.sar/about.html b/bundles/org.eclipse.equinox.p2.sar/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.sar/build.properties b/bundles/org.eclipse.equinox.p2.sar/build.properties
deleted file mode 100644
index ad40ab4..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/DirectByteArrayOutputStream.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/DirectByteArrayOutputStream.java
deleted file mode 100644
index a8cc7f6..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/DirectByteArrayOutputStream.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-/**
- * The DirectByteArrayOutputStream discloses its guts (internal byte buffer and
- * byte buffer length) to avoid unnecessary allocation of byte arrays usually
- * involved with toByteArray().
- */
-public class DirectByteArrayOutputStream extends ByteArrayOutputStream {
-
-	/**
-	 * Creates a new direct byte array output stream. The buffer capacity is
-	 * initially as defined by super class.
-	 */
-	public DirectByteArrayOutputStream() {
-		super();
-	}
-
-	/**
-	 * Creates a new byte array output stream, with a buffer capacity of the
-	 * specified size, in bytes.
-	 * 
-	 * @param size
-	 *            the initial size.
-	 * @throws IllegalArgumentException
-	 *             if size is negative.
-	 */
-	public DirectByteArrayOutputStream(int size) {
-		super(size);
-	}
-
-	/**
-	 * Return the actual internal byte buffer.
-	 * 
-	 * @return internal byte buffer
-	 */
-	public final byte[] getBuffer() {
-		return super.buf;
-	}
-
-	/**
-	 * Return the actual length of the internal byte buffer.
-	 * 
-	 * @return actual length of the buffer
-	 */
-	public final int getBufferLength() {
-		return super.count;
-	}
-
-	/**
-	 * Return an input stream containing all the (shared) bytes this output
-	 * stream has already consumed.
-	 * 
-	 * @return ByteArrayInputStream
-	 */
-	public ByteArrayInputStream getInputStream() {
-		return new ByteArrayInputStream(super.buf, 0, super.count);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarConstants.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarConstants.java
deleted file mode 100644
index 1dcbb4d..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-/**
- * Sar constants
- */
-public interface SarConstants {
-
-	/** <code>SARFILE_MARKER</code> */
-	String SARFILE_MARKER = "SarFile"; //$NON-NLS-1$
-
-	/** <code>SARFILE_VERSION</code> */
-	int SARFILE_VERSION = 2;
-
-	/**
-	 * Comment for <code>DEFAULT_ENCODING</code>
-	 */
-	String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
-
-	/**
-	 * Debug
-	 */
-	boolean DEBUG = false;
-}
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarEntry.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarEntry.java
deleted file mode 100644
index 0de0b4b..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarEntry.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.zip.ZipEntry;
-
-/**
- * A SarEntry is the header information for an entry within a
- * org.eclipse.equinox.p2.sar stream.<br>
- * <b>Note: </b>The setTime() and getTime() methods of ZipEntry (our super
- * class) perform time zone dependent (!) conversions. For our serialization and
- * deserialization the stored time has to be time zone neutral. Therefore it is
- * necessary to invert those calculations. This is also the reason for
- * duplicating the javaToDosTime() and dosToJavaTime() methods.
- */
-public class SarEntry extends ZipEntry {
-
-	private boolean isEof;
-	private boolean isZip;
-
-	/**
-	 * The name of the eof org.eclipse.equinox.p2.sar entry.
-	 */
-	private static final String EOF_ENTRY_NAME = "<eof-org.eclipse.equinox.p2.sar>"; //$NON-NLS-1$
-
-	private static final boolean DEBUG = SarConstants.DEBUG;
-
-	/**
-	 * Creates an eof org.eclipse.equinox.p2.sar entry
-	 */
-	public SarEntry() {
-		super(EOF_ENTRY_NAME);
-		setMethod(ZipEntry.DEFLATED);
-		this.isEof = true;
-		this.isZip = false;
-	}
-
-	/**
-	 * @param zipEntry
-	 */
-	public SarEntry(ZipEntry zipEntry) {
-		super(zipEntry);
-		this.isZip = false;
-		this.isEof = false;
-	}
-
-	/**
-	 * @param zipEntry
-	 * @param isZip
-	 */
-	public SarEntry(ZipEntry zipEntry, boolean isZip) {
-		super(zipEntry);
-		this.isZip = isZip;
-		this.isEof = false;
-	}
-
-	/**
-	 * @param sarInputStream
-	 * @throws IOException
-	 */
-	public SarEntry(SarInputStream sarInputStream) throws IOException {
-		// read name!
-		super(sarInputStream.readString());
-
-		String comment = sarInputStream.readString();
-		long compressedSize = sarInputStream.readLong();
-		long crc = sarInputStream.readLong();
-		byte[] extra = sarInputStream.readBytes();
-		int method = sarInputStream.readInt();
-		long size = sarInputStream.readLong();
-		long dosTime = sarInputStream.readLong();
-		boolean isEof = sarInputStream.readBoolean();
-		boolean isZip = sarInputStream.readBoolean();
-
-		if (DEBUG) {
-			System.out.println(getName() + "," + comment + "," + compressedSize + "," + crc + "," + extra + "," + method + "," + size + "," + dosTime + "," + isEof + "," + isZip);
-		}
-
-		if (method == ZipEntry.STORED) {
-			setCompressedSize(compressedSize);
-			setCrc(crc);
-			setSize(size);
-		}
-
-		setComment(comment);
-		setExtra(extra);
-		setMethod(method);
-		setTime(dosToJavaTime(dosTime));
-		setEof(isEof);
-		setZip(isZip);
-	}
-
-	/**
-	 * @param sarOutputStream
-	 * @throws IOException
-	 */
-	public void writeTo(SarOutputStream sarOutputStream) throws IOException {
-		String comment = this.getComment();
-		long compressedSize = this.getCompressedSize();
-		long crc = this.getCrc();
-		byte[] extra = this.getExtra();
-		int method = this.getMethod();
-		String name = this.getName();
-		long size = this.getSize();
-		long dosTime = javaToDosTime(this.getTime());
-		boolean isZip = this.isZip();
-		boolean isEof = this.isEof();
-
-		if (DEBUG) {
-			System.out.println(name + "," + comment + "," + compressedSize + "," + crc + "," + extra + "," + method + "," + size + "," + dosTime + "," + isEof + "," + isZip);
-		}
-
-		sarOutputStream.writeString(name);
-		sarOutputStream.writeString(comment);
-		sarOutputStream.writeLong(compressedSize);
-		sarOutputStream.writeLong(crc);
-		sarOutputStream.writeBytes(extra);
-		sarOutputStream.writeInt(method);
-		sarOutputStream.writeLong(size);
-		sarOutputStream.writeLong(dosTime);
-		sarOutputStream.writeBool(isEof);
-		sarOutputStream.writeBool(isZip);
-	}
-
-	/**
-	 * Is this the eof org.eclipse.equinox.p2.sar entry?
-	 * 
-	 * @return the answer
-	 */
-	public boolean isEof() {
-		return isEof;
-	}
-
-	private void setEof(boolean isEof) {
-		this.isEof = isEof;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isZip() {
-		return isZip;
-	}
-
-	/**
-	 * @param isZip
-	 */
-	private void setZip(boolean isZip) {
-		this.isZip = isZip;
-	}
-
-	/*
-	 * Converts DOS time to Java time (number of milliseconds since epoch).
-	 */
-	public final static long dosToJavaTime(long dtime) {
-		GregorianCalendar cal = new GregorianCalendar((int) (((dtime >> 25) & 0x7f) + 80) + 1900, (int) (((dtime >> 21) & 0x0f) - 1), (int) ((dtime >> 16) & 0x1f), (int) ((dtime >> 11) & 0x1f), (int) ((dtime >> 5) & 0x3f), (int) ((dtime << 1) & 0x3e));
-		return cal.getTime().getTime();
-	}
-
-	/*
-	 * Converts Java time to DOS time.
-	 */
-	public final static long javaToDosTime(long time) {
-		GregorianCalendar cal = new GregorianCalendar();
-		cal.setTime(new Date(time));
-		int year = cal.get(Calendar.YEAR);
-		if (year < 1980)
-			return (1 << 21) | (1 << 16);
-		int month = cal.get(Calendar.MONTH);
-		int date = cal.get(Calendar.DAY_OF_MONTH);
-		int hours = cal.get(Calendar.HOUR_OF_DAY);
-		int minutes = cal.get(Calendar.MINUTE);
-		int seconds = cal.get(Calendar.SECOND);
-		return (year - 1980) << 25 | (month + 1) << 21 | date << 16 | hours << 11 | minutes << 5 | seconds >> 1;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarInputStream.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarInputStream.java
deleted file mode 100644
index ea2abef..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarInputStream.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-import java.io.*;
-
-/**
- * The SarInputStream reads a streaming archive as an InputStream. Methods are
- * provided to position at each successive entry in the archive, and the read
- * each entry as a normal input stream using read().
- */
-public class SarInputStream extends InputStream {
-
-	private final DataInputStream dataInputStream;
-	private final int version;
-	private InputStream contentStream;
-
-	/**
-	 * Constructor for SarInputStream.
-	 * 
-	 * @param inputStream
-	 *            the input stream to use
-	 * @throws IOException
-	 */
-	public SarInputStream(InputStream inputStream) throws IOException {
-
-		this.dataInputStream = new DataInputStream(inputStream);
-
-		// SarFile marker
-		String marker = readString();
-		if (!marker.equals(SarConstants.SARFILE_MARKER)) {
-			throw new IOException("Does not contain org.eclipse.equinox.p2.sar marker.");
-		}
-
-		// SarFile version
-		version = dataInputStream.readInt();
-		if (version != SarConstants.SARFILE_VERSION) {
-			throw new IOException("Unsupported version.");
-		}
-	}
-
-	/**
-	 * Closes this stream.
-	 * 
-	 * @throws IOException
-	 *             on error
-	 */
-	public void close() throws IOException {
-		dataInputStream.close();
-	}
-
-	/**
-	 * Since we do not support marking just yet, we return false.
-	 * 
-	 * @return False.
-	 */
-	public boolean markSupported() {
-		return false;
-	}
-
-	/**
-	 * Since we do not support marking just yet, we do nothing.
-	 * 
-	 * @param markLimit
-	 *            The limit to mark.
-	 */
-	public void mark(int markLimit) {
-		// nothing
-	}
-
-	/**
-	 * Since we do not support marking just yet, we do nothing.
-	 */
-	public void reset() {
-		// nothing
-	}
-
-	/**
-	 * Get the next entry in this org.eclipse.equinox.p2.sar archive. This will skip
-	 * over any remaining data in the current entry, if there is one, and place
-	 * the input stream at the header of the next entry, and read the header and
-	 * instantiate a new SarEntry from the header bytes and return that entry.
-	 * If there are no more entries in the archive, null will be returned to
-	 * indicate that the end of the archive has been reached.
-	 * 
-	 * @return the next SarEntry in the archive, or null.
-	 * @throws IOException
-	 *             on error
-	 */
-	public SarEntry getNextEntry() throws IOException {
-		SarEntry sarEntry = new SarEntry(this);
-		if (sarEntry.isEof())
-			return null;
-
-		byte[] content = readBytes();
-		contentStream = new ByteArrayInputStream(content);
-		return sarEntry;
-
-	}
-
-	/**
-	 * Close the entry.
-	 * 
-	 * @throws IOException
-	 */
-	public void closeEntry() throws IOException {
-		contentStream.close();
-	}
-
-	/**
-	 * @return String
-	 * @throws IOException
-	 */
-	String readString() throws IOException {
-		byte[] bytes = readBytes();
-		if (bytes == null)
-			return null;
-
-		return new String(bytes, SarConstants.DEFAULT_ENCODING);
-	}
-
-	/**
-	 * @return byte[]
-	 * @throws IOException
-	 */
-	byte[] readBytes() throws IOException {
-		int length = dataInputStream.readInt();
-		if (length == -1)
-			return null;
-
-		byte[] bytes = new byte[length];
-		dataInputStream.readFully(bytes, 0, length);
-		return bytes;
-	}
-
-	/**
-	 * @return int
-	 * @throws IOException
-	 */
-	int readInt() throws IOException {
-		return dataInputStream.readInt();
-	}
-
-	/**
-	 * @return boolean
-	 * @throws IOException
-	 */
-	boolean readBoolean() throws IOException {
-		return dataInputStream.readBoolean();
-	}
-
-	/**
-	 * @return long
-	 * @throws IOException
-	 */
-	long readLong() throws IOException {
-		return dataInputStream.readLong();
-	}
-
-	/**
-	 * Reads a byte from the current tar archive entry.
-	 * 
-	 * This method simply calls read( byte[], int, int ).
-	 * 
-	 * @return The byte read, or -1 at EOF.
-	 * @throws IOException
-	 *             on error
-	 */
-	public int read() throws IOException {
-		return contentStream.read();
-	}
-
-	/**
-	 * Reads bytes from the current tar archive entry.
-	 * 
-	 * This method is aware of the boundaries of the current entry in the
-	 * archive and will deal with them as if they were this stream's start and
-	 * EOF.
-	 * 
-	 * @param buffer
-	 *            The buffer into which to place bytes read.
-	 * @param offset
-	 *            The offset at which to place bytes read.
-	 * @param numToRead
-	 *            The number of bytes to read.
-	 * @return The number of bytes read, or -1 at EOF.
-	 * @throws IOException
-	 *             on error
-	 */
-	public int read(byte[] buffer, int offset, int numToRead) throws IOException {
-		return contentStream.read(buffer, offset, numToRead);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarOutputStream.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarOutputStream.java
deleted file mode 100644
index 650a18e..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarOutputStream.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-import java.io.*;
-
-/**
- * The SarOutputStream writes a stream archive as an OutputStream. Methods are
- * provided to put entries, and then write their contents by writing to this
- * stream using write().
- */
-public class SarOutputStream extends OutputStream {
-
-	private boolean finished;
-	private final DataOutputStream dataOutputStream;
-	private final DirectByteArrayOutputStream entryContent;
-
-	/**
-	 * @param outputStream
-	 * @throws IOException
-	 */
-	public SarOutputStream(OutputStream outputStream) throws IOException {
-		dataOutputStream = new DataOutputStream(outputStream);
-		entryContent = new DirectByteArrayOutputStream(16 * 1024);
-		writeString(SarConstants.SARFILE_MARKER);
-		dataOutputStream.writeInt(SarConstants.SARFILE_VERSION);
-		finished = false;
-	}
-
-	/**
-	 * Ends the SAR archive and closes the underlying OutputStream.
-	 * 
-	 * @see java.io.OutputStream#close()
-	 */
-	// @Override
-	public void close() throws IOException {
-		finish();
-		super.close();
-	}
-
-	/**
-	 * Finish this SAR archive but does not close the underlying output stream.
-	 * 
-	 * @throws IOException
-	 */
-	public void finish() throws IOException {
-		if (finished)
-			return;
-
-		writeEOFRecord();
-		finished = true;
-	}
-
-	/**
-	 * Put an entry on the output stream. This writes the entry's header record
-	 * and positions the output stream for writing the contents of the entry.
-	 * Once this method is called, the stream is ready for calls to write() to
-	 * write the entry's contents. Once the contents are written, closeEntry()
-	 * <B>MUST </B> be called to ensure that all buffered data is completely
-	 * written to the output stream.
-	 * 
-	 * @param entry
-	 *            the SarEntry to be written to the archive.
-	 * @throws IOException
-	 */
-	public void putNextEntry(SarEntry entry) throws IOException {
-		entry.writeTo(this);
-	}
-
-	/**
-	 * Close an entry. This method MUST be called for all file entries that
-	 * contain data. The reason is that we must buffer data written to the
-	 * stream in order to satisfy the buffer's record based writes. Thus, there
-	 * may be data fragments still being assembled that must be written to the
-	 * output stream before this entry is closed and the next entry written.
-	 * 
-	 * @throws IOException
-	 */
-	public void closeEntry() throws IOException {
-		writeBytes(entryContent.getBuffer(), entryContent.getBufferLength());
-		entryContent.reset();
-	}
-
-	/**
-	 * @param s
-	 * @throws IOException
-	 */
-	void writeString(String s) throws IOException {
-		byte[] bytes = null;
-		if (s != null)
-			bytes = s.getBytes(SarConstants.DEFAULT_ENCODING);
-
-		writeBytes(bytes);
-	}
-
-	/**
-	 * @param bytes
-	 * @throws IOException
-	 */
-	void writeBytes(byte[] bytes) throws IOException {
-		writeBytes(bytes, bytes != null ? bytes.length : -1);
-	}
-
-	/**
-	 * @param bytes
-	 * @throws IOException
-	 */
-	void writeBytes(byte[] bytes, int length) throws IOException {
-		if (bytes != null) {
-			dataOutputStream.writeInt(length);
-			dataOutputStream.write(bytes, 0, length);
-		} else {
-			dataOutputStream.writeInt(-1);
-		}
-	}
-
-	/**
-	 * @param v
-	 * @throws IOException
-	 */
-	void writeInt(int v) throws IOException {
-		dataOutputStream.writeInt(v);
-	}
-
-	/**
-	 * @param bool
-	 * @throws IOException
-	 */
-	public void writeBool(boolean bool) throws IOException {
-		dataOutputStream.writeBoolean(bool);
-	}
-
-	/**
-	 * @param v
-	 * @throws IOException
-	 */
-	void writeLong(long v) throws IOException {
-		dataOutputStream.writeLong(v);
-	}
-
-	/**
-	 * Writes a byte to the current org.eclipse.equinox.p2.sar archive entry.
-	 * 
-	 * @param b
-	 *            the byte written.
-	 * @throws IOException
-	 * 
-	 * @see java.io.OutputStream#write(int)
-	 */
-	public void write(int b) throws IOException {
-		byte[] bytes = new byte[1];
-		bytes[0] = (byte) b;
-		entryContent.write(bytes);
-	}
-
-	/**
-	 * Writes bytes to the current org.eclipse.equinox.p2.sar archive entry.
-	 * 
-	 * @param bytes
-	 *            The buffer to write to the archive.
-	 * @throws IOException
-	 * 
-	 * @see java.io.OutputStream#write(byte[])
-	 */
-	public void write(byte[] bytes) throws IOException {
-		entryContent.write(bytes, 0, bytes.length);
-	}
-
-	/**
-	 * Writes bytes to the current org.eclipse.equinox.p2.sar archive entry.
-	 * 
-	 * @param bytes
-	 *            The buffer to write to the archive.
-	 * @param offset
-	 *            The offset in the buffer from which to get bytes.
-	 * @param numToWrite
-	 *            The number of bytes to write.
-	 * 
-	 * @throws IOException
-	 * 
-	 * @see java.io.OutputStream#write(byte[], int, int)
-	 */
-	public void write(byte[] bytes, int offset, int numToWrite) throws IOException {
-		entryContent.write(bytes, offset, numToWrite);
-	}
-
-	/**
-	 * Write an EOF (end of archive) entry to the org.eclipse.equinox.p2.sar archive.
-	 * 
-	 * @throws IOException
-	 */
-	private void writeEOFRecord() throws IOException {
-		SarEntry eofEntry = new SarEntry();
-		eofEntry.writeTo(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarUtil.java b/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarUtil.java
deleted file mode 100644
index 9b23ba9..0000000
--- a/bundles/org.eclipse.equinox.p2.sar/src/org/eclipse/equinox/internal/p2/sar/SarUtil.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.sar;
-
-import java.io.*;
-import java.util.zip.*;
-
-/**
- * Helper class for converting Zips/Jars to Sars and vice versa.
- */
-public class SarUtil {
-
-	private static final int BUFFER_SIZE = 8 * 1024;
-	private static final boolean DEBUG = SarConstants.DEBUG;
-
-	/**
-	 * 
-	 */
-	private SarUtil() {
-		// utility class
-	}
-
-	/**
-	 * Normalize the given zip/jar.
-	 * 
-	 * @param zipSource
-	 * @param zipTarget
-	 * @throws IOException
-	 */
-	public static void normalize(File zipSource, File zipTarget) throws IOException {
-		File tempSar = File.createTempFile("temp", ".sar");
-		try {
-			zipToSar(zipSource, tempSar);
-			sarToZip(tempSar, zipTarget);
-		} finally {
-			tempSar.delete();
-		}
-	}
-
-	/**
-	 * Normalize the given zip/jar.
-	 * 
-	 * @param zipSource
-	 * @param zipTarget
-	 * @throws IOException
-	 */
-	public static void normalize(InputStream zipSource, OutputStream zipTarget) throws IOException {
-		DirectByteArrayOutputStream tempSar = new DirectByteArrayOutputStream();
-		zipToSar(zipSource, tempSar);
-		sarToZip(tempSar.getInputStream(), zipTarget);
-	}
-
-	/**
-	 * @param zipFile
-	 * @throws IOException
-	 */
-	public static void zipToSar(File zipFile, File sarFile) throws IOException {
-		InputStream zipInputStream = new BufferedInputStream(new FileInputStream(zipFile));
-		OutputStream sarOutputStream = new BufferedOutputStream(new FileOutputStream(sarFile));
-		SarUtil.zipToSar(zipInputStream, sarOutputStream);
-	}
-
-	/**
-	 * @param zippedInputStream
-	 * @param saredOutputStream
-	 * @throws IOException
-	 */
-	public static void zipToSar(InputStream zippedInputStream, OutputStream saredOutputStream) throws IOException {
-		zipToSar(zippedInputStream, true, saredOutputStream, true);
-	}
-
-	/**
-	 * @param zippedInputStream
-	 * @param closeIn
-	 * @param saredOutputStream
-	 * @param closeOut
-	 * @throws IOException
-	 */
-	public static void zipToSar(InputStream zippedInputStream, boolean closeIn, OutputStream saredOutputStream, boolean closeOut) throws IOException {
-		zipToSarNoClose(zippedInputStream, saredOutputStream);
-
-		if (closeIn)
-			zippedInputStream.close();
-		if (closeOut)
-			saredOutputStream.close();
-	}
-
-	/**
-	 * @param sarFile
-	 * @param zipFile
-	 * @throws IOException
-	 */
-	public static void sarToZip(File sarFile, File zipFile) throws IOException {
-		InputStream saredInputStream = new BufferedInputStream(new FileInputStream(sarFile));
-		OutputStream zippedOutputStream = new BufferedOutputStream(new FileOutputStream(zipFile));
-
-		sarToZip(saredInputStream, zippedOutputStream);
-	}
-
-	/**
-	 * @param saredInputStream
-	 * @param zippedOutputStream
-	 * @throws IOException
-	 */
-	public static void sarToZip(InputStream saredInputStream, OutputStream zippedOutputStream) throws IOException {
-		sarToZip(saredInputStream, true, zippedOutputStream, true);
-	}
-
-	/**
-	 * @param saredInputStream
-	 * @param closeIn
-	 * @param zippedOutputStream
-	 * @param closeOut
-	 * @throws IOException
-	 */
-	public static void sarToZip(InputStream saredInputStream, boolean closeIn, OutputStream zippedOutputStream, boolean closeOut) throws IOException {
-		sarToZipNoClose(saredInputStream, zippedOutputStream);
-
-		if (closeIn)
-			saredInputStream.close();
-		if (closeOut)
-			zippedOutputStream.close();
-	}
-
-	/**
-	 * @param zippedInputStream
-	 * @param saredOutputStream
-	 * @throws IOException
-	 */
-	private static void zipToSarNoClose(InputStream zippedInputStream, OutputStream saredOutputStream) throws IOException {
-
-		ZipInputStream zipInputStream = new ZipInputStream(zippedInputStream);
-		SarOutputStream sarOutputStream = new SarOutputStream(saredOutputStream);
-
-		ZipEntry zipEntry;
-		byte[] buf = new byte[BUFFER_SIZE];
-		while ((zipEntry = zipInputStream.getNextEntry()) != null) {
-			boolean isZip = isZip(zipEntry);
-			SarEntry sarEntry = new SarEntry(zipEntry, isZip);
-			sarOutputStream.putNextEntry(sarEntry);
-			if (isZip) {
-				zipToSarNoClose(zipInputStream, sarOutputStream);
-			} else {
-				int read;
-				while ((read = zipInputStream.read(buf)) != -1) {
-					if (DEBUG) {
-						System.out.println("Content: " + new String(buf, 0, read));
-					}
-					sarOutputStream.write(buf, 0, read);
-				}
-			}
-			zipInputStream.closeEntry();
-			sarOutputStream.closeEntry();
-		}
-		sarOutputStream.finish();
-	}
-
-	/**
-	 * @param saredInputStream
-	 * @param zippedOutputStream
-	 * @throws IOException
-	 */
-	private static void sarToZipNoClose(InputStream saredInputStream, OutputStream zippedOutputStream) throws IOException {
-
-		SarInputStream sarInputStream = new SarInputStream(saredInputStream);
-		ZipOutputStream zipOutputStream = new ZipOutputStream(zippedOutputStream);
-
-		SarEntry sarEntry;
-		byte[] buf = new byte[BUFFER_SIZE];
-		while ((sarEntry = sarInputStream.getNextEntry()) != null) {
-			ZipEntry zipEntry = new ZipEntry(sarEntry);
-			zipOutputStream.putNextEntry(zipEntry);
-			if (sarEntry.isZip()) {
-				sarToZipNoClose(sarInputStream, zipOutputStream);
-			} else {
-				int read;
-				while ((read = sarInputStream.read(buf)) != -1) {
-					if (DEBUG) {
-						System.out.println("Content: " + new String(buf, 0, read));
-					}
-					zipOutputStream.write(buf, 0, read);
-				}
-			}
-			sarInputStream.closeEntry();
-			zipOutputStream.closeEntry();
-		}
-
-		zipOutputStream.finish();
-	}
-
-	private static boolean isZip(ZipEntry zipEntry) {
-		String name = zipEntry.getName().toLowerCase();
-		return name.endsWith(".zip") || name.endsWith(".jar");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/.classpath b/bundles/org.eclipse.equinox.p2.tests.optimizers/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/.project b/bundles/org.eclipse.equinox.p2.tests.optimizers/.project
deleted file mode 100644
index 2bc9a38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.tests.optimizers</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e1f95f0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,343 +0,0 @@
-#Tue May 27 11:30:06 EDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 56bcc3e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:58:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests.optimizers/META-INF/MANIFEST.MF
deleted file mode 100644
index b453b23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: p2 Optimizers Test Plug-in
-Bundle-SymbolicName: org.eclipse.equinox.p2.tests.optimizers;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0",
- org.junit;bundle-version="3.8.2"
-Export-Package: org.eclipse.equinox.p2.tests.artifact.optimizers,
- org.eclipse.equinox.p2.tests.artifact.processors,
- org.eclipse.equinox.p2.tests.sar
-Import-Package: ie.wombat.jbdiff,
- org.eclipse.equinox.internal.p2.artifact.optimizers,
- org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta,
- org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff,
- org.eclipse.equinox.internal.p2.artifact.optimizers.pack200,
- org.eclipse.equinox.internal.p2.artifact.processors.jardelta,
- org.eclipse.equinox.internal.p2.artifact.processors.jbdiff,
- org.eclipse.equinox.internal.p2.artifact.processors.pack200,
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.sar,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.osgi.framework;version="1.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.p2.tests.optimizers.TestActivator
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/build.properties b/bundles/org.eclipse.equinox.p2.tests.optimizers/build.properties
deleted file mode 100644
index 826f51f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               testData/
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/plugin.xml b/bundles/org.eclipse.equinox.p2.tests.optimizers/plugin.xml
deleted file mode 100644
index 40a3556..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/plugin.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/AllTests.java
deleted file mode 100644
index 6c28f52..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(JBDiffStepTest.class);
-		suite.addTestSuite(JBDiffZipStepTest.class);
-		suite.addTestSuite(Pack200OptimizerTest.class);
-		suite.addTestSuite(JarDeltaOptimizerTest.class);
-		suite.addTestSuite(Bug209233Test.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Bug209233Test.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Bug209233Test.java
deleted file mode 100644
index 4c3ac6a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Bug209233Test.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import ie.wombat.jbdiff.JBDiff;
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * ... <code>Bug209233Test</code> ...
- */
-public class Bug209233Test extends TestCase {
-
-	//	public void testGenerateTestDataDiff() throws IOException {
-	//		File predecessor = TestData.getTempFile("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.sar");
-	//		File current = TestData.getTempFile("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.sar");
-	//		File diff = File.createTempFile("org.eclipse.jdt_3.2.0-3.3.0~", ".jbdiff");
-	//		JBDiff.bsdiff(predecessor, current, diff);
-	//	}
-
-	public void testDiffJdt32SarToJdt33Sar() throws IOException {
-
-		InputStream current = TestData.get("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.sar");
-		ByteArrayOutputStream currentBS = new ByteArrayOutputStream();
-		FileUtils.copyStream(current, true, currentBS, true);
-		byte[] currentBytes = currentBS.toByteArray();
-
-		InputStream predecessor = TestData.get("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.sar");
-		ByteArrayOutputStream predecessorBS = new ByteArrayOutputStream();
-		FileUtils.copyStream(predecessor, true, predecessorBS, true);
-		byte[] predecessorBytes = predecessorBS.toByteArray();
-
-		byte[] actualBytes = JBDiff.bsdiff(predecessorBytes, predecessorBytes.length, currentBytes, currentBytes.length);
-
-		InputStream expected = TestData.get("optimizers", "org.eclipse.jdt_3.2.0-3.3.0.jbdiff");
-		ByteArrayOutputStream expectedBS = new ByteArrayOutputStream();
-		FileUtils.copyStream(expected, true, expectedBS, true);
-		byte[] expectedBytes = expectedBS.toByteArray();
-
-		assertEquals("Different lengths.", expectedBytes.length, actualBytes.length);
-		assertTrue("Different bytes.", Arrays.equals(expectedBytes, actualBytes));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffStepTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffStepTest.java
deleted file mode 100644
index 9c13016..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffStepTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff.JBDiffStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.artifact.processors.ArtifactRepositoryMock;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the <code>JBDiffStepTest</code> processing step.
- */
-public class JBDiffStepTest extends TestCase {
-
-	//	public void testGenerateTestDataExe32To33() throws IOException {
-	//		File exe32 = TestData.getTempFile("optimizers", "eclipse-3.2.exe");
-	//		File exe33 = TestData.getTempFile("optimizers", "eclipse-3.3.exe");
-	//		File diff = File.createTempFile("eclipse-3.2-3.3~", ".jbdiff");
-	//		JBDiff.bsdiff(exe32, exe33, diff);
-	//	}
-
-	/**
-	 * Test diffing the launcher.
-	 * 
-	 * @throws IOException
-	 */
-	public void testDiffEclipseExe32to33() throws IOException {
-
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/eclipse-3.2.exe");
-		MockableJBDiffStep differ = new MockableJBDiffStep(repoMock);
-		ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.1"));
-		ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-		differ.initialize(stepDescriptor, descriptor);
-
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		differ.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "eclipse-3.3.exe");
-		FileUtils.copyStream(inputStream, true, differ, true);
-
-		inputStream = TestData.get("optimizers", "eclipse-3.2-3.3.jbdiff");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-		assertTrue(Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJBDiffStep extends JBDiffStep {
-		public MockableJBDiffStep(IArtifactRepository repository) {
-			super(repository);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffZipStepTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffZipStepTest.java
deleted file mode 100644
index 5a4f3f2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JBDiffZipStepTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.jbdiff.JBDiffZipStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.artifact.processors.ArtifactRepositoryMock;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the <code>JBDiffZipTest</code> processing step.
- */
-public class JBDiffZipStepTest extends TestCase {
-
-	/**
-	 * Test diffing the <b>normalized</b> jars. This is indicated by the extension ".njar".
-	 * 
-	 * @throws IOException
-	 */
-	public void testDiffJdt32to33() throws IOException {
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar");
-		MockableJBDiffZipStep differ = new MockableJBDiffZipStep(repoMock);
-		ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.1"));
-		ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-		differ.initialize(stepDescriptor, descriptor);
-
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		differ.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "org.eclipse.jdt_3.3.0.v20070607-1300.njar");
-		FileUtils.copyStream(inputStream, true, differ, true);
-
-		inputStream = TestData.get("optimizers", "org.eclipse.jdt_3.2.0-3.3.0.jbdiff");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		assertTrue("Different diff bytes.", Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJBDiffZipStep extends JBDiffZipStep {
-		public MockableJBDiffZipStep(IArtifactRepository repository) {
-			super(repository);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JarDeltaOptimizerTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JarDeltaOptimizerTest.java
deleted file mode 100644
index a4264fb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/JarDeltaOptimizerTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * 	IBM Corporation - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import java.io.*;
-import java.util.zip.ZipInputStream;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.jardelta.JarDeltaOptimizerStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.artifact.processors.ArtifactRepositoryMock;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the <code>JarDelta</code> processing step.
- */
-public class JarDeltaOptimizerTest extends TestCase {
-
-	//	public void testPrepare() throws IOException {
-	//		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/testdata_1.0.0.1.jar");
-	//		ProcessingStep step = new MockableJarDeltaOptimizerStep(repoMock);
-	//		ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0.0.1", true);
-	//		IArtifactKey key = new ArtifactKey("ns", "cl", "id1", Version.create("1.0.0.2"));
-	//		ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-	//		step.initialize(stepDescriptor, descriptor);
-	//		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-	//		step.link(destination, new NullProgressMonitor());
-	//
-	//		InputStream inputStream = TestActivator.getContext().getBundle().getEntry("testData/optimizers/testdata_1.0.0.2.jar").openStream();
-	//		FileUtils.copyStream(inputStream, true, step, true);
-	//		destination.close();
-	//
-	//		inputStream = new ByteArrayInputStream(destination.toByteArray());
-	//		FileOutputStream file = new FileOutputStream("d:/jardelta.jar");
-	//		FileUtils.copyStream(inputStream, true, file, true);
-	//	}
-
-	public void testOptimization() throws IOException {
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/testdata_1.0.0.1.jar");
-		ProcessingStep step = new MockableJarDeltaOptimizerStep(repoMock);
-		ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0.0.1", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.0.0.2"));
-		ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-		step.initialize(stepDescriptor, descriptor);
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "testdata_1.0.0.2.jar");
-		FileUtils.copyStream(inputStream, true, step, true);
-		destination.close();
-
-		inputStream = TestData.get("optimizers", "testdata_1.0.0.1-2.jar");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		ZipInputStream expectedJar = new ZipInputStream(new ByteArrayInputStream(expected.toByteArray()));
-		ZipInputStream testJar = new ZipInputStream(new ByteArrayInputStream(destination.toByteArray()));
-		TestData.assertEquals(expectedJar, testJar);
-		expectedJar.close();
-		testJar.close();
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJarDeltaOptimizerStep extends JarDeltaOptimizerStep {
-		public MockableJarDeltaOptimizerStep(IArtifactRepository repository) {
-			super(repository);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Pack200OptimizerTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Pack200OptimizerTest.java
deleted file mode 100644
index 2401e14..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/optimizers/Pack200OptimizerTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.optimizers;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.optimizers.pack200.Pack200OptimizerStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.tests.optimizers.TestActivator;
-import org.osgi.framework.Bundle;
-
-public class Pack200OptimizerTest extends TestCase {
-
-	public Pack200OptimizerTest(String name) {
-		super(name);
-	}
-
-	public Pack200OptimizerTest() {
-		super("");
-	}
-
-	//	public void testPrepare() throws IOException {
-	//		// Setup the step
-	//		ProcessingStep step = new Pack200OptimizerStep();
-	//		FileOutputStream destination = new FileOutputStream("c:/packed.pack.gz");
-	//		step.link(destination, new NullProgressMonitor());
-	//
-	//		// drive the source data through the step
-	//		Bundle bundle = TestActivator.getContext().getBundle();
-	//		InputStream inputStream = bundle.getEntry("testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar").openStream();
-	//		FileUtils.copyStream(inputStream, true, step, true);
-	//
-	//		destination.close();
-	//	}
-
-	public void testPack() throws IOException {
-		// Setup the step
-		ProcessingStep step = new Pack200OptimizerStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertTrue("Failure: " + step.getStatus().getMessage(), step.getStatus().isOK());
-
-		// Get the test data. The Sun 1.6.0_01 JRE produces a different packed file
-		// then the IBM V5 JRE, so both versions of the test data are maintained.
-		// TODO: investigate this? Is the difference spurious? Are there differences
-		//		 in the pack200 results for other JREs? Do we need a more general
-		//		 solution to the problem?
-		String javaVersion = System.getProperty("java.version");
-		boolean is1_6 = javaVersion.compareTo("1.6") > 0;
-
-		inputStream = bundle.getEntry(is1_6 ? "testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz" : "testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz").openStream();
-
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		// Compare
-		assertTrue(Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
deleted file mode 100644
index 226e965..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(JBPatchStepTest.class);
-		suite.addTestSuite(JBPatchZipStepTest.class);
-		suite.addTestSuite(JarDeltaProcessorTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
deleted file mode 100644
index 49d6393..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.lang.reflect.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.optimizers.TestActivator;
-
-/**
- * Mock the getArtifact() needed to locate the predecessor.
- */
-public class ArtifactRepositoryMock implements InvocationHandler {
-
-	private String artifactResource;
-
-	public static IArtifactRepository getMock(String artifactResource) {
-		return (IArtifactRepository) Proxy.newProxyInstance(IArtifactRepository.class.getClassLoader(), new Class[] {IArtifactRepository.class}, new ArtifactRepositoryMock(artifactResource));
-	}
-
-	private ArtifactRepositoryMock(String artifactResource) {
-		this.artifactResource = artifactResource;
-	}
-
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		if (!method.getName().equals("getArtifact"))
-			throw new RuntimeException("Unexpected usage!");
-
-		return getArtifact((IArtifactDescriptor) args[0], (OutputStream) args[1], (IProgressMonitor) args[2]);
-	}
-
-	private IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		InputStream inputStream;
-		try {
-			inputStream = TestActivator.getContext().getBundle().getEntry(artifactResource).openStream();
-			FileUtils.copyStream(inputStream, true, destination, true);
-			return Status.OK_STATUS;
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, TestActivator.PI, ":-(", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchStepTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchStepTest.java
deleted file mode 100644
index 455d82d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchStepTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.processors.jbdiff.JBPatchStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the <code>JBPatchStep</code>
- *
- */
-public class JBPatchStepTest extends TestCase {
-
-	public void testPatchEclipseExe32to33() throws IOException {
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/eclipse-3.2.exe");
-		ProcessingStep patcher = new MockableJBPatchStep(repoMock);
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.1"));
-		ArtifactDescriptor context = new ArtifactDescriptor(key);
-		patcher.initialize(descriptor, context);
-
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		patcher.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "eclipse-3.2-3.3.jbdiff");
-		FileUtils.copyStream(inputStream, true, patcher, true);
-
-		inputStream = TestData.get("optimizers", "eclipse-3.3.exe");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-		assertTrue(Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJBPatchStep extends JBPatchStep {
-		public MockableJBPatchStep(IArtifactRepository repository) {
-			super.repository = repository;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchZipStepTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchZipStepTest.java
deleted file mode 100644
index f5aa33b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JBPatchZipStepTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.processors.jbdiff.JBPatchZipStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the <code>JBPatchZipStep</code> processing step.
- */
-public class JBPatchZipStepTest extends TestCase {
-
-	//	/**
-	//	 * This is a disabled "unit test" that was used to generate the data needed for real test.
-	//	 * @throws IOException
-	//	 */
-	//	public void testGenerateTestData() throws IOException {
-	//
-	//		File sar32 = TestData.getTempFile("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.sar");
-	//		File sar33 = TestData.getTempFile("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.sar");
-	//
-	//		File diff = File.createTempFile("org.eclipse.jdt_3.2.0-3.3.0", ".jbdiff");
-	//		JBDiff.bsdiff(sar32, sar33, diff);
-	//	}
-
-	/**
-	 * Test patching the <b>normalized</b> jars. This is indicated by the extension ".njar".
-	 * 
-	 * @throws IOException
-	 */
-	public void testPatchOrgEclipseJdt32to33() throws IOException {
-
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar");
-		ProcessingStep patcher = new MockableJBPatchZipStep(repoMock);
-		ProcessingStepDescriptor descriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.1"));
-		ArtifactDescriptor context = new ArtifactDescriptor(key);
-		patcher.initialize(descriptor, context);
-
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		patcher.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "org.eclipse.jdt_3.2.0-3.3.0.jbdiff");
-		FileUtils.copyStream(inputStream, true, patcher, true);
-
-		inputStream = TestData.get("optimizers", "org.eclipse.jdt_3.3.0.v20070607-1300.njar");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		assertTrue("Different resulting njar.", Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJBPatchZipStep extends JBPatchZipStep {
-		public MockableJBPatchZipStep(IArtifactRepository repository) {
-			super.repository = repository;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JarDeltaProcessorTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JarDeltaProcessorTest.java
deleted file mode 100644
index 0b7e960..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/artifact/processors/JarDeltaProcessorTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *		compeople AG (Stefan Liebig)
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.util.zip.ZipInputStream;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.processors.jardelta.JarDeltaProcessorStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-public class JarDeltaProcessorTest extends TestCase {
-
-	public JarDeltaProcessorTest(String name) {
-		super(name);
-	}
-
-	public JarDeltaProcessorTest() {
-		super("");
-	}
-
-	public void testProcessing() throws IOException {
-		IArtifactRepository repoMock = ArtifactRepositoryMock.getMock("testData/optimizers/testdata_1.0.0.1.jar");
-		ProcessingStep step = new MockableJarDeltaProcessorStep(repoMock);
-		ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor("id", "ns,cl,id1,1.0.0.1", true);
-		IArtifactKey key = new ArtifactKey("cl", "id1", Version.create("1.0.0.2"));
-		ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-		step.initialize(stepDescriptor, descriptor);
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		InputStream inputStream = TestData.get("optimizers", "testdata_1.0.0.1-2.jar");
-		FileUtils.copyStream(inputStream, true, step, true);
-		destination.close();
-
-		inputStream = TestData.get("optimizers", "testdata_1.0.0.2.jar");
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		ZipInputStream expectedJar = new ZipInputStream(new ByteArrayInputStream(expected.toByteArray()));
-		ZipInputStream testJar = new ZipInputStream(new ByteArrayInputStream(destination.toByteArray()));
-		TestData.assertEquals(expectedJar, testJar);
-		expectedJar.close();
-		testJar.close();
-	}
-
-	/**
-	 * Need to inject a repository!
-	 */
-	private static class MockableJarDeltaProcessorStep extends JarDeltaProcessorStep {
-		public MockableJarDeltaProcessorStep(IArtifactRepository repository) {
-			super();
-			this.repository = repository;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/AutomatedTests.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/AutomatedTests.java
deleted file mode 100644
index 54771de..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/AutomatedTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.optimizers;
-
-import junit.framework.*;
-
-/**
- * @since 1.0
- */
-public class AutomatedTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AutomatedTests.class.getName());
-		suite.addTest(org.eclipse.equinox.p2.tests.artifact.optimizers.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.artifact.processors.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.sar.AllTests.suite());
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestActivator.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestActivator.java
deleted file mode 100644
index cd68760..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestActivator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.optimizers;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * @since 1.0
- */
-public class TestActivator implements BundleActivator {
-
-	public static final String PI = "org.eclipse.equinox.p2.tests.optimizers"; //$NON-NLS-1$
-	private static BundleContext bundleContext;
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-
-	public static BundleContext getContext() {
-		return bundleContext;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestData.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestData.java
deleted file mode 100644
index 21567a4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/optimizers/TestData.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  Red Hat, Inc. (Andrew Overholt) - add getFile method
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.optimizers;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-
-/**
- * <code>TestData</code> helps with handling of test data.
- */
-public class TestData {
-
-	private static final String TEST_DATA_ROOT_FOLDER = "testData";
-	private static final String PREFIX_SEPERATOR = "~";
-
-	/**
-	 * Get an input stream from the resource testDataName within the folder 
-	 * testDataFolder of the testData folder of this project.
-	 * @param testDataFolder
-	 * @param testDataName
-	 * @return input stream for the test data
-	 * @throws IOException
-	 */
-	public static InputStream get(String testDataFolder, String testDataName) throws IOException {
-		return new BufferedInputStream(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName).openStream());
-	}
-
-	/**
-	 * Get a File from the resource testDataName within the folder 
-	 * testDataFolder of the testData folder of this project.
-	 * @param testDataFolder
-	 * @return test data File
-	 * @throws IOException
-	 */
-	public static File getFile(String testDataFolder, String testDataName) throws IOException {
-		return new File(FileLocator.toFileURL(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName)).getPath());
-	}
-
-	/**
-	 * Create a temporary file for the test data. The temporary file will be deleted 
-	 * when the jvm exists. If testDataName contains an extension this extension will
-	 * be used as suffix for the temporary file.
-	 * @param testDataFolder
-	 * @param testDataName
-	 * @return temporary file with test data
-	 * @throws IOException
-	 */
-	public static File getTempFile(String testDataFolder, String testDataName) throws IOException {
-		File temp = createTempFile(testDataName);
-		OutputStream out = new FileOutputStream(temp);
-		FileUtils.copyStream(get(testDataFolder, testDataName), true, out, true);
-		return temp;
-	}
-
-	/**
-	 * Create a temporary file. This file will be deleted if the jvm exits. 
-	 * If testDataName contains an extension this extension will be used as 
-	 * suffix for the temporary file.
-	 * @param testDataName
-	 * @return temporary file
-	 * @throws IOException
-	 */
-	public static File createTempFile(String testDataName) throws IOException {
-		int i = testDataName.lastIndexOf('.');
-		File temp = (i == -1) ? File.createTempFile(testDataName + PREFIX_SEPERATOR, ".tmp") : File.createTempFile(testDataName.substring(0, i) + PREFIX_SEPERATOR, testDataName.substring(i));
-		temp.deleteOnExit();
-		return temp;
-	}
-
-	/**
-	 * Assert equality of files.
-	 * @param expected
-	 * @param actual
-	 * @throws IOException
-	 */
-	public static void assertEquals(File expected, File actual) throws IOException {
-		Assert.assertEquals("Files have different lengths.", expected.length(), actual.length());
-		TestData.assertEquals(new BufferedInputStream(new FileInputStream(expected)), new BufferedInputStream(new FileInputStream(actual)));
-	}
-
-	/**
-	 * Assert equality of input streams.
-	 * @param expected
-	 * @param actual
-	 * @throws IOException
-	 */
-	public static void assertEquals(InputStream expected, InputStream actual) throws IOException {
-		try {
-			int readExpected = 0;
-			int readActual = 0;
-			int count = 0;
-			while (readActual != -1 && readExpected != -1) {
-				readActual = actual.read();
-				readExpected = expected.read();
-				Assert.assertEquals("Different bytes at " + count, readExpected, readActual);
-				count++;
-			}
-		} finally {
-			if (expected != null)
-				expected.close();
-			if (actual != null)
-				actual.close();
-		}
-	}
-
-	/**
-	 * Assert equality of zip input streams.
-	 * @param input1
-	 * @param input2
-	 * @throws IOException
-	 */
-	public static void assertEquals(ZipInputStream input1, ZipInputStream input2) throws IOException {
-		Map jar1 = getEntries(input1);
-		Map jar2 = getEntries(input2);
-		for (Iterator i = jar1.keySet().iterator(); i.hasNext();) {
-			String name = (String) i.next();
-			Object[] file1 = (Object[]) jar1.get(name);
-			Object[] file2 = (Object[]) jar2.remove(name);
-			Assert.assertNotNull(file2);
-
-			ZipEntry entry1 = (ZipEntry) file1[0];
-			ZipEntry entry2 = (ZipEntry) file2[0];
-			// compare the entries
-			Assert.assertTrue(entry1.getName().equals(entry2.getName()));
-			Assert.assertTrue(entry1.getSize() == entry2.getSize());
-			//	TODO for now skip over the timestamp as they seem to be different
-			// assertTrue(entry1.getTime() == entry2.getTime());
-			Assert.assertTrue(entry1.isDirectory() == entry2.isDirectory());
-			Assert.assertTrue(entry1.getCrc() == entry2.getCrc());
-			Assert.assertTrue(entry1.getMethod() == entry2.getMethod());
-
-			// check the content of the entries
-			Assert.assertTrue(Arrays.equals((byte[]) file1[1], (byte[]) file2[1]));
-		}
-
-		// ensure that we have consumed all of the entries in the second JAR
-		Assert.assertTrue(jar2.size() == 0);
-	}
-
-	private static Map getEntries(ZipInputStream input) throws IOException {
-		Map result = new HashMap();
-		while (true) {
-			ZipEntry entry = input.getNextEntry();
-			if (entry == null)
-				return result;
-
-			ByteArrayOutputStream content = new ByteArrayOutputStream();
-			FileUtils.copyStream(input, false, content, true);
-			input.closeEntry();
-			result.put(entry.getName(), new Object[] {entry, content.toByteArray()});
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/AllTests.java
deleted file mode 100644
index 172fd68..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sar;
-
-import junit.framework.*;
-
-/**
- * Performs all sar tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(DirectByteArrayOutputStreamTest.class);
-		suite.addTestSuite(SarTest.class);
-		suite.addTestSuite(SarEntryTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/DirectByteArrayOutputStreamTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/DirectByteArrayOutputStreamTest.java
deleted file mode 100644
index 576a8ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/DirectByteArrayOutputStreamTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sar;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.sar.DirectByteArrayOutputStream;
-
-/**
- * Test the <code>DirectByteArrayOutputStream</code>
- */
-public class DirectByteArrayOutputStreamTest extends TestCase {
-
-	private static final String JUST11BYTES = "just11bytes";
-	private static final int ELEVEN = JUST11BYTES.getBytes().length;
-
-	/**
-	 * Test the constraints of the DBAOS
-	 * 
-	 * @throws IOException
-	 */
-	public void testDBAOSConstraints() throws IOException {
-		DirectByteArrayOutputStream out = new DirectByteArrayOutputStream(1024);
-		out.write(JUST11BYTES.getBytes());
-		assertEquals(ELEVEN, out.getBufferLength());
-		assertEquals(ELEVEN, out.toByteArray().length);
-		assertNotSame(out.toByteArray(), out.getBuffer());
-		assertEquals(1024, out.getBuffer().length);
-		assertEquals(JUST11BYTES, new String(out.getBuffer(), 0, out.getBufferLength()));
-		ByteArrayInputStream in = out.getInputStream();
-		assertEquals(ELEVEN, in.available());
-		byte[] elevenBytes = new byte[ELEVEN];
-		in.read(elevenBytes);
-		assertTrue(Arrays.equals(JUST11BYTES.getBytes(), elevenBytes));
-		assertEquals(-1, in.read());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarEntryTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarEntryTest.java
deleted file mode 100644
index 6ea0c2f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarEntryTest.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sar;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.sar.SarEntry;
-
-public class SarEntryTest extends TestCase {
-
-	public void testJavaToDosTimeAndBack() {
-		final long minute = 1000l * 60l;
-		long now = (System.currentTimeMillis() / minute) * minute;
-		long dos = SarEntry.javaToDosTime(now);
-		assertEquals(now, SarEntry.dosToJavaTime(dos));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarTest.java b/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarTest.java
deleted file mode 100644
index 8b8dcc3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/src/org/eclipse/equinox/p2/tests/sar/SarTest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sar;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.sar.SarUtil;
-import org.eclipse.equinox.p2.tests.optimizers.TestData;
-
-/**
- * Test the sar stuff.
- */
-public class SarTest extends TestCase {
-
-	//	public void testGenerateTestDataNJarAndSarFromJar32() throws IOException {
-	//		InputStream jar32 = TestData.get("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.jar");
-	//		generateNJarAndSar("org.eclipse.jdt_3.2.0.v20060605-1400", jar32);
-	//	}
-	//
-	//	public void testGenerateTestDataNJarAndSarFromJar33() throws IOException {
-	//		InputStream jar32 = TestData.get("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.jar");
-	//		generateNJarAndSar("org.eclipse.jdt_3.3.0.v20070607-1300", jar32);
-	//	}
-	//
-	//	private void generateNJarAndSar(String name, InputStream jar) throws IOException {
-	//		File njar = File.createTempFile(name, ".njar");
-	//		OutputStream njarOut = new BufferedOutputStream(new FileOutputStream(njar));
-	//
-	//		SarUtil.normalize(jar, njarOut);
-	//
-	//		File sar = File.createTempFile(name, ".sar");
-	//		SarUtil.zipToSar(njar, sar);
-	//	}
-
-	public void testJarToSarForJdt320() throws IOException {
-		InputStream jdt320Jar = TestData.get("optimizers", "org.eclipse.jdt_3.2.0.v20060605-1400.njar");
-		InputStream jdt320Sar = TestData.get("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.sar");
-		doJarToSar(jdt320Jar, jdt320Sar);
-	}
-
-	public void testSarToJarForJdt320() throws IOException {
-		InputStream jdt320Sar = TestData.get("sar", "org.eclipse.jdt_3.2.0.v20060605-1400.sar");
-		InputStream jdt320Jar = TestData.get("optimizers", "org.eclipse.jdt_3.2.0.v20060605-1400.njar");
-		doSarToJar(jdt320Sar, jdt320Jar);
-	}
-
-	public void testJarToSarForJdt330() throws IOException {
-		InputStream jdt330Jar = TestData.get("optimizers", "org.eclipse.jdt_3.3.0.v20070607-1300.njar");
-		InputStream jdt330Sar = TestData.get("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.sar");
-		doJarToSar(jdt330Jar, jdt330Sar);
-	}
-
-	public void testSarToJarForJdt330() throws IOException {
-		InputStream jdt330Sar = TestData.get("sar", "org.eclipse.jdt_3.3.0.v20070607-1300.sar");
-		InputStream jdt330Jar = TestData.get("optimizers", "org.eclipse.jdt_3.3.0.v20070607-1300.njar");
-		doSarToJar(jdt330Sar, jdt330Jar);
-	}
-
-	/**
-	 * @throws IOException
-	 */
-	private void doJarToSar(InputStream jar, InputStream expectedSar) throws IOException {
-		File sar = TestData.createTempFile("doJarToSar.sar");
-		OutputStream sarOut = new BufferedOutputStream(new FileOutputStream(sar));
-
-		SarUtil.zipToSar(jar, sarOut);
-
-		InputStream sarIn = new BufferedInputStream(new FileInputStream(sar));
-		TestData.assertEquals(sarIn, expectedSar);
-	}
-
-	/**
-	 * @throws IOException
-	 */
-	private void doSarToJar(InputStream sar, InputStream expectedJar) throws IOException {
-		File jar = TestData.createTempFile("doSarToJar.jar");
-		OutputStream jarOut = new BufferedOutputStream(new FileOutputStream(jar));
-
-		SarUtil.sarToZip(sar, jarOut);
-
-		InputStream jarIn = new BufferedInputStream(new FileInputStream(jar));
-		TestData.assertEquals(jarIn, expectedJar);
-	}
-
-	/**
-	 * @throws IOException
-	 */
-	public void testZipToSarAndBack() throws IOException {
-		File originalZipFile = TestData.getTempFile("sar", "test.zip");
-		File sarFile = TestData.createTempFile("test.sar");
-		File recreatedZipFile = TestData.createTempFile("test.zip");
-
-		long before = System.currentTimeMillis();
-		SarUtil.zipToSar(originalZipFile, sarFile);
-		System.out.println("zipToSar took: " + (System.currentTimeMillis() - before));
-
-		before = System.currentTimeMillis();
-		SarUtil.sarToZip(sarFile, recreatedZipFile);
-		System.out.println("sarToZip took: " + (System.currentTimeMillis() - before));
-
-		TestData.assertEquals(originalZipFile, recreatedZipFile);
-	}
-
-	/**
-	 * @throws IOException
-	 */
-	public void testNormalizeOnFiles() throws IOException {
-		File alienZip = TestData.getTempFile("sar", "alien.zip");
-
-		File normalizedAlienZip = TestData.createTempFile("normalizedalien.zip");
-		SarUtil.normalize(alienZip, normalizedAlienZip);
-
-		assertTrue(alienZip.length() != normalizedAlienZip.length());
-
-		File renormalizedAlienZip = TestData.createTempFile("renormalizedalien.zip");
-		SarUtil.normalize(normalizedAlienZip, renormalizedAlienZip);
-
-		TestData.assertEquals(normalizedAlienZip, renormalizedAlienZip);
-	}
-
-	/**
-	 * @throws IOException
-	 */
-	public void testNormalizeOnStreames() throws IOException {
-		InputStream alienZip = TestData.get("sar", "alien.zip");
-		ByteArrayOutputStream normalizedAlienZip = new ByteArrayOutputStream();
-		ByteArrayOutputStream renormalizedAlienZip = new ByteArrayOutputStream();
-		try {
-			SarUtil.normalize(alienZip, normalizedAlienZip);
-
-			SarUtil.normalize(new ByteArrayInputStream(normalizedAlienZip.toByteArray()), renormalizedAlienZip);
-
-			assertTrue(Arrays.equals(normalizedAlienZip.toByteArray(), renormalizedAlienZip.toByteArray()));
-		} finally {
-			if (alienZip != null)
-				alienZip.close();
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/jarprocessor.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/jarprocessor.jar.pack.gz
deleted file mode 100644
index f2df489..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/jarprocessor.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index 9f52ad3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2-3.3.jbdiff b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2-3.3.jbdiff
deleted file mode 100644
index deac744..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2-3.3.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2.exe b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2.exe
deleted file mode 100644
index 7826d1e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.2.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.3.exe b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.3.exe
deleted file mode 100644
index c5cd8f0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/eclipse-3.3.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
deleted file mode 100644
index 0c809ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index b586d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
deleted file mode 100644
index b920d53..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
deleted file mode 100644
index 41ee47b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
deleted file mode 100644
index 9deec2f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1-2.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1-2.jar
deleted file mode 100644
index 71a546b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1-2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1.jar
deleted file mode 100644
index 49e7f90..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.2.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.2.jar
deleted file mode 100644
index 3515b0f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/optimizers/testdata_1.0.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/alien.zip b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/alien.zip
deleted file mode 100644
index 9872214..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/alien.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.jar
deleted file mode 100644
index d674aef..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.sar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.sar
deleted file mode 100644
index 0abfe36..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.2.0.v20060605-1400.sar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.jar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.jar
deleted file mode 100644
index 9deec2f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.sar b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.sar
deleted file mode 100644
index 842bb71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/org.eclipse.jdt_3.3.0.v20070607-1300.sar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/test.zip b/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/test.zip
deleted file mode 100644
index dde8b84..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/testData/sar/test.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/.classpath b/bundles/org.eclipse.equinox.p2.tests.ui/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/.project b/bundles/org.eclipse.equinox.p2.tests.ui/.project
deleted file mode 100644
index c9255c3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.tests.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b4fdaeb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,343 +0,0 @@
-#Tue Aug 19 22:58:53 EDT 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c72c988..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Tue Nov 13 12:02:11 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6333193..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Aug 23 14:59:00 CEST 2007
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch b/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
deleted file mode 100644
index 9bfbcee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
-<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.updatechecker/bin"/>
-<listEntry value="/org.eclipse.equinox.frameworkadmin.equinox/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.updatesite/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.core/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.extensionlocation/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.director.app/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.console/bin"/>
-<listEntry value="/org.eclipse.equinox.frameworkadmin/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.engine/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.exemplarysetup/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata.repository/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.publisher/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.ui.sdk/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.directorywatcher/bin"/>
-<listEntry value="/org.eclipse.equinox.simpleconfigurator.manipulator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.touchpoint.natives/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.artifact.repository/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata.generator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.jarprocessor/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.reconciler.dropins/bin"/>
-<listEntry value="/org.eclipse.equinox.simpleconfigurator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.director/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.ui/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.garbagecollector/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.touchpoint.eclipse/bin"/>
-</listAttribute>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.equinox.p2.examples.rcp.cloud,org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.examples.rcp.prestartupdate,org.eclipse.equinox.p2.testserver,org.eclipse.equinox.http,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.pde.ui.tests,org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,org.eclipse.equinox.p2.tests.optimizers,org.eclipse.pde.build.tests"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AutomatedTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/JVM 1.5.0 (MacOS X Default)"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.ui.AutomatedTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.tests.ui"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.cvs@default:default,org.eclipse.help.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.jdt.ui@default:default,org.eclipse.core.externaltools@default:default,org.apache.commons.logging@default:default,org.sat4j.core@default:default,org.eclipse.ui.console@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.expressions@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.event@default:default,org.eclipse.compare@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi.util@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.core.boot@default:default,org.eclipse.ui.intro@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.ui@default:default,org.apache.jasper@default:default,org.eclipse.swt@default:default,org.eclipse.ui.views@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.ui.forms@default:default,org.eclipse.debug.ui@default:default,org.apache.ant@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.team.ui@default:default,org.eclipse.osgi.services@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.pde.launching@default:default,javax.servlet@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ui.navigator.resources@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.debug.core@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.pde.api.tools@default:default,org.apache.lucene@default:default,org.junit*4.7.0.v20091118-1515@default:default,org.apache.commons.codec@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.ui.editors@default:default,org.eclipse.equinox.launcher@default:default,org.junit*3.8.2.v20090203-1005@default:default,org.eclipse.equinox.security.ui@default:default,com.ibm.icu@default:default,org.eclipse.releng.tools@default:default,org.eclipse.jsch.core@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.ant.launching@default:default,org.eclipse.jdt@default:default,org.apache.lucene.analysis@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.registry@default:default,org.junit4@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ui.net@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.databinding.observable@default:default,org.eclipse.pde.ds.core@default:default,org.mortbay.jetty.util@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.help.appserver@default:default,org.eclipse.sdk@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.help.base@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.ecf@default:default,org.apache.commons.httpclient@default:default,org.eclipse.pde.ui@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.core.runtime@default:true,org.eclipse.jface.text@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.equinox.util@default:default,org.eclipse.pde.core@default:default,org.eclipse.help@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ant.ui@default:default,org.eclipse.search@default:default,org.eclipse.pde.build@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.core.resources@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.compare.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.ui.browser@default:default,org.objectweb.asm@default:default,org.mortbay.jetty.server@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.sat4j.pb@default:default,org.eclipse.update.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform@default:default,org.eclipse.equinox.common@2:true,org.eclipse.pde.ua.core@default:default,org.eclipse.equinox.security@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ecf.filetransfer@default:default,org.hamcrest.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.rcp@default:default,org.eclipse.help.webapp@default:default,org.eclipse.core.jobs@default:default,org.eclipse.text@default:default,com.jcraft.jsch@default:default,org.apache.commons.el@default:default,javax.servlet.jsp@default:default,org.eclipse.core.net@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.jdt.apt.core@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.equinox.p2.touchpoint.osgi@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.sar@default:default,org.eclipse.equinox.p2.diagnostic@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.test.performance@default:default,org.eclipse.equinox.p2.operations@default:default,ie.wombat.jbdiff@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.easymock@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.pde.ui@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.afterthefact@default:default,org.eclipse.equinox.p2.common@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.p2.installer@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.ui@default:default,ie.wombat.jbdiff.test@default:default,org.eclipse.equinox.p2.tests.ui@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.pde.core@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.equinox.p2.artifact.processors@default:default,org.eclipse.wst.server.discovery@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.tests@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.core.tests.harness@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.weblistener@default:default,org.eclipse.equinox.p2.tests.verifier@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.frameworkadmin.test@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.metadata@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 586bf1e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.tests.ui
-Bundle-Version: 1.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.4.100",
- org.eclipse.ui;bundle-version="3.5.0",
- org.eclipse.equinox.p2.metadata;bundle-version="1.0.0",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.100",
- org.eclipse.equinox.p2.ui;bundle-version="1.0.100",
- org.eclipse.core.tests.harness;bundle-version="3.4.0",
- org.eclipse.equinox.p2.core;bundle-version="1.0.100",
- org.eclipse.equinox.p2.engine;bundle-version="1.0.100",
- org.eclipse.equinox.p2.director;bundle-version="1.0.100",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="1.0.100",
- org.junit;bundle-version="3.8.0",
- org.eclipse.equinox.p2.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.tests;bundle-version="1.2.0"
-Import-Package: org.eclipse.equinox.p2.common,
- org.eclipse.equinox.p2.operations
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/about.html b/bundles/org.eclipse.equinox.p2.tests.ui/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/build.properties b/bundles/org.eclipse.equinox.p2.tests.ui/build.properties
deleted file mode 100644
index 0464be0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               test.xml
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/plugin.properties b/bundles/org.eclipse.equinox.p2.tests.ui/plugin.properties
deleted file mode 100644
index 08e7c4e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Tests (Incubation)
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AbstractProvisioningUITest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AbstractProvisioningUITest.java
deleted file mode 100644
index 73ff757..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AbstractProvisioningUITest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.model.ProfileElement;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.ProfileModificationJob;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.ui.Policy;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-/**
- * Abstract class to set up the colocated UI test repo
- */
-public abstract class AbstractProvisioningUITest extends AbstractProvisioningTest {
-
-	protected static final String TEST_REPO_PATH = "testRepos/updateSite/";
-	protected static final String TESTPROFILE = "TestProfile";
-	protected static final String TOPLEVELIU = "TopLevelIU";
-	protected static final String TOPLEVELIU2 = "TopLevelIU2";
-	protected static final String NESTEDIU = "NestedIU";
-	protected static final String LOCKEDIU = "LockedIU";
-	protected static final String UNINSTALLEDIU = "UninstalledIU";
-	protected static final String CATEGORYIU = "CategoryIU";
-	protected IMetadataRepositoryManager metaManager;
-	protected IArtifactRepositoryManager artifactManager;
-	protected URI testRepoLocation;
-	protected IProfile profile;
-	protected ProfileElement profileElement;
-	protected IInstallableUnit top1;
-	protected IInstallableUnit top2;
-	protected IInstallableUnit nested;
-	protected IInstallableUnit locked;
-	protected IInstallableUnit upgrade;
-	protected IInstallableUnit uninstalled;
-	protected IInstallableUnit category;
-	private ProvisioningUI ui;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		ui = ProvisioningUI.getDefaultUI();
-		ui = new ProvisioningUI(ui.getSession(), TESTPROFILE, ui.getPolicy());
-		ui.getOperationRunner().suppressRestart(true);
-		profile = createProfile(TESTPROFILE);
-		profileElement = new ProfileElement(null, TESTPROFILE);
-		install((top1 = createIU(TOPLEVELIU, Version.create("1.0.0"))), true, false);
-		install((top2 = createIU(TOPLEVELIU2)), true, false);
-		install((nested = createIU(NESTEDIU)), false, false);
-		install((locked = createIU(LOCKEDIU)), true, true);
-		uninstalled = createIU(UNINSTALLEDIU);
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor(TOPLEVELIU, new VersionRange("[1.0.0, 1.0.0]"), 0, "update description");
-		upgrade = createIU(TOPLEVELIU, Version.createOSGi(2, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-
-		category = createNamedIU(CATEGORYIU, CATEGORYIU, Version.create("1.0.0"), true);
-		createTestMetdataRepository(new IInstallableUnit[] {top1, top2, uninstalled, upgrade});
-
-		metaManager = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.context, IMetadataRepositoryManager.SERVICE_NAME);
-		artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.context, IArtifactRepositoryManager.SERVICE_NAME);
-		File site = new File(TestActivator.getTestDataFolder().toString(), TEST_REPO_PATH);
-		testRepoLocation = site.toURI();
-		metaManager.addRepository(testRepoLocation);
-		artifactManager.addRepository(testRepoLocation);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		metaManager.removeRepository(testRepoLocation);
-		artifactManager.removeRepository(testRepoLocation);
-	}
-
-	protected boolean managerContains(IRepositoryManager manager, URI location) {
-		URI[] locations = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < locations.length; i++) {
-			if (locations[i].equals(location))
-				return true;
-		}
-		return false;
-	}
-
-	protected ProvisioningSession getSession() {
-		return ui.getSession();
-	}
-
-	protected ProvisioningUI getProvisioningUI() {
-		return ui;
-	}
-
-	protected Policy getPolicy() {
-		return ui.getPolicy();
-	}
-
-	protected IStatus install(IInstallableUnit iu, boolean root, boolean lock) throws ProvisionException {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {iu});
-		if (root) {
-			req.setInstallableUnitProfileProperty(iu, IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-		}
-		if (lock) {
-			req.setInstallableUnitProfileProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU, new Integer(IProfile.LOCK_UNINSTALL | IProfile.LOCK_UPDATE).toString());
-		}
-		// Use an empty provisioning context to prevent repo access
-		IProvisioningPlan plan = getSession().getPlanner().getProvisioningPlan(req, new ProvisioningContext(new URI[] {}), getMonitor());
-		if (plan.getStatus().getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL)
-			return plan.getStatus();
-		return getSession().performProvisioningPlan(plan, new DefaultPhaseSet(), new ProvisioningContext(), getMonitor());
-	}
-
-	protected IInstallableUnit createNamedIU(String id, String name, Version version, boolean isCategory) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(id);
-		iu.setVersion(version);
-		iu.setProperty(IInstallableUnit.PROP_NAME, name);
-		if (isCategory)
-			iu.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, Boolean.toString(true));
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	protected ProfileModificationJob getLongTestOperation() {
-		return new ProfileModificationJob("Test Operation", getSession(), TESTPROFILE, null, null) {
-			public IStatus runModal(IProgressMonitor monitor) {
-				while (true) {
-					// spin unless cancelled
-					if (monitor.isCanceled())
-						return Status.CANCEL_STATUS;
-				}
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AutomatedTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AutomatedTests.java
deleted file mode 100644
index cb2b184..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/AutomatedTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui;
-
-import junit.framework.*;
-
-/**
- * This is the master test suite for all automated provisioning UI tests. It runs every test
- * that is suitable for running in an automated fashion as part of a build. 
- */
-public class AutomatedTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AutomatedTests.class.getName());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.operations.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.query.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.actions.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.dialogs.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.repohandling.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ui.planning.AllTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ActionTest.java
deleted file mode 100644
index e3ec79e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ActionTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Abstract class for UI action tests
- */
-public abstract class ActionTest extends AbstractProvisioningUITest {
-	protected ISelectionProvider getSelectionProvider(final Object[] selections) {
-
-		return new ISelectionProvider() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-			 */
-			public void addSelectionChangedListener(ISelectionChangedListener listener) {
-				// Ignore because the selection won't change 
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-			 */
-			public ISelection getSelection() {
-				return new StructuredSelection(selections);
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-			 */
-			public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-				// ignore because the selection is static
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
-			 */
-			public void setSelection(ISelection sel) {
-				throw new UnsupportedOperationException("This ISelectionProvider is static, and cannot be modified."); //$NON-NLS-1$
-			}
-		};
-	}
-
-	protected Object[] getEmptySelection() {
-		return new Object[0];
-	}
-
-	protected Object[] getInvalidSelection() {
-		return new Object[] {new Object(), new Object()};
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/AllTests.java
deleted file mode 100644
index f96bc72..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import junit.framework.*;
-
-/**
- * Performs all UI action tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(UninstallActionTest.class);
-		suite.addTestSuite(InstallActionTest.class);
-		suite.addTestSuite(UpdateActionTest.class);
-		suite.addTestSuite(RemoveColocatedRepositoryActionTest.class);
-		suite.addTestSuite(ElementUtilsTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ColocatedRepositoryActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ColocatedRepositoryActionTest.java
deleted file mode 100644
index bd85d4a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ColocatedRepositoryActionTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
-
-/**
- * Abstract class to set up the colocated UI test repo
- */
-public abstract class ColocatedRepositoryActionTest extends ActionTest {
-
-	protected Object[] getValidRepoSelection() {
-		return new MetadataRepositoryElement[] {new MetadataRepositoryElement(null, testRepoLocation, true)};
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ElementUtilsTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ElementUtilsTest.java
deleted file mode 100644
index c15ef96..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ElementUtilsTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.p2.ui.model.*;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @since 3.5
- *
- */
-public class ElementUtilsTest extends ProfileModificationActionTest {
-
-	public void testEmpty() {
-		assertEquals(getEmptySelection().length, ElementUtils.elementsToIUs(getEmptySelection()).length);
-	}
-
-	public void testInvalid() {
-		assertTrue(ElementUtils.elementsToIUs(getInvalidSelection()).length == 0);
-	}
-
-	public void testIUs() {
-		assertEquals(getTopLevelIUs().length, ElementUtils.elementsToIUs(getTopLevelIUs()).length);
-	}
-
-	public void testElements() {
-		assertEquals(getTopLevelIUElements().length, ElementUtils.elementsToIUs(getTopLevelIUElements()).length);
-	}
-
-	public void testMixedIUsAndNonIUs() {
-		assertTrue(getMixedIUsAndNonIUs().length != ElementUtils.elementsToIUs(getMixedIUsAndNonIUs()).length);
-	}
-
-	public void testMixedIUsAndElements() {
-		assertEquals(getMixedIUsAndElements().length, ElementUtils.elementsToIUs(getMixedIUsAndElements()).length);
-	}
-
-	public void testUpdateUsingElements() throws URISyntaxException {
-		ProvisioningSession session = getSession();
-		// Two visible repos, one is added, the other is not
-		URI known1 = new URI("http://example.com/known1");
-		URI known2 = new URI("http://example.com/known2");
-		IMetadataRepositoryManager manager = session.getMetadataRepositoryManager();
-		manager.addRepository(known1);
-
-		// Add system repos that should not be known or affected by ElementUtils
-		// One is an enabled system repo, one is disabled system repo
-		URI uri = new URI("http://example.com/1");
-		URI uri2 = new URI("http://example.com/2");
-		manager.addRepository(uri);
-		manager.setRepositoryProperty(uri, IRepository.PROP_SYSTEM, Boolean.toString(true));
-		manager.addRepository(uri2);
-		session.getArtifactRepositoryManager().addRepository(uri2);
-		manager.setRepositoryProperty(uri2, IRepository.PROP_SYSTEM, Boolean.toString(true));
-		manager.setEnabled(uri2, false);
-		session.getArtifactRepositoryManager().setEnabled(uri2, false);
-
-		// The elements reflect all visible sites, but not system sites
-		MetadataRepositories root = new MetadataRepositories(getProvisioningUI());
-		List children = new ArrayList();
-		children.add(new MetadataRepositoryElement(null, known1, true));
-		// Add known2, this is as if a user added it in the pref page
-		children.add(new MetadataRepositoryElement(null, known2, true));
-		MetadataRepositoryElement[] elements = (MetadataRepositoryElement[]) children.toArray(new MetadataRepositoryElement[children.size()]);
-
-		// Add a visible repo not known by the elements
-		URI uri3 = new URI("http://example.com/3");
-		manager.addRepository(uri3);
-
-		// Now update the repo using the elements.  
-		// We expect known2 to get added because it was in the elements
-		// We expect uri3 to get removed (as if it had been removed from a pref page)
-		// System repos shouldn't be touched
-		// All this happens asynchronously so we have to install a listener to know
-		// that it has completed.
-		// The repo update happens in a job, so we need to ensure it finished
-		final boolean[] done = new boolean[1];
-		done[0] = false;
-
-		Platform.getJobManager().addJobChangeListener(new IJobChangeListener() {
-
-			public void aboutToRun(IJobChangeEvent event) {
-				// TODO Auto-generated method stub
-
-			}
-
-			public void awake(IJobChangeEvent event) {
-				// TODO Auto-generated method stub
-
-			}
-
-			public void done(IJobChangeEvent event) {
-				if (event.getJob().getName().equals(ProvUIMessages.ElementUtils_UpdateJobTitle))
-					done[0] = true;
-
-			}
-
-			public void running(IJobChangeEvent event) {
-				// TODO Auto-generated method stub
-			}
-
-			public void scheduled(IJobChangeEvent event) {
-				// TODO Auto-generated method stub
-			}
-
-			public void sleeping(IJobChangeEvent event) {
-				// TODO Auto-generated method stub
-
-			}
-
-		});
-
-		ElementUtils.updateRepositoryUsingElements(elements, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
-
-		// spin event loop until job is done
-		Display display = PlatformUI.getWorkbench().getDisplay();
-		while (!done[0]) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		URI[] enabled = session.getMetadataRepositoryManager().getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		URI[] disabled = session.getMetadataRepositoryManager().getKnownRepositories(IRepositoryManager.REPOSITORIES_DISABLED);
-
-		boolean foundKnown1 = false;
-		boolean foundKnown2 = false;
-		boolean found1 = false;
-		boolean found2 = false;
-		boolean found3 = false;
-
-		for (int i = 0; i < enabled.length; i++) {
-			if (enabled[i].equals(known1))
-				foundKnown1 = true;
-			if (enabled[i].equals(known2))
-				foundKnown2 = true;
-			if (enabled[i].equals(uri))
-				found1 = true;
-			if (enabled[i].equals(uri2))
-				found2 = true;
-			if (enabled[i].equals(uri3))
-				found3 = true;
-		}
-		for (int i = 0; i < disabled.length; i++) {
-			if (disabled[i].equals(known1))
-				foundKnown1 = true;
-			if (disabled[i].equals(known2))
-				foundKnown2 = true;
-			if (disabled[i].equals(uri))
-				found1 = true;
-			if (disabled[i].equals(uri2))
-				found2 = true;
-			if (disabled[i].equals(uri3))
-				found3 = true;
-		}
-		assertTrue("1.0", found1); // Enabled system repo still exists
-		assertTrue("1.1", found2); // Disabled system repo still exists
-		assertFalse("1.2", found3); // Enabled repo not known by elements was deleted
-		assertTrue("1.3", foundKnown1); // Enabled visible repo still exists
-		assertTrue("1.4", foundKnown2); // Enabled visible repo in elements was added
-
-		// cleanup
-		manager.removeRepository(known1);
-		manager.removeRepository(known2);
-		manager.removeRepository(uri);
-		manager.removeRepository(uri2);
-		session.getArtifactRepositoryManager().removeRepository(uri2);
-		manager.removeRepository(uri3);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/InstallActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/InstallActionTest.java
deleted file mode 100644
index aea4714..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/InstallActionTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.actions.InstallAction;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.internal.p2.ui.model.IIUElement;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 3.5
- *
- */
-public class InstallActionTest extends ProfileModificationActionTest {
-
-	class TestInstallAction extends InstallAction {
-		TestInstallAction(Object[] sel) {
-			super(InstallActionTest.this.getProvisioningUI(), InstallActionTest.this.getSelectionProvider(sel), profile.getProfileId());
-		}
-
-		public IInstallableUnit[] getSelectedIUs() {
-			return super.getSelectedIUs();
-		}
-	}
-
-	public void testEmptySelection() {
-		TestInstallAction action = new TestInstallAction(getEmptySelection());
-		assertFalse("Should not be enabled with empty selection", action.isEnabled());
-		assertEquals(0, action.getSelectedIUs().length);
-	}
-
-	public void testIUs() {
-		TestInstallAction action = new TestInstallAction(getTopLevelIUs());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testElements() {
-		TestInstallAction action = new TestInstallAction(getTopLevelIUElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndNonIUs() {
-		TestInstallAction action = new TestInstallAction(getMixedIUsAndNonIUs());
-		assertTrue("Mixed selections allowed", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndElements() {
-		TestInstallAction action = new TestInstallAction(getMixedIUsAndElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testParentIsCategory() {
-		TestInstallAction action = new TestInstallAction(getCategoryAndChildIUElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		// Only the non-category should be considered a selection
-		assertEquals(1, action.getSelectedIUs().length);
-	}
-
-	public void testParentIsNestedCategory() {
-		TestInstallAction action = new TestInstallAction(getNestedCategoriesAndChildIUElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		// Only the non-category should be considered a selection
-		assertEquals(1, action.getSelectedIUs().length);
-	}
-
-	protected IIUElement element(IInstallableUnit iu) {
-		return new AvailableIUElement(null, iu, profile.getProfileId(), true);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ProfileModificationActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ProfileModificationActionTest.java
deleted file mode 100644
index 5600fb3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/ProfileModificationActionTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.model.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * Abstract class to set up different IU selection combinations
- */
-public abstract class ProfileModificationActionTest extends ActionTest {
-	protected IInstallableUnit[] getMixedIUs() {
-		return new IInstallableUnit[] {top1, top2, nested};
-	}
-
-	protected Object[] getCategoryAndChildIUElements() {
-		CategoryElement element = new CategoryElement(null, category);
-		AvailableIUElement child = new AvailableIUElement(element, uninstalled, TESTPROFILE, true);
-		return new Object[] {element, child};
-	}
-
-	protected Object[] getNestedCategoriesAndChildIUElements() {
-		CategoryElement element = new CategoryElement(null, category);
-		CategoryElement nested = new CategoryElement(element, category);
-		AvailableIUElement child = new AvailableIUElement(nested, uninstalled, TESTPROFILE, true);
-		return new Object[] {element, nested, child};
-	}
-
-	protected IInstallableUnit[] getTopLevelIUs() {
-		return new IInstallableUnit[] {top1, top2};
-	}
-
-	protected IInstallableUnit[] getTopLevelIUsWithLockedIU() {
-		return new IInstallableUnit[] {top1, top2, locked};
-	}
-
-	protected IIUElement[] getTopLevelIUElements() {
-		return new IIUElement[] {element(top1), element(top2)};
-	}
-
-	protected Object[] getMixedIUElements() {
-		return new IIUElement[] {element(top1), element(top2), element(nested)};
-	}
-
-	protected Object[] getTopLevelIUElementsWithLockedIU() {
-		return new IIUElement[] {element(top1), element(top2), element(locked)};
-	}
-
-	protected Object[] getMixedIUsAndElements() {
-		return new Object[] {top1, element(top2)};
-	}
-
-	protected Object[] getMixedIUsAndNonIUs() {
-		return new Object[] {top1, top2, new Object()};
-	}
-
-	protected Object[] getNonIUSelection() {
-		return getInvalidSelection();
-	}
-
-	protected IIUElement element(IInstallableUnit iu) {
-		return new InstalledIUElement(profileElement, profile.getProfileId(), iu);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/RemoveColocatedRepositoryActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/RemoveColocatedRepositoryActionTest.java
deleted file mode 100644
index 687fe09..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/RemoveColocatedRepositoryActionTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.actions.RemoveColocatedRepositoryAction;
-
-public class RemoveColocatedRepositoryActionTest extends ColocatedRepositoryActionTest {
-	public void testEmptySelection() {
-		RemoveColocatedRepositoryAction action = new RemoveColocatedRepositoryAction(getProvisioningUI(), getSelectionProvider(getEmptySelection()));
-		assertFalse("Should not be enabled with empty selection", action.isEnabled());
-	}
-
-	public void testInvalidSelection() {
-		RemoveColocatedRepositoryAction action = new RemoveColocatedRepositoryAction(getProvisioningUI(), getSelectionProvider(getInvalidSelection()));
-		assertFalse("Should not be enabled with invalid selection", action.isEnabled());
-	}
-
-	public void testRemoveRepo() {
-		assertTrue(managerContains(metaManager, testRepoLocation));
-		assertTrue(managerContains(artifactManager, testRepoLocation));
-
-		RemoveColocatedRepositoryAction action = new RemoveColocatedRepositoryAction(getProvisioningUI(), getSelectionProvider(getValidRepoSelection()));
-		assertTrue("Should be enabled", action.isEnabled());
-		action.run();
-
-		// Action runs asynchronously so these tests don't apply.
-		// Right now this test is only testing enablement and the ability to run
-		// assertFalse(managerContains(metaManager, testRepoLocation));
-		// assertFalse(managerContains(artifactManager, testRepoLocation));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UninstallActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UninstallActionTest.java
deleted file mode 100644
index 8a7f9d9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UninstallActionTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.actions.UninstallAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 3.5
- *
- */
-public class UninstallActionTest extends ProfileModificationActionTest {
-	class TestUninstallAction extends UninstallAction {
-		TestUninstallAction(Object[] sel) {
-			super(UninstallActionTest.this.getProvisioningUI(), UninstallActionTest.this.getSelectionProvider(sel), profile.getProfileId());
-		}
-
-		public IInstallableUnit[] getSelectedIUs() {
-			return super.getSelectedIUs();
-		}
-	}
-
-	public void testLockedElements() {
-		TestUninstallAction action = new TestUninstallAction(getTopLevelIUElementsWithLockedIU());
-		assertFalse("Should not be enabled with locked elements", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testLockedIUs() {
-		TestUninstallAction action = new TestUninstallAction(getTopLevelIUsWithLockedIU());
-		assertFalse("Should not be enabled with locked ius", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testEmptySelection() {
-		TestUninstallAction action = new TestUninstallAction(getEmptySelection());
-		assertFalse("Should not be enabled with empty selection", action.isEnabled());
-		assertEquals(0, action.getSelectedIUs().length);
-	}
-
-	public void testTopLevelIUs() {
-		TestUninstallAction action = new TestUninstallAction(getTopLevelIUs());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testTopLevelElements() {
-		TestUninstallAction action = new TestUninstallAction(getTopLevelIUElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testNestedIUs() {
-		TestUninstallAction action = new TestUninstallAction(getMixedIUs());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testNestedElements() {
-		TestUninstallAction action = new TestUninstallAction(getMixedIUElements());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndNonIUs() {
-		TestUninstallAction action = new TestUninstallAction(getMixedIUsAndNonIUs());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndElements() {
-		TestUninstallAction action = new TestUninstallAction(getMixedIUsAndElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UpdateActionTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UpdateActionTest.java
deleted file mode 100644
index fa3ca5e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/actions/UpdateActionTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.ui.actions;
-
-import org.eclipse.equinox.internal.p2.ui.actions.UpdateAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 3.5
- *
- */
-public class UpdateActionTest extends ProfileModificationActionTest {
-	class TestUpdateAction extends UpdateAction {
-		TestUpdateAction(Object[] sel) {
-			super(UpdateActionTest.this.getProvisioningUI(), UpdateActionTest.this.getSelectionProvider(sel), profile.getProfileId(), true);
-		}
-
-		public IInstallableUnit[] getSelectedIUs() {
-			return super.getSelectedIUs();
-		}
-	}
-
-	public void testLockedElements() {
-		TestUpdateAction action = new TestUpdateAction(getTopLevelIUElementsWithLockedIU());
-		assertFalse("Should not be enabled with locked elements", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testLockedIUs() {
-		TestUpdateAction action = new TestUpdateAction(getTopLevelIUsWithLockedIU());
-		assertFalse("Should not be enabled with locked ius", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testEmptySelection() {
-		TestUpdateAction action = new TestUpdateAction(getEmptySelection());
-		assertFalse("Should not be enabled with empty selection", action.isEnabled());
-		assertEquals(0, action.getSelectedIUs().length);
-	}
-
-	public void testTopLevelIUs() {
-		TestUpdateAction action = new TestUpdateAction(getTopLevelIUs());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testTopLevelElements() {
-		TestUpdateAction action = new TestUpdateAction(getTopLevelIUElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testNestedIUs() {
-		TestUpdateAction action = new TestUpdateAction(getMixedIUs());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testNestedElements() {
-		TestUpdateAction action = new TestUpdateAction(getMixedIUElements());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndNonIUs() {
-		TestUpdateAction action = new TestUpdateAction(getMixedIUsAndNonIUs());
-		assertFalse("Should not enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-
-	public void testMixedIUsAndElements() {
-		TestUpdateAction action = new TestUpdateAction(getMixedIUsAndElements());
-		assertTrue("Should be enabled", action.isEnabled());
-		assertEquals(2, action.getSelectedIUs().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/AllTests.java
deleted file mode 100644
index 7b6fc4d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/AllTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import junit.framework.*;
-
-/**
- * Performs all UI wizard and dialog tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(InstallWizardTest.class);
-		suite.addTestSuite(InstalledSoftwarePageTest.class);
-		suite.addTestSuite(InstallationHistoryPageTest.class);
-		suite.addTestSuite(UpdateWizardTest.class);
-		suite.addTestSuite(UninstallWizardTest.class);
-		suite.addTestSuite(RepositoryManipulationPageTest.class);
-		suite.addTestSuite(IUPropertyPagesTest.class);
-		suite.addTestSuite(PreferencePagesTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/IUPropertyPagesTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/IUPropertyPagesTest.java
deleted file mode 100644
index a469fe7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/IUPropertyPagesTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-
-/**
- * Tests for the install wizard
- */
-public class IUPropertyPagesTest extends AbstractProvisioningUITest {
-
-	private static final String GENERAL = "org.eclipse.equinox.p2.ui.sdk.IUGeneralInfoPropertyPage";
-	private static final String COPYRIGHT = "org.eclipse.equinox.p2.ui.sdk.IUCopyrightPropertyPage";
-	private static final String LICENSE = "org.eclipse.equinox.p2.ui.sdk.IULicensePropertyPage";
-
-	public void testGeneralPage() throws URISyntaxException {
-		PropertyDialog dialog = PropertyDialog.createDialogOn(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), GENERAL, getIU());
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-
-	public void testCopyrightPage() throws URISyntaxException {
-		PropertyDialog dialog = PropertyDialog.createDialogOn(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), COPYRIGHT, getIU());
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-
-	public void testLicensePage() throws URISyntaxException {
-		PropertyDialog dialog = PropertyDialog.createDialogOn(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), LICENSE, getIU());
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-
-	private IInstallableUnit getIU() throws URISyntaxException {
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("TestIU");
-		iuDescription.setVersion(Version.createOSGi(1, 0, 0));
-		iuDescription.setProperty(IInstallableUnit.PROP_PROVIDER, "Test Cases");
-		iuDescription.setProperty(IInstallableUnit.PROP_DESCRIPTION, "A description");
-		iuDescription.setProperty(IInstallableUnit.PROP_NAME, "The Biggest Baddest Test IU");
-		iuDescription.setLicenses(new ILicense[] {MetadataFactory.createLicense(new URI("http://example.com"), "This is an example license")});
-		iuDescription.setCopyright(MetadataFactory.createCopyright(new URI("http://example.com"), "This is an example copyright"));
-		return MetadataFactory.createInstallableUnit(iuDescription);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallWizardTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallWizardTest.java
deleted file mode 100644
index c79520b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallWizardTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.metadata.License;
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.p2.ui.dialogs.*;
-import org.eclipse.equinox.internal.p2.ui.model.IIUElement;
-import org.eclipse.equinox.internal.p2.ui.viewers.DeferredQueryContentProvider;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.InstallOperation;
-import org.eclipse.equinox.p2.operations.ProfileModificationJob;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Tests for the install wizard
- */
-public class InstallWizardTest extends WizardTest {
-
-	private static final String SELECTION_PAGE = "IUSelectionPage";
-	private static final String AVAILABLE_SOFTWARE_PAGE = "AvailableSoftwarePage";
-	private static final String MAIN_IU = "MainIU";
-
-	IInstallableUnit toInstall;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(MAIN_IU);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_GROUP, "true");
-		iu.setVersion(Version.createOSGi(1, 0, 0));
-		iu.setSingleton(true);
-		iu.setLicenses(new ILicense[] {new License(null, "There is a license to accept!")});
-		iu.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, MAIN_IU, iu.getVersion())});
-		toInstall = MetadataFactory.createInstallableUnit(iu);
-		createTestMetdataRepository(new IInstallableUnit[] {toInstall});
-	}
-
-	public void testInstallWizardResolved() {
-		InstallOperation op = new InstallOperation(getSession(), new IInstallableUnit[] {toInstall});
-		op.setProfileId(TESTPROFILE);
-		PreselectedIUInstallWizard wizard = new PreselectedIUInstallWizard(getProvisioningUI(), op, new IInstallableUnit[] {toInstall}, null);
-		ProvisioningWizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		ProfileModificationJob longOp = null;
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// should already have a plan
-			assertTrue("1.0", page1.isPageComplete());
-			// simulate the next button by getting next page and showing
-			IWizardPage page = page1.getNextPage();
-			dialog.showPage(page);
-			// we should be ok
-			assertTrue("1.1", page.isPageComplete());
-
-			// if another operation is scheduled for this profile, we should not be allowed to proceed
-			longOp = getLongTestOperation();
-			getProvisioningUI().schedule(longOp, StatusManager.LOG);
-			// causes recalculation of plan and status
-			wizard.recomputePlan(dialog);
-			// can't move to next page while op is running
-			assertFalse("1.2", page.isPageComplete());
-			longOp.cancel();
-
-			// op is no longer running, recompute plan
-			wizard.recomputePlan(dialog);
-
-			// license needs approval
-			assertFalse("1.4", wizard.canFinish());
-			// finish button should be disabled
-			while (dialog.getShell().getDisplay().readAndDispatch()) {
-				// run event loop
-			}
-			Button finishButton = dialog.testGetButton(IDialogConstants.FINISH_ID);
-			assertFalse("1.5", finishButton.isEnabled());
-		} finally {
-			dialog.getShell().close();
-			if (longOp != null)
-				longOp.cancel();
-		}
-	}
-
-	/**
-	 * Tests the wizard
-	 */
-	public void testInstallWizardUnresolved() {
-		LoadMetadataRepositoryJob job = new LoadMetadataRepositoryJob(getProvisioningUI());
-		getPolicy().setGroupByCategory(false);
-		job.runModal(getMonitor());
-		InstallWizard wizard = new InstallWizard(getProvisioningUI(), null, null, job);
-		WizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-
-		dialog.create();
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		ProfileModificationJob longOp = null;
-
-		try {
-			AvailableIUsPage page1 = (AvailableIUsPage) wizard.getPage(AVAILABLE_SOFTWARE_PAGE);
-
-			// test initial wizard state
-			assertTrue("1.0", page1.getSelectedIUs().length == 0);
-			assertFalse("1.1", page1.isPageComplete());
-
-			// Start reaching in...
-			AvailableIUGroup group = page1.testGetAvailableIUGroup();
-			group.setRepositoryFilter(AvailableIUGroup.AVAILABLE_ALL, null);
-			// Now manipulate the tree itself.  we are reaching way in.
-			// We are trying to select everything in the repo apart from the IU we know is broken
-			DeferredQueryContentProvider provider = (DeferredQueryContentProvider) group.getCheckboxTreeViewer().getContentProvider();
-			provider.setSynchronous(true);
-			group.getCheckboxTreeViewer().refresh();
-			group.getCheckboxTreeViewer().expandAll();
-			Tree tree = (Tree) group.getCheckboxTreeViewer().getControl();
-			TreeItem[] items = tree.getItems();
-			for (int i = 0; i < items.length; i++) {
-				Object element = items[i].getData();
-				if (element != null && element instanceof IIUElement) {
-					IInstallableUnit iu = ((IIUElement) element).getIU();
-					if (iu != null && iu.getId().equals(MAIN_IU)) {
-						group.getCheckboxTreeViewer().setChecked(element, true);
-					}
-				}
-			}
-			// must be done this way to force notification of listeners
-			group.setChecked(group.getCheckboxTreeViewer().getCheckedElements());
-			assertTrue("2.0", group.getCheckedLeafIUs().length > 0);
-			assertTrue("2.1", page1.isPageComplete());
-
-			// simulate the user clicking next
-			IWizardPage page = wizard.getNextPage(page1);
-			dialog.showPage(page);
-			assertTrue("3.0", page.isPageComplete());
-
-			// if another operation is scheduled for this profile, we should not be allowed to proceed
-			longOp = getLongTestOperation();
-			getProvisioningUI().schedule(longOp, StatusManager.LOG);
-			// causes recalculation of plan and status
-			wizard.recomputePlan(dialog);
-			// can't move to next page while op is running
-			assertFalse("3.1", page.isPageComplete());
-			longOp.cancel();
-
-			// this doesn't test much, it's just calling group API to flesh out NPE's, etc.
-			group.getCheckedLeafIUs();
-			group.getDefaultFocusControl();
-			group.getSelectedIUElements();
-			group.getSelectedIUs();
-
-		} finally {
-			dialog.close();
-			if (longOp != null)
-				longOp.cancel();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallationHistoryPageTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallationHistoryPageTest.java
deleted file mode 100644
index dbaaac6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstallationHistoryPageTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import java.lang.reflect.Field;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.p2.ui.viewers.ProvElementContentProvider;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.equinox.p2.ui.RevertProfilePage;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.AbstractTableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Tests for the Installation History page.
- * If nothing else, this test ensures that installation history can be hosted
- * somewhere besides the about dialog
- */
-public class InstallationHistoryPageTest extends AbstractProvisioningUITest {
-	volatile int jobs;
-	volatile int done;
-
-	class TestDialog extends Dialog {
-		RevertProfilePage page;
-
-		TestDialog() {
-			super(ProvUI.getDefaultParentShell());
-		}
-
-		protected Control createDialogArea(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			page = new RevertProfilePage();
-			page.createControl(composite);
-			return composite;
-		}
-	}
-
-	/**
-	 * Hammers the background fetch
-	 */
-	public void disabledtestDialogBackgroundFetch() {
-		TestDialog dialog = new TestDialog();
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			Field viewerField = RevertProfilePage.class.getDeclaredField("configsViewer");
-			viewerField.setAccessible(true);
-			AbstractTableViewer viewer = (AbstractTableViewer) viewerField.get(dialog.page);
-			ProvElementContentProvider provider = (ProvElementContentProvider) viewer.getContentProvider();
-			Object input = viewer.getInput();
-			Field jobField = ProvElementContentProvider.class.getDeclaredField("fetchJob");
-			jobField.setAccessible(true);
-			Field jobFamily = ProvElementContentProvider.class.getDeclaredField("fetchFamily");
-			jobFamily.setAccessible(true);
-
-			jobs = 0;
-			done = 0;
-			final Object family = jobFamily.get(provider);
-
-			Job.getJobManager().addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent e) {
-					if (e.getJob().belongsTo(family)) {
-						done++;
-						int status = e.getResult().getSeverity();
-						if (status != IStatus.CANCEL && status != IStatus.OK) {
-							// something unexpected happened.
-							fail("Fetch job failed unexpectedly " + e.getResult().getMessage());
-						}
-					}
-				}
-			});
-
-			// hammer the elements repetitively to start multiple fast running fetch jobs
-			for (int i = 0; i < 5; i++) {
-				provider.getElements(input);
-				Job job = (Job) jobField.get(provider);
-				if (job != null) {
-					jobs++;
-				}
-			}
-			// We need to wait for all the fetch jobs to finish and then verify that they did
-			Job.getJobManager().join(family, null);
-			assertTrue("Something's wrong.  No fetch occurred", jobs > 0);
-			assertEquals("Not all jobs finished as expected", jobs, done);
-		} catch (Exception e) {
-			fail("Failure during reflection", e);
-		} finally {
-			dialog.close();
-		}
-	}
-
-	/**
-	 * Tests the dialog - just launches it for now
-	 */
-	public void testDialog() {
-		TestDialog dialog = new TestDialog();
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		dialog.close();
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstalledSoftwarePageTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstalledSoftwarePageTest.java
deleted file mode 100644
index cc4e0b7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InstalledSoftwarePageTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.equinox.p2.ui.InstalledSoftwarePage;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Tests for the Installation Dialog page.
- */
-public class InstalledSoftwarePageTest extends AbstractProvisioningUITest {
-
-	class TestDialog extends Dialog {
-		TestDialog() {
-			super(ProvUI.getDefaultParentShell());
-		}
-
-		protected Control createDialogArea(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			InstalledSoftwarePage page = new InstalledSoftwarePage();
-			page.createControl(composite);
-			return composite;
-		}
-	}
-
-	/**
-	 * Tests the dialog
-	 */
-	public void testDialog() {
-		TestDialog dialog = new TestDialog();
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// need to reach way in to shell data to find dialog
-		} finally {
-			dialog.close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InvokeByHandlerTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InvokeByHandlerTests.java
deleted file mode 100644
index be79a20..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/InvokeByHandlerTests.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.core.commands.*;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommandService;
-import org.eclipse.ui.handlers.IHandlerService;
-
-/**
- * Tests for invoking the p2 wizards by command id.
- * Other plug-ins do this, this test reminds us that if the handler
- * ids change, there are repercussions.
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=263262
- */
-public class InvokeByHandlerTests extends AbstractProvisioningUITest {
-
-	private static final String INSTALL = "org.eclipse.equinox.p2.ui.sdk.install";
-	private static final String UPDATE = "org.eclipse.equinox.p2.ui.sdk.update";
-
-	public void testInstallHandler() throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Display.getDefault().getActiveShell().close();
-			}
-
-		});
-		runCommand(INSTALL);
-
-	}
-
-	public void testUpdateHandler() throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Display.getDefault().getActiveShell().close();
-			}
-
-		});
-		runCommand(UPDATE);
-	}
-
-	private void runCommand(String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-		ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
-		Command command = commandService.getCommand(commandId);
-		if (!command.isDefined()) {
-			return;
-		}
-		IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
-		handlerService.executeCommand(commandId, null);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/PreferencePagesTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/PreferencePagesTest.java
deleted file mode 100644
index 5aeb3b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/PreferencePagesTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-/**
- * Tests for the install wizard
- */
-public class PreferencePagesTest extends AbstractProvisioningUITest {
-
-	private static final String GENERAL = "org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage";
-	private static final String SITES = "org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage";
-	private static final String AUTOUPDATES = "org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdatesPreferencePage";
-
-	public void testGeneralPage() {
-		PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, GENERAL, null, null);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-
-	public void testCopyrightPage() {
-		PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, SITES, null, null);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-
-	public void testLicensePage() {
-		PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, AUTOUPDATES, null, null);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// nothing yet
-		} finally {
-			dialog.close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/RepositoryManipulationPageTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/RepositoryManipulationPageTest.java
deleted file mode 100644
index 6336fb8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/RepositoryManipulationPageTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-import org.eclipse.equinox.p2.ui.RepositoryManipulationPage;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Tests for the Repository Manipulation page.
- * If nothing else, this test ensures that repository page can be hosted
- * somewhere besides preferences
- */
-public class RepositoryManipulationPageTest extends AbstractProvisioningUITest {
-
-	class TestDialog extends TitleAreaDialog {
-		public TestDialog() {
-			super(null);
-		}
-
-		RepositoryManipulationPage page;
-
-		protected Control createDialogArea(Composite parent) {
-			page = new RepositoryManipulationPage();
-			page.init(PlatformUI.getWorkbench());
-			page.createControl(parent);
-			this.setTitle("Software Sites");
-			this.setMessage("The enabled sites will be searched for software.  Disabled sites are ignored.");
-			return page.getControl();
-		}
-
-		protected void okPressed() {
-			if (page.performOk())
-				super.okPressed();
-		}
-
-		protected void cancelPressed() {
-			if (page.performCancel())
-				super.cancelPressed();
-		}
-	}
-
-	/**
-	 * Tests the dialog
-	 */
-	public void testDialog() {
-		TestDialog dialog = new TestDialog();
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		try {
-			// reach in
-		} finally {
-			dialog.close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UninstallWizardTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UninstallWizardTest.java
deleted file mode 100644
index 079a8bc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UninstallWizardTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.p2.ui.dialogs.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.ProfileModificationJob;
-import org.eclipse.equinox.p2.operations.UninstallOperation;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Tests for the install wizard
- */
-public class UninstallWizardTest extends WizardTest {
-
-	private static final String SELECTION_PAGE = "IUSelectionPage";
-
-	/**
-	 * Tests the wizard when the uninstall is preresolved.
-	 * This is the normal SDK workflow.
-	 */
-	public void testUninstallWizardResolved() {
-
-		IInstallableUnit[] iusInvolved = new IInstallableUnit[] {top1, top2};
-		UninstallOperation op = getProvisioningUI().getUninstallOperation(iusInvolved, null);
-		op.resolveModal(getMonitor());
-		UninstallWizard wizard = new UninstallWizard(getProvisioningUI(), op, iusInvolved, null);
-		WizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.create();
-		dialog.open();
-		ProfileModificationJob longOp = null;
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// We should have a good plan
-			assertTrue(page1.isPageComplete());
-			ResolutionResultsWizardPage page2 = (ResolutionResultsWizardPage) wizard.getNextPage(page1);
-			dialog.showPage(page2);
-			assertTrue(page2.isPageComplete());
-
-			// if another operation is scheduled for this profile, we should not be allowed to proceed
-			longOp = getLongTestOperation();
-			getProvisioningUI().schedule(longOp, StatusManager.LOG);
-			assertTrue(page1.isPageComplete());
-			// causes recalculation of plan and status
-			wizard.recomputePlan(dialog);
-			// can't move to next page while op is running
-			assertFalse(page1.isPageComplete());
-			longOp.cancel();
-		} finally {
-			dialog.getShell().close();
-			if (longOp != null)
-				longOp.cancel();
-		}
-	}
-
-	/**
-	 * Tests the wizard without the resolution having been done ahead
-	 * of time.  This is not the SDK workflow, but should be supported.
-	 */
-	public void testUninstallWizardUnresolved() {
-		// This test is pretty useless right now but at least it opens the wizard
-		UninstallOperation operation = getProvisioningUI().getUninstallOperation(new IInstallableUnit[] {top1, top2}, null);
-		UninstallWizard wizard = new UninstallWizard(getProvisioningUI(), operation, new IInstallableUnit[] {top1, top2}, null);
-		WizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.create();
-		dialog.open();
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			assertTrue(page1.isPageComplete());
-			// Should be able to resolve a plan
-			wizard.recomputePlan(dialog);
-			// Still ok
-			assertTrue(page1.isPageComplete());
-
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UpdateWizardTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UpdateWizardTest.java
deleted file mode 100644
index f086a1e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/UpdateWizardTest.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.internal.p2.metadata.License;
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.p2.ui.dialogs.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * Tests for the install wizard
- */
-public class UpdateWizardTest extends WizardTest {
-
-	private static final String SELECTION_PAGE = "IUSelectionPage";
-	private static final String RESOLUTION_PAGE = "ResolutionPage";
-	private static final String MAIN_IU = "MainIU";
-	IInstallableUnit main, mainUpgrade1, mainUpgrade2, mainUpgradeWithLicense;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(MAIN_IU);
-		iu.setVersion(Version.createOSGi(1, 0, 0));
-		iu.setSingleton(true);
-		iu.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, MAIN_IU, iu.getVersion())});
-		main = MetadataFactory.createInstallableUnit(iu);
-		install(main, true, false);
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor(MAIN_IU, new VersionRange("[1.0.0, 1.0.0]"), 0, "update description");
-		mainUpgrade1 = createIU(MAIN_IU, Version.createOSGi(2, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, true, update, NO_REQUIRES);
-		update = MetadataFactory.createUpdateDescriptor(MAIN_IU, new VersionRange("[1.0.0, 1.0.0]"), 0, "update description");
-		mainUpgrade2 = createIU(MAIN_IU, Version.createOSGi(3, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, true, update, NO_REQUIRES);
-		iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(MAIN_IU);
-		iu.setVersion(Version.createOSGi(4, 0, 0));
-		iu.setSingleton(true);
-		iu.setUpdateDescriptor(update);
-		iu.setLicenses(new ILicense[] {new License(null, "Update Wizard Test License to Accept")});
-		iu.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, MAIN_IU, iu.getVersion())});
-		mainUpgradeWithLicense = MetadataFactory.createInstallableUnit(iu);
-		createTestMetdataRepository(new IInstallableUnit[] {main, mainUpgrade1, mainUpgrade2, mainUpgradeWithLicense});
-
-	}
-
-	/**
-	 * Tests the wizard when a prior resolution has been done.
-	 * This is the SDK 
-	 */
-	public void testUpdateWizardResolved() {
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		op.resolveModal(getMonitor());
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, op.getSelectedUpdates(), null);
-		WizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		ProfileModificationJob longOp = null;
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// should already have a plan
-			assertTrue(page1.isPageComplete());
-			ResolutionResultsWizardPage page2 = (ResolutionResultsWizardPage) wizard.getNextPage(page1);
-			dialog.showPage(page2);
-			assertTrue(page2.isPageComplete());
-
-			// if another operation is scheduled for this profile, we should not be allowed to proceed
-			longOp = getLongTestOperation();
-			getProvisioningUI().schedule(longOp, StatusManager.LOG);
-			assertTrue(page2.isPageComplete());
-			// causes recalculation of plan and status
-			wizard.recomputePlan(dialog);
-			// can't move to next page while op is running
-			assertFalse(page2.isPageComplete());
-			longOp.cancel();
-		} finally {
-			dialog.getShell().close();
-			if (longOp != null)
-				longOp.cancel();
-		}
-	}
-
-	public void testUpdateWizardResolvedWithLicense() {
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		op.resolveModal(getMonitor());
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, op.getSelectedUpdates(), null);
-		ProvisioningWizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// should already have a plan
-			assertTrue("1.0", page1.isPageComplete());
-			// simulate the next button by getting next page and showing
-			IWizardPage page = page1.getNextPage();
-			dialog.showPage(page);
-			// license needs approval
-			assertFalse("1.1", wizard.canFinish());
-			// finish button should be disabled
-			while (dialog.getShell().getDisplay().readAndDispatch()) {
-				// run event loop
-			}
-			Button finishButton = dialog.testGetButton(IDialogConstants.FINISH_ID);
-			assertFalse("1.2", finishButton.isEnabled());
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-
-	/**
-	 * Tests the wizard when a prior resolution has been done, but is in error.
-	 */
-	public void testUpdateWizardResolvedError() {
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		op.resolveModal(getMonitor());
-		op.setSelectedUpdates(op.getPossibleUpdates());
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, op.getSelectedUpdates(), null);
-		ProvisioningWizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		try {
-			assertNotNull("1.0", wizard.getStartingPage());
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-
-	/**
-	 * Tests the wizard when we have a successful resolution and want to open
-	 * directly on the resolution page
-	 */
-	public void testUpdateWizardResolvedSkipSelections() {
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		op.resolveModal(getMonitor());
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, op.getSelectedUpdates(), null);
-		wizard.setSkipSelectionsPage(true);
-		ProvisioningWizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		try {
-			assertNotNull("1.0", wizard.getStartingPage());
-			assertEquals("1.1", wizard.getStartingPage(), wizard.getPage(RESOLUTION_PAGE));
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-
-	/**
-	 * Tests the wizard without a prior resolution being done.
-	 * This is not the SDK workflow, but should be supported.
-	 */
-	public void testUpdateWizardUnresolved() {
-		Update update = new Update(main, mainUpgrade1);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, new Object[] {update}, null);
-		WizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// Page 1 should have selections
-			assertTrue(page1.isPageComplete());
-			// Should be able to resolve an unresolved operation
-			wizard.recomputePlan(dialog);
-			// Everything is still good
-			assertTrue(page1.isPageComplete());
-
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-
-	/**
-	 * Tests the wizard when multiple versions are available.
-	 */
-	public void testBug277554MultipleVersions() {
-
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {main}, null);
-		op.resolveModal(getMonitor());
-		UpdateWizard wizard = new UpdateWizard(getProvisioningUI(), op, op.getSelectedUpdates(), null);
-		ProvisioningWizardDialog dialog = new ProvisioningWizardDialog(ProvUI.getDefaultParentShell(), wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-
-		try {
-			SelectableIUsPage page1 = (SelectableIUsPage) wizard.getPage(SELECTION_PAGE);
-			// should already have a plan
-			assertTrue("1.0", page1.isPageComplete());
-			assertEquals("1.1", 1, page1.getCheckedIUElements().length);
-			ResolutionResultsWizardPage page2 = (ResolutionResultsWizardPage) wizard.getNextPage(page1);
-			dialog.showPage(page2);
-			// should only have one root item in the resolution page
-			assertEquals("1.2", 1, findTree(page2).getItemCount());
-		} finally {
-			dialog.getShell().close();
-		}
-	}
-
-	protected Tree findTree(ResolutionResultsWizardPage page) {
-		return findTree(page.getControl());
-	}
-
-	protected Tree findTree(Control control) {
-		if (control instanceof Tree)
-			return (Tree) control;
-		if (control instanceof Composite) {
-			Control[] children = ((Composite) control).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				Tree tree = findTree(children[i]);
-				if (tree != null)
-					return tree;
-			}
-
-		}
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/WizardTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/WizardTest.java
deleted file mode 100644
index 630b6c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/dialogs/WizardTest.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.dialogs;
-
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-
-/**
- * Generic wizard test methods
- */
-public abstract class WizardTest extends AbstractProvisioningUITest {
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/AllTests.java
deleted file mode 100644
index 49a26d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.operations;
-
-import junit.framework.*;
-
-/**
- * Performs all UI operation tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(SizingTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/SizingTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/SizingTest.java
deleted file mode 100644
index 8b605be..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/operations/SizingTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.operations;
-
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-
-/**
- * 
- */
-public class SizingTest extends AbstractProvisioningUITest {
-	public void testEmptySizing() {
-		String profileId = "testEmptySizing";
-		IProfile testProfile = createProfile(profileId);
-		ProfileChangeRequest request = new ProfileChangeRequest(testProfile);
-		IProvisioningPlan plan = null;
-		plan = getSession().getPlanner().getProvisioningPlan(request, new ProvisioningContext(), getMonitor());
-		long size = ProvisioningSession.SIZE_NOTAPPLICABLE;
-		size = getSession().getSize(plan, new ProvisioningContext(), getMonitor());
-		assertEquals("1.0", 0, size);
-	}
-
-	/**
-	 * Tests a simple sizing operation with an IU containing no artifacts
-	 */
-	public void testSimpleSizing() {
-		IInstallableUnit f1 = createIU("f1", DEFAULT_VERSION, true);
-		String profileId = "testSimpleSizing";
-		IProfile testProfile = createProfile(profileId);
-		ProfileChangeRequest request = new ProfileChangeRequest(testProfile);
-		request.addInstallableUnits(new IInstallableUnit[] {f1});
-		IProvisioningPlan plan = null;
-		plan = getSession().getPlanner().getProvisioningPlan(request, new ProvisioningContext(), getMonitor());
-		long size = ProvisioningSession.SIZE_NOTAPPLICABLE;
-		size = getSession().getSize(plan, new ProvisioningContext(), getMonitor());
-		assertEquals("1.0", 0, size);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/AllTests.java
deleted file mode 100644
index 5b8bc26..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.planning;
-
-import junit.framework.*;
-
-/**
- * Performs all UI action tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(UpdatePlanning.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/UpdatePlanning.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/UpdatePlanning.java
deleted file mode 100644
index aa9a2ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/planning/UpdatePlanning.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.planning;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.Update;
-import org.eclipse.equinox.p2.operations.UpdateOperation;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-
-public class UpdatePlanning extends AbstractProvisioningUITest {
-	IInstallableUnit a1;
-	IInstallableUnit a120WithDifferentId;
-	IInstallableUnit a130;
-	IInstallableUnit a140WithDifferentId;
-	IInstallableUnitPatch firstPatchForA1, secondPatchForA1, thirdPatchForA1, patchFora2;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"));
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor("A", new VersionRange("[1.0.0, 1.0.0]"), 0, "update description");
-		a120WithDifferentId = createIU("UpdateA", Version.createOSGi(1, 2, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-		a130 = createIU("A", Version.createOSGi(1, 3, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-		a140WithDifferentId = createIU("UpdateForA", Version.createOSGi(1, 4, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		firstPatchForA1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle);
-		secondPatchForA1 = createIUPatch("P", Version.create("2.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle);
-		thirdPatchForA1 = createIUPatch("P2", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle);
-
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.2.0]"), null, false, false);
-		patchFora2 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change2}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle2);
-
-		// Ensure that all versions, not just the latest, are considered by the UI
-		getPolicy().setShowLatestVersionsOnly(false);
-	}
-
-	public void testChooseUpdateOverPatch() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a120WithDifferentId, a130, firstPatchForA1, patchFora2});
-		install(a1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 1);
-		assertTrue("1.1", request.getAddedInstallableUnits()[0].equals(a130));
-		assertTrue("1.2", request.getRemovedInstallableUnits().length == 1);
-		assertTrue("1.3", request.getRemovedInstallableUnits()[0].equals(a1));
-	}
-
-	public void testForcePatchOverUpdate() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a120WithDifferentId, a130, firstPatchForA1, patchFora2});
-		install(a1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		Update[] updates = op.getPossibleUpdates();
-		Update firstPatch = null;
-		for (int i = 0; i < updates.length; i++) {
-			if (updates[i].replacement.equals(firstPatchForA1)) {
-				firstPatch = updates[i];
-				break;
-			}
-		}
-		assertNotNull(".99", firstPatch);
-		op.setSelectedUpdates(new Update[] {firstPatch});
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 1);
-		assertTrue("1.1", request.getAddedInstallableUnits()[0].equals(firstPatchForA1));
-		assertTrue("1.2", request.getRemovedInstallableUnits().length == 0);
-	}
-
-	public void testRecognizePatchIsInstalled() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a120WithDifferentId, a130, firstPatchForA1, patchFora2});
-		install(a1, true, false);
-		install(firstPatchForA1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		// update was favored, that would happen even if patch was not installed
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 1);
-		assertTrue("1.1", request.getAddedInstallableUnits()[0].equals(a130));
-		// the patch is not being shown to the user because we figured out it was already installed
-		// The elements showing are a130 and a120WithDifferentId
-		assertEquals("1.2", 2, op.getPossibleUpdates().length);
-	}
-
-	public void testChooseNotTheNewest() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a120WithDifferentId, a130, firstPatchForA1, patchFora2});
-		install(a1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		Update[] updates = op.getPossibleUpdates();
-		Update notNewest = null;
-		for (int i = 0; i < updates.length; i++) {
-			if (updates[i].replacement.equals(a120WithDifferentId)) {
-				notNewest = updates[i];
-				break;
-			}
-		}
-		assertNotNull(".99", notNewest);
-		op.setSelectedUpdates(new Update[] {notNewest});
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		// selected was favored
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 1);
-		assertTrue("1.1", request.getAddedInstallableUnits()[0].equals(a120WithDifferentId));
-		// The two updates and the patch were recognized
-		assertEquals("1.2", 3, op.getPossibleUpdates().length);
-	}
-
-	public void testChooseLatestPatches() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, firstPatchForA1, secondPatchForA1, thirdPatchForA1});
-		install(a1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		// the latest two patches were selected
-		HashSet chosen = new HashSet();
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 2);
-		chosen.addAll(Arrays.asList(request.getAddedInstallableUnits()));
-		assertTrue("1.1", chosen.contains(secondPatchForA1));
-		assertTrue("1.2", chosen.contains(thirdPatchForA1));
-
-		assertEquals("1.2", 3, op.getPossibleUpdates().length);
-	}
-
-	public void testLatestHasDifferentId() throws ProvisionException {
-		createTestMetdataRepository(new IInstallableUnit[] {a1, firstPatchForA1, secondPatchForA1, thirdPatchForA1, a120WithDifferentId, a130, a140WithDifferentId});
-		install(a1, true, false);
-		UpdateOperation op = getProvisioningUI().getUpdateOperation(new IInstallableUnit[] {a1}, null);
-		op.resolveModal(getMonitor());
-		ProfileChangeRequest request = op.getProfileChangeRequest();
-		// update 140 was recognized as the latest even though it had a different id
-		assertTrue("1.0", request.getAddedInstallableUnits().length == 1);
-		assertTrue("1.1", request.getAddedInstallableUnits()[0].equals(a140WithDifferentId));
-		// All three patches and all three updates can be chosen
-		assertEquals("1.2", 6, op.getPossibleUpdates().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AbstractQueryTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AbstractQueryTest.java
deleted file mode 100644
index f4b84fc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AbstractQueryTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import org.eclipse.equinox.internal.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.operations.RepositoryTracker;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-/**
- * Abstract class to set up the mock query provider
- */
-public abstract class AbstractQueryTest extends AbstractProvisioningTest {
-	protected void setUp() throws Exception {
-		super.setUp();
-		// use test query provider
-		// This is really not how the default policy should be used in practice,
-		// but we need to reset it for the tests.
-		ProvUI.setQueryProvider(new MockQueryProvider(getMockQuery(), ProvisioningUI.getDefaultUI()));
-		// some of the test repos are set up as system repos so we need to
-		// query all repos, not just non-system repos
-		// TODO consider evolving these tests to distinguish between system
-		// and non-system
-		RepositoryTracker manipulator = ProvisioningUI.getDefaultUI().getRepositoryTracker();
-		manipulator.setArtifactRepositoryFlags(IRepositoryManager.REPOSITORIES_ALL);
-		manipulator.setMetadataRepositoryFlags(IRepositoryManager.REPOSITORIES_ALL);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		RepositoryTracker manipulator = ProvisioningUI.getDefaultUI().getRepositoryTracker();
-		manipulator.setArtifactRepositoryFlags(IRepositoryManager.REPOSITORIES_NON_SYSTEM);
-		manipulator.setMetadataRepositoryFlags(IRepositoryManager.REPOSITORIES_NON_SYSTEM);
-		ProvUI.setQueryProvider(null);
-	}
-
-	protected IQuery getMockQuery() {
-		return new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return true;
-			}
-		};
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AllTests.java
deleted file mode 100644
index 0fd24d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import junit.framework.*;
-
-/**
- * Performs all UI query tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(AnyRequiredCapabilityTest.class);
-		suite.addTestSuite(AvailableIUWrapperTest.class);
-		suite.addTestSuite(CategoryElementWrapperTest.class);
-		suite.addTestSuite(TranslationSupportTests.class);
-		suite.addTestSuite(LatestIUVersionElementWrapperTest.class);
-		suite.addTestSuite(QueryDescriptorTest.class);
-		suite.addTestSuite(QueryableMetadataRepositoryManagerTest.class);
-		// This must come after QueryableMetadataRepositoryManager or it causes side-effects in those tests.
-		suite.addTestSuite(QueryableArtifactRepositoryManagerTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java
deleted file mode 100644
index 3e7bdcf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.internal.p2.ui.QueryableMetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-public class AnyRequiredCapabilityTest extends AbstractQueryTest {
-	public void testMatchOtherObjects() {
-		IRequirement requires = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.iu", "test.bundle", ANY_VERSION, null, false, false);
-		IInstallableUnit match = createIU("test.bundle");
-		IInstallableUnit noMatch = createIU("another.bundle");
-		List items = new ArrayList();
-		items.add(match);
-		items.add(noMatch);
-		items.add(new Object());
-		items.add(requires);
-		Collector result = requires.getMatches().perform(items.iterator(), new Collector());
-		assertEquals("1.0", 1, result.size());
-		assertEquals("1.1", match, result.iterator().next());
-	}
-
-	public void testExistingRepository() {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "good").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location);
-		QueryableMetadataRepositoryManager manager = new QueryableMetadataRepositoryManager(ProvisioningUI.getDefaultUI(), false);
-		IRequirement requires = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.iu", "test.bundle", ANY_VERSION, null, false, false);
-		Collector result = manager.query(requires.getMatches(), getMonitor());
-		assertEquals("1.0", 1, result.size());
-		IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
-		assertEquals("1.1", "test.bundle", iu.getId());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AvailableIUWrapperTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AvailableIUWrapperTest.java
deleted file mode 100644
index e52427c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AvailableIUWrapperTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.ui.model.CategoryElement;
-import org.eclipse.equinox.internal.p2.ui.model.IIUElement;
-import org.eclipse.equinox.internal.p2.ui.query.AvailableIUWrapper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.MockQueryable;
-
-/**
- * Tests for {@link AvailableIUWrapper}.
- */
-public class AvailableIUWrapperTest extends AbstractQueryTest {
-	protected AvailableIUWrapper createWrapper() {
-		return createWrapper(true);
-	}
-
-	protected AvailableIUWrapper createWrapper(boolean makeCategories) {
-		return new AvailableIUWrapper(new MockQueryable(), null, makeCategories, true);
-	}
-
-	/**
-	 * Returns the IU corresponding to the collected element.
-	 */
-	protected IInstallableUnit getIU(Object collected) {
-		return ((IIUElement) collected).getIU();
-	}
-
-	/**
-	 * Tests collecting items AvailableIUCollector doesn't care about.
-	 */
-	public void testCollectObject() {
-		AvailableIUWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		Object object = new Object();
-		collector.accept(object);
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.0", 1, results.size());
-		assertEquals("1.1", object, results.iterator().next());
-	}
-
-	/**
-	 * Tests collecting an IU.
-	 */
-	public void testCollectIU() {
-		AvailableIUWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		IInstallableUnit unit = createIU("f1");
-		collector.accept(unit);
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.0", 1, results.size());
-		IInstallableUnit collectedIU = getIU(results.iterator().next());
-		assertEquals("1.1", unit, collectedIU);
-	}
-
-	/**
-	 * Tests collecting a category when makeCategory=true.
-	 */
-	public void testMakeCategory() {
-		AvailableIUWrapper wrapper = createWrapper(true);
-		Collector collector = new Collector();
-		Map properties = new HashMap();
-		properties.put(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true");
-		IInstallableUnit category = createIU("category", Version.createOSGi(1, 0, 0), NO_REQUIRES, properties, false);
-		IInstallableUnit unit = createIU("basicIU");
-		collector.accept(category);
-		collector.accept(unit);
-
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.0", 2, collector.size());
-		boolean categoryFound = false;
-		for (Iterator it = results.iterator(); it.hasNext();) {
-			Object element = it.next();
-			IInstallableUnit collected = getIU(element);
-			if (collected.equals(category)) {
-				categoryFound = true;
-				assertTrue("1.1", element instanceof CategoryElement);
-			} else {
-				assertEquals("1.2", unit, collected);
-			}
-		}
-		assertTrue("1.3", categoryFound);
-	}
-
-	/**
-	 * Tests collecting a category when makeCategory=false
-	 */
-	public void testNoMakeCategory() {
-		AvailableIUWrapper wrapper = createWrapper(false);
-		Collector collector = new Collector();
-		Map properties = new HashMap();
-		properties.put(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true");
-		IInstallableUnit category = createIU("category", Version.createOSGi(1, 0, 0), NO_REQUIRES, properties, false);
-		IInstallableUnit unit = createIU("basicIU");
-		collector.accept(category);
-		collector.accept(unit);
-
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.0", 2, results.size());
-		boolean categoryFound = false;
-		for (Iterator it = results.iterator(); it.hasNext();) {
-			Object element = it.next();
-			IInstallableUnit collected = getIU(element);
-			if (collected.equals(category)) {
-				categoryFound = true;
-				assertFalse("1.1", element instanceof CategoryElement);
-			} else {
-				assertEquals("1.2", unit, collected);
-			}
-		}
-		assertTrue("1.3", categoryFound);
-	}
-
-	/**
-	 * Tests hiding installed IUs.
-	 */
-	public void testHideInstalled() {
-		IProfile profile = createProfile("TestProfile");
-		AvailableIUWrapper wrapper = createWrapper(true);
-		Collector collector = new Collector();
-		IInstallableUnit installed = createIU("installed");
-		IInstallableUnit notInstalled = createIU("notInstalled");
-		install(profile, new IInstallableUnit[] {installed}, true, createPlanner(), createEngine());
-		wrapper.markInstalledIUs(profile, true);
-
-		//now feed in the installed and non-installed units, and the installed unit should be ignored.
-		collector.accept(installed);
-		collector.accept(notInstalled);
-
-		Collection results = wrapper.getElements(collector);
-
-		assertEquals("1.1", 1, results.size());
-		Object iuElement = results.iterator().next();
-		assertEquals("1.2", notInstalled, getIU(iuElement));
-	}
-
-	protected IQuery getMockQuery() {
-		return new IUPropertyQuery("key", "value");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementWrapperTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementWrapperTest.java
deleted file mode 100644
index 17234e1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementWrapperTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.util.Collection;
-import java.util.Iterator;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.ui.model.CategoryElement;
-import org.eclipse.equinox.internal.p2.ui.model.EmptyElementExplanation;
-import org.eclipse.equinox.internal.p2.ui.query.CategoryElementWrapper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.MockQueryable;
-
-/**
- * Tests for {@link CategoryElementWrapper}.
- */
-public class CategoryElementWrapperTest extends AbstractQueryTest {
-	private CategoryElementWrapper createWrapper() {
-		IInstallableUnit category = createIU("default category");
-		return new CategoryElementWrapper(new MockQueryable(category), null);
-	}
-
-	private IInstallableUnit createNamedCategory(String id, String name, Version version) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(id);
-		iu.setVersion(version);
-		iu.setProperty(IInstallableUnit.PROP_NAME, name);
-		iu.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, Boolean.toString(true));
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	public void testCollectObject() {
-		CategoryElementWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		collector.accept("AnObjectThatIsNotAnIU");
-		Iterator results = wrapper.getElements(collector).iterator();
-		// Collection should either be empty or explain its emptiness.
-		while (results.hasNext())
-			assertTrue("1.0", results.next() instanceof EmptyElementExplanation);
-	}
-
-	/**
-	 * Tests for the {@link Collector#isEmpty()} method.
-	 */
-	public void testIsEmpty() {
-		CategoryElementWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		assertTrue("1.1", collector.isEmpty());
-
-		IInstallableUnit category1 = createIU("category1");
-		collector.accept(category1);
-		Collection results = wrapper.getElements(collector);
-		assertTrue("1.2", !results.isEmpty());
-	}
-
-	/**
-	 * Tests for the {@link Collector#size()} method.
-	 */
-	public void testSize() {
-		CategoryElementWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		assertEquals("1.1", 0, collector.size());
-
-		IInstallableUnit category1 = createIU("category1");
-		collector.accept(category1);
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.2", 1, collector.size());
-		assertEquals("1.3", category1, ((CategoryElement) results.iterator().next()).getIU());
-
-		//adding the same category twice shouldn't affect size
-		collector.accept(category1);
-		results = wrapper.getElements(collector);
-		assertEquals("1.6", 1, results.size());
-
-		//adding a nested category shouldn't affected size
-		IRequiredCapability[] required = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "category1", null);
-		IInstallableUnit nested = createIU("Nested", required);
-		collector.accept(nested);
-		results = wrapper.getElements(collector);
-		assertEquals("1.7", 1, results.size());
-	}
-
-	public void testCategoryMerging() {
-		CategoryElementWrapper wrapper = createWrapper();
-		Collector collector = new Collector();
-		assertEquals("1.1", 0, collector.size());
-
-		IInstallableUnit category1 = createNamedCategory("qualifier1.foo", "Foo", DEFAULT_VERSION);
-		collector.accept(category1);
-		Collection results = wrapper.getElements(collector);
-		assertEquals("1.2", 1, collector.size());
-		assertEquals("1.3", category1, ((CategoryElement) results.iterator().next()).getIU());
-
-		//add a second category with different id and different name
-		IInstallableUnit category2 = createNamedCategory("qualifier2.foo", "Foo", DEFAULT_VERSION);
-		collector.accept(category2);
-		results = wrapper.getElements(collector);
-		assertEquals("1.4", 1, results.size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/LatestIUVersionElementWrapperTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/LatestIUVersionElementWrapperTest.java
deleted file mode 100644
index f99179e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/LatestIUVersionElementWrapperTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.ui.model.IIUElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.LatestIUVersionQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * Tests for {@link LatestIUVersionQuery}. This has all the tests of the superclass,
- * plus some extras for testing the latest IU capabilities.
- */
-public class LatestIUVersionElementWrapperTest extends AvailableIUWrapperTest {
-
-	/**
-	 * Returns the IU corresponding to the collected element.
-	 */
-	protected IInstallableUnit getIU(Object collected) {
-		if (collected instanceof IInstallableUnit)
-			return (IInstallableUnit) collected;
-		return ((IIUElement) collected).getIU();
-	}
-
-	/**
-	 * Tests collecting items that LatestIUVersionElementQuery should
-	 * discard. 
-	 */
-	public void testCollectObject() {
-		LatestIUVersionQuery latestIuVersionElementQuery = new LatestIUVersionQuery();
-		Object object = new Object();
-		List list = new ArrayList();
-		list.add(object);
-		Collector collector = latestIuVersionElementQuery.perform(list.iterator(), new Collector());
-		assertEquals("1.0", 0, collector.size());
-	}
-
-	/**
-	 * Tests that only the latest version is collected.
-	 */
-	public void testCollectLatestIU() {
-		LatestIUVersionQuery latestIuVersionElementQuery = new LatestIUVersionQuery();
-		IInstallableUnit unit1 = createIU("f1", Version.createOSGi(1, 0, 0));
-		IInstallableUnit unit2 = createIU("f1", Version.createOSGi(1, 0, 1));
-		List listOfIUs = new ArrayList();
-		listOfIUs.add(unit1);
-		listOfIUs.add(unit2);
-		Collector collector = latestIuVersionElementQuery.perform(listOfIUs.iterator(), new Collector());
-		assertEquals("1.0", 1, collector.size());
-		IInstallableUnit collectedIU = getIU(collector.iterator().next());
-		assertEquals("1.1", unit2, collectedIU);
-	}
-
-	public void testMultipleIUsAndVersions() {
-		LatestIUVersionQuery latestIuVersionElementQuery = new LatestIUVersionQuery();
-		IInstallableUnit unit1 = createIU("A", Version.createOSGi(1, 0, 0));
-		IInstallableUnit unit2 = createIU("A", Version.createOSGi(1, 0, 1));
-		IInstallableUnit unit3 = createIU("B", Version.createOSGi(1, 0, 1));
-		IInstallableUnit unit4 = createIU("B", Version.createOSGi(0, 1, 1));
-		IInstallableUnit unit5 = createIU("C", Version.createOSGi(0, 1, 1));
-
-		// We should get unit 2, unit 3 and unit 5 
-		List listOfIUs = new ArrayList();
-		listOfIUs.add(unit1);
-		listOfIUs.add(unit2);
-		listOfIUs.add(unit3);
-		listOfIUs.add(unit4);
-		listOfIUs.add(unit5);
-		Collector collector = latestIuVersionElementQuery.perform(listOfIUs.iterator(), new Collector());
-
-		// Should be 3  units
-		assertEquals("1.0", 3, collector.size());
-		Collection reslts = collector.toCollection();
-		assertTrue("1.2", reslts.contains(unit2));
-		assertTrue("1.3", reslts.contains(unit3));
-		assertTrue("1.4", reslts.contains(unit5));
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/MockQueryProvider.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/MockQueryProvider.java
deleted file mode 100644
index 26bede1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/MockQueryProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import org.eclipse.equinox.internal.p2.ui.ElementQueryDescriptor;
-import org.eclipse.equinox.internal.p2.ui.QueryProvider;
-import org.eclipse.equinox.internal.p2.ui.model.QueriedElement;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.MockQueryable;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-/**
- * A fake query provider for unit testing.
- */
-public class MockQueryProvider extends QueryProvider {
-	private IQuery query;
-
-	public MockQueryProvider(IQuery query, ProvisioningUI ui) {
-		super(ui);
-		this.query = query;
-	}
-
-	public ElementQueryDescriptor getQueryDescriptor(QueriedElement element) {
-		return new ElementQueryDescriptor(new MockQueryable(element), query, new Collector());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryDescriptorTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryDescriptorTest.java
deleted file mode 100644
index ccbdb21..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryDescriptorTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.ElementQueryDescriptor;
-import org.eclipse.equinox.internal.p2.ui.ElementWrapper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * Tests the Query Descriptor
- */
-public class QueryDescriptorTest extends TestCase {
-
-	class SimpleQueryable implements IQueryable {
-		List elements = Arrays.asList(new String[] {"a", "b", "c", "d", "e"});
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			return query.perform(elements.iterator(), collector);
-		}
-	}
-
-	class WrappedString {
-		String string;
-
-		WrappedString(String string) {
-			this.string = string;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof WrappedString))
-				return false;
-			WrappedString other = (WrappedString) obj;
-			return this.string.equals(other.string);
-		}
-
-		public int hashCode() {
-			return string.hashCode();
-		}
-	}
-
-	class StringWrapper extends ElementWrapper {
-		protected Object wrap(Object item) {
-			return new WrappedString((String) item);
-		}
-	}
-
-	class SimpleMatchQuery extends MatchQuery {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.equinox.internal.provisional.p2.query.MatchQuery#isMatch(java.lang.Object)
-		 */
-		public boolean isMatch(Object candidate) {
-			if (candidate == "a" || candidate == "b")
-				return true;
-			return false;
-		}
-	}
-
-	class SimpleMatchQuery2 extends MatchQuery {
-		/* (non-Javadoc)
-		 * @see org.eclipse.equinox.internal.provisional.p2.query.MatchQuery#isMatch(java.lang.Object)
-		 */
-		public boolean isMatch(Object candidate) {
-			if (candidate == "b" || candidate == "c")
-				return true;
-			return false;
-		}
-	}
-
-	public void testSimpleDescriptorWithWrapper() {
-		ElementQueryDescriptor eqDescriptor = new ElementQueryDescriptor(new SimpleQueryable(), new SimpleMatchQuery(), new Collector(), new StringWrapper());
-		Collection collection = eqDescriptor.performQuery(null);
-		assertEquals("1.0", 2, collection.size());
-		assertTrue("1.1", collection.contains(new WrappedString("a")));
-		assertTrue("1.1", collection.contains(new WrappedString("b")));
-	}
-
-	public void testSimpleDescriptorWithoutWrapper() {
-		ElementQueryDescriptor eqDescriptor = new ElementQueryDescriptor(new SimpleQueryable(), new SimpleMatchQuery(), new Collector());
-		Collection collection = eqDescriptor.performQuery(null);
-		assertEquals("1.0", 2, collection.size());
-		assertTrue("1.1", collection.contains("a"));
-		assertTrue("1.1", collection.contains("b"));
-	}
-
-	public void testCompoundDescriptorAND() {
-		IQuery query = CompoundQuery.createCompoundQuery(new IQuery[] {new SimpleMatchQuery(), new SimpleMatchQuery2()}, true);
-		ElementQueryDescriptor eqDescriptor = new ElementQueryDescriptor(new SimpleQueryable(), query, new Collector(), new StringWrapper());
-		Collection collection = eqDescriptor.performQuery(null);
-		assertEquals("1.0", 1, collection.size());
-		assertTrue("1.1", collection.contains(new WrappedString("b")));
-	}
-
-	public void testCompoundDescriptorOR() {
-		IQuery query = CompoundQuery.createCompoundQuery(new IQuery[] {new SimpleMatchQuery(), new SimpleMatchQuery2()}, false);
-		ElementQueryDescriptor eqDescriptor = new ElementQueryDescriptor(new SimpleQueryable(), query, new Collector(), new StringWrapper());
-		Collection collection = eqDescriptor.performQuery(null);
-		assertEquals("1.0", 3, collection.size());
-		assertTrue("1.1", collection.contains(new WrappedString("a")));
-		assertTrue("1.1", collection.contains(new WrappedString("b")));
-		assertTrue("1.1", collection.contains(new WrappedString("c")));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableArtifactRepositoryManagerTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableArtifactRepositoryManagerTest.java
deleted file mode 100644
index 377c7f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableArtifactRepositoryManagerTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.ui.QueryableArtifactRepositoryManager;
-import org.eclipse.equinox.internal.p2.ui.RepositoryLocationQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-public class QueryableArtifactRepositoryManagerTest extends AbstractQueryTest {
-	private static final String repositoryOne = "http://one.lan";
-	private static final String repositoryTwo = "http://two.lan";
-	private int repoCount = 0;
-
-	public void setUp() throws Exception {
-		super.setUp();
-
-		IArtifactRepositoryManager repoManager = getArtifactRepositoryManager();
-		repoManager.addRepository(URIUtil.fromString(repositoryOne));
-		repoManager.addRepository(URIUtil.fromString(repositoryTwo));
-		// In case other repositories already exist in the manager.
-		repoCount = repoManager.getKnownRepositories(0).length;
-	}
-
-	public void tearDown() throws Exception {
-		IArtifactRepositoryManager repoManager = getArtifactRepositoryManager();
-		repoManager.removeRepository(URIUtil.fromString(repositoryOne));
-		repoManager.removeRepository(URIUtil.fromString(repositoryTwo));
-
-		super.tearDown();
-	}
-
-	public void testQuery() {
-		QueryableArtifactRepositoryManager manager = getQueryableManager();
-
-		Collector result = manager.query(new RepositoryLocationQuery(), getMonitor());
-		assertTrue(result.size() == repoCount);
-	}
-
-	private QueryableArtifactRepositoryManager getQueryableManager() {
-		return new QueryableArtifactRepositoryManager(ProvisioningUI.getDefaultUI(), false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableMetadataRepositoryManagerTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableMetadataRepositoryManagerTest.java
deleted file mode 100644
index 06b35a2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/QueryableMetadataRepositoryManagerTest.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Collection;
-import org.eclipse.core.tests.harness.CancelingProgressMonitor;
-import org.eclipse.equinox.internal.p2.ui.*;
-import org.eclipse.equinox.internal.p2.ui.model.AvailableIUElement;
-import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositories;
-import org.eclipse.equinox.internal.p2.ui.query.IUViewQueryContext;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.ProvisioningJob;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-/**
- * Tests for {@link QueryableMetadataRepositoryManager}.
- */
-public class QueryableMetadataRepositoryManagerTest extends AbstractQueryTest {
-	/**
-	 * Tests querying against a non-existent repository
-	 */
-
-	ProvisioningUI ui;
-	ProvisioningSession session;
-
-	protected void setUp() throws Exception {
-		ui = ProvisioningUI.getDefaultUI();
-		session = ui.getSession();
-		super.setUp();
-	}
-
-	public void testBrokenRepository() {
-		URI brokenRepo;
-		try {
-			brokenRepo = TestData.getFile("metadataRepo", "bad").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(brokenRepo);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-		assertTrue("1.0", !manager.areRepositoriesLoaded());
-
-		ProvisioningJob loadJob = new LoadMetadataRepositoryJob(ui);
-		loadJob.runModal(getMonitor());
-
-		//false because the broken repository is not loaded
-		assertTrue("1.1", !manager.areRepositoriesLoaded());
-	}
-
-	/**
-	 * Tests canceling a load
-	 */
-	public void testCancelLoad() {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "good").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-		assertTrue("1.0", !manager.areRepositoriesLoaded());
-
-		ProvisioningJob loadJob = new LoadMetadataRepositoryJob(ui);
-		loadJob.runModal(new CancelingProgressMonitor());
-
-		//should not be loaded due to cancelation
-		assertTrue("1.1", !manager.areRepositoriesLoaded());
-	}
-
-	public void testCancelQuery() {
-		URI existing, nonExisting, broken;
-		try {
-			existing = TestData.getFile("metadataRepo", "good").toURI();
-			nonExisting = new File("does/not/exist/testNotFoundRepository").toURI();
-			broken = TestData.getFile("metadataRepo", "bad").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(existing);
-		metadataRepositoryManager.addRepository(nonExisting);
-		metadataRepositoryManager.addRepository(broken);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-
-		Collector result = manager.query(new InstallableUnitQuery("test.bundle", Version.createOSGi(1, 0, 0)), new CancelingProgressMonitor());
-		assertEquals("1.0", 0, result.size());
-	}
-
-	public void testExistingRepository() {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "good").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-		assertTrue("1.0", !manager.areRepositoriesLoaded());
-
-		ProvisioningJob loadJob = new LoadMetadataRepositoryJob(ui);
-		loadJob.runModal(getMonitor());
-
-		// the provisioning job retains references to the repos so they should
-		// not get garbage collected.
-		assertTrue("1.1", manager.areRepositoriesLoaded());
-	}
-
-	/**
-	 * Tests querying against a non-existent repository
-	 */
-	public void testNotFoundRepository() {
-		URI existing, nonExisting;
-		try {
-			existing = TestData.getFile("metadataRepo", "good").toURI();
-			nonExisting = new File("does/not/exist/testNotFoundRepository").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(existing);
-		metadataRepositoryManager.addRepository(nonExisting);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-		// not loaded yet
-		assertFalse("1.0", manager.areRepositoriesLoaded());
-
-		ProvisioningJob loadJob = new LoadMetadataRepositoryJob(ui);
-		loadJob.runModal(getMonitor());
-
-		// the repositories have been loaded.  Because the non-existent 
-		// repository has been noticed and recorded as missing, it
-		// does not count "not loaded."
-		assertTrue("1.1", manager.areRepositoriesLoaded());
-	}
-
-	public void testQuery() {
-		URI existing, nonExisting, broken;
-		try {
-			existing = TestData.getFile("metadataRepo", "good").toURI();
-			nonExisting = new File("does/not/exist/testNotFoundRepository").toURI();
-			broken = TestData.getFile("metadataRepo", "bad").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(existing);
-		metadataRepositoryManager.addRepository(nonExisting);
-		metadataRepositoryManager.addRepository(broken);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-
-		Collector result = manager.query(new InstallableUnitQuery("test.bundle", Version.createOSGi(1, 0, 0)), getMonitor());
-		assertEquals("1.0", 1, result.size());
-		IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
-		assertEquals("1.1", "test.bundle", iu.getId());
-
-		//RepoLocationQuery collects repository URLs
-		result = manager.query(new RepositoryLocationQuery(), getMonitor());
-		assertEquals("2.0", 3, result.size());
-		Collection resultCollection = result.toCollection();
-		assertTrue("2.1", resultCollection.contains(existing));
-		assertTrue("2.1", resultCollection.contains(nonExisting));
-		assertTrue("2.1", resultCollection.contains(broken));
-
-		// null IUPropertyQuery collects all IUs
-		result = manager.query(new InstallableUnitQuery((String) null), getMonitor());
-		int iuCount = result.size();
-		result = manager.query(new IUPropertyQuery(null, null), getMonitor());
-		assertEquals("2.2", iuCount, result.size());
-	}
-
-	public void testNonLatestInMultipleRepositories() {
-		URI multipleVersion1, multipleVersion2;
-		try {
-			multipleVersion1 = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-			multipleVersion2 = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(multipleVersion1);
-		metadataRepositoryManager.addRepository(multipleVersion2);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-
-		IUViewQueryContext context = new IUViewQueryContext(IUViewQueryContext.AVAILABLE_VIEW_FLAT);
-		context.setShowLatestVersionsOnly(false);
-
-		MetadataRepositories rootElement = new MetadataRepositories(context, ui, manager);
-		QueryProvider queryProvider = new QueryProvider(ui);
-		ElementQueryDescriptor queryDescriptor = queryProvider.getQueryDescriptor(rootElement);
-		Collection collection = queryDescriptor.performQuery(null);
-		assertEquals("1.0", 5, collection.size());
-	}
-
-	public void testLatestInMultipleRepositories() {
-		URI multipleVersion1, multipleVersion2;
-		try {
-			multipleVersion1 = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-			multipleVersion2 = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(multipleVersion1);
-		metadataRepositoryManager.addRepository(multipleVersion2);
-		QueryableMetadataRepositoryManager manager = getQueryableManager();
-
-		IUViewQueryContext context = new IUViewQueryContext(IUViewQueryContext.AVAILABLE_VIEW_FLAT);
-		context.setShowLatestVersionsOnly(true);
-
-		MetadataRepositories rootElement = new MetadataRepositories(context, ui, manager);
-		QueryProvider queryProvider = new QueryProvider(ui);
-		ElementQueryDescriptor queryDescriptor = queryProvider.getQueryDescriptor(rootElement);
-		Collection collection = queryDescriptor.performQuery(null);
-		assertEquals("1.0", 1, collection.size());
-		AvailableIUElement next = (AvailableIUElement) collection.iterator().next();
-		assertEquals("1.1", Version.createOSGi(3, 0, 0), next.getIU().getVersion());
-	}
-
-	/**
-	 * Tests that the repository nickname is set on load.  See bug 274334 for details.
-	 */
-	public void testNicknameOnLoad() {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "good").toURI();
-		} catch (Exception e) {
-			fail("0.98", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.removeRepository(location);
-		metadataRepositoryManager.addRepository(location);
-		try {
-			ui.loadMetadataRepository(location, false, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.99", e);
-		}
-		assertEquals("1.0", "Good Test Repository", metadataRepositoryManager.getRepositoryProperty(location, IRepository.PROP_NICKNAME));
-
-	}
-
-	private QueryableMetadataRepositoryManager getQueryableManager() {
-		return new QueryableMetadataRepositoryManager(ui, false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/TranslationSupportTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/TranslationSupportTests.java
deleted file mode 100644
index 578ba38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/TranslationSupportTests.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     EclipseSource - bug fixing
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.query;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Locale;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.common.TranslationSupport;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.IUPropertyUtils;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Tests for {@link IUPropertyUtils}.
- */
-public class TranslationSupportTests extends AbstractQueryTest {
-	public void testFeatureProperties() {
-		TranslationSupport translations = new TranslationSupport();
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		File site = getTestData("0.1", "/testData/metadataRepo/externalized");
-		URI location = site.toURI();
-		IMetadataRepository repository;
-		try {
-			repository = repoMan.loadRepository(location, getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-			return;
-		}
-		Collector result = repository.query(new InstallableUnitQuery("test.feature.feature.group"), getMonitor());
-		assertTrue("1.0", !result.isEmpty());
-		IInstallableUnit unit = (IInstallableUnit) result.iterator().next();
-
-		ICopyright copyright = translations.getCopyright(unit);
-		assertEquals("1.1", "Test Copyright", copyright.getBody());
-		ILicense license = translations.getLicenses(unit)[0];
-		assertEquals("1.2", "Test License", license.getBody());
-		//		assertEquals("1.3", "license.html", license.getURL().toExternalForm());
-		String name = translations.getIUProperty(unit, IInstallableUnit.PROP_NAME);
-		assertEquals("1.4", "Test Feature Name", name);
-		String description = translations.getIUProperty(unit, IInstallableUnit.PROP_DESCRIPTION);
-		assertEquals("1.5", "Test Description", description);
-		String provider = translations.getIUProperty(unit, IInstallableUnit.PROP_PROVIDER);
-		assertEquals("1.6", "Test Provider Name", provider);
-	}
-
-	public void testLocalizedLicense() throws URISyntaxException {
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) ServiceHelper.getService(ProvUIActivator.getContext(), IProfileRegistry.SERVICE_NAME);
-		Profile profile = (Profile) profileRegistry.getProfile(IProfileRegistry.SELF);
-		profileRegistry.lockProfile(profile);
-		String germanLicense = "German License";
-		String canadianFRLicense = "Canadian French License";
-
-		// Create a IU that has a license, but the license body is simply %license. This will be filled in by 
-		// a fragment
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("some IU");
-		iuDescription.setVersion(Version.createOSGi(1, 0, 0));
-		iuDescription.setLicenses(new ILicense[] {MetadataFactory.createLicense(new URI("http://example.com"), "%license")});
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		// Create a bunch of fragments which spec our IU as their host
-		// These fragments don't contribute language information
-		for (int i = 0; i < 10; i++) {
-			InstallableUnitFragmentDescription installableUnitFragmentDescription = new InstallableUnitFragmentDescription();
-			installableUnitFragmentDescription.setId("fragment number: " + i);
-			installableUnitFragmentDescription.setVersion(Version.createOSGi(1, 0, 0));
-			installableUnitFragmentDescription.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "some IU", ANY_VERSION, null, false, false)});
-			installableUnitFragmentDescription.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, "true");
-			IInstallableUnitFragment iuFragment = MetadataFactory.createInstallableUnitFragment(installableUnitFragmentDescription);
-			profile.addInstallableUnit(iuFragment);
-		}
-
-		// Create fragment with a German license
-		InstallableUnitFragmentDescription installableUnitFragmentDescription = new InstallableUnitFragmentDescription();
-		IProvidedCapability providedCapability = MetadataFactory.createProvidedCapability("org.eclipse.equinox.p2.localization", "de", Version.createOSGi(1, 0, 0));
-		ArrayList list = new ArrayList();
-		list.add(providedCapability);
-		installableUnitFragmentDescription.addProvidedCapabilities(list);
-		installableUnitFragmentDescription.setId("german fragment");
-		installableUnitFragmentDescription.setVersion(Version.createOSGi(1, 0, 0));
-		installableUnitFragmentDescription.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "some IU", ANY_VERSION, null, false, false)});
-		installableUnitFragmentDescription.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, "true");
-		installableUnitFragmentDescription.setProperty("de.license", germanLicense);
-		IInstallableUnitFragment iuFragment = MetadataFactory.createInstallableUnitFragment(installableUnitFragmentDescription);
-		profile.addInstallableUnit(iuFragment);
-
-		// Create a French fragment with an fr_CA license
-		installableUnitFragmentDescription = new InstallableUnitFragmentDescription();
-		providedCapability = MetadataFactory.createProvidedCapability("org.eclipse.equinox.p2.localization", "fr", Version.createOSGi(1, 0, 0));
-		list = new ArrayList();
-		list.add(providedCapability);
-		installableUnitFragmentDescription.addProvidedCapabilities(list);
-		installableUnitFragmentDescription.setId("cnd french fragment");
-		installableUnitFragmentDescription.setVersion(Version.createOSGi(1, 0, 0));
-		installableUnitFragmentDescription.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "some IU", ANY_VERSION, null, false, false)});
-		installableUnitFragmentDescription.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, "true");
-		installableUnitFragmentDescription.setProperty("fr_CA.license", canadianFRLicense);
-		iuFragment = MetadataFactory.createInstallableUnitFragment(installableUnitFragmentDescription);
-
-		profile.addInstallableUnit(iuFragment);
-		profile.addInstallableUnit(iu);
-
-		profileRegistry.updateProfile(profile);
-		profileRegistry.unlockProfile(profile);
-		TranslationSupport german = new TranslationSupport();
-		german.setLocale(Locale.GERMAN);
-		ILicense license = german.getLicenses(iu)[0];
-		assertEquals("1.0", germanLicense, license.getBody());
-		TranslationSupport french = new TranslationSupport();
-		french.setLocale(Locale.CANADA_FRENCH);
-		license = french.getLicenses(iu)[0];
-		assertEquals("1.1", canadianFRLicense, license.getBody());
-	}
-
-	public void testBasicIU() {
-		IInstallableUnit unit = createIU("f1");
-		TranslationSupport translations = new TranslationSupport();
-
-		assertNull("1.1", translations.getCopyright(unit));
-		assertEquals("1.2", 0, translations.getLicenses(unit).length);;
-		assertNull("1.3", translations.getIUProperty(unit, IInstallableUnit.PROP_NAME));
-		assertNull("1.4", translations.getIUProperty(unit, IInstallableUnit.PROP_DESCRIPTION));
-		assertNull("1.5", translations.getIUProperty(unit, IInstallableUnit.PROP_PROVIDER));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/AllTests.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/AllTests.java
deleted file mode 100644
index cd87a07..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.repohandling;
-
-import junit.framework.*;
-
-/**
- * Performs all UI action tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(SiteImportExportTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/SiteImportExportTest.java b/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/SiteImportExportTest.java
deleted file mode 100644
index 1948e5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/repohandling/SiteImportExportTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ui.repohandling;
-
-import java.io.File;
-import org.eclipse.equinox.internal.p2.ui.UpdateManagerCompatibility;
-import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
-import org.eclipse.equinox.p2.tests.ui.AbstractProvisioningUITest;
-
-public class SiteImportExportTest extends AbstractProvisioningUITest {
-	public void testUpdateManagerImport() {
-		int siteCount;
-		File bookmarks = getTestData("Getting site bookmarks", "/testData/siteBookmarks/siteexport33.xml/");
-		MetadataRepositoryElement[] elements = UpdateManagerCompatibility.readBookmarkFile(bookmarks);
-		siteCount = elements.length;
-		assertNotNull("1.0", elements);
-		assertTrue("1.1", siteCount > 0);
-		MetadataRepositoryElement element = elements[0];
-		element.setNickname("Foo");
-
-		File folder = getTempFolder();
-		File testExport = new File(folder, "testExport.xml");
-		UpdateManagerCompatibility.writeBookmarkFile(testExport.getAbsolutePath(), elements);
-
-		elements = UpdateManagerCompatibility.readBookmarkFile(testExport);
-		assertEquals("1.2", siteCount, elements.length);
-		assertEquals("1.3", elements[0].getName(), "Foo");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/test.xml b/bundles/org.eclipse.equinox.p2.tests.ui/test.xml
deleted file mode 100644
index 968c0d8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.ui/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<project name="p2 Automated Tests" default="run" basedir=".">
-
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- sets the properties eclipse-home, and library-file -->
-	<property name="eclipse-home" value="${basedir}/../../" />
-	<property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml" />
-	<property name="p2ui_location" value="${eclipse-home}/p2_ui_data_dir" />
-	<property name="plugin-name" value="org.eclipse.equinox.p2.tests.ui" />
-
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp />
-	</target>
-
-	<!-- This target holds code to cleanup the testing environment after the tests -->
-	<!-- have been run. You can use this to delete temporary files that are created. -->
-	<target name="cleanup">
-		<delete dir="${p2ui_location}" quiet="true" />
-	</target>
-
-	<!-- This target runs the test suite. Any actions that need to happen after all -->
-	<!-- the tests have been run should go here. -->
-	<target name="run" depends="init,suite,cleanup">
-		<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="includes" value="org*.xml" />
-			<property name="output-file" value="${plugin-name}.xml" />
-		</ant>
-	</target>
-
-	<!-- This target runs the performance test suites. Any actions that need to happen after all -->
-	<!-- the tests have been run should go here. -->
-	<target name="performance" depends="init,performance-suite,cleanup">
-		<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="includes" value="org*.xml" />
-			<property name="output-file" value="${plugin-name}.xml" />
-		</ant>
-	</target>
-
-	<target name="p2Tests" depends="init,cleanup">
-		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="data-dir" value="${p2ui_location}" />
-			<property name="plugin-name" value="org.eclipse.equinox.p2.tests.ui" />
-			<property name="classname" value="org.eclipse.equinox.p2.tests.ui.AutomatedTests" />
-		</ant>
-	</target>
-
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite" depends="p2Tests" />
-
-	<!-- This target defines the performance tests that need to be run. -->
-	<target name="performance-suite" depends="p2PerformanceTests" />
-
-	<target name="p2PerformanceTests">
-		<!-- TODO -->
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/.classpath b/bundles/org.eclipse.equinox.p2.tests.verifier/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/.project b/bundles/org.eclipse.equinox.p2.tests.verifier/.project
deleted file mode 100644
index 26f0241..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.tests.verifier</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5f61adc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,352 +0,0 @@
-#Fri Dec 12 15:45:18 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index cb66dcc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,61 +0,0 @@
-#Thu Oct 30 11:24:56 EDT 2008
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests.verifier/META-INF/MANIFEST.MF
deleted file mode 100644
index d234388..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Test Install Verifier
-Bundle-SymbolicName: org.eclipse.equinox.p2.tests.verifier;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.tests.verifier.Activator
-Require-Bundle: org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata.query
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.tests.verifier;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/build.properties b/bundles/org.eclipse.equinox.p2.tests.verifier/build.properties
deleted file mode 100644
index e9863e2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/plugin.xml b/bundles/org.eclipse.equinox.p2.tests.verifier/plugin.xml
deleted file mode 100644
index 27d6c0c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-	<extension id="application" point="org.eclipse.core.runtime.applications"> 
-		<application cardinality="singleton-global" thread="main" visible="true"> 
-			<run class="org.eclipse.equinox.internal.p2.tests.verifier.VerifierApplication"/> 
-		</application> 
-	</extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/Activator.java b/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/Activator.java
deleted file mode 100644
index d2a6fd2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/Activator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tests.verifier;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator implements BundleActivator {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.tests.verifier"; //$NON-NLS-1$
-	private static BundleContext bundleContext;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		// nothing interesting to do
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		bundleContext = context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		bundleContext = null;
-	}
-
-	/*
-	 * Return the bundle context or <code>null</code>.
-	 */
-	public static BundleContext getBundleContext() {
-		return bundleContext;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/VerifierApplication.java b/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/VerifierApplication.java
deleted file mode 100644
index 53ae78c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/src/org/eclipse/equinox/internal/p2/tests/verifier/VerifierApplication.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.tests.verifier;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMsg;
-import org.eclipse.core.runtime.internal.adaptor.MessageHelper;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.osgi.framework.internal.core.Constants;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Application which verifies an install.
- * 
- * @since 1.0
- */
-public class VerifierApplication implements IApplication {
-
-	private static final File DEFAULT_PROPERTIES_FILE = new File("verifier.properties"); //$NON-NLS-1$
-	private static final String ARG_PROPERTIES = "-verifier.properties"; //$NON-NLS-1$
-	private Properties properties = null;
-	private List ignoreResolved = null;
-
-	/*
-	 * Create and return an error status with the given message.
-	 */
-	private static IStatus createError(String message) {
-		return new Status(IStatus.ERROR, Activator.PLUGIN_ID, message);
-	}
-
-	/*
-	 * Return the bundle with the given symbolic name, or <code>null</code> if it does not exist.
-	 */
-	public static Bundle getBundle(String symbolicName) {
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(Activator.getBundleContext(), PackageAdmin.class.getName());
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		// Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		// start this bundle to registry a bunch of things we need
-		getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-		String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
-		processArguments(args);
-		IStatus result = verify();
-		if (!result.isOK()) {
-			//			PrintWriter out = new PrintWriter(new FileWriter(new File("c:/tmp/dropins-debug.txt")));
-			PrintWriter out = new PrintWriter(new OutputStreamWriter(System.err));
-			out.println("Error from dropin verifier application: " + result.getMessage()); //$NON-NLS-1$
-			Throwable t = result.getException();
-			if (t != null)
-				t.printStackTrace(out);
-			out.close();
-			LogHelper.log(result);
-		}
-		return result.isOK() ? IApplication.EXIT_OK : new Integer(13);
-	}
-
-	/*
-	 * Go through the command-line args and pull out interesting ones
-	 * for later consumption.
-	 */
-	private void processArguments(String[] args) {
-		if (args == null)
-			return;
-
-		for (int i = 1; i < args.length; i++) {
-			if (ARG_PROPERTIES.equals(args[i - 1])) {
-				String filename = args[i];
-				if (filename.startsWith("-")) //$NON-NLS-1$
-					continue;
-				try {
-					properties = readProperties(new File(filename));
-				} catch (IOException e) {
-					// TODO
-					e.printStackTrace();
-					// fall through to load default
-				}
-				continue;
-			}
-		}
-
-		// problems loading properties file or none specified so look for a default
-		if (properties == null) {
-			try {
-				if (DEFAULT_PROPERTIES_FILE.exists())
-					properties = readProperties(DEFAULT_PROPERTIES_FILE);
-			} catch (IOException e) {
-				// TODO 
-				e.printStackTrace();
-			}
-		}
-		if (properties == null)
-			properties = new Properties();
-	}
-
-	/*
-	 * Read and return a properties file at the given location.
-	 */
-	private Properties readProperties(File file) throws IOException {
-		Properties result = new Properties();
-		InputStream input = null;
-		try {
-			input = new BufferedInputStream(new FileInputStream(file));
-			result.load(input);
-			return result;
-		} finally {
-			if (input != null)
-				try {
-					input.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// nothing to do
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the bundle with the given symbolic name
-	 * should be considered when looking at bundles which are not resolved in the system.
-	 * TODO the call to this method was removed. we should add it back
-	 */
-	protected boolean shouldCheckResolved(String bundle) {
-		if (ignoreResolved == null) {
-			ignoreResolved = new ArrayList();
-			String list = properties.getProperty("ignore.unresolved");
-			if (list == null)
-				return true;
-			for (StringTokenizer tokenizer = new StringTokenizer(list, ","); tokenizer.hasMoreTokens();)
-				ignoreResolved.add(tokenizer.nextToken().trim());
-		}
-		for (Iterator iter = ignoreResolved.iterator(); iter.hasNext();) {
-			if (bundle.equals(iter.next()))
-				return false;
-		}
-		return true;
-	}
-
-	private List getAllBundles() {
-		PlatformAdmin platformAdmin = (PlatformAdmin) ServiceHelper.getService(Activator.getBundleContext(), PlatformAdmin.class.getName());
-		PackageAdmin packageAdmin = (PackageAdmin) ServiceHelper.getService(Activator.getBundleContext(), PackageAdmin.class.getName());
-		State state = platformAdmin.getState(false);
-		List result = new ArrayList();
-
-		BundleDescription[] bundles = state.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			BundleDescription bundle = bundles[i];
-			Bundle[] versions = packageAdmin.getBundles(bundle.getSymbolicName(), bundle.getVersion().toString());
-			for (int j = 0; j < versions.length; j++)
-				result.add(versions[j]);
-		}
-		return result;
-	}
-
-	/*
-	 * Check to ensure all of the bundles in the system are resolved.
-	 * 
-	 * Copied and modified from EclipseStarter#logUnresolvedBundles.
-	 * This method prints out all the reasons while asking the resolver directly
-	 * will only print out the first reason.
-	 */
-	private IStatus checkResolved() {
-		List allProblems = new ArrayList();
-		PlatformAdmin platformAdmin = (PlatformAdmin) ServiceHelper.getService(Activator.getBundleContext(), PlatformAdmin.class.getName());
-		State state = platformAdmin.getState(false);
-		StateHelper stateHelper = platformAdmin.getStateHelper();
-
-		// first lets look for missing leaf constraints (bug 114120)
-		VersionConstraint[] leafConstraints = stateHelper.getUnsatisfiedLeaves(state.getBundles());
-		// hash the missing leaf constraints by the declaring bundles
-		Map missing = new HashMap();
-		for (int i = 0; i < leafConstraints.length; i++) {
-			// only include non-optional and non-dynamic constraint leafs
-			if (leafConstraints[i] instanceof BundleSpecification && ((BundleSpecification) leafConstraints[i]).isOptional())
-				continue;
-			if (leafConstraints[i] instanceof ImportPackageSpecification) {
-				if (ImportPackageSpecification.RESOLUTION_OPTIONAL.equals(((ImportPackageSpecification) leafConstraints[i]).getDirective(Constants.RESOLUTION_DIRECTIVE)))
-					continue;
-				if (ImportPackageSpecification.RESOLUTION_DYNAMIC.equals(((ImportPackageSpecification) leafConstraints[i]).getDirective(Constants.RESOLUTION_DIRECTIVE)))
-					continue;
-			}
-			BundleDescription bundleDesc = leafConstraints[i].getBundle();
-			ArrayList constraints = (ArrayList) missing.get(bundleDesc);
-			if (constraints == null) {
-				constraints = new ArrayList();
-				missing.put(bundleDesc, constraints);
-			}
-			constraints.add(leafConstraints[i]);
-		}
-
-		// found some bundles with missing leaf constraints; log them first 
-		if (missing.size() > 0) {
-			int rootIndex = 0;
-			for (Iterator iter = missing.keySet().iterator(); iter.hasNext(); rootIndex++) {
-				BundleDescription description = (BundleDescription) iter.next();
-				String generalMessage = NLS.bind(EclipseAdaptorMsg.ECLIPSE_STARTUP_ERROR_BUNDLE_NOT_RESOLVED, description.getLocation());
-				ArrayList constraints = (ArrayList) missing.get(description);
-				for (Iterator inner = constraints.iterator(); inner.hasNext();) {
-					String message = generalMessage + " Reason: " + MessageHelper.getResolutionFailureMessage((VersionConstraint) inner.next()); //$NON-NLS-1$
-					allProblems.add(createError(message));
-				}
-			}
-		}
-
-		// There may be some bundles unresolved for other reasons, causing the system to be unresolved
-		// log all unresolved constraints now
-		List allBundles = getAllBundles();
-		for (Iterator i = allBundles.iterator(); i.hasNext();) {
-			Bundle bundle = (Bundle) i.next();
-			if (bundle.getState() == Bundle.INSTALLED) {
-				String generalMessage = NLS.bind(EclipseAdaptorMsg.ECLIPSE_STARTUP_ERROR_BUNDLE_NOT_RESOLVED, bundle);
-				BundleDescription description = state.getBundle(bundle.getBundleId());
-				// for some reason, the state does not know about that bundle
-				if (description == null)
-					continue;
-				VersionConstraint[] unsatisfied = stateHelper.getUnsatisfiedConstraints(description);
-				if (unsatisfied.length > 0) {
-					// the bundle wasn't resolved due to some of its constraints were unsatisfiable
-					for (int j = 0; j < unsatisfied.length; j++)
-						allProblems.add(createError(generalMessage + " Reason: " + MessageHelper.getResolutionFailureMessage(unsatisfied[j]))); //$NON-NLS-1$
-				} else {
-					ResolverError[] resolverErrors = state.getResolverErrors(description);
-					for (int j = 0; j < resolverErrors.length; j++) {
-						if (shouldAdd(resolverErrors[j])) {
-							allProblems.add(createError(generalMessage + " Reason: " + resolverErrors[j].toString())); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-		MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "Problems checking resolved bundles.", null); //$NON-NLS-1$
-		for (Iterator iter = allProblems.iterator(); iter.hasNext();)
-			result.add((IStatus) iter.next());
-		return result;
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given resolver error should be 
-	 * added to our results.
-	 */
-	private boolean shouldAdd(ResolverError error) {
-		// ignore EE problems? default value is true
-		String prop = properties.getProperty("ignore.ee"); //$NON-NLS-1$
-		boolean ignoreEE = prop == null || Boolean.valueOf(prop).booleanValue();
-		if (ResolverError.MISSING_EXECUTION_ENVIRONMENT == error.getType() && ignoreEE)
-			return false;
-		return true;
-	}
-
-	/*
-	 * Ensure we have a profile registry and can access the SELF profile.
-	 */
-	private IStatus checkProfileRegistry() {
-		IProfileRegistry registry = (IProfileRegistry) ServiceHelper.getService(Activator.getBundleContext(), IProfileRegistry.class.getName());
-		if (registry == null)
-			return createError("Profile registry service not available."); //$NON-NLS-1$
-		IProfile profile = registry.getProfile(IProfileRegistry.SELF);
-		if (profile == null)
-			return createError("SELF profile not available in profile registry."); //$NON-NLS-1$
-		Collector results = profile.query(new InstallableUnitQuery(Activator.PLUGIN_ID), null);
-		if (results.isEmpty())
-			return createError(NLS.bind("IU for {0} not found in SELF profile.", Activator.PLUGIN_ID)); //$NON-NLS-1$
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * Perform all of the verification checks.
-	 */
-	public IStatus verify() {
-		String message = "Problems occurred during verification."; //$NON-NLS-1$
-		MultiStatus result = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, message, null);
-
-		// ensure all the bundles are resolved
-		IStatus temp = checkResolved();
-		if (!temp.isOK())
-			result.merge(temp);
-
-		// ensure we have a profile registry
-		temp = checkProfileRegistry();
-		if (!temp.isOK())
-			result.merge(temp);
-
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/.classpath b/bundles/org.eclipse.equinox.p2.tests/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.tests/.project b/bundles/org.eclipse.equinox.p2.tests/.project
deleted file mode 100644
index a77ce5d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5f61adc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,352 +0,0 @@
-#Fri Dec 12 15:45:18 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index cb66dcc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,61 +0,0 @@
-#Thu Oct 30 11:24:56 EDT 2008
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6333193..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Aug 23 14:59:00 CEST 2007
-eclipse.preferences.version=1
-pluginProject.extensions=true
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.tests/All p2 Tests.launch b/bundles/org.eclipse.equinox.p2.tests/All p2 Tests.launch
deleted file mode 100644
index b7f4c3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/All p2 Tests.launch
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
-<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.artifact.repository/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.touchpoint.eclipse/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata.generator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.exemplarysetup/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.director.app/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.updatesite/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.ui.sdk/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.jarprocessor/bin"/>
-<listEntry value="/org.eclipse.equinox.frameworkadmin.equinox/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.reconciler.dropins/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.director/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.updatechecker/bin"/>
-<listEntry value="/org.eclipse.equinox.simpleconfigurator.manipulator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.engine/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.ui/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.core/bin"/>
-<listEntry value="/org.eclipse.equinox.frameworkadmin/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.garbagecollector/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.directorywatcher/bin"/>
-<listEntry value="/org.eclipse.equinox.simpleconfigurator/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.installer/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.touchpoint.natives/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata.repository/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.extensionlocation/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.publisher/bin"/>
-<listEntry value="/org.eclipse.equinox.p2.metadata/bin"/>
-</listAttribute>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit2-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.AutomatedTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consolelog -console"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.tests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.equinox.p2.reconciler.tests.platform.archive=c:/builds/eclipse-platform-I20090811-0800-win32.zip&#13;&#10;-Dorg.eclipse.equinox.p2.reconciler.tests.35.platform.archive=c:/builds/eclipse-platform-3.5-win32.zip&#13;&#10;-Dorg.eclipse.equinox.p2.repository&#13;&#10;-Dorg.eclipse.equinox.p2.tests.current.build.repo=http://eclipsebuildserv/3.6-I-builds/&#13;&#13;&#10;-Xmx512m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index fab8299..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,101 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.tests;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.2.0.qualifier
-Import-Package: javax.xml.parsers,
- org.eclipse.ant.core,
- org.eclipse.ecf.filetransfer,
- org.eclipse.equinox.internal.p2.artifact.processors.md5,
- org.eclipse.equinox.internal.p2.artifact.processors.pack200,
- org.eclipse.equinox.internal.p2.artifact.repository,
- org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.director,
- org.eclipse.equinox.internal.p2.director.app,
- org.eclipse.equinox.internal.p2.extensionlocation,
- org.eclipse.equinox.internal.p2.jarprocessor,
- org.eclipse.equinox.internal.p2.jarprocessor.verifier,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.metadata.mirror,
- org.eclipse.equinox.internal.p2.metadata.repository,
- org.eclipse.equinox.internal.p2.metadata.repository.io,
- org.eclipse.equinox.internal.p2.persistence,
- org.eclipse.equinox.internal.p2.publisher.eclipse,
- org.eclipse.equinox.internal.p2.ql,
- org.eclipse.equinox.internal.p2.touchpoint.eclipse,
- org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions,
- org.eclipse.equinox.internal.p2.touchpoint.natives,
- org.eclipse.equinox.internal.p2.touchpoint.natives.actions,
- org.eclipse.equinox.internal.p2.update,
- org.eclipse.equinox.internal.p2.updatesite,
- org.eclipse.equinox.internal.p2.updatesite.artifact,
- org.eclipse.equinox.internal.p2.updatesite.metadata,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.directorywatcher,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.internal.repository.tools,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.ql,
- org.eclipse.equinox.spi.p2.publisher,
- org.eclipse.internal.provisional.equinox.p2.jarprocessor,
- org.eclipse.osgi.service.datalocation,
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.service.urlconversion;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.util.tracker;version="1.3.0",
- org.xml.sax
-Bundle-Activator: org.eclipse.equinox.p2.tests.TestActivator
-Bundle-ClassPath: .
-Require-Bundle: org.eclipse.equinox.p2.metadata.generator,
- org.eclipse.equinox.frameworkadmin,
- org.eclipse.equinox.common,
- org.eclipse.core.tests.harness;bundle-version="3.4.0",
- org.eclipse.core.runtime;bundle-version="3.4.0",
- org.eclipse.equinox.p2.publisher;bundle-version="1.0.0",
- org.easymock;bundle-version="2.4.0",
- org.eclipse.equinox.frameworkadmin.test;bundle-version="1.0.0",
- org.junit;bundle-version="3.8.0",
- org.sat4j.core;bundle-version="2.0.0",
- org.sat4j.pb;bundle-version="2.0.0",
- org.eclipse.equinox.p2.installer;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.equinox.simpleconfigurator;bundle-version="1.0.100",
- org.eclipse.equinox.p2.updatechecker;bundle-version="1.0.0",
- org.eclipse.equinox.simpleconfigurator.manipulator;bundle-version="1.0.100",
- org.eclipse.equinox.p2.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.tests.verifier;bundle-version="1.0.0",
- org.eclipse.equinox.security;bundle-version="1.0.0",
- org.eclipse.equinox.p2.engine;bundle-version="2.0.0"
-Bundle-ActivationPolicy: lazy
-Eclipse-RegisterBuddy: org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.equinox.p2.tests,
- org.eclipse.equinox.p2.tests.artifact.repository,
- org.eclipse.equinox.p2.tests.artifact.repository.processing,
- org.eclipse.equinox.p2.tests.director,
- org.eclipse.equinox.p2.tests.directorywatcher,
- org.eclipse.equinox.p2.tests.embeddedequinox,
- org.eclipse.equinox.p2.tests.engine,
- org.eclipse.equinox.p2.tests.full,
- org.eclipse.equinox.p2.tests.generator,
- org.eclipse.equinox.p2.tests.metadata,
- org.eclipse.equinox.p2.tests.metadata.repository,
- org.eclipse.equinox.p2.tests.publisher,
- org.eclipse.equinox.p2.tests.publisher.actions,
- org.eclipse.equinox.p2.tests.simpleconfigurator
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
deleted file mode 100644
index 57b49f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director CDT.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/test/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/temp/equinox.p2/agent/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=cdt"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="jdk"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
deleted file mode 100644
index c0e65d6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director SDK.launch
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.update.configurator"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/tests/director/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -noExit -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=d:/tmp/equinox.p2/agent/ &#13;&#10;-Declipse.p2.metadataRepository=file:d:/tmp/equinox.p2/servers/metadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:d:/tmp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=d:/tmp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=sdk"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.ibm.icu.source,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,javax.servlet.jsp.source,javax.servlet.source,org.apache.ant,org.apache.ant.source,org.apache.commons.el,org.apache.commons.el.source,org.apache.commons.logging,org.apache.commons.logging.source,org.apache.jasper,org.apache.jasper.source,org.apache.lucene,org.apache.lucene.analysis,org.apache.lucene.analysis.source,org.apache.lucene.source,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.apt.core,org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.ui,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.jsch.ui,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.doc.user,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.tomcat,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.net,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.junit,org.junit.source,org.junit4,org.mortbay.jetty,org.mortbay.jetty.source"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.ecf,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.test,org.apache.xml.resolver,org.apache.xerces,org.eclipse.ecf.identity,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.jarprocessor,org.mozilla.rhino,org.eclipse.equinox.p2.metadata.repository,com.thoughtworks.xstream,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.console,org.eclipse.ecf.filetransfer,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.p2.download,org.eclipse.ecf.provider.filetransfer,org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.simpleconfigurator"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="ibm1.5sr1"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
deleted file mode 100644
index b39f45d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall CDT.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.test/src/org/eclipse/equinox/prov/tests/director/DirectorTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.director.DirectorTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.data.area=c:/temp/equinox.p2/agent/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/CDTmetadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=cdt&#13;&#10;-Declipse.p2.doUninstall=true"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="jdk"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch b/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
deleted file mode 100644
index a0a698d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/Test Director Uninstall SDK.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Test Director Uninstall SDK"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console -consolelog"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m&#13;&#10;-Xmx768m&#13;&#10;-Declipse.p2.data.area=c:/temp/equinox.p2/agent/&#13;&#10;-Declipse.p2.metadataRepository=file:c:/temp/equinox.p2/servers/metadataRepository/ &#13;&#10;-Declipse.p2.artifactRepository=file:c:/temp/equinox.p2/servers/artifactRepository/&#13;&#10;-Declipse.p2.installFolder=c:/temp/equinox.p2/eclipseInstall/ &#13;&#10;-Declipse.p2.configurationFlavor=tooling&#13;&#10;-Declipse.p2.autoInstall=sdk&#13;&#10;-Declipse.p2.doUninstall=true"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.jobs@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.junit@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="vminstall" value="JRE1.4.2"/>
-<stringAttribute key="workspace_bundles" value="com.thoughtworks.xstream@default:default,org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@1:true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/about.html b/bundles/org.eclipse.equinox.p2.tests/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/build.properties b/bundles/org.eclipse.equinox.p2.tests/build.properties
deleted file mode 100644
index 1518f3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.xml,\
-               testData/,\
-               plugin.properties,\
-               test.xml
-customCallBack=foo.xml
-javacWarnings..=-raw,-unchecked,-varargsCast
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.tests/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/plugin.properties
deleted file mode 100644
index 08e7c4e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Tests (Incubation)
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.tests/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/plugin.xml
deleted file mode 100644
index 3bf594c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/plugin.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
-       id="phaseTest"
-       point="org.eclipse.equinox.p2.engine.touchpoints">
-    <touchpoint
-          class="org.eclipse.equinox.p2.tests.engine.TouchpointTest$PhaseTestTouchpoint"
-          type="phaseTest"
-          version="1.0.0">
-    </touchpoint>
- </extension>
- 
- <extension
-       id="operandTest"
-       point="org.eclipse.equinox.p2.engine.touchpoints">
-    <touchpoint
-          class="org.eclipse.equinox.p2.tests.engine.TouchpointTest$OperandTestTouchpoint"
-          type="operandTest"
-          version="1.0.0">
-    </touchpoint>
- </extension>
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.ByteShifter">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.ByteShifter"/>
-	</extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.Adder">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.Adder"/>
-	</extension>
-
-	<extension
-			point="org.eclipse.equinox.p2.artifact.repository.processingSteps"
-			id="org.eclipse.equinox.p2.processing.Multiplier">
-		<step class="org.eclipse.equinox.p2.tests.artifact.repository.processing.Multiplier"/>
-	</extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.p2.tests.engine.PhaseTest$TestAction"
-          name="test1.test"
-          version="1.0.0">
-    </action>
-  </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.p2.tests.engine.PhaseTest$TestAction"
-          name="phasetest.test"
-          touchpointType="phaseTest"
-          touchpointVersion="1.0.0"
-          version="1">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.p2.tests.engine.PhaseTest$TestAction"
-          name="operandtest.test"
-          touchpointType="operandTest"
-          touchpointVersion="1.0.0"
-          version="1">
-    </action>
- </extension>
- <extension
-       id="phaseTest"
-       point="org.eclipse.equinox.p2.engine.touchpoints">
-    <touchpoint
-          class="org.eclipse.equinox.p2.tests.engine.InstructionParserTest$InstructionParserTestTouchpoint"
-          type="InstructionParserTestTouchpoint"
-          version="1.0.0">
-    </touchpoint>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.p2.tests.engine.InstructionParserTest$TestAction"
-          name="instructionparsertest.goodAction"
-          touchpointType="InstructionParserTestTouchpoint"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.p2.tests.engine.PhaseTest$TestAction"
-          name="test2.test"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-        <filter suffix="broken.xml"/>
-    <factory
-          class="org.eclipse.equinox.p2.tests.FailingMetadataRepositoryFactory">
-    </factory>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch b/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
deleted file mode 100644
index ad9a6a4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/Test Data Generator.launch
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Test Data Generator"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="execEnvironment" value="J2SE-1.5"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator&#13;&#10;-metadataRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo}&#13;&#10;-artifactRepository file:${workspace_loc:org.eclipse.equinox.p2.tests/testData/enginerepo} &#13;&#10;-base ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-bundles ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-features ${workspace_loc:org.eclipse.equinox.p2.tests/rawData}&#13;&#10;-publishArtifacts &#13;&#10;-par&#13;&#10;-noDefaultIUs"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:default,org.eclipse.core.runtime.compatibility.registry@default:default,org.eclipse.equinox.app@default:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi@:,org.eclipse.osgi.services@default:default,org.eclipse.update.configurator@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="false"/>
-<stringAttribute key="vminstall" value="ibm1.5sr1"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.download@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc b/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
deleted file mode 100644
index 080a937..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1252"?>
-<jardesc>
-    <jar path="D:/workspaces/prov.selfhost/org.eclipse.equinox.p2.tests/testData/enginerepo.jar"/>
-    <options buildIfNeeded="true" compress="true" descriptionLocation="/org.eclipse.equinox.p2.tests/rawData/enginerepo.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
-    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
-    <selectedProjects/>
-    <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false">
-        <folder path="/org.eclipse.equinox.p2.tests/testData/enginerepo"/>
-    </selectedElements>
-</jardesc>
diff --git a/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar b/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
deleted file mode 100644
index d53ff00..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/rawData/org.eclipse.equinox.prov.engine_0.1.0.200709241631.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractAntProvisioningTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractAntProvisioningTest.java
deleted file mode 100644
index f46ba1c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractAntProvisioningTest.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.persistence.XMLWriter;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-
-public class AbstractAntProvisioningTest extends AbstractProvisioningTest {
-	protected static final String TYPE_ARTIFACT = "A";
-	protected static final String TYPE_METADATA = "M";
-	protected static final String TYPE_BOTH = null;
-
-	private static final String TARGET = "target";
-	private static final String ROOT = "project";
-	private static final String NAME = "name";
-	private static final String DEFAULT_TARGET = "default";
-	private static final String DEFAULT_NAME = "default";
-
-	AntTaskElement root, target;
-	File buildScript, logLocation;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		buildScript = new File(getTempFolder(), getUniqueString());
-		logLocation = new File(getTempFolder(), getUniqueString());
-		createBuildScript();
-	}
-
-	public void tearDown() throws Exception {
-		// Delete the build script
-		delete(buildScript.getParentFile());
-		delete(logLocation.getParentFile());
-		super.tearDown();
-	}
-
-	/*
-	 * Run the specified buildscript
-	 */
-	protected void runAntTask(File buildFile) {
-		try {
-			runAntTaskWithExceptions(buildFile);
-		} catch (CoreException e) {
-			fail(rootCause(e));
-		}
-	}
-
-	private void runAntTaskWithExceptions(File buildFile) throws CoreException {
-		AntRunner ant = new AntRunner();
-		ant.setArguments("-logfile \"" + logLocation + "\"");
-		ant.setBuildFileLocation(buildFile.getAbsolutePath());
-		ant.addBuildLogger("org.apache.tools.ant.XmlLogger");
-		ant.run();
-	}
-
-	/*
-	 * Run the build script described programmatically
-	 */
-	protected void runAntTask() {
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			fail(rootCause(e));
-		}
-	}
-
-	protected void runAntTaskWithExceptions() throws CoreException {
-		try {
-			writeBuildScript();
-		} catch (Exception e) {
-			fail("Error writing build script", e);
-		}
-		runAntTaskWithExceptions(buildScript);
-	}
-
-	/*
-	 * Adds an Ant Task to the build script
-	 */
-	protected void addTask(AntTaskElement task) {
-		target.addElement(task);
-	}
-
-	/*
-	 * Create and return an repository element for this address and type
-	 */
-	protected AntTaskElement getRepositoryElement(URI address, String kind) {
-		return getRepositoryElement(address, kind, null, null, null, null);
-	}
-
-	protected AntTaskElement getIUElement(String name, String version) {
-		AntTaskElement iuElement = new AntTaskElement("iu");
-		iuElement.addAttribute("id", name);
-		if (version != null)
-			iuElement.addAttribute("version", version);
-		return iuElement;
-	}
-
-	protected AntTaskElement getRepositoryElement(URI address, String kind, String name, String format, Boolean compressed, Boolean append) {
-		AntTaskElement repo = new AntTaskElement("repository");
-		repo.addAttributes(new String[] {"location", URIUtil.toUnencodedString(address)});
-		if (kind != null)
-			repo.addAttributes(new String[] {"kind", kind});
-		if (name != null)
-			repo.addAttributes(new String[] {"name", name});
-		if (format != null)
-			repo.addAttributes(new String[] {"format", format});
-		if (compressed != null)
-			repo.addAttributes(new String[] {"compressed", compressed.toString()});
-		if (append != null)
-			repo.addAttributes(new String[] {"append", append.toString()});
-		return repo;
-	}
-
-	/*
-	 * Create an element from the specified information
-	 */
-	protected AntTaskElement createIUElement(IInstallableUnit iu) {
-		return createIUElement(iu.getId(), iu.getVersion().toString());
-	}
-
-	/*
-	 * Create an element from the specified information
-	 */
-	protected AntTaskElement createIUElement(String id, String version) {
-		AntTaskElement iuElement = new AntTaskElement("iu");
-		iuElement.addAttribute("id", id);
-		iuElement.addAttribute("version", version);
-		return iuElement;
-	}
-
-	/*
-	 * Create the base elements of the build script
-	 */
-	private void createBuildScript() {
-		root = new AntTaskElement(ROOT);
-		root.addAttributes(new String[] {NAME, ROOT, DEFAULT_TARGET, DEFAULT_NAME});
-		target = new AntTaskElement(TARGET);
-		target.addAttributes(new String[] {NAME, DEFAULT_NAME});
-		root.addElement(target);
-	}
-
-	/*
-	 * Write the build script to disk
-	 */
-	private void writeBuildScript() throws Exception {
-		FileOutputStream outputStream = null;
-		try {
-			outputStream = new FileOutputStream(buildScript);
-			XMLWriter writer = new XMLWriter(outputStream, null);
-			writeElement(writer, root);
-			writer.flush();
-		} finally {
-			if (outputStream != null)
-				outputStream.close();
-		}
-	}
-
-	/*
-	 * Write an element to the buildscript
-	 */
-	private void writeElement(XMLWriter writer, AntTaskElement task) {
-		// Properties ought to occur in key-value pairs 
-		assertTrue("Task " + task + " should have an even number of properties", (task.attributes.size() % 2) == 0);
-
-		// Start tag
-		writer.start(task.name);
-
-		// write properties
-		for (Iterator iter = task.attributes.iterator(); iter.hasNext();)
-			writer.attribute((String) iter.next(), (String) iter.next());
-
-		// write sub elements if applicable
-		for (Iterator iter = task.elements.iterator(); iter.hasNext();)
-			writeElement(writer, (AntTaskElement) iter.next());
-
-		// close tag
-		writer.end();
-	}
-
-	// Class which can be used to represent elements in a task
-	protected class AntTaskElement {
-		public String name;
-		public List attributes = new ArrayList();
-		public List elements = new ArrayList();
-
-		public AntTaskElement(String name) {
-			this.name = name;
-		}
-
-		public void addAttribute(String attribute, String value) {
-			attributes.add(attribute);
-			attributes.add(value);
-		}
-
-		public void addAttributes(String[] propertyArray) {
-			attributes.addAll(Arrays.asList(propertyArray));
-		}
-
-		public void addElement(AntTaskElement element) {
-			elements.add(element);
-		}
-
-		public String toString() {
-			return name;
-		}
-	}
-
-	protected static Throwable rootCause(Throwable e) {
-		if (e.getCause() != null)
-			return rootCause(e.getCause());
-		return e;
-	}
-
-	protected static void fail(Throwable e) {
-		fail("An exception occurred while running the task", e);
-	}
-
-	protected void assertLogContains(String content) {
-		try {
-			assertLogContainsLine(logLocation, content);
-		} catch (Exception e) {
-			fail("Error asserting log contents.", e);
-		}
-	}
-
-	protected static void assertIUContentEquals(String message, IQueryable source, IQueryable destination) {
-		assertContains(message, source, destination);
-		assertContains(message, destination, source);
-	}
-
-	protected void assertArtifactKeyContentEquals(String message, Collector ius, URI artifactRepositoryLocation) {
-		try {
-			IArtifactRepository repo = getArtifactRepositoryManager().loadRepository(artifactRepositoryLocation, null);
-			List fromIUs = getArtifactKeys(ius);
-			Collection fromRepo = repo.query(ArtifactKeyQuery.ALL_KEYS, null).toCollection();
-			assertContains(message, fromIUs, fromRepo);
-			assertContains(message, fromRepo, fromIUs);
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		}
-
-	}
-
-	protected static void assertContains(String message, IQueryable source, IQueryable destination) {
-		Collector sourceCollector = source.query(InstallableUnitQuery.ANY, null);
-		Iterator it = sourceCollector.iterator();
-
-		while (it.hasNext()) {
-			IInstallableUnit sourceIU = (IInstallableUnit) it.next();
-			Collector destinationCollector = destination.query(new InstallableUnitQuery(sourceIU), null);
-			assertEquals(message, 1, destinationCollector.size());
-			assertTrue(message, sourceIU.equals(destinationCollector.iterator().next()));
-		}
-	}
-
-	protected static void assertContains(String message, Collection fromIUs, Collection fromRepo) {
-		for (Iterator iter = fromIUs.iterator(); iter.hasNext();)
-			assertTrue(message, fromRepo.contains(iter.next()));
-	}
-
-	protected static List getArtifactKeys(Collector ius) {
-		List keys = new ArrayList(ius.size());
-
-		for (Iterator iter = ius.iterator(); iter.hasNext();)
-			keys.addAll(Arrays.asList(((InstallableUnit) iter.next()).getArtifacts()));
-		return keys;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
deleted file mode 100644
index def49c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java
+++ /dev/null
@@ -1,1390 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.net.URL;
-import java.util.*;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * Base class for provisioning tests with convenience methods used by multiple tests.
- */
-public abstract class AbstractProvisioningTest extends TestCase {
-
-	protected static final VersionRange ANY_VERSION = VersionRange.emptyRange;
-	protected static final IProvidedCapability[] BUNDLE_CAPABILITY = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", Version.createOSGi(1, 0, 0))};
-
-	private static final IRequiredCapability[] BUNDLE_REQUIREMENT = new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)};
-
-	protected static final Version DEFAULT_VERSION = Version.createOSGi(1, 0, 0);
-	public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", Version.createOSGi(1, 0, 0));
-
-	protected static final Map NO_PROPERTIES = Collections.EMPTY_MAP;
-	protected static final IProvidedCapability[] NO_PROVIDES = new IProvidedCapability[0];
-	protected static final IRequiredCapability[] NO_REQUIRES = new IRequiredCapability[0];
-
-	protected static final ITouchpointData NO_TP_DATA = MetadataFactory.createTouchpointData(new HashMap());
-
-	//flag used to disable currently failing (invalid) tests. This should always be set to true
-	protected boolean DISABLED = true;
-
-	/**
-	 * Tracks the metadata repositories created by this test instance. The repositories
-	 * will be removed automatically at the end of the test.
-	 */
-	private List metadataRepos = new ArrayList();
-	/**
-	 * Tracks the profile ids created by this test instance. The profiles
-	 * will be removed automatically at the end of the test.
-	 */
-	protected List profilesToRemove = new ArrayList();
-
-	private File testFolder = null;
-
-	public static void assertEmptyProfile(IProfile profile) {
-		assertNotNull("The profile should not be null", profile);
-		if (getInstallableUnits(profile).hasNext())
-			fail("The profile should be empty,profileId=" + profile);
-	}
-
-	protected static void assertNotIUs(IInstallableUnit[] ius, Iterator installableUnits) {
-		Set notexpected = new HashSet();
-		notexpected.addAll(Arrays.asList(ius));
-
-		while (installableUnits.hasNext()) {
-			IInstallableUnit next = (IInstallableUnit) installableUnits.next();
-			if (notexpected.contains(next)) {
-				fail("not expected [" + next + "]");
-			}
-		}
-	}
-
-	protected static void assertNotOK(IStatus result) {
-		assertNotOK("The status should not have been OK", result);
-	}
-
-	protected static void assertNotOK(String message, IStatus result) {
-		assertTrue(message, !result.isOK());
-	}
-
-	protected static void assertOK(String message, IStatus status) {
-		if (status.isOK())
-			return;
-
-		// print out the children if we have any
-		IStatus children[] = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IStatus child = children[i];
-			if (!child.isOK())
-				new CoreException(child).printStackTrace();
-		}
-
-		fail(message + ' ' + status.getMessage(), status.getException());
-	}
-
-	/**
-	 * Asserts that the given profile contains *only* the given IUs.
-	 */
-	protected static void assertProfileContains(String message, IProfile profile, IInstallableUnit[] expectedUnits) {
-		HashSet expected = new HashSet(Arrays.asList(expectedUnits));
-		for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
-			IInstallableUnit actual = (IInstallableUnit) it.next();
-			if (!expected.remove(actual))
-				fail(message + " profile " + profile.getProfileId() + " contained an unexpected unit: " + actual);
-		}
-		if (!expected.isEmpty())
-			fail(message + " profile " + profile.getProfileId() + " did not contain expected units: " + expected);
-	}
-
-	/**
-	 * Asserts that the given profile contains all the given IUs.
-	 */
-	protected static void assertProfileContainsAll(String message, IProfile profile2, IInstallableUnit[] expectedUnits) {
-		HashSet expected = new HashSet(Arrays.asList(expectedUnits));
-		for (Iterator it = getInstallableUnits(profile2); it.hasNext();) {
-			IInstallableUnit actual = (IInstallableUnit) it.next();
-			expected.remove(actual);
-		}
-		if (!expected.isEmpty())
-			fail(message + " profile " + profile2.getProfileId() + " did not contain expected units: " + expected);
-	}
-
-	/*
-	 * Copy
-	 * - if we have a file, then copy the file
-	 * - if we have a directory then merge
-	 */
-	public static void copy(String message, File source, File target) {
-		if (!source.exists())
-			return;
-		if (source.isDirectory()) {
-			if (target.exists() && target.isFile())
-				target.delete();
-			if (!target.exists())
-				target.mkdirs();
-			File[] children = source.listFiles();
-			for (int i = 0; i < children.length; i++)
-				copy(message, children[i], new File(target, children[i].getName()));
-			return;
-		}
-		InputStream input = null;
-		OutputStream output = null;
-		try {
-			input = new BufferedInputStream(new FileInputStream(source));
-			output = new BufferedOutputStream(new FileOutputStream(target));
-
-			byte[] buffer = new byte[8192];
-			int bytesRead = 0;
-			while ((bytesRead = input.read(buffer)) != -1)
-				output.write(buffer, 0, bytesRead);
-		} catch (IOException e) {
-			fail(message, e);
-		} finally {
-			if (input != null) {
-				try {
-					input.close();
-				} catch (IOException e) {
-					System.err.println("Exception while trying to close input stream on: " + source.getAbsolutePath());
-					e.printStackTrace();
-				}
-			}
-			if (output != null) {
-				try {
-					output.close();
-				} catch (IOException e) {
-					System.err.println("Exception while trying to close output stream on: " + target.getAbsolutePath());
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/**
-	 * 	Create an eclipse InstallableUnitFragment with the given name that is hosted
-	 *  by any bundle. The fragment has the default version, and the default self and
-	 *  fragment provided capabilities are added to the IU.
-	 */
-	public static IInstallableUnitFragment createBundleFragment(String name) {
-		InstallableUnitFragmentDescription fragment = new InstallableUnitFragmentDescription();
-		fragment.setId(name);
-		fragment.setVersion(DEFAULT_VERSION);
-		fragment.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		fragment.setTouchpointType(TOUCHPOINT_OSGI);
-		fragment.addTouchpointData(NO_TP_DATA);
-		fragment.setHost(BUNDLE_REQUIREMENT);
-		return MetadataFactory.createInstallableUnitFragment(fragment);
-
-		//		return createIUFragment(null, name, DEFAULT_VERSION, BUNDLE_REQUIREMENT, TOUCHPOINT_OSGI, NO_TP_DATA);
-	}
-
-	/**
-	 * 	Create an eclipse InstallableUnitFragment with the given name and version
-	 *  that is hosted by any bundle. The default self and fragment provided capabilities
-	 *  are added to the IU.
-	 */
-	public static IInstallableUnitFragment createBundleFragment(String name, Version version, ITouchpointData tpData) {
-		return createIUFragment(null, name, version, BUNDLE_REQUIREMENT, TOUCHPOINT_OSGI, tpData);
-	}
-
-	public IInstallableUnit createBundleIU(BundleDescription bd, boolean isFolder, IArtifactKey key) {
-		PublisherInfo info = new PublisherInfo();
-		String shape = isFolder ? IBundleShapeAdvice.DIR : IBundleShapeAdvice.JAR;
-		info.addAdvice(new BundleShapeAdvice(bd.getSymbolicName(), Version.fromOSGiVersion(bd.getVersion()), shape));
-		return BundlesAction.createBundleIU(bd, key, info);
-	}
-
-	public static IDirector createDirector() {
-		return (IDirector) ServiceHelper.getService(TestActivator.getContext(), IDirector.SERVICE_NAME);
-	}
-
-	/**
-	 * 	Create an Eclipse InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createEclipseIU(String name) {
-		return createEclipseIU(name, DEFAULT_VERSION);
-	}
-
-	/**
-	 * 	Create an Eclipse InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createEclipseIU(String name, Version version) {
-		return createIU(name, version, null, NO_REQUIRES, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, NO_TP_DATA, false);
-	}
-
-	public static IInstallableUnit createEclipseIUSingleton(String name, Version version) {
-		return createIU(name, version, null, NO_REQUIRES, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, NO_TP_DATA, true);
-	}
-
-	/**
-	 * 	Create an Eclipse InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createEclipseIU(String name, Version version, IRequiredCapability[] requires, ITouchpointData touchpointData) {
-		return createIU(name, version, null, requires, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, touchpointData, false);
-	}
-
-	public static IEngine createEngine() {
-		return (IEngine) ServiceHelper.getService(TestActivator.getContext(), IEngine.SERVICE_NAME);
-	}
-
-	/**
-	 * Creates and returns a correctly formatted LDAP filter with the given key and value.
-	 */
-	protected static String createFilter(String filterKey, String filterValue) {
-		return "(" + filterKey + '=' + filterValue + ')';
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name) {
-		return createIU(name, DEFAULT_VERSION);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, IProvidedCapability[] additionalProvides) {
-		return createIU(name, DEFAULT_VERSION, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, IRequiredCapability[] requires) {
-		return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, IRequiredCapability[] requires, boolean singleton) {
-		return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, String filter, IProvidedCapability[] additionalProvides) {
-		return createIU(name, DEFAULT_VERSION, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version) {
-		return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, boolean singleton) {
-		return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, IProvidedCapability[] additionalProvides) {
-		return createIU(name, version, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, IRequiredCapability[] required) {
-		return createIU(name, version, null, required, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	public static IInstallableUnit createIUWithMetaRequirement(String name, Version version, boolean singleton, IRequiredCapability[] requirements, IRequiredCapability[] metaRequirements) {
-		return createIU(name, version, null, requirements, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, singleton, null, metaRequirements);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, IRequiredCapability[] required, Map properties, boolean singleton) {
-		return createIU(name, version, null, required, NO_PROVIDES, properties, ITouchpointType.NONE, NO_TP_DATA, singleton);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, String filter, IProvidedCapability[] additionalProvides) {
-		return createIU(name, version, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnit with the given attributes. All other attributes
-	 * assume default values, and the default self capability is also added to the IU.
-	 */
-	public static IInstallableUnit createIU(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton) {
-		return createIU(name, version, filter, required, additionalProvides, properties, tpType, tpData, singleton, null, null);
-	}
-
-	public static IInstallableUnitPatch createIUPatch(String name, Version version, boolean singleton, IRequirementChange[] changes, IRequiredCapability[][] scope, IRequiredCapability lifeCycle) {
-		return createIUPatch(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton, null, changes, scope, lifeCycle, NO_REQUIRES);
-	}
-
-	public static IInstallableUnitPatch createIUPatch(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton, IUpdateDescriptor update, IRequirementChange[] reqChanges, IRequiredCapability[][] scope, IRequiredCapability lifeCycle, IRequiredCapability[] metaRequirements) {
-		InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
-		iu.setId(name);
-		iu.setVersion(version);
-		iu.setFilter(filter);
-		IProvidedCapability[] provides = new IProvidedCapability[additionalProvides.length + 1];
-		provides[0] = getSelfCapability(name, version);
-		for (int i = 0; i < additionalProvides.length; i++) {
-			provides[i + 1] = additionalProvides[i];
-		}
-		for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
-			String nextKey = (String) iter.next();
-			String nextValue = (String) properties.get(nextKey);
-			iu.setProperty(nextKey, nextValue);
-		}
-		iu.setCapabilities(provides);
-		iu.setRequiredCapabilities(required);
-		iu.setTouchpointType(tpType);
-		if (tpData != null)
-			iu.addTouchpointData(tpData);
-		iu.setSingleton(singleton);
-		iu.setUpdateDescriptor(update);
-		iu.setRequirementChanges(reqChanges);
-		iu.setApplicabilityScope(scope);
-		iu.setLifeCycle(lifeCycle);
-		iu.setMetaRequiredCapabilities(metaRequirements);
-		return MetadataFactory.createInstallableUnitPatch(iu);
-	}
-
-	public static IInstallableUnit createIU(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton, IUpdateDescriptor update, IRequiredCapability[] metaRequirements) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(name);
-		iu.setVersion(version);
-		iu.setFilter(filter);
-		IProvidedCapability[] provides = new IProvidedCapability[additionalProvides.length + 1];
-		provides[0] = getSelfCapability(name, version);
-		for (int i = 0; i < additionalProvides.length; i++) {
-			provides[i + 1] = additionalProvides[i];
-		}
-		for (Iterator iter = properties.keySet().iterator(); iter.hasNext();) {
-			String nextKey = (String) iter.next();
-			String nextValue = (String) properties.get(nextKey);
-			iu.setProperty(nextKey, nextValue);
-		}
-		iu.setCapabilities(provides);
-		iu.setRequiredCapabilities(required);
-		iu.setTouchpointType(tpType);
-		if (tpData != null)
-			iu.addTouchpointData(tpData);
-		iu.setSingleton(singleton);
-		iu.setUpdateDescriptor(update);
-		if (metaRequirements == null)
-			metaRequirements = NO_REQUIRES;
-		iu.setMetaRequiredCapabilities(metaRequirements);
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnitFragment with the given attributes. 
-	 * The self and fragment provided capabilities are added to the IU.
-	 */
-	public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version) {
-		return createIUFragment(host, name, version, NO_REQUIRES, ITouchpointType.NONE, NO_TP_DATA);
-	}
-
-	/**
-	 * 	Create a basic InstallableUnitFragment with the given attributes. 
-	 * The self and fragment provided capabilities are added to the IU.
-	 */
-	public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version, IRequiredCapability[] required, ITouchpointType tpType, ITouchpointData tpData) {
-		InstallableUnitFragmentDescription fragment = new InstallableUnitFragmentDescription();
-		fragment.setId(name);
-		fragment.setVersion(version);
-		fragment.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
-		fragment.setRequiredCapabilities(required);
-		fragment.setTouchpointType(tpType);
-		if (tpData != null)
-			fragment.addTouchpointData(tpData);
-		if (host != null) {
-			VersionRange hostRange = new VersionRange(host.getVersion(), true, host.getVersion(), true);
-			fragment.setHost(new IRequirement[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, host.getId(), hostRange, null, false, false)});
-		}
-		fragment.setCapabilities(new IProvidedCapability[] {getSelfCapability(name, version)});
-		return MetadataFactory.createInstallableUnitFragment(fragment);
-	}
-
-	public static void changeVersion(InstallableUnitDescription desc, Version newVersion) {
-		IProvidedCapability[] capabilities = desc.getProvidedCapabilities();
-		for (int i = 0; i < capabilities.length; i++) {
-			if (desc.getVersion().equals(capabilities[i].getVersion()))
-				capabilities[i] = MetadataFactory.createProvidedCapability(capabilities[i].getNamespace(), capabilities[i].getName(), newVersion);
-		}
-		desc.setVersion(newVersion);
-	}
-
-	public static MetadataFactory.InstallableUnitDescription createIUDescriptor(IInstallableUnit prototype) {
-		InstallableUnitDescription desc = new MetadataFactory.InstallableUnitDescription();
-		desc.setArtifacts(prototype.getArtifacts());
-		IProvidedCapability originalCapabilities[] = prototype.getProvidedCapabilities();
-		IProvidedCapability newCapabilities[] = new IProvidedCapability[originalCapabilities.length];
-		for (int i = 0; i < originalCapabilities.length; i++) {
-			newCapabilities[i] = MetadataFactory.createProvidedCapability(originalCapabilities[i].getNamespace(), originalCapabilities[i].getName(), originalCapabilities[i].getVersion());
-		}
-		desc.setCapabilities(newCapabilities);
-		desc.setCopyright(prototype.getCopyright());
-		desc.setFilter(prototype.getFilter() == null ? null : ((LDAPQuery) prototype.getFilter()).getFilter());
-		desc.setId(prototype.getId());
-		desc.setLicenses(prototype.getLicenses());
-		IRequirement[] originalRequirements = prototype.getRequiredCapabilities();
-		IRequirement[] newRequirements = new IRequiredCapability[originalRequirements.length];
-		for (int i = 0; i < newRequirements.length; i++) {
-			if (originalRequirements[i] instanceof IRequirement) {
-				IRequiredCapability reqCapability = (IRequiredCapability) originalRequirements[i];
-				newRequirements[i] = MetadataFactory.createRequiredCapability(reqCapability.getNamespace(), reqCapability.getName(), reqCapability.getRange(), reqCapability.getFilter(), reqCapability.getMin(), reqCapability.getMax(), reqCapability.isGreedy());
-			} else {
-				throw new IllegalStateException();
-			}
-
-		}
-		desc.setRequiredCapabilities(prototype.getRequiredCapabilities());
-		desc.setSingleton(prototype.isSingleton());
-		desc.setTouchpointType(MetadataFactory.createTouchpointType(prototype.getTouchpointType().getId(), prototype.getTouchpointType().getVersion()));
-		desc.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(prototype.getUpdateDescriptor().getId(), prototype.getUpdateDescriptor().getRange(), prototype.getUpdateDescriptor().getSeverity(), prototype.getUpdateDescriptor().getDescription()));
-		desc.setVersion(prototype.getVersion());
-		Map prototypeProperties = prototype.getProperties();
-		Set entries = prototypeProperties.entrySet();
-		for (Iterator iterator = entries.iterator(); iterator.hasNext();) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			desc.setProperty((String) entry.getKey(), (String) entry.getValue());
-		}
-		return desc;
-	}
-
-	public static IPlanner createPlanner() {
-		return (IPlanner) ServiceHelper.getService(TestActivator.getContext(), IPlanner.SERVICE_NAME);
-	}
-
-	/**
-	 * Creates and returns a required capability with the provided attributes.
-	 */
-	protected static IRequiredCapability[] createRequiredCapabilities(String namespace, String name, String filter) {
-		return createRequiredCapabilities(namespace, name, ANY_VERSION, filter);
-	}
-
-	/**
-	 * Creates and returns a required capability with the provided attributes.
-	 */
-	protected static IRequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) {
-		return new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability(namespace, name, range, filter, false, false)};
-	}
-
-	public static boolean delete(File file) {
-		if (!file.exists())
-			return true;
-		if (file.isDirectory()) {
-			File[] children = file.listFiles();
-			for (int i = 0; i < children.length; i++)
-				delete(children[i]);
-		}
-		return file.delete();
-	}
-
-	/**
-	 * 	Compare two 2-dimensional arrays of strings for equality
-	 */
-	protected static boolean equal(String[][] tuples0, String[][] tuples1) {
-		if (tuples0.length != tuples1.length)
-			return false;
-		for (int i = 0; i < tuples0.length; i++) {
-			String[] tuple0 = tuples0[i];
-			String[] tuple1 = tuples1[i];
-			if (tuple0.length != tuple1.length)
-				return false;
-			for (int j = 0; j < tuple0.length; j++) {
-				if (!tuple0[j].equals(tuple1[j]))
-					return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Fails the test due to the given throwable.
-	 */
-	public static void fail(String message, Throwable e) {
-		// If the exception is a CoreException with a multistatus
-		// then print out the multistatus so we can see all the info.
-		if (e instanceof CoreException) {
-			IStatus status = ((CoreException) e).getStatus();
-			//if the status does not have an exception, print the stack for this one
-			if (status.getException() == null)
-				e.printStackTrace();
-			write(status, 0, System.err);
-		} else {
-			if (e != null)
-				e.printStackTrace();
-		}
-		if (e != null)
-			message = message + ": " + e;
-		fail(message);
-	}
-
-	public static Iterator getInstallableUnits(IProfile profile2) {
-		return profile2.query(InstallableUnitQuery.ANY, null).iterator();
-	}
-
-	/**
-	 * 	Get the 'self' capability for the given installable unit.
-	 */
-	protected static IProvidedCapability getSelfCapability(IInstallableUnit iu) {
-		return getSelfCapability(iu.getId(), iu.getVersion());
-	}
-
-	/**
-	 * 	Get the 'self' capability for an installable unit with the give id and version.
-	 */
-	protected static IProvidedCapability getSelfCapability(String installableUnitId, Version installableUnitVersion) {
-		return MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, installableUnitId, installableUnitVersion);
-	}
-
-	private static void indent(OutputStream output, int indent) {
-		for (int i = 0; i < indent; i++)
-			try {
-				output.write("\t".getBytes());
-			} catch (IOException e) {
-				// ignore
-			}
-	}
-
-	public static void writeBuffer(File outputFile, StringBuffer buffer) throws IOException {
-		FileOutputStream stream = null;
-		try {
-			outputFile.getParentFile().mkdirs();
-			stream = new FileOutputStream(outputFile);
-			stream.write(buffer.toString().getBytes());
-		} finally {
-			if (stream != null)
-				stream.close();
-		}
-	}
-
-	public static void writeProperties(File outputFile, Properties properties) throws IOException {
-		FileOutputStream stream = null;
-		try {
-			outputFile.getParentFile().mkdirs();
-			stream = new FileOutputStream(outputFile);
-			properties.store(stream, "");
-		} finally {
-			if (stream != null)
-				stream.close();
-		}
-	}
-
-	public static void restartBundle(final Bundle bundle) throws BundleException {
-		bundle.stop(Bundle.STOP_TRANSIENT);
-		startBundle(bundle);
-	}
-
-	public static void startBundle(final Bundle bundle) throws BundleException {
-		//see http://dev.eclipse.org/mhonarc/lists/equinox-dev/msg05917.html
-		bundle.start(Bundle.START_ACTIVATION_POLICY);
-		bundle.start(Bundle.START_TRANSIENT);
-	}
-
-	private static void write(IStatus status, int indent, PrintStream output) {
-		indent(output, indent);
-		output.println("Severity: " + status.getSeverity());
-
-		indent(output, indent);
-		output.println("Plugin ID: " + status.getPlugin());
-
-		indent(output, indent);
-		output.println("Code: " + status.getCode());
-
-		indent(output, indent);
-		output.println("Message: " + status.getMessage());
-
-		if (status.getException() != null) {
-			indent(output, indent);
-			output.print("Exception: ");
-			status.getException().printStackTrace(output);
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				write(children[i], indent + 1, output);
-		}
-	}
-
-	public AbstractProvisioningTest() {
-		super("");
-	}
-
-	public AbstractProvisioningTest(String name) {
-		super(name);
-	}
-
-	protected static void assertEquals(String message, byte[] expected, byte[] actual) {
-		if (expected == null && actual == null)
-			return;
-		if (expected == null)
-			fail(message + " expected null but was: " + actual);
-		if (actual == null)
-			fail(message + " array is unexpectedly null");
-		if (expected.length != actual.length)
-			fail(message + " expected array length:<" + expected.length + "> but was:<" + actual.length + ">");
-		for (int i = 0; i < expected.length; i++)
-			assertEquals(message + " arrays differ at position:<" + i + ">", expected[i], actual[i]);
-	}
-
-	protected static void assertEquals(String message, Object[] expected, Object[] actual) {
-		if (expected == null && actual == null)
-			return;
-		if (expected == null)
-			fail(message + " expected null but was: " + actual);
-		if (actual == null)
-			fail(message + " array is unexpectedly null");
-		if (expected.length != actual.length)
-			fail(message + " expected array length:<" + expected.length + "> but was:<" + actual.length + ">");
-		for (int i = 0; i < expected.length; i++)
-			assertEquals(message + " arrays differ at position:<" + i + ">", expected[i], actual[i]);
-	}
-
-	/**
-	 * Creates a profile with the given name. Ensures that no such profile
-	 * already exists.  The returned profile will be removed automatically
-	 * in the tearDown method.
-	 */
-	protected IProfile createProfile(String name) {
-		return createProfile(name, null);
-	}
-
-	/**
-	 * Creates a profile with the given name. Ensures that no such profile
-	 * already exists.  The returned profile will be removed automatically
-	 * in the tearDown method.
-	 */
-	protected IProfile createProfile(String name, Map properties) {
-		//remove any existing profile with the same name
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		profileRegistry.removeProfile(name);
-		profilesToRemove.add(name);
-		//create and return a new profile
-		try {
-			return profileRegistry.addProfile(name, properties);
-		} catch (ProvisionException e) {
-			throw new IllegalArgumentException(e.getMessage());
-		}
-	}
-
-	protected IProgressMonitor getMonitor() {
-		return new NullProgressMonitor();
-	}
-
-	protected IProfile getProfile(String profileId) {
-		return getProfileRegistry().getProfile(profileId);
-	}
-
-	/**
-	 * Returns a resolved IU corresponding to the given IU, with no attached fragments.
-	 */
-	protected IInstallableUnit createResolvedIU(IInstallableUnit unit) {
-		return MetadataFactory.createResolvedInstallableUnit(unit, new IInstallableUnitFragment[0]);
-	}
-
-	/**
-	 * Adds a test metadata repository to the system that provides the given units. 
-	 * The repository will automatically be removed in the tearDown method.
-	 */
-	protected IMetadataRepository createTestMetdataRepository(IInstallableUnit[] units) {
-		IMetadataRepository repo = new TestMetadataRepository(units);
-		MetadataRepositoryManager repoMan = (MetadataRepositoryManager) getMetadataRepositoryManager();
-		assertNotNull(repoMan);
-		repoMan.addRepository(repo);
-		metadataRepos.add(repo);
-		return repo;
-	}
-
-	protected IArtifactRepository createArtifactRepository(URI location, Map properties) throws ProvisionException {
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IArtifactRepository repo = artifactRepositoryManager.createRepository(location, "artifact", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		artifactRepositoryManager.removeRepository(repo.getLocation());
-		return repo;
-	}
-
-	protected static IProvisioningAgent getAgent() {
-		//get the global agent for the currently running system
-		return (IProvisioningAgent) ServiceHelper.getService(TestActivator.getContext(), IProvisioningAgent.SERVICE_NAME);
-	}
-
-	protected static IAgentLocation getAgentLocation() {
-		//get the location of the currently running system
-		return (IAgentLocation) getAgent().getService(IAgentLocation.SERVICE_NAME);
-	}
-
-	protected static IArtifactRepositoryManager getArtifactRepositoryManager() {
-		return (IArtifactRepositoryManager) getAgent().getService(IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	protected IProfileRegistry getProfileRegistry() {
-		return (IProfileRegistry) getAgent().getService(IProfileRegistry.SERVICE_NAME);
-	}
-
-	protected IMetadataRepository createMetadataRepository(URI location, Map properties) throws ProvisionException {
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		IMetadataRepository repo = metadataRepositoryManager.createRepository(location, "metadata", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		metadataRepos.add(repo);
-		return repo;
-	}
-
-	protected IMetadataRepository loadMetadataRepository(URI location) throws ProvisionException {
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		IMetadataRepository repo = metadataRepositoryManager.loadRepository(location, null);
-		metadataRepos.add(repo);
-		return repo;
-	}
-
-	protected IInstallableUnit getIU(IMetadataRepository repository, String name) {
-		Collector collector = repository.query(new InstallableUnitQuery(name), null);
-
-		IInstallableUnit unit = null;
-		if (collector.size() > 0)
-			unit = (IInstallableUnit) collector.iterator().next();
-
-		return unit;
-	}
-
-	protected static IMetadataRepositoryManager getMetadataRepositoryManager() {
-		return (IMetadataRepositoryManager) getAgent().getService(IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	public static String getUniqueString() {
-		return System.currentTimeMillis() + "-" + Math.random();
-	}
-
-	public File getTempFolder() {
-		return getTestFolder(getUniqueString());
-	}
-
-	protected File getTestFolder(String name) {
-		Location instanceLocation = (Location) ServiceHelper.getService(TestActivator.getContext(), Location.class.getName(), Location.INSTANCE_FILTER);
-		URL url = instanceLocation != null ? instanceLocation.getURL() : null;
-		if (instanceLocation == null || !instanceLocation.isSet() || url == null) {
-			String tempDir = System.getProperty("java.io.tmpdir");
-			testFolder = new File(tempDir, name);
-		} else {
-			File instance = URLUtil.toFile(url);
-			testFolder = new File(instance, name);
-		}
-
-		if (testFolder.exists())
-			delete(testFolder);
-		testFolder.mkdirs();
-		return testFolder;
-	}
-
-	protected void runTest() throws Throwable {
-		super.runTest();
-
-		//clean up after success
-		if (testFolder != null && testFolder.exists()) {
-			delete(testFolder);
-			testFolder = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		//remove all metadata repositories created by this test
-		IMetadataRepositoryManager repoMan = getMetadataRepositoryManager();
-		if (!metadataRepos.isEmpty()) {
-			for (Iterator it = metadataRepos.iterator(); it.hasNext();) {
-				IMetadataRepository repo = (IMetadataRepository) it.next();
-				repoMan.removeRepository(repo.getLocation());
-			}
-			metadataRepos.clear();
-		}
-		URI[] urls = repoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < urls.length; i++) {
-			try {
-				if (urls[i].toString().indexOf("cache") != -1 || urls[i].toString().indexOf("rollback") != -1)
-					repoMan.loadRepository(urls[i], null).removeAll();
-			} catch (ProvisionException e) {
-				//if the repository didn't load, then it doesn't exist and we don't need to clear it up
-			}
-		}
-		//remove all profiles created by this test
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		for (Iterator it = profilesToRemove.iterator(); it.hasNext();) {
-			String toRemove = (String) it.next();
-			profileRegistry.removeProfile(toRemove);
-		}
-		profilesToRemove.clear();
-	}
-
-	/*
-	 * Look up and return a file handle to the given entry in the bundle.
-	 */
-	protected File getTestData(String message, String entry) {
-		if (entry == null)
-			fail(message + " entry is null.");
-		URL base = TestActivator.getContext().getBundle().getEntry(entry);
-		if (base == null)
-			fail(message + " entry not found in bundle: " + entry);
-		try {
-			String osPath = new Path(FileLocator.toFileURL(base).getPath()).toOSString();
-			File result = new File(osPath);
-			if (!result.getCanonicalPath().equals(result.getPath()))
-				fail(message + " result path: " + result.getPath() + " does not match canonical path: " + result.getCanonicalFile().getPath());
-			return result;
-		} catch (IOException e) {
-			fail(message, e);
-		}
-		// avoid compile error... should never reach this code
-		return null;
-	}
-
-	protected static void assertInstallOperand(IProvisioningPlan plan, IInstallableUnit iu) {
-		Operand[] ops = plan.getOperands();
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
-				if (iu.equals(iuOp.second()))
-					return;
-			}
-		}
-		fail("Can't find " + iu + " in the plan");
-	}
-
-	protected static void assertUninstallOperand(IProvisioningPlan plan, IInstallableUnit iu) {
-		Operand[] ops = plan.getOperands();
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
-				if (iu.equals(iuOp.first()))
-					return;
-			}
-		}
-		fail("Can't find " + iu + " in the plan");
-	}
-
-	protected static void assertNoOperand(IProvisioningPlan plan, IInstallableUnit iu) {
-		Operand[] ops = plan.getOperands();
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				InstallableUnitOperand iuOp = (InstallableUnitOperand) ops[i];
-				if (iuOp.second() != null && iuOp.second().equals(iu))
-					fail(iu + " should not be present in this plan.");
-				if (iuOp.first() != null && iuOp.first().equals(iu))
-					fail(iu + " should not be present in this plan.");
-			}
-		}
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IMetadataRepositoryManager repoMan = getMetadataRepositoryManager();
-		URI[] repos = repoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < repos.length; i++) {
-			repoMan.removeRepository(repos[i]);
-		}
-	}
-
-	protected IStatus install(IProfile profile, IInstallableUnit[] ius, boolean strict, IPlanner planner, IEngine engine) {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(ius);
-		for (int i = 0; i < ius.length; i++) {
-			req.setInstallableUnitInclusionRules(ius[i], strict ? PlannerHelper.createStrictInclusionRule(ius[i]) : PlannerHelper.createOptionalInclusionRule(ius[i]));
-		}
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		if (plan.getStatus().getSeverity() == IStatus.ERROR || plan.getStatus().getSeverity() == IStatus.CANCEL)
-			return plan.getStatus();
-		return engine.perform(plan, null);
-	}
-
-	protected IStatus uninstall(IProfile profile, IInstallableUnit[] ius, IPlanner planner, IEngine engine) {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.removeInstallableUnits(ius);
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		return engine.perform(plan, null);
-	}
-
-	protected static void assertEquals(String message, Object[] expected, Object[] actual, boolean orderImportant) {
-		// if the order in the array must match exactly, then call the other method
-		if (orderImportant) {
-			assertEquals(message, expected, actual);
-			return;
-		}
-		// otherwise use this method and check that the arrays are equal in any order
-		if (expected == null && actual == null)
-			return;
-		if (expected == actual)
-			return;
-		if (expected == null || actual == null)
-			assertTrue(message + ".1", false);
-		if (expected.length != actual.length)
-			assertTrue(message + ".2", false);
-		boolean[] found = new boolean[expected.length];
-		for (int i = 0; i < expected.length; i++) {
-			for (int j = 0; j < expected.length; j++) {
-				if (!found[j] && expected[i].equals(actual[j]))
-					found[j] = true;
-			}
-		}
-		for (int i = 0; i < found.length; i++)
-			if (!found[i])
-				assertTrue(message + ".3." + i, false);
-	}
-
-	/**
-	 * Asserts that the first line of text in f equals the content.
-	 * @param f
-	 * @param content
-	 */
-	public static void assertFileContent(String message, File f, String content) {
-		BufferedReader reader = null;
-		try {
-			reader = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
-			String line = reader.readLine();
-			assertEquals(message, content, line);
-		} catch (FileNotFoundException e) {
-			fail("Getting copy target", e);
-		} catch (IOException e) {
-			fail("reading copy target", e);
-		} finally {
-			try {
-				if (reader != null)
-					reader.close();
-			} catch (IOException e) {
-				//ignore
-			}
-		}
-	}
-
-	protected IProvisioningEventBus getEventBus() {
-		IProvisioningEventBus bus = (IProvisioningEventBus) ServiceHelper.getService(TestActivator.getContext(), IProvisioningEventBus.SERVICE_NAME);
-		assertNotNull(bus);
-		return bus;
-	}
-
-	protected static void assertEquals(String message, IInstallableUnit iu1, IInstallableUnit iu2) throws AssertionFailedError {
-		if (iu1 == iu2)
-			return;
-		if (iu1 == null || iu2 == null) {
-			fail(message);
-		}
-
-		if (!iu1.equals(iu2))
-			fail(message + " " + iu1 + " is not equal to " + iu2);
-
-		if (FragmentQuery.isFragment(iu1)) {
-			if (!FragmentQuery.isFragment(iu2))
-				fail(message + " " + iu1 + " is not a fragment.");
-			try {
-				assertEquals(message, ((IInstallableUnitFragment) iu1).getHost(), ((IInstallableUnitFragment) iu2).getHost());
-			} catch (AssertionFailedError failure) {
-				fail(message + " Unequal hosts: " + failure.getMessage());
-			}
-		} else if (FragmentQuery.isFragment(iu2)) {
-			fail(message + " " + iu2 + " is a fragment.");
-		}
-
-		if (iu1.isSingleton()) {
-			if (!iu2.isSingleton())
-				fail(message + " " + iu2 + " is not a singleton.");
-		} else if (iu2.isSingleton()) {
-			fail(message + " " + iu2 + " is a singleton.");
-		}
-
-		assertEquals(message, iu1.getProvidedCapabilities(), iu2.getProvidedCapabilities());
-		assertEquals(message, iu1.getRequiredCapabilities(), iu2.getRequiredCapabilities());
-		assertEquals(message, iu1.getArtifacts(), iu2.getArtifacts());
-		assertEquals(message, iu1.getTouchpointType(), iu2.getTouchpointType());
-		assertEquals(message, iu1.getTouchpointData(), iu2.getTouchpointData());
-		assertEquals(message, iu1.getProperties(), iu2.getProperties());
-		assertEquals(message, iu1.getLicenses(), iu2.getLicenses());
-		assertEquals(message, iu1.getCopyright(), iu2.getCopyright());
-		assertEquals(message, iu1.getUpdateDescriptor(), iu2.getUpdateDescriptor());
-		assertEquals(message, iu1.getFilter(), iu2.getFilter());
-
-		if (iu1.isResolved() && iu2.isResolved())
-			assertEquals(message, iu1.getFragments(), iu2.getFragments());
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given arrays of installable
-	 * units representing fragments are considered to be equal.
-	 */
-	protected static void assertEquals(String message, IInstallableUnitFragment[] fragments1, IInstallableUnitFragment[] fragments2) throws AssertionFailedError {
-		Map map = new HashMap(fragments2.length);
-		for (int i = 0; i < fragments2.length; i++) {
-			map.put(fragments2[i], fragments2[i]);
-		}
-
-		for (int i = 0; i < fragments1.length; i++) {
-			if (!map.containsKey(fragments1))
-				fail(message + " Expected fragment '" + fragments1[i] + "' not present.");
-			else {
-				assertEquals(message, fragments1[i], map.remove(fragments1[i]));
-			}
-		}
-
-		if (map.size() > 0)
-			fail(message + " Unexpected fragment '" + map.entrySet().iterator().next() + "'");
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given update descriptor
-	 * objects are considered to be equal.
-	 */
-	protected static void assertEquals(String message, IUpdateDescriptor desc1, IUpdateDescriptor desc2) throws AssertionFailedError {
-		if (desc1 == desc2)
-			return;
-		if (desc1 == null || desc2 == null)
-			fail();
-
-		try {
-			assertEquals(message, desc1.getId(), desc2.getId());
-			assertEquals(message, desc1.getSeverity(), desc2.getSeverity());
-			assertEquals(message, desc1.getRange(), desc2.getRange());
-
-			String d1 = desc1.getDescription();
-			String d2 = desc2.getDescription();
-			if (d1 == null)
-				d1 = "";
-			if (d2 == null)
-				d2 = "";
-			assertEquals(message, d1, d2);
-		} catch (AssertionFailedError e) {
-			fail(message + " Unequal Update Descriptors: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Assumes each array does not contain more than one IU with a given name and version.
-	 */
-	public static void assertEquals(String message, IInstallableUnit[] ius1, IInstallableUnit[] ius2) {
-		TreeSet set = new TreeSet(new Comparator() {
-			public int compare(Object o1, Object o2) {
-				return o1.toString().compareTo(o2.toString());
-			}
-		});
-		set.addAll(Arrays.asList(ius2));
-
-		for (int i = 0; i < ius1.length; i++) {
-			// + "\0" is a successor for strings
-			SortedSet subset = set.subSet(ius1[i], ius1[i].toString() + "\0");
-			if (subset.size() == 1) {
-				IInstallableUnit candidate = (IInstallableUnit) subset.first();
-				try {
-					assertEquals(message, ius1[i], candidate);
-				} catch (AssertionFailedError e) {
-					fail(message + " IUs '" + ius1[i] + "' are unequal : " + e.getMessage());
-				}
-				subset.remove(candidate);
-			} else if (subset.size() > 1) {
-				//should not happen
-				fail(message + " ERROR: Unexpected failure.");
-			} else {
-				fail(message + " Expected IU " + ius1[i] + " not found.");
-			}
-		}
-		if (set.size() > 0)
-			fail(message + " Unexpected IU " + set.first() + ".");
-	}
-
-	/*
-	 * Compare 2 copyright objects and fail if they are not considered equal.
-	 */
-	protected static void assertEquals(String message, ICopyright cpyrt1, ICopyright cpyrt2) {
-		if (cpyrt1 == cpyrt2)
-			return;
-		if (cpyrt1 == null || cpyrt2 == null) {
-			fail(message);
-		}
-		assertEquals(message, cpyrt1.getBody(), cpyrt2.getBody());
-		assertEquals(message, cpyrt1.getLocation().toString(), cpyrt2.getLocation().toString());
-	}
-
-	/**
-	 * matches all descriptors from source in the destination
-	 * Note: NOT BICONDITIONAL! assertContains(A, B) is NOT the same as assertContains(B, A)
-	 */
-	protected static void assertContains(String message, IArtifactRepository sourceRepo, IArtifactRepository destinationRepo) {
-		Collector sourceKeys = sourceRepo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = sourceKeys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] destinationDescriptors = destinationRepo.getArtifactDescriptors(key);
-			if (destinationDescriptors == null || destinationDescriptors.length == 0)
-				fail(message + ": unmatched key: " + key.toString());
-			//this implicitly verifies the keys are present
-
-			IArtifactDescriptor[] sourceDescriptors = sourceRepo.getArtifactDescriptors(key);
-
-			assertEquals(message, sourceDescriptors, destinationDescriptors, false); //order doesn't matter
-		}
-	}
-
-	/**
-	 * Ensures 2 repositories are equal by ensure all items in repo1 are contained
-	 * in repo2 and all items in repo2 are in repo1
-	 */
-	protected static void assertContentEquals(String message, IArtifactRepository repo1, IArtifactRepository repo2) {
-		assertContains(message, repo1, repo2);
-		assertContains(message, repo2, repo1);
-	}
-
-	/**
-	 * matches all metadata from source in the destination
-	 * Note: NOT BICONDITIONAL! assertContains(A, B) is NOT the same as assertContains(B, A)
-	 */
-	protected static void assertContains(String message, IMetadataRepository sourceRepo, IMetadataRepository destinationRepo) {
-		Collector sourceCollector = sourceRepo.query(InstallableUnitQuery.ANY, null);
-		Iterator it = sourceCollector.iterator();
-
-		while (it.hasNext()) {
-			IInstallableUnit sourceIU = (IInstallableUnit) it.next();
-			Collector destinationCollector = destinationRepo.query(new InstallableUnitQuery(sourceIU), null);
-			assertEquals(message, 1, destinationCollector.size());
-			assertEquals(message, sourceIU, (IInstallableUnit) destinationCollector.iterator().next());
-		}
-	}
-
-	/**
-	 * Ensures 2 repositories are equal by ensure all items in repo1 are contained
-	 * in repo2 and all items in repo2 are in repo1
-	 */
-	protected static void assertContentEquals(String message, IMetadataRepository repo1, IMetadataRepository repo2) {
-		assertContains(message, repo1, repo2);
-		assertContains(message, repo2, repo1);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given installable units
-	 * are considered to be equal.
-	 */
-	protected static boolean isEqual(IInstallableUnit iu1, IInstallableUnit iu2) {
-		try {
-			assertEquals("IUs not equal", iu1, iu2);
-		} catch (AssertionFailedError e) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Returns true if running on Windows, and false otherwise.
-	 */
-	protected boolean isWindows() {
-		return Platform.getOS().equals(Platform.OS_WIN32);
-	}
-
-	protected IUpdateDescriptor createUpdateDescriptor(String id, Version version) {
-		return MetadataFactory.createUpdateDescriptor(id, new VersionRange(Version.emptyVersion, true, version, false), IUpdateDescriptor.HIGH, "desc");
-	}
-
-	/**
-	 * Ensures 2 inputed Maps representing repository properties are equivalent
-	 * A special assert is needed as the time stamp is expected to change
-	 */
-	protected static void assertRepositoryProperties(String message, Map expected, Map actual) {
-		if (expected == null && actual == null)
-			return;
-		if (expected == null || actual == null)
-			fail(message);
-		Object[] expectedArray = expected.keySet().toArray();
-		for (int i = 0; i < expectedArray.length; i++) {
-			assertTrue(message, actual.containsKey(expectedArray[i])); //Ensure the key exists
-			if (!expectedArray[i].equals("p2.timestamp")) //time stamp value is expected to change
-				assertEquals(message, expected.get(expectedArray[i]), actual.get(expectedArray[i]));
-		}
-	}
-
-	/*
-	 * Search for partial matches in the log file. Assert that all of the specified strings
-	 * are found on a single line in the log file.
-	 */
-	public static void assertLogContainsLine(File log, String[] parts) throws IOException {
-		assertNotNull(log);
-		assertTrue(log.exists());
-		assertTrue(log.length() > 0);
-		assertNotNull(parts);
-		BufferedReader reader = new BufferedReader(new FileReader(log));
-		try {
-			while (reader.ready()) {
-				String line = reader.readLine();
-				boolean found = true;
-				for (int i = 0; i < parts.length; i++) {
-					found = found && line.contains(parts[i]);
-				}
-				if (found)
-					return;
-			}
-		} finally {
-			reader.close();
-		}
-		assertTrue(false);
-	}
-
-	/**
-	 * Assert that the given log file contains the given message
-	 * The message is expected to be contained on a single line
-	 */
-	public static void assertLogContainsLine(File log, String msg) throws Exception {
-		assertLogContainsLines(log, new String[] {msg});
-	}
-
-	/**
-	 * Assert that the given log file contains the given lines
-	 * Lines are expected to appear in order
-	 */
-	public static void assertLogContainsLines(File log, String[] lines) throws Exception {
-		assertNotNull(log);
-		assertTrue(log.exists());
-		assertTrue(log.length() > 0);
-
-		int idx = 0;
-		BufferedReader reader = new BufferedReader(new FileReader(log));
-		try {
-			while (reader.ready()) {
-				String line = reader.readLine();
-				if (line.indexOf(lines[idx]) >= 0) {
-					if (++idx >= lines.length) {
-						return;
-					}
-				}
-			}
-		} finally {
-			reader.close();
-		}
-		assertTrue(false);
-	}
-
-	/**
-	 * Assert that the given log file doesn't contain the given message
-	 * The message is expected to be contained on a single line
-	 */
-	public static void assertLogDoesNotContainLine(File log, String msg) throws Exception {
-		assertLogDoesNotContainLines(log, new String[] {msg});
-	}
-
-	/**
-	 * Assert that the given log file does not contain the given lines
-	 * Lines are expected to appear in order
-	 */
-	public static void assertLogDoesNotContainLines(File log, String[] lines) throws Exception {
-		assertNotNull(log);
-		assertTrue(log.exists());
-		assertTrue(log.length() > 0);
-
-		int idx = 0;
-		BufferedReader reader = new BufferedReader(new FileReader(log));
-		try {
-			while (reader.ready()) {
-				String line = reader.readLine();
-				if (line.indexOf(lines[idx]) >= 0) {
-					if (++idx >= lines.length) {
-						assertTrue(false);
-					}
-				}
-			}
-		} finally {
-			reader.close();
-		}
-	}
-
-	public void clearProfileMap(SimpleProfileRegistry profileRegistry) {
-		try {
-			Field profilesMap = SimpleProfileRegistry.class.getDeclaredField("profiles");
-			profilesMap.setAccessible(true);
-			profilesMap.set(profileRegistry, null);
-		} catch (Throwable t) {
-			fail();
-		}
-	}
-
-	protected int getArtifactKeyCount(URI location) {
-		try {
-			return getArtifactKeyCount(getArtifactRepositoryManager().loadRepository(location, null));
-		} catch (ProvisionException e) {
-			fail("Failed to load repository " + URIUtil.toUnencodedString(location) + " for ArtifactDescriptor count");
-			return -1;
-		}
-	}
-
-	protected int getArtifactKeyCount(IArtifactRepository repo) {
-		return repo.query(ArtifactKeyQuery.ALL_KEYS, null).size();
-	}
-
-	protected int getArtifactDescriptorCount(URI location) {
-		int count = 0;
-		try {
-			IArtifactRepository repo = getArtifactRepositoryManager().loadRepository(location, null);
-			Collector descriptors = repo.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			return descriptors.size();
-		} catch (ProvisionException e) {
-			fail("Failed to load repository " + URIUtil.toUnencodedString(location) + " for ArtifactDescriptor count");
-		}
-		return count;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java
deleted file mode 100644
index 95b2d99..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractWrappedArtifactRepository.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-public class AbstractWrappedArtifactRepository implements IArtifactRepository {
-
-	IArtifactRepository delegate;
-
-	public AbstractWrappedArtifactRepository(IArtifactRepository repo) {
-		delegate = repo;
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		delegate.addDescriptor(descriptor);
-	}
-
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		delegate.addDescriptors(descriptors);
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		return delegate.contains(descriptor);
-	}
-
-	public boolean contains(IArtifactKey key) {
-		return delegate.contains(key);
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return delegate.getArtifact(descriptor, destination, monitor);
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		return delegate.getArtifactDescriptors(key);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		return delegate.getArtifacts(requests, monitor);
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-		return delegate.getOutputStream(descriptor);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return delegate.getRawArtifact(descriptor, destination, monitor);
-	}
-
-	public void removeAll() {
-		delegate.removeAll();
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		delegate.removeDescriptor(descriptor);
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		delegate.removeDescriptor(key);
-	}
-
-	public String getDescription() {
-		return delegate.getDescription();
-	}
-
-	public URI getLocation() {
-		return delegate.getLocation();
-	}
-
-	public String getName() {
-		return delegate.getName();
-	}
-
-	public Map getProperties() {
-		return delegate.getProperties();
-	}
-
-	public String getProvider() {
-		return delegate.getProvider();
-	}
-
-	public String getType() {
-		return delegate.getType();
-	}
-
-	public String getVersion() {
-		return delegate.getVersion();
-	}
-
-	public boolean isModifiable() {
-		return delegate.isModifiable();
-	}
-
-	public void setDescription(String description) {
-		delegate.setDescription(description);
-	}
-
-	public void setName(String name) {
-		delegate.setName(name);
-	}
-
-	public String setProperty(String key, String value) {
-		return delegate.setProperty(key, value);
-	}
-
-	public void setProvider(String provider) {
-		delegate.setProvider(provider);
-	}
-
-	public Object getAdapter(Class adapter) {
-		return delegate.getAdapter(adapter);
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return delegate.createArtifactDescriptor(key);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		return delegate.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
deleted file mode 100644
index 513bbea..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AutomatedTests.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Cloudsmith - bug fixing and new functionality
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import junit.framework.*;
-
-/**
- * This is the master test suite for all automated provisioning tests. It runs every test
- * that is suitable for running in an automated fashion as part of a build. Some
- * tests may be excluded if they require special setup (such as generating metadata).
- */
-public class AutomatedTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AutomatedTests.class.getName());
-		suite.addTest(org.eclipse.equinox.frameworkadmin.tests.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.ant.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.artifact.processors.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.artifact.repository.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.artifact.repository.processing.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.core.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.director.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.directorywatcher.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.engine.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.extensionlocation.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.generator.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.installer.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.jarprocessor.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.metadata.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.metadata.repository.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.mirror.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.omniVersion.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.planner.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.publisher.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.repository.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.simpleconfigurator.SimpleConfiguratorTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.simpleconfigurator.manipulator.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.updatesite.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.touchpoint.eclipse.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.touchpoint.natives.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.reconciler.dropins.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.updatechecker.AllTests.suite());
-		suite.addTest(org.eclipse.equinox.p2.tests.full.AllTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/FailingMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/FailingMetadataRepositoryFactory.java
deleted file mode 100644
index 51e06b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/FailingMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * A repository factory that always throws exceptions. The "fail" flag must be set to
- * cause this factory to start throwing exceptions.
- */
-public class FailingMetadataRepositoryFactory extends MetadataRepositoryFactory {
-	public static boolean FAIL = false;
-
-	@Override
-	public IMetadataRepository create(URI location, String name, String type, Map properties) throws ProvisionException {
-		if (FAIL)
-			throw new RuntimeException("Exception thrown deliberately as part of test");
-		throw new ProvisionException(new Status(IStatus.ERROR, TestActivator.PI_PROV_TESTS, ProvisionException.REPOSITORY_NOT_FOUND, "", null));
-	}
-
-	@Override
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		if (FAIL)
-			throw new RuntimeException("Exception thrown deliberately as part of test");
-		throw new ProvisionException(new Status(IStatus.ERROR, TestActivator.PI_PROV_TESTS, ProvisionException.REPOSITORY_NOT_FOUND, "", null));
-	}
-
-	@Override
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		if (FAIL)
-			throw new RuntimeException("Exception thrown deliberately as part of test");
-		return new Status(IStatus.ERROR, TestActivator.PI_PROV_TESTS, ProvisionException.REPOSITORY_NOT_FOUND, "", null);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/IUPropertyUtils.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/IUPropertyUtils.java
deleted file mode 100644
index 22bf0d9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/IUPropertyUtils.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.lang.ref.SoftReference;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-public class IUPropertyUtils {
-
-	IQueryable queryable;
-
-	/**
-	 * 
-	 */
-	public IUPropertyUtils(IQueryable queryable) {
-		this.queryable = queryable;
-	}
-
-	// TODO: these constants should come from API, eg. IInstallableUnit or ???
-	final Locale DEFAULT_LOCALE = new Locale("df", "LT"); //$NON-NLS-1$//$NON-NLS-2$
-	final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$
-
-	// Cache the IU fragments that provide localizations for a given locale.
-	//    map: locale => soft reference to a collector
-	private Map LocaleCollectorCache = new HashMap(2);
-
-	// Get the license in the default locale.
-	public ILicense[] getLicense(IInstallableUnit iu) {
-		return getLicenses(iu, getCurrentLocale());
-	}
-
-	// Get the copyright in the default locale.
-	public ICopyright getCopyright(IInstallableUnit iu) {
-		return getCopyright(iu, getCurrentLocale());
-	}
-
-	// Get a property in the default locale
-	public String getIUProperty(IInstallableUnit iu, String propertyKey) {
-		return getIUProperty(iu, propertyKey, getCurrentLocale());
-	}
-
-	public ILicense getLicense(IInstallableUnit iu, ILicense license, Locale locale) {
-		String body = (license != null ? license.getBody() : null);
-		if (body == null || body.length() <= 1 || body.charAt(0) != '%')
-			return license;
-		final String actualKey = body.substring(1); // Strip off the %
-		body = getLocalizedIUProperty(iu, actualKey, locale);
-		return MetadataFactory.createLicense(license.getLocation(), body);
-	}
-
-	public ILicense[] getLicenses(IInstallableUnit iu, Locale locale) {
-		ILicense[] licenses = iu.getLicenses();
-		ILicense[] translatedLicenses = new ILicense[licenses.length];
-		for (int i = 0; i < licenses.length; i++) {
-			translatedLicenses[i] = getLicense(iu, licenses[i], locale);
-		}
-		return translatedLicenses;
-	}
-
-	public ICopyright getCopyright(IInstallableUnit iu, Locale locale) {
-		ICopyright copyright = iu.getCopyright();
-		String body = (copyright != null ? copyright.getBody() : null);
-		if (body == null || body.length() <= 1 || body.charAt(0) != '%')
-			return copyright;
-		final String actualKey = body.substring(1); // Strip off the %
-		body = getLocalizedIUProperty(iu, actualKey, locale);
-		return MetadataFactory.createCopyright(copyright.getLocation(), body);
-	}
-
-	public String getIUProperty(IInstallableUnit iu, String propertyKey, Locale locale) {
-		String value = iu.getProperty(propertyKey);
-		if (value == null || value.length() <= 1 || value.charAt(0) != '%')
-			return value;
-		// else have a localizable property
-		final String actualKey = value.substring(1); // Strip off the %
-		return getLocalizedIUProperty(iu, actualKey, locale);
-	}
-
-	private String getLocalizedIUProperty(IInstallableUnit iu, String actualKey, Locale locale) {
-		String localizedKey = makeLocalizedKey(actualKey, locale.toString());
-		String localizedValue = null;
-
-		//first check for a cached localized value
-		if (iu instanceof InstallableUnit)
-			localizedValue = ((InstallableUnit) iu).getLocalizedProperty(localizedKey);
-		//next check if the localized value is stored in the same IU (common case)
-		if (localizedValue == null)
-			localizedValue = iu.getProperty(localizedKey);
-		if (localizedValue != null)
-			return localizedValue;
-
-		final List locales = buildLocaleVariants(locale);
-		final IInstallableUnit theUnit = iu;
-
-		Collector localizationFragments = getLocalizationFragments(locale, locales);
-
-		MatchQuery hostLocalizationQuery = new MatchQuery() {
-			public boolean isMatch(Object object) {
-				boolean haveHost = false;
-				if (object instanceof IInstallableUnitFragment) {
-					IInstallableUnitFragment fragment = (IInstallableUnitFragment) object;
-					IRequirement[] hosts = fragment.getHost();
-					for (int i = 0; i < hosts.length; i++) {
-						if (theUnit.satisfies(hosts[i])) {
-							haveHost = true;
-							break;
-						}
-					}
-				}
-				return haveHost;
-			}
-		};
-
-		IQuery iuQuery = new PipedQuery(new IQuery[] {new FragmentQuery(), hostLocalizationQuery});
-		Collector collected = iuQuery.perform(localizationFragments.iterator(), new Collector());
-
-		if (!collected.isEmpty()) {
-			String translation = null;
-			for (Iterator iter = collected.iterator(); iter.hasNext() && translation == null;) {
-				IInstallableUnit localizationIU = (IInstallableUnit) iter.next();
-				for (Iterator jter = locales.iterator(); jter.hasNext();) {
-					String localeKey = makeLocalizedKey(actualKey, (String) jter.next());
-					translation = localizationIU.getProperty(localeKey);
-					if (translation != null)
-						return cacheResult(iu, localizedKey, translation);
-				}
-			}
-		}
-
-		for (Iterator iter = locales.iterator(); iter.hasNext();) {
-			String nextLocale = (String) iter.next();
-			String localeKey = makeLocalizedKey(actualKey, nextLocale);
-			String nextValue = iu.getProperty(localeKey);
-			if (nextValue != null)
-				return cacheResult(iu, localizedKey, nextValue);
-		}
-
-		return cacheResult(iu, localizedKey, actualKey);
-	}
-
-	/**
-	 * Cache the translated property value to optimize future retrieval of the same value.
-	 * Currently we just cache on the installable unit object in memory. In future
-	 * we should push support for localized property retrieval into IInstallableUnit
-	 * so we aren't required to reach around the API here.
-	 */
-	private String cacheResult(IInstallableUnit iu, String localizedKey, String localizedValue) {
-		if (iu instanceof InstallableUnit)
-			((InstallableUnit) iu).setLocalizedProperty(localizedKey, localizedValue);
-		return localizedValue;
-	}
-
-	/**
-	 * Collects the installable unit fragments that contain locale data for the given locales.
-	 */
-	private synchronized Collector getLocalizationFragments(Locale locale, List localeVariants) {
-		SoftReference collectorRef = (SoftReference) LocaleCollectorCache.get(locale);
-		if (collectorRef != null) {
-			Collector cached = (Collector) collectorRef.get();
-			if (cached != null)
-				return cached;
-		}
-
-		final List locales = localeVariants;
-
-		MatchQuery localeFragmentQuery = new MatchQuery() {
-			public boolean isMatch(Object object) {
-				boolean haveLocale = false;
-				if (object instanceof IInstallableUnitFragment) {
-					IInstallableUnitFragment fragment = (IInstallableUnitFragment) object;
-					IProvidedCapability[] provides = fragment.getProvidedCapabilities();
-					for (int j = 0; j < provides.length && !haveLocale; j++) {
-						IProvidedCapability nextProvide = provides[j];
-						if (NAMESPACE_IU_LOCALIZATION.equals(nextProvide.getNamespace())) {
-							String providedLocale = nextProvide.getName();
-							if (providedLocale != null) {
-								for (Iterator iter = locales.iterator(); iter.hasNext();) {
-									if (providedLocale.equals(iter.next())) {
-										haveLocale = true;
-										break;
-									}
-								}
-							}
-						}
-					}
-				}
-				return haveLocale;
-			}
-		};
-
-		IQuery iuQuery = new PipedQuery(new IQuery[] {new FragmentQuery(), localeFragmentQuery});
-		Collector collected = queryable.query(iuQuery, null);
-		LocaleCollectorCache.put(locale, new SoftReference(collected));
-		return collected;
-	}
-
-	/**
-	 */
-	private List buildLocaleVariants(Locale locale) {
-		String nl = locale.toString();
-		ArrayList result = new ArrayList(4);
-		int lastSeparator;
-		while (true) {
-			result.add(nl);
-			lastSeparator = nl.lastIndexOf('_');
-			if (lastSeparator == -1)
-				break;
-			nl = nl.substring(0, lastSeparator);
-		}
-		// Add the default locale (most general)
-		result.add(DEFAULT_LOCALE.toString());
-		return result;
-	}
-
-	private String makeLocalizedKey(String actualKey, String localeImage) {
-		return localeImage + '.' + actualKey;
-	}
-
-	private Locale getCurrentLocale() {
-		return Locale.getDefault();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
deleted file mode 100644
index f73eb38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ManualTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import junit.framework.*;
-
-/**
- * This is the master test suite for all automated provisioning tests that require some
- * manual set. These tests can't be run automatically as part of a build.
- */
-public class ManualTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AutomatedTests.class.getName());
-		suite.addTestSuite(org.eclipse.equinox.p2.tests.full.DirectorTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/MockQueryable.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/MockQueryable.java
deleted file mode 100644
index 2b3f955..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/MockQueryable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * A test queryable that contains a simple collection of objects.
- */
-public class MockQueryable implements IQueryable {
-	private final Collection items;
-
-	public MockQueryable() {
-		this(new ArrayList());
-	}
-
-	public MockQueryable(Object item) {
-		this(new ArrayList());
-		this.items.add(item);
-	}
-
-	public MockQueryable(Collection items) {
-		this.items = items;
-
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		return query.perform(items.iterator(), collector);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
deleted file mode 100644
index 310fa1b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestActivator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class TestActivator implements BundleActivator {
-	public static final String PI_PROV_TESTS = "org.eclipse.equinox.p2.test";
-	public static BundleContext context;
-	private static PackageAdmin packageAdmin = null;
-	private static ServiceReference packageAdminRef = null;
-	public static String TEST_DATA_PATH = "testData"; //$NON-NLS-1$
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * Return a file handle to the framework log file, or null if it is not available.
-	 */
-	public static File getLogFile() {
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(context, FrameworkLog.class.getName());
-		return log == null ? null : log.getFile();
-	}
-
-	public void start(BundleContext context) throws Exception {
-		TestActivator.context = context;
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-
-		//This is a hack because the junit plugin launch config do not allow to start bundles
-		AbstractProvisioningTest.startBundle(getBundle("org.eclipse.equinox.p2.exemplarysetup"));
-		AbstractProvisioningTest.startBundle(getBundle("org.eclipse.equinox.frameworkadmin.equinox"));
-		AbstractProvisioningTest.startBundle(getBundle("org.eclipse.equinox.simpleconfigurator.manipulator"));
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		TestActivator.context = null;
-	}
-
-	public static File getTestDataFolder() {
-		try {
-			URL url = context.getBundle().getEntry(TestActivator.TEST_DATA_PATH);
-			return new File(FileLocator.resolve(url).getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	public static Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		//Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
deleted file mode 100644
index 5d69a2c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestArtifactRepository.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.*;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.internal.p2.repository.Transport;
-import org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryCreationException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-
-/**
- * A simple artifact repository implementation used for testing purposes.
- * All artifacts are kept in memory.
- */
-public class TestArtifactRepository extends AbstractArtifactRepository {
-	private static final String SCHEME = "testartifactrepo";
-	private static final String NAME = "ATestArtifactRepository"; //$NON-NLS-1$
-	private static final String TYPE = "testartifactrepo"; //$NON-NLS-1$
-	private static final String VERSION = "1"; //$NON-NLS-1$
-	private static final String PROVIDER = "org.eclipse"; //$NON-NLS-1$
-	private static final String DESCRIPTION = "A Test Artifact Repository"; //$NON-NLS-1$
-
-	/**
-	 * Map of IArtifactKey -> URI (location)
-	 */
-	Map<IArtifactKey, URI> keysToLocations = new HashMap<IArtifactKey, URI>();
-	/**
-	 * Map of URI (location) -> byte[] (contents)
-	 */
-	Map<URI, byte[]> locationsToContents = new HashMap<URI, byte[]>();
-
-	/**
-	 * 	Set of artifact descriptors
-	 */
-	Set<IArtifactDescriptor> artifactDescriptors = new HashSet<IArtifactDescriptor>();
-
-	Transport testhandler = new Transport() {
-		public IStatus download(URI toDownload, OutputStream target, IProgressMonitor pm) {
-			byte[] contents = locationsToContents.get(toDownload);
-			if (contents == null)
-				Assert.fail("Attempt to download missing artifact in TestArtifactRepository: " + toDownload);
-			try {
-				target.write(contents);
-			} catch (IOException e) {
-				e.printStackTrace();
-				Assert.fail("Unexpected exception in TestArtifactRepository" + e.getMessage());
-			}
-			return Status.OK_STATUS;
-		}
-	};
-
-	public TestArtifactRepository(URI location) {
-		super(NAME, TYPE, VERSION, location, DESCRIPTION, PROVIDER, null);
-	}
-
-	public TestArtifactRepository() {
-		super(NAME, TYPE, VERSION, null, DESCRIPTION, PROVIDER, null);
-	}
-
-	public boolean addToRepositoryManager() {
-		try {
-			Method method = AbstractRepositoryManager.class.getDeclaredMethod("addRepository", new Class[] {IRepository.class, boolean.class, String.class});
-			method.setAccessible(true);
-			method.invoke(AbstractProvisioningTest.getArtifactRepositoryManager(), new Object[] {this, false, ""});
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-
-	}
-
-	public void addArtifact(IArtifactKey key, byte[] contents) {
-		URI keyLocation = locationFor(key);
-		keysToLocations.put(key, keyLocation);
-		locationsToContents.put(keyLocation, contents);
-	}
-
-	private URI locationFor(IArtifactKey key) {
-		try {
-			return new URI(SCHEME, key.toString(), null);
-		} catch (URISyntaxException e) {
-			Assert.fail("Invalid URI in TestArtifactRepository: " + e.getMessage());
-			return null;
-		}
-	}
-
-	public URI getArtifact(IArtifactKey key) {
-		return keysToLocations.get(key);
-	}
-
-	private IStatus getArtifact(ArtifactRequest request, IProgressMonitor monitor) {
-		request.setSourceRepository(this);
-		request.perform(monitor);
-		return request.getResult();
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
-		try {
-			MultiStatus overallStatus = new MultiStatus(TestActivator.PI_PROV_TESTS, IStatus.OK, null, null);
-			for (int i = 0; i < requests.length; i++) {
-				overallStatus.add(getArtifact((ArtifactRequest) requests[i], subMonitor.newChild(1)));
-			}
-			return (monitor.isCanceled() ? Status.CANCEL_STATUS : overallStatus);
-		} finally {
-			subMonitor.done();
-		}
-	}
-
-	public void initialize(URI repoURL, InputStream descriptorFile) throws RepositoryCreationException {
-		location = repoURL;
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		return keysToLocations.get(descriptor.getArtifactKey()) != null;
-	}
-
-	public boolean contains(IArtifactKey key) {
-		return keysToLocations.get(key) != null;
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		ProcessingStepHandler handler = new ProcessingStepHandler();
-		destination = handler.createAndLink(descriptor.getProcessingSteps(), null, destination, monitor);
-		testhandler.download(keysToLocations.get(descriptor.getArtifactKey()), destination, monitor);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return testhandler.download(keysToLocations.get(descriptor.getArtifactKey()), destination, monitor);
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		if (!contains(key))
-			return null;
-		return new IArtifactDescriptor[] {new ArtifactDescriptor(key)};
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		((ArtifactDescriptor) descriptor).setRepository(this);
-		artifactDescriptors.add(descriptor);
-		keysToLocations.put(descriptor.getArtifactKey(), null);
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		removeDescriptor(descriptor.getArtifactKey());
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		for (IArtifactDescriptor nextDescriptor : artifactDescriptors) {
-			if (key.equals(nextDescriptor.getArtifactKey()))
-				artifactDescriptors.remove(nextDescriptor);
-		}
-		if (keysToLocations.containsKey(key)) {
-			URI theLocation = keysToLocations.get(key);
-			locationsToContents.remove(theLocation);
-			keysToLocations.remove(key);
-		}
-	}
-
-	public void removeAll() {
-		artifactDescriptors.clear();
-		keysToLocations.clear();
-		locationsToContents.clear();
-	}
-
-	public boolean isModifiable() {
-		return true;
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException("Method is not implemented by this repository");
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
deleted file mode 100644
index 3b0cd7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestData.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *  Red Hat, Inc. (Andrew Overholt) - add getFile method
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-
-/**
- * <code>TestData</code> helps with handling of test data.
- */
-public class TestData {
-
-	private static final String TEST_DATA_ROOT_FOLDER = "testData";
-	private static final String PREFIX_SEPERATOR = "~";
-
-	/**
-	 * Get an input stream from the resource testDataName within the folder 
-	 * testDataFolder of the testData folder of this project.
-	 * @param testDataFolder
-	 * @param testDataName
-	 * @return input stream for the test data
-	 * @throws IOException
-	 */
-	public static InputStream get(String testDataFolder, String testDataName) throws IOException {
-		return new BufferedInputStream(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName).openStream());
-	}
-
-	/**
-	 * Get a File from the resource testDataName within the folder 
-	 * testDataFolder of the testData folder of this project.
-	 * @param testDataFolder
-	 * @return test data File
-	 * @throws IOException
-	 */
-	public static File getFile(String testDataFolder, String testDataName) throws IOException {
-		return new File(FileLocator.toFileURL(TestActivator.getContext().getBundle().getEntry(TEST_DATA_ROOT_FOLDER + "/" + testDataFolder + "/" + testDataName)).getPath());
-	}
-
-	/**
-	 * Create a temporary file for the test data. The temporary file will be deleted 
-	 * when the jvm exists. If testDataName contains an extension this extension will
-	 * be used as suffix for the temporary file.
-	 * @param testDataFolder
-	 * @param testDataName
-	 * @return temporary file with test data
-	 * @throws IOException
-	 */
-	public static File getTempFile(String testDataFolder, String testDataName) throws IOException {
-		File temp = createTempFile(testDataName);
-		OutputStream out = new FileOutputStream(temp);
-		FileUtils.copyStream(get(testDataFolder, testDataName), true, out, true);
-		return temp;
-	}
-
-	/**
-	 * Create a temporary file. This file will be deleted if the jvm exits. 
-	 * If testDataName contains an extension this extension will be used as 
-	 * suffix for the temporary file.
-	 * @param testDataName
-	 * @return temporary file
-	 * @throws IOException
-	 */
-	public static File createTempFile(String testDataName) throws IOException {
-		int i = testDataName.lastIndexOf('.');
-		File temp = (i == -1) ? File.createTempFile(testDataName + PREFIX_SEPERATOR, ".tmp") : File.createTempFile(testDataName.substring(0, i) + PREFIX_SEPERATOR, testDataName.substring(i));
-		temp.deleteOnExit();
-		return temp;
-	}
-
-	/**
-	 * Assert equality of files.
-	 * @param expected
-	 * @param actual
-	 * @throws IOException
-	 */
-	public static void assertEquals(File expected, File actual) throws IOException {
-		Assert.assertEquals("Files have different lengths.", expected.length(), actual.length());
-		TestData.assertEquals(new BufferedInputStream(new FileInputStream(expected)), new BufferedInputStream(new FileInputStream(actual)));
-	}
-
-	/**
-	 * Assert equality of input streams.
-	 * @param expected
-	 * @param actual
-	 * @throws IOException
-	 */
-	public static void assertEquals(InputStream expected, InputStream actual) throws IOException {
-		try {
-			int readExpected = 0;
-			int readActual = 0;
-			int count = 0;
-			while (readActual != -1 && readExpected != -1) {
-				readActual = actual.read();
-				readExpected = expected.read();
-				Assert.assertEquals("Different bytes at " + count, readExpected, readActual);
-				count++;
-			}
-		} finally {
-			if (expected != null)
-				expected.close();
-			if (actual != null)
-				actual.close();
-		}
-	}
-
-	/**
-	 * Assert equality of zip input streams.
-	 * @param expected
-	 * @param actual
-	 * @throws IOException
-	 */
-	public static void assertEquals(ZipInputStream expected, ZipInputStream actual) throws IOException {
-		Map jar1 = getEntries(expected);
-		Map jar2 = getEntries(actual);
-		for (Iterator i = jar1.keySet().iterator(); i.hasNext();) {
-			String name = (String) i.next();
-			Object[] file1 = (Object[]) jar1.get(name);
-			Object[] file2 = (Object[]) jar2.remove(name);
-			Assert.assertNotNull(file2);
-
-			ZipEntry entry1 = (ZipEntry) file1[0];
-			ZipEntry entry2 = (ZipEntry) file2[0];
-			// compare the entries
-			Assert.assertTrue(entry1.getName().equals(entry2.getName()));
-			Assert.assertTrue(entry1.getSize() == entry2.getSize());
-			//	TODO for now skip over the timestamp as they seem to be different
-			// assertTrue(entry1.getTime() == entry2.getTime());
-			Assert.assertTrue(entry1.isDirectory() == entry2.isDirectory());
-			Assert.assertTrue(entry1.getCrc() == entry2.getCrc());
-			Assert.assertTrue(entry1.getMethod() == entry2.getMethod());
-
-			// check the content of the entries
-			Assert.assertTrue(Arrays.equals((byte[]) file1[1], (byte[]) file2[1]));
-		}
-
-		// ensure that we have consumed all of the entries in the second JAR
-		Assert.assertTrue(jar2.size() == 0);
-	}
-
-	/**
-	 * Asserts that the file bytes in <code>fileList</code> are contained in <code>input2</code>
-	 * by matching the entry name with the root's path + fileList path.
-	 * 
-	 * @param fileMap a map of files to verify in <code>input2</code> keyed by relative paths
-	 * i.e. Map<String filePath, File fileBytes>
-	 * @param input2
-	 * @throws IOException
-	 */
-	public static void assertContains(Map fileMap, ZipInputStream input2, boolean compareContent) throws IOException {
-		Map jar2 = getEntries(input2);
-
-		for (Iterator i = fileMap.keySet().iterator(); i.hasNext();) {
-			String name = (String) i.next();
-			Object[] file1 = (Object[]) fileMap.get(name);
-			Object[] file2 = (Object[]) jar2.remove(name);
-			Assert.assertNotNull(file2);
-
-			File entry1 = (File) file1[0];
-			ZipEntry entry2 = (ZipEntry) file2[0];
-			Assert.assertTrue(entry1.isDirectory() == entry2.isDirectory());
-
-			// check the content of the entries
-			if (compareContent)
-				Assert.assertTrue(Arrays.equals((byte[]) file1[1], (byte[]) file2[1]));
-		}
-	}
-
-	private static Map getEntries(ZipInputStream input) throws IOException {
-		Map result = new HashMap();
-		while (true) {
-			ZipEntry entry = input.getNextEntry();
-			if (entry == null)
-				return result;
-			ByteArrayOutputStream content = new ByteArrayOutputStream();
-			FileUtils.copyStream(input, false, content, true);
-			input.closeEntry();
-			result.put(entry.getName(), new Object[] {entry, content.toByteArray()});
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
deleted file mode 100644
index a23dfe7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestMetadataRepository.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.AbstractMetadataRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-/**
- * A simple metadata repository used for testing purposes.  All metadata
- * is kept in memory.
- */
-public class TestMetadataRepository extends AbstractMetadataRepository {
-
-	private static final String DESCRIPTION = "A Test Metadata Repository"; //$NON-NLS-1$
-	private static final String NAME = "ATestMetadataRepository"; //$NON-NLS-1$
-	private static final String PROVIDER = "org.eclipse"; //$NON-NLS-1$
-	private static final String TYPE = "testmetadatarepo"; //$NON-NLS-1$
-	private static final String VERSION = "1"; //$NON-NLS-1$
-	private final List units = new ArrayList();
-	protected HashSet repositories = new HashSet();
-
-	private static URI createLocation() {
-		try {
-			//Just need a unique URL - we don't need to read/write this location
-			return new URI("http://TestMetadataRepository.com/" + Long.toString(System.currentTimeMillis()));
-		} catch (URISyntaxException e) {
-			Assert.fail(e.getMessage());
-		}
-		return null;
-	}
-
-	public TestMetadataRepository(IInstallableUnit[] ius) {
-		super(NAME, TYPE, VERSION, createLocation(), DESCRIPTION, PROVIDER, null);
-		units.addAll(Arrays.asList(ius));
-	}
-
-	public void addInstallableUnits(IInstallableUnit[] toAdd) {
-		units.addAll(Arrays.asList(toAdd));
-	}
-
-	public IInstallableUnit find(String id, String versionString) {
-		Iterator result = query(new InstallableUnitQuery(id, Version.create(versionString)), null).iterator();
-		return (IInstallableUnit) (result.hasNext() ? result.next() : null);
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == TestMetadataRepository.class || adapter == IMetadataRepository.class || adapter == IRepository.class) {
-			return this;
-		}
-		return null;
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		return query.perform(units.iterator(), new Collector());
-	}
-
-	public void removeAll() {
-		units.clear();
-	}
-
-	public boolean removeInstallableUnits(IInstallableUnit[] toRemove) {
-		boolean modified = false;
-		for (int i = 0; i < toRemove.length; i++) {
-			modified |= units.remove(toRemove[i]);
-		}
-		return modified;
-	}
-
-	public void initialize(RepositoryState state) {
-		this.name = state.Name;
-		this.type = state.Type;
-		this.version = state.Version.toString();
-		this.provider = state.Provider;
-		this.description = state.Description;
-		this.location = state.Location;
-		this.properties = state.Properties;
-		this.units.addAll(Arrays.asList(state.Units));
-		this.repositories.addAll(Arrays.asList(state.Repositories));
-	}
-
-	public synchronized void addReference(URI repositoryLocation, String nickname, int repositoryType, int options) {
-		assertModifiable();
-		repositories.add(new RepositoryReference(repositoryLocation, nickname, repositoryType, options));
-	}
-
-	/**
-	 * Returns a collection of {@link RepositoryReference}.
-	 */
-	public Collection getReferences() {
-		return repositories;
-	}
-
-	/**
-	 * Asserts that this repository is modifiable, throwing a runtime exception if
-	 * it is not. This is suitable for use by subclasses when an attempt is made
-	 * to write to a repository.
-	 */
-	protected void assertModifiable() {
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestRepositoryListener.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestRepositoryListener.java
deleted file mode 100644
index 377cd58..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/TestRepositoryListener.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests;
-
-import java.net.URI;
-import java.util.EventObject;
-import junit.framework.Assert;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-
-/**
- * A provisioning event listener used for testing purposes. If a location is provided,
- * the listener only tracks events on repositories at that location.
- */
-public class TestRepositoryListener implements SynchronousProvisioningListener {
-	private static final long MAX_WAIT = 10000;//ten seconds
-	public boolean lastEnablement;
-	public int lastKind;
-	public int lastRepoType;
-	private URI repoLocation;
-	private boolean wasCalled;
-
-	public TestRepositoryListener(URI location) {
-		this.repoLocation = location;
-	}
-
-	public void notify(EventObject o) {
-		if (!(o instanceof RepositoryEvent))
-			return;
-		RepositoryEvent event = (RepositoryEvent) o;
-		if (repoLocation != null && !event.getRepositoryLocation().equals(repoLocation))
-			return;
-		setCalled(true);
-		lastKind = event.getKind();
-		lastRepoType = event.getRepositoryType();
-		lastEnablement = event.isRepositoryEnabled();
-	}
-
-	public void reset() {
-		lastKind = lastRepoType = 0;
-		setCalled(lastEnablement = false);
-	}
-
-	public synchronized void setCalled(boolean wasCalled) {
-		this.wasCalled = wasCalled;
-		notifyAll();
-	}
-
-	/**
-	 * Waits a reasonable amount of time for an expected provisioning event.
-	 * Throw an assertion failure if the event does not occur, to prevent test deadlock.
-	 */
-	public synchronized void waitForEvent() {
-		long waitStart = System.currentTimeMillis();
-		while (!wasCalled()) {
-			Assert.assertTrue("Timeout waiting for repository event", System.currentTimeMillis() - waitStart < MAX_WAIT);
-			try {
-				wait(100);
-			} catch (InterruptedException e) {
-				//ignore
-			}
-		}
-	}
-
-	public synchronized boolean wasCalled() {
-		return wasCalled;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/AllTests.java
deleted file mode 100644
index 94689dd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ant;
-
-import junit.framework.*;
-
-/**
- * Performs all automated artifact repository tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CompositeRepositoryTaskTest.class);
-		suite.addTestSuite(MirrorTaskTest.class);
-		suite.addTestSuite(Repo2RunnableTaskTests.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/CompositeRepositoryTaskTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/CompositeRepositoryTaskTest.java
deleted file mode 100644
index aa66e7c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/CompositeRepositoryTaskTest.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ant;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URI;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.ICompositeRepository;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractAntProvisioningTest;
-
-public class CompositeRepositoryTaskTest extends AbstractAntProvisioningTest {
-	private static final String ADD_ELEMENT = "add";
-	private static final String REMOVE_ELEMENT = "remove";
-	private URI compositeSite;
-	private URI childSite, childSite2;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		// Get a random location to create a repository
-		compositeSite = (new File(getTempFolder(), getUniqueString())).toURI();
-		childSite = getTestData("Loading test data", "testData/testRepos/simple.1").toURI();
-		childSite2 = new URI("memory:/in/memory");
-	}
-
-	public void tearDown() throws Exception {
-		// Remove repository manager references
-		getArtifactRepositoryManager().removeRepository(compositeSite);
-		getMetadataRepositoryManager().removeRepository(compositeSite);
-
-		getArtifactRepositoryManager().removeRepository(childSite);
-		getMetadataRepositoryManager().removeRepository(childSite);
-		getArtifactRepositoryManager().removeRepository(childSite2);
-		getMetadataRepositoryManager().removeRepository(childSite2);
-
-		// Cleanup disk
-		delete(new File(compositeSite));
-		super.tearDown();
-	}
-
-	/*
-	 * Test adding a child to an existing artifact repository
-	 */
-	public void testAddChildToExistingArtifactRepository() throws Exception {
-		// Create repository
-		createCompositeRepository(TYPE_ARTIFACT);
-		// Create the modify repository task
-		AntTaskElement modify = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(modify);
-
-		// Create the Add element
-		AntTaskElement add = new AntTaskElement(ADD_ELEMENT);
-		add.addElement(getRepositoryElement(childSite, TYPE_ARTIFACT));
-		modify.addElement(add);
-
-		// Run the task
-		runAntTask();
-
-		CompositeArtifactRepository repo = (CompositeArtifactRepository) getCompositeRepository(TYPE_ARTIFACT);
-		assertTrue("Repository does not contain child", repo.getChildren().contains(childSite));
-	}
-
-	/*
-	 * Test what occurs when no children are added to the newly created Composite repository
-	 */
-	public void testCreateNoChidlren() {
-		AntTaskElement modify = createCompositeRepositoryTaskElement(TYPE_BOTH);
-		addTask(modify);
-		runAntTask();
-
-		if (getArtifactRepositoryManager().contains(compositeSite))
-			getArtifactRepositoryManager().removeRepository(compositeSite);
-		if (getMetadataRepositoryManager().contains(compositeSite))
-			getMetadataRepositoryManager().removeRepository(compositeSite);
-
-		ICompositeRepository artifact = null;
-		ICompositeRepository metadata = null;
-		try {
-			artifact = (ICompositeRepository) getArtifactRepositoryManager().loadRepository(compositeSite, null);
-			metadata = (ICompositeRepository) getMetadataRepositoryManager().loadRepository(compositeSite, null);
-		} catch (ProvisionException e) {
-			fail("Failed to load repositories", e);
-		}
-		assertTrue("Artifact Repository contains children", artifact.getChildren().isEmpty());
-		assertTrue("Metadata Repository contains children", metadata.getChildren().isEmpty());
-	}
-
-	/*
-	 * Test adding a child to an existing metadata repository 
-	 */
-	public void testAddChildToExistingMetadataRepository() {
-		// Create repository
-		createCompositeRepository(TYPE_METADATA);
-		// Create the modify repository task
-		AntTaskElement modify = createCompositeRepositoryTaskElement(TYPE_METADATA);
-		addTask(modify);
-
-		// Create the Add element
-		AntTaskElement add = new AntTaskElement(ADD_ELEMENT);
-		add.addElement(getRepositoryElement(childSite, TYPE_METADATA));
-		modify.addElement(add);
-
-		// Run the task
-		runAntTask();
-
-		CompositeMetadataRepository repo = (CompositeMetadataRepository) getCompositeRepository(TYPE_METADATA);
-		assertTrue("Repository does not contain child", repo.getChildren().contains(childSite));
-	}
-
-	/*
-	 * Test adding a child to both types of repositories (which already exist)
-	 */
-	public void testAddChildToExistingRepositories() {
-		// Create repository
-		createCompositeRepository(null);
-		// Create the modify repository task
-		AntTaskElement modify = createCompositeRepositoryTaskElement(null);
-		addTask(modify);
-
-		// Create the Add element
-		modify.addElement(createAddElement(null, new URI[] {childSite}));
-
-		// Run the task
-		runAntTask();
-
-		CompositeArtifactRepository artifactRepo = (CompositeArtifactRepository) getCompositeRepository(TYPE_ARTIFACT);
-		assertTrue("Repository does not contain child", artifactRepo.getChildren().contains(childSite));
-
-		CompositeMetadataRepository metadataRepo = (CompositeMetadataRepository) getCompositeRepository(TYPE_METADATA);
-		assertTrue("Repository does not contain child", metadataRepo.getChildren().contains(childSite));
-	}
-
-	/*
-	 * Test the ability to remove all children
-	 */
-	public void testRemoveAllChildren() {
-		// Create repository
-		ICompositeRepository parent = createCompositeRepository(TYPE_ARTIFACT);
-		parent.addChild(childSite);
-
-		// Create the modify repository task
-		AntTaskElement modify = new AntTaskElement("p2.composite.repository");
-		AntTaskElement destination = getRepositoryElement(compositeSite, TYPE_ARTIFACT);
-		destination.addAttribute("append", String.valueOf(false));
-		modify.addElement(destination);
-		addTask(modify);
-
-		// Run the task
-		runAntTask();
-
-		CompositeArtifactRepository artifactRepo = (CompositeArtifactRepository) getCompositeRepository(TYPE_ARTIFACT);
-		assertTrue("Children not removed", artifactRepo.getChildren().isEmpty());
-
-	}
-
-	/*
-	 * Test the removal of specified children
-	 */
-	public void testRemoveChild() {
-		ICompositeRepository repo = createCompositeRepository(TYPE_ARTIFACT);
-		try {
-			getArtifactRepositoryManager().loadRepository(childSite, null);
-			getArtifactRepositoryManager().createRepository(childSite2, "Child site", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-
-			repo.addChild(childSite);
-			repo.addChild(childSite2);
-		} catch (ProvisionException e) {
-			fail("Failed to create child repositories");
-		}
-		getArtifactRepositoryManager().removeRepository(compositeSite);
-
-		AntTaskElement modify = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		modify.addElement(createRemoveElement(TYPE_ARTIFACT, new URI[] {childSite}));
-		addTask(modify);
-
-		runAntTask();
-
-		repo = getCompositeRepository(TYPE_ARTIFACT);
-
-		assertFalse(repo.getChildren().contains(childSite));
-		assertTrue(repo.getChildren().contains(childSite2));
-	}
-
-	/*
-	 * Test creating a CompositeArtifactRepository
-	 */
-	public void testCreateCompositeArtifactRepository() throws Exception {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(createCompositeTask);
-
-		runAntTask();
-
-		assertTrue(getArtifactRepositoryManager().contains(compositeSite));
-		assertTrue(getArtifactRepositoryManager().loadRepository(compositeSite, null) instanceof CompositeArtifactRepository);
-		assertFalse("Metadata repository does not exists", getMetadataRepositoryManager().contains(compositeSite));
-	}
-
-	/*
-	 * Test creating a CompositeMetadataRepository
-	 */
-	public void testCreateCompositeMetadataRepository() throws Exception {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_METADATA);
-		addTask(createCompositeTask);
-
-		runAntTask();
-
-		assertTrue("Metadata repository does not exists", getMetadataRepositoryManager().contains(compositeSite));
-		assertTrue("Metadata repository is not a CompositeRepository", getMetadataRepositoryManager().loadRepository(compositeSite, null) instanceof CompositeMetadataRepository);
-		assertFalse("Artifact repository also exists", getArtifactRepositoryManager().contains(compositeSite));
-	}
-
-	/*
-	 * Tests the ability to create both Artifact & Metadata repositories at once.
-	 */
-	public void testCreateCombinedCompositeRepository() throws Exception {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(null);
-		addTask(createCompositeTask);
-
-		runAntTask();
-
-		assertTrue("Metadata repository does not exists", getMetadataRepositoryManager().contains(compositeSite));
-		assertTrue("Artifact repository does not exists", getArtifactRepositoryManager().contains(compositeSite));
-		assertTrue("Metadata repository is not a CompositeRepository", getMetadataRepositoryManager().loadRepository(compositeSite, null) instanceof CompositeMetadataRepository);
-		assertTrue("Artifact repository is not a CompositeRepository", getArtifactRepositoryManager().loadRepository(compositeSite, null) instanceof CompositeArtifactRepository);
-	}
-
-	/*
-	 * Test that failOnExists attribute is honoured
-	 */
-	public void testFailOnExists() throws Exception {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(createCompositeTask);
-		runAntTask();
-
-		// Set failOnExists
-		createCompositeTask.addAttributes(new String[] {"failOnExists", String.valueOf(true)});
-
-		Throwable exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			exception = rootCause(e);
-		}
-		if (!exception.getMessage().contains("exists"))
-			fail("Unexpected exception: ", exception);
-	}
-
-	/*
-	 * Test that not-compressed attribute is honoured
-	 */
-	public void testNotCompressed() throws Exception {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(createCompositeTask);
-		// Set the compressed attribute to false
-		((AntTaskElement) createCompositeTask.elements.get(0)).addAttributes(new String[] {"compressed", String.valueOf(false)});
-		runAntTask();
-
-		ICompositeRepository repo = getCompositeRepository(TYPE_ARTIFACT);
-		assertTrue(repo instanceof CompositeArtifactRepository);
-		assertFalse("The repository is compressed", Boolean.valueOf((String) repo.getProperties().get(IRepository.PROP_COMPRESSED)));
-	}
-
-	/*
-	 * Test that the name is properly set on a newly created repository
-	 */
-	public void testName() {
-		String repoName = "My Test Repository";
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(createCompositeTask);
-		// Set the repository name
-		((AntTaskElement) createCompositeTask.elements.get(0)).addAttributes(new String[] {"name", repoName});
-
-		runAntTask();
-
-		try {
-			IArtifactRepository repo = getArtifactRepositoryManager().loadRepository(compositeSite, null);
-			assertTrue(repo instanceof CompositeArtifactRepository);
-			assertEquals(repoName, repo.getName());
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		}
-	}
-
-	/*
-	 * Test adding a child to a new artifact repository
-	 */
-	public void testAddChildToNewArtifactRepository() {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_ARTIFACT);
-		addTask(createCompositeTask);
-
-		// Create add element
-		AntTaskElement addElement = new AntTaskElement("add");
-		// Add a repository
-		addElement.addElement(getRepositoryElement(childSite, TYPE_ARTIFACT));
-		createCompositeTask.addElement(addElement);
-
-		runAntTask();
-
-		try {
-			CompositeArtifactRepository repo = (CompositeArtifactRepository) getArtifactRepositoryManager().loadRepository(compositeSite, null);
-			assertTrue(repo.getChildren().contains(childSite));
-			assertEquals("More than one child present", 1, repo.getChildren().size());
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		}
-	}
-
-	/*
-	 * Test adding a child to a new metadata repository
-	 */
-	public void testAddChildToNewMetadataRepository() {
-		// Create Composite Repository Task
-		AntTaskElement createCompositeTask = createCompositeRepositoryTaskElement(TYPE_METADATA);
-		addTask(createCompositeTask);
-
-		// Create add element
-		AntTaskElement addElement = new AntTaskElement("add");
-		// Add a repository
-		addElement.addElement(getRepositoryElement(childSite, TYPE_METADATA));
-		createCompositeTask.addElement(addElement);
-
-		runAntTask();
-
-		try {
-			ICompositeRepository repo = (ICompositeRepository) getMetadataRepositoryManager().loadRepository(compositeSite, null);
-			assertTrue(repo.getChildren().contains(childSite));
-			assertEquals("More than one child present", 1, repo.getChildren().size());
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		}
-	}
-
-	/*
-	 * Test how the task behaves with an invalid location
-	 */
-	public void testInvalidLocation() throws Exception {
-		URI location = URIUtil.fromString("scheme:/location");
-		AntTaskElement createCompositeTask = new AntTaskElement("p2.composite.repository");
-		createCompositeTask.addElement(getRepositoryElement(location, TYPE_ARTIFACT));
-		addTask(createCompositeTask);
-
-		Exception exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			exception = e;
-			if (!(rootCause(e) instanceof MalformedURLException))
-				fail("Expected MalformedURLException.", e);
-			else {
-				try {
-					getArtifactRepositoryManager().loadRepository(location, null);
-					fail("Repository with invalid location loaded.");
-				} catch (ProvisionException e2) {
-					// This is a success
-				}
-			}
-		}
-		if (exception == null)
-			fail("No exception thrown");
-	}
-
-	/*
-	 * Get the composite repository at the default location
-	 */
-	protected ICompositeRepository getCompositeRepository(String type) {
-		try {
-			if (type == TYPE_ARTIFACT) {
-				return (ICompositeRepository) getArtifactRepositoryManager().loadRepository(compositeSite, null);
-			} else if (type == TYPE_METADATA)
-				return (ICompositeRepository) getMetadataRepositoryManager().loadRepository(compositeSite, null);
-			else
-				fail("No type specified");
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		} catch (ClassCastException e) {
-			fail("Repository is not composite", e);
-		}
-		// Will not occur
-		return null;
-	}
-
-	/*
-	 *  Create an "remove" AntTaskElement for the specified addresses
-	 */
-	protected AntTaskElement createRemoveElement(String type, URI[] addresses) {
-		AntTaskElement add = new AntTaskElement(REMOVE_ELEMENT);
-		for (int i = 0; i < addresses.length; i++)
-			add.addElement(getRepositoryElement(addresses[i], type));
-		return add;
-	}
-
-	/*
-	 * Create an "add" AntTaskElement for the specified addresses
-	 */
-	protected AntTaskElement createAddElement(String type, URI[] addresses) {
-		AntTaskElement add = new AntTaskElement(ADD_ELEMENT);
-		for (int i = 0; i < addresses.length; i++)
-			add.addElement(getRepositoryElement(addresses[i], type));
-		return add;
-	}
-
-	/*
-	 * Create an AntTaskElement representing a p2 composite repository task with the default repo location specified
-	 */
-	protected AntTaskElement createCompositeRepositoryTaskElement(String type) {
-		AntTaskElement compositeTask = new AntTaskElement("p2.composite.repository");
-		compositeTask.addElement(getRepositoryElement(compositeSite, type));
-
-		return compositeTask;
-	}
-
-	/*
-	 * Create a composite repository at the default location of the specified type(s)
-	 */
-	protected ICompositeRepository createCompositeRepository(String type) {
-		ICompositeRepository repo = null;
-		try {
-			if (TYPE_ARTIFACT.equals(type) || type == null) {
-				repo = (ICompositeRepository) RepositoryHelper.validDestinationRepository(getArtifactRepositoryManager().createRepository(compositeSite, "Test Composite Repo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null));
-			}
-			if (TYPE_METADATA.equals(type) || type == null) {
-				repo = (ICompositeRepository) RepositoryHelper.validDestinationRepository(getMetadataRepositoryManager().createRepository(compositeSite, "Test Composite Repo", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null));
-			}
-		} catch (ProvisionException e) {
-			fail("Failed to create composite repository", e);
-		} catch (IllegalStateException e) {
-			fail("failed to create writeable composite repository", e);
-		}
-		return repo;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/MirrorTaskTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/MirrorTaskTest.java
deleted file mode 100644
index 52e40fc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/MirrorTaskTest.java
+++ /dev/null
@@ -1,804 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ant;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Iterator;
-import java.util.Properties;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.Messages;
-import org.eclipse.equinox.internal.p2.director.PermissiveSlicer;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractAntProvisioningTest;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.util.NLS;
-
-public class MirrorTaskTest extends AbstractAntProvisioningTest {
-	private static final String MIRROR_TASK = "p2.mirror";
-	private URI destinationRepo;
-	private URI artifactRepo, sliceArtifactRepo, sliceRepo, sourceRepo2, zipRepo;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		// Get a random location to create a repository
-		destinationRepo = (new File(getTempFolder(), getUniqueString())).toURI();
-		artifactRepo = getTestData("error loading data", "testData/mirror/mirrorPackedRepo").toURI();
-		sourceRepo2 = getTestData("error loading data", "testData/mirror/mirrorSourceRepo2").toURI();
-		sliceRepo = getTestData("error loading data", "testData/permissiveSlicer").toURI();
-		sliceArtifactRepo = getTestData("error loading data", "testData/testRepos/updateSite").toURI();
-		zipRepo = getTestData("error loading data", "/testData/mirror/zippedRepo.zip").toURI();
-	}
-
-	public void tearDown() throws Exception {
-		// Remove repository manager references
-		getArtifactRepositoryManager().removeRepository(destinationRepo);
-		getMetadataRepositoryManager().removeRepository(destinationRepo);
-		getArtifactRepositoryManager().removeRepository(sliceRepo);
-		getMetadataRepositoryManager().removeRepository(sliceRepo);
-		getArtifactRepositoryManager().removeRepository(sourceRepo2);
-		getMetadataRepositoryManager().removeRepository(sourceRepo2);
-		getArtifactRepositoryManager().removeRepository(zipRepo);
-		getMetadataRepositoryManager().removeRepository(zipRepo);
-		// Cleanup disk
-		delete(new File(destinationRepo).getParentFile());
-		super.tearDown();
-	}
-
-	/*
-	 * Test that it is possible to mirror by only specifying an Artifact repository
-	 */
-	public void testMirrorArtifactOnly() {
-		AntTaskElement mirror = createMirrorTask(TYPE_ARTIFACT);
-		mirror.addElement(createSourceElement(artifactRepo, null));
-		runAntTask();
-
-		assertEquals("Different number of Artifact Keys", getArtifactKeyCount(artifactRepo), getArtifactKeyCount(destinationRepo));
-		assertEquals("Different number of ArtifactDescriptors", getArtifactDescriptorCount(artifactRepo), getArtifactDescriptorCount(destinationRepo));
-	}
-
-	/*
-	 * Test that it is possible to mirror when only specifying a Metadata repository 
-	 */
-	public void testMirrorMetadataOnly() {
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sourceRepo2));
-		runAntTask();
-
-		assertEquals("Different number of IUs", getIUCount(sourceRepo2), getIUCount(destinationRepo));
-	}
-
-	/*
-	 * Test we can mirror from a zipped repository
-	 */
-	public void testMirrorFromZip() {
-		URI localAddress = null;
-		try {
-			localAddress = URIUtil.fromString(new File(zipRepo).toString());
-		} catch (URISyntaxException e) {
-			fail("failed to convert zip repo location");
-		}
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(localAddress, localAddress));
-		runAntTask();
-
-		assertEquals("Wrong number of ArtifactKeys", getArtifactKeyCount(URIUtil.toJarURI(zipRepo, null)), getArtifactKeyCount(destinationRepo));
-		assertEquals("Wrong number of ArtifactDescriptors", getArtifactDescriptorCount(URIUtil.toJarURI(zipRepo, null)), getArtifactDescriptorCount(destinationRepo));
-		assertEquals("Different number of IUs", getIUCount(sourceRepo2), getIUCount(destinationRepo));
-	}
-
-	/*
-	 * Test that all IUs can be mirrored
-	 */
-	public void testMirrorAllIUSpecified() throws ProvisionException {
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sourceRepo2, sourceRepo2));
-		addAllIUs(mirror, getMetadataRepositoryManager().loadRepository(sourceRepo2, null));
-		runAntTask();
-
-		assertEquals("Different number of Artifact Keys", getArtifactKeyCount(sourceRepo2), getArtifactKeyCount(destinationRepo));
-		assertContentEquals("IUs differ", getMetadataRepositoryManager().loadRepository(sourceRepo2, null), getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		assertEquals("Different number of IUs", getIUCount(sourceRepo2), getIUCount(destinationRepo));
-		assertContentEquals("Artifacts differ", getArtifactRepositoryManager().loadRepository(sourceRepo2, null), getArtifactRepositoryManager().loadRepository(destinationRepo, null));
-	}
-
-	/*
-	 * Test that we only mirror specified IUs & Artifacts
-	 */
-	public void testMirrorSomeIUSpecified() {
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sourceRepo2, sourceRepo2));
-		mirror.addElement(createIUElement("anotherplugin", "1.0.0"));
-
-		runAntTask();
-
-		assertEquals("Wrong number of ArtifactKeys", 1, getArtifactKeyCount(destinationRepo));
-		assertEquals("Wrong number of IUs", 1, getIUCount(destinationRepo));
-	}
-
-	/*
-	 * Test what occurs with a missing IU
-	 */
-	public void testMirrorMissingIU() {
-		String id = "My_Missing_IU";
-		String version = "1.0.0";
-		String iu = "Installable Unit [ id=" + id + " version=" + version + " ]";
-
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sourceRepo2, sourceRepo2));
-		mirror.addElement(createIUElement(id, version));
-		Exception exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			exception = e;
-		}
-		if (exception == null)
-			fail("No Exception was thrown");
-
-		assertEquals("Unexpected message", NLS.bind(org.eclipse.equinox.p2.internal.repository.tools.Messages.AbstractRepositoryTask_unableToFind, iu), rootCause(exception).getMessage());
-	}
-
-	/*
-	 * Test that the proper exception is thrown when no IU is provided
-	 */
-	public void testMirrorMetadataDestinationWithoutSource() {
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sourceRepo2, null));
-
-		Exception exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			exception = e;
-		}
-		if (exception == null)
-			fail("No exception thrown");
-		if (!(rootCause(exception) instanceof ProvisionException && rootCause(exception).getMessage().equals(org.eclipse.equinox.p2.internal.repository.tools.Messages.MirrorApplication_metadataDestinationNoSource)))
-			fail("Exception is of an unexpected type or message", rootCause(exception));
-	}
-
-	/*
-	 * Test that the proper exception is thrown when no IU is provided
-	 */
-	public void testMirrorArtifactDestinationWithoutSource() {
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(null, sourceRepo2));
-
-		Exception exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (CoreException e) {
-			exception = e;
-		}
-		if (exception == null)
-			fail("No exception thrown");
-		if (!(rootCause(exception) instanceof ProvisionException) && rootCause(exception).getMessage().contains(org.eclipse.equinox.p2.internal.repository.tools.Messages.MirrorApplication_artifactDestinationNoSource))
-			fail("Exception is of an unexpected type or message", rootCause(exception));
-	}
-
-	/*
-	 * Test that all IUs are mirrored when none are specified
-	 */
-	public void testMirrorNoIUSpecified() {
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sourceRepo2, sourceRepo2));
-
-		runAntTask();
-
-		try {
-			assertEquals("Different number of Artifact Keys", getArtifactKeyCount(sourceRepo2), getArtifactKeyCount(destinationRepo));
-			assertContentEquals("Artifacts differ", getArtifactRepositoryManager().loadRepository(sourceRepo2, null), getArtifactRepositoryManager().loadRepository(destinationRepo, null));
-			assertEquals("Different number of IUs", getIUCount(sourceRepo2), getIUCount(destinationRepo));
-			assertContentEquals("IUs differ", getMetadataRepositoryManager().loadRepository(sourceRepo2, null), getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare results", e);
-		}
-	}
-
-	/*
-	 * Test the handling of invalid destinations with the mirror task
-	 */
-	public void testMirrorWithInvalidDestination() throws URISyntaxException {
-		URI location = new URI("invalid:/scheme");
-
-		AntTaskElement mirror = new AntTaskElement(MIRROR_TASK);
-		mirror.addElement(getRepositoryElement(location, TYPE_BOTH));
-		mirror.addElement(createSourceElement(sourceRepo2, sourceRepo2));
-		addTask(mirror);
-
-		Throwable exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (Exception e) {
-			exception = e;
-		}
-		if (exception == null)
-			fail("No Exception thrown");
-
-		while (exception.getCause() != null && !(exception instanceof ProvisionException))
-			exception = exception.getCause();
-		assertTrue("Unexpected error", NLS.bind(org.eclipse.equinox.p2.internal.repository.tools.Messages.exception_invalidDestination, location).equals(exception.getMessage()));
-	}
-
-	/*
-	 * Test the behavior when a valid path is provided as source, but no repository is present at the location
-	 */
-	public void testMirrorWithNoRepositoryAtSource() {
-		URI location = getTempFolder().toURI();
-		try {
-			AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-			mirror.addElement(createSourceElement(location, location));
-			addTask(mirror);
-
-			Throwable exception = null;
-			try {
-				runAntTaskWithExceptions();
-			} catch (Exception e) {
-				exception = e;
-			}
-			if (exception == null)
-				fail("No Exception thrown");
-
-			while (exception.getCause() != null && !(exception instanceof ProvisionException))
-				exception = exception.getCause();
-			assertTrue("Unexpected error", NLS.bind("No repository found at {0}.", location).equals(exception.getMessage()));
-		} finally {
-			delete(new File(location));
-		}
-	}
-
-	/*
-	 * Test the handling of invalid destinations with the mirror task
-	 */
-	public void testMirrorWithInvalidSource() throws URISyntaxException {
-		URI location = new URI("invalid:/scheme2");
-
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(location, location));
-		addTask(mirror);
-
-		Throwable exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (Exception e) {
-			exception = e;
-		}
-		if (exception == null)
-			fail("No Exception thrown");
-
-		while (exception.getCause() != null && !(exception instanceof ProvisionException))
-			exception = exception.getCause();
-		assertTrue("Unexpected error", NLS.bind(org.eclipse.equinox.p2.internal.repository.tools.Messages.exception_invalidSource, location).equals(exception.getMessage()));
-	}
-
-	/*
-	 * Test slicing options
-	 */
-	public void testSlicingFollowStrict() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, null, true, null, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		p.setProperty("org.eclipse.update.install.features", String.valueOf(true));
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, true, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	public void testSlicingIncludeNonGreedy() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, false, null, null, null, null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, new Properties(), true, false, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	public void testSlicingIncludeOptionalDependencies() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(false, null, null, null, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		p.setProperty("org.eclipse.update.install.features", String.valueOf(true));
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, false, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	public void testSlicingFilter() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, null, null, null, "win32,win32,x86", "org.eclipse.update.install.features=false"));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	/*
-	 * Test the platform filter
-	 */
-	public void testSlicingPlatformFilter() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, null, null, null, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		p.setProperty("org.eclipse.update.install.features", String.valueOf(true));
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	/*
-	 * Test disabling includeFeatures for SlicingOptions
-	 */
-	public void testSlicingIncludeFeaturesFalse() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		// Create task
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, null, null, false, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		try {
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-	}
-
-	/*
-	 * Tests the results of a slice are used to mirror artifacts
-	 */
-	public void testSlicingMetadataAndArtifactsMirrored() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceArtifactRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("test.feature.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		// Create task
-		AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-		mirror.addElement(createSourceElement(sliceArtifactRepo, sliceArtifactRepo));
-		mirror.addElement(createSlicingOption(null, null, null, false, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-
-		assertEquals("Different number of IUs", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size(), getIUCount(destinationRepo));
-		assertEquals("Different number of ArtifactKeys", getArtifactKeyCount(result.query(InstallableUnitQuery.ANY, new NullProgressMonitor())), getArtifactKeyCount(destinationRepo));
-		try {
-			assertArtifactKeyContentEquals("Different ArtifactKeys", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()), destinationRepo);
-			assertIUContentEquals("IUs differ", result, getMetadataRepositoryManager().loadRepository(destinationRepo, null));
-		} catch (ProvisionException e) {
-			fail("Failed to compare contents", e);
-		}
-
-	}
-
-	/*
-	 * Test the ability to slice an IU and mirror only the artifacts
-	 */
-	public void testMirrorSlicedIUtoArtifact() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceArtifactRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("test.feature.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		// Create task
-		AntTaskElement mirror = createMirrorTask(TYPE_ARTIFACT);
-		mirror.addElement(createSourceElement(sliceArtifactRepo, sliceArtifactRepo));
-		mirror.addElement(createSlicingOption(null, null, null, false, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-
-		assertEquals("Different number of ArtifactKeys", getArtifactKeyCount(result.query(InstallableUnitQuery.ANY, new NullProgressMonitor())), getArtifactKeyCount(destinationRepo));
-		assertArtifactKeyContentEquals("Different ArtifactKeys", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()), destinationRepo);
-	}
-
-	/*
-	 * Test the ability to slice an IU and mirror only the artifacts
-	 */
-	public void testMirrorSlicedMultipleIUsToArtifact() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceArtifactRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("test.feature.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		c = repo.query(new InstallableUnitQuery("RCP_Browser_Example.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu2 = (IInstallableUnit) c.iterator().next();
-
-		// Create task
-		AntTaskElement mirror = createMirrorTask(TYPE_ARTIFACT);
-		mirror.addElement(createSourceElement(sliceArtifactRepo, sliceArtifactRepo));
-		mirror.addElement(createSlicingOption(null, null, null, false, "win32,win32,x86", null));
-		mirror.addElement(createIUElement(iu));
-		mirror.addElement(createIUElement(iu2));
-
-		runAntTask();
-
-		Properties p = getSliceProperties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, true, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu, iu2}, new NullProgressMonitor());
-
-		assertEquals("Different number of ArtifactKeys", getArtifactKeyCount(result.query(InstallableUnitQuery.ANY, new NullProgressMonitor())), getArtifactKeyCount(destinationRepo));
-		assertArtifactKeyContentEquals("Different ArtifactKeys", result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()), destinationRepo);
-	}
-
-	/*
-	 * Test the ability to slice an IU and mirror only the artifacts
-	 */
-	public void testMirrorIUtoArtifact() {
-		IMetadataRepository repo = null;
-		try {
-			repo = loadMetadataRepository(sliceArtifactRepo);
-		} catch (ProvisionException e) {
-			fail("Loading repository failed", e);
-		}
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.ui.examples.readmetool"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-
-		// Create task
-		AntTaskElement mirror = createMirrorTask(TYPE_ARTIFACT);
-		mirror.addElement(createSourceElement(sliceArtifactRepo, sliceArtifactRepo));
-		mirror.addElement(createIUElement(iu));
-
-		runAntTask();
-
-		Collector collector = new Collector();
-		collector.accept(iu);
-
-		assertEquals("Different number of ArtifactKeys", getArtifactKeyCount(collector), getArtifactKeyCount(destinationRepo));
-		assertArtifactKeyContentEquals("Different ArtifactKeys", collector, destinationRepo);
-	}
-
-	/*
-	 * Test the result of a slice which results in no IUs
-	 */
-	public void testSlicingInvalid() {
-		AntTaskElement mirror = createMirrorTask(TYPE_METADATA);
-		mirror.addElement(createSourceElement(null, sliceRepo));
-		mirror.addElement(createSlicingOption(null, null, null, null, "win32,win32,x86", null));
-
-		Exception exception = null;
-		try {
-			runAntTaskWithExceptions();
-		} catch (Exception e) {
-			exception = e;
-		}
-
-		if (exception == null || !(rootCause(exception) instanceof ProvisionException)) {
-			fail("Unexpected exception type", exception);
-		}
-	}
-
-	/*
-	 * Modified from org.eclipse.equinox.p2.tests.mirror.ArtifactMirrorApplicationTest
-	 */
-	public void testBaselineCompareUsingMD5Comparator() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/content.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/content.xml");
-
-		//Setup Copy the file to the baseline
-		File repoLocation = getTestFolder(getUniqueString());
-		File baselineLocation = getTestFolder(getUniqueString());
-		File baselineBinaryDirectory = new File(baselineLocation, "binary");
-		baselineBinaryDirectory.mkdir();
-		File baselineContentLocation = new File(baselineBinaryDirectory, "testKeyId_1.2.3");
-		AbstractProvisioningTest.copy("Copying File to baseline", artifact2, baselineContentLocation);
-
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, baselineContentLocation);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		IArtifactRepository repo = null;
-		IArtifactRepository baseline = null;
-		try {
-			repo = createRepositoryWithIU(repoLocation.toURI(), descriptor1);
-			baseline = createRepositoryWithIU(baselineLocation.toURI(), descriptor2);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		try {
-			(new File(destinationRepo)).mkdir();
-			newErr = new PrintStream(new FileOutputStream(new File(new File(destinationRepo), "sys.err")));
-			newOut = new PrintStream(new FileOutputStream(new File(new File(destinationRepo), "sys.out")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting outputs", e);
-		}
-
-		try {
-			System.setErr(newErr);
-			System.setOut(newOut);
-
-			// Create task
-			AntTaskElement mirror = createMirrorTask(TYPE_BOTH);
-			// Add source
-			mirror.addElement(createSourceElement(repoLocation.toURI(), repoLocation.toURI()));
-			// set verbose
-			mirror.addAttribute("verbose", String.valueOf(true));
-
-			// Create a comparator element 
-			AntTaskElement comparator = new AntTaskElement("comparator");
-			comparator.addElement(getRepositoryElement(baselineLocation.toURI(), null));
-			mirror.addElement(comparator);
-
-			runAntTaskWithExceptions();
-		} catch (Exception e) {
-			fail("Running mirror application with baseline compare", rootCause(e));
-		} finally {
-			System.setErr(oldErr);
-			newErr.close();
-			System.setOut(oldOut);
-			newOut.close();
-		}
-
-		IArtifactRepository destination = null;
-		try {
-			destination = getArtifactRepositoryManager().loadRepository(destinationRepo, null);
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-
-		IArtifactDescriptor[] destDescriptors = destination.getArtifactDescriptors(descriptor2.getArtifactKey());
-		assertEquals("Ensuring destination has correct number of descriptors", 1, destDescriptors.length);
-		assertEquals("Ensuring destination contains the descriptor from the baseline", descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), destDescriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-		String msg = NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(baseline.getLocation()), URIUtil.toUnencodedString(repo.getLocation()), descriptor1});
-
-		assertLogContains(msg);
-	}
-
-	private Properties getSliceProperties() {
-		Properties p = new Properties();
-		p.setProperty("osgi.os", "win32");
-		p.setProperty("osgi.ws", "win32");
-		p.setProperty("osgi.arch", "x86");
-		return p;
-	}
-
-	protected AntTaskElement createSlicingOption(Boolean includeOptional, Boolean includeNonGreedy, Boolean followStrict, Boolean includeFeatures, String platformFilter, String filter) {
-		AntTaskElement slicing = new AntTaskElement("slicingoptions");
-		if (followStrict != null)
-			slicing.addAttribute("followstrict", followStrict.toString());
-		if (includeFeatures != null)
-			slicing.addAttribute("includefeatures", includeFeatures.toString());
-		if (includeNonGreedy != null)
-			slicing.addAttribute("includenongreedy", includeNonGreedy.toString());
-		if (includeOptional != null)
-			slicing.addAttribute("includeoptional", includeOptional.toString());
-		if (platformFilter != null)
-			slicing.addAttribute("platformfilter", platformFilter);
-		if (filter != null)
-			slicing.addAttribute("filter", filter);
-		return slicing;
-	}
-
-	/*
-	 * Create an IU for a descriptor and the IU+descriptor to the specified repo
-	 */
-	protected IArtifactRepository createRepositoryWithIU(URI repoLocation, IArtifactDescriptor descriptor) throws ProvisionException {
-		IArtifactRepository artifactRepository = getArtifactRepositoryManager().createRepository(repoLocation, "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		artifactRepository.addDescriptor(descriptor);
-
-		IMetadataRepository metaRepo = getMetadataRepositoryManager().createRepository(repoLocation, "Repo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		InstallableUnit iu = new InstallableUnit();
-		iu.setId(descriptor.getArtifactKey().getId() + "IU");
-		iu.setVersion(descriptor.getArtifactKey().getVersion());
-		iu.setArtifacts(new IArtifactKey[] {descriptor.getArtifactKey()});
-		metaRepo.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		return artifactRepository;
-	}
-
-	/*
-	 * Get the number of ArtifactKeys in a repository
-	 */
-	protected int getArtifactKeyCount(Collector ius) {
-		int count = 0;
-		for (Iterator iter = ius.iterator(); iter.hasNext();)
-			count += ((InstallableUnit) iter.next()).getArtifacts().length;
-		return count;
-	}
-
-	/*
-	 * Get the number of IUs in a repository
-	 */
-	protected int getIUCount(URI location) {
-		try {
-			return getMetadataRepositoryManager().loadRepository(location, null).query(InstallableUnitQuery.ANY, null).size();
-		} catch (ProvisionException e) {
-			fail("Failed to load repository " + URIUtil.toUnencodedString(location) + " for ArtifactDescriptor count");
-			return -1;
-		}
-	}
-
-	/*
-	 * Add all IUs to the parent element
-	 */
-	protected void addAllIUs(AntTaskElement parent, IMetadataRepository repo) {
-		Collector collector = repo.query(InstallableUnitQuery.ANY, null);
-
-		for (Iterator iter = collector.iterator(); iter.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iter.next();
-			parent.addElement(createIUElement(iu));
-		}
-	}
-
-	/*
-	 * Create the base mirror task & add it to the script
-	 */
-	protected AntTaskElement createMirrorTask(String type) {
-		AntTaskElement mirror = new AntTaskElement(MIRROR_TASK);
-		mirror.addElement(getRepositoryElement(destinationRepo, type));
-		addTask(mirror);
-		return mirror;
-	}
-
-	/*
-	 * Create a source element with the specified repositories
-	 */
-	protected AntTaskElement createSourceElement(URI artifact, URI metadata) {
-		AntTaskElement source = new AntTaskElement("source");
-		if (artifact != null)
-			source.addElement(getRepositoryElement(artifact, AbstractAntProvisioningTest.TYPE_ARTIFACT));
-		if (metadata != null)
-			source.addElement(getRepositoryElement(metadata, AbstractAntProvisioningTest.TYPE_METADATA));
-		return source;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
deleted file mode 100644
index 50acfe6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ant;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Collection;
-import java.util.Iterator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractAntProvisioningTest;
-
-public class Repo2RunnableTaskTests extends AbstractAntProvisioningTest {
-
-	private URI destination, source;
-
-	public void setUp() throws Exception {
-		source = getTestData("Error loading data", "testData/mirror/mirrorSourceRepo1 with space").toURI();
-		destination = getTestFolder(getName()).toURI();
-		super.setUp();
-	}
-
-	public void tearDown() throws Exception {
-		getArtifactRepositoryManager().removeRepository(source);
-		getMetadataRepositoryManager().removeRepository(source);
-		getArtifactRepositoryManager().removeRepository(destination);
-		getMetadataRepositoryManager().removeRepository(destination);
-		delete(new File(destination));
-		super.tearDown();
-	}
-
-	/*
-	 * Test the Repo2RunnableTask functions as expected on a simple repository
-	 */
-	public void testRepo2Runnable() {
-		createRepo2RunnableTaskElement(TYPE_BOTH);
-
-		runAntTask();
-		assertEquals("Number of artifact keys differs", getArtifactKeyCount(source), getArtifactKeyCount(destination));
-		assertTrue("Unexpected format", expectedFormat(destination));
-	}
-
-	/*
-	 * Test that when an IU is specified that it is used
-	 */
-	public void testRepo2RunnableSpecifiedIU() {
-		IInstallableUnit iu = null;
-		try {
-			IMetadataRepository repo = getMetadataRepositoryManager().loadRepository(source, new NullProgressMonitor());
-			Collection ius = repo.query(new InstallableUnitQuery("helloworldfeature.feature.jar"), new NullProgressMonitor()).toCollection();
-			assertEquals("Expected number of IUs", 1, ius.size());
-			iu = (IInstallableUnit) ius.iterator().next();
-		} catch (ProvisionException e) {
-			fail("Failed to obtain iu", e);
-		}
-		AntTaskElement task = createRepo2RunnableTaskElement(TYPE_BOTH);
-		task.addElement(createIUElement(iu));
-
-		runAntTask();
-		assertEquals("Number of artifact keys differs", iu.getArtifacts().length, getArtifactKeyCount(destination));
-		assertTrue("Unexpected format", expectedFormat(destination));
-	}
-
-	public void testRepo2RunnableFailOnError() {
-		source = getTestData("Error loading data", "testData/mirror/mirrorSourceRepo3").toURI();
-		URI binary = getTestData("Error loading binary data", "testData/testRepos/binary.repo").toURI();
-
-		AntTaskElement mirror = new AntTaskElement("p2.mirror");
-		AntTaskElement sourceRepo = new AntTaskElement("source");
-		sourceRepo.addElement(getRepositoryElement(source, TYPE_BOTH));
-		sourceRepo.addElement(getRepositoryElement(binary, TYPE_BOTH));
-		mirror.addElement(sourceRepo);
-		mirror.addElement(getRepositoryElement(destination, TYPE_BOTH));
-		addTask(mirror);
-
-		AntTaskElement delete = new AntTaskElement("delete");
-		delete.addAttribute("file", getTestFolder(getName()) + "/plugins/helloworld_1.0.0.jar");
-		addTask(delete);
-
-		getArtifactRepositoryManager().removeRepository(binary);
-		getMetadataRepositoryManager().removeRepository(binary);
-		getArtifactRepositoryManager().removeRepository(source);
-		getMetadataRepositoryManager().removeRepository(source);
-		source = destination;
-
-		File destinationFile = new File(getTestFolder(getName()), "repo2");
-		destination = destinationFile.toURI();
-
-		AntTaskElement task = createRepo2RunnableTaskElement(TYPE_BOTH);
-		task.addAttribute("failOnError", "false");
-
-		runAntTask();
-		assertTrue(new File(destinationFile, "binary/f_root_1.0.0").exists());
-	}
-
-	/*
-	 * Ensure that the output repository is of the expected type
-	 */
-	protected boolean expectedFormat(URI location) {
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().loadRepository(location, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			fail("Failed to load repository", e);
-		}
-		Collector keys = repo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(key);
-			for (int n = 0; n < descriptors.length; n++) {
-				IArtifactDescriptor desc = descriptors[n];
-				// Features should be unzipped, others should not be.
-				boolean isFolder = desc.getProperty("artifact.folder") != null ? Boolean.valueOf(desc.getProperty("artifact.folder")) : false;
-				if (key.getClassifier().equals(""))
-					assertTrue(desc + " is not a folder", isFolder);
-				else
-					assertFalse(desc + " is a folder", isFolder);
-				// Artifacts should not be packed
-				assertTrue("Artifact is still packed", !"packed".equals(desc.getProperty("format")));
-			}
-		}
-		return true;
-	}
-
-	/*
-	 * Create a simple AntTaskElement for the Repo2RunnableTask
-	 */
-	protected AntTaskElement createRepo2RunnableTaskElement() {
-		AntTaskElement task = new AntTaskElement("p2.repo2runnable");
-		addTask(task);
-		return task;
-	}
-
-	/*
-	 * Create an AntTaskElement for the Repo2Runnabletask populated with the default source & destination 
-	 */
-	protected AntTaskElement createRepo2RunnableTaskElement(String type) {
-		AntTaskElement task = createRepo2RunnableTaskElement();
-		task.addElement(getRepositoryElement(destination, type));
-
-		AntTaskElement sourceElement = new AntTaskElement("source");
-		sourceElement.addElement(getRepositoryElement(source, type));
-		task.addElement(sourceElement);
-
-		return task;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/RepoTasksTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/RepoTasksTests.java
deleted file mode 100644
index c091450..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/RepoTasksTests.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ant;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractAntProvisioningTest;
-
-public class RepoTasksTests extends AbstractAntProvisioningTest {
-	private static final String MIRROR_TASK = "p2.mirror";
-	private static final String REMOVE_IU_TASK = "p2.remove.iu";
-
-	private URI destinationRepo;
-	private URI sourceRepo;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		// Get a random location to create a repository
-		destinationRepo = getTestFolder(getName()).toURI();
-		sourceRepo = getTestData("error loading data", "testData/mirror/mirrorSourceRepo2").toURI();
-	}
-
-	public void tearDown() throws Exception {
-		// Remove repository manager references
-		getArtifactRepositoryManager().removeRepository(destinationRepo);
-		getMetadataRepositoryManager().removeRepository(destinationRepo);
-		getArtifactRepositoryManager().removeRepository(sourceRepo);
-		getMetadataRepositoryManager().removeRepository(sourceRepo);
-		// Cleanup disk
-		delete(new File(destinationRepo).getParentFile());
-		super.tearDown();
-	}
-
-	public void testRemoveIU() throws Exception {
-		AntTaskElement mirror = new AntTaskElement(MIRROR_TASK);
-		AntTaskElement source = new AntTaskElement("source");
-		source.addElement(getRepositoryElement(sourceRepo, TYPE_BOTH));
-		mirror.addElement(source);
-		mirror.addElement(getRepositoryElement(destinationRepo, TYPE_BOTH));
-		addTask(mirror);
-
-		AntTaskElement removeIU = new AntTaskElement(REMOVE_IU_TASK);
-		removeIU.addElement(getRepositoryElement(destinationRepo, TYPE_BOTH));
-		removeIU.addElement(getIUElement("anotherplugin", null));
-		addTask(removeIU);
-
-		runAntTask();
-
-		IMetadataRepository metadata = loadMetadataRepository(destinationRepo);
-		IInstallableUnit iu = getIU(metadata, "anotherplugin");
-		assertNull(iu);
-
-		IArtifactRepository artifacts = getArtifactRepositoryManager().loadRepository(destinationRepo, null);
-		Collector keys = artifacts.query(new ArtifactKeyQuery(null, "anotherplugin", null), null);
-		assertEquals(keys.size(), 0);
-		assertFalse(new File(getTestFolder(getName()), "plugins/anotherplugin_1.0.0.jar").exists());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
deleted file mode 100644
index aeaca5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(Pack200ProcessorTest.class);
-		suite.addTestSuite(ZipVerifierProcessorTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
deleted file mode 100644
index a0ab653..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ArtifactRepositoryMock.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.lang.reflect.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Mock the getArtifact() needed to locate the predecessor.
- */
-public class ArtifactRepositoryMock implements InvocationHandler {
-
-	private String artifactResource;
-
-	public static IArtifactRepository getMock(String artifactResource) {
-		return (IArtifactRepository) Proxy.newProxyInstance(IArtifactRepository.class.getClassLoader(), new Class[] {IArtifactRepository.class}, new ArtifactRepositoryMock(artifactResource));
-	}
-
-	private ArtifactRepositoryMock(String artifactResource) {
-		this.artifactResource = artifactResource;
-	}
-
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		if (!method.getName().equals("getArtifact"))
-			throw new RuntimeException("Unexpected usage!");
-
-		return getArtifact((IArtifactDescriptor) args[0], (OutputStream) args[1], (IProgressMonitor) args[2]);
-	}
-
-	private IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		InputStream inputStream;
-		try {
-			inputStream = TestActivator.getContext().getBundle().getEntry(artifactResource).openStream();
-			FileUtils.copyStream(inputStream, true, destination, true);
-			return Status.OK_STATUS;
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, TestActivator.PI_PROV_TESTS, ":-(", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
deleted file mode 100644
index 602f0f2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.processors.pack200.Pack200ProcessorStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.jarprocessor.PackStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Bundle;
-
-public class Pack200ProcessorTest extends TestCase {
-
-	public Pack200ProcessorTest(String name) {
-		super(name);
-	}
-
-	public Pack200ProcessorTest() {
-		super("");
-	}
-
-	public void testUnpack() throws IOException {
-		//this test is only applicable if pack200 is available
-		if (!PackStep.canPack())
-			return;
-		// Setup the processor
-		ProcessingStep step = new Pack200ProcessorStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		// Get the test data
-		inputStream = bundle.getEntry("testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar").openStream();
-		ByteArrayOutputStream expected = new ByteArrayOutputStream();
-		FileUtils.copyStream(inputStream, true, expected, true);
-
-		// Compare
-		assertTrue(Arrays.equals(expected.toByteArray(), destination.toByteArray()));
-	}
-
-	public void testUnpackFailsBecauseOfZeroLengthPackedFile() throws IOException {
-		// Setup the processor
-		ProcessingStep step = new Pack200ProcessorStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data (zero length) through the step
-		InputStream inputStream = new ByteArrayInputStream(new byte[0]);
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		// This must fail, i.e. the status is not ok!
-		assertFalse(step.getStatus().isOK());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
deleted file mode 100644
index 0ca2285..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/ZipVerifierProcessorTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.processors;
-
-import java.io.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ZipVerifierStep;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Bundle;
-
-public class ZipVerifierProcessorTest extends TestCase {
-
-	public ZipVerifierProcessorTest(String name) {
-		super(name);
-	}
-
-	public ZipVerifierProcessorTest() {
-		super("");
-	}
-
-	public void testGoodZip() throws IOException {
-		// Setup the processor
-		ProcessingStep step = new ZipVerifierStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/zipValidation/a.zip").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertEquals(step.getStatus().getSeverity(), IStatus.OK);
-	}
-
-	public void testBogusFile() throws IOException {
-		// Setup the processor
-		ProcessingStep step = new ZipVerifierStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/zipValidation/a.txt").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
-	}
-
-	public void testBogusFile2() throws IOException {
-		// Setup the processor
-		ProcessingStep step = new ZipVerifierStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/zipValidation/org.eclipse.mylyn.bugzilla.core_2.3.2.v20080402-2100.jar").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
-	}
-
-	public void testBogusFile3() throws IOException {
-		// Setup the processor
-		ProcessingStep step = new ZipVerifierStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/zipValidation/bogusa.zip").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
-	}
-
-	public void testPackGZFile() throws IOException {
-
-		// Setup the processor
-		ProcessingStep step = new ZipVerifierStep();
-		ByteArrayOutputStream destination = new ByteArrayOutputStream();
-		step.link(destination, new NullProgressMonitor());
-
-		// drive the source data through the step
-		Bundle bundle = TestActivator.getContext().getBundle();
-		InputStream inputStream = bundle.getEntry("testData/zipValidation/org.eclipse.equinox.p2.updatechecker.source_1.0.0.v20080427-2136.jar.pack.gz").openStream();
-		FileUtils.copyStream(inputStream, true, step, true);
-
-		assertEquals(step.getStatus().getSeverity(), IStatus.ERROR);
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
deleted file mode 100644
index 9449b09..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated artifact repository tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ArtifactOutputStreamTest.class);
-		suite.addTestSuite(ArtifactRepositoryManagerTest.class);
-		suite.addTestSuite(ArtifactRepositoryMissingSizeData.class);
-		suite.addTestSuite(ArtifactRepositoryWithReferenceDescriptors.class);
-		suite.addTestSuite(Bug252308.class);
-		suite.addTestSuite(Bug265577.class);
-		suite.addTestSuite(CompositeArtifactRepositoryTest.class);
-		suite.addTestSuite(CorruptedJar.class);
-		suite.addTestSuite(FoldersRepositoryTest.class);
-		suite.addTestSuite(JarURLArtifactRepositoryTest.class);
-		suite.addTestSuite(MD5Tests.class);
-		suite.addTestSuite(MirrorSelectorTest.class);
-		suite.addTestSuite(MirrorRequestTest.class);
-		suite.addTestSuite(SimpleArtifactRepositoryTest.class);
-		suite.addTestSuite(TransferTest.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
deleted file mode 100644
index 8fed5ab..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactOutputStreamTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- * IBM - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.ArtifactOutputStream;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ArtifactOutputStreamTest extends TestCase {
-
-	private SimpleArtifactRepository sar = null;
-	private ProcessingStep destination = null;
-	private IArtifactKey ak = null;
-	private IArtifactDescriptor ad = null;
-	private ArtifactOutputStream aos = null;
-	private File temp = null;
-	private File tempWritableLocation = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		tempWritableLocation = File.createTempFile("artifact", ".repo");
-		tempWritableLocation.delete();
-		tempWritableLocation.mkdirs();
-		sar = new SimpleArtifactRepository("name", tempWritableLocation.toURI(), null);
-		destination = new Destination();
-		ak = new ArtifactKey("classifier", "id", Version.create("1.0"));
-		ad = new ArtifactDescriptor(ak);
-		temp = File.createTempFile("ArtifactOutputStreamTest", ".tmp");
-		temp.deleteOnExit();
-		aos = sar.new ArtifactOutputStream(destination, ad, temp);
-		assertNotNull(aos);
-		Destination.ioe = null;
-		Destination.baos = null;
-	}
-
-	protected void tearDown() throws Exception {
-		AbstractProvisioningTest.delete(temp);
-		AbstractProvisioningTest.delete(tempWritableLocation);
-		super.tearDown();
-	}
-
-	public void testStatefullness() {
-		assertTrue(aos instanceof IStateful);
-		assertTrue(aos instanceof ArtifactOutputStream);
-	}
-
-	public void testSingleCloseStreamOkDestinationOk() throws IOException {
-		assertTrue(temp.exists());
-		aos.write(22);
-		aos.close();
-		assertTrue(temp.exists());
-		assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-	}
-
-	public void testDoubleCloseStreamOkDestinationOk() throws IOException {
-		assertTrue(temp.exists());
-		aos.write(22);
-		aos.close();
-		assertTrue(temp.exists());
-		assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-		// tests bug 212476
-		aos.close();
-		assertTrue(temp.exists());
-	}
-
-	public void testSingleCloseStreamNotOkDestinationOk() throws IOException {
-		assertTrue(temp.exists());
-		aos.setStatus(Status.CANCEL_STATUS);
-		aos.close();
-		assertFalse(temp.exists());
-	}
-
-	public void testSingleCloseStreamOkDestinationNotOk() throws IOException {
-		assertTrue(temp.exists());
-		destination.setStatus(Status.CANCEL_STATUS);
-		aos.close();
-		assertFalse(temp.exists());
-	}
-
-	public void testSingleCloseStreamOkDestinationCloseFails() {
-		assertTrue(temp.exists());
-		Destination.ioe = new IOException("Expected");
-		try {
-			aos.close();
-			assertTrue(false);
-		} catch (IOException ioe) {
-			assertTrue(true);
-		} finally {
-			assertFalse(temp.exists());
-		}
-	}
-
-	public void testSingleCloseStreamNotOkDestinationCloseFails() {
-		assertTrue(temp.exists());
-		Destination.ioe = new IOException("Expected");
-		aos.setStatus(Status.CANCEL_STATUS);
-		try {
-			aos.close();
-		} catch (IOException ioe) {
-			assertTrue(false);
-		} finally {
-			assertFalse(temp.exists());
-		}
-	}
-
-	public void testWriteToDestinationStreamOkDestinationOk() throws IOException {
-		Destination.baos = new ByteArrayOutputStream();
-		assertTrue(temp.exists());
-		aos.write(22);
-		aos.close();
-		assertTrue(temp.exists());
-		assertEquals("1", ad.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-		aos.close();
-		assertTrue(temp.exists());
-		assertEquals(1, Destination.baos.toByteArray().length);
-		assertEquals(22, Destination.baos.toByteArray()[0]);
-	}
-
-	static class Destination extends ProcessingStep {
-
-		static IOException ioe = null;
-		static ByteArrayOutputStream baos = null;
-
-		public void close() throws IOException {
-			super.close();
-			if (ioe != null) {
-				throw ioe;
-			}
-		}
-
-		public void write(int b) throws IOException {
-			if (baos != null)
-				baos.write(b);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryManagerTest.java
deleted file mode 100644
index 6d522ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryManagerTest.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.preferences.IPreferencesService;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.tests.*;
-import org.eclipse.equinox.security.storage.EncodingUtils;
-import org.osgi.framework.BundleException;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Tests API of {@link IArtifactRepositoryManager}.
- */
-public class ArtifactRepositoryManagerTest extends AbstractProvisioningTest {
-	private IArtifactRepositoryManager manager;
-
-	public static Test suite() {
-		return new TestSuite(ArtifactRepositoryManagerTest.class);
-		//		TestSuite suite = new TestSuite();
-		//		suite.addTest(new ArtifactRepositoryManagerTest("testEnablement"));
-		//		return suite;
-	}
-
-	public ArtifactRepositoryManagerTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Returns whether {@link IArtifactRepositoryManager} contains a reference
-	 * to a repository at the given location.
-	 */
-	private boolean managerContains(URI location) {
-		URI[] locations = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < locations.length; i++) {
-			if (locations[i].equals(location))
-				return true;
-		}
-		return false;
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		manager = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.context, IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	/**
-	 * Tests loading a repository that does not exist throws an appropriate exception.
-	 */
-	public void testLoadMissingRepository() throws IOException {
-		File tempFile = File.createTempFile("testLoadMissingArtifactRepository", null);
-		URI location = tempFile.toURI();
-		try {
-			manager.loadRepository(location, null);
-			fail("1.0");//should fail
-		} catch (ProvisionException e) {
-			assertEquals("1.1", IStatus.ERROR, e.getStatus().getSeverity());
-			assertEquals("1.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		} finally {
-			tempFile.delete();
-		}
-	}
-
-	/**
-	 * Tests loading an artifact repository that is missing the top level repository element.
-	 * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=246452.
-	 */
-	public void testLoadMissingRepositoryElement() {
-		File site = getTestData("Update site", "/testData/artifactRepo/broken/");
-		try {
-			URI location = site.toURI();
-			manager.loadRepository(location, null);
-			//should have failed
-			fail("1.0");
-		} catch (ProvisionException e) {
-			//expected
-		}
-	}
-
-	/**
-	 * This is regression test for bug 236437. In this bug, the repository preference
-	 * file is being overwritten by an update operation, thus losing all repository state.
-	 */
-	public void testLostArtifactRepositories() {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		assertTrue("0.1", manager.contains(location));
-
-		//bash the repository preference file (don't try this at home, kids)
-		final String REPO_BUNDLE = "org.eclipse.equinox.p2.artifact.repository";
-		IPreferencesService prefService = (IPreferencesService) ServiceHelper.getService(TestActivator.getContext(), IPreferencesService.class.getName());
-		IAgentLocation agentLocation = (IAgentLocation) getAgent().getService(IAgentLocation.SERVICE_NAME);
-		String locationString = EncodingUtils.encodeSlashes(agentLocation.getRootLocation().toString());
-		Preferences prefs = prefService.getRootNode().node("/profile/" + locationString + "_SELF_/" + REPO_BUNDLE + "/repositories"); //$NON-NLS-1$ //$NON-NLS-2$
-		try {
-			String[] children = prefs.childrenNames();
-			for (int i = 0; i < children.length; i++)
-				prefs.node(children[i]).removeNode();
-			prefs.flush();
-		} catch (BackingStoreException e) {
-			fail("0.99", e);
-		}
-
-		//stop and restart the artifact repository bundle (kids, if I ever catch you doing this I'm taking PackageAdmin away)
-		try {
-			restartBundle(TestActivator.getBundle(REPO_BUNDLE));
-		} catch (BundleException e) {
-			fail("1.99", e);
-		}
-
-		//everybody's happy again
-		manager = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.context, IArtifactRepositoryManager.SERVICE_NAME);
-		assertTrue("1.0", manager.contains(location));
-	}
-
-	public void testNickname() throws ProvisionException {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		String nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertNull(nick);
-		nick = "Nick";
-		manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, nick);
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertEquals("Nick", nick);
-		//ensure loading the repository doesn't affect the nickname
-		manager.loadRepository(location, getMonitor());
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertEquals("Nick", nick);
-
-		//remove and re-add the repository should lose the nickname
-		manager.removeRepository(location);
-		manager.loadRepository(location, getMonitor());
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertNull(nick);
-	}
-
-	public void testPathWithSpaces() {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple with spaces/");
-		URI location = site.toURI();
-		assertEquals("1.0", 2, getArtifactKeyCount(location));
-	}
-
-	/**
-	 * Tests for {@link IMetadataRepositoryManager#refreshRepository(URI, org.eclipse.core.runtime.IProgressMonitor)}.
-	 */
-	public void testRefresh() throws ProvisionException {
-		File site = getTestData("Repositoy", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		manager.refreshRepository(location, getMonitor());
-		assertTrue("1.0", manager.contains(location));
-		assertTrue("1.1", manager.isEnabled(location));
-
-		//tests that refreshing doesn't lose repository properties
-		manager.setEnabled(location, false);
-		manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, "MyNick");
-		manager.refreshRepository(location, getMonitor());
-		assertTrue("2.0", manager.contains(location));
-		assertFalse("2.1", manager.isEnabled(location));
-		assertEquals("2.2", "MyNick", manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME));
-	}
-
-	/**
-	 * Tests for {@link IRepositoryManager#setRepositoryProperty}.
-	 */
-	public void testSetRepositoryProperty() {
-		File site = getTestData("Repositoy", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.removeRepository(location);
-		manager.addRepository(location);
-
-		//set some properties different from what the repository contains
-		manager.setRepositoryProperty(location, IRepository.PROP_NAME, "TestName");
-		manager.setRepositoryProperty(location, IRepository.PROP_DESCRIPTION, "TestDescription");
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, "true");
-		assertEquals("1.0", "TestName", manager.getRepositoryProperty(location, IRepository.PROP_NAME));
-		assertEquals("1.1", "TestDescription", manager.getRepositoryProperty(location, IRepository.PROP_DESCRIPTION));
-		assertEquals("1.2", "true", manager.getRepositoryProperty(location, IRepository.PROP_SYSTEM));
-
-		//loading the repository should overwrite test values
-		try {
-			manager.loadRepository(location, getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-
-		assertEquals("2.0", "Good Test Repository", manager.getRepositoryProperty(location, IRepository.PROP_NAME));
-		assertEquals("2.1", "Good test repository description", manager.getRepositoryProperty(location, IRepository.PROP_DESCRIPTION));
-		assertEquals("2.2", "false", manager.getRepositoryProperty(location, IRepository.PROP_SYSTEM));
-	}
-
-	public void testUpdateSitePathWithSpaces() {
-		File site = getTestData("Repository", "/testData/updatesite/site with spaces/");
-		URI location = site.toURI();
-		assertEquals("1.0", 3, getArtifactKeyCount(location));
-	}
-
-	/**
-	 * Tests that trailing slashes do not affect repository identity.
-	 */
-	public void testTrailingSlashes() {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple/");
-		URI locationSlash, locationNoSlash;
-		try {
-			locationSlash = site.toURI();
-			String locationString = locationSlash.toString();
-			locationString = locationString.substring(0, locationString.length() - 1);
-			locationNoSlash = new URI(locationString);
-		} catch (URISyntaxException e) {
-			fail("0.99", e);
-			return;
-		}
-
-		manager.addRepository(locationNoSlash);
-		try {
-			IArtifactRepository repoSlash = manager.loadRepository(locationSlash, null);
-			IArtifactRepository repoNoSlash = manager.loadRepository(locationNoSlash, null);
-			assertTrue("1.0", repoNoSlash == repoSlash);
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-
-	}
-
-	public void testBasicAddRemove() {
-		File tempFile = new File(System.getProperty("java.io.tmpdir"));
-		URI location = tempFile.toURI();
-		assertTrue(!managerContains(location));
-		manager.addRepository(location);
-		assertTrue(managerContains(location));
-		manager.removeRepository(location);
-		assertTrue(!managerContains(location));
-	}
-
-	/**
-	 * Tests for {@link IRepositoryManager#contains(URI).
-	 */
-	public void testContains() {
-		File site = getTestData("Repositoy", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.removeRepository(location);
-		assertEquals("1.0", false, manager.contains(location));
-		manager.addRepository(location);
-		assertEquals("1.1", true, manager.contains(location));
-		manager.removeRepository(location);
-		assertEquals("1.2", false, manager.contains(location));
-	}
-
-	/**
-	 * Tests parsing a repository with a duplicate element. See bug 255401.
-	 */
-	public void testDuplicateElement() {
-		File duplicateElementXML = getTestData("testDuplicateElement", "testData/artifactRepo/duplicateElement");
-		assertEquals("Ensure correct number of artifact keys exist", 2, getArtifactKeyCount(duplicateElementXML.toURI()));
-	}
-
-	public void testEnablement() {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		assertEquals("1.0", true, manager.isEnabled(location));
-		TestRepositoryListener listener = new TestRepositoryListener(location);
-		getEventBus().addListener(listener);
-
-		manager.setEnabled(location, false);
-		listener.waitForEvent();
-		assertEquals("2.0", false, listener.lastEnablement);
-		assertEquals("2.1", false, manager.isEnabled(location));
-		listener.reset();
-
-		manager.setEnabled(location, true);
-		listener.waitForEvent();
-		assertEquals("3.0", true, manager.isEnabled(location));
-		assertEquals("3.1", RepositoryEvent.ENABLEMENT, listener.lastKind);
-		assertEquals("3.2", true, listener.lastEnablement);
-		listener.reset();
-	}
-
-	/**
-	 * Tests that adding a repository that is already known but disabled
-	 * causes the repository to be enabled. See bug 241307 for discussion.
-	 */
-	public void testEnablementOnAdd() {
-		File site = getTestData("Repository", "/testData/artifactRepo/simple/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		manager.setEnabled(location, false);
-		TestRepositoryListener listener = new TestRepositoryListener(location);
-		getEventBus().addListener(listener);
-
-		//adding the location again should cause it to be enabled
-		manager.addRepository(location);
-		listener.waitForEvent();
-		assertEquals("1.0", true, listener.lastEnablement);
-		assertEquals("1.1", true, manager.isEnabled(location));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryMissingSizeData.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryMissingSizeData.java
deleted file mode 100644
index ef9996e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryMissingSizeData.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.Phase;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.p2.engine.phases.Sizing;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.PlannerHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class ArtifactRepositoryMissingSizeData extends AbstractProvisioningTest {
-	private static final String testDataLocation = "testData/artifactRepo/missingArtifact";
-	IArtifactRepository source = null;
-	IMetadataRepository metaRepo;
-	IInstallableUnit missingArtifactIU, missingSizeIU;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IMetadataRepositoryManager mmgr = getMetadataRepositoryManager();
-		metaRepo = mmgr.loadRepository((getTestData("MissingArtifact repo", testDataLocation).toURI()), null);
-
-		missingArtifactIU = (IInstallableUnit) metaRepo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.5, 1.6)")), null).iterator().next();
-		missingSizeIU = (IInstallableUnit) metaRepo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.4, 1.5)")), null).iterator().next();
-
-		IArtifactRepositoryManager mgr = getArtifactRepositoryManager();
-		source = mgr.loadRepository((getTestData("MissingArtifact repo", testDataLocation).toURI()), null);
-
-		engine = (IEngine) TestActivator.getContext().getService(TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME));
-	}
-
-	public void testMissingArtifact() {
-		IProfile profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {missingArtifactIU});
-		req.setInstallableUnitInclusionRules(missingArtifactIU, PlannerHelper.createStrictInclusionRule(missingArtifactIU));
-
-		IProvisioningPlan plan = createPlanner().getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
-		Sizing sizing = new Sizing(100, "");
-		PhaseSet set = new SPhaseSet(sizing);
-
-		IStatus status = engine.perform(plan, set, new NullProgressMonitor());
-		if (!status.matches(IStatus.ERROR)) {
-			fail("Incorrect status for missing artifact during Sizing.");
-		}
-	}
-
-	public void testMissingSize() {
-		IProfile profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {missingSizeIU});
-		req.setInstallableUnitInclusionRules(missingSizeIU, PlannerHelper.createStrictInclusionRule(missingSizeIU));
-
-		IProvisioningPlan plan = createPlanner().getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
-		Sizing sizing = new Sizing(100, "");
-		PhaseSet set = new SPhaseSet(sizing);
-
-		IStatus status = engine.perform(plan, set, new NullProgressMonitor());
-		if (!status.matches(IStatus.WARNING) && status.getCode() != ProvisionException.ARTIFACT_INCOMPLETE_SIZING) {
-			fail("Incorrect status for missing file size during Sizing");
-		}
-	}
-
-	private class SPhaseSet extends PhaseSet {
-		public SPhaseSet(Phase set) {
-			super(new Phase[] {set});
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryWithReferenceDescriptors.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryWithReferenceDescriptors.java
deleted file mode 100644
index 7eb41e5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/ArtifactRepositoryWithReferenceDescriptors.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ArtifactRepositoryWithReferenceDescriptors extends AbstractProvisioningTest {
-	IArtifactRepository repo = null;
-	SimpleArtifactDescriptor descriptor1 = null;
-	SimpleArtifactDescriptor descriptor2 = null;
-
-	//    <artifact classifier='org.eclipse.update.feature' id='org.eclipse.datatools.sqldevtools.feature' version='1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ'>
-	//    <repositoryProperties size='4'>
-	//      <property name='artifact.reference' value='file:/Users/Pascal/Downloads/eclipse 2/features/org.eclipse.datatools.sqldevtools.feature_1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ/'/>
-	//      <property name='artifact.folder' value='true'/>
-	//      <property name='file.name' value='/Users/Pascal/Downloads/eclipse 2/features/org.eclipse.datatools.sqldevtools.feature_1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ'/>
-	//      <property name='file.lastModified' value='1214242394000'/>
-	//    </repositoryProperties>
-	//  </artifact>
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		repo = createArtifactRepository(getTempFolder().toURI(), null);
-		File fileLocation = getTestData("Artifacts for repositor with references", "testData/referenceArtifactRepo/test1 Reference.jar");
-		descriptor1 = new SimpleArtifactDescriptor(new ArtifactKey("osgi.bundle", "test1Reference", Version.create("1.0.0")));
-		descriptor1.setProcessingSteps(new ProcessingStepDescriptor[0]);
-		descriptor1.setRepositoryProperty("artifact.reference", fileLocation.toURL().toExternalForm());
-		descriptor1.setRepositoryProperty("file.name", fileLocation.getAbsolutePath());
-		descriptor1.setRepositoryProperty("file.lastModified", Long.toString(fileLocation.lastModified()));
-
-		descriptor2 = new SimpleArtifactDescriptor(new ArtifactKey("osgi.bundle", "test1Reference", Version.create("1.0.0")));
-		descriptor2.setProcessingSteps(new ProcessingStepDescriptor[0]);
-		descriptor2.setRepositoryProperty("artifact.reference", fileLocation.toURI().toString());
-		descriptor2.setRepositoryProperty("file.name", fileLocation.getAbsolutePath());
-		descriptor2.setRepositoryProperty("file.lastModified", Long.toString(fileLocation.lastModified()));
-
-		repo.addDescriptor(descriptor1);
-		repo.addDescriptor(descriptor2);
-	}
-
-	public void testOldStyleReference() {
-		IStatus s = repo.getArtifact(descriptor1, new ByteArrayOutputStream(500), new NullProgressMonitor());
-		if (!s.isOK())
-			fail("1.0 Can not find artifact for the given descriptor. Status" + s.toString());
-	}
-
-	public void testNewStyleReference() {
-		IStatus s = repo.getArtifact(descriptor2, new ByteArrayOutputStream(500), new NullProgressMonitor());
-		if (!s.isOK())
-			fail("1.1 Can not find artifact for the given descriptor. Status" + s.toString());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug252308.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug252308.java
deleted file mode 100644
index cd1c486..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug252308.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.lang.reflect.Method;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Test code that is affected by bug 252308 within {@code MirrorRequest}.
- */
-public class Bug252308 extends AbstractProvisioningTest {
-
-	private Method transferSingle;
-	private Method extractRootCause;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		extractRootCause = MirrorRequest.class.getDeclaredMethod("extractRootCause", new Class[] {IStatus.class});
-		extractRootCause.setAccessible(true);
-		transferSingle = MirrorRequest.class.getDeclaredMethod("transferSingle", new Class[] {IArtifactDescriptor.class, IArtifactDescriptor.class, IProgressMonitor.class});
-		transferSingle.setAccessible(true);
-	}
-
-	private IStatus extractRootCause(IStatus status) throws Exception {
-		return (IStatus) extractRootCause.invoke(null, new Object[] {status});
-	}
-
-	private IStatus transferSingle(MirrorRequest request, IArtifactDescriptor destinationDescriptor, IArtifactDescriptor sourceDescriptor, IProgressMonitor monitor) throws Exception {
-		return (IStatus) transferSingle.invoke(request, new Object[] {destinationDescriptor, sourceDescriptor, monitor});
-	}
-
-	public void testExtractRootCauseNullStatus() throws Exception {
-		IStatus status = extractRootCause(null);
-		assertNull(status);
-	}
-
-	public void testExtractRootCauseWarningStatus() throws Exception {
-		IStatus status = extractRootCause(new Status(IStatus.WARNING, "id1", "Test", new IOException("IO")));
-		assertNull(status);
-	}
-
-	public void testExtractRootCauseErrorStatusWithException() throws Exception {
-		IStatus status = extractRootCause(new Status(IStatus.ERROR, "id1", "Test", new IOException("IO")));
-		assertNotNull(status);
-		assertEquals("id1", status.getPlugin());
-		assertEquals("Test", status.getMessage());
-		assertEquals("IO", status.getException().getMessage());
-	}
-
-	public void testExtractRootCauseFromFlatMultiStatus() throws Exception {
-		MultiStatus multiStatus = new MultiStatus("id1", 0, "Message", new FileNotFoundException("FNFE"));
-		IStatus status = extractRootCause(multiStatus);
-		assertNull(status);
-	}
-
-	public void testExtractRootCauseFromNestedMultiStatus() throws Exception {
-		MultiStatus multiStatus = new MultiStatus("id0", 0, "Message", new FileNotFoundException("FNFE"));
-		Status status1 = new Status(IStatus.WARNING, "id1", "Test", new IOException("IO"));
-		Status status2 = new Status(IStatus.ERROR, "id2", "Test", new IOException("IO"));
-		Status status3 = new Status(IStatus.ERROR, "id3", "Test", null);
-		multiStatus.add(status1);
-		multiStatus.add(status2);
-		multiStatus.add(status3);
-
-		IStatus status = extractRootCause(multiStatus);
-		assertNotNull(status);
-		assertEquals("id2", status.getPlugin());
-	}
-
-	public void testExtractRootCauseFromNestedNestedMultiStatus() throws Exception {
-		MultiStatus multiStatus = new MultiStatus("id0", 0, "Message", new FileNotFoundException("FNFE"));
-		Status status1 = new Status(IStatus.WARNING, "id1", "Test", new IOException("IO"));
-		MultiStatus status2 = new MultiStatus("id2", 0, "Test", null);
-		Status status3 = new Status(IStatus.ERROR, "id3", "Test", new NullPointerException("NPE"));
-		multiStatus.add(status1);
-		multiStatus.add(status2);
-		multiStatus.add(status3);
-
-		Status status21 = new Status(IStatus.WARNING, "id21", "Test", new IOException("IO"));
-		Status status22 = new Status(IStatus.ERROR, "id22", "Test", new IOException("IO"));
-		Status status23 = new Status(IStatus.ERROR, "id23", "Test", new ProvisionException("PE"));
-		status2.add(status21);
-		status2.add(status22);
-		status2.add(status23);
-
-		IStatus status = extractRootCause(multiStatus);
-		assertNotNull(status);
-		assertEquals("id22", status.getPlugin());
-	}
-
-	public void testTransferError() throws Exception {
-		File simpleRepo = getTestData("simple repository", "testData/artifactRepo/transferTestRepo");
-		IArtifactRepository source = null;
-		IArtifactRepository target = null;
-		try {
-			source = getArtifactRepositoryManager().loadRepository(simpleRepo.toURI(), new NullProgressMonitor());
-			target = createArtifactRepository(new File(getTempFolder(), getName()).toURI(), null);
-		} catch (ProvisionException e) {
-			fail("failing setting up the tests", e);
-		}
-
-		IArtifactDescriptor sourceDescriptor = getArtifactKeyFor(source, "osgi.bundle", "missingFromFileSystem", Version.createOSGi(1, 0, 0))[0];
-		SimpleArtifactDescriptor targetDescriptor = new SimpleArtifactDescriptor(sourceDescriptor);
-		targetDescriptor.setRepositoryProperty("artifact.folder", "true");
-		MirrorRequest request = new MirrorRequest(new ArtifactKey("osgi.bundle", "missingFromFileSystem", Version.createOSGi(1, 0, 0)), target, null, null);
-		request.setSourceRepository(source);
-		IStatus s = transferSingle(request, targetDescriptor, sourceDescriptor, new NullProgressMonitor());
-		assertTrue(s.toString(), s.getException().getClass() == FileNotFoundException.class);
-	}
-
-	private IArtifactDescriptor[] getArtifactKeyFor(IArtifactRepository repo, String classifier, String id, Version version) {
-		return repo.getArtifactDescriptors(new ArtifactKey(classifier, id, version));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug265577.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug265577.java
deleted file mode 100644
index 6efd4ed..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/Bug265577.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class Bug265577 extends AbstractProvisioningTest {
-	IProfile profile;
-	IMetadataRepository metadataRepo;
-	IArtifactRepository artifactRepo;
-	ProvisioningContext context;
-	IEngine engine;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		profile = createProfile(Bug265577.class.getName());
-
-		engine = (IEngine) ServiceHelper.getService(TestActivator.context, IEngine.SERVICE_NAME);
-		// Load repositories
-		File repoLocation = getTestData("Repository location", "/testData/bug265577/zipRepo.zip");
-		if (repoLocation == null)
-			fail("unable to load test data");
-		URI location = URIUtil.toJarURI(repoLocation.toURI(), null);
-		initializeArtifactRepo(location);
-		initializeMetadataRepo(location);
-	}
-
-	private void initializeArtifactRepo(URI location) throws ProvisionException {
-		IArtifactRepositoryManager mgr = getArtifactRepositoryManager();
-		artifactRepo = mgr.loadRepository(location, new NullProgressMonitor());
-	}
-
-	private void initializeMetadataRepo(URI location) throws ProvisionException {
-		IMetadataRepositoryManager mgr = getMetadataRepositoryManager();
-		metadataRepo = mgr.loadRepository(location, new NullProgressMonitor());
-		context = new ProvisioningContext(mgr.getKnownRepositories(0));
-	}
-
-	// Tests the response to a feature folder inside a jar
-	public void testZippedRepoWithFolderFeature() {
-		Collector collector = metadataRepo.query(new InstallableUnitQuery("Field_Assist_Example.feature.jar"), null);
-		IInstallableUnit[] ius = (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
-		IArtifactKey key = (ius[0].getArtifacts())[0];
-
-		IArtifactDescriptor[] descriptors = artifactRepo.getArtifactDescriptors(key);
-		ArtifactDescriptor desc = (ArtifactDescriptor) descriptors[0];
-		// Set folder property
-		desc.setProperty("artifact.folder", String.valueOf(true));
-
-		IStatus status = null;
-		try {
-			OutputStream destination = new BufferedOutputStream(new FileOutputStream(new File(getTempFolder(), "FieldAssist")));
-			status = artifactRepo.getArtifact(desc, destination, new NullProgressMonitor());
-		} catch (FileNotFoundException e) {
-			fail(e.getMessage());
-		}
-
-		if (status.isOK())
-			fail("OK Status on download");
-		assertTrue(status.getMessage().equals(getJarFolderMessage(key)));
-	}
-
-	// Test to retrieve a file from a zipped metadata & artifact repository
-	public void testZippedRepo() {
-		Collector collector = metadataRepo.query(new InstallableUnitQuery("valid.feature.jar"), null);
-		IInstallableUnit[] ius = (IInstallableUnit[]) collector.toArray(IInstallableUnit.class);
-		IArtifactKey key = (ius[0].getArtifacts())[0];
-
-		IArtifactDescriptor[] descriptors = artifactRepo.getArtifactDescriptors(key);
-		IArtifactDescriptor desc = descriptors[0];
-
-		IStatus status = null;
-		try {
-			OutputStream destination = new BufferedOutputStream(new FileOutputStream(new File(getTempFolder(), "valid")));
-			status = artifactRepo.getArtifact(desc, destination, new NullProgressMonitor());
-		} catch (FileNotFoundException e) {
-			fail(e.getMessage());
-		}
-
-		assertTrue(status.getMessage(), status.isOK());
-	}
-
-	// Return expected error message for the attempt to retrieve an artifact if it is a folder from inside a jar 
-	private String getJarFolderMessage(IArtifactKey key) {
-		return "Artifact " + key.toString() + " is a folder but the repository is an archive or remote location.";
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CompositeArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CompositeArtifactRepositoryTest.java
deleted file mode 100644
index 2a512f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CompositeArtifactRepositoryTest.java
+++ /dev/null
@@ -1,1329 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.MD5ArtifactComparator;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestArtifactRepository;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class CompositeArtifactRepositoryTest extends AbstractProvisioningTest {
-	private static final String TEST_KEY = "TestKey";
-	private static final String TEST_VALUE = "TestValue";
-	//artifact repository to remove on tear down
-	private File repositoryFile = null;
-	private URI repositoryURI = null;
-
-	private int childCount = 0;
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		//repository location is not used by all tests
-		if (repositoryURI != null) {
-			getArtifactRepositoryManager().removeRepository(repositoryURI);
-			repositoryURI = null;
-		}
-		if (repositoryFile != null) {
-			delete(repositoryFile);
-			repositoryFile = null;
-		}
-	}
-
-	public void testCompressedRepositoryCreation() {
-		//create a compressed repo
-		createRepo(true);
-
-		File files[] = repositoryFile.listFiles();
-		boolean jarFilePresent = false;
-		boolean artifactFilePresent = false;
-		for (int i = 0; i < files.length; i++) {
-			if ("compositeArtifacts.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("compositeArtifacts.xml".equalsIgnoreCase(files[i].getName())) {
-				artifactFilePresent = false;
-			}
-		}
-		if (!jarFilePresent)
-			fail("Repository should create JAR for compositeArtifacts.xml");
-		if (artifactFilePresent)
-			fail("Repository should not create compositeArtifacts.xml");
-	}
-
-	public void testVerifyUncompressedRepositoryCreation() {
-		//Setup: create an uncompressed repository
-		createRepo(false);
-
-		File files[] = repositoryFile.listFiles();
-		boolean jarFilePresent = false;
-		boolean artifactFilePresent = false;
-		for (int i = 0; i < files.length; i++) {
-			if ("compositeArtifacts.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("compositeArtifacts.xml".equalsIgnoreCase(files[i].getName())) {
-				artifactFilePresent = true;
-			}
-		}
-		if (jarFilePresent)
-			fail("Repository should not create JAR for compositeArtifacts.xml");
-		if (!artifactFilePresent)
-			fail("Repository should create compositeArtifacts.xml");
-	}
-
-	public void testAddDescriptor() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		//Setup create a descriptor
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-
-		try {
-			compRepo.addDescriptor(descriptor);
-			fail("Should not be able to add Artifact Descriptor");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testAddDescriptors() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		//Setup create a descriptor
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-
-		//Setup: create an array of descriptors
-		IArtifactDescriptor[] descriptors = new IArtifactDescriptor[1];
-		descriptors[0] = descriptor;
-
-		try {
-			compRepo.addDescriptors(descriptors);
-			fail("Should not be able to add Artifact Descriptors using an array");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testRemoveDescriptorUsingDescriptor() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		//Setup create a descriptor
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-
-		try {
-			compRepo.removeDescriptor(descriptor);
-			fail("Should not be able to remove Artifact Descriptor using a Artifact Descriptor");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testRemoveDescriptorUsingKey() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		//Setup create a key
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-
-		try {
-			compRepo.removeDescriptor(key);
-			fail("Should not be able to remove Artifact Descriptor using an Artifact Key");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testRemoveAll() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		try {
-			compRepo.removeAll();
-			fail("Should not be able to Remove All");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testGetProperties() {
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		repositoryFile = new File(getTempFolder(), "CompositeArtifactRepositoryTest");
-		IArtifactRepository repo = null;
-		try {
-			repo = manager.createRepository(repositoryFile.toURI(), "TestRepo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Cannot create repository: ", e);
-		}
-		Map properties = repo.getProperties();
-		//attempting to modify the properties should fail
-		try {
-			properties.put(TEST_KEY, TEST_VALUE);
-			fail("Should not allow setting property");
-		} catch (RuntimeException e) {
-			//expected
-		}
-	}
-
-	public void testSetProperty() {
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		repositoryFile = new File(getTempFolder(), "CompositeArtifactRepositoryTest");
-		IArtifactRepository repo = null;
-		try {
-			repo = manager.createRepository(repositoryFile.toURI(), "TestRepo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Cannot create repository: ", e);
-		}
-		Map properties = repo.getProperties();
-		assertTrue("1.0", !properties.containsKey(TEST_KEY));
-		repo.setProperty(TEST_KEY, TEST_VALUE);
-
-		//the previously obtained properties should not be affected by subsequent changes
-		assertTrue("1.1", !properties.containsKey(TEST_KEY));
-		properties = repo.getProperties();
-		assertTrue("1.2", properties.containsKey(TEST_KEY));
-
-		//going back to repo manager, should still get the new property
-		try {
-			repo = manager.loadRepository(repositoryFile.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Cannot load repository: ", e);
-		}
-		properties = repo.getProperties();
-		assertTrue("1.3", properties.containsKey(TEST_KEY));
-
-		//setting a null value should remove the key
-		repo.setProperty(TEST_KEY, null);
-		properties = repo.getProperties();
-		assertTrue("1.4", !properties.containsKey(TEST_KEY));
-	}
-
-	public void testAddChild() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IArtifactRepository repo = null;
-		try {
-			repo = artifactRepositoryManager.loadRepository(child.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repository for verification", e);
-		}
-
-		assertContentEquals("Verifying contents", compRepo, repo);
-	}
-
-	public void testRemoveChild() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		//Setup, populate the children
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		compRepo.removeChild(child.toURI());
-		assertEquals("Children size after remove", 0, compRepo.getChildren().size());
-	}
-
-	public void testAddRepeatChild() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		//Add the same repo again
-		compRepo.addChild(child.toURI());
-		//size should not change
-		assertEquals("Children size after repeat entry", 1, compRepo.getChildren().size());
-	}
-
-	public void testAddMultipleChildren() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		assertEquals("Children size with 2 children", 2, compRepo.getChildren().size());
-
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		try {
-			repo1 = artifactRepositoryManager.loadRepository(child1.toURI(), null);
-			repo2 = artifactRepositoryManager.loadRepository(child2.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repositories for verification", e);
-		}
-
-		assertContains("Assert child1's content is in composite repo", repo1, compRepo);
-		assertContains("Assert child2's content is in composite repo", repo2, compRepo);
-		//checks that the destination has the correct number of keys (no extras)
-		//FIXME will this work?
-		assertEquals("Assert Correct Number of Keys", getArtifactKeyCount(repo1) + getArtifactKeyCount(repo2), getArtifactKeyCount(compRepo));
-	}
-
-	public void testRemoveNonexistantChild() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		//Setup, populate the children
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File invalidChild = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.removeChild(invalidChild.toURI());
-		//Should not affect the size of children
-		assertEquals("Children size after remove", 1, compRepo.getChildren().size());
-	}
-
-	public void testRemoveAllChildren() {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		assertEquals("Children size with 2 children", 2, compRepo.getChildren().size());
-
-		compRepo.removeAllChildren();
-		assertEquals("Children size after removeAllChildren", 0, compRepo.getChildren().size());
-	}
-
-	public void testContainsKey() {
-		//Setup: create the repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-		//add the child
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IArtifactRepository repo = null;
-		try {
-			repo = artifactRepositoryManager.loadRepository(child.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repository for verification", e);
-		}
-
-		//get the keys
-		Collector keys = repo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertTrue("Error retreaiving artifact keys", keys.size() > 0);
-
-		//test for existing key
-		assertTrue("Asserting key is in composite repo", compRepo.contains((IArtifactKey) keys.iterator().next()));
-
-		//Create a new key, not found in the composite repo
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		//test for a non existing key
-		assertFalse("Asserting key is not in composite repo", compRepo.contains(key));
-	}
-
-	public void testContainsDescriptor() {
-		//Setup: create the repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-		//add the child
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		IArtifactRepository repo = null;
-		try {
-			repo = artifactRepositoryManager.loadRepository(child.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repository for verification", e);
-		}
-
-		//get the descriptors
-		Collector keys = repo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertTrue("Error retreaiving artifact keys", keys.size() > 0);
-		IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors((IArtifactKey) keys.iterator().next());
-		assertTrue("Error retreaiving artifact descriptors", descriptors.length > 0);
-
-		//test for existing descriptor
-		assertTrue("Asserting key is in composite repo", compRepo.contains(descriptors[0]));
-
-		//Create a new descriptor, not found in the composite repo
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-		//test for a non existing descriptor
-		assertFalse("Asserting key is not in composite repo", compRepo.contains(descriptor));
-	}
-
-	public void testGetArtifactFromDescriptor() {
-		//Setup: create the repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-		//add the child
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-
-		File destRepoLocation = new File(getTempFolder(), "CompositeArtifactRepositoryTest");
-		delete(destRepoLocation);
-		IArtifactRepository destinationRepo = null;
-		try {
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), "Test Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e1) {
-			fail("Error creating destination", e1);
-		}
-
-		Collector keys = compRepo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertTrue("Error retreaiving artifact keys", keys.size() > 0);
-		IArtifactKey key = (IArtifactKey) keys.iterator().next();
-		IArtifactDescriptor[] descriptors = compRepo.getArtifactDescriptors(key);
-		assertTrue("Error retreaiving artifact descriptors", descriptors.length > 0);
-
-		IArtifactDescriptor newDescriptor = new ArtifactDescriptor(key);
-		Map properties = new OrderedProperties();
-		properties.putAll(descriptors[0].getProperties());
-		properties.remove(IArtifactDescriptor.FORMAT);
-		((ArtifactDescriptor) newDescriptor).addProperties(properties);
-		try {
-			OutputStream repositoryStream = null;
-			try {
-				//System.out.println("Getting Artifact: " + descriptors[0].getArtifactKey() + " (Descriptor: " + descriptors[0] + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				repositoryStream = destinationRepo.getOutputStream(newDescriptor);
-				if (repositoryStream == null)
-					fail("Error while obtaining OutputStream");
-				compRepo.getArtifact(descriptors[0], repositoryStream, new NullProgressMonitor());
-			} finally {
-				if (repositoryStream != null)
-					repositoryStream.close();
-			}
-		} catch (ProvisionException e) {
-			fail("Error while obtaining OutputStream", e);
-		} catch (IOException e) {
-			fail("Error while downloading artifact", e);
-		}
-		//corresponding key should now be in the destination
-		assertTrue("Expected Key is not in destination", destinationRepo.contains(key));
-
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().loadRepository(child.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repository for verification", e);
-		}
-
-		IArtifactDescriptor[] srcDescriptors = repo.getArtifactDescriptors(key);
-		if (srcDescriptors == null)
-			fail("Error finding descriptors for validation");
-
-		boolean found = false;
-		for (int j = 0; j < srcDescriptors.length && !found; j++) {
-			//Assumes that since the source repo does not have any packed artifacts that the descriptor will not change during transfer
-			if (srcDescriptors[j].equals(descriptors[0])) {
-				File srcFile = ((SimpleArtifactRepository) repo).getArtifactFile(srcDescriptors[j]);
-				File destFile = ((SimpleArtifactRepository) destinationRepo).getArtifactFile(descriptors[0]);
-				if (srcFile == null || destFile == null)
-					fail("Unable to retreive files from repositories");
-				if (!(srcFile.exists() && destFile.exists()))
-					fail("File does not exist on disk");
-				assertTrue(srcFile.length() == destFile.length());
-				found = true;
-			}
-		}
-
-		if (!found)
-			fail("Matching descriptor was nto found in source");
-	}
-
-	public void testGetArtifactsFromRequests() {
-		//Setup: create the repository
-		CompositeArtifactRepository compRepo = createRepo(false);
-		//add the child
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-
-		File destRepoLocation = new File(getTempFolder(), "CompositeArtifactRepositoryTest");
-		delete(destRepoLocation);
-		IArtifactRepository destinationRepo = null;
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		try {
-			repo1 = getArtifactRepositoryManager().loadRepository(child1.toURI(), null);
-			repo2 = getArtifactRepositoryManager().loadRepository(child2.toURI(), null);
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), "Test Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e1) {
-			fail("Error retreiving repsoitories", e1);
-		}
-
-		//create a request for a descriptor from repo1
-		Collector keys1 = repo1.query(ArtifactKeyQuery.ALL_KEYS, null);
-		IArtifactKey key1 = (IArtifactKey) keys1.iterator().next();
-		assertTrue("Error retreaiving artifact keys", keys1.size() > 0);
-		IArtifactDescriptor[] descriptors1 = repo1.getArtifactDescriptors(key1);
-		assertTrue("Error retreaiving artifact descriptors", descriptors1.length > 0);
-		assertTrue("Expected key not in composite repository", compRepo.contains(descriptors1[0]));
-		IArtifactDescriptor newDescriptor1 = new ArtifactDescriptor(key1);
-		Map properties1 = new OrderedProperties();
-		properties1.putAll(descriptors1[0].getProperties());
-		properties1.remove(IArtifactDescriptor.FORMAT);
-		((ArtifactDescriptor) newDescriptor1).addProperties(properties1);
-		//		IArtifactRequest request1 = ((ArtifactRepositoryManager) getArtifactRepositoryManager()).createMirrorRequest(keys1[0], destinationRepo, (Properties) newDescriptor1.getProperties(), (Properties) destinationRepo.getProperties());
-		IArtifactRequest request1 = ((ArtifactRepositoryManager) getArtifactRepositoryManager()).createMirrorRequest(key1, destinationRepo, null, null);
-
-		//create a request for a descriptor from repo2
-		Collector keys2 = repo2.query(ArtifactKeyQuery.ALL_KEYS, null);
-		IArtifactKey key2 = (IArtifactKey) keys2.iterator().next();
-		assertTrue("Error retreaiving artifact keys", keys2.size() > 0);
-		IArtifactDescriptor[] descriptors2 = repo2.getArtifactDescriptors(key2);
-		assertTrue("Error retreaiving artifact descriptors", descriptors2.length > 0);
-		assertTrue("Expected key not in composite repository", compRepo.contains(descriptors2[0]));
-		IArtifactDescriptor newDescriptor2 = new ArtifactDescriptor(key2);
-		Map properties2 = new OrderedProperties();
-		properties2.putAll(descriptors2[0].getProperties());
-		properties2.remove(IArtifactDescriptor.FORMAT);
-		((ArtifactDescriptor) newDescriptor2).addProperties(properties2);
-		//		IArtifactRequest request2 = ((ArtifactRepositoryManager) getArtifactRepositoryManager()).createMirrorRequest(keys2[0], destinationRepo, (Properties) newDescriptor2.getProperties(), (Properties) destinationRepo.getProperties());
-		IArtifactRequest request2 = ((ArtifactRepositoryManager) getArtifactRepositoryManager()).createMirrorRequest(key2, destinationRepo, null, null);
-
-		IArtifactRequest[] requests = new IArtifactRequest[2];
-		requests[0] = request1;
-		requests[1] = request2;
-
-		try {
-			OutputStream repositoryStream = null;
-			try {
-				compRepo.getArtifacts(requests, new NullProgressMonitor());
-			} finally {
-				if (repositoryStream != null)
-					repositoryStream.close();
-			}
-		} catch (IOException e) {
-			fail("Error while downloading artifacts", e);
-		}
-		//corresponding keys should now be in the destination
-		assertTrue("Expected Key is not in destination", destinationRepo.contains(key1));
-		assertTrue("Expected Key is not in destination", destinationRepo.contains(key2));
-
-		//verify the file from repo1
-		File repo1File = ((SimpleArtifactRepository) repo1).getArtifactFile(descriptors1[0]);
-		File destFile1 = ((SimpleArtifactRepository) destinationRepo).getArtifactFile(descriptors1[0]);
-		if (repo1File == null || destFile1 == null)
-			fail("Unable to retreive files from repositories");
-		if (!(repo1File.exists() && destFile1.exists()))
-			fail("File does not exist on disk");
-		assertTrue(repo1File.length() == destFile1.length());
-
-		//verify the file from repo2
-		File repo2File = ((SimpleArtifactRepository) repo2).getArtifactFile(descriptors2[0]);
-		File destFile2 = ((SimpleArtifactRepository) destinationRepo).getArtifactFile(descriptors2[0]);
-		if (repo2File == null || destFile2 == null)
-			fail("Unable to retreive files from repositories");
-		if (!(repo2File.exists() && destFile2.exists()))
-			fail("File does not exist on disk");
-		assertTrue(repo2File.length() == destFile2.length());
-	}
-
-	public void testLoadingRepositoryRemote() {
-		File knownGoodRepoLocation = getTestData("0.1", "/testData/artifactRepo/composite/good.remote");
-
-		CompositeArtifactRepository compRepo = null;
-		try {
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().loadRepository(knownGoodRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("0.99", e);
-		}
-
-		List children = compRepo.getChildren();
-
-		try {
-			//ensure children are correct
-			URI child1 = URIUtil.fromString("http://www.eclipse.org/foo");
-			assertTrue("1.0", children.contains(child1));
-			URI child2 = URIUtil.fromString("http://www.eclipse.org/bar");
-			assertTrue("1.1", children.contains(child2));
-			assertEquals("1.2", 2, children.size());
-		} catch (URISyntaxException e) {
-			fail("1.99", e);
-		}
-
-		//ensure correct properties
-		assertEquals("2.0", "artifact name", compRepo.getName());
-		Map properties = compRepo.getProperties();
-		assertEquals("2.1", 2, properties.size());
-		String timestamp = (String) properties.get(IRepository.PROP_TIMESTAMP);
-		assertNotNull("2.2", timestamp);
-		assertEquals("2.3", "1234", timestamp);
-		String compressed = (String) properties.get(IRepository.PROP_COMPRESSED);
-		assertNotNull("2.4", compressed);
-		assertFalse("2.4", Boolean.parseBoolean(compressed));
-	}
-
-	public void testLoadingRepositoryLocal() {
-		File knownGoodRepoLocation = getTestData("0.1", "/testData/artifactRepo/composite/good.local");
-
-		CompositeArtifactRepository compRepo = null;
-		try {
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().loadRepository(knownGoodRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("0.99", e);
-		}
-
-		List children = compRepo.getChildren();
-
-		//ensure children are correct
-		assertTrue("1.0", children.contains(URIUtil.append(compRepo.getLocation(), "one")));
-		assertTrue("1.1", children.contains(URIUtil.append(compRepo.getLocation(), "two")));
-		assertEquals("1.2", 2, children.size());
-
-		//ensure correct properties
-		assertEquals("2.0", "artifact name", compRepo.getName());
-		Map properties = compRepo.getProperties();
-		assertEquals("2.1", 2, properties.size());
-		String timestamp = (String) properties.get(IRepository.PROP_TIMESTAMP);
-		assertNotNull("2.2", timestamp);
-		assertEquals("2.3", "1234", timestamp);
-		String compressed = (String) properties.get(IRepository.PROP_COMPRESSED);
-		assertNotNull("2.4", compressed);
-		assertFalse("2.5", Boolean.parseBoolean(compressed));
-	}
-
-	public void testCompressedPersistence() {
-		persistenceTest(true);
-	}
-
-	public void testUncompressedPersistence() {
-		persistenceTest(false);
-	}
-
-	public void testSyntaxErrorWhileParsing() {
-		File badCompositeArtifacts = getTestData("1", "/testData/artifactRepo/composite/Bad/syntaxError");
-
-		try {
-			getArtifactRepositoryManager().loadRepository(badCompositeArtifacts.toURI(), null);
-			//Error while parsing expected
-			fail("Expected ProvisionException has not been thrown");
-		} catch (ProvisionException e) {
-			//expected.
-			//TODO more meaningful verification?
-		}
-	}
-
-	public void testMissingRequireattributeWhileParsing() {
-		File badCompositeArtifacts = getTestData("1", "/testData/artifactRepo/composite/Bad/missingRequiredAttribute");
-		CompositeArtifactRepository compRepo = null;
-		try {
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().loadRepository(badCompositeArtifacts.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading repository", e);
-		}
-		assertEquals("Repository should only have 1 child", 1, compRepo.getChildren().size());
-	}
-
-	public void testValidate() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/artifacts.xml");
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, artifact2);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		File compRepoLocation = getTestFolder(getUniqueString());
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		CompositeArtifactRepository compRepo = null;
-		try {
-			repo1 = getArtifactRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo1.addDescriptor(descriptor1);
-			repo2 = getArtifactRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo2.addDescriptor(descriptor2);
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().createRepository(compRepoLocation.toURI(), "Composite Repo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-			getArtifactRepositoryManager().removeRepository(repo1Location.toURI());
-			getArtifactRepositoryManager().removeRepository(repo2Location.toURI());
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Add the conflicting repositories
-		compRepo.addChild(repo1Location.toURI());
-		compRepo.addChild(repo2Location.toURI());
-
-		//validate using the MD5 Comparator
-		assertFalse("Running verify on invalid repository", compRepo.validate(MD5ArtifactComparator.MD5_COMPARATOR_ID));
-	}
-
-	public void testAddChildWithValidate() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/artifacts.xml");
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, artifact2);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		File compRepoLocation = getTestFolder(getUniqueString());
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		CompositeArtifactRepository compRepo = null;
-		try {
-			repo1 = getArtifactRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo1.addDescriptor(descriptor1);
-			repo2 = getArtifactRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo2.addDescriptor(descriptor2);
-			getArtifactRepositoryManager().removeRepository(repo1Location.toURI());
-			getArtifactRepositoryManager().removeRepository(repo2Location.toURI());
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().createRepository(compRepoLocation.toURI(), "Composite Repo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Add conflicting repositories
-		assertTrue("Adding first child with validate", compRepo.addChild(repo1Location.toURI(), MD5ArtifactComparator.MD5_COMPARATOR_ID));
-		assertFalse("Adding conflicting child with validate", compRepo.addChild(repo2Location.toURI(), MD5ArtifactComparator.MD5_COMPARATOR_ID));
-
-		assertEquals("Asserting Composite Repository only has 1 child", 1, compRepo.getChildren().size());
-	}
-
-	public void testEnabledAndSystemValues() {
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		File compRepoLocation = getTestFolder(getUniqueString());
-		CompositeArtifactRepository compRepo = null;
-		try {
-			getArtifactRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			getArtifactRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Only 1 child should be loaded in the manager
-			getArtifactRepositoryManager().removeRepository(repo2Location.toURI());
-			compRepo = (CompositeArtifactRepository) getArtifactRepositoryManager().createRepository(compRepoLocation.toURI(), "Composite Repo", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		compRepo.addChild(repo1Location.toURI());
-		compRepo.addChild(repo2Location.toURI());
-
-		//force composite repository to load all children
-		compRepo.getArtifactDescriptors(new ArtifactKey("", "", Version.emptyVersion));
-
-		assertTrue("Ensuring previously loaded repo is enabled", getArtifactRepositoryManager().isEnabled(repo1Location.toURI()));
-		String repo1System = getArtifactRepositoryManager().getRepositoryProperty(repo1Location.toURI(), IRepository.PROP_SYSTEM);
-		//if repo1System is null we want to fail
-		assertFalse("Ensuring previously loaded repo is not system", repo1System != null ? repo1System.equals(Boolean.toString(true)) : true);
-		assertFalse("Ensuring not previously loaded repo is not enabled", getArtifactRepositoryManager().isEnabled(repo2Location.toURI()));
-		String repo2System = getArtifactRepositoryManager().getRepositoryProperty(repo2Location.toURI(), IRepository.PROP_SYSTEM);
-		//if repo2System is null we want to fail
-		assertTrue("Ensuring not previously loaded repo is system", repo2System != null ? repo2System.equals(Boolean.toString(true)) : false);
-	}
-
-	private void persistenceTest(boolean compressed) {
-		//Setup: create an uncompressed repository
-		CompositeArtifactRepository compRepo = createRepo(compressed);
-
-		//Add data. forces write to disk.
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		//Assume success (covered by other tests)
-
-		//Remove repo from memory
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		artifactRepositoryManager.removeRepository(repositoryURI);
-		compRepo = null;
-
-		//load repository off disk
-		IArtifactRepository repo = null;
-		try {
-			repo = artifactRepositoryManager.loadRepository(repositoryURI, null);
-		} catch (ProvisionException e) {
-			fail("Could not load repository after removal", e);
-		}
-		assertTrue("loaded repository was of type CompositeArtifactRepository", repo instanceof CompositeArtifactRepository);
-
-		compRepo = (CompositeArtifactRepository) repo;
-
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		try {
-			repo1 = artifactRepositoryManager.loadRepository(child1.toURI(), null);
-			repo2 = artifactRepositoryManager.loadRepository(child2.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repositories for verification", e);
-		}
-
-		assertContains("Assert child1's content is in composite repo", repo1, compRepo);
-		assertContains("Assert child2's content is in composite repo", repo2, compRepo);
-		//checks that the destination has the correct number of keys (no extras)
-		//FIXME will this work?
-		assertEquals("Assert Correct Number of Keys", getArtifactKeyCount(repo1) + getArtifactKeyCount(repo2), getArtifactKeyCount(compRepo));
-	}
-
-	private CompositeArtifactRepository createRepo(boolean compressed) {
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		repositoryFile = new File(getTempFolder(), "CompositeArtifactRepositoryTest");
-		delete(repositoryFile);
-		repositoryURI = repositoryFile.toURI();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, compressed ? "true" : "false");
-		IArtifactRepository repo = null;
-		try {
-			repo = artifactRepositoryManager.createRepository(repositoryURI, "artifact name", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-
-		//ensure proper type of repository has been created
-		if (!(repo instanceof CompositeArtifactRepository))
-			fail("Repository is not a CompositeArtifactRepository");
-
-		return (CompositeArtifactRepository) repo;
-	}
-
-	/*
-	 * Ensure that we can create a non-local composite repository.
-	 */
-	public void testNonLocalRepo() {
-		try {
-			URI location = new URI("memory:/in/memory");
-			URI childOne = new URI("memory:/in/memory/one");
-			URI childTwo = new URI("memory:/in/memory/two");
-			URI childThree = new URI("memory:/in/memory/three");
-			CompositeArtifactRepository repository = new CompositeArtifactRepository(location, "in memory test", null);
-			repository.addChild(childOne);
-			repository.addChild(childTwo);
-			repository.addChild(childThree);
-			assertEquals("1.0", 3, repository.getChildren().size());
-			repository.removeChild(childTwo);
-			assertEquals("1.1", 2, repository.getChildren().size());
-			// add a child which already exists... should do nothing
-			repository.addChild(childOne);
-			assertEquals("1.2", 2, repository.getChildren().size());
-			// add the same child but with a relative URI. again it should do nothing
-			repository.addChild(new URI("one"));
-			assertEquals("1.3", 2, repository.getChildren().size());
-		} catch (URISyntaxException e) {
-			fail("99.0", e);
-		}
-	}
-
-	public void testRelativeChildren() {
-		// setup
-		File one = getTestData("0.0", "testData/testRepos/simple.1");
-		File two = getTestData("0.1", "testData/testRepos/simple.2");
-		File temp = getTempFolder();
-		copy("0.2", one, new File(temp, "one"));
-		copy("0.3", two, new File(temp, "two"));
-
-		// create the composite repository and add the children
-		URI location = new File(temp, "comp").toURI();
-		CompositeArtifactRepository repository = new CompositeArtifactRepository(location, "test", null);
-		try {
-			repository.addChild(new URI("../one"));
-			repository.addChild(new URI("../two"));
-		} catch (URISyntaxException e) {
-			fail("1.99", e);
-		}
-
-		// query the number of artifacts
-		List children = repository.getChildren();
-		assertEquals("2.0", 2, children.size());
-		assertEquals("2.1", 2, getArtifactKeyCount(repository));
-
-		// ensure the child URIs are stored as relative
-		CompositeRepositoryState state = repository.toState();
-		URI[] childURIs = state.getChildren();
-		assertNotNull("3.0", childURIs);
-		assertEquals("3.1", 2, childURIs.length);
-		assertFalse("3.2", childURIs[0].isAbsolute());
-		assertFalse("3.3", childURIs[1].isAbsolute());
-
-		// cleanup
-		delete(temp);
-	}
-
-	public void testRelativeRemoveChild() {
-		try {
-			URI location = new URI("memory:/in/memory");
-			URI one = new URI("one");
-			URI two = new URI("two");
-			CompositeArtifactRepository repository = new CompositeArtifactRepository(location, "in memory test", null);
-			repository.addChild(one);
-			repository.addChild(two);
-			List children = repository.getChildren();
-			assertEquals("1.0", 2, children.size());
-			// remove an absolute URI (child one should be first since order is important)
-			repository.removeChild((URI) children.iterator().next());
-			assertEquals("1.1", 1, repository.getChildren().size());
-			// remove a relative URI (child two)
-			repository.removeChild(two);
-			assertEquals("1.2", 0, repository.getChildren().size());
-		} catch (URISyntaxException e) {
-			fail("99.0", e);
-		}
-	}
-
-	/*
-	 * Test a retry request by the composite repository
-	 */
-	public void testRetryRequest() {
-		URI childLocation = getTestData("Loading test data", "testData/artifactRepo/missingArtifact").toURI();
-		File destination = null;
-		OutputStream out = null;
-		try {
-			destination = new File(getTempFolder(), getUniqueString());
-			out = new FileOutputStream(destination);
-
-			CompositeArtifactRepository repository = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-
-			IArtifactRepository childOne = getArtifactRepositoryManager().loadRepository(childLocation, null);
-			TestArtifactRepository childTwo = new TestArtifactRepository(new URI("memory:/in/memory/two"));
-			// Add to repo manager
-			assertTrue(childTwo.addToRepositoryManager());
-
-			repository.addChild(childOne.getLocation());
-			repository.addChild(childTwo.getLocation());
-
-			IArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "missingSize.asdf", Version.create("1.5.1.v200803061910")));
-
-			IStatus status = repository.getArtifact(descriptor, out, new NullProgressMonitor());
-			// We should have a failure
-			assertFalse(status.isOK());
-			// Failure should tell us to retry
-			assertEquals(IArtifactRepository.CODE_RETRY, status.getCode());
-
-			status = repository.getArtifact(descriptor, out, new NullProgressMonitor());
-			assertFalse(status.isOK());
-			assertFalse("Requesting retry with no available children", IArtifactRepository.CODE_RETRY == status.getCode());
-		} catch (Exception e) {
-			fail("Exception occurred", e);
-		} finally {
-			getArtifactRepositoryManager().removeRepository(childLocation);
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e) {
-					// Don't care
-				}
-			if (destination != null)
-				delete(destination.getParentFile());
-		}
-	}
-
-	/*
-	 * Test a retry request by a child composite repository 
-	 */
-	public void testChildRetryRequest() {
-		class BadMirrorSite extends TestArtifactRepository {
-			int downloadAttempts = 0;
-
-			public BadMirrorSite(URI location) {
-				super(location);
-				addToRepositoryManager();
-			}
-
-			public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream out, IProgressMonitor monitor) {
-				if (++downloadAttempts == 1)
-					return new MultiStatus(Activator.ID, CODE_RETRY, new IStatus[] {new Status(IStatus.ERROR, "Test", "Test - Download interrupted")}, "Retry another mirror", null);
-				return Status.OK_STATUS;
-			}
-
-			public boolean contains(IArtifactDescriptor desc) {
-				return true;
-			}
-
-			public boolean contains(IArtifactKey desc) {
-				return true;
-			}
-		}
-
-		IArtifactRepository destination = null;
-		BadMirrorSite child = null;
-		CompositeArtifactRepository source = null;
-		IArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "missingSize.asdf", Version.create("1.5.1.v200803061910")));
-		try {
-			destination = super.createArtifactRepository(getTempFolder().toURI(), null);
-			child = new BadMirrorSite(new URI("memory:/in/memory/child"));
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory/source"), "in memory test", null);
-			source.addChild(child.getLocation());
-
-			// Create mirror request
-			MirrorRequest request = new MirrorRequest(descriptor.getArtifactKey(), destination, null, null);
-			request.setSourceRepository(source);
-			request.perform(new NullProgressMonitor());
-			IStatus status = request.getResult();
-			// The download should have completed 'successfully'
-			assertTrue(status.isOK());
-			// There should have been two download attempts at the child
-			assertEquals(2, child.downloadAttempts);
-		} catch (Exception e) {
-			fail("Exception", e);
-		} finally {
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (child != null)
-				getArtifactRepositoryManager().removeRepository(child.getLocation());
-			if (destination != null) {
-				getArtifactRepositoryManager().removeRepository(destination.getLocation());
-				delete(new File(destination.getLocation()));
-			}
-		}
-	}
-
-	/*
-	 * Test a child returning different bytes
-	 */
-	public void testFailedDownload() {
-		final byte[] contents = "Hello".getBytes();
-		class BadSite extends TestArtifactRepository {
-			File location = new File(getTempFolder(), getUniqueString());
-
-			public BadSite(URI location) {
-				super(location);
-			}
-
-			public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream out, IProgressMonitor monitor) {
-				super.getArtifact(descriptor, out, monitor);
-				return new Status(IStatus.ERROR, "Test", "Test - Download interrupted");
-			}
-
-			public void addDescriptor(IArtifactDescriptor descriptor) {
-				super.addDescriptor(descriptor);
-				super.addArtifact(descriptor.getArtifactKey(), contents);
-			}
-
-			public OutputStream getOutputStream(IArtifactDescriptor descriptor) {
-				try {
-					return new FileOutputStream(location);
-				} catch (Exception e) {
-					fail("Failed to open stream", e);
-					return null;
-				}
-			}
-		}
-		BadSite childOne = null;
-		BadSite dest = null;
-		CompositeArtifactRepository source = null;
-		File destination = null;
-		OutputStream out = null;
-		try {
-			destination = new File(getTempFolder(), getUniqueString());
-			out = new FileOutputStream(destination);
-
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-			IArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "missingSize.asdf", Version.create("1.5.1.v200803061910")));
-
-			// Create 'bad' child which returns an error in transfer
-			childOne = new BadSite(new URI("memory:/in/memory/one"));
-			childOne.addDescriptor(descriptor);
-			childOne.addToRepositoryManager();
-			source.addChild(childOne.getLocation());
-
-			// Create 'good' child which downloads successfully
-			TestArtifactRepository childTwo = new TestArtifactRepository(new URI("memory:/in/memory/two"));
-			childTwo.addDescriptor(descriptor);
-			childTwo.addArtifact(descriptor.getArtifactKey(), contents);
-			childTwo.addToRepositoryManager();
-			source.addChild(childTwo.getLocation());
-
-			// Destination repository
-			dest = new BadSite(new URI("memory:/in/memory/dest"));
-
-			// Create mirror request
-			MirrorRequest request = new MirrorRequest(descriptor.getArtifactKey(), dest, null, null);
-			request.setSourceRepository(source);
-			request.perform(new NullProgressMonitor());
-			IStatus status = request.getResult();
-
-			// We should have OK status
-			assertTrue(status.isOK());
-			// Contents should be equal
-			assertEquals(contents.length, dest.location.length());
-		} catch (Exception e) {
-			fail("Exception occurred", e);
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e) {
-					// Don't care
-				}
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (childOne != null)
-				getArtifactRepositoryManager().removeRepository(childOne.getLocation());
-			if (dest != null) {
-				getArtifactRepositoryManager().removeRepository(dest.getLocation());
-				delete(dest.location.getParentFile());
-			}
-			if (destination != null)
-				delete(destination.getParentFile());
-		}
-	}
-
-	/*
-	 * Verify behaviour of contains(IArtifactDescriptor) when a child is marked bad
-	 */
-	public void testContainsDescriptorBadChild() {
-		CompositeArtifactRepository source = null;
-		IArtifactRepository childOne = null;
-		IArtifactRepository childTwo = null;
-		try {
-			IArtifactDescriptor desc = new ArtifactDescriptor(new ArtifactKey("osgi", "a", Version.create("1.0.0")));
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-			childOne = createChild();
-			source.addChild(childOne.getLocation());
-
-			// Should always contain
-			assertTrue("TestSetup failed", source.contains(desc));
-			markBad(source, childOne);
-			// Should not contain the descriptor of a bad child
-			assertFalse("Composite repo contains descriptor despite child marked bad", source.contains(desc));
-
-			// Add a child containing the descriptor
-			childTwo = createChild();
-			source.addChild(childTwo.getLocation());
-			// Should contain the descriptor as the 'good' child has it.
-			assertTrue("Composite repo should contain the descriptor", source.contains(desc));
-		} catch (Exception e) {
-			fail(e.getMessage(), e);
-		} finally {
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (childOne != null)
-				getArtifactRepositoryManager().removeRepository(childOne.getLocation());
-			if (childTwo != null)
-				getArtifactRepositoryManager().removeRepository(childTwo.getLocation());
-		}
-	}
-
-	/*
-	 * Verify behaviour of contains(IArtifactKey) when a child is marked bad
-	 */
-	public void testContainsKeyBadChild() {
-		CompositeArtifactRepository source = null;
-		IArtifactRepository childOne = null;
-		IArtifactRepository childTwo = null;
-		try {
-			IArtifactKey desc = new ArtifactKey("osgi", "a", Version.create("1.0.0"));
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-			childOne = createChild();
-			source.addChild(childOne.getLocation());
-
-			// Should always contain
-			assertTrue("TestSetup failed", source.contains(desc));
-			markBad(source, childOne);
-			// Should not contain the descriptor of a bad child
-			assertFalse("Composite repo contains descriptor despite child marked bad", source.contains(desc));
-
-			// Add a child containing the descriptor
-			childTwo = createChild();
-			source.addChild(childTwo.getLocation());
-			// Should contain the descriptor as the 'good' child has it.
-			assertTrue("Composite repo should contain the descriptor", source.contains(desc));
-		} catch (Exception e) {
-			fail(e.getMessage(), e);
-		} finally {
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (childOne != null)
-				getArtifactRepositoryManager().removeRepository(childOne.getLocation());
-			if (childTwo != null)
-				getArtifactRepositoryManager().removeRepository(childTwo.getLocation());
-		}
-	}
-
-	/*
-	 * Verify the behaviour of getAritfactKeys() when a child is marked bad
-	 */
-	public void testGetArtifactKeysBadChild() {
-		CompositeArtifactRepository source = null;
-		IArtifactRepository childOne = null;
-		IArtifactRepository childTwo = null;
-
-		try {
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-			IArtifactKey key = new ArtifactKey("classifier", "name", Version.create("1.0.0"));
-
-			childOne = createChild();
-			((TestArtifactRepository) childOne).addArtifact(key, new byte[] {});
-			source.addChild(childOne.getLocation());
-
-			assertTrue("Composite repo does not contain key", source.contains(key));
-			markBad(source, childOne);
-			assertFalse("Composite repo contains key but child is marked bad", source.contains(key));
-
-			childTwo = createChild();
-			((TestArtifactRepository) childTwo).addArtifact(key, new byte[] {});
-			source.addChild(childTwo.getLocation());
-
-			assertTrue("Composite repo does not contain key, but it is available", source.contains(key));
-		} catch (Exception e) {
-			fail(e.getMessage(), e);
-		} finally {
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (childOne != null)
-				getArtifactRepositoryManager().removeRepository(childOne.getLocation());
-			if (childTwo != null)
-				getArtifactRepositoryManager().removeRepository(childTwo.getLocation());
-		}
-	}
-
-	/*
-	 * Verify the behaviour of getArtifactDescriptors(IArtifactKey) when a child is marked bad
-	 */
-	public void testGetArtifactDescriptorsBadChild() {
-		CompositeArtifactRepository source = null;
-		IArtifactRepository childOne = null;
-		IArtifactRepository childTwo = null;
-
-		try {
-			source = new CompositeArtifactRepository(new URI("memory:/in/memory"), "in memory test", null);
-			IArtifactKey key = new ArtifactKey("classifier", "name", Version.create("1.0.0"));
-			IArtifactDescriptor desc = new ArtifactDescriptor(key);
-
-			childOne = createChild();
-			childOne.addDescriptor(desc);
-			((TestArtifactRepository) childOne).addArtifact(key, new byte[] {});
-			source.addChild(childOne.getLocation());
-
-			assertTrue("Composite repo does not contain descriptor", Arrays.asList(source.getArtifactDescriptors(key)).contains(desc));
-			markBad(source, childOne);
-			assertFalse("Composite repo contains descriptor but child is marked bad", Arrays.asList(source.getArtifactDescriptors(key)).contains(desc));
-
-			childTwo = createChild();
-			childOne.addDescriptor(desc);
-			((TestArtifactRepository) childTwo).addArtifact(key, new byte[] {});
-			source.addChild(childTwo.getLocation());
-
-			assertTrue("Composite repo does not contain descriptor, but it is available", Arrays.asList(source.getArtifactDescriptors(key)).contains(desc));
-		} catch (Exception e) {
-			fail(e.getMessage(), e);
-		} finally {
-			if (source != null)
-				getArtifactRepositoryManager().removeRepository(source.getLocation());
-			if (childOne != null)
-				getArtifactRepositoryManager().removeRepository(childOne.getLocation());
-			if (childTwo != null)
-				getArtifactRepositoryManager().removeRepository(childTwo.getLocation());
-		}
-	}
-
-	/*
-	 * Mark a child of a Composite repository as bad
-	 */
-	protected void markBad(CompositeArtifactRepository parent, IArtifactRepository child) {
-		try {
-			Field field = CompositeArtifactRepository.class.getDeclaredField("loadedRepos");
-			field.setAccessible(true);
-
-			Class[] classes = CompositeArtifactRepository.class.getDeclaredClasses();
-
-			Class childInfo = null;
-			for (int i = 0; i < classes.length && childInfo == null; i++) {
-				if (classes[i].getName().equals("org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository$ChildInfo"))
-					childInfo = classes[i];
-			}
-			assertTrue("Unable to locate inner class ChildInfo", childInfo != null);
-
-			Field repo = childInfo.getDeclaredField("repo");
-			repo.setAccessible(true);
-			Field good = childInfo.getDeclaredField("good");
-			good.setAccessible(true);
-
-			List list = (List) field.get(parent);
-			for (Iterator listIter = list.iterator(); listIter.hasNext();) {
-				Object obj = listIter.next();
-				if (child.equals(repo.get(obj))) {
-					good.set(obj, false);
-					return;
-				}
-			}
-			fail("Unable to mark as bad:" + child);
-		} catch (Exception e) {
-			fail("Test setup failed:" + e.getMessage(), e);
-		}
-	}
-
-	/*
-	 * Create a child for a composite repository which always responds true to contains()
-	 */
-	protected IArtifactRepository createChild() {
-		try {
-			TestArtifactRepository repo = new TestArtifactRepository(new URI("memory:/in/memory/" + childCount++)) {
-				public boolean contains(IArtifactDescriptor desc) {
-					return true;
-				}
-
-				public boolean contains(IArtifactKey desc) {
-					return true;
-				}
-			};
-			repo.addToRepositoryManager();
-			return repo;
-		} catch (URISyntaxException e) {
-			fail("Failed creating child repo", e);
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CorruptedJar.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CorruptedJar.java
deleted file mode 100644
index cc5c9d1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/CorruptedJar.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest;
-import org.eclipse.equinox.internal.p2.engine.DownloadManager;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class CorruptedJar extends AbstractProvisioningTest {
-	private static final String testDataLocation = "testData/artifactRepo/corruptedJarRepo";
-	IArtifactRepository source = null;
-	IArtifactRepository target = null;
-
-	@Override
-	protected void setUp() throws Exception {
-		// TODO Auto-generated method stub
-		super.setUp();
-		IArtifactRepositoryManager mgr = getArtifactRepositoryManager();
-		try {
-			source = mgr.loadRepository((getTestData("CorruptedJar repo", testDataLocation).toURI()), null);
-		} catch (Exception e) {
-			fail("1.0", e);
-		}
-		try {
-			target = mgr.createRepository(getTestFolder("CorruptedJarTarget").toURI(), "CorruptedJar target repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (Exception e) {
-			fail("2.0", e);
-		}
-	}
-
-	public void testDownloadCorruptedJar() {
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setArtifactRepositories(new URI[] {getTestData("CorruptedJar repo", testDataLocation).toURI()});
-		DownloadManager mgr = new DownloadManager(ctx, getArtifactRepositoryManager());
-		IArtifactKey key = (IArtifactKey) source.query(ArtifactKeyQuery.ALL_KEYS, null).iterator().next();
-		mgr.add(new MirrorRequest(key, target, null, null));
-		IStatus s = mgr.start(new NullProgressMonitor());
-		assertNotOK(s);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
deleted file mode 100644
index c5620b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/FoldersRepositoryTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.net.URL;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class FoldersRepositoryTest extends TestCase {
-
-	private ServiceReference managerRef;
-	private IArtifactRepositoryManager manager;
-	private File testRepo;
-
-	public FoldersRepositoryTest(String name) {
-		super(name);
-	}
-
-	public FoldersRepositoryTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		managerRef = TestActivator.getContext().getServiceReference(IArtifactRepositoryManager.SERVICE_NAME);
-		manager = (IArtifactRepositoryManager) TestActivator.getContext().getService(managerRef);
-	}
-
-	protected void tearDown() throws Exception {
-		manager = null;
-		TestActivator.getContext().ungetService(managerRef);
-		if (testRepo != null)
-			AbstractProvisioningTest.delete(testRepo);
-	}
-
-	public void testFolderRepository() throws Exception {
-		String tempDir = System.getProperty("java.io.tmpdir");
-		testRepo = new File(tempDir, "testRepo");
-		AbstractProvisioningTest.delete(testRepo);
-		testRepo.mkdir();
-
-		manager.removeRepository(testRepo.toURI());
-		IArtifactRepository repo = manager.createRepository(testRepo.toURI(), "testRepo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		File pluginsFolder = new File(testRepo, "plugins");
-		pluginsFolder.mkdir();
-
-		URL sourceBase = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
-		File sourceFolder = new File(FileLocator.toFileURL(sourceBase).getPath());
-
-		AbstractProvisioningTest.copy("0.99", sourceFolder, pluginsFolder);
-		FileFilter filter = new FileFilter() {
-
-			public boolean accept(File pathname) {
-				return !pathname.getName().equals("CVS");
-			}
-		};
-		File[] fileList = pluginsFolder.listFiles(filter);
-		assertEquals(2, fileList.length);
-		for (int i = 0; i < fileList.length; i++) {
-			File file = fileList[i];
-			String fileName = file.getName();
-			if (fileName.endsWith(".jar"))
-				fileName = fileName.substring(0, fileName.length() - 4);
-			String identifier = fileName.substring(0, fileName.indexOf('_'));
-			String version = fileName.substring(fileName.indexOf('_') + 1);
-
-			ArtifactKey key = new ArtifactKey("osgi.bundle", identifier, Version.create(version));
-			ArtifactDescriptor descriptor = new ArtifactDescriptor(key);
-			if (file.isDirectory())
-				descriptor.setProperty("artifact.folder", "true");
-
-			repo.addDescriptor(descriptor);
-		}
-		Collector keys = repo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertEquals(2, keys.size());
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			repo.removeDescriptor(key);
-		}
-
-		keys = repo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertEquals(0, keys.size());
-		assertEquals(0, pluginsFolder.listFiles(filter).length);
-
-		manager.removeRepository(repo.getLocation());
-		AbstractProvisioningTest.delete(testRepo);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
deleted file mode 100644
index 0cb9bd7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/JarURLArtifactRepositoryTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.net.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class JarURLArtifactRepositoryTest extends TestCase {
-
-	private ServiceReference managerRef;
-	private IArtifactRepositoryManager manager;
-
-	public JarURLArtifactRepositoryTest(String name) {
-		super(name);
-	}
-
-	public JarURLArtifactRepositoryTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		managerRef = TestActivator.getContext().getServiceReference(IArtifactRepositoryManager.SERVICE_NAME);
-		manager = (IArtifactRepositoryManager) TestActivator.getContext().getService(managerRef);
-	}
-
-	protected void tearDown() throws Exception {
-		manager = null;
-		TestActivator.getContext().ungetService(managerRef);
-	}
-
-	public void testJarURLRepository() throws ProvisionException, URISyntaxException {
-		URL engineJar = TestActivator.getContext().getBundle().getEntry("/testData/enginerepo.jar");
-		URI jarRepoLocation = null;
-		try {
-			jarRepoLocation = URIUtil.toURI(new URL("jar:" + engineJar.toString() + "!/testData/enginerepo/artifacts.xml"));
-		} catch (URISyntaxException e) {
-			fail(e.getMessage());
-		} catch (MalformedURLException e) {
-			fail(e.getMessage());
-		}
-		IArtifactRepository repo = manager.loadRepository(jarRepoLocation, null);
-		assertTrue(repo.contains(new ArtifactKey("osgi.bundle", "testdata", Version.create("1.0.0.1"))));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MD5Tests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MD5Tests.java
deleted file mode 100644
index 2f42cdf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MD5Tests.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MD5Tests extends AbstractProvisioningTest {
-	File testRepo = null;
-	IArtifactRepository repo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		testRepo = getTestData("Repository with MD5", "testData/artifactRepo/simpleWithMD5");
-		repo = getArtifactRepositoryManager().loadRepository(testRepo.toURI(), new NullProgressMonitor());
-		assertNotNull("1.0", repo);
-	}
-
-	public void testCheckMD5() {
-		Collector descriptors = repo.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-		for (Iterator iterator = descriptors.iterator(); iterator.hasNext();) {
-			IArtifactDescriptor desc = (IArtifactDescriptor) iterator.next();
-			IStatus status = repo.getArtifact(desc, new ByteArrayOutputStream(500), new NullProgressMonitor());
-			//All artifacts that are expected to fail MD5 check are those whose id starts with bogus
-			if (desc.getArtifactKey().getId().startsWith("bogus")) {
-				assertNotOK(status);
-				continue;
-			}
-			assertOK("2.1 " + desc, status);
-		}
-	}
-
-	public void testBug249035_ArtifactIdentity() {
-		//MD5 sum should not affect the identity of the artifact
-
-		ArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "aaPlugin", Version.create("1.0.0")));
-		descriptor.setProperty(IArtifactDescriptor.DOWNLOAD_MD5, "42");
-
-		try {
-			repo.getOutputStream(descriptor);
-			fail("3.1 - Expected Artifact exists exception did not occur.");
-		} catch (ProvisionException e) {
-			assertTrue("3.2", e.getMessage().contains("The artifact is already available in the repository"));
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		getArtifactRepositoryManager().removeRepository(testRepo.toURI());
-		super.tearDown();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorRequestTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorRequestTest.java
deleted file mode 100644
index f5c9f56..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorRequestTest.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.AbstractWrappedArtifactRepository;
-import org.w3c.dom.*;
-
-public class MirrorRequestTest extends AbstractProvisioningTest {
-	private static final String testDataLocation = "testData/artifactRepo/emptyJarRepo";
-	File targetLocation;
-	IArtifactRepository targetRepository, sourceRepository;
-	URI destination, failedOptimized, pakedRepositoryLocation;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		targetLocation = File.createTempFile("target", ".repo");
-		targetLocation.delete();
-		targetLocation.mkdirs();
-		targetRepository = new SimpleArtifactRepository("TargetRepo", targetLocation.toURI(), null);
-
-		IArtifactRepositoryManager mgr = getArtifactRepositoryManager();
-		sourceRepository = mgr.loadRepository((getTestData("EmptyJar repo", testDataLocation).toURI()), null);
-		failedOptimized = URIUtil.toJarURI(getTestData("Error loading test data", "testData/mirror/invalidPackedMissingCanonical.zip").toURI(), null);
-		pakedRepositoryLocation = getTestData("Error loading packed repository", "testData/mirror/mirrorPackedRepo").toURI();
-		destination = getTempFolder().toURI();
-	}
-
-	protected void tearDown() throws Exception {
-		getArtifactRepositoryManager().removeRepository(destination);
-		getArtifactRepositoryManager().removeRepository(failedOptimized);
-		getArtifactRepositoryManager().removeRepository(targetLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(pakedRepositoryLocation);
-		AbstractProvisioningTest.delete(targetLocation);
-		delete(new File(destination));
-		super.tearDown();
-	}
-
-	public void testInvalidZipFileInTheSource() {
-		IArtifactKey key = new ArtifactKey("org.eclipse.update.feature", "HelloWorldFeature", Version.createOSGi(1, 0, 0));
-		Properties targetProperties = new Properties();
-		targetProperties.put("artifact.folder", "true");
-		MirrorRequest request = new MirrorRequest(key, targetRepository, null, targetProperties);
-		request.setSourceRepository(sourceRepository);
-
-		request.perform(new NullProgressMonitor());
-
-		assertTrue(request.getResult().matches(IStatus.ERROR));
-		assertTrue(request.getResult().getException() instanceof IOException);
-	}
-
-	public void testMissingArtifact() {
-		IArtifactKey key = new ArtifactKey("org.eclipse.update.feature", "Missing", Version.createOSGi(1, 0, 0));
-		Properties targetProperties = new Properties();
-		targetProperties.put("artifact.folder", "true");
-		MirrorRequest request = new MirrorRequest(key, targetRepository, null, targetProperties);
-		request.setSourceRepository(sourceRepository);
-
-		request.perform(new NullProgressMonitor());
-
-		assertTrue(request.getResult().matches(IStatus.ERROR));
-	}
-
-	// Test that if MirrorRequest fails to download a packed artifact it attempts the canonical version 
-	public void testFailToCanonical() {
-		RemoteRepo src = new RemoteRepo((SimpleArtifactRepository) sourceRepository);
-
-		IArtifactKey key = new ArtifactKey("test.txt", "fail_to_canonical", Version.parseVersion("1.0.0"));
-		MirrorRequest request = new MirrorRequest(key, targetRepository, null, null);
-		request.setSourceRepository(src);
-		request.perform(new NullProgressMonitor());
-
-		assertTrue(request.getResult().toString(), request.getResult().isOK());
-		assertTrue("Target does not contain artifact.", targetRepository.contains(key));
-		assertTrue("Number of downloads differs from expected attempts.", src.downloadCount == 2);
-	}
-
-	// Test that SimpleArtifactRepository & MirrorRequest use mirrors in the event of a failure. 
-	public void testMirrorFailOver() {
-		OrderedMirrorSelector selector = new OrderedMirrorSelector(sourceRepository);
-
-		// call test
-		IArtifactKey key = new ArtifactKey("test.txt", "HelloWorldText", Version.parseVersion("1.0.0"));
-		MirrorRequest request = new MirrorRequest(key, targetRepository, null, null);
-		request.setSourceRepository(sourceRepository);
-		request.perform(new NullProgressMonitor());
-
-		// The download succeeded
-		assertTrue(request.getResult().toString(), request.getResult().isOK());
-		// All available mirrors used
-		assertEquals("All mirrors utilized", selector.mirrors.length, selector.index);
-	}
-
-	/*
-	 * Test that the expected Status level is returned when a mirror fails from packed to canonical
-	 */
-	public void testStatusFromFailover() {
-		StatusSequenceRepository source = null;
-		LinkedList seq = new LinkedList();
-		try {
-			source = new StatusSequenceRepository(getArtifactRepositoryManager().loadRepository(pakedRepositoryLocation, new NullProgressMonitor()));
-
-		} catch (ProvisionException e) {
-			fail("Failed to load source repository");
-		}
-		// Set status sequence, actual Statuses added later
-		source.setSequence(seq);
-		// Grab an ArtifactKey to mirror, doesn't matter which
-		Collector keys = source.query(ArtifactKeyQuery.ALL_KEYS, null);
-		assertTrue("Unable to obtain artifact keys", keys != null && keys.size() > 0);
-
-		IArtifactKey key = (IArtifactKey) keys.iterator().next();
-		MirrorRequest req = new MirrorRequest(key, targetRepository, null, null);
-		req.setSourceRepository(source);
-		// Set Status sequence 
-		seq.add(new Status(IStatus.ERROR, "Activator", "Message"));
-		seq.add(new Status(IStatus.WARNING, "Activator", "Message"));
-		req.perform(new NullProgressMonitor());
-
-		assertEquals("Expected WARNING status", IStatus.WARNING, req.getResult().getSeverity());
-
-		// Remove key from repo so the same one can be used
-		targetRepository.removeDescriptor(key);
-		// Set Status sequence 
-		req = new MirrorRequest(key, targetRepository, null, null);
-		req.setSourceRepository(source);
-		seq.add(new Status(IStatus.WARNING, "Activator", "Message"));
-		seq.add(new Status(IStatus.INFO, "Activator", "Message"));
-		req.perform(new NullProgressMonitor());
-
-		assertEquals("Expected INFO status", IStatus.INFO, req.getResult().getSeverity());
-
-		// Remove key from repo so the same one can be used
-		targetRepository.removeDescriptor(key);
-		// Set Status sequence 
-		req = new MirrorRequest(key, targetRepository, null, null);
-		req.setSourceRepository(source);
-		seq.add(new Status(IStatus.INFO, "Activator", "Message"));
-		req.perform(new NullProgressMonitor());
-
-		assertEquals("Expected OK status", IStatus.OK, req.getResult().getSeverity());
-	}
-
-	/*
-	 * 
-	 */
-	public void testFailedOptimizedMissingCanonical() {
-
-		try {
-			IArtifactRepository source = new AbstractWrappedArtifactRepository(getArtifactRepositoryManager().loadRepository(failedOptimized, new NullProgressMonitor())) {
-				public URI getLocation() {
-					try {
-						return new URI("http://nowhere");
-					} catch (URISyntaxException e) {
-						fail("Failed to create URI", e);
-						return null;
-					}
-				}
-			};
-			IArtifactRepository target = getArtifactRepositoryManager().createRepository(destination, "Destination", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-
-			IArtifactKey key = new ArtifactKey("osgi.bundle", "org.eclipse.ve.jfc", Version.parseVersion("1.4.0.HEAD"));
-			MirrorRequest req = new MirrorRequest(key, target, null, null);
-			req.setSourceRepository(source);
-
-			req.perform(new NullProgressMonitor());
-			IStatus result = req.getResult();
-			assertTrue("MirrorRequest should have failed", result.matches(IStatus.ERROR));
-			assertEquals("Result should contain two failures", 2, result.getChildren().length);
-			assertStatusContains("Return status does not contain Signature Verification failure", result, "Invalid content:");
-			assertStatusContains("Return status does not contain Missing Artifact status", result, "Artifact not found:");
-		} catch (ProvisionException e) {
-			fail("Failed to load repositories", e);
-		}
-	}
-
-	protected static void assertStatusContains(String message, IStatus status, String statusString) {
-		if (!statusContains(status, statusString))
-			fail(message);
-	}
-
-	class StatusSequenceRepository extends AbstractWrappedArtifactRepository {
-		Queue sequence;
-
-		public StatusSequenceRepository(IArtifactRepository repo) {
-			super(repo);
-		}
-
-		public URI getLocation() {
-			// Lie about the location so packed files are used
-			try {
-				return new URI("http://somewhere");
-			} catch (URISyntaxException e) {
-				return null;
-			}
-		}
-
-		public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-			try {
-				destination.write(new byte[] {1, 1, 2});
-			} catch (Exception e) {
-				fail("Failed to write to stream", e);
-			}
-			if (sequence.isEmpty())
-				return Status.OK_STATUS;
-			return (IStatus) sequence.remove();
-		}
-
-		public void setSequence(Queue queue) {
-			sequence = queue;
-		}
-	}
-
-	private static boolean statusContains(IStatus status, String statusString) {
-		if (status.getMessage().indexOf(statusString) != -1)
-			return true;
-		if (!status.isMultiStatus())
-			return false;
-
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++)
-			if (statusContains(children[i], statusString))
-				return true;
-
-		return false;
-	}
-
-	// Repository which misleads about its location
-	protected class RemoteRepo extends AbstractArtifactRepository {
-		SimpleArtifactRepository delegate;
-		int downloadCount = 0;
-
-		RemoteRepo(SimpleArtifactRepository repo) {
-			super(repo.getName(), repo.getType(), repo.getVersion(), repo.getLocation(), repo.getDescription(), repo.getProvider(), repo.getProperties());
-			delegate = repo;
-		}
-
-		public synchronized URI getLocation() {
-			try {
-				return new URI("http://test/");
-			} catch (URISyntaxException e) {
-				// Should never happen, but we'll fail anyway
-				fail("URI creation failed", e);
-				return null;
-			}
-		}
-
-		public boolean contains(IArtifactDescriptor descriptor) {
-			return delegate.contains(descriptor);
-		}
-
-		public boolean contains(IArtifactKey key) {
-			return delegate.contains(key);
-		}
-
-		public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-			downloadCount++;
-			return delegate.getArtifact(descriptor, destination, monitor);
-		}
-
-		public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-			return delegate.getArtifactDescriptors(key);
-		}
-
-		public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-			return delegate.getArtifacts(requests, monitor);
-		}
-
-		public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-			return delegate.getOutputStream(descriptor);
-		}
-
-		public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-			return delegate.getRawArtifact(descriptor, destination, monitor);
-		}
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			return delegate.query(query, monitor);
-		}
-	}
-
-	/*
-	 * Special mirror selector for testing which chooses mirrors in order
-	 */
-	protected class OrderedMirrorSelector extends MirrorSelector {
-		private URI repoLocation;
-		int index = 0;
-		MirrorInfo[] mirrors;
-		IArtifactRepository repo;
-
-		OrderedMirrorSelector(IArtifactRepository repo) {
-			super(repo);
-			this.repo = repo;
-			// Setting this property forces SimpleArtifactRepository to use mirrors despite being a local repo
-			// Alternatively we could use reflect to change "location" of the repo
-			repo.setProperty(SimpleArtifactRepository.PROP_FORCE_THREADING, String.valueOf(true));
-			setSelector();
-			getRepoLocation();
-			mirrors = computeMirrors("file:///" + getTestData("Mirror Location", testDataLocation + '/' + repo.getProperties().get(IRepository.PROP_MIRRORS_URL)).toString().replace('\\', '/'));
-		}
-
-		// Hijack the source repository's MirrorSelector 
-		private void setSelector() {
-			Field mirrorField = null;
-			try {
-				mirrorField = SimpleArtifactRepository.class.getDeclaredField("mirrors");
-				mirrorField.setAccessible(true);
-				mirrorField.set(repo, this);
-			} catch (Exception e) {
-				fail("0.2", e);
-			}
-		}
-
-		// Overridden to prevent mirror sorting
-		@Override
-		public synchronized void reportResult(String toDownload, IStatus result) {
-			return;
-		}
-
-		// We want to test each mirror once.
-		@Override
-		public synchronized boolean hasValidMirror() {
-			return mirrors != null && index < mirrors.length;
-		}
-
-		@Override
-		public synchronized URI getMirrorLocation(URI inputLocation, IProgressMonitor monitor) {
-			return URIUtil.append(nextMirror(), repoLocation.relativize(inputLocation).getPath());
-		}
-
-		private URI nextMirror() {
-			Field mirrorLocation = null;
-			try {
-				mirrorLocation = MirrorInfo.class.getDeclaredField("locationString");
-				mirrorLocation.setAccessible(true);
-
-				return URIUtil.makeAbsolute(new URI((String) mirrorLocation.get(mirrors[index++])), repoLocation);
-			} catch (Exception e) {
-				fail(Double.toString(0.4 + index), e);
-				return null;
-			}
-		}
-
-		private synchronized void getRepoLocation() {
-			Field locationField = null;
-			try {
-				locationField = AbstractRepository.class.getDeclaredField("location");
-				locationField.setAccessible(true);
-				repoLocation = (URI) locationField.get(repo);
-			} catch (Exception e) {
-				fail("0.3", e);
-			}
-		}
-
-		private MirrorInfo[] computeMirrors(String mirrorsURL) {
-			// Copied & modified from MirrorSelector
-			try {
-				DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
-				DocumentBuilder builder = domFactory.newDocumentBuilder();
-				Document document = builder.parse(mirrorsURL);
-				if (document == null)
-					return null;
-				NodeList mirrorNodes = document.getElementsByTagName("mirror"); //$NON-NLS-1$
-				int mirrorCount = mirrorNodes.getLength();
-				MirrorInfo[] infos = new MirrorInfo[mirrorCount + 1];
-				for (int i = 0; i < mirrorCount; i++) {
-					Element mirrorNode = (Element) mirrorNodes.item(i);
-					String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
-					infos[i] = new MirrorInfo(infoURL, i);
-				}
-				//p2: add the base site as the last resort mirror so we can track download speed and failure rate
-				infos[mirrorCount] = new MirrorInfo(repoLocation.toString(), mirrorCount);
-				return infos;
-			} catch (Exception e) {
-				// log if absolute url
-				if (mirrorsURL != null && (mirrorsURL.startsWith("http://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("https://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("file://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("ftp://") //$NON-NLS-1$
-				|| mirrorsURL.startsWith("jar://"))) //$NON-NLS-1$
-					fail("Error processing mirrors URL: " + mirrorsURL, e); //$NON-NLS-1$
-				return null;
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
deleted file mode 100644
index 96dc81f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/MirrorSelectorTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.util.Arrays;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector.MirrorInfo;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * 
- */
-public class MirrorSelectorTest extends AbstractProvisioningTest {
-	public void testSorting() {
-		MirrorInfo one = new MirrorInfo("one", 0);
-		MirrorInfo two = new MirrorInfo("two", 1);
-		MirrorInfo three = new MirrorInfo("three", 2);
-		MirrorInfo four = new MirrorInfo("four", 3);
-
-		MirrorInfo[] sorted = new MirrorInfo[] {one, two, three, four};
-		Arrays.sort(sorted);
-		assertOrder("1.0", sorted, one, two, three, four);
-
-		//make sure order on initial rank is correct
-		sorted = new MirrorInfo[] {four, two, three, one};
-		Arrays.sort(sorted);
-		assertOrder("1.1", sorted, one, two, three, four);
-
-		//increase the failure count and ensure order is correctly updated
-		one.incrementFailureCount();
-		one.incrementFailureCount();
-		two.incrementFailureCount();
-		Arrays.sort(sorted);
-		assertOrder("1.2)", sorted, three, four, two, one);
-
-		//go back to default order
-		one = new MirrorInfo("one", 0);
-		two = new MirrorInfo("two", 1);
-		three = new MirrorInfo("three", 2);
-		four = new MirrorInfo("four", 3);
-		sorted = new MirrorInfo[] {one, two, three, four};
-
-		//set bit rate and ensure order is updated
-		two.setBytesPerSecond(200L);
-		Arrays.sort(sorted);
-		assertOrder("1.2)", sorted, two, one, three, four);
-
-		one.setBytesPerSecond(100L);
-		three.setBytesPerSecond(400L);
-		four.setBytesPerSecond(300L);
-		Arrays.sort(sorted);
-		assertOrder("1.2)", sorted, three, four, two, one);
-	}
-
-	private void assertOrder(String message, MirrorInfo[] sorted, MirrorInfo one, MirrorInfo two, MirrorInfo three, MirrorInfo four) {
-		assertTrue(message + ".1", sorted[0] == one);
-		assertTrue(message + ".1", sorted[1] == two);
-		assertTrue(message + ".1", sorted[2] == three);
-		assertTrue(message + ".1", sorted[3] == four);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
deleted file mode 100644
index e102bab..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 compeople AG 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:
- *		compeople AG (Stefan Liebig) - initial API and implementation
- *		Code 9 - ongoing development
- *		IBM - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.MappedCollectionIterator;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class SimpleArtifactRepositoryTest extends AbstractProvisioningTest {
-	//artifact repository to remove on tear down
-	private File repositoryFile = null;
-	private URI repositoryURI = null;
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		//repository location is not used by all tests
-		if (repositoryURI != null) {
-			getArtifactRepositoryManager().removeRepository(repositoryURI);
-			repositoryURI = null;
-		}
-		if (repositoryFile != null) {
-			delete(repositoryFile);
-			repositoryFile = null;
-		}
-	}
-
-	public void testGetActualLocation1() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository");
-		assertEquals(new URI(base + "/artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
-	}
-
-	public void testGetActualLocation2() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository/");
-		assertEquals(new URI(base + "artifacts.xml"), SimpleArtifactRepository.getActualLocation(base, false));
-	}
-
-	public void testGetActualLocation3() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository/artifacts.xml");
-		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, false));
-	}
-
-	public void testGetActualLocationCompressed1() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository");
-		assertEquals(new URI(base + "/artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
-	}
-
-	public void testGetActualLocationCompressed2() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository/");
-		assertEquals(new URI(base + "artifacts.jar"), SimpleArtifactRepository.getActualLocation(base, true));
-	}
-
-	public void testGetActualLocationCompressed3() throws Exception {
-		URI base = new URI("http://localhost/artifactRepository/artifacts.jar");
-		assertEquals(base, SimpleArtifactRepository.getActualLocation(base, true));
-	}
-
-	public void testCompressedRepository() throws ProvisionException {
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		repositoryFile = new File(tempDir, "SimpleArtifactRepositoryTest");
-		delete(repositoryFile);
-		repositoryURI = repositoryFile.toURI();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-		IArtifactRepository repo = artifactRepositoryManager.createRepository(repositoryURI, "artifact name", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-		repo.addDescriptor(descriptor);
-
-		File files[] = repositoryFile.listFiles();
-		boolean jarFilePresent = false;
-		boolean artifactFilePresent = false;
-		for (int i = 0; i < files.length; i++) {
-			if ("artifacts.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("artifacts.xml".equalsIgnoreCase(files[i].getName())) {
-				artifactFilePresent = false;
-			}
-		}
-		delete(repositoryFile);
-
-		if (!jarFilePresent)
-			fail("Repository should create JAR for artifact.xml");
-		if (artifactFilePresent)
-			fail("Repository should not create artifact.xml");
-	}
-
-	public void testUncompressedRepository() throws ProvisionException {
-		IArtifactRepositoryManager artifactRepositoryManager = getArtifactRepositoryManager();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		repositoryFile = new File(tempDir, "SimpleArtifactRepositoryTest");
-		delete(repositoryFile);
-		repositoryURI = repositoryFile.toURI();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "false");
-		IArtifactRepository repo = artifactRepositoryManager.createRepository(repositoryURI, "artifact name", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, null);
-		repo.addDescriptor(descriptor);
-
-		File files[] = repositoryFile.listFiles();
-		boolean jarFilePresent = false;
-		boolean artifactFilePresent = false;
-		for (int i = 0; i < files.length; i++) {
-			if ("artifacts.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("artifacts.xml".equalsIgnoreCase(files[i].getName())) {
-				artifactFilePresent = true;
-			}
-		}
-		delete(repositoryFile);
-
-		if (jarFilePresent)
-			fail("Repository should not create JAR for artifact.xml");
-		if (!artifactFilePresent)
-			fail("Repository should create artifact.xml");
-	}
-
-	public void testLoadInvalidLocation() {
-		try {
-			getArtifactRepositoryManager().loadRepository(new URI("file:d:/foo"), getMonitor());
-		} catch (ProvisionException e) {
-			//expected
-		} catch (URISyntaxException e) {
-			fail("4.99", e);
-		}
-	}
-
-	public void test_248772() {
-		SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory();
-		URI location = null;
-		location = new File(getTempFolder(), getUniqueString()).toURI();
-		factory.create(location, "test type", null, null);
-		try {
-			//bug 248951, ask for a modifiable repo
-			IRepository repo = factory.load(location, IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, new NullProgressMonitor());
-			assertNotNull(repo);
-			assertTrue(repo.isModifiable());
-		} catch (ProvisionException e) {
-			fail("2.0", e);
-		}
-	}
-
-	public void testErrorStatus() {
-		class TestStep extends ProcessingStep {
-			IStatus myStatus;
-
-			public TestStep(IStatus status) {
-				this.myStatus = status;
-			}
-
-			public void close() throws IOException {
-				setStatus(myStatus);
-				super.close();
-			}
-		}
-		repositoryURI = getTestData("Loading test data", "testData/artifactRepo/simple").toURI();
-		repositoryFile = new File(getTempFolder(), getUniqueString());
-
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().loadRepository(repositoryURI, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			fail("Failed to create repository", e);
-		}
-		IArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "aaPlugin", Version.create("1.0.0")));
-
-		OutputStream out = null;
-		try {
-			TestStep errStep = new TestStep(new Status(IStatus.ERROR, "plugin", "Error Step Message"));
-			TestStep warnStep = new TestStep(new Status(IStatus.WARNING, "plugin", "Warning Step Message"));
-			TestStep okStep = new TestStep(Status.OK_STATUS);
-			out = new FileOutputStream(repositoryFile);
-			(new ProcessingStepHandler()).link(new ProcessingStep[] {okStep, errStep, warnStep}, out, new NullProgressMonitor());
-			IStatus status = repo.getRawArtifact(descriptor, okStep, new NullProgressMonitor());
-			out.close();
-
-			// Only the error step should be collected
-			assertFalse(status.isOK());
-			assertTrue("Unexpected Severity", status.matches(IStatus.ERROR));
-			assertEquals(1, status.getChildren().length);
-
-			errStep = new TestStep(new Status(IStatus.ERROR, "plugin", "Error Step Message"));
-			warnStep = new TestStep(new Status(IStatus.WARNING, "plugin", "Warning Step Message"));
-			TestStep warnStep2 = new TestStep(new Status(IStatus.WARNING, "plugin", "2 - Warning Step Message"));
-			okStep = new TestStep(Status.OK_STATUS);
-			out = new FileOutputStream(repositoryFile);
-			(new ProcessingStepHandler()).link(new ProcessingStep[] {okStep, warnStep, errStep, warnStep2}, out, new NullProgressMonitor());
-			status = repo.getRawArtifact(descriptor, okStep, new NullProgressMonitor());
-			out.close();
-
-			// The first warning step and the error step should be collected 
-			assertFalse(status.isOK());
-			assertTrue("Unexpected Severity", status.matches(IStatus.ERROR));
-			assertEquals(2, status.getChildren().length);
-
-		} catch (IOException e) {
-			fail("Failed to create ouptut stream", e);
-		} finally {
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e) {
-					// don't care
-				}
-		}
-
-	}
-
-	/*
-	 * Test that the appropriate location for a packed feature is returned.
-	 */
-	public void testProperPackedFeatureLocation() {
-		try {
-			repositoryFile = getTempFolder();
-			repositoryURI = repositoryFile.toURI();
-
-			// Create a descriptor for a packed repo
-			ArtifactDescriptor descriptor = new ArtifactDescriptor(new ArtifactKey("org.eclipse.update.feature", "test", Version.parseVersion("1.0.0")));
-			descriptor.setProperty(IArtifactDescriptor.FORMAT, "packed");
-			descriptor.setProcessingSteps(new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)});
-
-			// Create repository
-			Map properties = new HashMap();
-			properties.put("publishPackFilesAsSiblings", Boolean.TRUE.toString());
-			SimpleArtifactRepository repo = (SimpleArtifactRepository) getArtifactRepositoryManager().createRepository(repositoryURI, "My Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-			URI location = repo.getLocation(descriptor);
-			assertNotNull("Null location returned", location);
-			assertTrue("Unexpected location", location.toString().endsWith(".pack.gz"));
-		} catch (Exception e) {
-			fail("Test failed", e);
-		}
-	}
-
-	private static class TestDescriptor implements IArtifactDescriptor {
-		private static final ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[0];
-		private IArtifactKey artifactKey;
-		private Properties properties = new Properties();
-
-		public TestDescriptor(IArtifactKey key) {
-			this.artifactKey = key;
-		}
-
-		public IArtifactKey getArtifactKey() {
-			return artifactKey;
-		}
-
-		public ProcessingStepDescriptor[] getProcessingSteps() {
-			return steps;
-		}
-
-		public Map getProperties() {
-			return properties;
-		}
-
-		public String getProperty(String key) {
-			return properties.getProperty(key);
-		}
-
-		public IArtifactRepository getRepository() {
-			return null;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof IArtifactDescriptor))
-				return false;
-
-			IArtifactDescriptor other = (IArtifactDescriptor) obj;
-			if (!artifactKey.equals(other.getArtifactKey()))
-				return false;
-
-			if (!Arrays.equals(steps, other.getProcessingSteps()))
-				return false;
-
-			String format = getProperty(FORMAT);
-			String otherFormat = other.getProperty(FORMAT);
-			if (format != null ? !format.equals(otherFormat) : otherFormat != null)
-				return false;
-
-			return true;
-		}
-
-		public int hashCode() {
-			String format = getProperty(FORMAT);
-
-			final int prime = 31;
-			int result = 1;
-			result = prime * result + ((artifactKey == null) ? 0 : artifactKey.hashCode());
-			result = prime * result + Arrays.asList(steps).hashCode();
-			result = prime * result + (format != null ? format.hashCode() : 0);
-			return result;
-		}
-	}
-
-	public void testAddContains() throws Exception {
-		File folder = getTestFolder("simple_AddContains");
-		repositoryURI = folder.toURI();
-
-		Map properties = new HashMap();
-		SimpleArtifactRepository repo = (SimpleArtifactRepository) getArtifactRepositoryManager().createRepository(repositoryURI, "My Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		TestDescriptor descriptor = new TestDescriptor(new ArtifactKey("osgi.bundle", "aaPlugin", Version.create("1.0.0")));
-		OutputStream stream = repo.getOutputStream(descriptor);
-		stream.write("I am an artifact\n".getBytes());
-		stream.close();
-
-		assertTrue(repo.contains(descriptor));
-
-		assertTrue(repo.contains(new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "aaPlugin", Version.create("1.0.0")))));
-
-	}
-
-	public void testQuery() throws Exception {
-		File folder = getTestFolder("ArtifactRepository_testQuery");
-		repositoryURI = folder.toURI();
-
-		IArtifactRepository repo = getArtifactRepositoryManager().createRepository(repositoryURI, "test", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, new HashMap());
-
-		ArtifactDescriptor d1 = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "a", Version.create("1.0.0")));
-		ArtifactDescriptor d2 = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "a", Version.create("2.0.0")));
-		ArtifactDescriptor d3 = new ArtifactDescriptor(new ArtifactKey("osgi.bundle", "a", Version.create("2.0.0")));
-		d3.setProperty(IArtifactDescriptor.FORMAT, "packed");
-
-		repo.addDescriptor(d1);
-		repo.addDescriptor(d2);
-		repo.addDescriptor(d3);
-
-		Collector result = repo.query(new ArtifactDescriptorQuery("a", null, null), null);
-		assertEquals(3, result.size());
-
-		result = repo.query(new ArtifactDescriptorQuery(null, new VersionRange("[2.0.0, 3.0.0)"), null), null);
-		assertEquals(2, result.size());
-		assertFalse(result.toCollection().contains(d1));
-
-		result = repo.query(new ArtifactDescriptorQuery(null, null, "packed"), null);
-		assertEquals(1, result.size());
-		assertTrue(result.toCollection().contains(d3));
-	}
-
-	public void testArtifactIterator() throws Exception {
-		HashMap map = new HashMap();
-
-		IArtifactKey key = new ArtifactKey("osgi.bundle", "a", Version.create("1.0.0"));
-		map.put(key, new ArtifactDescriptor(key));
-
-		Collection collection = new ArrayList(2);
-		key = new ArtifactKey("osgi.bundle", "a", Version.create("2.0.0"));
-		collection.add(new ArtifactDescriptor(key));
-		ArtifactDescriptor d = new ArtifactDescriptor(key);
-		d.setProperty(IArtifactDescriptor.FORMAT, "packed");
-		collection.add(d);
-		map.put(key, collection);
-
-		MappedCollectionIterator iterator = new MappedCollectionIterator(map, true);
-		assertTrue(iterator.hasNext());
-		Object o = iterator.next();
-		assertTrue(o instanceof IArtifactKey);
-		if (((IArtifactKey) o).getVersion().equals(Version.parseVersion("1.0.0"))) {
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.next() instanceof IArtifactKey);
-			assertTrue(iterator.hasNext());
-			assertFalse(iterator.hasNextKey());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertFalse(iterator.hasNext());
-		} else {
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertTrue(iterator.hasNext());
-			assertTrue(iterator.hasNextKey());
-			assertTrue(iterator.next() instanceof IArtifactKey);
-			assertTrue(iterator.hasNext());
-			assertFalse(iterator.hasNextKey());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertFalse(iterator.hasNext());
-		}
-	}
-
-	public void testArtifactIterator_2() throws Exception {
-		HashMap map = new HashMap();
-
-		IArtifactKey key = new ArtifactKey("osgi.bundle", "a", Version.create("1.0.0"));
-		map.put(key, new ArtifactDescriptor(key));
-
-		Collection collection = new ArrayList(2);
-		key = new ArtifactKey("osgi.bundle", "a", Version.create("2.0.0"));
-		collection.add(new ArtifactDescriptor(key));
-		ArtifactDescriptor d = new ArtifactDescriptor(key);
-		d.setProperty(IArtifactDescriptor.FORMAT, "packed");
-		collection.add(d);
-		map.put(key, collection);
-
-		MappedCollectionIterator iterator = new MappedCollectionIterator(map, false);
-		assertFalse(iterator.hasNextKey());
-		assertTrue(iterator.hasNext());
-		assertTrue(iterator.next() instanceof IArtifactDescriptor);
-		assertTrue(iterator.next() instanceof IArtifactDescriptor);
-		assertTrue(iterator.next() instanceof IArtifactDescriptor);
-		assertFalse(iterator.hasNext());
-
-		iterator = new MappedCollectionIterator(map, true);
-		Object o = iterator.next();
-		assertTrue(o instanceof IArtifactKey);
-		if (((IArtifactKey) o).getVersion().equals(Version.parseVersion("1.0.0"))) {
-			assertNotNull(iterator.nextKey());
-			assertFalse(iterator.hasNextKey());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-		} else {
-			assertNotNull(iterator.nextKey());
-			assertFalse(iterator.hasNextKey());
-			assertTrue(iterator.next() instanceof IArtifactDescriptor);
-		}
-		assertFalse(iterator.hasNext());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferExceptionsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferExceptionsTest.java
deleted file mode 100644
index 777a3a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferExceptionsTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.BundleException;
-
-/**
- * Test supposed to be used interactively to monitor the error message output.
- *
- */
-public class TransferExceptionsTest extends AbstractProvisioningTest {
-
-	public void testErrorMessages() {
-		FileOutputStream fos = null;
-		File f = null;
-		try {
-			f = File.createTempFile("TransferTest", "dummy.txt");
-			fos = new FileOutputStream(f);
-			Platform.getBundle("org.eclipse.ecf.provider.filetransfer").start();
-		} catch (IOException e) {
-			fail("1.0", e);
-		} catch (BundleException e) {
-			fail("1.5", e);
-		}
-		try {
-			IStatus s = RepositoryTransport.getInstance().download(new URI("bogus!bogus"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("1", s);
-			s = RepositoryTransport.getInstance().download(new URI("bogus://somewhere.else"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("2", s);
-			s = RepositoryTransport.getInstance().download(new URI("http:bogusURL"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("3", s);
-			s = RepositoryTransport.getInstance().download(new URI("http://bogusURL:80/"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("4", s);
-			s = RepositoryTransport.getInstance().download(new URI("http:/bogusURL:999999999999/"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("5", s);
-			s = RepositoryTransport.getInstance().download(new URI("http://bogus.nowhere"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("6", s);
-			s = RepositoryTransport.getInstance().download(new URI("http://www.eclipse.org/AFileThatDoesNotExist.foo"), fos, new NullProgressMonitor());
-			assertNotOK(s);
-			printStatus("7", s);
-		} catch (URISyntaxException e) {
-			fail("URI syntax exception where none was expected: " + e.getMessage());
-		}
-	}
-
-	private static void printStatus(String msg, IStatus s) {
-		System.err.print("TEST OUTPUT: " + msg + "\n");
-		System.err.print("     ");
-		System.err.print("Message [" + s.getMessage() + "] Exception Class[" + s.getException().getClass().getName() + "] ExceptionMessage[ ");
-		System.err.print(s.getException().getMessage() + "]\n");
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferTest.java
deleted file mode 100644
index c8d9fb3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/TransferTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository;
-
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class TransferTest extends AbstractProvisioningTest {
-
-	public void testGZFileAreNotUnzipped() throws URISyntaxException {
-		FileOutputStream fos = null;
-		File f = null;
-		try {
-			f = File.createTempFile("TransferTest", "pack.gz");
-			fos = new FileOutputStream(f);
-			Platform.getBundle("org.eclipse.ecf.provider.filetransfer").start();
-		} catch (IOException e) {
-			fail("1.0", e);
-		} catch (BundleException e) {
-			fail("1.5", e);
-		}
-		final URI toDownload = new URI("http://download.eclipse.org/eclipse/updates/3.4/plugins/javax.servlet.jsp_2.0.0.v200806031607.jar.pack.gz");
-		IStatus s = RepositoryTransport.getInstance().download(toDownload, fos, new NullProgressMonitor());
-		assertOK("2.0", s);
-		int httpSize = -1;
-		URL u;
-		try {
-			u = toDownload.toURL();
-			HttpURLConnection c = (HttpURLConnection) u.openConnection();
-			httpSize = c.getContentLength();
-		} catch (MalformedURLException e1) {
-			httpSize = -1;
-		} catch (IOException e) {
-			httpSize = -1;
-		}
-		try {
-			fos.close();
-			if (f != null) {
-				String[] ecfPlugins = new String[] {"org.eclipse.ecf", "org.eclipse.ecf.ssl", "org.eclipse.ecf.identity", "org.eclipse.ecf.filetransfer", "org.eclipse.ecf.provider.filetransfer", "org.eclipse.ecf.provider.filetransfer.ssl", "org.eclipse.ecf.provider.filetransfer.httpclient", "org.eclipse.ecf.provider.filetransfer.httpclient"};
-				StringBuffer buffer = new StringBuffer();
-				for (int i = 0; i < ecfPlugins.length; i++) {
-					Bundle bundle = Platform.getBundle(ecfPlugins[i]);
-					buffer.append(bundle.getSymbolicName()).append('-').append(bundle.getVersion()).append('\n');
-				}
-				assertTrue("4.0 - length found: " + f.length() + " using ECF bundles: " + buffer.toString(), f.length() < 50000);
-				assertTrue("5.0", httpSize == -1 ? true : (httpSize == f.length()));
-			}
-		} catch (IOException e) {
-			fail("5.0", e);
-		} finally {
-			if (f != null)
-				f.delete();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
deleted file mode 100644
index 841009f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Adder.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2008 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-
-public class Adder extends ProcessingStep {
-
-	protected int operand;
-
-	public Adder() {
-		// needed
-	}
-
-	public Adder(int operand) {
-		super();
-		this.operand = operand;
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			setStatus(new Status(code, Activator.ID, "Adder operand specification invalid", e));
-			return;
-		}
-	}
-
-	public void write(int b) throws IOException {
-		getDestination().write(b + operand);
-	}
-
-	public void close() throws IOException {
-		super.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java
deleted file mode 100644
index 091021b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ProcessingStepHandlerTest.class);
-		suite.addTestSuite(ProcessingStepTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
deleted file mode 100644
index cc8b8e2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ByteShifter.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2008 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-
-public class ByteShifter extends ProcessingStep {
-
-	protected int operand;
-
-	public ByteShifter() {
-		super();
-	}
-
-	public ByteShifter(int shiftLeft) {
-		super();
-		this.operand = shiftLeft;
-		basicInitialize(null);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		// if the status is already set to something that not ok, we've already found a problem.
-		if (!getStatus().isOK())
-			return;
-
-		int code;
-		// if there is a descriptor, decide if the "bad case" is an error or info.  If no 
-		// descriptor then default to error.
-		if (descriptor != null)
-			code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		else
-			code = IStatus.ERROR;
-
-		// finally, check the actual setup and set the status.
-		if (operand <= 0)
-			setStatus(new Status(code, Activator.ID, "ByteShifter operand invalid: " + operand));
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			setStatus(new Status(code, Activator.ID, "ByteShifter operand specification invalid", e));
-			return;
-		}
-		basicInitialize(descriptor);
-	}
-
-	public void write(int b) throws IOException {
-		getDestination().write(b == -1 ? b : b << operand);
-	}
-
-	public IStatus getStatus() {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
deleted file mode 100644
index ab8f724..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Counter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-
-public class Counter extends ProcessingStep {
-
-	protected long size = -1;
-	long total = 0;
-
-	public Counter() {
-		// needed
-	}
-
-	public Counter(long size) {
-		super();
-		this.size = size;
-		basicInitialize(null);
-	}
-
-	private void basicInitialize(ProcessingStepDescriptor descriptor) {
-		// if the status is already set to something that not ok, we've already found a problem.
-		if (!getStatus().isOK())
-			return;
-
-		int code;
-		// if there is a descriptor, decide if the "bad case" is an error or info.  If no 
-		// descriptor then default to error.
-		if (descriptor != null)
-			code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-		else
-			code = IStatus.ERROR;
-
-		// finally, check the actual setup and set the status.
-		if (size != -1)
-			setStatus(new Status(code, Activator.ID, "Counter size not set"));
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		String data = descriptor.getData();
-		if (data == null)
-			return;
-		try {
-			if (data.equals("download"))
-				size = Long.parseLong(context.getProperty(IArtifactDescriptor.DOWNLOAD_SIZE));
-			else if (data.equals("artifact"))
-				size = Long.parseLong(context.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
-			else
-				size = Long.parseLong(data);
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			setStatus(new Status(code, Activator.ID, "Counter size specification invalid", e));
-			return;
-		}
-		basicInitialize(descriptor);
-	}
-
-	public void write(int b) throws IOException {
-		total++;
-		getDestination().write(b);
-	}
-
-	public void close() throws IOException {
-		super.close();
-		if (total != size)
-			setStatus(new Status(IStatus.WARNING, "plugin id", "Size mismatch.  Was " + total + " should have been " + size));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
deleted file mode 100644
index a021278..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/Multiplier.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2008 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-
-public class Multiplier extends ProcessingStep {
-
-	protected int operand;
-
-	public Multiplier() {
-		// needed
-	}
-
-	public Multiplier(int operand) {
-		super();
-		this.operand = operand;
-	}
-
-	public void initialize(ProcessingStepDescriptor descriptor, IArtifactDescriptor context) {
-		super.initialize(descriptor, context);
-		try {
-			operand = Integer.valueOf(descriptor.getData()).intValue();
-		} catch (NumberFormatException e) {
-			int code = descriptor.isRequired() ? IStatus.ERROR : IStatus.INFO;
-			setStatus(new Status(code, Activator.ID, "Multiplier operand specification invalid", e));
-			return;
-		}
-	}
-
-	public void write(int b) throws IOException {
-		getDestination().write(b == -1 ? b : b * operand);
-	}
-
-	public void close() throws IOException {
-		super.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
deleted file mode 100644
index 109f60d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2009 compeople AG 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:
-* 	compeople AG (Stefan Liebig) - initial API and implementation
-*  IBM - continuing development
-*******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.*;
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.pack200.Pack200ProcessorStep;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.jarprocessor.PackStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.p2.repository.artifact.ProcessingStepDescriptor;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class ProcessingStepHandlerTest extends TestCase {
-
-	//	private static final int BUFFER_SIZE = 8 * 1024;
-
-	ProcessingStepHandler handler = new ProcessingStepHandler();
-	IProgressMonitor monitor = new NullProgressMonitor();
-
-	public void testExecuteNoPSs() throws IOException {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[0];
-		OutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.createAndLink(descriptors, null, result, monitor);
-		testStream.write("Test".getBytes());
-		testStream.close();
-		assertEquals("Test", result.toString());
-	}
-
-	public void testExecuteOneByteShifterPS() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {2}, result.toByteArray()));
-	}
-
-	public void testExecuteTwoByteShifterPSs() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1), new ByteShifter(2)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {8}, result.toByteArray()));
-	}
-
-	//	public void testExecuteOneMD5VerifierPSOk() throws IOException {
-	//		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("0cbc6611f5540bd0809a388dc95a615b")};
-	//		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-	//		OutputStream testStream = handler.link(steps, result, monitor);
-	//		testStream.write("Test".getBytes());
-	//		testStream.close();
-	//		assertEquals("Test", result.toString());
-	//	}
-	//
-	//	public void testExecuteOneMD5VerifierPSFails() throws IOException {
-	//		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("9cbc6611f5540bd0809a388dc95a615b")};
-	//		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-	//		OutputStream testStream = handler.link(steps, result, monitor);
-	//		testStream.write("Test".getBytes());
-	//		try {
-	//			testStream.close();
-	//			assertEquals("Test", result.toString());
-	//			assertTrue((ProcessingStepHandler.checkStatus(testStream).getSeverity() == IStatus.ERROR));
-	//		} catch (IOException e) {
-	//			assertTrue(true);
-	//		}
-	//	}
-	//
-	//	public void testExecuteOneByteShifterAndOneMD5VerifierPSOk() throws IOException {
-	//		// Order of PSs is important!!
-	//		ProcessingStep[] steps = new ProcessingStep[] {new ByteShifter(1), new MD5Verifier("ceeee507e8db83294600218b4e198897")};
-	//		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-	//		OutputStream testStream = handler.link(steps, result, monitor);
-	//		testStream.write(new byte[] {1, 2, 3, 4, 5});
-	//		testStream.close();
-	//		assertTrue(Arrays.equals(new byte[] {2, 4, 6, 8, 10}, result.toByteArray()));
-	//	}
-	//
-	//	public void testExecuteOneByteShifterAndOneMD5VerifierPSFailWrongOrder() throws IOException {
-	//		// Order of PSs is important - here it wrong!!
-	//		ProcessingStep[] steps = new ProcessingStep[] {new MD5Verifier("af476bbaf152a4c39ca4e5c498a88aa0"), new ByteShifter(1)};
-	//		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-	//		OutputStream testStream = handler.link(steps, result, monitor);
-	//		testStream.write(new byte[] {1, 2, 3, 4, 5});
-	//		try {
-	//			testStream.close();
-	//			assertTrue(Arrays.equals(new byte[] {2, 4, 6, 8, 10}, result.toByteArray()));
-	//			assertTrue((ProcessingStepHandler.checkStatus(testStream).getSeverity() == IStatus.ERROR));
-	//		} catch (IOException e) {
-	//			assertTrue(true);
-	//		}
-	//	}
-
-	public void testAssureOrderingOfPSs1() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new Adder(1), new Multiplier(2)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-	public void testAssureOrderingOfPSs2() throws IOException {
-		ProcessingStep[] steps = new ProcessingStep[] {new Multiplier(2), new Adder(1)};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {3, 5, 7, 9, 11}, result.toByteArray()));
-	}
-
-	public void testExecuteOnePack200UnpackerPS() throws IOException {
-		//this test is only applicable if pack200 is available
-		if (!PackStep.canPack())
-			return;
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		ByteArrayOutputStream result = new ByteArrayOutputStream(100000);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		IStatus status = ProcessingStepHandler.checkStatus(testStream);
-		assertTrue("Step is not ready.", status.isOK());
-		InputStream inputStream = TestActivator.getContext().getBundle().getEntry("testData/jarprocessor.jar.pack.gz").openStream();
-		FileUtils.copyStream(inputStream, true, testStream, true);
-		assertEquals(35062, result.size());
-	}
-
-	public void testCreateByteShifterPS() {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.ByteShifter", "1", true)};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		assertNotNull(steps);
-		assertEquals(1, steps.length);
-		assertEquals(ByteShifter.class, steps[0].getClass());
-	}
-
-	//	public void testCreateMD5VerifierPS() {
-	//		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.MD5Verifier", "1", true)};
-	//		ProcessingStep[] steps = handler.create(descriptors, null);
-	//		assertNotNull(steps);
-	//		assertEquals(1, steps.length);
-	//		assertEquals(MD5Verifier.class, steps[0].getClass());
-	//	}
-
-	public void testCreateAdderPS() {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true)};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		assertNotNull(steps);
-		assertEquals(1, steps.length);
-		assertEquals(Adder.class, steps[0].getClass());
-	}
-
-	public void testCreateMultiplierPS() {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true)};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		assertNotNull(steps);
-		assertEquals(1, steps.length);
-		assertEquals(Multiplier.class, steps[0].getClass());
-	}
-
-	public void testCreatePack200UnpackerPS() {
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		assertNotNull(steps);
-		assertEquals(1, steps.length);
-		assertEquals(Pack200ProcessorStep.class, steps[0].getClass());
-	}
-
-	public void testCreatePSsAndAssureOrderingOfPSs1() throws IOException {
-		ProcessingStepDescriptor adder = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStepDescriptor multiplier = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {adder, multiplier};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-	public void testCreatePSsAndAssureOrderingOfPSs2() throws IOException {
-		ProcessingStepDescriptor adder = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStepDescriptor multiplier = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {multiplier, adder};
-		ProcessingStep[] steps = handler.create(descriptors, null);
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.link(steps, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {3, 5, 7, 9, 11}, result.toByteArray()));
-	}
-
-	public void testLinkPSs() throws IOException {
-		ProcessingStepDescriptor adder = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Adder", "1", true);
-		ProcessingStepDescriptor multiplier = new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Multiplier", "2", true);
-		ProcessingStepDescriptor[] descriptors = new ProcessingStepDescriptor[] {adder, multiplier};
-		ByteArrayOutputStream result = new ByteArrayOutputStream(10);
-		OutputStream testStream = handler.createAndLink(descriptors, null, result, monitor);
-		testStream.write(new byte[] {1, 2, 3, 4, 5});
-		testStream.close();
-		assertTrue(Arrays.equals(new byte[] {4, 6, 8, 10, 12}, result.toByteArray()));
-	}
-
-	public void testPSHgetStatusOK() {
-		ProcessingStep ok1, ok2;
-		ok1 = new ProcessingStep() {
-			public IStatus getStatus() {
-				return Status.OK_STATUS;
-			}
-		};
-		ok2 = new ProcessingStep() {
-			public IStatus getStatus() {
-				return Status.OK_STATUS;
-			}
-		};
-
-		OutputStream testStream = handler.link(new ProcessingStep[] {ok1, ok2}, null, monitor);
-		IStatus status = ProcessingStepHandler.getStatus(testStream);
-		IStatus errStatus = ProcessingStepHandler.getStatus(testStream);
-		assertTrue(status.isOK() && errStatus.isOK());
-		assertTrue(!status.isMultiStatus());
-		assertTrue(!errStatus.isMultiStatus());
-	}
-
-	public void testPSHgetStatus() {
-		ProcessingStep ok, info, warning, error;
-		ok = new ProcessingStep() {
-			public IStatus getStatus() {
-				return Status.OK_STATUS;
-			}
-		};
-
-		info = new ProcessingStep() {
-			public IStatus getStatus() {
-				return new Status(IStatus.INFO, "ID", "INFO");
-			}
-		};
-
-		warning = new ProcessingStep() {
-			public IStatus getStatus() {
-				return new Status(IStatus.WARNING, "ID", "WARNING");
-			}
-		};
-
-		error = new ProcessingStep() {
-			public IStatus getStatus() {
-				return new Status(IStatus.ERROR, "ID", "ERROR");
-			}
-		};
-
-		OutputStream testStream = handler.link(new ProcessingStep[] {info, ok, error, warning}, null, monitor);
-		assertTrue(ProcessingStepHandler.getErrorStatus(testStream).getChildren().length == 2);
-		assertTrue(ProcessingStepHandler.getStatus(testStream, true).getChildren().length == 4);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
deleted file mode 100644
index 293d50e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.artifact.repository.processing;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-
-public class ProcessingStepTest extends TestCase {
-
-	private ProcessingStep ps;
-	private boolean flushed;
-	private boolean closed;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		ps = new ProcessingStep() {};
-		flushed = false;
-		closed = false;
-	}
-
-	public void testDefaultStatus() {
-		assertNotNull(ps.getStatus());
-		assertTrue(ps.getStatus().isOK());
-		assertTrue(ps.getStatus(false).isOK());
-		assertTrue(ps.getStatus(true).isOK());
-		assertTrue(ProcessingStepHandler.checkStatus(ps).isOK());
-	}
-
-	public void testGetDeepStatus() {
-		ProcessingStep ps2 = new ProcessingStep() {};
-		ps.link(ps2, new NullProgressMonitor());
-		assertTrue(ps.getStatus(true).isOK());
-
-		ps2.setStatus(new Status(IStatus.ERROR, "plugin id", "message"));
-		assertFalse(ps.getStatus(true).isOK());
-		assertTrue(ps.getStatus(true).isMultiStatus());
-		assertEquals(IStatus.ERROR, ps.getStatus(true).getSeverity());
-		MultiStatus multi = (MultiStatus) ps.getStatus(true);
-		assertEquals(2, multi.getChildren().length);
-
-		ProcessingStep ps3 = new ProcessingStep() {};
-		ps2.link(ps3, new NullProgressMonitor());
-		assertFalse(ps.getStatus(true).isOK());
-		assertTrue(ps.getStatus(true).isMultiStatus());
-		assertEquals(IStatus.ERROR, ps.getStatus(true).getSeverity());
-		multi = (MultiStatus) ps.getStatus(true);
-		assertEquals(3, multi.getChildren().length);
-
-		ps3.setStatus(Status.CANCEL_STATUS);
-		assertFalse(ps.getStatus(true).isOK());
-		assertTrue(ps.getStatus(true).isMultiStatus());
-		assertEquals(IStatus.CANCEL, ps.getStatus(true).getSeverity());
-	}
-
-	public void testFlush() throws IOException {
-		OutputStream destination = new OutputStream() {
-
-			public void write(int b) throws IOException {
-			}
-
-			public void flush() {
-				flushed = true;
-			}
-		};
-		ps.link(destination, new NullProgressMonitor());
-		ps.flush();
-		assertTrue(flushed);
-	}
-
-	public void testCloseSimpleOutputStreamAsDestination() throws IOException {
-		OutputStream destination = new OutputStream() {
-
-			public void write(int b) throws IOException {
-			}
-
-			public void close() {
-				closed = true;
-			}
-		};
-		ps.link(destination, new NullProgressMonitor());
-		ps.close();
-		assertFalse(closed);
-	}
-
-	public void testCloseProcessingStepAsDestination() throws IOException {
-		OutputStream destination = new ProcessingStep() {
-			public void close() {
-				closed = true;
-			}
-		};
-		ps.link(destination, new NullProgressMonitor());
-		ps.close();
-		assertTrue(closed);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
deleted file mode 100644
index 226aa55..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AggregateQueryTest.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * This tests both Compound and Composite queries
- * 
- */
-public class AggregateQueryTest extends TestCase {
-
-	public List getABCDE() {
-		return Arrays.asList("A", "B", "C", "D", "E");
-	}
-
-	public List get123() {
-		return Arrays.asList("1", "2", "3");
-	}
-
-	public void testEmptyCompositeQuery() {
-		PipedQuery query = new PipedQuery(new IQuery[0]);
-		query.perform(getABCDE().iterator(), new Collector());
-		// We should not throw an exception.  No guarantee on what perform
-		// will return in this case
-	}
-
-	public void testSymmetry() {
-		IQuery getLatest = new ContextQuery() {
-
-			public Collector perform(Iterator iterator, Collector result) {
-				List list = new ArrayList();
-				while (iterator.hasNext()) {
-					list.add(iterator.next());
-				}
-				Collections.sort(list);
-				result.accept(list.get(list.size() - 1));
-				return result;
-			}
-		};
-
-		IQuery getAllBut3 = new ContextQuery() {
-
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (!o.equals("3"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {getLatest, getAllBut3}, true);
-		Collector result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(0, result.size());
-
-		compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {getAllBut3, getLatest}, true);
-		result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(0, result.size());
-
-		compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {getLatest, getAllBut3}, false);
-		result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(3, result.size());
-
-		compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {getAllBut3, getLatest}, false);
-		result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(3, result.size());
-
-	}
-
-	/**
-	 * The CompositeQuery should not support symmetry.
-	 * This method tests that
-	 */
-	public void testNonSymmetry() {
-		IQuery getLatest = new ContextQuery() {
-
-			public Collector perform(Iterator iterator, Collector result) {
-				List list = new ArrayList();
-				while (iterator.hasNext()) {
-					list.add(iterator.next());
-				}
-				Collections.sort(list);
-				result.accept(list.get(list.size() - 1));
-				return result;
-			}
-		};
-
-		IQuery getAllBut3 = new ContextQuery() {
-
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (!o.equals("3"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		PipedQuery compoundQuery = new PipedQuery(new IQuery[] {getLatest, getAllBut3});
-		Collector result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(0, result.size());
-
-		compoundQuery = new PipedQuery(new IQuery[] {getAllBut3, getLatest});
-		result = compoundQuery.perform(get123().iterator(), new Collector());
-		assertEquals(1, result.size());
-		assertEquals("2", result.toCollection().iterator().next());
-
-	}
-
-	public void testCompoundAllMatchQueries() {
-		IQuery A = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return false;
-			}
-		};
-		IQuery B = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return false;
-			}
-		};
-		IQuery C = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return false;
-			}
-		};
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {A, B, C}, true);
-		assertTrue("1.0", compoundQuery instanceof IMatchQuery);
-		assertEquals("1.1", 3, compoundQuery.getQueries().length);
-		assertEquals("1.2", A, compoundQuery.getQueries()[0]);
-		assertEquals("1.3", B, compoundQuery.getQueries()[1]);
-		assertEquals("1.4", C, compoundQuery.getQueries()[2]);
-	}
-
-	public void testCompoundSomeMatchQueries() {
-		IQuery A = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return false;
-			}
-		};
-		IQuery B = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				// TODO Auto-generated method stub
-				return null;
-			}
-		};
-		IQuery C = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				return false;
-			}
-		};
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {A, B, C}, true);
-		assertTrue("1.0", !(compoundQuery instanceof IMatchQuery));
-		assertEquals("1.1", 3, compoundQuery.getQueries().length);
-		assertEquals("1.2", A, compoundQuery.getQueries()[0]);
-		assertEquals("1.3", B, compoundQuery.getQueries()[1]);
-		assertEquals("1.4", C, compoundQuery.getQueries()[2]);
-	}
-
-	public void testCompoundNoMatchQueries() {
-		IQuery A = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				// TODO Auto-generated method stub
-				return null;
-			}
-		};
-		IQuery B = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				// TODO Auto-generated method stub
-				return null;
-			}
-		};
-		IQuery C = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				// TODO Auto-generated method stub
-				return null;
-			}
-		};
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {A, B, C}, true);
-		assertTrue("1.0", !(compoundQuery instanceof IMatchQuery));
-		assertEquals("1.1", 3, compoundQuery.getQueries().length);
-		assertEquals("1.2", A, compoundQuery.getQueries()[0]);
-		assertEquals("1.3", B, compoundQuery.getQueries()[1]);
-		assertEquals("1.4", C, compoundQuery.getQueries()[2]);
-	}
-
-	public void testIntersection() {
-		IQuery ABC = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate.equals("A") || candidate.equals("B") || candidate.equals("C"))
-					return true;
-				return false;
-			}
-		};
-
-		IQuery BCDE = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate.equals("B") || candidate.equals("C") || candidate.equals("D") || candidate.equals("E"))
-					return true;
-				return false;
-			}
-		};
-
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {ABC, BCDE}, true);
-		Collector result = compoundQuery.perform(getABCDE().iterator(), new Collector());
-		assertEquals("1.0", result.size(), 2);
-		assertTrue("1.1", result.toCollection().contains("B"));
-		assertTrue("1.2", result.toCollection().contains("C"));
-	}
-
-	public void testIntersection2() {
-		IQuery ABC = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (o.equals("A") || o.equals("B") || o.equals("C"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		IQuery BCDE = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (o.equals("B") || o.equals("C") || o.equals("D") || o.equals("E"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {ABC, BCDE}, true);
-		Collector result = compoundQuery.perform(getABCDE().iterator(), new Collector());
-		assertEquals("1.0", result.size(), 2);
-		assertTrue("1.1", result.toCollection().contains("B"));
-		assertTrue("1.2", result.toCollection().contains("C"));
-	}
-
-	public void testUnion() {
-		IQuery ABC = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate.equals("A") || candidate.equals("B") || candidate.equals("C"))
-					return true;
-				return false;
-			}
-		};
-
-		IQuery BCDE = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate.equals("B") || candidate.equals("C") || candidate.equals("D") || candidate.equals("E"))
-					return true;
-				return false;
-			}
-		};
-
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {ABC, BCDE}, false);
-		Collector result = compoundQuery.perform(getABCDE().iterator(), new Collector());
-		assertEquals("1.0", result.size(), 5);
-		assertTrue("1.1", result.toCollection().contains("A"));
-		assertTrue("1.2", result.toCollection().contains("B"));
-		assertTrue("1.3", result.toCollection().contains("C"));
-		assertTrue("1.4", result.toCollection().contains("D"));
-		assertTrue("1.5", result.toCollection().contains("E"));
-	}
-
-	public void testUnion2() {
-		IQuery ABC = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (o.equals("A") || o.equals("B") || o.equals("C"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		IQuery BCDE = new ContextQuery() {
-			public Collector perform(Iterator iterator, Collector result) {
-				while (iterator.hasNext()) {
-					Object o = iterator.next();
-					if (o.equals("B") || o.equals("C") || o.equals("D") || o.equals("E"))
-						result.accept(o);
-				}
-				return result;
-			}
-		};
-
-		CompoundQuery compoundQuery = CompoundQuery.createCompoundQuery(new IQuery[] {ABC, BCDE}, false);
-		Collector result = compoundQuery.perform(getABCDE().iterator(), new Collector());
-		assertEquals("1.0", result.size(), 5);
-		assertTrue("1.1", result.toCollection().contains("A"));
-		assertTrue("1.2", result.toCollection().contains("B"));
-		assertTrue("1.3", result.toCollection().contains("C"));
-		assertTrue("1.4", result.toCollection().contains("D"));
-		assertTrue("1.5", result.toCollection().contains("E"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
deleted file mode 100644
index 296b16f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import junit.framework.*;
-
-/**
- * Performs all automated core tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CollectorTest.class);
-		suite.addTestSuite(FileUtilsTest.class);
-		suite.addTestSuite(OrderedPropertiesTest.class);
-		suite.addTestSuite(QueryTest.class);
-		suite.addTestSuite(AggregateQueryTest.class);
-		suite.addTestSuite(CompoundQueryableTest.class);
-		suite.addTestSuite(URLUtilTest.class);
-		suite.addTestSuite(BackupTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/BackupTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/BackupTest.java
deleted file mode 100644
index a432117..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/BackupTest.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.io.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.BackupStore;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class BackupTest extends AbstractProvisioningTest {
-	private static final String BUPREFIX = "BackupTest";
-	private File sourceDir;
-	private File aDir;
-	private File aaDir;
-	private File bDir;
-	private File aTxt;
-	private File bTxt;
-	private File abDir;
-	private File cTxt;
-	private File cTxtRelative;
-
-	/**
-	 * Sets up directories and files under user.home
-	 * <ul><li>P2BUTEST/</li>
-	 *     <ul><li>A/</li>
-	 *         <ul><li>AA/</li>
-	 *             <ul><li>a.txt</li>
-	 *                 <li>b.txt</li>
-	 *             </ul>
-	 *         </ul>
-	 *         <li>B/</li>
-	 *     </ul>
-	 * </ul>
-	 */
-	public void setUp() {
-		// create some test files under user.home
-		// do not want them under /tmp as it may be on its own file system (and even 
-		// be an in-memory file system).
-		//
-		String userHome = System.getProperty("user.home");
-		sourceDir = new File(new File(userHome), "P2BUTEST");
-		aDir = new File(sourceDir, "A");
-		aDir.mkdirs();
-		aaDir = new File(aDir, "AA");
-		aaDir.mkdir();
-		abDir = new File(aDir, "AB");
-		abDir.mkdir();
-
-		bDir = new File(sourceDir, "B");
-		bDir.mkdirs();
-		aTxt = new File(aaDir, "a.txt");
-		bTxt = new File(aaDir, "b.txt");
-		cTxt = new File(abDir, "c.txt");
-		cTxtRelative = new File(aaDir, "../AB/c.txt");
-		try {
-			writeToFile(aTxt, "A\nA file with an A");
-			writeToFile(bTxt, "B\nA file with a B");
-			writeToFile(cTxt, "C\nA file with a C");
-		} catch (IOException e) {
-			fail();
-		}
-
-	}
-
-	private void writeToFile(File file, String content) throws IOException {
-		file.getParentFile().mkdirs();
-		file.createNewFile();
-		Writer writer = new BufferedWriter(new FileWriter(file));
-		try {
-			writer.write(content);
-		} finally {
-			writer.close();
-		}
-	}
-
-	public void tearDown() {
-		fullyDelete(sourceDir);
-	}
-
-	/**
-	 * Deletes a file, or a directory with all of it's children.
-	 * @param file the file or directory to fully delete
-	 * @return true if, and only if the file is deleted
-	 */
-	private boolean fullyDelete(File file) {
-		if (!file.exists())
-			return true;
-		if (file.isDirectory()) {
-			File[] children = file.listFiles();
-			for (int i = 0; i < children.length; i++)
-				if (!fullyDelete(new File(file, children[i].getName())))
-					return false;
-		}
-		return file.delete();
-	}
-
-	/**
-	 * Test that a path containing ".." can be backed up and restored.
-	 */
-	public void testBackupRelative() {
-		BackupStore store = new BackupStore(null, BUPREFIX);
-		// backup and overwrite a.txt
-		try {
-			store.backup(cTxtRelative);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up cTxtRelative");
-		}
-		if (cTxt.exists())
-			fail("File not moved to backup - still exists");
-		try {
-			writeToFile(cTxt, "XXXX\n- This file should be restored with C");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Could not write a file for testing purposes.");
-		}
-
-		// restore
-		try {
-			store.restore();
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Restore operation failed with IOException");
-		}
-		// assert restore
-		assertFileContent("Restore of C failed - not original content", cTxt, "C");
-		assertNoGarbage(store);
-	}
-
-	public void testBackupRestore() {
-		BackupStore store = new BackupStore(null, BUPREFIX);
-		// backup and overwrite a.txt
-		try {
-			store.backup(aTxt);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up aTxt");
-		}
-		if (aTxt.exists())
-			fail("File not moved to backup - still exists");
-		try {
-			writeToFile(aTxt, "XXXX\n- This file should be restored with A");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Could not write a file for testing purposes.");
-		}
-
-		// backup the empty B directory
-		try {
-			store.backup(bDir);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up bDir");
-		}
-		if (bDir.exists())
-			fail("Backed up directory was not moved");
-
-		// backup b as a copy
-		try {
-			store.backupCopy(bTxt);
-			assertFileContent("File should have been copied", bTxt, "B");
-		} catch (IOException e) {
-			fail("Could not backupCopy bTxt");
-		}
-
-		// restore
-		try {
-			store.restore();
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Restore operation failed with IOException");
-		}
-
-		// assert restore
-		assertFileContent("Restore of A failed - not original content", aTxt, "A");
-		if (!bDir.isDirectory() && bDir.listFiles().length != 0)
-			fail("Empty directory not restored ok");
-
-		assertNoGarbage(store);
-	}
-
-	public void testBackupDiscard() {
-		BackupStore store = new BackupStore(null, BUPREFIX);
-		// backup and overwrite a.txt
-		try {
-			store.backup(aTxt);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up aTxt");
-		}
-		if (aTxt.exists())
-			fail("File not moved to backup - still exists");
-		try {
-			writeToFile(aTxt, "XXXX\n- This file should be restored with A");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Could not write a file for testing purposes.");
-		}
-
-		// backup the empty B directory
-		try {
-			store.backup(bDir);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up bDir");
-		}
-		if (bDir.exists())
-			fail("Backed up directory was not moved");
-
-		// restore
-		store.discard();
-
-		// assert discard
-		assertFileContent("Discard of A failed - not new content", aTxt, "XXXX");
-		if (bDir.isDirectory())
-			fail("Remove of empty directory not discarded ok");
-
-		assertNoGarbage(store);
-	}
-
-	public void testBackupAll() {
-		BackupStore store = new BackupStore(null, BUPREFIX);
-		// backup and overwrite a.txt
-		try {
-			store.backupAll(aDir);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up aDir");
-		}
-		if (aTxt.exists())
-			fail("File not moved to backup - still exists");
-		if (bTxt.exists())
-			fail("File bTxt not moved to backup - still exists");
-
-		try {
-			writeToFile(aTxt, "XXXX\n- This file should be restored with A");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Could not write a file for testing purposes.");
-		}
-		try {
-			store.restore();
-		} catch (IOException e) {
-			fail("Restore failed");
-		}
-		assertFileContent("A not restored", aTxt, "A");
-		assertFileContent("B not restored", bTxt, "B");
-		assertNoGarbage(store);
-	}
-
-	public void testBackupCopyAll() {
-		BackupStore store = new BackupStore(null, BUPREFIX);
-		// backup and overwrite a.txt
-		try {
-			store.backupCopyAll(aDir);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IO Exception when backing up aDir");
-		}
-		if (!aTxt.exists())
-			fail("File not copied to backup - does not exist");
-		if (!bTxt.exists())
-			fail("File bTxt not copied to backup - does not exists");
-
-		try {
-			writeToFile(aTxt, "XXXX\n- This file should be restored with A");
-			writeToFile(bTxt, "XXXX\n- This file should be restored with B");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("Could not write a file for testing purposes.");
-		}
-		try {
-			store.restore();
-		} catch (IOException e) {
-			fail("Restore failed");
-		}
-		assertFileContent("A not restored", aTxt, "A");
-		assertFileContent("B not restored", bTxt, "B");
-		assertNoGarbage(store);
-	}
-
-	private void assertNoGarbage(BackupStore store) {
-		File buDir = new File(store.getBackupRoot(), BUPREFIX);
-		if (buDir.exists())
-			fail("Backup directory not cleaned up");
-
-		//		Set roots = store.getBackupRoots();
-		//		if (roots.size() == 0)
-		//			assertTrue("Root set is empty", true);
-		//		for (Iterator itor = roots.iterator(); itor.hasNext();) {
-		//			File root = (File) itor.next();
-		//			File buDir = new File(root, BUPREFIX);
-		//			if (buDir.exists())
-		//				fail("Backup directory not cleaned up");
-		//		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java
deleted file mode 100644
index 8a1c965..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CollectorTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests for {@link Collector}.
- */
-public class CollectorTest extends AbstractProvisioningTest {
-	public void testAccept() {
-		Collector collector = new Collector();
-		String value = "value";
-		collector.accept(value);
-		Object[] result = collector.toArray(Object.class);
-		assertEquals("1.0", 1, result.length);
-		assertEquals("1.1", value, result[0]);
-
-		//adding a second copy of the same object is rejected
-		collector.accept(new String(value));
-		result = collector.toArray(Object.class);
-		assertEquals("1.0", 1, result.length);
-		assertEquals("1.1", value, result[0]);
-	}
-
-	public void testIsEmpty() {
-		Collector collector = new Collector();
-		assertEquals("1.0", true, collector.isEmpty());
-		collector.accept("value");
-		assertEquals("1.0", false, collector.isEmpty());
-	}
-
-	/**
-	 * This tests the query method on the collector.
-	 */
-	public void testCompositeCollectors() {
-		String[] s = new String[] {"A", "B", "C", "D", "E", "F", "G", "1", "2", "3", "4", "5", "6", "7"};
-		List list = Arrays.asList(s);
-		IQuery numeric = new MatchQuery() {
-
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).compareTo("0") > 0 && ((String) candidate).compareTo("8") < 0) {
-					return true;
-				}
-				return false;
-			}
-		};
-
-		IQuery fourOrFiveOrABC = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).equals("4") || ((String) candidate).equals("5") || ((String) candidate).equals("A") || ((String) candidate).equals("B") || ((String) candidate).equals("C")) {
-					return true;
-				}
-				return false;
-			}
-		};
-		Collector collector = numeric.perform(list.iterator(), new Collector());
-		assertEquals("1.0", 7, collector.toCollection().size());
-
-		collector = collector.query(fourOrFiveOrABC, null);
-		Collection collection = collector.toCollection();
-		assertEquals("2.0", 2, collection.size());
-		assertTrue("2.1", collection.contains("4"));
-		assertTrue("2.2", collection.contains("5"));
-	}
-
-	public void testSameCollector() {
-		String[] s = new String[] {"A", "B", "C", "D", "E", "F", "G", "1", "2", "3", "4", "5", "6", "7"};
-		List list = Arrays.asList(s);
-		IQuery numeric = new MatchQuery() {
-
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).compareTo("0") > 0 && ((String) candidate).compareTo("8") < 0) {
-					return true;
-				}
-				return false;
-			}
-		};
-
-		IQuery fourOrFiveOrABC = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).equals("4") || ((String) candidate).equals("5") || ((String) candidate).equals("A") || ((String) candidate).equals("B") || ((String) candidate).equals("C")) {
-					return true;
-				}
-				return false;
-			}
-		};
-		Collector collector = numeric.perform(list.iterator(), new Collector());
-		assertEquals("1.0", 7, collector.toCollection().size());
-
-		collector.addAll(collector.query(fourOrFiveOrABC, null));
-		Collection collection = collector.toCollection();
-		assertEquals("2.0", 7, collection.size());
-	}
-
-	/**
-	 * This tests the query method on the collector.
-	 */
-	public void testEmptyCompositeCollectors() {
-		String[] s = new String[] {"A", "B", "C", "D", "E", "F", "G", "1", "2", "3", "4", "5", "6", "7"};
-		List list = Arrays.asList(s);
-		IQuery eightOrNine = new MatchQuery() {
-
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).compareTo("8") > 0 && ((String) candidate).compareTo("9") < 0) {
-					return true;
-				}
-				return false;
-			}
-		};
-
-		IQuery fourOrFiveOrABC = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (((String) candidate).equals("4") || ((String) candidate).equals("5") || ((String) candidate).equals("A") || ((String) candidate).equals("B") || ((String) candidate).equals("C")) {
-					return true;
-				}
-				return false;
-			}
-		};
-		Collector collector = eightOrNine.perform(list.iterator(), new Collector());
-		assertEquals("1.0", 0, collector.toCollection().size());
-
-		collector = collector.query(fourOrFiveOrABC, null);
-		Collection collection = collector.toCollection();
-		assertEquals("2.0", 0, collection.size());
-	}
-
-	public void testToCollection() {
-		Collector collector = new Collector();
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 0, result.size());
-		//collection should be immutable
-		try {
-			result.add("value");
-			fail("1.1");
-		} catch (RuntimeException e) {
-			//expected
-		}
-
-		String value = "value";
-		collector.accept(value);
-		result = collector.toCollection();
-		assertEquals("2.0", 1, result.size());
-		assertEquals("2.1", value, result.iterator().next());
-		//collection should be immutable
-		try {
-			result.clear();
-			fail("2.2");
-		} catch (RuntimeException e) {
-			//expected
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
deleted file mode 100644
index 0624223..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/CompoundQueryableTest.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.tests.harness.TestProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * Tests the compound queryable
- */
-public class CompoundQueryableTest extends TestCase {
-
-	public static class CompoundQueryTestProgressMonitor extends TestProgressMonitor {
-
-		private boolean isDone;
-		private int assignedWork = 0;
-		private int amountWorked = 0;
-
-		public void beginTask(String name, int totalWork) {
-			super.beginTask(name, totalWork);
-			this.assignedWork += totalWork;
-		}
-
-		public void worked(int work) {
-			amountWorked += work;
-		}
-
-		public boolean isWorkDone() {
-			return amountWorked == assignedWork;
-		}
-
-		public boolean isDone() {
-			return this.isDone;
-		}
-
-		public void done() {
-			super.done();
-			this.isDone = true;
-		}
-	}
-
-	static Iterator createIterator(Object[] array) {
-		return Arrays.asList(array).iterator();
-	}
-
-	IQueryable queryable1 = new IQueryable() {
-		Integer[] elements = new Integer[] {1, 2, 3, 4, 5};
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			try {
-				monitor.beginTask("", 10);
-				collector = query.perform(createIterator(elements), collector);
-				monitor.worked(10);
-			} finally {
-				monitor.done();
-			}
-			return collector;
-		}
-	};
-
-	IQueryable queryable2 = new IQueryable() {
-		Integer[] elements = new Integer[] {4, 6, 8, 10, 12};
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			try {
-				monitor.beginTask("", 10);
-				collector = query.perform(createIterator(elements), collector);
-				monitor.worked(10);
-			} finally {
-				monitor.done();
-			}
-			return collector;
-		}
-	};
-
-	IQueryable queryable3 = new IQueryable() {
-		Integer[] elements = new Integer[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
-
-		public Collector query(IQuery query, IProgressMonitor monitor) {
-			Collector collector = new Collector();
-			try {
-				monitor.beginTask("", 10);
-				collector = query.perform(createIterator(elements), collector);
-				monitor.worked(10);
-			} finally {
-				monitor.done();
-			}
-			return collector;
-		}
-	};
-
-	IQuery matchQuery = new MatchQuery() {
-
-		public boolean isMatch(Object candidate) {
-			if (candidate instanceof Integer) {
-				int x = ((Integer) candidate).intValue();
-				if (x % 2 == 0)
-					return true;
-			}
-			return false;
-		}
-	};
-
-	IQuery matchMod4query = new MatchQuery() {
-		public boolean isMatch(Object candidate) {
-			if (candidate instanceof Integer) {
-				int x = ((Integer) candidate).intValue();
-				if (x % 4 == 0)
-					return true;
-			}
-			return false;
-		}
-	};
-
-	IQuery contextQuery = new ContextQuery() {
-
-		public Collector perform(Iterator iterator, Collector result) {
-			while (iterator.hasNext()) {
-				Object o = iterator.next();
-				if (o instanceof Integer && ((Integer) o).intValue() % 2 == 0) {
-					result.accept(o);
-				}
-			}
-			return result;
-		}
-
-	};
-
-	IQuery greatestNumberQuery = new ContextQuery() {
-		public Collector perform(Iterator iterator, Collector result) {
-			int greatest = Integer.MIN_VALUE;
-			while (iterator.hasNext()) {
-				int item = ((Integer) iterator.next()).intValue();
-				if (item > greatest)
-					greatest = item;
-			}
-			if (greatest == Integer.MIN_VALUE)
-				return result;
-			result.accept(greatest);
-			return result;
-		}
-	};
-
-	public void testMatchQuery() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(matchQuery, monitor);
-		assertEquals("1.0", 6, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.1", collection.contains(2));
-		assertTrue("1.2", collection.contains(4));
-		assertTrue("1.3", collection.contains(6));
-		assertTrue("1.4", collection.contains(8));
-		assertTrue("1.5", collection.contains(10));
-		assertTrue("1.6", collection.contains(12));
-	}
-
-	public void testSingleQueryable() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(matchQuery, monitor);
-		assertEquals("1.0", 2, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.1", collection.contains(2));
-		assertTrue("1.2", collection.contains(4));
-	}
-
-	public void testSingleContextQuery() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(greatestNumberQuery, monitor);
-		assertEquals("1.0", 1, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.1", collection.contains(5));
-	}
-
-	public void testMultipleContextQueries() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(greatestNumberQuery, monitor);
-		assertEquals("1.0", 1, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.1", collection.contains(12));
-	}
-
-	public void testCompoundMatchAndQuery() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(CompoundQuery.createCompoundQuery(new IQuery[] {matchQuery, matchMod4query}, true), monitor);
-		assertEquals("1.0", 3, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.2", collection.contains(4));
-		assertTrue("1.4", collection.contains(8));
-		assertTrue("1.6", collection.contains(12));
-	}
-
-	public void testCompoundMatchOrQuery() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(CompoundQuery.createCompoundQuery(new IQuery[] {matchQuery, matchMod4query}, false), monitor);
-		assertEquals("1.0", 6, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.2", collection.contains(2));
-		assertTrue("1.2", collection.contains(4));
-		assertTrue("1.2", collection.contains(6));
-		assertTrue("1.4", collection.contains(8));
-		assertTrue("1.2", collection.contains(10));
-		assertTrue("1.6", collection.contains(12));
-	}
-
-	public void testMatchQueryProgressMonitor() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		cQueryable.query(matchQuery, monitor);
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-
-	public void testSingleQueryableProgressMonitor() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		cQueryable.query(matchQuery, monitor);
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-
-	public void testSingleContextQueryProgressMonitor() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		cQueryable.query(greatestNumberQuery, monitor);
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-
-	public void testMultipleContextQueriesProgressMonitor() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		cQueryable.query(greatestNumberQuery, monitor);
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-
-	public void testNullProgressMonitor() {
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {queryable1, queryable2});
-		cQueryable.query(greatestNumberQuery, null);
-		// this is the same as above will null passed in, this should not throw any exceptions
-
-	}
-
-	public void testDoubleCompoundContextOrQuery() {
-		CompoundQueryable cQueryable1 = new CompoundQueryable(new IQueryable[] {queryable3, queryable2});
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {cQueryable1, queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(CompoundQuery.createCompoundQuery(new IQuery[] {contextQuery, greatestNumberQuery}, false), monitor);
-		assertEquals("1.0", 7, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.2", collection.contains(2));
-		assertTrue("1.2", collection.contains(4));
-		assertTrue("1.2", collection.contains(6));
-		assertTrue("1.4", collection.contains(8));
-		assertTrue("1.2", collection.contains(10));
-		assertTrue("1.6", collection.contains(12));
-		assertTrue("1.6", collection.contains(13));
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-
-	public void testDoubleCompositeQuery() {
-		CompoundQueryable cQueryable1 = new CompoundQueryable(new IQueryable[] {queryable3, queryable2});
-		CompoundQueryable cQueryable = new CompoundQueryable(new IQueryable[] {cQueryable1, queryable1});
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		Collector collector = cQueryable.query(new PipedQuery(new IQuery[] {contextQuery, greatestNumberQuery}), monitor);
-		assertEquals("1.0", 1, collector.size());
-		Collection collection = collector.toCollection();
-		assertTrue("1.2", collection.contains(12));
-		assertTrue("1.0", monitor.isDone());
-		assertTrue("1.1", monitor.isWorkDone());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/FileUtilsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/FileUtilsTest.java
deleted file mode 100644
index 0a1b286..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/FileUtilsTest.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008,2009 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
- *     EclipseSource - Bug fix
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils.IPathComputer;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 3.5
- */
-public class FileUtilsTest extends AbstractProvisioningTest {
-
-	/*
-	 * Test that we can expand zip files and gzip'd tar files.
-	 */
-	public void testUnzip() {
-		File temp = getTempFolder();
-		File one = new File(temp, "a.txt");
-		File two = new File(temp, "b/b.txt");
-
-		File data = getTestData("1.0", "testData/core/a.zip");
-		try {
-			FileUtils.unzipFile(data, temp);
-		} catch (IOException e) {
-			fail("1.99", e);
-		}
-		assertTrue("1.1", one.exists());
-		delete(one);
-		assertTrue("1.2", !one.exists());
-
-		data = getTestData("2.0", "testData/core/a2.zip");
-		try {
-			FileUtils.unzipFile(data, temp);
-		} catch (IOException e) {
-			fail("2.99", e);
-		}
-		assertTrue("2.1", one.exists());
-		assertTrue("2.2", two.exists());
-		delete(one);
-		delete(two);
-		assertTrue("2.3", !one.exists());
-		assertTrue("2.4", !two.exists());
-
-		data = getTestData("3.0", "testData/core/a.tar.gz");
-		try {
-			FileUtils.unzipFile(data, temp);
-		} catch (IOException e) {
-			fail("3.99", e);
-		}
-		assertTrue("3.1", one.exists());
-		delete(one);
-		assertTrue("3.2", !one.exists());
-
-		data = getTestData("2.0", "testData/core/a2.tar.gz");
-		try {
-			FileUtils.unzipFile(data, temp);
-		} catch (IOException e) {
-			fail("3.99", e);
-		}
-		assertTrue("3.1", one.exists());
-		assertTrue("3.2", two.exists());
-		delete(one);
-		delete(two);
-		assertTrue("3.3", !one.exists());
-		assertTrue("3.4", !two.exists());
-
-	}
-
-	public void testZipRootPathComputer() {
-		File temp = getTempFolder();
-
-		File data = getTestData("1.0", "testData/core/a");
-		File archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createRootPathComputer(data));
-		} catch (IOException e) {
-			fail("1.99", e);
-		}
-		assertTrue("1.1", archive.exists());
-		assertTrue("1.2", archive.length() > 0);
-		assertExists("1.3", archive, "a.txt");
-
-		data = getTestData("2.0", "testData/core/a2");
-		archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createRootPathComputer(data));
-		} catch (IOException e) {
-			fail("2.99", e);
-		}
-		assertTrue("2.1", archive.exists());
-		assertTrue("2.2", archive.length() > 0);
-		assertExists("2.3", archive, "a.txt");
-		assertExists("2.4", archive, "b/b.txt");
-		assertExists("2.5", archive, "b/");
-	}
-
-	public void testZipDynamicPathComputer() {
-		File temp = getTempFolder();
-
-		File data = getTestData("1.0", "testData/core/a2");
-		File archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createDynamicPathComputer(0));
-			fail("1.99");
-		} catch (IOException e) {
-			// should fail
-		}
-
-		archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createDynamicPathComputer(1));
-		} catch (IOException e) {
-			fail("2.99", e);
-		}
-		assertTrue("2.1", archive.exists());
-		assertTrue("2.2", archive.length() > 0);
-		assertExists("2.3", archive, "a.txt");
-		assertExists("2.4", archive, "b.txt");
-
-		archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createDynamicPathComputer(2));
-		} catch (IOException e) {
-			fail("3.99", e);
-		}
-		assertTrue("3.1", archive.exists());
-		assertTrue("3.2", archive.length() > 0);
-		assertExists("3.3", archive, "a2/a.txt");
-		assertExists("3.3.1", archive, "a2/");
-		assertExists("3.4", archive, "b/b.txt");
-		assertExists("3.4.1", archive, "b/");
-
-		archive = new File(temp, getUniqueString() + ".zip");
-		File[] input = new File[] {getTestData("4.0", "testData/core/x/y"), getTestData("4.0", "testData/core/z")};
-		try {
-			FileUtils.zip(input, null, archive, FileUtils.createDynamicPathComputer(2));
-		} catch (IOException e) {
-			fail("4.99", e);
-		}
-		assertTrue("4.1", archive.exists());
-		assertTrue("4.2", archive.length() > 0);
-		assertExists("4.3", archive, "features/feature.txt");
-		assertExists("4.3.1", archive, "features/");
-		assertExists("4.4", archive, "plugins/bundle.txt");
-		assertExists("4.4.1", archive, "plugins/");
-	}
-
-	public void testZipParentPrefixComputer() {
-		File temp = getTempFolder();
-
-		File data = getTestData("1.0", "testData/core/a2");
-		File archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createParentPrefixComputer(0));
-			fail("0.99");
-		} catch (IOException e) {
-			// should fail
-		}
-
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createParentPrefixComputer(1));
-		} catch (IOException e) {
-			fail("1.99", e);
-		}
-		assertTrue("1.1", archive.exists());
-		assertTrue("1.2", archive.length() > 0);
-		assertExists("1.3", archive, "a.txt");
-		assertExists("1.4", archive, "b.txt");
-
-		archive = new File(temp, getUniqueString() + ".zip");
-		try {
-			FileUtils.zip(data.listFiles(), null, archive, FileUtils.createParentPrefixComputer(2));
-		} catch (IOException e) {
-			fail("2.99", e);
-		}
-		assertTrue("2.1", archive.exists());
-		assertTrue("2.2", archive.length() > 0);
-		assertExists("2.3", archive, "a2/a.txt");
-		assertExists("2.4", archive, "b/b.txt");
-
-		archive = new File(temp, getUniqueString() + ".zip");
-		File[] input = new File[] {getTestData("4.0", "testData/core/x/y"), getTestData("4.0", "testData/core/z")};
-		try {
-			FileUtils.zip(input, null, archive, FileUtils.createParentPrefixComputer(2));
-		} catch (IOException e) {
-			fail("3.99", e);
-		}
-		assertTrue("3.1", archive.exists());
-		assertTrue("3.2", archive.length() > 0);
-		assertExists("3.3", archive, "features/feature.txt");
-		assertExists("3.4", archive, "plugins/bundle.txt");
-	}
-
-	private static void assertExists(String message, File archive, String entry) {
-		if (!archive.exists())
-			fail(message + " file does not exist.");
-		ZipFile zip = null;
-		try {
-			zip = new ZipFile(archive);
-			boolean found = false;
-			for (Enumeration e = zip.entries(); !found && e.hasMoreElements();) {
-				ZipEntry zipEntry = (ZipEntry) e.nextElement();
-				if (entry.equals(zipEntry.getName()))
-					found = true;
-			}
-			assertTrue(message, found);
-		} catch (IOException e) {
-			fail(message, e);
-		} finally {
-			if (zip != null)
-				try {
-					zip.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	// TODO need to test some cases where there are actual File.isFile() == true inputs
-	public void testDynamicPathComputer0() {
-		IPathComputer computer = FileUtils.createDynamicPathComputer(0);
-		validate(computer, "/foo", "");
-		validate(computer, "/foo/bar", "bar");
-		validate(computer, "/foo/bar/this", "bar/this");
-		computer.reset();
-		validate(computer, "/foo/bar", "");
-		validate(computer, "/foo/bar/this", "this");
-	}
-
-	// TODO need to test some cases where there are actual File.isFile() == true inputs
-	public void testDynamicPathComputer1() {
-		IPathComputer computer = FileUtils.createDynamicPathComputer(1);
-		validate(computer, "/foo", "/foo");
-		validate(computer, "/foo/bar", "/foo/bar");
-		validate(computer, "/foo/bar/this", "/foo/bar/this");
-		computer.reset();
-		validate(computer, "/foo/bar", "bar");
-		validate(computer, "/foo/bar/this", "bar/this");
-	}
-
-	public void testParentPathComputer0() {
-		IPathComputer computer = FileUtils.createParentPrefixComputer(0);
-		validate(computer, "/foo", "");
-		validate(computer, "/foo/bar", "");
-		validate(computer, "/foo/bar/this", "");
-	}
-
-	public void testParentPathComputer1() {
-		IPathComputer computer = FileUtils.createParentPrefixComputer(1);
-		validate(computer, "/foo", "/foo");
-		validate(computer, "/foo/bar", "bar");
-		validate(computer, "/foo/bar/this", "this");
-	}
-
-	public void testParentPathComputer2() {
-		IPathComputer computer = FileUtils.createParentPrefixComputer(2);
-		validate(computer, "/foo", "/foo");
-		validate(computer, "/foo/bar", "/foo/bar");
-		validate(computer, "/foo/bar/this", "bar/this");
-	}
-
-	public void testRootPathComputer0() {
-		IPathComputer computer = FileUtils.createRootPathComputer(new File("/"));
-		validate(computer, "/foo", "/foo");
-		validate(computer, "/foo/bar", "/foo/bar");
-		validate(computer, "/foo/bar/this", "/foo/bar/this");
-	}
-
-	public void testRootPathComputer1() {
-		IPathComputer computer = FileUtils.createRootPathComputer(new File("/foo"));
-		validate(computer, "/foo", "");
-		validate(computer, "/foo/bar", "bar");
-		validate(computer, "/foo/bar/this", "bar/this");
-	}
-
-	public void testRootPathComputer2() {
-		IPathComputer computer = FileUtils.createRootPathComputer(new File("/foo/bar"));
-		validate(computer, "/foo", "");
-		validate(computer, "/foo/bar", "");
-		validate(computer, "/foo/bar/this", "this");
-		validate(computer, "/foo/bar/this/that", "this/that");
-	}
-
-	private void validate(IPathComputer computer, String input, String output) {
-		IPath computed = computer.computePath(new File(input));
-		IPath desired = new Path(output);
-		assertEquals(computed, desired);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/OrderedPropertiesTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/OrderedPropertiesTest.java
deleted file mode 100644
index 9d85313..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/OrderedPropertiesTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.Iterator;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 3.5
- */
-public class OrderedPropertiesTest extends AbstractProvisioningTest {
-
-	public void test_249125() {
-		OrderedProperties one = new OrderedProperties();
-		OrderedProperties two = new OrderedProperties();
-		assertEquals("1.0", one, two);
-
-		one = new OrderedProperties();
-		two = new OrderedProperties(1);
-		assertEquals("1.1", one, two);
-
-		one = new OrderedProperties(1);
-		two = new OrderedProperties();
-		assertEquals("1.2", one, two);
-	}
-
-	/**
-	 * Ordered properties guarantees that iteration order is the same as the 
-	 * insertion order. This test verifies the claim is true.
-	 */
-	public void testIterationOrder() {
-		//asserts that iteration always occurs in insertion order
-		OrderedProperties props = new OrderedProperties();
-		props.setProperty("one", "one");
-		props.setProperty("two", "two");
-		for (Iterator it = props.keySet().iterator(); it.hasNext();) {
-			assertEquals("one", it.next());
-			assertEquals("two", it.next());
-		}
-		props = new OrderedProperties();
-		props.setProperty("two", "two");
-		props.setProperty("one", "one");
-		for (Iterator it = props.keySet().iterator(); it.hasNext();) {
-			assertEquals("two", it.next());
-			assertEquals("one", it.next());
-		}
-
-		//removing and re-adding a property should move it to the back of the insertion order
-		props.remove("two");
-		props.setProperty("two", "two");
-		for (Iterator it = props.keySet().iterator(); it.hasNext();) {
-			assertEquals("one", it.next());
-			assertEquals("two", it.next());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery1.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery1.java
deleted file mode 100644
index 22d98dd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-
-public class PropertyLookupQuery1 extends MatchQuery {
-
-	public String getSomeProperty() {
-		return "foo";
-	}
-
-	public String getThatProperty(Object param) {
-		return "bar";
-	}
-
-	public boolean isMatch(Object candidate) {
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery2.java
deleted file mode 100644
index 7564cc6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/PropertyLookupQuery2.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.Iterator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.ContextQuery;
-
-public class PropertyLookupQuery2 extends ContextQuery {
-
-	public String getSomeOtherProperty() {
-		return "bar";
-	}
-
-	public Collector perform(Iterator iterator, Collector result) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
deleted file mode 100644
index 93c7455..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/QueryTest.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * Tests for the {@link org.eclipse.equinox.internal.provisional.p2.query.Query} class.
- */
-public class QueryTest extends TestCase {
-
-	static class AnyStringQuery extends MatchQuery {
-		@Override
-		public boolean isMatch(Object candidate) {
-			return candidate instanceof String;
-		}
-	}
-
-	static class PerformHookQuery extends AnyStringQuery {
-		private boolean prepared = false;
-		private boolean complete = false;
-
-		public boolean areHooksExecutedProperly() {
-			// Either they have both been called, or neither has been called
-			return (prepared & complete) || (!prepared & !complete);
-		}
-
-		public boolean isComplete() {
-			return this.complete;
-		}
-
-		public boolean isPrepared() {
-			return this.prepared;
-		}
-
-		public void prePerform() {
-			prepared = true;
-		}
-
-		public void postPerform() {
-			if (!(prepared)) // Note:  is match might not be called if it can be determined it's not needed
-				fail("prePerform not called");
-			complete = true;
-		}
-
-		public boolean isMatch(Object candidate) {
-			if (!prepared)
-				fail("prePerform not called");
-			if (!(candidate instanceof String))
-				throw new RuntimeException("Exception intentionally thrown by test");
-			return candidate instanceof String;
-		}
-	}
-
-	/**
-	* Tests a simple perform where all items match.
-	*/
-	public void testPerformSimple() {
-		List items = Arrays.asList("red", "green", "blue");
-		IQuery query = new AnyStringQuery();
-		Collector collector = new Collector();
-		query.perform(items.iterator(), collector);
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 3, result.size());
-		assertTrue("1.1", result.contains("red"));
-		assertTrue("1.2", result.contains("green"));
-		assertTrue("1.3", result.contains("blue"));
-	}
-
-	/**
-	 * Tests a perform where only some items match.
-	 */
-	public void testPerformSomeMatches() {
-		List items = Arrays.asList(new Object(), "green", new Object());
-		IQuery query = new AnyStringQuery();
-		Collector collector = new Collector();
-		query.perform(items.iterator(), collector);
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 1, result.size());
-		assertTrue("1.1", result.contains("green"));
-	}
-
-	public void testPerformHooks() {
-		List items = Arrays.asList("red", "green", "blue");
-		PerformHookQuery query = new PerformHookQuery();
-		Collector collector = new Collector();
-		assertFalse("1.0", query.isComplete());
-		assertFalse("1.1", query.isPrepared());
-		query.perform(items.iterator(), collector);
-		assertTrue("1.2", query.isComplete());
-		assertTrue("1.3", query.isPrepared());
-		assertTrue("1.4", query.areHooksExecutedProperly());
-	}
-
-	public void testPropertyLookupMatchQuery() {
-		IQuery query1 = new PropertyLookupQuery1();
-		Object property = query1.getProperty("SomeProperty");
-		assertEquals("1.0", "foo", property);
-	}
-
-	public void testPropertyLookupContextQuery() {
-		IQuery query1 = new PropertyLookupQuery2();
-		Object property = query1.getProperty("SomeOtherProperty");
-		assertEquals("1.0", "bar", property);
-	}
-
-	public void testPropertyLookupInvalidProperty1() {
-		IQuery query1 = new PropertyLookupQuery1();
-		Object property = query1.getProperty("ThisProperty");
-		assertEquals("1.0", null, property);
-	}
-
-	public void testPropertyLookupInvalidProperty2() {
-		IQuery query1 = new PropertyLookupQuery1();
-		Object property = query1.getProperty("SomeOtherProperty");
-		assertEquals("1.0", null, property);
-	}
-
-	public void testIDLookup() {
-		IQuery query1 = new PropertyLookupQuery1();
-		IQuery query2 = new PropertyLookupQuery2();
-		assertEquals("1.0", "org.eclipse.equinox.p2.tests.core.PropertyLookupQuery1", query1.getId());
-		assertEquals("1.0", "org.eclipse.equinox.p2.tests.core.PropertyLookupQuery2", query2.getId());
-	}
-
-	public void testPerformHooksOnQueryFail() {
-		List items = Arrays.asList("red", new Object());
-		PerformHookQuery query = new PerformHookQuery();
-		Collector collector = new Collector();
-		assertFalse("1.0", query.isComplete());
-		assertFalse("1.1", query.isPrepared());
-		try {
-			query.perform(items.iterator(), collector);
-		} catch (RuntimeException e) {
-			// expected
-		}
-		assertTrue("1.2", query.isComplete());
-		assertTrue("1.3", query.isPrepared());
-		assertTrue("1.4", query.areHooksExecutedProperly());
-	}
-
-	public void testPreAndPostCompoundANDQuery() {
-		List items = Arrays.asList("red", "green", "blue");
-		Collector collector = new Collector();
-		PerformHookQuery query1 = new PerformHookQuery();
-		PerformHookQuery query2 = new PerformHookQuery();
-		CompoundQuery cQuery = CompoundQuery.createCompoundQuery(new IQuery[] {query1, query2}, true);
-		assertFalse("1.0", query1.isComplete());
-		assertFalse("1.1", query1.isPrepared());
-		assertFalse("1.2", query2.isComplete());
-		assertFalse("1.3", query2.isPrepared());
-		cQuery.perform(items.iterator(), collector);
-		assertTrue("1.4", query1.isComplete());
-		assertTrue("1.5", query1.isPrepared());
-		assertTrue("1.6", query2.isComplete());
-		assertTrue("1.7", query2.isPrepared());
-		assertTrue("1.8", query1.areHooksExecutedProperly());
-		assertTrue("1.9", query2.areHooksExecutedProperly());
-	}
-
-	public void testPreAndPostCompoundOrQuery() {
-		List items = Arrays.asList("red", "green", "blue");
-		Collector collector = new Collector();
-		PerformHookQuery query1 = new PerformHookQuery();
-		PerformHookQuery query2 = new PerformHookQuery();
-		CompoundQuery cQuery = CompoundQuery.createCompoundQuery(new IQuery[] {query1, query2}, false);
-		assertFalse("1.0", query1.isComplete());
-		assertFalse("1.1", query1.isPrepared());
-		assertFalse("1.2", query2.isComplete());
-		assertFalse("1.3", query2.isPrepared());
-		cQuery.perform(items.iterator(), collector);
-		assertTrue("1.4", query1.isComplete());
-		assertTrue("1.5", query1.isPrepared());
-		assertTrue("1.6", query2.isComplete());
-		assertTrue("1.7", query2.isPrepared());
-		assertTrue("1.8", query1.areHooksExecutedProperly());
-		assertTrue("1.9", query2.areHooksExecutedProperly());
-	}
-
-	public void testPreAndPostCompositeQuery() {
-		List items = Arrays.asList("red", "green", "blue");
-		Collector collector = new Collector();
-		PerformHookQuery query1 = new PerformHookQuery();
-		PerformHookQuery query2 = new PerformHookQuery();
-		PipedQuery cQuery = new PipedQuery(new IQuery[] {query1, query2});
-		assertFalse("1.0", query1.isComplete());
-		assertFalse("1.1", query1.isPrepared());
-		assertFalse("1.2", query2.isComplete());
-		assertFalse("1.3", query2.isPrepared());
-		cQuery.perform(items.iterator(), collector);
-		assertTrue("1.4", query1.isComplete());
-		assertTrue("1.5", query1.isPrepared());
-		assertTrue("1.6", query2.isComplete());
-		assertTrue("1.7", query2.isPrepared());
-		assertTrue("1.8", query1.areHooksExecutedProperly());
-		assertTrue("1.9", query2.areHooksExecutedProperly());
-	}
-
-	public void testPreAndPostCompoundQueryFail() {
-		List items = Arrays.asList("red", new Object());
-		Collector collector = new Collector();
-		PerformHookQuery query1 = new PerformHookQuery();
-		PerformHookQuery query2 = new PerformHookQuery();
-		CompoundQuery cQuery = CompoundQuery.createCompoundQuery(new IQuery[] {query1, query2}, true);
-		assertFalse("1.0", query1.isComplete());
-		assertFalse("1.1", query1.isPrepared());
-		assertFalse("1.2", query2.isComplete());
-		assertFalse("1.3", query2.isPrepared());
-		try {
-			cQuery.perform(items.iterator(), collector);
-			fail("This query is expected to fail");
-		} catch (RuntimeException e) {
-			// expected
-		}
-		assertTrue("1.4", query1.isComplete());
-		assertTrue("1.5", query1.isPrepared());
-		assertTrue("1.6", query2.isComplete());
-		assertTrue("1.7", query2.isPrepared());
-		assertTrue("1.8", query1.areHooksExecutedProperly());
-		assertTrue("1.9", query2.areHooksExecutedProperly());
-	}
-
-	public void testPreAndPostCompositeQueryFail() {
-		List items = Arrays.asList("red", new Object());
-		Collector collector = new Collector();
-		PerformHookQuery query1 = new PerformHookQuery();
-		PerformHookQuery query2 = new PerformHookQuery();
-		PipedQuery cQuery = new PipedQuery(new IQuery[] {query1, query2});
-		assertFalse("1.0", query1.isComplete());
-		assertFalse("1.1", query1.isPrepared());
-		assertFalse("1.2", query2.isComplete());
-		assertFalse("1.3", query2.isPrepared());
-		try {
-			cQuery.perform(items.iterator(), collector);
-			fail("This query is expected to fail");
-		} catch (RuntimeException e) {
-			// expected
-		}
-		assertTrue("1.4", query1.isComplete());
-		assertTrue("1.5", query1.isPrepared());
-		assertFalse("1.6", query2.isComplete()); // This should fail, the second query was never executed
-		assertFalse("1.7", query2.isPrepared()); // This should fail, the second query was never executed
-		assertTrue("1.8", query1.areHooksExecutedProperly());
-		assertTrue("1.9", query2.areHooksExecutedProperly());
-	}
-
-	public void testLimitQuery() {
-		List items = Arrays.asList("red", "green", "blue");
-		IQuery query = new AnyStringQuery();
-		IQuery limitQuery = new LimitQuery(query, 1);
-		Collector collector = limitQuery.perform(items.iterator(), new Collector());
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 1, result.size());
-		assertTrue("1.1", result.contains("red"));
-	}
-
-	public void testLimitQuery2() {
-		List items = Arrays.asList("red", "green", "blue");
-		IQuery query = new AnyStringQuery();
-		IQuery limitQuery = new LimitQuery(query, 2);
-		Collector collector = limitQuery.perform(items.iterator(), new Collector());
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 2, result.size());
-		assertTrue("1.1", result.contains("red"));
-		assertTrue("1.2", result.contains("green"));
-	}
-
-	public void testLimitQuery3() {
-		List items = Arrays.asList("red", "green", "blue");
-		IQuery query = new AnyStringQuery();
-		IQuery limitQuery = new LimitQuery(query, 3);
-		Collector collector = limitQuery.perform(items.iterator(), new Collector());
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 3, result.size());
-		assertTrue("1.1", result.contains("red"));
-		assertTrue("1.2", result.contains("green"));
-		assertTrue("1.3", result.contains("blue"));
-	}
-
-	public void testLimitQuery0() {
-		List items = Arrays.asList("red", "green", "blue");
-		IQuery query = new AnyStringQuery();
-		IQuery limitQuery = new LimitQuery(query, 0);
-		Collector collector = limitQuery.perform(items.iterator(), new Collector());
-		Collection result = collector.toCollection();
-		assertEquals("1.0", 0, result.size());
-	}
-
-	//	public void testPipedLimitQuery() {
-	//		List items = Arrays.asList("pink", "red", "green", "pink");
-	//		IQuery anyString = new AnyStringQuery();
-	//		IQuery containsI = new MatchQuery() {
-	//
-	//			public boolean isMatch(Object candidate) {
-	//				return ((String) candidate).contains("e");
-	//			}
-	//		};
-	//		IQuery pipedQuery = new PipedQuery(new IQuery[] {anyString, containsI});
-	//		IQuery limitQuery = new LimitQuery(pipedQuery, 1);
-	//		Collector collector = limitQuery.perform(items.iterator(), new Collector());
-	//		Collection result = collector.toCollection();
-	//		assertEquals("1.0", 1, result.size());
-	//		assertTrue("1.1", result.contains("red"));
-	//	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
deleted file mode 100644
index df658c3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/StringHelperTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.core;
-
-import java.util.Arrays;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.core.helpers.StringHelper;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
-
-public class StringHelperTest extends TestCase {
-	public void testSimilarBehavior() {
-		String[] a1 = AbstractPublisherAction.getArrayFromString("foo, bar, baz ,,, zaz", ",");
-		String[] a2 = StringHelper.getArrayFromString("foo, bar, baz ,,, zaz", ',');
-		assertTrue("1.0", Arrays.equals(a1, a2));
-		a1 = AbstractPublisherAction.getArrayFromString("foo   bar baz, ,, zaz", " ");
-		a2 = StringHelper.getArrayFromString("foo   bar baz, ,, zaz", ' ');
-		assertTrue("1.1", Arrays.equals(a1, a2));
-		a1 = AbstractPublisherAction.getArrayFromString("   ", " ");
-		a2 = StringHelper.getArrayFromString("   ", ' ');
-		assertTrue("1.2", Arrays.equals(a1, a2));
-		a1 = AbstractPublisherAction.getArrayFromString("", ",");
-		a2 = StringHelper.getArrayFromString("", ',');
-		assertTrue("1.3", Arrays.equals(a1, a2));
-		a1 = AbstractPublisherAction.getArrayFromString(null, ",");
-		a2 = StringHelper.getArrayFromString(null, ',');
-		assertTrue("1.4", Arrays.equals(a1, a2));
-	}
-
-	public void testPerformance() throws Exception {
-		String[] strings = new String[5];
-		StringBuffer inputBld = new StringBuffer();
-		for (int idx = 0; idx < 5; ++idx) {
-			if (idx > 0)
-				inputBld.append(',');
-			for (int c = 11; c > idx * 2; --c)
-				inputBld.append((char) ('a' + c));
-			strings[idx] = inputBld.toString();
-		}
-
-		long ts = System.currentTimeMillis();
-		for (int cnt = 0; cnt < 1000000; ++cnt)
-			for (int idx = 0; idx < 5; ++idx)
-				AbstractPublisherAction.getArrayFromString(strings[idx], ",");
-		long apaTime = System.currentTimeMillis() - ts;
-
-		ts = System.currentTimeMillis();
-		for (int cnt = 0; cnt < 1000000; ++cnt)
-			for (int idx = 0; idx < 5; ++idx)
-				StringHelper.getArrayFromString(strings[idx], ',');
-		long shTime = System.currentTimeMillis() - ts;
-		System.out.println("Ratio: " + (double) shTime / (double) apaTime);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
deleted file mode 100644
index 4b042e0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/core/URLUtilTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *		compeople AG (Stefan Liebig) - Test fix for bug 121201 - Poor performance behind proxy/firewall
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.core;
-
-import java.io.File;
-import java.net.*;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests for the {@link URLUtil} class.
- */
-public class URLUtilTest extends AbstractProvisioningTest {
-	private static final String[] testPaths = new String[] {"abc", "with spaces", "with%percent"};
-
-	/**
-	 * Tests for {@link URLUtil#toFile(URL)}.
-	 */
-	public void testToFile() {
-		File base = new File(System.getProperty("java.io.tmpdir"));
-		for (int i = 0; i < testPaths.length; i++) {
-			File original = new File(base, testPaths[i]);
-			URI uri = original.toURI();
-			try {
-				URL encoded = uri.toURL();
-				File result = URLUtil.toFile(encoded);
-				assertEquals("1." + i, original, result);
-			} catch (MalformedURLException e) {
-				fail("1.99", e);
-			}
-		}
-	}
-
-	/**
-	 * Tests for {@link URLUtil#toFile(URL)}.
-	 */
-	public void testToFileRelative() throws URISyntaxException {
-		for (int i = 0; i < testPaths.length; i++) {
-			File original = new File(testPaths[i]);
-			URI uri = new URI(null, testPaths[i], null);
-			try {
-				URL encoded = new URL("file:" + uri.getRawPath());
-				File result = URLUtil.toFile(encoded);
-				assertEquals("1." + i, original, result);
-			} catch (MalformedURLException e) {
-				fail("1.99", e);
-			}
-		}
-	}
-
-	/**
-	 * Tests for {@link URLUtil#toURI(URL)}.
-	 */
-	public void testToFileFromLocalURL() throws Exception {
-		File original = new File(System.getProperty("java.io.tmpdir"), "repo");
-		//this URL is technically not correct because it is not hierarchical, but ensure URLUtil is lenient.
-		URL url = new URL("file:" + original.toString());
-		File result = URLUtil.toFile(url);
-		assertEquals("1.0", original, result);
-	}
-
-	public void testToFileFromUNC() throws Exception {
-		File original = new File("//a/b c");
-		// this tests the two slash UNC path that URL creates
-		URL url = new URL("file:" + original.toString());
-		File result = URLUtil.toFile(url);
-		assertEquals("1.0", original, result);
-
-		// this tests the four slash UNC path that URI creates
-		url = original.toURI().toURL();
-		result = URLUtil.toFile(url);
-		assertEquals("1.1", original, result);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
deleted file mode 100644
index 8b4b416..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(AutomatedDirectorTest.class);
-		suite.addTestSuite(Bug203637.class);
-		suite.addTestSuite(OperationGenerationTest.class);
-		suite.addTestSuite(OracleTest.class);
-		suite.addTestSuite(OracleTest2.class);
-		suite.addTestSuite(ReplacePlanTest.class);
-		suite.addTestSuite(RollbackTest.class);
-		suite.addTestSuite(SingletonTest.class);
-		suite.addTestSuite(UninstallTest.class);
-		suite.addTestSuite(UpdateTest.class);
-		suite.addTestSuite(DirectorAppTest.class);
-		suite.addTestSuite(DirectorApplicationTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
deleted file mode 100644
index 9663274..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Various automated tests of the {@link IDirector} API.
- */
-public class AutomatedDirectorTest extends AbstractProvisioningTest {
-	//private static Version version = Version.createOSGi(1, 0, 0);
-
-	public static Test suite() {
-		return new TestSuite(AutomatedDirectorTest.class);
-	}
-
-	public AutomatedDirectorTest() {
-		super("");
-	}
-
-	public AutomatedDirectorTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests installing an IU that has a filtered dependency on another IU. When
-	 * the filter is satisfied, the dependency is active and the required IU should
-	 * be installed. When the filter is not satisfied, the dependency is inactive
-	 * and the second IU should not be installed.
-	 */
-	public void testInstallFilteredCapability() {
-		//The IU that is required
-		IInstallableUnit requiredIU = createIU("required." + getName());
-
-		// The IU to be installed
-		String filter = createFilter("FilterKey", "true");
-		IRequiredCapability capability = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, filter, false, false);
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-		IDirector director = createDirector();
-
-		//Install into a profile in which the filter is satisfied
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_ENVIRONMENTS, "FilterKey=true");
-		IProfile satisfied = createProfile("Satisfied." + getName(), properties);
-		ProfileChangeRequest request = new ProfileChangeRequest(satisfied);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", satisfied, allUnits);
-	}
-
-	/**
-	 * Tests installing an IU that has an optional prerequisite that is available.
-	 */
-	public void testInstallOptionalAvailable() {
-		String capabilityId = "test." + getName();
-		//The IU that exports the capability
-		IInstallableUnit requiredIU = createIU("required." + getName(), new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)});
-
-		//The IU that optionally requires the capability
-		IRequiredCapability required = (IRequiredCapability) MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, /* optional=> */true, /* multiple=> */false, /* greedy=>*/false);
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {required});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, requiredIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, toInstallArray);
-	}
-
-	/**
-	 * Tests installing an IU that has an optional prerequisite that is not available.
-	 */
-	public void testInstallOptionalUnavailable() {
-		String capabilityId = "test." + getName();
-		//no IU will be available that exports this capability
-		IRequiredCapability required = (IRequiredCapability) MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false);
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {required});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(allUnits);
-		IStatus result = director.provision(request, null, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, allUnits);
-	}
-
-	/**
-	 * Tests installing an IU that has a required capability, and the IU providing
-	 * the capability has a platform filter that is not satisfied.
-	 */
-	public void testInstallPlatformFilter() {
-		//The IU that exports the capability
-		String capabilityId = "test." + getName();
-		IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)};
-		IInstallableUnit requiredIU = createIU("required." + getName(), createFilter("osgi.os", "blort"), provides);
-
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		assertTrue("1.0", !result.isOK());
-
-		//try again with the filter satisfied
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=blort");
-		IProfile profile2 = createProfile("TestProfile2." + getName(), properties);
-		request = new ProfileChangeRequest(profile2);
-		request.addInstallableUnits(toInstallArray);
-		result = director.provision(request, null, null);
-		assertTrue("2.0", result.isOK());
-	}
-
-	/**
-	 * Tests installing an IU that has an unsatisfied platform filter
-	 */
-	public void testInstallPlatformFilterUnsatisfied() {
-		//The IU to install
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createFilter("osgi.os", "blort"), NO_PROVIDES);
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		assertTrue("1.0", !result.isOK());
-
-		//try again with the filter satisfied
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=blort");
-		IProfile profile2 = createProfile("TestProfile2." + getName(), properties);
-		request = new ProfileChangeRequest(profile2);
-		request.addInstallableUnits(toInstallArray);
-		result = director.provision(request, null, null);
-		assertTrue("2.0", result.isOK());
-	}
-
-	/**
-	 * Simple test of installing an IU that has a required capability, and ensuring
-	 * that the IU providing the capability is installed.
-	 */
-	public void testSimpleInstallRequired() {
-		String capabilityId = "test." + getName();
-		//The IU that exports the capability
-		IInstallableUnit requiredIU = createIU("required." + getName(), new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)});
-
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null));
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, allUnits);
-	}
-
-	/**
-	 * Simple test of installing an IU that has a required capability, but without
-	 * specifying a version range (any version will do).
-	 */
-	public void testInstallRequiredNoVersion() {
-		//The IU that is needed
-		IInstallableUnit requiredIU = createIU("required." + getName());
-
-		IRequiredCapability capability = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), null, null, false, false);
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, allUnits);
-	}
-
-	/**
-	 * Simple test of installing an IU that has a required IU, and ensuring
-	 * that the required IU is installed. In other words, the IU to install has a required
-	 * capability on the IU namespace.
-	 */
-	public void testSimpleInstallRequiredIU() {
-		//The IU that exports the capability
-		IInstallableUnit requiredIU = createIU("required." + getName());
-
-		IRequiredCapability capability = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, null, false, false);
-		IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability});
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		IProfile profile = createProfile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("1.0", result.isOK());
-		assertProfileContains("1.1", profile, allUnits);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
deleted file mode 100644
index 80db2a6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/Bug203637.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug203637 extends AbstractProvisioningTest {
-	public void test() {
-		IDirector d = createDirector();
-		IProfile profile = createProfile("TestProfile." + getName());
-		IInstallableUnit a1 = createIU("A", Version.createOSGi(1, 0, 0), true);
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a1});
-		request.removeInstallableUnits(new IInstallableUnit[0]);
-		assertOK("1.0", d.provision(request, null, null));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorAppTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorAppTest.java
deleted file mode 100644
index 46f7171..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorAppTest.java
+++ /dev/null
@@ -1,655 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.app.Activator;
-import org.eclipse.equinox.internal.p2.director.app.Application;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-
-/**
- * Various automated tests of the {@link IDirector} API.
- */
-public class DirectorAppTest extends AbstractProvisioningTest {
-
-	/**
-	 * runs default director app.
-	 */
-	private void runDirectorApp(String message, final String[] args) throws Exception {
-		Application application = new Application();
-		application.start(new IApplicationContext() {
-
-			public void applicationRunning() {
-				//empty
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-
-				arguments.put(IApplicationContext.APPLICATION_ARGS, args);
-
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * creates the director app arguments based on the arguments submitted with bug 248045
-	 */
-	private String[] getSingleRepoArgs(String message, File metadataRepo, File artifactRepo, File destinationRepo, String installIU) {
-		String[] args = new String[0];
-		try {
-			args = new String[] {"-metadataRepository", metadataRepo.toURL().toExternalForm(), "-artifactRepository", artifactRepo.toURL().toExternalForm(), "-installIU", installIU, "-destination", destinationRepo.toURL().toExternalForm(), "-profile", "PlatformSDKProfile", "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", destinationRepo.getAbsolutePath(), "-roaming"};
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-		return args;
-	}
-
-	/**
-	 * creates the director app arguments based on the arguments submitted with bug 248045 but with multiple repositories for both  metadata and artifacts
-	 */
-	private String[] getMultipleRepoArgs(String message, File metadataRepo1, File metadataRepo2, File artifactRepo1, File artifactRepo2, File destinationRepo, String installIU) {
-		String[] args = new String[0];
-		try {
-			args = new String[] {"-metadataRepository", metadataRepo1.toURL().toExternalForm() + "," + metadataRepo2.toURL().toExternalForm(), "-artifactRepository", artifactRepo1.toURL().toExternalForm() + "," + artifactRepo2.toURL().toExternalForm(), "-installIU", installIU, "-destination", destinationRepo.toURL().toExternalForm(), "-profile", "PlatformSDKProfile", "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", destinationRepo.getAbsolutePath(), "-roaming"};
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-		return args;
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where both are invalid
-	 */
-	public void testSingleRepoCreationBothInvalid() {
-		//Setup: Create the folders
-		File metadataRepo = new File(getTempFolder(), "DirectorApp Metadata");
-		File artifactRepo = new File(getTempFolder(), "DirectorApp Artifact");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo);
-		delete(artifactRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("1.0", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("1.1", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("1.2", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("1.3", metadataRepo.exists());
-		assertFalse("1.4", artifactRepo.exists());
-		assertFalse("1.5", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo);
-		delete(artifactRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where the metadata repo is invalid
-	 */
-	public void testSingleRepoCreationMetadataInvalid() {
-		//Setup: create repos
-		File metadataRepo = new File(getTempFolder(), "DirectorApp Metadata");
-		//Valid repository
-		File artifactRepo = getTestData("2.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("2.1", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("2.2", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("2.3", e);
-		}
-
-		//ensures that repository has not been mistakenly created
-		assertFalse("2.4", metadataRepo.exists());
-		assertTrue("2.5", artifactRepo.exists());
-		assertFalse("2.6", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where the artifact repo is invalid
-	 */
-	public void testSingleRepoCreationArtifactInvalid() {
-		//Setup: create repos
-		//Valid repository
-		File metadataRepo = getTestData("3.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo = new File(getTempFolder(), "DirectorApp Artifact");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("3.1", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("3.2", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("3.3", e);
-		}
-
-		//ensures that repository has not been mistakenly created
-		assertFalse("3.4", artifactRepo.exists());
-		assertTrue("3.5", metadataRepo.exists());
-		assertFalse("3.6", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where all are invalid
-	 */
-	public void testMultipleRepoCreationAllInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		File metadataRepo2 = new File(getTempFolder(), "DirectorApp Metadata2");
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File artifactRepo2 = new File(getTempFolder(), "DirectorApp Artifact2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("4.0", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("4.1", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("4.3", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("4.4", metadataRepo1.exists());
-		assertFalse("4.5", metadataRepo2.exists());
-		assertFalse("4.6", artifactRepo1.exists());
-		assertFalse("4.6", artifactRepo2.exists());
-		assertFalse("4.7", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where both metadata repos are invalid
-	 */
-	public void testMultipleRepoCreationAllMetadataInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		File metadataRepo2 = new File(getTempFolder(), "DirectorApp Metadata2");
-		//Valid repositories
-		File artifactRepo1 = getTestData("5.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("5.1", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("5.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("5.3", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("5.5", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("5.6", metadataRepo1.exists());
-		assertFalse("5.7", metadataRepo2.exists());
-		assertTrue("5.8", artifactRepo1.exists());
-		assertTrue("5.9", artifactRepo2.exists());
-		assertFalse("5.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one metadata repo is invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneMetadataInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		//Valid repositories
-		File metadataRepo2 = getTestData("6.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo1 = getTestData("6.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("6.2", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("6.3", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("6.4", args);
-		} catch (ProvisionException e) {
-			fail("6.5", e);
-		} catch (Exception e) {
-			fail("6.6", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("6.7", metadataRepo1.exists());
-		assertTrue("6.8", metadataRepo2.exists());
-		assertTrue("6.9", artifactRepo1.exists());
-		assertTrue("6.10", artifactRepo2.exists());
-		assertFalse("6.11", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where both artifact repos are invalid
-	 */
-	public void testMultipleRepoCreationAllArtifactInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File artifactRepo2 = new File(getTempFolder(), "DirectorApp Artifact2");
-		//Valid repositories
-		File metadataRepo1 = getTestData("7.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("7.1", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("7.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("7.3", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("7.5", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("7.6", metadataRepo1.exists());
-		assertTrue("7.7", metadataRepo2.exists());
-		assertFalse("7.8", artifactRepo1.exists());
-		assertFalse("7.9", artifactRepo2.exists());
-		assertFalse("7.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one artifact repo is invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneArtifactInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		//Valid repositories
-		File artifactRepo2 = getTestData("8.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo1 = getTestData("8.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("8.2", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("8.3", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("8.4", args);
-		} catch (ProvisionException e) {
-			fail("8.5", e);
-		} catch (Exception e) {
-			fail("8.6", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("8.7", metadataRepo1.exists());
-		assertTrue("8.8", metadataRepo2.exists());
-		assertFalse("8.9", artifactRepo1.exists());
-		assertTrue("8.10", artifactRepo2.exists());
-		assertFalse("8.11", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one artifact repo and only one metadata repo are invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneArtifactOneMetadataInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		//Valid repositories
-		File artifactRepo2 = getTestData("9.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("9.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("9.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("9.3", args);
-		} catch (ProvisionException e) {
-			fail("9.4", e);
-		} catch (Exception e) {
-			fail("9.5", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("9.6", metadataRepo1.exists());
-		assertTrue("9.7", metadataRepo2.exists());
-		assertFalse("9.8", artifactRepo1.exists());
-		assertTrue("9.9", artifactRepo2.exists());
-		assertFalse("9.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(metadataRepo1);
-		delete(destinationRepo);
-	}
-
-	public void testQueryMultipleRepos() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException {
-		URI metadataRepo1 = getTestData("10.1", "/testData/metadataRepo/good").toURI();
-		URI metadataRepo2 = getTestData("10.1", "/testData/metadataRepo/multipleversions1").toURI();
-		Application application = new Application();
-		Method method = application.getClass().getDeclaredMethod("collectRootIUs", URI[].class, IQuery.class);
-		method.setAccessible(true);
-		URI[] uris = new URI[] {metadataRepo1, metadataRepo2};
-		IQuery query = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate instanceof IInstallableUnit) {
-					IInstallableUnit iu = (IInstallableUnit) candidate;
-					if (iu.getId().equals("Default"))
-						return true;
-				}
-				return false;
-			}
-		};
-		Collector result = (Collector) method.invoke(application, uris, query);
-		assertEquals("1.0", 1, result.size());
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and a single artifact repository where all are valid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testSingleRepoCreationNoneInvalid() {
-		//Setup: get repositories
-		File artifactRepo = getTestData("10.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo = getTestData("10.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getSingleRepoArgs("10.2", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("10.3", args);
-		} catch (ProvisionException e) {
-			fail("10.4", e);
-		} catch (Exception e) {
-			fail("10.5", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("10.6", metadataRepo.exists());
-		assertTrue("10.7", artifactRepo.exists());
-		assertFalse("10.8", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where all repos are valid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationNoneInvalid() {
-		//Setup: Create the folders
-		//Valid repositories
-		File artifactRepo1 = getTestData("11.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo1 = getTestData("11.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("11.2", "/testData/mirror/mirrorSourceRepo2");
-		File metadataRepo2 = getTestData("11.3", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("11.4", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("11.5", args);
-		} catch (ProvisionException e) {
-			fail("11.6", e);
-		} catch (Exception e) {
-			fail("11.7", e);
-		}
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("11.8", metadataRepo1.exists());
-		assertTrue("11.9", metadataRepo2.exists());
-		assertTrue("11.10", artifactRepo1.exists());
-		assertTrue("11.11", artifactRepo2.exists());
-		assertFalse("11.12", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(destinationRepo);
-	}
-
-	/** 
-	 * Test that the application only considers repositories that are pass in and not those that are previously known
-	 * by the managers
-	 */
-	public void testOnlyUsePassedInRepos() throws Exception {
-		File artifactRepo1 = getTestData("12.0", "/testData/mirror/mirrorSourceRepo3");
-		File metadataRepo1 = getTestData("12.1", "/testData/mirror/mirrorSourceRepo3");
-
-		IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactManager);
-		assertNotNull(metadataManager);
-
-		//make repo3 known to the managers
-		artifactManager.loadRepository(artifactRepo1.toURI(), new NullProgressMonitor());
-		metadataManager.loadRepository(metadataRepo1.toURI(), new NullProgressMonitor());
-
-		int numKnownRepos = artifactManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		numKnownRepos += metadataManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-
-		File artifactRepo2 = getTestData("12.2", "/testData/mirror/mirrorSourceRepo4");
-		File metadataRepo2 = getTestData("12.3", "/testData/mirror/mirrorSourceRepo4");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String[] args = getSingleRepoArgs("12.4", metadataRepo2, artifactRepo2, destinationRepo, "yetanotherplugin");
-
-		destinationRepo.mkdirs();
-		PrintStream oldOut = System.out;
-		PrintStream newOut = new PrintStream(new FileOutputStream(destinationRepo + "/out.out"));
-		System.setOut(newOut);
-
-		try {
-			runDirectorApp("12.5", args);
-		} finally {
-			System.setOut(oldOut);
-			newOut.close();
-		}
-
-		assertLogContainsLine(new File(destinationRepo, "out.out"), "The installable unit yetanotherplugin has not been found.");
-
-		assertEquals(numKnownRepos, artifactManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length + metadataManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length);
-
-		artifactManager.removeRepository(artifactRepo1.toURI());
-		metadataManager.removeRepository(metadataRepo1.toURI());
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the ProvisioningContext only uses the passed in repos and not all known repos.
-	 * Expect to install helloworld_1.0.0 not helloworld_1.0.1
-	 * @throws Exception
-	 */
-	public void testPassedInRepos_ProvisioningContext() throws Exception {
-		File artifactRepo1 = getTestData("13.0", "/testData/mirror/mirrorSourceRepo4");
-		File metadataRepo1 = getTestData("13.1", "/testData/mirror/mirrorSourceRepo4");
-
-		IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactManager);
-		assertNotNull(metadataManager);
-
-		//make repo4 known to the managers
-		artifactManager.loadRepository(artifactRepo1.toURI(), new NullProgressMonitor());
-		metadataManager.loadRepository(metadataRepo1.toURI(), new NullProgressMonitor());
-
-		File artifactRepo2 = getTestData("13.2", "/testData/mirror/mirrorSourceRepo3");
-		File metadataRepo2 = getTestData("13.3", "/testData/mirror/mirrorSourceRepo3");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String[] args = getSingleRepoArgs("13.4", metadataRepo2, artifactRepo2, destinationRepo, "helloworld");
-
-		destinationRepo.mkdirs();
-		PrintStream oldOut = System.out;
-		PrintStream newOut = new PrintStream(new FileOutputStream(destinationRepo + "/out.out"));
-		System.setOut(newOut);
-
-		try {
-			runDirectorApp("13.5", args);
-		} finally {
-			System.setOut(oldOut);
-			newOut.close();
-		}
-
-		assertLogContainsLine(new File(destinationRepo, "out.out"), "Installing helloworld 1.0.0.");
-
-		artifactManager.removeRepository(artifactRepo1.toURI());
-		metadataManager.removeRepository(metadataRepo1.toURI());
-		delete(destinationRepo);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
deleted file mode 100644
index 6933fa8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *      Cloudsmith Inc - tests for new DirectorApplication
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.app.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-
-/**
- * Various automated tests of the {@link IDirector} API.
- */
-public class DirectorApplicationTest extends AbstractProvisioningTest {
-
-	/**
-	 * runs default director app.
-	 */
-	private void runDirectorApp(String message, final String[] args) throws Exception {
-		DirectorApplication application = new DirectorApplication();
-		application.start(new IApplicationContext() {
-
-			public void applicationRunning() {
-				//empty
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-
-				arguments.put(IApplicationContext.APPLICATION_ARGS, args);
-
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * creates the director app arguments based on the arguments submitted with bug 248045
-	 */
-	private String[] getSingleRepoUninstallArgs(String message, File srcRepo, File destinationRepo, String installIU) {
-		String[] args = new String[0];
-		try {
-			args = new String[] {"-repository", srcRepo.toURL().toExternalForm(), "-uninstallIU", installIU, "-destination", destinationRepo.toURL().toExternalForm(), "-profile", "PlatformSDKProfile"};
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-		return args;
-	}
-
-	/**
-	 * creates the director app arguments based on the arguments submitted with bug 248045
-	 */
-	private String[] getSingleRepoArgs(String message, File metadataRepo, File artifactRepo, File destinationRepo, String installIU) {
-		String[] args = new String[0];
-		try {
-			args = new String[] {"-metadataRepository", metadataRepo.toURL().toExternalForm(), "-artifactRepository", artifactRepo.toURL().toExternalForm(), "-installIU", installIU, "-destination", destinationRepo.toURL().toExternalForm(), "-profile", "PlatformSDKProfile", "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", destinationRepo.getAbsolutePath(), "-roaming"};
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-		return args;
-	}
-
-	/**
-	 * creates the director app arguments based on the arguments submitted with bug 248045 but with multiple repositories for both  metadata and artifacts
-	 */
-	private String[] getMultipleRepoArgs(String message, File metadataRepo1, File metadataRepo2, File artifactRepo1, File artifactRepo2, File destinationRepo, String installIU) {
-		String[] args = new String[0];
-		try {
-			args = new String[] {"-metadataRepository", metadataRepo1.toURL().toExternalForm() + "," + metadataRepo2.toURL().toExternalForm(), "-artifactRepository", artifactRepo1.toURL().toExternalForm() + "," + artifactRepo2.toURL().toExternalForm(), "-installIU", installIU, "-destination", destinationRepo.toURL().toExternalForm(), "-profile", "PlatformSDKProfile", "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", destinationRepo.getAbsolutePath(), "-roaming"};
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-		return args;
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where both are invalid
-	 */
-	public void testSingleRepoCreationBothInvalid() {
-		//Setup: Create the folders
-		File metadataRepo = new File(getTempFolder(), "DirectorApp Metadata");
-		File artifactRepo = new File(getTempFolder(), "DirectorApp Artifact");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo);
-		delete(artifactRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("1.0", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("1.1", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("1.2", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("1.3", metadataRepo.exists());
-		assertFalse("1.4", artifactRepo.exists());
-		assertFalse("1.5", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo);
-		delete(artifactRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where the metadata repo is invalid
-	 */
-	public void testSingleRepoCreationMetadataInvalid() {
-		//Setup: create repos
-		File metadataRepo = new File(getTempFolder(), "DirectorApp Metadata");
-		//Valid repository
-		File artifactRepo = getTestData("2.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("2.1", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("2.2", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("2.3", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repository has not been mistakenly created
-		assertFalse("2.4", metadataRepo.exists());
-		assertTrue("2.5", artifactRepo.exists());
-		assertFalse("2.6", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and artifact repository where the artifact repo is invalid
-	 */
-	public void testSingleRepoCreationArtifactInvalid() {
-		//Setup: create repos
-		//Valid repository
-		File metadataRepo = getTestData("3.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo = new File(getTempFolder(), "DirectorApp Artifact");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo);
-		delete(destinationRepo);
-
-		//Setup: use default arguments
-		String[] args = getSingleRepoArgs("3.1", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("3.2", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("3.3", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repository has not been mistakenly created
-		assertFalse("3.4", artifactRepo.exists());
-		assertTrue("3.5", metadataRepo.exists());
-		assertFalse("3.6", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where all are invalid
-	 */
-	public void testMultipleRepoCreationAllInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		File metadataRepo2 = new File(getTempFolder(), "DirectorApp Metadata2");
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File artifactRepo2 = new File(getTempFolder(), "DirectorApp Artifact2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("4.0", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("4.1", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("4.3", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("4.4", metadataRepo1.exists());
-		assertFalse("4.5", metadataRepo2.exists());
-		assertFalse("4.6", artifactRepo1.exists());
-		assertFalse("4.6", artifactRepo2.exists());
-		assertFalse("4.7", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where both metadata repos are invalid
-	 */
-	public void testMultipleRepoCreationAllMetadataInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		File metadataRepo2 = new File(getTempFolder(), "DirectorApp Metadata2");
-		//Valid repositories
-		File artifactRepo1 = getTestData("5.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("5.1", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("5.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("5.3", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("5.5", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("5.6", metadataRepo1.exists());
-		assertFalse("5.7", metadataRepo2.exists());
-		assertTrue("5.8", artifactRepo1.exists());
-		assertTrue("5.9", artifactRepo2.exists());
-		assertFalse("5.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(metadataRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one metadata repo is invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneMetadataInvalid() {
-		//Setup: Create the folders
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		//Valid repositories
-		File metadataRepo2 = getTestData("6.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo1 = getTestData("6.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("6.2", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(metadataRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("6.3", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("6.4", args);
-		} catch (ProvisionException e) {
-			fail("6.5", e);
-		} catch (Exception e) {
-			fail("6.6", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("6.7", metadataRepo1.exists());
-		assertTrue("6.8", metadataRepo2.exists());
-		assertTrue("6.9", artifactRepo1.exists());
-		assertTrue("6.10", artifactRepo2.exists());
-		assertFalse("6.11", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(metadataRepo1);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where both artifact repos are invalid
-	 */
-	public void testMultipleRepoCreationAllArtifactInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File artifactRepo2 = new File(getTempFolder(), "DirectorApp Artifact2");
-		//Valid repositories
-		File metadataRepo1 = getTestData("7.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("7.1", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("7.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("7.3", args);
-		} catch (ProvisionException e) {
-			//expected, fall through
-		} catch (Exception e) {
-			fail("7.5", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("7.6", metadataRepo1.exists());
-		assertTrue("7.7", metadataRepo2.exists());
-		assertFalse("7.8", artifactRepo1.exists());
-		assertFalse("7.9", artifactRepo2.exists());
-		assertFalse("7.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(artifactRepo2);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one artifact repo is invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneArtifactInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		//Valid repositories
-		File artifactRepo2 = getTestData("8.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo1 = getTestData("8.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("8.2", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("8.3", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("8.4", args);
-		} catch (ProvisionException e) {
-			fail("8.5", e);
-		} catch (Exception e) {
-			fail("8.6", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("8.7", metadataRepo1.exists());
-		assertTrue("8.8", metadataRepo2.exists());
-		assertFalse("8.9", artifactRepo1.exists());
-		assertTrue("8.10", artifactRepo2.exists());
-		assertFalse("8.11", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where only one artifact repo and only one metadata repo are invalid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationOneArtifactOneMetadataInvalid() {
-		//Setup: Create the folders
-		File artifactRepo1 = new File(getTempFolder(), "DirectorApp Artifact1");
-		File metadataRepo1 = new File(getTempFolder(), "DirectorApp Metadata1");
-		//Valid repositories
-		File artifactRepo2 = getTestData("9.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo2 = getTestData("9.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(artifactRepo1);
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("9.2", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("9.3", args);
-		} catch (ProvisionException e) {
-			fail("9.4", e);
-		} catch (Exception e) {
-			fail("9.5", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertFalse("9.6", metadataRepo1.exists());
-		assertTrue("9.7", metadataRepo2.exists());
-		assertFalse("9.8", artifactRepo1.exists());
-		assertTrue("9.9", artifactRepo2.exists());
-		assertFalse("9.10", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(artifactRepo1);
-		delete(metadataRepo1);
-		delete(destinationRepo);
-	}
-
-	public void testQueryMultipleRepos() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException {
-		URI metadataRepo1 = getTestData("10.1", "/testData/metadataRepo/good").toURI();
-		URI metadataRepo2 = getTestData("10.1", "/testData/metadataRepo/multipleversions1").toURI();
-		Application application = new Application();
-		Method method = application.getClass().getDeclaredMethod("collectRootIUs", URI[].class, IQuery.class);
-		method.setAccessible(true);
-		URI[] uris = new URI[] {metadataRepo1, metadataRepo2};
-		IQuery query = new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate instanceof IInstallableUnit) {
-					IInstallableUnit iu = (IInstallableUnit) candidate;
-					if (iu.getId().equals("Default"))
-						return true;
-				}
-				return false;
-			}
-		};
-		Collector result = (Collector) method.invoke(application, uris, query);
-		assertEquals("1.0", 1, result.size());
-	}
-
-	/**
-	 * Test the application's behaviour given a single metadata and a single artifact repository where all are valid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testSingleRepoCreationNoneInvalid() {
-		//Setup: get repositories
-		File artifactRepo = getTestData("10.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo = getTestData("10.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getSingleRepoArgs("10.2", metadataRepo, artifactRepo, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("10.3", args);
-		} catch (ProvisionException e) {
-			fail("10.4", e);
-		} catch (Exception e) {
-			fail("10.5", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("10.6", metadataRepo.exists());
-		assertTrue("10.7", artifactRepo.exists());
-		assertFalse("10.8", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the application's behaviour given multiple metadata and artifact repositories where all repos are valid
-	 * Note: this test should end with "The installable unit invalidIU has not been found."
-	 */
-	public void testMultipleRepoCreationNoneInvalid() {
-		//Setup: Create the folders
-		//Valid repositories
-		File artifactRepo1 = getTestData("11.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		File metadataRepo1 = getTestData("11.1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File artifactRepo2 = getTestData("11.2", "/testData/mirror/mirrorSourceRepo2");
-		File metadataRepo2 = getTestData("11.3", "/testData/mirror/mirrorSourceRepo2");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String installIU = "invalidIU";
-
-		//Setup: ensure folders do not exist
-		delete(destinationRepo);
-
-		//Setup: create the args
-		String[] args = getMultipleRepoArgs("11.4", metadataRepo1, metadataRepo2, artifactRepo1, artifactRepo2, destinationRepo, installIU);
-
-		try {
-			runDirectorApp("11.5", args);
-		} catch (ProvisionException e) {
-			fail("11.6", e);
-		} catch (Exception e) {
-			fail("11.7", e);
-		}
-		//remove the agent data produced by the director
-		delete(new File(destinationRepo, "p2"));
-		//this will only succeed if the destination is empty, which is what we expect because the install failed
-		destinationRepo.delete();
-
-		//ensures that repositories have not been mistakenly created
-		assertTrue("11.8", metadataRepo1.exists());
-		assertTrue("11.9", metadataRepo2.exists());
-		assertTrue("11.10", artifactRepo1.exists());
-		assertTrue("11.11", artifactRepo2.exists());
-		assertFalse("11.12", destinationRepo.exists());
-
-		//Cleanup: delete the folders
-		delete(destinationRepo);
-	}
-
-	/** 
-	 * Test that the application only considers repositories that are pass in and not those that are previously known
-	 * by the managers
-	 */
-	public void testOnlyUsePassedInRepos() throws Exception {
-		File artifactRepo1 = getTestData("12.0", "/testData/mirror/mirrorSourceRepo3");
-		File metadataRepo1 = getTestData("12.1", "/testData/mirror/mirrorSourceRepo3");
-
-		IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactManager);
-		assertNotNull(metadataManager);
-
-		//make repo3 known to the managers
-		artifactManager.loadRepository(artifactRepo1.toURI(), new NullProgressMonitor());
-		metadataManager.loadRepository(metadataRepo1.toURI(), new NullProgressMonitor());
-
-		final URI[] knownArtifactRepos = artifactManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		final URI[] knownMetadataRepos = metadataManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-
-		File artifactRepo2 = getTestData("12.2", "/testData/mirror/mirrorSourceRepo4");
-		File metadataRepo2 = getTestData("12.3", "/testData/mirror/mirrorSourceRepo4");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String[] args = getSingleRepoArgs("12.4", metadataRepo2, artifactRepo2, destinationRepo, "yetanotherplugin");
-
-		destinationRepo.mkdirs();
-		PrintStream oldErr = System.err;
-		PrintStream newErr = new PrintStream(new FileOutputStream(destinationRepo + "/err.out"));
-		System.setErr(newErr);
-
-		try {
-			runDirectorApp("12.5", args);
-		} finally {
-			System.setErr(oldErr);
-			newErr.close();
-		}
-
-		assertLogContainsLine(new File(destinationRepo, "err.out"), "The installable unit yetanotherplugin has not been found.");
-
-		final URI[] afterArtifactRepos = artifactManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		final URI[] afterMetadataRepos = metadataManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		assertEquals(knownMetadataRepos.length, afterMetadataRepos.length);
-		assertEquals(knownArtifactRepos.length, afterArtifactRepos.length);
-
-		artifactManager.removeRepository(artifactRepo1.toURI());
-		metadataManager.removeRepository(metadataRepo1.toURI());
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the ProvisioningContext only uses the passed in repos and not all known repos.
-	 * Expect to install helloworld_1.0.0 not helloworld_1.0.1
-	 * @throws Exception
-	 */
-	public void testPassedInRepos_ProvisioningContext() throws Exception {
-		File artifactRepo1 = getTestData("13.0", "/testData/mirror/mirrorSourceRepo4");
-		File metadataRepo1 = getTestData("13.1", "/testData/mirror/mirrorSourceRepo4");
-
-		IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactManager);
-		assertNotNull(metadataManager);
-
-		//make repo4 known to the managers
-		artifactManager.loadRepository(artifactRepo1.toURI(), new NullProgressMonitor());
-		metadataManager.loadRepository(metadataRepo1.toURI(), new NullProgressMonitor());
-
-		File artifactRepo2 = getTestData("13.2", "/testData/mirror/mirrorSourceRepo3");
-		File metadataRepo2 = getTestData("13.3", "/testData/mirror/mirrorSourceRepo3");
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String[] args = getSingleRepoArgs("13.4", metadataRepo2, artifactRepo2, destinationRepo, "helloworld");
-
-		destinationRepo.mkdirs();
-		PrintStream oldOut = System.out;
-		PrintStream newOut = new PrintStream(new FileOutputStream(destinationRepo + "/out.out"));
-		System.setOut(newOut);
-
-		try {
-			runDirectorApp("13.5", args);
-		} finally {
-			System.setOut(oldOut);
-			newOut.close();
-		}
-
-		assertLogContainsLine(new File(destinationRepo, "out.out"), "Installing helloworld 1.0.0.");
-
-		artifactManager.removeRepository(artifactRepo1.toURI());
-		metadataManager.removeRepository(metadataRepo1.toURI());
-		delete(destinationRepo);
-	}
-
-	/**
-	 * Test the ProvisioningContext only uses the passed in repos and not all known repos.
-	 * Expect to install helloworld_1.0.0 not helloworld_1.0.1
-	 * @throws Exception
-	 */
-	public void testUninstallIgnoresPassedInRepos() throws Exception {
-		File srcRepo = getTestData("14.0", "/testData/mirror/mirrorSourceRepo4");
-
-		IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactManager);
-		assertNotNull(metadataManager);
-
-		File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
-		String[] args = getSingleRepoUninstallArgs("14.1", srcRepo, destinationRepo, "helloworld");
-
-		destinationRepo.mkdirs();
-		PrintStream oldErr = System.err;
-		PrintStream newErr = new PrintStream(new FileOutputStream(destinationRepo + "/err.out"));
-		System.setErr(newErr);
-
-		try {
-			runDirectorApp("14.2", args);
-		} finally {
-			System.setOut(oldErr);
-			newErr.close();
-		}
-
-		assertLogContainsLine(new File(destinationRepo, "err.out"), "The installable unit helloworld has not been found.");
-
-		artifactManager.removeRepository(srcRepo.toURI());
-		metadataManager.removeRepository(srcRepo.toURI());
-		delete(destinationRepo);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
deleted file mode 100644
index b5e6c2b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import org.eclipse.equinox.internal.p2.director.OperationGenerator;
-import org.eclipse.equinox.internal.p2.metadata.ResolvedInstallableUnit;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class OperationGenerationTest extends AbstractProvisioningTest {
-	public void testInstallUninstall() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-		IInstallableUnit a3 = createIU("a", Version.createOSGi(3, 0, 0), false);
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(a1);
-		to.add(a3);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x install
-		// 1 x uninstall
-		assertEquals(2, operands.length);
-	}
-
-	public void test1() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-		IInstallableUnit a3 = createIU("a", Version.createOSGi(3, 0, 0), false);
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a3);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(a1);
-		to.add(a3);
-		to.add(a2);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x install
-		assertEquals(1, operands.length);
-	}
-
-	public void test2() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-		IInstallableUnit a3 = createIU("a", Version.createOSGi(3, 0, 0), false);
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-		from.add(a3);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(a1);
-		to.add(a3);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x uninstall
-		assertEquals(1, operands.length);
-	}
-
-	public void testUpdate1() {
-		IInstallableUnit a = createIU("a", Version.createOSGi(1, 0, 0), false);
-
-		InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
-		b.setId("b");
-		b.setVersion(Version.createOSGi(1, 0, 0));
-		b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(MetadataFactory.createInstallableUnit(b));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x upgrade
-		assertEquals(1, operands.length);
-	}
-
-	public void testUpdate2() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-
-		InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
-		b.setId("b");
-		b.setVersion(Version.createOSGi(1, 0, 0));
-		b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 3.0.0)"), IUpdateDescriptor.NORMAL, null));
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(MetadataFactory.createInstallableUnit(b));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x install
-		// 2 x uninstall
-		assertEquals(3, operands.length);
-	}
-
-	public void testUpdate3() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-
-		InstallableUnitDescription b = new MetadataFactory.InstallableUnitDescription();
-		b.setId("b");
-		b.setVersion(Version.createOSGi(1, 0, 0));
-		b.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
-		InstallableUnitDescription c = new MetadataFactory.InstallableUnitDescription();
-		c.setId("c");
-		c.setVersion(Version.createOSGi(1, 0, 0));
-		c.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("a", new VersionRange("[2.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(MetadataFactory.createInstallableUnit(b));
-		to.add(MetadataFactory.createInstallableUnit(c));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 2 x update
-		assertEquals(2, operands.length);
-	}
-
-	public void testUpdate4() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-		IInstallableUnit b1 = createIU("b", Version.createOSGi(1, 0, 0), false);
-
-		InstallableUnitDescription b2 = new MetadataFactory.InstallableUnitDescription();
-		b2.setId("b");
-		b2.setVersion(Version.createOSGi(2, 0, 0));
-		b2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("b", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-		from.add(b1);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(a1);
-		to.add(a2);
-		to.add(MetadataFactory.createInstallableUnit(b2));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x update
-		assertEquals(1, operands.length);
-	}
-
-	public void testUpdate5() {
-		IInstallableUnit a1 = createIU("a", Version.createOSGi(1, 0, 0), false);
-		IInstallableUnit a2 = createIU("a", Version.createOSGi(2, 0, 0), false);
-		IInstallableUnit b1 = createIU("b", Version.createOSGi(1, 0, 0), false);
-
-		InstallableUnitDescription b2 = new MetadataFactory.InstallableUnitDescription();
-		b2.setId("b");
-		b2.setVersion(Version.createOSGi(2, 0, 0));
-		b2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("b", new VersionRange("[1.0.0, 2.0.0)"), IUpdateDescriptor.NORMAL, null));
-
-		Collection from;
-		from = new ArrayList();
-		from.add(a1);
-		from.add(a2);
-		from.add(b1);
-
-		Collection to;
-		to = new ArrayList();
-		to.add(a1);
-		to.add(MetadataFactory.createInstallableUnit(b2));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		// 1 x update
-		// 1 x uninstall
-		assertEquals(2, operands.length);
-	}
-
-	public void test248468b() {
-		String id = "myBundle";
-		IUpdateDescriptor update = createUpdateDescriptor(id, Version.create("1.0.0"));
-		IInstallableUnit one = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-		IUpdateDescriptor update2 = createUpdateDescriptor(id, Version.create("2.0.0"));
-		IInstallableUnit two = createIU(id, Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update2, null);
-
-		IUpdateDescriptor update3 = createUpdateDescriptor(id, Version.create("3.0.0"));
-		IInstallableUnit three = createIU(id, Version.create("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3, null);
-
-		Collection from = new ArrayList();
-		from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0]));
-		from.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-		from.add(MetadataFactory.createResolvedInstallableUnit(three, new IInstallableUnitFragment[0]));
-
-		Collection to = new ArrayList();
-		to.add(MetadataFactory.createResolvedInstallableUnit(three, new IInstallableUnitFragment[0]));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		//We are uninstalling myBundle 1.0 and 2.0. 3.0 stays unchanged.
-		for (int i = 0; i < operands.length; i++) {
-			assertNotSame("3.0", three, operands[i].first());
-			assertNotSame("3.0.1", three, operands[i].second());
-		}
-		assertEquals("3.1", one, operands[0].first());
-		assertNull("3.2", operands[0].second());
-		assertEquals("3.3", two, operands[1].first());
-		assertNull("3.4", operands[1].second());
-	}
-
-	public void test248468d() {
-		String id = "myBundle";
-		IUpdateDescriptor update = createUpdateDescriptor(id, Version.create("1.0.0"));
-		IInstallableUnit one = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-		update = createUpdateDescriptor(id, Version.create("2.0.0"));
-		IInstallableUnit two = createIU(id, Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-
-		IUpdateDescriptor update3 = createUpdateDescriptor(id, Version.create("3.0.0"));
-		IInstallableUnit three = createIU("anotherBundle", Version.create("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3, null);
-
-		Collection from = new ArrayList();
-		from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0]));
-		from.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-
-		Collection to = new ArrayList();
-		to.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-		to.add(MetadataFactory.createResolvedInstallableUnit(three, new IInstallableUnitFragment[0]));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		//Two is already in the system therefore it will not be in the operands
-		for (int i = 0; i < operands.length; i++) {
-			assertNotSame("2.0", two, operands[i].first());
-			assertNotSame("2.1", two, operands[i].second());
-		}
-		//three is an update of one
-		assertEquals("2.2", 1, operands.length);
-		assertEquals("2.4", one, operands[0].first());
-		assertEquals("2.5", three, operands[0].second());
-	}
-
-	public void test248468c() {
-		String id = "myBundle";
-		IUpdateDescriptor update = createUpdateDescriptor(id, Version.create("1.0.0"));
-		IInstallableUnit one = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-		update = createUpdateDescriptor(id, Version.create("2.0.0"));
-		IInstallableUnit two = createIU(id, Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-
-		IUpdateDescriptor update3 = MetadataFactory.createUpdateDescriptor(id, new VersionRange(Version.createOSGi(2, 0, 0), true, Version.createOSGi(3, 0, 0), false), IUpdateDescriptor.HIGH, "desc");
-		//		IUpdateDescriptor update3 = createUpdateDescriptor(id, Version.create("3.0.0"));
-		IInstallableUnit three = createIU("anotherBundle", Version.create("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3, null);
-
-		Collection from = new ArrayList();
-		from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0]));
-		from.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-
-		Collection to = new ArrayList();
-		to.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-		to.add(MetadataFactory.createResolvedInstallableUnit(three, new IInstallableUnitFragment[0]));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		//Two is already in the system therefore it will not be in the operands
-		for (int i = 0; i < operands.length; i++) {
-			assertNotSame("2.0", two, operands[i].first());
-			assertNotSame("2.1", two, operands[i].second());
-		}
-		//We install three and uninstall one
-		assertEquals("2.2", 2, operands.length);
-		assertNull("2.3", operands[0].first());
-		assertEquals("2.4", three, operands[0].second());
-		assertEquals("2.5", one, operands[1].first());
-		assertNull("2.6", operands[1].second());
-	}
-
-	public void test248468() {
-		String id = "myBundle";
-		IUpdateDescriptor update = createUpdateDescriptor(id, Version.create("1.0.0"));
-		IInstallableUnit one = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-		update = createUpdateDescriptor(id, Version.create("2.0.0"));
-		IInstallableUnit two = createIU(id, Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update, null);
-
-		Collection from = new ArrayList();
-		from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0]));
-		from.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-
-		Collection to = new ArrayList();
-		to.add(MetadataFactory.createResolvedInstallableUnit(two, new IInstallableUnitFragment[0]));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-		assertEquals("1.0", 1, operands.length);
-		assertEquals("1.1", one, operands[0].first());
-		assertNull("1.2", operands[0].second());
-	}
-
-	public void testConfigurationChange1() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnit anotherIU = createIU("misc", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnit anotherIU2 = createIU("misc2", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu1 = createIUFragment(anIU, cuId, Version.create("1.0.0"));
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu1});
-		from.add(fromResolved);
-		from.add(MetadataFactory.createResolvedInstallableUnit(anotherIU, new IInstallableUnitFragment[0]));
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2});
-		to.add(toResolved);
-		to.add(MetadataFactory.createResolvedInstallableUnit(anotherIU2, new IInstallableUnitFragment[0]));
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 3, operands.length);
-		assertContainsConfigurationChange("2.0", operands);
-		assertContainsInstallableUnitOperand("3.0", operands, new InstallableUnitOperand(fromResolved, toResolved));
-	}
-
-	private void assertContainsInstallableUnitOperand(String message, InstallableUnitOperand[] operands, InstallableUnitOperand operand) {
-		for (int i = 0; i < operands.length; i++) {
-			if (operands[i].first() != null && operands[i].first().equals(operand.first()) && operands[i].second() != null && operands[i].second().equals(operand.second()))
-				return;
-		}
-		fail(message);
-	}
-
-	public void testConfigurationChange2() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[0]);
-		from.add(fromResolved);
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2});
-		to.add(toResolved);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 1, operands.length);
-		assertContainsInstallableUnitOperand("3.0", operands, new InstallableUnitOperand(fromResolved, toResolved));
-	}
-
-	public void testConfigurationChange3() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2});
-		from.add(fromResolved);
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[0]);
-		to.add(toResolved);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 1, operands.length);
-		assertContainsInstallableUnitOperand("3.0", operands, new InstallableUnitOperand(fromResolved, toResolved));
-	}
-
-	public void testConfigurationChange4() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2});
-		from.add(fromResolved);
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2});
-		to.add(toResolved);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 0, operands.length);
-	}
-
-	public void testConfigurationChange5() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-		IInstallableUnitFragment cu1 = createIUFragment(anIU, cuId, Version.create("1.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu1, cu2});
-		from.add(fromResolved);
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu2, cu1});
-		to.add(toResolved);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 0, operands.length);
-	}
-
-	public void testConfigurationChange6() {
-		String id = "myBundle";
-		String cuId = "cu";
-		IInstallableUnit anIU = createIU(id, Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		IInstallableUnitFragment cu2 = createIUFragment(anIU, cuId, Version.create("2.0.0"));
-		IInstallableUnitFragment cu1 = createIUFragment(anIU, cuId, Version.create("1.0.0"));
-		IInstallableUnitFragment cu3 = createIUFragment(anIU, cuId, Version.create("3.0.0"));
-
-		Collection from = new ArrayList();
-		ResolvedInstallableUnit fromResolved = (ResolvedInstallableUnit) MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu1, cu2});
-		from.add(fromResolved);
-
-		Collection to = new ArrayList();
-		IInstallableUnit toResolved = MetadataFactory.createResolvedInstallableUnit(anIU, new IInstallableUnitFragment[] {cu1, cu3});
-		to.add(toResolved);
-
-		InstallableUnitOperand[] operands = new OperationGenerator().generateOperation(from, to);
-
-		assertEquals("1.0", 1, operands.length);
-		assertContainsInstallableUnitOperand("3.0", operands, new InstallableUnitOperand(fromResolved, toResolved));
-	}
-
-	public void assertContains(String message, Object[] searched, Object expected) {
-		for (int i = 0; i < searched.length; i++) {
-			if (searched[i].equals(expected))
-				return;
-		}
-		fail(message + "Can't find " + expected);
-	}
-
-	public void assertContainsConfigurationChange(String message, InstallableUnitOperand[] ops) {
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i].first() != null && ops[i].first().equals(ops[i].second())) {
-				return;
-			}
-		}
-		fail(message + " No configuration change operand found");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
deleted file mode 100644
index 0afbeb7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class OracleTest extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit b1;
-	IInstallableUnit c1;
-	IInstallableUnit d1;
-	IInstallableUnit d2;
-
-	IDirector director;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null);
-		a1 = createIU("A", requires, true);
-
-		requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 3.0.0)"), null);
-		c1 = createIU("C", requires, true);
-
-		d1 = createIU("D", DEFAULT_VERSION, true);
-
-		requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.0.0)"), null);
-		b1 = createIU("B", requires, true);
-
-		d2 = createIU("D", Version.createOSGi(2, 0, 0), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, c1, d1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-
-	}
-
-	public void testInstallA1() {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
-
-		createTestMetdataRepository(new IInstallableUnit[] {d2});
-		//		assertEquals(new Oracle().canInstall(new IInstallableUnit[] {b1}, profile, null), true);
-		request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {b1});
-		assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
deleted file mode 100644
index a87fa92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class OracleTest2 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit a2;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IInstallableUnit c2;
-
-	IDirector director;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null);
-		a1 = createIU("A", requires, true);
-
-		c1 = createIU("C", DEFAULT_VERSION, true);
-
-		requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.0.0)"), null);
-		InstallableUnitDescription desc = new MetadataFactory.InstallableUnitDescription();
-		desc.setRequiredCapabilities(requires);
-		desc.setId("A");
-		desc.setVersion(Version.createOSGi(2, 0, 0));
-		desc.setSingleton(true);
-		desc.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("A", new VersionRange("[1.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
-
-		a2 = MetadataFactory.createInstallableUnit(desc);
-
-		b1 = createIU("B", DEFAULT_VERSION, requires, NO_PROPERTIES, true);
-
-		InstallableUnitDescription desc2 = new MetadataFactory.InstallableUnitDescription();
-		desc2.setId("C");
-		desc2.setVersion(Version.createOSGi(2, 0, 0));
-		desc2.setSingleton(true);
-		desc2.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor("C", new VersionRange("[1.0.0, 2.3.0)"), IUpdateDescriptor.NORMAL, null));
-		c2 = MetadataFactory.createInstallableUnit(desc2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-
-	}
-
-	/* I'm not sure what this test should look like now
-	 *
-	 
-	public void testInstallA1() {
-		assertEquals(director.install(new IInstallableUnit[] {a1}, profile, null).getSeverity(), IStatus.OK);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a2, c2, b1});
-		Collection brokenEntryPoint = (Collection) new Oracle().canInstall(new IInstallableUnit[] {b1}, profile, null);
-		//		assertNotNull(brokenEntryPoint.getProperty("entryPoint"));
-
-		new Oracle().hasUpdate(a1);
-		System.out.println(new Oracle().canInstall(new IInstallableUnit[] {b1}, (IInstallableUnit[]) brokenEntryPoint.toArray(new IInstallableUnit[brokenEntryPoint.size()]), profile, null));
-	}
-	 */
-
-	public void testInstallA1bis() {
-		profile = createProfile("testInstallA1bis." + getName());
-		director = createDirector();
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, c1, c2, b1});
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, director.provision(request, null, null).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
deleted file mode 100644
index 1049700..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests {@link IPlanner#getProvisioningPlan(ProfileChangeRequest, ProvisioningContext, org.eclipse.core.runtime.IProgressMonitor)}
- * involving replacing an IU with a different version.
- */
-public class ReplacePlanTest extends AbstractProvisioningTest {
-	IInstallableUnit f1;
-	IInstallableUnit f1_1;
-	IInstallableUnit f1_4;
-	IInstallableUnit frag1;
-	IInstallableUnit frag1_1;
-	IInstallableUnit frag1_4;
-	IInstallableUnit fa;
-	IInstallableUnit fap;
-	IDirector director;
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		//base IU that others require
-		f1 = createIU("f1", DEFAULT_VERSION, true);
-		f1_1 = createIU("f1", Version.createOSGi(1, 1, 0), true);
-		f1_4 = createIU("f1", Version.createOSGi(1, 4, 0), true);
-
-		//fragments of base IU
-		frag1 = createIUFragment(f1, "frag1", f1.getVersion());
-		frag1_1 = createIUFragment(f1, "frag1", f1_1.getVersion());
-		frag1_4 = createIUFragment(f1, "frag1", f1_4.getVersion());
-
-		//IUs that require base IU
-		IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.3.0)"), null);
-		fa = createIU("fa", requires, false);
-		requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.4.0)"), null);
-		fap = createIU("fa", Version.createOSGi(1, 1, 0), requires, NO_PROPERTIES, false);
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1, fa, frag1});
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-		planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {fa, frag1});
-		director.provision(request, null, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1_1, f1_4, frag1_1, frag1_4});
-	}
-
-	public void testSimpleReplace() {
-		IInstallableUnit[] oldUnits = new IInstallableUnit[] {fa};
-		IInstallableUnit[] newUnits = new IInstallableUnit[] {fap};
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.removeInstallableUnits(oldUnits);
-		request.addInstallableUnits(newUnits);
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), null);
-		assertTrue("1.0", plan.getStatus().isOK());
-		assertProfileContainsAll("1.1", profile, oldUnits);
-		IStatus result = createEngine().perform(plan, null);
-		assertTrue("1.2", result.isOK());
-		assertProfileContainsAll("1.3", profile, newUnits);
-	}
-
-	public void testReplaceFragment() {
-		//TODO it is strange that this succeeds, since frag1_4 and fa cannot co-exist
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.removeInstallableUnits(new IInstallableUnit[] {frag1});
-		request.addInstallableUnits(new IInstallableUnit[] {frag1_4});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), null);
-		assertTrue("1.0", plan.getStatus().isOK());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
deleted file mode 100644
index 522849f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.DirectorActivator;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class RollbackTest extends AbstractProvisioningTest {
-
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit c1;
-	IInstallableUnit d1;
-
-	private IProfile profile;
-	private IDirector director;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", DEFAULT_VERSION, true);
-		b1 = createIU("B", DEFAULT_VERSION, true);
-		c1 = createIU("C", DEFAULT_VERSION, true);
-
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		d1 = createIU("D", Version.create("1.0.0"), req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1});
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-
-		try {
-			IMetadataRepository rollbackRepo = getRollbackRepository();
-			if (rollbackRepo != null)
-				rollbackRepo.removeAll();
-		} catch (ProvisionException e) {
-			return;
-		}
-	}
-
-	private IMetadataRepository getRollbackRepository() throws ProvisionException {
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		URI location = ((IAgentLocation) ServiceHelper.getService(DirectorActivator.context, IAgentLocation.class.getName())).getDataArea(DirectorActivator.PI_DIRECTOR);
-		return repoMan.loadRepository(URIUtil.append(location, "rollback"), null);
-	}
-
-	public void testRollbackProfileProperties() {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-
-		assertEquals(1, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
-		request1.setProfileProperty("test1", "test");
-		request1.setProfileProperty("test2", "test");
-		IStatus status = director.provision(request1, null, new NullProgressMonitor());
-		assertEquals("1.0", IStatus.OK, status.getCode());
-		assertEquals("2.0", "test", profile.getProperty("test1"));
-		assertEquals("3.0", "test", profile.getProperty("test2"));
-
-		assertEquals(2, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
-		request2.removeProfileProperty("test1");
-		request2.setProfileProperty("test2", "bad");
-		request2.setProfileProperty("test3", "test");
-		status = director.provision(request2, null, new NullProgressMonitor());
-		assertEquals("5.0", IStatus.OK, status.getCode());
-		assertEquals("6.0", null, profile.getProperty("test1"));
-		assertEquals("7.0", "bad", profile.getProperty("test2"));
-		assertEquals("8.0", "test", profile.getProperty("test3"));
-
-		assertEquals(3, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		IProfile revertProfile = profileRegistry.getProfile(profile.getProfileId(), profileRegistry.listProfileTimestamps(profile.getProfileId())[1]);
-
-		status = director.revert(profile, revertProfile, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals("10.0", IStatus.OK, status.getCode());
-		assertEquals("11.0", "test", profile.getProperty("test1"));
-		assertEquals("12.0", "test", profile.getProperty("test2"));
-		assertEquals("13.0", null, profile.getProperty("test3"));
-	}
-
-	public void testRollbackIUs() {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-
-		assertEquals(1, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
-		request1.addInstallableUnits(new IInstallableUnit[] {a1});
-		request1.addInstallableUnits(new IInstallableUnit[] {b1});
-		IStatus status = director.provision(request1, null, new NullProgressMonitor());
-		assertEquals("1.0", IStatus.OK, status.getCode());
-
-		List profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, null).toCollection());
-		assertTrue("2.0", profileIUs.contains(a1));
-		assertTrue("3.0", profileIUs.contains(b1));
-
-		assertEquals(2, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
-		request2.removeInstallableUnits(new IInstallableUnit[] {a1});
-		request2.addInstallableUnits(new IInstallableUnit[] {c1});
-		status = director.provision(request2, null, new NullProgressMonitor());
-		assertEquals("5.0", IStatus.OK, status.getCode());
-
-		profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, null).toCollection());
-		assertFalse("6.0", profileIUs.contains(a1));
-		assertTrue("7.0", profileIUs.contains(b1));
-		assertTrue("8.0", profileIUs.contains(c1));
-
-		assertEquals(3, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		IProfile revertProfile = profileRegistry.getProfile(profile.getProfileId(), profileRegistry.listProfileTimestamps(profile.getProfileId())[1]);
-
-		status = director.revert(profile, revertProfile, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals("10.0", IStatus.OK, status.getCode());
-
-		profileIUs = new ArrayList(profile.query(InstallableUnitQuery.ANY, null).toCollection());
-		assertTrue("11.0", profileIUs.contains(a1));
-		assertTrue("12.0", profileIUs.contains(b1));
-		assertFalse("13.0", profileIUs.contains(c1));
-	}
-
-	public void testRollbackIUProfileProperties() {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-
-		assertEquals(1, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
-		request1.addInstallableUnits(new IInstallableUnit[] {a1});
-		request1.setInstallableUnitProfileProperty(a1, "test1", "test");
-		request1.setInstallableUnitProfileProperty(a1, "test2", "test");
-		IStatus status = director.provision(request1, null, new NullProgressMonitor());
-		assertEquals("1.0", IStatus.OK, status.getCode());
-		assertEquals("2.0", "test", profile.getInstallableUnitProperty(a1, "test1"));
-		assertEquals("3.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-
-		assertEquals(2, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
-		request2.removeInstallableUnitProfileProperty(a1, "test1");
-		request2.setInstallableUnitProfileProperty(a1, "test2", "bad");
-		request2.setInstallableUnitProfileProperty(a1, "test3", "test");
-		status = director.provision(request2, null, new NullProgressMonitor());
-		assertEquals("5.0", IStatus.OK, status.getCode());
-		assertEquals("6.0", null, profile.getInstallableUnitProperty(a1, "test1"));
-		assertEquals("7.0", "bad", profile.getInstallableUnitProperty(a1, "test2"));
-		assertEquals("8.0", "test", profile.getInstallableUnitProperty(a1, "test3"));
-
-		assertEquals(3, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		IProfile revertProfile = profileRegistry.getProfile(profile.getProfileId(), profileRegistry.listProfileTimestamps(profile.getProfileId())[1]);
-
-		status = director.revert(profile, revertProfile, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals("10.0", IStatus.OK, status.getCode());
-		assertEquals("11.0", "test", profile.getInstallableUnitProperty(a1, "test1"));
-		assertEquals("12.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-		assertEquals("13.0", null, profile.getInstallableUnitProperty(a1, "test3"));
-	}
-
-	public void testRollbackDependentIUProfileProperties() {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-
-		assertEquals(1, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		ProfileChangeRequest request1 = new ProfileChangeRequest(profile);
-		request1.addInstallableUnits(new IInstallableUnit[] {d1});
-		request1.setInstallableUnitProfileProperty(d1, "test1", "test");
-		request1.setInstallableUnitProfileProperty(a1, "test2", "test");
-		IStatus status = director.provision(request1, null, new NullProgressMonitor());
-		assertEquals("1.0", IStatus.OK, status.getCode());
-		assertEquals("2.0", "test", profile.getInstallableUnitProperty(d1, "test1"));
-		assertEquals("3.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-
-		assertEquals(2, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
-		request2.removeInstallableUnits(new IInstallableUnit[] {d1});
-		request2.addInstallableUnits(new IInstallableUnit[] {b1});
-		request2.setInstallableUnitProfileProperty(b1, "test3", "test");
-
-		status = director.provision(request2, null, new NullProgressMonitor());
-		assertEquals("5.0", IStatus.OK, status.getCode());
-		assertEquals("6.0", null, profile.getInstallableUnitProperty(d1, "test1"));
-		assertEquals("7.0", null, profile.getInstallableUnitProperty(a1, "test2"));
-		assertEquals("8.0", "test", profile.getInstallableUnitProperty(b1, "test3"));
-
-		assertEquals(3, profileRegistry.listProfileTimestamps(profile.getProfileId()).length);
-		IProfile revertProfile = profileRegistry.getProfile(profile.getProfileId(), profileRegistry.listProfileTimestamps(profile.getProfileId())[1]);
-
-		status = director.revert(profile, revertProfile, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals("10.0", IStatus.OK, status.getCode());
-		assertEquals("11.0", "test", profile.getInstallableUnitProperty(d1, "test1"));
-		assertEquals("12.0", "test", profile.getInstallableUnitProperty(a1, "test2"));
-		assertEquals("13.0", null, profile.getInstallableUnitProperty(b1, "test3"));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
deleted file mode 100644
index 5683bc4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/SingletonTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SingletonTest extends AbstractProvisioningTest {
-	IInstallableUnit f1;
-	IInstallableUnit f1_1;
-
-	IInstallableUnit f2;
-	IInstallableUnit f2_1;
-
-	IInstallableUnit junit38;
-	IInstallableUnit junit40;
-
-	IDirector director;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		f1 = createIU("f1", Version.createOSGi(1, 0, 0), true);
-
-		f1_1 = createIU("f1", Version.createOSGi(1, 1, 0), true);
-
-		f2 = createIU("f2", Version.createOSGi(1, 0, 0), true);
-
-		f2_1 = createIU("f2", Version.createOSGi(1, 0, 1));
-
-		junit38 = createIU("junit", Version.createOSGi(3, 8, 1));
-
-		junit40 = createIU("junit", Version.createOSGi(4, 0, 1));
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1, f1_1, junit38, junit40, f2, f2_1});
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-	}
-
-	public void testMultipleVersionNonSingleton() {
-		// The installation of junit38 and junit 40 together should succeed
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {junit38, junit40});
-		assertEquals(IStatus.OK, director.provision(request, null, new NullProgressMonitor()).getSeverity());
-	}
-
-	public void testMultipleVersionSingleton() {
-		// The installation of junit38 and junit 40 together should not succeed
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {f1, f1_1});
-		assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
-	}
-
-	public void testMultipleVersionSingleton2() {
-		// The installation of junit38 and junit 40 together should not succeed
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {f2, f2_1});
-		assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
deleted file mode 100644
index 4758f36..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UninstallTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class UninstallTest extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IProfile profile;
-	private IDirector director;
-
-	protected void setUp() throws Exception {
-		a1 = createIU("A", DEFAULT_VERSION, true);
-
-		profile = createProfile("TestProfile." + getName());
-		director = createDirector();
-	}
-
-	public void testUninstall() {
-		IInstallableUnit[] units = new IInstallableUnit[] {a1};
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(units);
-		assertTrue("1.0", director.provision(request, null, null).isOK());
-		assertProfileContains("1.1", profile, units);
-		request = new ProfileChangeRequest(profile);
-		request.removeInstallableUnits(units);
-		assertTrue("1.2", director.provision(request, null, null).isOK());
-		assertEmptyProfile(profile);
-		// uninstalling on empty profile should be a no-op
-		assertTrue("1.3", director.provision(request, null, null).isOK());
-		assertEmptyProfile(profile);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
deleted file mode 100644
index deac606..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.director;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class UpdateTest extends AbstractProvisioningTest {
-	IInstallableUnit f1;
-	IInstallableUnit f1_1;
-	IInstallableUnit f1_4;
-
-	IInstallableUnit fa;
-	IInstallableUnit fap;
-	IDirector director;
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		String f1Id = getName() + "f1";
-		f1 = createIU(f1Id, DEFAULT_VERSION, true);
-		f1_1 = createIU(f1Id, Version.createOSGi(1, 1, 0), true);
-		f1_4 = createIU(f1Id, Version.createOSGi(1, 4, 0), true);
-
-		IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.3.0)"), null);
-		String faId = getName() + ".fa";
-		fa = createIU(faId, requires, false);
-
-		requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.4.0)"), null);
-		fap = createIU(faId, Version.createOSGi(1, 1, 0), requires, NO_PROPERTIES, false);
-
-		createTestMetdataRepository(new IInstallableUnit[] {f1, fa});
-
-		profile = createProfile("UpdateTest." + getName());
-		director = createDirector();
-		planner = createPlanner();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {fa});
-		assertOK("1.0", director.provision(request, null, null));
-		assertProfileContains("Profile setup", profile, new IInstallableUnit[] {f1, fa});
-		createTestMetdataRepository(new IInstallableUnit[] {f1_1, f1_4});
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {f1_1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), new NullProgressMonitor());
-		assertOK("1.0", plan.getStatus());
-		assertOK("1.1", director.provision(request, null, null));
-		request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {f1_4});
-		assertEquals(IStatus.ERROR, director.provision(request, null, new NullProgressMonitor()).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
deleted file mode 100644
index 3ee4d55..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AbstractDirectoryWatcherTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 1.0
- */
-public abstract class AbstractDirectoryWatcherTest extends AbstractProvisioningTest {
-
-	// list of File objects to remove later during teardown
-	protected Set toRemove = new HashSet();
-
-	/*
-	 * Constructor for the class.
-	 */
-	public AbstractDirectoryWatcherTest(String name) {
-		super(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		for (Iterator iter = toRemove.iterator(); iter.hasNext();)
-			delete((File) iter.next());
-		toRemove = new HashSet();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
deleted file mode 100644
index 83638ae..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(DirectoryWatcherTest.class);
-		suite.addTestSuite(RepositoryListenerTest.class);
-		suite.addTestSuite(ProfileSynchronizerTest.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
deleted file mode 100644
index f9da12a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/DirectoryWatcherTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class DirectoryWatcherTest extends AbstractProvisioningTest {
-
-	public DirectoryWatcherTest(String name) {
-		super(name);
-	}
-
-	public void testCreateDirectoryWatcherNullDirectory() throws Exception {
-		try {
-			new DirectoryWatcher((File) null);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testCreateDirectoryWatcherOneDirectory() throws Exception {
-		URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
-		File folder = new File(FileLocator.toFileURL(base).getPath());
-		DirectoryWatcher watcher = new DirectoryWatcher(folder);
-		watcher.start();
-		watcher.stop();
-	}
-
-	public void testCreateDirectoryWatcherProps() throws Exception {
-		URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
-		File folder = new File(FileLocator.toFileURL(base).getPath());
-
-		Hashtable props = new Hashtable();
-		props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
-
-		DirectoryWatcher watcher = new DirectoryWatcher(props, TestActivator.getContext());
-		watcher.start();
-		watcher.stop();
-	}
-
-	public void testDirectoryWatcherListener() throws Exception {
-		URL base = TestActivator.getContext().getBundle().getEntry("/testData/directorywatcher1");
-		File folder = new File(FileLocator.toFileURL(base).getPath());
-
-		Hashtable props = new Hashtable();
-		props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
-
-		DirectoryWatcher watcher = new DirectoryWatcher(props, TestActivator.getContext());
-		final List list = Collections.synchronizedList(new ArrayList());
-		DirectoryChangeListener listener = new DirectoryChangeListener() {
-
-			public boolean added(File file) {
-				if (file.getName().equals("CVS"))
-					return false;
-				list.add(file);
-				return true;
-			}
-
-			public boolean changed(File file) {
-				return false;
-			}
-
-			public boolean removed(File file) {
-				if (file.getName().equals("CVS"))
-					return false;
-				list.remove(file);
-				return true;
-			}
-
-			public boolean isInterested(File file) {
-				return true;
-			}
-
-			public Long getSeenFile(File file) {
-				return null;
-			}
-
-			public void startPoll() {
-
-			}
-
-			public void stopPoll() {
-			}
-
-		};
-		watcher.addListener(listener);
-		watcher.poll();
-		assertEquals(2, list.size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
deleted file mode 100644
index 8043939..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/ProfileSynchronizerTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * @since 1.0
- */
-public class ProfileSynchronizerTest extends AbstractDirectoryWatcherTest {
-
-	/*
-	 * Constructor for the class.
-	 */
-	public ProfileSynchronizerTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * Run all the tests in this class.
-	 */
-	public static Test suite() {
-		return new TestSuite(ProfileSynchronizerTest.class);
-	}
-
-	public void test() {
-		// empty test because the others aren't enabled yet
-	}
-
-	/*
-	 * Test that we only try to install bundles with matching platform filters.
-	 * 
-	 * TODO we don't want to test to see if the bundles are in the repo, but if
-	 * the bundles are filtered when they are installed into a profile.
-	 */
-	public void _testPlatformFilter() {
-		String base = "/testData/profileSynchronizer/";
-		String[] extensions = new String[] {"bbb_1.0.0.jar", "bbb.linux_1.0.0.jar", "bbb.win32_1.0.0.jar"};
-		Set jars = new HashSet();
-		for (int i = 0; i < extensions.length; i++)
-			jars.add(getTestData("0.99", base + extensions[i]));
-		File folder = getTempFolder();
-		toRemove.add(folder);
-		for (Iterator iter = jars.iterator(); iter.hasNext();) {
-			File next = (File) iter.next();
-			copy("1.0 " + next.getAbsolutePath(), next, new File(folder, next.getName()));
-		}
-
-		// We should have an empty repository because we haven't done anything yet
-		TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-		assertEquals("2.0", 0, watcher.getInstallableUnits().length);
-		assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
-		watcher.poll();
-
-		// which IUs we are expecting is dependent on which OS we are running
-		Set expected = new HashSet();
-		expected.add("bbb");
-		String os = System.getProperty("osgi.os");
-		if ("win32".equals(os)) {
-			expected.add("bbb.win32");
-		} else if ("linux".equals(os)) {
-			expected.add("bbb.linux");
-		}
-
-		IInstallableUnit[] ius = watcher.getInstallableUnits();
-		assertEquals("3.0", expected.size(), ius.length);
-		for (int i = 0; i < ius.length; i++)
-			assertTrue("3.1 " + ius[i].getId(), expected.contains(ius[i].getId()));
-		assertEquals("3.2", expected.size(), watcher.getArtifactKeys().length);
-	}
-
-	/*
-	 * Test to ensure that we only try to install the highest version of singleton bundles
-	 * where multiple versions exist.
-	 * 
-	 * TODO we don't want to test to see if the bundles are in the repo, but if
-	 * the bundles are filtered when they are installed into a profile.
-	 */
-	public void _testMultipleVersions() {
-		File one = getTestData("0.1", "/testData/profileSynchronizer/ccc_1.0.0.jar");
-		File two = getTestData("0.2", "/testData/profileSynchronizer/ccc_2.0.0.jar");
-		File folder = getTempFolder();
-		toRemove.add(folder);
-
-		copy("1.0", one, new File(folder, one.getName()));
-		copy("1.1", two, new File(folder, two.getName()));
-
-		TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-
-		// We should have an empty repository because we haven't done anything yet
-		assertEquals("2.0", 0, watcher.getInstallableUnits().length);
-		assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
-		watcher.poll();
-
-		IInstallableUnit[] ius = watcher.getInstallableUnits();
-		IArtifactKey[] artifacts = watcher.getArtifactKeys();
-		assertEquals("3.0", 1, ius.length);
-		assertEquals("3.1", "ccc", ius[0].getId());
-		assertEquals("3.2", Version.create("2.0.0"), ius[0].getVersion());
-		assertEquals("4.0", 1, artifacts.length);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
deleted file mode 100644
index eef4022..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-
-public class RepositoryListenerTest extends AbstractDirectoryWatcherTest {
-
-	/*
-	 * Constructor for the class.
-	 */
-	public RepositoryListenerTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * Run all the tests in this class.
-	 */
-	public static Test suite() {
-		return new TestSuite(RepositoryListenerTest.class);
-	}
-
-	public static boolean isZipped(ITouchpointData[] data) {
-		if (data == null || data.length == 0)
-			return false;
-		for (int i = 0; i < data.length; i++) {
-			if (data[i].getInstruction("zipped") != null) //$NON-NLS-1$
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * Remove the files from the target, if they exist in the source.
-	 */
-	private void removeContents(File source, File target) {
-		if (source.exists() && source.isDirectory() && target.exists() && target.isDirectory()) {
-			File[] files = source.listFiles();
-			for (int i = 0; i < files.length; i++)
-				if (files[i] != null)
-					delete(new File(target, files[i].getName()));
-		}
-	}
-
-	public void testDirectoryWatcherListener() {
-		File baseFolder = getTestData("0.99", "/testData/directorywatcher1");
-		File baseFolder2 = getTestData("0.100", "/testData/directorywatcher2");
-
-		// make sure we remove this file after we finish running the tests
-		File folder = getTempFolder();
-		toRemove.add(folder);
-
-		// create the watcher
-		TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-		watcher.poll();
-
-		// We should have an empty repository because we haven't done anything yet
-		assertEquals("1.0", 0, watcher.getInstallableUnits().length);
-		assertEquals("1.1", 0, watcher.getArtifactKeys().length);
-
-		// copy the first set of data to the folder so it is discovered and then verify the contents
-		copy("2.0", baseFolder, folder);
-		watcher.poll();
-		IArtifactKey[] keys = watcher.getArtifactKeys();
-		for (int i = 0; i < keys.length; i++) {
-			String file = watcher.getArtifactFile(keys[i]).getAbsolutePath();
-			assertTrue("2.1." + file, file.startsWith(folder.getAbsolutePath()));
-		}
-		assertEquals("3.0", 2, watcher.getInstallableUnits().length);
-		assertEquals("3.1", 2, watcher.getArtifactKeys().length);
-
-		// copy the second data set to be discovered and then verify the number of entries
-		copy("4.99", baseFolder2, folder);
-		watcher.poll();
-		assertEquals("5.0", 3, watcher.getInstallableUnits().length);
-		assertEquals("5.1", 3, watcher.getArtifactKeys().length);
-
-		// remove some of the data and then verify the contents
-		removeContents(baseFolder, folder);
-		watcher.poll();
-		assertEquals("6.0", 1, watcher.getInstallableUnits().length);
-		assertEquals("6.1", 1, watcher.getArtifactKeys().length);
-	}
-
-	public void testBundleShape() {
-
-		// make sure we remove this file after we finish running the tests
-		File folder = getTempFolder();
-		toRemove.add(folder);
-
-		// create the watcher
-		TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-
-		// this folder contains a jared plugin and a directory plugin
-		File baseFolder = getTestData("0.99", "/testData/directorywatcher1");
-		copy("2.0", baseFolder, folder);
-		watcher.poll();
-
-		// verify metadata
-		IInstallableUnit jaredIU = null;
-		IInstallableUnit directoryIU = null;
-		IInstallableUnit[] ius = watcher.getInstallableUnits();
-		assertEquals("3.0", 2, ius.length);
-		for (int i = 0; i < ius.length; i++) {
-			IInstallableUnit iu = ius[i];
-			if (isZipped(iu.getTouchpointData())) {
-				assertNull("4.0", jaredIU);
-				jaredIU = iu;
-			} else {
-				assertNull("5.0", directoryIU);
-				directoryIU = iu;
-			}
-		}
-		assertTrue("6.0", directoryIU != null && jaredIU != null);
-
-		// verify artifact descriptors
-		IArtifactDescriptor jaredDescriptor = null;
-		IArtifactDescriptor directoryDescriptor = null;
-		IArtifactKey[] keys = watcher.getArtifactKeys();
-		assertEquals("7.0", 2, keys.length);
-		for (int i = 0; i < keys.length; i++) {
-			IArtifactKey key = keys[i];
-			IArtifactDescriptor[] descriptors = watcher.getArtifactDescriptors(key);
-			assertEquals("8.0", 1, descriptors.length);
-			SimpleArtifactDescriptor descriptor = (SimpleArtifactDescriptor) descriptors[0];
-			String isFolder = descriptor.getRepositoryProperty("artifact.folder");
-			if (Boolean.valueOf(isFolder).booleanValue()) {
-				assertNull("9.0", directoryDescriptor);
-				directoryDescriptor = descriptors[0];
-			} else {
-				assertNull("10.0", jaredDescriptor);
-				jaredDescriptor = descriptors[0];
-			}
-		}
-		assertTrue("11.0", jaredDescriptor != null && directoryDescriptor != null);
-	}
-
-	/*
-	 * Test to ensure that we convert bundles with Eclipse 2.x-style plugin.xml files into 
-	 * proper OSGi manifest files so the bundle can be installed
-	 */
-	public void testPluginXMLConversion() {
-		// test plugin.xml in a JAR'd bundle
-		File oldBundleJAR = getTestData("0.1", "/testData/repositoryListener/oldBundleJAR.jar");
-		// test plugin.xml in a directory-based bundle
-		File oldBundleDirectory = getTestData("0.2", "/testData/repositoryListener/oldBundleDirectory");
-		// test plugin.xml in the presence of an Ant Manifest file in a JAR'd bundle
-		File oldBundleJARTwo = getTestData("0.3", "/testData/repositoryListener/oldBundleJARTwo.jar");
-		// test plugin.xml in the presence of an Ant Manifest file in a directory-based bundle
-		File oldBundleDirectoryTwo = getTestData("0.4", "/testData/repositoryListener/oldBundleDirectoryTwo");
-
-		// copy the test bundles over to where we will be watching in the repo listener
-		File folder = getTempFolder();
-		toRemove.add(folder);
-		copy("1.0", oldBundleJAR, new File(folder, oldBundleJAR.getName()));
-		copy("1.1", oldBundleJARTwo, new File(folder, oldBundleJARTwo.getName()));
-		copy("1.2", oldBundleDirectory, new File(folder, oldBundleDirectory.getName()));
-		copy("1.3", oldBundleDirectoryTwo, new File(folder, oldBundleDirectoryTwo.getName()));
-
-		// We should have an empty repository because we haven't done anything yet
-		TestRepositoryWatcher watcher = TestRepositoryWatcher.createWatcher(folder);
-		assertEquals("2.0", 0, watcher.getInstallableUnits().length);
-		assertEquals("2.1", 0, watcher.getArtifactKeys().length);
-
-		watcher.poll();
-		// the repo should have added all 4 bundles
-		assertEquals("3.0", 4, watcher.getInstallableUnits().length);
-		assertEquals("3.1", 4, watcher.getArtifactKeys().length);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
deleted file mode 100644
index dc8f721..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/TestRepositoryWatcher.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.directorywatcher;
-
-import java.io.File;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher;
-import org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Helper test class which wraps a repository listener.
- */
-class TestRepositoryWatcher extends DirectoryWatcher {
-
-	private RepositoryListener listener;
-
-	/*
-	 * Create and return a new test directory watcher class which will listen on the given folder.
-	 */
-	public static TestRepositoryWatcher createWatcher(File folder) {
-		RepositoryListener listener = new RepositoryListener(AbstractProvisioningTest.getUniqueString(), false);
-		Dictionary props = new Hashtable();
-		props.put(DirectoryWatcher.DIR, folder.getAbsolutePath());
-		props.put(DirectoryWatcher.POLL, "500");
-		TestRepositoryWatcher result = new TestRepositoryWatcher(props, TestActivator.getContext());
-		result.addListener(listener);
-		return result;
-	}
-
-	/*
-	 * Constructor for the class.
-	 */
-	private TestRepositoryWatcher(Dictionary props, BundleContext context) {
-		super(props, context);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher#addListener(org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryChangeListener)
-	 */
-	public synchronized void addListener(RepositoryListener repoListener) {
-		super.addListener(repoListener);
-		this.listener = repoListener;
-	}
-
-	/*
-	 * Return the list of all the IUs known to the metadata repository this watcher's listener.
-	 */
-	public IInstallableUnit[] getInstallableUnits() {
-		return (IInstallableUnit[]) listener.getMetadataRepository().query(InstallableUnitQuery.ANY, null).toArray(IInstallableUnit.class);
-	}
-
-	/*
-	 * Return the list of artifact keys known to this listener's repository.
-	 */
-	public IArtifactKey[] getArtifactKeys() {
-		Collector keys = listener.getArtifactRepository().query(ArtifactKeyQuery.ALL_KEYS, null);
-		return (IArtifactKey[]) keys.toArray(IArtifactKey.class);
-	}
-
-	/*
-	 * Return the list of artifact descriptors known to this listener's repository.
-	 */
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		return listener.getArtifactRepository().getArtifactDescriptors(key);
-	}
-
-	/*
-	 * Return the file associated with the given artifact key.
-	 */
-	public File getArtifactFile(IArtifactKey key) {
-		return ((IFileArtifactRepository) listener.getArtifactRepository()).getArtifactFile(key);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
deleted file mode 100644
index 3315805..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/embeddedequinox/EmbeddedEquinox.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.embeddedequinox;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Enumeration;
-import java.util.Map;
-import org.osgi.framework.BundleContext;
-
-/*
- * This class assumes the bundle's classloader only has access to org.osgi.framework
- * from the hosting framework.  Any more access could result in ClassVerifier errors.
- */
-public class EmbeddedEquinox {
-	private final Map frameworkProperties;
-	private final String[] frameworkArgs;
-	private Class eclipseStarterClazz;
-	private BundleContext context;
-	private URL[] frameworkClassPath;
-
-	public EmbeddedEquinox(Map frameworkProperties, String[] frameworkArgs, URL[] frameworkClassPath) {
-		this.frameworkProperties = frameworkProperties;
-		this.frameworkArgs = frameworkArgs;
-		this.frameworkClassPath = frameworkClassPath;
-	}
-
-	public BundleContext startFramework() {
-		System.setProperty("osgi.framework.useSystemProperties", "false");
-		try {
-			URLClassLoader frameworkLoader = new FrameworkClassLoader(frameworkClassPath, this.getClass().getClassLoader());
-			eclipseStarterClazz = frameworkLoader.loadClass("org.eclipse.core.runtime.adaptor.EclipseStarter");
-
-			Method setInitialProperties = eclipseStarterClazz.getMethod("setInitialProperties", new Class[] {Map.class}); //$NON-NLS-1$
-			setInitialProperties.invoke(null, new Object[] {frameworkProperties});
-
-			Method runMethod = eclipseStarterClazz.getMethod("startup", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
-			context = (BundleContext) runMethod.invoke(null, new Object[] {frameworkArgs, null});
-		} catch (Throwable t) {
-			if (t instanceof RuntimeException)
-				throw (RuntimeException) t;
-			throw new RuntimeException(t);
-		}
-		return context;
-	}
-
-	public void shutdown() {
-		try {
-			Method shutdownMethod = eclipseStarterClazz.getMethod("shutdown", (Class[]) null); //$NON-NLS-1$
-			shutdownMethod.invoke((Object[]) null, (Object[]) null);
-
-		} catch (Throwable t) {
-			if (t instanceof RuntimeException)
-				throw (RuntimeException) t;
-			throw new RuntimeException(t);
-		}
-	}
-
-	public class FrameworkClassLoader extends URLClassLoader {
-		ClassLoader embeddedBundleLoader;
-
-		public FrameworkClassLoader(URL[] urls, ClassLoader parent) {
-			super(urls, null);
-			this.embeddedBundleLoader = parent;
-		}
-
-		protected Class findClass(String name) throws ClassNotFoundException {
-			if (name.startsWith("org.osgi.framework."))
-				// TODO this should call findClass; but then have to use reflection!!
-				return embeddedBundleLoader.loadClass(name);
-			return super.findClass(name);
-		}
-
-		public URL findResource(String name) {
-			if (name.startsWith("org/osgi/framework/"))
-				// TODO this should call findResource; but then have to use reflection!!
-				return embeddedBundleLoader.getResource(name);
-			return super.findResource(name);
-		}
-
-		public Enumeration findResources(String name) throws IOException {
-			if (name.startsWith("org/osgi/framework/"))
-				// TODO this should call findResources; but then have to use reflection!!
-				return embeddedBundleLoader.getResources(name);
-			return super.findResources(name);
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ActionManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ActionManagerTest.java
deleted file mode 100644
index 8987615..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ActionManagerTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import org.eclipse.equinox.internal.p2.engine.ActionManager;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * Simple test of the engine API.
- */
-public class ActionManagerTest extends AbstractProvisioningTest {
-
-	public ActionManagerTest(String name) {
-		super(name);
-	}
-
-	public ActionManagerTest() {
-		super("");
-	}
-
-	public void testGetTouchpointQualifiedActionId() {
-		ActionManager manager = new ActionManager();
-		assertNotNull(manager.getTouchpointQualifiedActionId("test", MetadataFactory.createTouchpointType("phaseTest", Version.create("1"))));
-	}
-
-	public void testGetActionWithVersion() {
-		ActionManager manager = new ActionManager();
-		assertNotNull(manager.getAction("test1.test", new VersionRange("1.0.0")));
-	}
-
-	public void testGetActionWithNullVersion() {
-		ActionManager manager = new ActionManager();
-		assertNotNull(manager.getAction("test1.test", null));
-	}
-
-	// temporarily disabling this test until API is done
-	public void DISABLED_testDynamicAction() throws MalformedURLException, BundleException, InterruptedException {
-		ActionManager manager = new ActionManager();
-		assertNull(manager.getAction("dummy.touchpointAndAction.dummy", new VersionRange("1.0.0")));
-		File dummy = getTestData("0.1", "/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar");
-		Bundle bundle = TestActivator.getContext().installBundle(dummy.toURL().toString());
-		bundle.start(); //force resolve
-
-		int maxTries = 20;
-		int current = 0;
-		while (true) {
-			if (null != manager.getAction("dummy.touchpointAndAction.dummy", new VersionRange("1.0.0")))
-				break;
-			if (++current == maxTries)
-				fail("dummy action not added");
-			Thread.sleep(100);
-		}
-		bundle.uninstall();
-		current = 0;
-		while (true) {
-			if (null == manager.getAction("dummy.touchpointAndAction.dummy", new VersionRange("1.0.0")))
-				break;
-			if (++current == maxTries)
-				fail("dummy action not removed");
-			Thread.sleep(100);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
deleted file mode 100644
index de18d1a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import junit.framework.*;
-
-/**
- * Performs all engine tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CertificateCheckerTest.class);
-		suite.addTestSuite(DownloadManagerTest.class);
-		suite.addTestSuite(InstructionParserTest.class);
-		suite.addTestSuite(EngineTest.class);
-		suite.addTestSuite(PhaseApplicabilityTest.class);
-		suite.addTestSuite(PhaseSetTest.class);
-		suite.addTestSuite(PhaseTest.class);
-		suite.addTestSuite(ParameterizedProvisioningActionTest.class);
-		suite.addTestSuite(ProfileMetadataRepositoryTest.class);
-		suite.addTestSuite(ProfileTest.class);
-		suite.addTestSuite(ProfilePreferencesTest.class);
-		suite.addTestSuite(ProfileRegistryTest.class);
-		suite.addTestSuite(SurrogateProfileHandlerTest.class);
-		suite.addTestSuite(ActionManagerTest.class);
-		suite.addTestSuite(TouchpointManagerTest.class);
-		suite.addTestSuite(TouchpointTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/CertificateCheckerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/CertificateCheckerTest.java
deleted file mode 100644
index 466da34..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/CertificateCheckerTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.cert.Certificate;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.ProvisioningAgent;
-import org.eclipse.equinox.internal.p2.engine.EngineActivator;
-import org.eclipse.equinox.internal.p2.engine.phases.CertificateChecker;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.p2.tests.*;
-
-/**
- * Tests for {@link CertificateChecker}.
- */
-public class CertificateCheckerTest extends AbstractProvisioningTest {
-	class CertificateTestService implements IServiceUI {
-		public boolean unsignedReturnValue = true;
-		public boolean wasPrompted = false;
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			return null;
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			return null;
-		}
-
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			wasPrompted = true;
-			return new TrustInfo(null, false, unsignedReturnValue);
-		}
-
-	}
-
-	CertificateChecker checker;
-	CertificateTestService serviceUI;
-	File unsigned;
-	private ProvisioningAgent testAgent;
-
-	protected void setUp() throws Exception {
-		serviceUI = new CertificateTestService();
-		testAgent = new ProvisioningAgent();
-		testAgent.registerService(IServiceUI.SERVICE_NAME, serviceUI);
-		testAgent.setBundleContext(TestActivator.getContext());
-		checker = new CertificateChecker(testAgent);
-		try {
-			unsigned = TestData.getFile("CertificateChecker", "unsigned.jar");
-		} catch (IOException e) {
-			fail("0.99", e);
-		}
-		assertTrue("1.0", unsigned != null);
-		assertTrue("1.0", unsigned.exists());
-	}
-
-	/**
-	 * Tests that installing unsigned content is not allowed when the policy says it must fail.
-	 */
-	public void testPolicyAllow() {
-		try {
-			//if the service is consulted it will say no
-			serviceUI.unsignedReturnValue = false;
-			System.getProperties().setProperty(EngineActivator.PROP_UNSIGNED_POLICY, EngineActivator.UNSIGNED_ALLOW);
-			checker.add(unsigned);
-			IStatus result = checker.start();
-			assertEquals("1.0", IStatus.OK, result.getSeverity());
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		}
-	}
-
-	/**
-	 * Tests that installing unsigned content is not allowed when the policy says it must fail.
-	 */
-	public void testPolicyFail() {
-		try {
-			System.getProperties().setProperty(EngineActivator.PROP_UNSIGNED_POLICY, EngineActivator.UNSIGNED_FAIL);
-			checker.add(unsigned);
-			IStatus result = checker.start();
-			assertEquals("1.0", IStatus.ERROR, result.getSeverity());
-
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		}
-	}
-
-	/**
-	 * Tests that installing unsigned content with the "prompt" policy and the prompt succeeds.
-	 */
-	public void testPolicyPromptSuccess() {
-		try {
-			System.getProperties().setProperty(EngineActivator.PROP_UNSIGNED_POLICY, EngineActivator.UNSIGNED_PROMPT);
-			serviceUI.unsignedReturnValue = true;
-			checker.add(unsigned);
-			IStatus result = checker.start();
-			assertEquals("1.0", IStatus.OK, result.getSeverity());
-			assertTrue("1.1", serviceUI.wasPrompted);
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		}
-	}
-
-	/**
-	 * Tests that the default policy for unsigned content is to prompt.
-	 */
-	public void testPolicyDefault() {
-		System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		serviceUI.unsignedReturnValue = true;
-		checker.add(unsigned);
-		IStatus result = checker.start();
-		assertEquals("1.0", IStatus.OK, result.getSeverity());
-		assertTrue("1.1", serviceUI.wasPrompted);
-	}
-
-	/**
-	 * Tests that installing unsigned content with the "prompt" policy and the prompt says no.
-	 */
-	public void testPolicyPromptCancel() {
-		try {
-			System.getProperties().setProperty(EngineActivator.PROP_UNSIGNED_POLICY, EngineActivator.UNSIGNED_PROMPT);
-			serviceUI.unsignedReturnValue = false;
-			checker.add(unsigned);
-			IStatus result = checker.start();
-			assertEquals("1.0", IStatus.CANCEL, result.getSeverity());
-			assertTrue("1.1", serviceUI.wasPrompted);
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		}
-	}
-
-	/**
-	 * Tests that trust checks that occur in a headless environment are properly treated
-	 * as permissive, but not persistent, the same way as it would be if the service registration
-	 * were not there.
-	 */
-	public void testBug291049() {
-		try {
-			// Intentionally replace our service with a null service
-			testAgent.registerService(IServiceUI.SERVICE_NAME, null);
-			checker.add(unsigned);
-			// TODO need to add some untrusted files here, too.  To prove that we treated them as trusted temporarily
-			System.getProperties().setProperty(EngineActivator.PROP_UNSIGNED_POLICY, EngineActivator.UNSIGNED_PROMPT);
-			IStatus result = checker.start();
-			assertTrue("1.0", result.isOK());
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_UNSIGNED_POLICY);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DownloadManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DownloadManagerTest.java
deleted file mode 100644
index cc89dbf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/DownloadManagerTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.DownloadManager;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Simple tests of {@link DownloadManager} API.
- */
-public class DownloadManagerTest extends AbstractProvisioningTest {
-	public static Test suite() {
-		return new TestSuite(DownloadManagerTest.class);
-	}
-
-	/**
-	 * Tests invocation of DownloadManager when there is nothing to download.
-	 */
-	public void testEmpty() {
-		DownloadManager manager = createDownloadManager(null);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	/**
-	 * Tests invocation of DownloadManager when there is nothing to download.
-	 */
-	public void testEmptyWithContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	/**
-	 * Tests invocation of DownloadManager when there is nothing to download.
-	 */
-	public void testAddNullArtifactRequest() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-		try {
-			manager.add((IArtifactRequest) null);
-		} catch (RuntimeException e) {
-			return;
-		}
-		fail("1.0");
-	}
-
-	public void testAddNullArtifactRequestArray() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-		try {
-			manager.add((IArtifactRequest[]) null);
-		} catch (RuntimeException e) {
-			return;
-		}
-		fail("1.0");
-	}
-
-	public void testAddEmptyArtifactRequestArray() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-		manager.add(new IArtifactRequest[0]);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	public void testAddArtifactRequestArrayContainingNull() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-		try {
-			IArtifactRequest[] requests = new IArtifactRequest[] {null};
-			manager.add(requests);
-		} catch (RuntimeException e) {
-			return;
-		}
-		fail("1.0");
-	}
-
-	public void testAddArtifactRequest() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest request = createArtifactRequest();
-		manager.add(request);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-
-	}
-
-	public void testContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		context.setArtifactRepositories(new URI[0]);
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest request = createArtifactRequest();
-		manager.add(request);
-		IStatus result = manager.start(null);
-		assertFalse("1.0", result.isOK());
-		assertNotNull(result.getException());
-	}
-
-	public void testAddArtifactRequestArray() {
-		ProvisioningContext context = new ProvisioningContext();
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest[] requests = new IArtifactRequest[] {createArtifactRequest()};
-		manager.add(requests);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-
-	}
-
-	private IArtifactRequest createArtifactRequest() {
-		IArtifactRequest request = new IArtifactRequest() {
-			public IArtifactKey getArtifactKey() {
-				return null;
-			}
-
-			public IStatus getResult() {
-				return Status.OK_STATUS;
-			}
-		};
-		return request;
-	}
-
-	public void testEmptyArtifactRepositoryListContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		context.setArtifactRepositories(new URI[0]);
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest[] requests = new IArtifactRequest[] {createArtifactRequest()};
-		manager.add(requests);
-		IStatus result = manager.start(null);
-		assertEquals("1.0", IStatus.ERROR, result.getSeverity());
-	}
-
-	public void testFileFirstArtifactRepositoryListContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		URI[] artifactRepos = new URI[2];
-		try {
-			artifactRepos[0] = new URI("file:/test");
-			artifactRepos[1] = new URI("jar:file:/test!/");
-		} catch (URISyntaxException e) {
-			fail(e.getMessage());
-		}
-
-		context.setArtifactRepositories(artifactRepos);
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest[] requests = new IArtifactRequest[] {createArtifactRequest()};
-		manager.add(requests);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	public void testFileLastArtifactRepositoryListContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		URI[] artifactRepos = new URI[2];
-		try {
-			artifactRepos[0] = new URI("jar:file:/test!/");
-			artifactRepos[1] = new URI("file:/test");
-		} catch (URISyntaxException e) {
-			fail(e.getMessage());
-		}
-
-		context.setArtifactRepositories(artifactRepos);
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest[] requests = new IArtifactRequest[] {createArtifactRequest()};
-		manager.add(requests);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	public void testNoFileArtifactRepositoryListContext() {
-		ProvisioningContext context = new ProvisioningContext();
-		URI[] artifactRepos = new URI[2];
-		try {
-			artifactRepos[0] = new URI("jar:file:/test1!/");
-			artifactRepos[1] = new URI("jar:file:/test2!/");
-		} catch (URISyntaxException e) {
-			fail(e.getMessage());
-		}
-
-		context.setArtifactRepositories(artifactRepos);
-		DownloadManager manager = createDownloadManager(context);
-
-		IArtifactRequest[] requests = new IArtifactRequest[] {createArtifactRequest()};
-		manager.add(requests);
-		IStatus result = manager.start(null);
-		assertTrue("1.0", result.isOK());
-	}
-
-	private DownloadManager createDownloadManager(ProvisioningContext context) {
-		return new DownloadManager(context, getArtifactRepositoryManager());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
deleted file mode 100644
index 879643c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/EngineTest.java
+++ /dev/null
@@ -1,773 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.p2.engine.phases.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- * 
- * Note:
- * Currently you MUST have previously generated metadata from a 3.3.1 install.
- * There are ordering dependencies for the tests temporarily 
- */
-public class EngineTest extends AbstractProvisioningTest {
-
-	private static class CountPhase extends Phase {
-		int operandCount = 0;
-		int phaseCount = 0;
-
-		protected CountPhase(String name, boolean forced) {
-			super(name, 1, forced);
-		}
-
-		protected CountPhase(String name) {
-			this(name, false);
-		}
-
-		protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-			operandCount--;
-			return super.completeOperand(profile, operand, parameters, monitor);
-		}
-
-		protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			phaseCount--;
-			return super.completePhase(monitor, profile, parameters);
-		}
-
-		protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-			operandCount++;
-			return super.initializeOperand(profile, operand, parameters, monitor);
-		}
-
-		protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			phaseCount++;
-			return super.initializePhase(monitor, profile, parameters);
-		}
-
-		protected ProvisioningAction[] getActions(Operand operand) {
-			return null;
-		}
-
-		public boolean isConsistent() {
-			return operandCount == 0 && phaseCount == 0;
-		}
-	}
-
-	private static class NPEPhase extends CountPhase {
-		protected NPEPhase() {
-			super("NPE");
-		}
-
-		protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			super.completePhase(monitor, profile, parameters);
-			throw new NullPointerException();
-		}
-
-		protected ProvisioningAction[] getActions(Operand operand) {
-			return null;
-		}
-	}
-
-	private static class ActionNPEPhase extends CountPhase {
-		protected ActionNPEPhase(boolean forced) {
-			super("ActionNPEPhase", forced);
-		}
-
-		protected ActionNPEPhase() {
-			this(false);
-		}
-
-		protected ProvisioningAction[] getActions(Operand operand) {
-			ProvisioningAction action = new ProvisioningAction() {
-
-				public IStatus undo(Map parameters) {
-					throw new NullPointerException();
-				}
-
-				public IStatus execute(Map parameters) {
-					throw new NullPointerException();
-				}
-			};
-			return new ProvisioningAction[] {action};
-		}
-	}
-
-	private static class TestPhaseSet extends PhaseSet {
-		public TestPhaseSet(Phase phase) {
-			super(new Phase[] {new Collect(100), new Unconfigure(10), new Uninstall(50), new Property(1), new CheckTrust(10), new Install(50), new Configure(10), phase});
-		}
-
-		public TestPhaseSet(boolean forced) {
-			super(new Phase[] {new Collect(100), new Unconfigure(10, forced), new Uninstall(50, forced), new Property(1), new CheckTrust(10), new Install(50), new Configure(10)});
-		}
-	}
-
-	private ServiceReference engineRef;
-	private IEngine engine;
-	private File testProvisioning;
-
-	public EngineTest(String name) {
-		super(name);
-	}
-
-	public EngineTest() {
-		this("");
-	}
-
-	private static boolean deleteDirectory(File directory) {
-		if (directory.exists() && directory.isDirectory()) {
-			File[] files = directory.listFiles();
-			for (int i = 0; i < files.length; i++) {
-				if (files[i].isDirectory()) {
-					deleteDirectory(files[i]);
-				} else {
-					files[i].delete();
-				}
-			}
-		}
-		return directory.delete();
-	}
-
-	protected void setUp() throws Exception {
-		engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
-		engine = (IEngine) TestActivator.getContext().getService(engineRef);
-		testProvisioning = new File(System.getProperty("java.io.tmpdir"), "testProvisioning");
-		deleteDirectory(testProvisioning);
-		testProvisioning.mkdir();
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-		deleteDirectory(testProvisioning);
-	}
-
-	public void testNullProfile() {
-
-		IProfile profile = null;
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
-		try {
-			engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNullPhaseSet() {
-
-		IProfile profile = createProfile("test");
-		PhaseSet phaseSet = null;
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
-		try {
-			engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNullPlan() {
-
-		try {
-			engine.perform(null, new NullProgressMonitor());
-			fail();
-		} catch (RuntimeException expected) {
-			//expected
-		}
-	}
-
-	/*
-	 * Tests for {@link IEngine#createPhaseSetExcluding}.
-	 */
-	public void testCreatePhaseSetExcluding() {
-		//null argument
-		IPhaseSet set = engine.createPhaseSetExcluding(null);
-		assertEquals("1.0", 7, set.getPhaseIds().length);
-
-		//empty argument
-		set = engine.createPhaseSetExcluding(new String[0]);
-		assertEquals("2.0", 7, set.getPhaseIds().length);
-
-		//bogus argument
-		set = engine.createPhaseSetExcluding(new String[] {"blort"});
-		assertEquals("3.0", 7, set.getPhaseIds().length);
-
-		//valid argument
-		set = engine.createPhaseSetExcluding(new String[] {IPhaseSet.PHASE_CHECK_TRUST});
-		final String[] phases = set.getPhaseIds();
-		assertEquals("4.0", 6, phases.length);
-		for (int i = 0; i < phases.length; i++)
-			if (phases[i].equals(IPhaseSet.PHASE_CHECK_TRUST))
-				fail("4.1." + i);
-
-	}
-
-	/*
-	 * Tests for {@link IEngine#createPhaseSetIncluding}.
-	 */
-	public void testCreatePhaseSetIncluding() {
-		//null argument
-		try {
-			engine.createPhaseSetIncluding(null);
-			fail("1.0");
-		} catch (RuntimeException e) {
-			//expected
-		}
-		//empty argument
-		IPhaseSet set = engine.createPhaseSetIncluding(new String[0]);
-		assertNotNull("2.0", set);
-		assertEquals("2.1", 0, set.getPhaseIds().length);
-
-		//unknown argument
-		set = engine.createPhaseSetIncluding(new String[] {"blort", "not a phase", "bad input"});
-		assertNotNull("3.0", set);
-		assertEquals("3.1", 0, set.getPhaseIds().length);
-
-		//one valid phase
-		set = engine.createPhaseSetIncluding(new String[] {IPhaseSet.PHASE_COLLECT});
-		assertNotNull("4.0", set);
-		assertEquals("4.1", 1, set.getPhaseIds().length);
-		assertEquals("4.2", IPhaseSet.PHASE_COLLECT, set.getPhaseIds()[0]);
-
-		//one valid phase and one bogus
-		set = engine.createPhaseSetIncluding(new String[] {IPhaseSet.PHASE_COLLECT, "bogus"});
-		assertNotNull("4.0", set);
-		assertEquals("4.1", 1, set.getPhaseIds().length);
-		assertEquals("4.2", IPhaseSet.PHASE_COLLECT, set.getPhaseIds()[0]);
-
-	}
-
-	public void testEmptyOperands() {
-
-		IProfile profile = createProfile("test");
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testEmptyPhaseSet() {
-
-		IProfile profile = createProfile("testEmptyPhaseSet");
-		PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
-			// empty PhaseSet
-		};
-
-		InstallableUnitOperand op = new InstallableUnitOperand(createResolvedIU(createIU("name")), null);
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {op};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testPerformSingleNullOperand() {
-		try {
-			new InstallableUnitOperand(null, null);
-			fail("Should not allow null operand");
-		} catch (RuntimeException e) {
-			//expected
-		}
-	}
-
-	public void testPerformPropertyInstallUninstall() {
-
-		IProfile profile = createProfile("testPerformPropertyInstallUninstall");
-
-		PropertyOperand propOp = new PropertyOperand("test", null, "test");
-		IInstallableUnit testIU = createResolvedIU(createIU("test"));
-		InstallableUnitOperand iuOp = new InstallableUnitOperand(null, testIU);
-		InstallableUnitPropertyOperand iuPropOp = new InstallableUnitPropertyOperand(testIU, "test", null, "test");
-
-		Operand[] operands = new Operand[] {propOp, iuOp, iuPropOp};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertEquals("test", profile.getProperty("test"));
-		assertEquals("test", profile.getInstallableUnitProperty(testIU, "test"));
-
-		PropertyOperand uninstallPropOp = new PropertyOperand("test", "test", null);
-		InstallableUnitPropertyOperand uninstallIuPropOp = new InstallableUnitPropertyOperand(testIU, "test", "test", null);
-		operands = new Operand[] {uninstallPropOp, uninstallIuPropOp};
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertNull("test", profile.getProperty("test"));
-		assertNull("test", profile.getInstallableUnitProperty(testIU, "test"));
-	}
-
-	// This tests currently does not download anything. We need another sizing test to ensure sizes are retrieved
-	public void testPerformSizingOSGiFrameworkNoArtifacts() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
-		IProfile profile = createProfile("testPerformSizing", properties);
-		for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
-			IInstallableUnit doomed = (IInstallableUnit) it.next();
-			InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createResolvedIU(doomed), null)};
-			engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		}
-		final Sizing sizingPhase = new Sizing(100, "sizing");
-		PhaseSet phaseSet = new PhaseSet(new Phase[] {sizingPhase}) {};
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertTrue(sizingPhase.getDiskSize() == 0);
-		assertTrue(sizingPhase.getDlSize() == 0);
-	}
-
-	public void testValidateInstallOSGiFramework() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
-		IProfile profile = createProfile("testPerformInstallOSGiFramework", properties);
-		for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
-			IInstallableUnit doomed = (IInstallableUnit) it.next();
-			InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createResolvedIU(doomed), null)};
-			engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		}
-		PhaseSet phaseSet = new DefaultPhaseSet();
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = ((Engine) engine).validate(profile, phaseSet, operands, null, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-
-	public void testPerformInstallOSGiFramework() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
-		IProfile profile = createProfile("testPerformInstallOSGiFramework", properties);
-		for (Iterator it = getInstallableUnits(profile); it.hasNext();) {
-			IInstallableUnit doomed = (IInstallableUnit) it.next();
-			InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createResolvedIU(doomed), null)};
-			engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		}
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		Iterator ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-	}
-
-	public void testPerformUpdateOSGiFramework() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformUpdateOSGiFramework", properties);
-
-		IInstallableUnit iu33 = createOSGiIU("3.3");
-		IInstallableUnit iu34 = createOSGiIU("3.4");
-
-		InstallableUnitOperand[] installOperands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, iu33)};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, installOperands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		Iterator ius = profile.query(new InstallableUnitQuery(iu33), null).iterator();
-		assertTrue(ius.hasNext());
-
-		InstallableUnitOperand[] updateOperands = new InstallableUnitOperand[] {new InstallableUnitOperand(iu33, iu34)};
-		result = engine.perform(engine.createCustomPlan(profile, updateOperands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = profile.query(new InstallableUnitQuery(iu34), null).iterator();
-		assertTrue(ius.hasNext());
-	}
-
-	public void testPerformUninstallOSGiFramework() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-
-		IProfile profile = createProfile("testPerformUninstallOSGiFramework", properties);
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(createOSGiIU(), null)};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertEmptyProfile(profile);
-	}
-
-	public void testPerformRollback() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformRollback", properties);
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU()), new InstallableUnitOperand(null, createBadIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertFalse(result.isOK());
-
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-	}
-
-	public void testValidateMissingAction() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformRollback", properties);
-		PhaseSet phaseSet = new DefaultPhaseSet();
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU()), new InstallableUnitOperand(null, createMissingActionIU())};
-		IStatus result = ((Engine) engine).validate(profile, phaseSet, operands, null, new NullProgressMonitor());
-		assertFalse(result.isOK());
-
-		Throwable t = result.getException();
-		assertTrue(t instanceof MissingActionsException);
-		MissingActionsException e = (MissingActionsException) t;
-		assertEquals("org.eclipse.equinox.p2.touchpoint.eclipse.thisactionismissing", e.getMissingActions()[0].getActionId());
-	}
-
-	public void testPerformMissingAction() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformMissingAction", properties);
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU()), new InstallableUnitOperand(null, createMissingActionIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-	}
-
-	public void testPerformRollbackOnPhaseError() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformRollbackOnError", properties);
-		NPEPhase phase = new NPEPhase();
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-		assertTrue(phase.isConsistent());
-	}
-
-	public void testPerformRollbackOnActionError() {
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformRollbackOnError", properties);
-		ActionNPEPhase phase = new ActionNPEPhase();
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-		assertTrue(phase.isConsistent());
-	}
-
-	public void testPerformForcedPhaseWithActionError() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformForceWithActionError", properties);
-		ActionNPEPhase phase = new ActionNPEPhase(true);
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createOSGiIU())};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-		assertTrue(phase.isConsistent());
-	}
-
-	public void testPerformForcedUninstallWithBadUninstallIUActionThrowsException() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformForcedUninstallWithBadUninstallIUActionThrowsException", properties);
-
-		// forcedUninstall is false by default
-		PhaseSet phaseSet = new DefaultPhaseSet();
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		IInstallableUnit badUninstallIU = createBadUninstallIUThrowsException();
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, badUninstallIU)};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-
-		operands = new InstallableUnitOperand[] {new InstallableUnitOperand(badUninstallIU, null)};
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-
-		// this simulates a DefaultPhaseSet with forcedUninstall set
-		phaseSet = new TestPhaseSet(true);
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-	}
-
-	public void testPerformForcedUninstallWithBadUninstallIUActionReturnsError() {
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, testProvisioning.getAbsolutePath());
-		IProfile profile = createProfile("testPerformForcedUninstallWithBadUninstallIUActionReturnsError", properties);
-
-		// forcedUninstall is false by default
-
-		Iterator ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-
-		IInstallableUnit badUninstallIU = createBadUninstallIUReturnsError();
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, badUninstallIU)};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-
-		operands = new InstallableUnitOperand[] {new InstallableUnitOperand(badUninstallIU, null)};
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertFalse(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertTrue(ius.hasNext());
-
-		// this simulates a DefaultPhaseSet with forcedUninstall set
-		IPhaseSet phaseSet = new TestPhaseSet(true);
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(result.isOK());
-		ius = getInstallableUnits(profile);
-		assertFalse(ius.hasNext());
-	}
-
-	public void testOrphanedIUProperty() {
-		IProfile profile = createProfile("testOrphanedIUProperty");
-		IInstallableUnit iu = createIU("someIU");
-		Operand[] operands = new InstallableUnitPropertyOperand[] {new InstallableUnitPropertyOperand(iu, "key", null, "value")};
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertFalse(profile.getInstallableUnitProperties(iu).containsKey("key"));
-
-		operands = new Operand[] {new InstallableUnitOperand(null, iu), new InstallableUnitPropertyOperand(iu, "adifferentkey", null, "value")};
-		result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		assertTrue(profile.getInstallableUnitProperties(iu).containsKey("adifferentkey"));
-		assertFalse(profile.getInstallableUnitProperties(iu).containsKey("key"));
-	}
-
-	private IInstallableUnit createOSGiIU() {
-		return createOSGiIU("3.3.1.R33x_v20070828");
-	}
-
-	private IInstallableUnit createOSGiIU(String version) {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.osgi");
-		description.setVersion(Version.create(version));
-		description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
-				+ " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
-				+ " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
-				+ " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
-				+ "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
-		touchpointData.put("manifest", manifest);
-		//touchpointData.put("install", "installBundle(bundle:${artifact});");
-		//touchpointData.put("uninstall", "uninstallBundle(bundle:${artifact});");
-
-		IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
-		InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
-		desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		IInstallableUnitFragment fragment = MetadataFactory.createInstallableUnitFragment(desc);
-		cus[0] = fragment;
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", Version.create("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
-		return MetadataFactory.createResolvedInstallableUnit(iu, cus);
-	}
-
-	private IInstallableUnit createBadIU() {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.osgi.bad");
-		description.setVersion(Version.create("3.3.1.R33x_v20070828"));
-		description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
-				+ " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
-				+ " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
-				+ " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
-				+ "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
-		touchpointData.put("manifest", manifest);
-		touchpointData.put("install", "BAD");
-
-		IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
-		InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
-		desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cus[0] = MetadataFactory.createInstallableUnitFragment(desc);
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", Version.create("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
-		return MetadataFactory.createResolvedInstallableUnit(iu, cus);
-	}
-
-	private IInstallableUnit createBadUninstallIUReturnsError() {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.osgi.bad");
-		description.setVersion(Version.create("3.3.1.R33x_v20070828"));
-		description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
-				+ " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
-				+ " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
-				+ " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
-				+ "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
-		touchpointData.put("manifest", manifest);
-		touchpointData.put("uninstall", "setProgramProperty(missing_mandatory_parameters:xyz)");
-
-		IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
-		InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
-		desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cus[0] = MetadataFactory.createInstallableUnitFragment(desc);
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", Version.create("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
-		return MetadataFactory.createResolvedInstallableUnit(iu, cus);
-	}
-
-	private IInstallableUnit createBadUninstallIUThrowsException() {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.osgi.bad");
-		description.setVersion(Version.create("3.3.1.R33x_v20070828"));
-		description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
-				+ " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
-				+ " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
-				+ " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
-				+ "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
-		touchpointData.put("manifest", manifest);
-		touchpointData.put("uninstall", "thisactionismissing()");
-
-		IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
-		InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
-		desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cus[0] = MetadataFactory.createInstallableUnitFragment(desc);
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", Version.create("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
-		return MetadataFactory.createResolvedInstallableUnit(iu, cus);
-	}
-
-	private IInstallableUnit createMissingActionIU() {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.osgi.bad");
-		description.setVersion(Version.create("3.3.1.R33x_v20070828"));
-		description.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		Map touchpointData = new HashMap();
-		String manifest = "Manifest-Version: 1.0\r\n" + "Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl\r\n" + " eActivator\r\n" + "Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0\r\n" + "Export-Package: org.eclipse.osgi.event;version=\"1.0\",org.eclipse.osgi.\r\n" + " framework.console;version=\"1.0\",org.eclipse.osgi.framework.eventmgr;v\r\n" + " ersion=\"1.0\",org.eclipse.osgi.framework.log;version=\"1.0\",org.eclipse\r\n" + " .osgi.service.datalocation;version=\"1.0\",org.eclipse.osgi.service.deb\r\n" + " ug;version=\"1.0\",org.eclipse.osgi.service.environment;version=\"1.0\",o\r\n" + " rg.eclipse.osgi.service.localization;version=\"1.0\",org.eclipse.osgi.s\r\n" + " ervice.pluginconversion;version=\"1.0\",org.eclipse.osgi.service.resolv\r\n"
-				+ " er;version=\"1.1\",org.eclipse.osgi.service.runnable;version=\"1.0\",org.\r\n" + " eclipse.osgi.service.urlconversion;version=\"1.0\",org.eclipse.osgi.sto\r\n" + " ragemanager;version=\"1.0\",org.eclipse.osgi.util;version=\"1.0\",org.osg\r\n" + " i.framework;version=\"1.3\",org.osgi.service.condpermadmin;version=\"1.0\r\n" + " \",org.osgi.service.packageadmin;version=\"1.2\",org.osgi.service.permis\r\n" + " sionadmin;version=\"1.2\",org.osgi.service.startlevel;version=\"1.0\",org\r\n" + " .osgi.service.url;version=\"1.0\",org.osgi.util.tracker;version=\"1.3.2\"\r\n" + " ,org.eclipse.core.runtime.adaptor;x-friends:=\"org.eclipse.core.runtim\r\n" + " e\",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl\r\n"
-				+ " ipse.core.runtime.internal.stats;x-friends:=\"org.eclipse.core.runtime\r\n" + " \",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base\r\n" + " adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook\r\n" + " s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr\r\n" + " ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os\r\n" + " gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern\r\n" + " al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol\r\n" + " ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle\r\n" + " entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b\r\n"
-				+ " undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr\r\n" + " otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal\r\n" + " .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-\r\n" + " internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e\r\n" + " clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in\r\n" + " ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in\r\n" + " ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.\r\n" + " eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte\r\n" + " rnal.provisional.verifier;x-friends:=\"org.eclipse.update.core,org.ecl\r\n" + " ipse.ui.workbench\"\r\n" + "Bundle-Version: 3.3.0.v20060925\r\n"
-				+ "Eclipse-SystemBundle: true\r\n" + "Bundle-Copyright: %copyright\r\n" + "Bundle-Name: %systemBundle\r\n" + "Bundle-Description: %systemBundle\r\n" + "Bundle-DocUrl: http://www.eclipse.org\r\n" + "Bundle-ManifestVersion: 2\r\n" + "Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se\r\n" + " rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta\r\n" + " rtLevel,org.eclipse.osgi.service.debug.DebugOptions\r\n" + "Bundle-Vendor: %eclipse.org\r\n" + "Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter\r\n" + "Bundle-SymbolicName: org.eclipse.osgi; singleton:=true\r\n" + "Bundle-Localization: systembundle\r\n" + "Eclipse-ExtensibleAPI: true\r\n" + "\r\n" + "";
-		touchpointData.put("manifest", manifest);
-		touchpointData.put("install", "thisactionismissing()");
-
-		IInstallableUnitFragment[] cus = new IInstallableUnitFragment[1];
-		InstallableUnitFragmentDescription desc = new InstallableUnitFragmentDescription();
-		desc.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData));
-		cus[0] = MetadataFactory.createInstallableUnitFragment(desc);
-
-		//IArtifactKey key = new ArtifactKey("eclipse", "plugin", "org.eclipse.osgi", Version.create("3.3.1.R33x_v20070828"));
-		//iu.setArtifacts(new IArtifactKey[] {key});
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(description);
-		return MetadataFactory.createResolvedInstallableUnit(iu, cus);
-	}
-
-	public void testIncompatibleProfile() {
-
-		IProfile profile = new IProfile() {
-			public Collector available(IQuery query, IProgressMonitor monitor) {
-				return new Collector();
-			}
-
-			public Map getInstallableUnitProperties(IInstallableUnit iu) {
-				return null;
-			}
-
-			public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
-				return null;
-			}
-
-			public String getProfileId() {
-				return null;
-			}
-
-			public Map getProperties() {
-				return null;
-			}
-
-			public String getProperty(String key) {
-				return null;
-			}
-
-			public long getTimestamp() {
-				return 0;
-			}
-
-			public Collector query(IQuery query, IProgressMonitor monitor) {
-				return new Collector();
-			}
-		};
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {};
-		try {
-			engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java
deleted file mode 100644
index c64361e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.ActionManager;
-import org.eclipse.equinox.internal.p2.engine.InstructionParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class InstructionParserTest extends AbstractProvisioningTest {
-
-	public static final ITouchpointType TOUCHPOINT_TYPE = MetadataFactory.createTouchpointType("InstructionParserTestTouchpoint", Version.create("1.0")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	public static class InstructionParserTestTouchpoint extends Touchpoint {
-
-		public ITouchpointType getTouchpointType() {
-			return TOUCHPOINT_TYPE;
-		}
-
-		public String qualifyAction(String actionId) {
-			return "instructionparsertest." + actionId;
-		}
-
-	}
-
-	public static class TestAction extends ProvisioningAction {
-		public IStatus execute(Map parameters) {
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			return null;
-		}
-	}
-
-	public static Test suite() {
-		return new TestSuite(InstructionParserTest.class);
-	}
-
-	public void testNullIUPhase() {
-		try {
-			new InstructionParser(null);
-		} catch (RuntimeException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testGoodAction() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction()", null), TOUCHPOINT_TYPE);
-		assertEquals(1, actions.length);
-	}
-
-	public void testGoodActionFullyQualified() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("instructionparsertest.goodAction()", null), null);
-		assertEquals(1, actions.length);
-	}
-
-	public void testBadActionFullyQualified() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("instructionparsertest.badAction()", null), null);
-			actions[0].execute(null);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testGoodActionFromImport() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction()", "instructionparsertest.goodAction"), null);
-		assertEquals(1, actions.length);
-	}
-
-	public void testGoodActionFromImportWithVersionRange() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction()", "instructionparsertest.goodAction;version=[1.0,2.0)"), null);
-		assertEquals(1, actions.length);
-	}
-
-	public void testBadActionFromImport() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("badAction()", "instructionparsertest.badAction"), null);
-			actions[0].execute(null);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testGoodActions() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(); goodAction()", null), TOUCHPOINT_TYPE);
-		assertEquals(2, actions.length);
-	}
-
-	public void testGoodParameter() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(a:1)", null), TOUCHPOINT_TYPE);
-		assertEquals(1, actions.length);
-	}
-
-	public void testGoodParameters() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(a:1, b:2)", null), TOUCHPOINT_TYPE);
-		assertEquals(1, actions.length);
-	}
-
-	public void testBadParameter() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(badParameter)", null), TOUCHPOINT_TYPE);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testGoodParamterBadParameter() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(a:1, badParameter)", null), TOUCHPOINT_TYPE);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testBadAction() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			parser.parseActions(MetadataFactory.createTouchpointInstruction("badAction", null), TOUCHPOINT_TYPE);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testGoodActionBadAction() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("goodAction(); badAction()", null), TOUCHPOINT_TYPE);
-			actions[1].execute(null);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNoActionFound() {
-		InstructionParser parser = new InstructionParser(new ActionManager());
-		try {
-			ProvisioningAction[] actions = parser.parseActions(MetadataFactory.createTouchpointInstruction("notfoundaction()", null), TOUCHPOINT_TYPE);
-			actions[0].execute(null);
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
deleted file mode 100644
index e006922..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ParameterizedProvisioningActionTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ParameterizedProvisioningActionTest extends AbstractProvisioningTest {
-
-	boolean passTest = false;
-	String value;
-	ProvisioningAction action = new ProvisioningAction() {
-
-		public IStatus execute(Map parameters) {
-			value = (String) parameters.get("test");
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			return null;
-		}
-	};
-
-	public ParameterizedProvisioningActionTest(String name) {
-		super(name);
-	}
-
-	public void testBasicParameter() {
-		value = null;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "testValue");
-
-		Map phaseParameters = new HashMap();
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-
-		assertEquals("testValue", value);
-	}
-
-	public void testVariableParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "test${variable}");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("testValue", value);
-	}
-
-	public void testEscapedCharacterParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "testV${#97}lue");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("testValue", value);
-	}
-
-	public void testOutOfRangeEscapedCharacterParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "${#999999999999999999999999999999999999999999999}");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("", value);
-	}
-
-	public void testLargerThanCharEscapedCharacterParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "testV${#65633}lue"); // #65633 should be "a" if we allow overflow but we do not so null
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("testVlue", value);
-	}
-
-	public void testNegativeOutOfRangeCharEscapedCharacterParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "testV${#-65439}lue"); // #65633 should be "a" if we allow underflow but we do not so null
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("testVlue", value);
-	}
-
-	public void testNotNumberEscapedCharacterParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "${#xFFFF}");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("", value);
-	}
-
-	public void testNaughtyEscapedCharactersParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "${#36} ${#44} ${#58} ${#59} ${#123} ${#125}");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("$ , : ; { }", value);
-	}
-
-	public void testNullCharEscapedCharactersParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "a${#0}b");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("a\0b", value);
-	}
-
-	public void testMaxCharEscapedCharactersParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "a${#65535}b");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("a\uFFFFb", value);
-	}
-
-	public void testOverMaxCharEscapedCharactersParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "a${#65536}b");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("ab", value);
-	}
-
-	public void testUnderMinCharEscapedCharactersParameter() {
-		passTest = false;
-
-		Map actionParameters = new HashMap();
-		actionParameters.put("test", "a${#-1}b");
-
-		Map phaseParameters = new HashMap();
-		phaseParameters.put("variable", "Value");
-
-		ParameterizedProvisioningAction pAction = new ParameterizedProvisioningAction(action, actionParameters, null);
-		pAction.execute(phaseParameters);
-		assertEquals("ab", value);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseApplicabilityTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseApplicabilityTest.java
deleted file mode 100644
index fcd0359..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseApplicabilityTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import org.eclipse.equinox.internal.p2.engine.phases.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseApplicabilityTest extends AbstractProvisioningTest {
-
-	public PhaseApplicabilityTest(String name) {
-		super(name);
-	}
-
-	public PhaseApplicabilityTest() {
-		super("");
-	}
-
-	public void testCollectPhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Collect collectPhase = new Collect(1) {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertFalse(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertFalse(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertTrue(collectPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(collectPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-
-	public void testSizingPhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Sizing sizingPhase = new Sizing(1, "collect") {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertFalse(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertFalse(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertTrue(sizingPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(sizingPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-
-	public void testUnconfigurePhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Unconfigure unconfigurePhase = new Unconfigure(1) {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertFalse(unconfigurePhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(unconfigurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-
-	public void testUninstallPhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Uninstall uninstallPhase = new Uninstall(1) {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertTrue(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertFalse(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertFalse(uninstallPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(uninstallPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-
-	public void testInstallPhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Install installPhase = new Install(1) {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertFalse(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertFalse(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertTrue(installPhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(installPhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-
-	public void testConfigurePhase() {
-
-		IInstallableUnit iuXv1 = createIU("iuX", Version.create("1.0.0"));
-		IInstallableUnit iuXv2 = createIU("iuX", Version.create("2.0.0"));
-
-		Configure configurePhase = new Configure(1) {
-			protected boolean isApplicable(InstallableUnitOperand op) {
-				return super.isApplicable(op);
-			}
-		};
-		assertFalse(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, null)));
-		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv1)));
-		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(null, iuXv1)));
-		assertTrue(configurePhase.isApplicable(new InstallableUnitOperand(iuXv1, iuXv2)));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
deleted file mode 100644
index 2faad7a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseSetTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseSetTest extends AbstractProvisioningTest {
-	public PhaseSetTest(String name) {
-		super(name);
-	}
-
-	public PhaseSetTest() {
-		super("");
-	}
-
-	public void testNullPhases() {
-		try {
-			new PhaseSet(null) {
-				// empty PhaseSet
-			};
-		} catch (IllegalArgumentException exepcted) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNoTrustCheck() {
-		PhaseSet set1 = new DefaultPhaseSet();
-		PhaseSet set2 = DefaultPhaseSet.createDefaultPhaseSet(DefaultPhaseSet.PHASE_CHECK_TRUST);
-		assertTrue("1.0", !set1.equals(set2));
-	}
-
-	public void testEmptyPhases() {
-		IProfile profile = createProfile("PhaseSetTest");
-		PhaseSet phaseSet = new PhaseSet(new Phase[] {}) {
-			// empty PhaseSet
-		};
-		InstallableUnitOperand op = new InstallableUnitOperand(createResolvedIU(createIU("iu")), null);
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {op};
-
-		ProvisioningContext context = new ProvisioningContext();
-		IStatus result = phaseSet.perform(new EngineSession(null, profile, context), operands, new NullProgressMonitor());
-		assertTrue(result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
deleted file mode 100644
index f8c6c63..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class PhaseTest extends AbstractProvisioningTest {
-	public static class TestPhaseSet extends PhaseSet {
-
-		public TestPhaseSet() {
-			super(new Phase[] {new TestPhase()});
-		}
-
-		public TestPhaseSet(Phase phase) {
-			super(new Phase[] {phase});
-		}
-
-		public TestPhaseSet(Phase[] phases) {
-			super(phases);
-		}
-	}
-
-	public static class TestPhase extends InstallableUnitPhase {
-
-		public boolean initializePhase;
-		public boolean completePhase;
-		public boolean initializeOperand;
-		public boolean completeOperand;
-
-		protected TestPhase() {
-			super("test", 1);
-		}
-
-		protected TestPhase(String phaseId, int weight) {
-			super(phaseId, weight);
-		}
-
-		protected IStatus completeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-			completeOperand = true;
-			return super.completeOperand(profile, operand, parameters, monitor);
-		}
-
-		protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) {
-			parameters.put("TestPhase.initializeOperand", "true");
-			initializeOperand = true;
-			return super.initializeOperand(profile, operand, parameters, monitor);
-		}
-
-		protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			completePhase = true;
-			return super.completePhase(monitor, profile, parameters);
-		}
-
-		protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-			parameters.put("TestPhase.initializePhase", "true");
-			initializePhase = true;
-			return super.initializePhase(monitor, profile, parameters);
-		}
-
-		protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-			IInstallableUnit unit = operand.second();
-			ProvisioningAction[] parsedActions = getActions(unit, phaseId);
-			if (parsedActions != null)
-				return parsedActions;
-
-			ITouchpointType type = unit.getTouchpointType();
-			if (type == null || type == ITouchpointType.NONE)
-				return null;
-
-			String actionId = getActionManager().getTouchpointQualifiedActionId(phaseId, type);
-			ProvisioningAction action = getActionManager().getAction(actionId, null);
-			if (action == null) {
-				throw new IllegalArgumentException("action not found: " + phaseId);
-			}
-			return new ProvisioningAction[] {action};
-		}
-	}
-
-	private ServiceReference engineRef;
-	private IEngine engine;
-
-	public PhaseTest(String name) {
-		super(name);
-	}
-
-	public PhaseTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
-		engine = (IEngine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-	}
-
-	public void testNullPhaseId() {
-		try {
-			new TestPhase(null, 1);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyPhaseId() {
-		try {
-			new TestPhase("", 1);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testNegativeWeight() {
-		try {
-			new TestPhase("xyz", -1);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testZeroWeight() {
-		try {
-			new TestPhase("xyz", 0);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testPerform() {
-		PhaseSet phaseSet = new TestPhaseSet(new TestPhase());
-		IProfile profile = createProfile("PhaseTest");
-
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[0];
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-	}
-
-	public void testInitCompletePhase() {
-		TestPhase phase = new TestPhase() {
-			protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-				assertFalse(parameters.containsKey("TestPhase.initializePhase"));
-				assertFalse(completePhase);
-				super.initializePhase(monitor, profile, parameters);
-				assertTrue(parameters.containsKey("TestPhase.initializePhase"));
-				assertFalse(completePhase);
-				return null;
-			}
-
-			protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-				assertTrue(parameters.containsKey("TestPhase.initializePhase"));
-				assertFalse(completePhase);
-				super.completePhase(monitor, profile, parameters);
-				assertTrue(parameters.containsKey("TestPhase.initializePhase"));
-				assertTrue(completePhase);
-				return null;
-			}
-		};
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-		IProfile profile = createProfile("PhaseTest");
-		IInstallableUnit unit = createIU("unit");
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)};
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(phase.initializePhase);
-		assertTrue(phase.completePhase);
-	}
-
-	public void testInitCompleteOperand() {
-		TestPhase phase = new TestPhase() {
-			protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-				assertTrue(parameters.containsKey("TestPhase.initializeOperand"));
-				assertFalse(completeOperand);
-				super.completeOperand(profile, operand, parameters, monitor);
-				assertTrue(parameters.containsKey("TestPhase.initializeOperand"));
-				assertTrue(completeOperand);
-				return null;
-			}
-
-			protected IStatus initializeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) {
-				assertFalse(parameters.containsKey("TestPhase.initializeOperand"));
-				assertFalse(completeOperand);
-				super.initializeOperand(profile, operand, parameters, monitor);
-				assertTrue(parameters.containsKey("TestPhase.initializeOperand"));
-				assertFalse(completeOperand);
-				return null;
-			}
-		};
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-		IProfile profile = createProfile("PhaseTest");
-		IInstallableUnit unit = createIU("testInitCompleteOperand");
-
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)};
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(phase.initializeOperand);
-		assertTrue(phase.completeOperand);
-	}
-
-	public void testGetProfileDataArea() {
-		TestPhase phase = new TestPhase() {
-			protected IStatus initializePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-				File profileDataArea = (File) parameters.get("profileDataDirectory");
-				assertTrue(profileDataArea.isDirectory());
-				File test = new File(profileDataArea, "test");
-				assertFalse(test.exists());
-				try {
-					test.createNewFile();
-				} catch (IOException e) {
-					fail(e.getMessage());
-				}
-				assertTrue(test.exists());
-				return super.initializePhase(monitor, profile, parameters);
-			}
-
-			protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) {
-				File profileDataArea = (File) parameters.get("profileDataDirectory");
-				assertTrue(profileDataArea.isDirectory());
-				File test = new File(profileDataArea, "test");
-				assertTrue(test.exists());
-				test.delete();
-				assertFalse(test.exists());
-				return super.completePhase(monitor, profile, parameters);
-			}
-		};
-		PhaseSet phaseSet = new TestPhaseSet(phase);
-		IProfile profile = createProfile("PhaseTest");
-		IInstallableUnit unit = createIU("testGetProfileDataArea");
-
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)};
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertTrue(phase.initializePhase);
-		assertTrue(phase.completePhase);
-	}
-
-	public static class TestAction extends ProvisioningAction {
-
-		public IStatus execute(Map parameters) {
-			return null;
-		}
-
-		public IStatus undo(Map parameters) {
-			return null;
-		}
-	}
-
-	public void testGetAction() {
-		final ArrayList actionsList1 = new ArrayList();
-		InstallableUnitPhase phase1 = new InstallableUnitPhase("test", 1) {
-			protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-				ProvisioningAction[] actions = getActions(operand.second(), "test1");
-				actionsList1.addAll(Arrays.asList(actions));
-				return actions;
-			}
-		};
-		final ArrayList actionsList2 = new ArrayList();
-		InstallableUnitPhase phase2 = new InstallableUnitPhase("test", 1) {
-			protected ProvisioningAction[] getActions(InstallableUnitOperand operand) {
-				ProvisioningAction[] actions = getActions(operand.second(), "test2");
-				actionsList2.addAll(Arrays.asList(actions));
-				return actions;
-			}
-		};
-
-		PhaseSet phaseSet = new TestPhaseSet(new Phase[] {phase1, phase2});
-		IProfile profile = createProfile("PhaseTest");
-
-		Map instructions = new HashMap();
-		instructions.put("test1", MetadataFactory.createTouchpointInstruction("test1.test()", null));
-		instructions.put("test2", MetadataFactory.createTouchpointInstruction("test2.test()", null));
-		ITouchpointData touchpointData = MetadataFactory.createTouchpointData(instructions);
-		IInstallableUnit unit = createIU("test", Version.create("1.0.0"), null, NO_REQUIRES, new IProvidedCapability[0], NO_PROPERTIES, ITouchpointType.NONE, touchpointData, false);
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)};
-		IStatus status = engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		if (!status.isOK()) {
-			fail(status.toString());
-		}
-
-		assertEquals(TestAction.class, ((ParameterizedProvisioningAction) actionsList1.get(0)).getAction().getClass());
-		assertEquals(TestAction.class, ((ParameterizedProvisioningAction) actionsList2.get(0)).getAction().getClass());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileMetadataRepositoryTest.java
deleted file mode 100644
index f9949c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileMetadataRepositoryTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileMetadataRepositoryTest extends AbstractProvisioningTest {
-
-	public ProfileMetadataRepositoryTest() {
-		super("");
-	}
-
-	public ProfileMetadataRepositoryTest(String name) {
-		super(name);
-	}
-
-	public void testCreate() {
-		ProfileMetadataRepositoryFactory factory = new ProfileMetadataRepositoryFactory();
-		try {
-			assertNull("1.0", factory.create(getTempFolder().toURI(), "", "", null));
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-	}
-
-	public void testValidate() {
-		File testData = getTestData("0.1", "testData/sdkpatchingtest");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		File simpleProfileFolder = new File(tempFolder, "SDKPatchingTest.profile");
-		assertTrue("0.3", simpleProfileFolder.exists());
-
-		ProfileMetadataRepositoryFactory factory = new ProfileMetadataRepositoryFactory();
-		IStatus status = factory.validate(simpleProfileFolder.toURI(), getMonitor());
-		assertOK("1.0", status);
-
-		status = factory.validate(tempFolder.toURI(), getMonitor());
-		assertNotOK("2.0", status);
-	}
-
-	public void testLoad() {
-		File testData = getTestData("0.1", "testData/sdkpatchingtest");
-		//assert that test data is intact (see bug 285158)
-		File profileFile = new File(new File(testData, "SDKPatchingTest.profile"), "1228337371455.profile.gz");
-		assertTrue("0.15", profileFile.exists());
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		IProfile profile = registry.getProfile("SDKPatchingTest");
-		assertNotNull("0.3", profile);
-
-		Collector profileCollector = profile.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("0.4", profileCollector.isEmpty());
-
-		File simpleProfileFolder = new File(tempFolder, "SDKPatchingTest.profile");
-		assertTrue("0.5", simpleProfileFolder.exists());
-
-		ProfileMetadataRepositoryFactory factory = new ProfileMetadataRepositoryFactory();
-		ProfileMetadataRepository repo = null;
-		try {
-			repo = (ProfileMetadataRepository) factory.load(simpleProfileFolder.toURI(), 0, getMonitor());
-		} catch (ProvisionException e1) {
-			fail("0.99", e1);
-		}
-
-		Collector repoCollector = repo.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("1.0", repoCollector.isEmpty());
-		assertTrue("1.1", repoCollector.toCollection().containsAll(profileCollector.toCollection()));
-	}
-
-	public void testLoadTimestampedProfile() {
-		File testData = getTestData("0.1", "testData/sdkpatchingtest");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		IProfile profile = registry.getProfile("SDKPatchingTest");
-		assertNotNull("0.3", profile);
-
-		Collector profileCollector = profile.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("0.4", profileCollector.isEmpty());
-
-		File simpleProfileFolder = new File(tempFolder, "SDKPatchingTest.profile");
-		assertTrue("0.5", simpleProfileFolder.exists());
-
-		File timeStampedProfile = new File(simpleProfileFolder, "" + profile.getTimestamp() + ".profile.gz");
-		assertTrue("0.6", timeStampedProfile.exists());
-
-		ProfileMetadataRepositoryFactory factory = new ProfileMetadataRepositoryFactory();
-		ProfileMetadataRepository repo = null;
-		try {
-			repo = (ProfileMetadataRepository) factory.load(timeStampedProfile.toURI(), 0, getMonitor());
-		} catch (ProvisionException e1) {
-			fail("0.99", e1);
-		}
-
-		Collector repoCollector = repo.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("1.0", repoCollector.isEmpty());
-		assertTrue("1.1", repoCollector.toCollection().containsAll(profileCollector.toCollection()));
-	}
-
-	public void DISABLED_testDefaultAgentRepoAndBundlePoolFromProfileRepo() throws InterruptedException {
-		File testData = getTestData("0.1", "testData/sdkpatchingtest");
-		// /p2/org.eclipse.equinox.p2.engine/profileRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-		new SimpleArtifactRepositoryFactory().create(tempFolder.toURI(), "", "", null);
-
-		File defaultAgenRepositoryDirectory = new File(tempFolder, "p2/org.eclipse.equinox.p2.core/cache");
-		new SimpleArtifactRepositoryFactory().create(defaultAgenRepositoryDirectory.toURI(), "", "", null);
-
-		File profileRegistryFolder = new File(tempFolder, "p2/org.eclipse.equinox.p2.engine/profileRegistry");
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(profileRegistryFolder, null, false);
-		IProfile profile = registry.getProfile("SDKPatchingTest");
-		assertNotNull("1.0", profile);
-
-		Collector profileCollector = profile.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("1.1", profileCollector.isEmpty());
-
-		File simpleProfileFolder = new File(profileRegistryFolder, "SDKPatchingTest.profile");
-		assertTrue("1.2", simpleProfileFolder.exists());
-
-		File timeStampedProfile = new File(simpleProfileFolder, "" + profile.getTimestamp() + ".profile");
-		assertTrue("1.3", timeStampedProfile.exists());
-
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager();
-		assertNotNull("2.0", manager);
-		assertFalse("2.1", manager.contains(tempFolder.toURI()));
-
-		ProfileMetadataRepositoryFactory factory = new ProfileMetadataRepositoryFactory();
-		ProfileMetadataRepository repo = null;
-		try {
-			repo = (ProfileMetadataRepository) factory.load(timeStampedProfile.toURI(), 0, getMonitor());
-		} catch (ProvisionException e1) {
-			fail("2.99", e1);
-		}
-
-		Collector repoCollector = repo.query(InstallableUnitQuery.ANY, getMonitor());
-		assertFalse("3.0", repoCollector.isEmpty());
-		assertTrue("3.1", repoCollector.toCollection().containsAll(profileCollector.toCollection()));
-
-		int maxTries = 20;
-		int current = 0;
-		while (true) {
-			if (manager.contains(tempFolder.toURI()) && manager.contains(defaultAgenRepositoryDirectory.toURI()))
-				break;
-			if (++current == maxTries)
-				fail("profile artifact repos not added");
-			Thread.sleep(100);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfilePreferencesTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfilePreferencesTest.java
deleted file mode 100644
index 81b4a6b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfilePreferencesTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.IPreferencesService;
-import org.eclipse.equinox.internal.p2.core.ProvisioningAgent;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.ProfilePreferences;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.ProfileScope;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.security.storage.EncodingUtils;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-public class ProfilePreferencesTest extends AbstractProvisioningTest {
-	private IPreferencesService prefServ;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		prefServ = (IPreferencesService) ServiceHelper.getService(TestActivator.context, IPreferencesService.class.getName());
-	}
-
-	/**
-	 * Tests that a node corresponding to a non-existent profile cannot be persisted.
-	 */
-	public void testInvalidProfile() {
-		try {
-			//reading and storing for a non-existent profile shouldn't cause any errors
-			IAgentLocation agentLocation = (IAgentLocation) getAgent().getService(IAgentLocation.SERVICE_NAME);
-			String locationString = EncodingUtils.encodeSlashes(agentLocation.getRootLocation().toString());
-			Preferences node = prefServ.getRootNode().node("/profile/" + locationString + "/NonExistantProfile/testing");
-			node.sync();
-		} catch (BackingStoreException e) {
-			fail("1.0", e);
-		}
-	}
-
-	/**
-	 * Profile preferences looks up the agent location using an LDAP filter. Make
-	 * sure it can handle an agent location that contains characters that are not valid in an LDAP filter
-	 */
-	public void testInvalidFilterChars() {
-		File folder = getTestData("Prefs", "/testData/ProfilePreferencesTest/with(invalid)chars/");
-		URI location = folder.toURI();
-		ProvisioningAgent agent = new ProvisioningAgent();
-		agent.setLocation(location);
-		agent.setBundleContext(TestActivator.getContext());
-		IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-		Hashtable props = new Hashtable();
-		props.put("locationURI", location.toString());
-		ServiceRegistration reg = TestActivator.getContext().registerService(IProvisioningAgent.SERVICE_NAME, agent, props);
-		try {
-			Preferences prefs = new ProfileScope(agentLocation, "TestProfile").getNode("org.eclipse.equinox.p2.ui.sdk");
-			assertEquals("1.0", "always", prefs.get("allowNonOKPlan", ""));
-		} finally {
-			reg.unregister();
-		}
-
-	}
-
-	public void testProfilePreference() {
-		Preferences pref = null;
-		String key = "Test";
-		String value = "Value";
-
-		IAgentLocation agentLocation = (IAgentLocation) getAgent().getService(IAgentLocation.SERVICE_NAME);
-		String locationString = EncodingUtils.encodeSlashes(agentLocation.getRootLocation().toString());
-		try {
-			pref = prefServ.getRootNode().node("/profile/" + locationString + "/_SELF_/testing");
-		} catch (IllegalArgumentException e) {
-			fail("IllegalArgumentException when accessing preferences for self profile");
-		}
-
-		pref.put(key, value);
-		assertTrue("Unable to retrieve value from preferences", value.equals(pref.get(key, null)));
-
-		try {
-			pref.flush();
-		} catch (BackingStoreException e) {
-			fail("Unable to write to preferences: " + e.getMessage());
-		}
-		waitForSave();
-
-		try {
-			pref.parent().removeNode();
-		} catch (BackingStoreException e) {
-			//
-		}
-		waitForSave();
-		pref = prefServ.getRootNode().node("/profile/" + locationString + "/_SELF_/testing");
-		assertEquals("Value not present after load", value, pref.get(key, null));
-	}
-
-	/**
-	 * Wait for preferences to be flushed to disk
-	 */
-	private void waitForSave() {
-		try {
-			Job.getJobManager().join(ProfilePreferences.PROFILE_SAVE_JOB_FAMILY, null);
-		} catch (InterruptedException e) {
-			fail("4.99", e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
deleted file mode 100644
index 91b34e4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileRegistryTest.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Properties;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileRegistryTest extends AbstractProvisioningTest {
-	private static final String PROFILE_NAME = "ProfileRegistryTest.profile";
-	private IProfileRegistry registry;
-	private ServiceReference registryRef;
-
-	public ProfileRegistryTest() {
-		super("");
-	}
-
-	public ProfileRegistryTest(String name) {
-		super(name);
-	}
-
-	protected void getServices() {
-		registryRef = TestActivator.getContext().getServiceReference(IProfileRegistry.SERVICE_NAME);
-		registry = (IProfileRegistry) TestActivator.getContext().getService(registryRef);
-	}
-
-	private void ungetServices() {
-		registry = null;
-		TestActivator.getContext().ungetService(registryRef);
-	}
-
-	private static void saveProfile(IProfileRegistry iRegistry, Profile profile) {
-		SimpleProfileRegistry registry = (SimpleProfileRegistry) iRegistry;
-		profile.setChanged(false);
-		registry.lockProfile(profile);
-		try {
-			profile.setChanged(true);
-			registry.updateProfile(profile);
-		} finally {
-			registry.unlockProfile(profile);
-			profile.setChanged(false);
-		}
-	}
-
-	private void restart() {
-		try {
-			ungetServices();
-			restartBundle(TestActivator.getBundle("org.eclipse.equinox.p2.exemplarysetup"));
-			getServices();
-		} catch (Exception e) {
-			fail();
-			e.printStackTrace();
-		}
-	}
-
-	protected void setUp() throws Exception {
-		getServices();
-		//ensure we start in a clean state
-		registry.removeProfile(PROFILE_NAME);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		ungetServices();
-	}
-
-	public void testAddRemoveProfile() {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		IProfile test = createProfile(PROFILE_NAME);
-		assertEquals(test.getProfileId(), registry.getProfile(PROFILE_NAME).getProfileId());
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testBasicPeristence() {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		IProfile test = createProfile(PROFILE_NAME);
-		assertEquals(test.getProfileId(), registry.getProfile(PROFILE_NAME).getProfileId());
-
-		restart();
-		test = registry.getProfile(PROFILE_NAME);
-		assertNotNull(test);
-		registry.removeProfile(PROFILE_NAME);
-
-		restart();
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testPropertyPeristence() throws ProvisionException {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME, properties);
-		assertTrue(profile.getProperties().containsKey("test"));
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertNotNull(profile);
-		assertTrue(profile.getProperties().containsKey("test"));
-		profile.removeProperty("test");
-		assertNull(profile.getProperty("test"));
-		saveProfile(registry, profile);
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertNull(profile.getProperty("test"));
-		registry.removeProfile(PROFILE_NAME);
-		restart();
-
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testIUPeristence() throws ProvisionException {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertEquals(0, profile.query(InstallableUnitQuery.ANY, null).size());
-		profile.addInstallableUnit(createIU("test"));
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		saveProfile(registry, profile);
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		profile.removeInstallableUnit(createIU("test"));
-		assertEquals(0, profile.query(InstallableUnitQuery.ANY, null).size());
-		saveProfile(registry, profile);
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertEquals(0, profile.query(InstallableUnitQuery.ANY, null).size());
-		registry.removeProfile(PROFILE_NAME);
-		restart();
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testIUPropertyPeristence() throws ProvisionException {
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		profile.addInstallableUnit(createIU("test"));
-		profile.addInstallableUnitProperties(createIU("test"), properties);
-		assertEquals("test", profile.getInstallableUnitProperty(createIU("test"), "test"));
-		saveProfile(registry, profile);
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertEquals("test", profile.getInstallableUnitProperty(createIU("test"), "test"));
-		profile.removeInstallableUnitProperty(createIU("test"), "test");
-		assertNull(profile.getInstallableUnitProperty(createIU("test"), "test"));
-		saveProfile(registry, profile);
-		restart();
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertNull(profile.getInstallableUnitProperty(createIU("test"), "test"));
-		registry.removeProfile(PROFILE_NAME);
-		restart();
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testBogusRegistry() {
-		File testData = getTestData("0.1", "testData/engineTest/bogusRegistryContent");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-		createAndValidateProfileRegistry(tempFolder, "SDKProfile");
-	}
-
-	public void testTimestampedProfiles() throws ProvisionException {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME, properties);
-		long oldtimestamp = profile.getTimestamp();
-		assertTrue(profile.getProperties().containsKey("test"));
-		long[] timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(1, timestamps.length);
-
-		assertTrue(profile.getProperties().containsKey("test"));
-		profile.removeProperty("test");
-		assertNull(profile.getProperty("test"));
-		saveProfile(registry, profile);
-		timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(2, timestamps.length);
-
-		Profile oldProfile = (Profile) registry.getProfile(PROFILE_NAME, oldtimestamp);
-		assertTrue(oldProfile.getProperties().containsKey("test"));
-		assertFalse(profile.getTimestamp() == oldProfile.getTimestamp());
-
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME, oldtimestamp));
-		timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(0, timestamps.length);
-	}
-
-	public void testIsCurrent() throws Exception {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME, properties);
-
-		assertTrue(registry.isCurrent(profile));
-		profile.setProperty("x", "1");
-		assertFalse(registry.isCurrent(profile));
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertTrue(registry.isCurrent(profile));
-
-		SimpleProfileRegistry simpleRegistry = (SimpleProfileRegistry) registry;
-		Profile profile2 = (Profile) registry.getProfile(PROFILE_NAME);
-
-		simpleRegistry.lockProfile(profile2);
-		try {
-			profile2.setProperty("x", "1");
-			simpleRegistry.updateProfile(profile2);
-		} finally {
-			simpleRegistry.unlockProfile(profile2);
-		}
-
-		assertFalse(registry.isCurrent(profile));
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertTrue(registry.isCurrent(profile));
-		IAgentLocation agentLocation = getAgentLocation();
-		SimpleProfileRegistry simpleRegistry2 = new SimpleProfileRegistry(SimpleProfileRegistry.getDefaultRegistryDirectory(agentLocation));
-		profile2 = (Profile) simpleRegistry2.getProfile(PROFILE_NAME);
-		simpleRegistry2.lockProfile(profile2);
-		try {
-			profile2.setProperty("x", "2");
-			simpleRegistry2.updateProfile(profile2);
-		} finally {
-			simpleRegistry2.unlockProfile(profile2);
-		}
-
-		assertFalse(registry.isCurrent(profile));
-
-		profile = (Profile) registry.getProfile(PROFILE_NAME);
-		assertTrue(registry.isCurrent(profile));
-
-	}
-
-	public void testProfileLockingNested() throws IOException {
-		File testData = getTestData("0.1", "testData/engineTest/SimpleRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		final String SIMPLE_PROFILE = "Simple";
-
-		SimpleProfileRegistry simpleRgy = createAndValidateProfileRegistry(tempFolder, SIMPLE_PROFILE);
-		Profile simpleProfile = (Profile) simpleRgy.getProfile(SIMPLE_PROFILE);
-		assertNotNull(simpleProfile);
-
-		// Try lock, unlock and then unlock again which should fail
-		simpleRgy.lockProfile(simpleProfile);
-		simpleRgy.unlockProfile(simpleProfile);
-		try {
-			simpleRgy.unlockProfile(simpleProfile);
-			fail("Should not allow unlock() without calling lock() first");
-		} catch (IllegalStateException e) {
-			// Expected
-		}
-
-		// Try lock, lock, unlock, unlock should pass
-		simpleRgy.lockProfile(simpleProfile);
-		try {
-			simpleRgy.lockProfile(simpleProfile);
-			fail("Profile does not permit reentrant locking");
-		} catch (IllegalStateException e) {
-			// expected
-		}
-		simpleRgy.unlockProfile(simpleProfile);
-
-		// NOTE: remaining nested tests are commented out for now
-		// These tests will work on Win XP and Linux with Java 6. On the Mac and Linux (at least with Java 5) it appears
-		// that the class libraries will permit more than one file lock from the same process.
-		// It should be noted that the cross-process locking still works correctly and that the profile registry shares
-		// the same file lock to prevent these problems.
-
-		/*
-				// Try nested locks with checks for lock file
-				simpleRgy.lockProfile(simpleProfile);
-				simpleRgy.lockProfile(simpleProfile);
-				simpleRgy.unlockProfile(simpleProfile);
-				// Create a lock file to confirm locking
-
-				File lockDirectory = new File(getResourceAsBundleRelFile("testData/engineTest/SimpleRegistry/"), SIMPLE_PROFILE + ".profile");
-				File lockFile = new File(lockDirectory, ".lock");
-				assertTrue("Lock file does not exist", lockFile.exists());
-
-				ProfileLock profileLock = new ProfileLock(lockDirectory);
-				boolean locked = profileLock.lock();
-				try {
-					assertFalse("Lock file was not locked", locked);
-				} finally {
-					if (locked)
-						profileLock.unlock();
-				}
-				simpleRgy.unlockProfile(simpleProfile);
-				simpleRgy.lockProfile(simpleProfile);
-				simpleRgy.unlockProfile(simpleProfile);
-				locked = profileLock.lock();
-				try {
-					assertTrue("Lock file could not be locked", locked);
-				} finally {
-					if (locked)
-						profileLock.unlock();
-				}
-				assertTrue("Lock file could not removed", lockFile.delete());
-		*/
-	}
-
-	public void testProfileLockingInProcessMultiThreads() {
-		File testData = getTestData("0.1", "testData/engineTest/SimpleRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		final String SIMPLE_PROFILE = "Simple";
-		final SimpleProfileRegistry simpleRgy = createAndValidateProfileRegistry(tempFolder, SIMPLE_PROFILE);
-		final Profile simpleProfile = (Profile) simpleRgy.getProfile(SIMPLE_PROFILE);
-		assertNotNull(simpleProfile);
-
-		// Lock and then lock/unlock from another thread which should fail
-		simpleRgy.lockProfile(simpleProfile);
-		final Object lock = new Object();
-		Thread t1 = new Thread() {
-			public void run() {
-				try {
-					simpleRgy.unlockProfile(simpleProfile);
-					fail("This thread is not the owner and unlock should have failed!");
-				} catch (IllegalStateException e) {
-					// Expected!
-				}
-				synchronized (lock) {
-					lock.notify();
-				}
-			}
-		};
-		synchronized (lock) {
-			t1.start();
-			try {
-				lock.wait(5000);
-			} catch (InterruptedException e) {
-				// ignore
-			}
-		}
-		Thread t2 = new Thread() {
-			public void run() {
-				try {
-					simpleRgy.lockProfile(simpleProfile);
-				} catch (IllegalStateException e) {
-					fail("The profile should let the thread wait until it can be locked!");
-				} finally {
-					simpleRgy.unlockProfile(simpleProfile);
-				}
-				synchronized (lock) {
-					lock.notify();
-				}
-			}
-		};
-		synchronized (lock) {
-			t2.start();
-			yieldAndWait();
-			simpleRgy.unlockProfile(simpleProfile);
-			try {
-				lock.wait(500);
-			} catch (InterruptedException e) {
-				// ignore
-			}
-		}
-
-		// Remove the newly created profile file
-		simpleRgy.removeProfile(PROFILE_NAME); // To avoid it locking the latest file
-	}
-
-	//	public void testProfileLockingMultiProcesses() {
-	//		File testData = getTestData("0.1", "testData/engineTest/SimpleRegistry");
-	//		File tempFolder = getTempFolder();
-	//		copy("0.2", testData, tempFolder);
-	//
-	//		final String SIMPLE_PROFILE = "Simple";
-	//
-	//		SimpleProfileRegistry simpleRgy = createAndValidateProfileRegistry(tempFolder, SIMPLE_PROFILE);
-	//		Profile simpleProfile = (Profile) simpleRgy.getProfile(SIMPLE_PROFILE);
-	//		assertNotNull(simpleProfile);
-	//
-	//		// Make a dummy change to the profile
-	//		Properties props = new Properties();
-	//		props.put("test", "locking");
-	//		simpleProfile.addProperties(props);
-	//
-	//		// Create a lock file to simulate cross-process locking
-	//		MockFileLock mockLock = new MockFileLock(tempFolder, SIMPLE_PROFILE);
-	//		mockLock.createExternalProcessUsedForLocking();
-	//
-	//		// Now save profile - this should fail
-	//		try {
-	//			saveProfile(simpleRgy, simpleProfile);
-	//			fail("This should have failed because profile is already locked!");
-	//		} catch (IllegalStateException e) {
-	//			// Expected!
-	//		}
-	//
-	//		// Get rid of the lock
-	//		mockLock.shutdownExternalProcessUsedForLocking();
-	//		mockLock = null;
-	//
-	//		// Try again, it should succeed
-	//		saveProfile(simpleRgy, simpleProfile);
-	//
-	//		// Remove the newly created profile file
-	//		simpleRgy.removeProfile(PROFILE_NAME); // To avoid it locking the latest file
-	//	}
-
-	private SimpleProfileRegistry createAndValidateProfileRegistry(File registryFolder, String id) {
-		SimpleProfileRegistry simpleRegistry = new SimpleProfileRegistry(registryFolder, null, false);
-		IProfile[] profiles = simpleRegistry.getProfiles();
-		assertNotNull(profiles);
-		assertEquals(1, profiles.length);
-		assertEquals(id, profiles[0].getProfileId());
-		return simpleRegistry;
-	}
-
-	static File getResourceAsBundleRelFile(final String bundleRelPathStr) throws IOException {
-		return new File(FileLocator.resolve(TestActivator.getContext().getBundle().getEntry(bundleRelPathStr)).getPath());
-	}
-
-	static void yieldAndWait() {
-		Thread.yield();
-		try {
-			Thread.sleep(100);
-		} catch (InterruptedException e1) {
-			fail(e1.getMessage());
-		}
-	}
-
-	//	private static class MockFileLock {
-	//		File lockFile;
-	//
-	//		MockFileLock(File registryFolder, String name) {
-	//			final String lOCK_FILENAME = ".lock";
-	//			File lockDir = null;
-	//			lockDir = new File(registryFolder, name + ".profile");
-	//			lockDir.mkdir();
-	//			lockFile = new File(lockDir, lOCK_FILENAME);
-	//		}
-	//
-	//		File getLockFile() {
-	//			return lockFile;
-	//		}
-	//
-	//		/**
-	//		 * This assumes that
-	//		 * 	(1) "java" is present in the System path
-	//		 * 	(2) "SimpleFileLockerApp.jar" is present in /org.eclipse.equinox.p2.tests/testData/engineTest
-	//		 *
-	//		 * @see {@link SimpleFileLockerApp}.
-	//		 */
-	//		void createExternalProcessUsedForLocking() {
-	//			File appJar = null;
-	//			try {
-	//				appJar = getResourceAsBundleRelFile("testData/engineTest/SimpleFileLockerApp.jar");
-	//			} catch (IOException e1) {
-	//				fail(e1.getMessage());
-	//			}
-	//			String lockFileDir = lockFile.getParentFile().getAbsolutePath();
-	//			String[] cmdArray = {"java", "-cp", appJar.getAbsolutePath(), "org/eclipse/equinox/p2/tests/engine/SimpleFileLockerApp", lockFileDir, "10"};
-	//			try {
-	//				Runtime.getRuntime().exec(cmdArray);
-	//				watForInitialization();
-	//			} catch (IOException e) {
-	//				fail(e.getMessage());
-	//			}
-	//		}
-	//
-	//		void watForInitialization() {
-	//			waitFor(/*startup=>*/true);
-	//		}
-	//
-	//		void waitForCompletion() {
-	//			waitFor(/*startup=>*/false);
-	//		}
-	//
-	//		private final int MAX_RETRIES = 10; // A guard against looping indefinitely!
-	//
-	//		private void waitFor(boolean startup) {
-	//			int attempts = 0;
-	//			boolean shouldWait = true;
-	//			do {
-	//				sleep(1000);
-	//				shouldWait = startup ? !lockFile.exists() : lockFile.exists();
-	//			} while (attempts++ < MAX_RETRIES && shouldWait);
-	//			String errMsg = "SimpleFileLockerApp hasn't yet " + (startup ? "started up!" : "completed!");
-	//			assertTrue(errMsg, attempts < MAX_RETRIES);
-	//		}
-	//
-	//		private void sleep(int millisecs) {
-	//			try {
-	//				Thread.sleep(millisecs);
-	//			} catch (InterruptedException e) {
-	//				// Ignore
-	//			}
-	//		}
-	//
-	//		void shutdownExternalProcessUsedForLocking() {
-	//			File done = new File(lockFile.getParentFile(), ".done");
-	//			try {
-	//				done.createNewFile();
-	//				waitForCompletion();
-	//			} catch (IOException e) {
-	//				fail(e.getMessage());
-	//			}
-	//		}
-	//	}
-
-	public void testPersistenceFormatNotGzipped() {
-		//in a profile with an engine version from 3.5.0 or earlier, we must not gzip the profile registry
-		IInstallableUnit engineIU = createEclipseIU("org.eclipse.equinox.p2.engine", Version.create("1.0.100.v20090605"));
-		File folder = getTempFolder();
-		folder.mkdirs();
-		SimpleProfileRegistry profileRegistry = new SimpleProfileRegistry(folder, null, false);
-		Profile profile = new Profile(getName(), null, null);
-		profile.addInstallableUnit(engineIU);
-		Method saveMethod;
-		try {
-			saveMethod = registry.getClass().getDeclaredMethod("saveProfile", new Class[] {Profile.class});
-			saveMethod.setAccessible(true);
-			saveMethod.invoke(profileRegistry, new Object[] {profile});
-		} catch (SecurityException e) {
-			fail();
-		} catch (NoSuchMethodException e) {
-			fail();
-		} catch (IllegalArgumentException e) {
-			fail();
-		} catch (IllegalAccessException e) {
-			fail();
-		} catch (InvocationTargetException e) {
-			fail();
-		}
-		File profileFolder = new File(folder, getName() + ".profile");
-		File[] filesFound = profileFolder.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.getName().endsWith(".profile");
-			}
-		});
-		assertEquals(1, filesFound.length);
-		filesFound = profileFolder.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.getName().endsWith(".profile.gz");
-			}
-		});
-		assertEquals(0, filesFound.length);
-	}
-
-	/**
-	 * Asserts that the profile registry persistence honours the system property for controlling
-	 * the profile format. See bug 285774.
-	 */
-	public void testPersistenceFormatOverride() {
-		try {
-			IInstallableUnit engineIU = createEclipseIU("org.eclipse.equinox.p2.engine", Version.create("55.2"));
-			final String[] values = new String[] {"", "blort", null, EngineActivator.PROFILE_FORMAT_UNCOMPRESSED};
-			for (int i = 0; i < values.length; i++) {
-				final String currentValue = values[i];
-				if (currentValue == null)
-					System.getProperties().remove(EngineActivator.PROP_PROFILE_FORMAT);
-				else
-					System.getProperties().put(EngineActivator.PROP_PROFILE_FORMAT, currentValue);
-				File folder = getTempFolder();
-				folder.mkdirs();
-				SimpleProfileRegistry profileRegistry = new SimpleProfileRegistry(folder, null, false);
-				Profile profile = new Profile(getName(), null, null);
-				profile.addInstallableUnit(engineIU);
-				Method saveMethod;
-				try {
-					saveMethod = registry.getClass().getDeclaredMethod("saveProfile", new Class[] {Profile.class});
-					saveMethod.setAccessible(true);
-					saveMethod.invoke(profileRegistry, new Object[] {profile});
-				} catch (SecurityException e) {
-					fail("1.0", e);
-				} catch (NoSuchMethodException e) {
-					fail("1.1", e);
-				} catch (IllegalArgumentException e) {
-					fail("1.2", e);
-				} catch (IllegalAccessException e) {
-					fail("1.3", e);
-				} catch (InvocationTargetException e) {
-					fail("1.4", e);
-				}
-				File profileFolder = new File(folder, getName() + ".profile");
-				profileFolder.listFiles(new FileFilter() {
-					public boolean accept(File pathname) {
-						if (pathname.getName().endsWith(".profile"))
-							assertEquals("2.0." + currentValue, EngineActivator.PROFILE_FORMAT_UNCOMPRESSED, currentValue);
-						else if (pathname.getName().endsWith(".profile.gz"))
-							assertFalse("2.1." + currentValue, EngineActivator.PROFILE_FORMAT_UNCOMPRESSED.equals(currentValue));
-						return false;
-					}
-				});
-			}
-		} finally {
-			System.getProperties().remove(EngineActivator.PROP_PROFILE_FORMAT);
-		}
-	}
-
-	public void testPersistenceFormatGzipped() {
-		//in a profile with an engine version from 3.5.1 or later, we gzip the profile registry
-		IInstallableUnit engineIU = createEclipseIU("org.eclipse.equinox.p2.engine", Version.create("1.0.101"));
-		File folder = getTempFolder();
-		folder.mkdirs();
-		SimpleProfileRegistry profileRegistry = new SimpleProfileRegistry(folder, null, false);
-		Profile profile = new Profile(getName(), null, null);
-		profile.addInstallableUnit(engineIU);
-		Method saveMethod;
-		try {
-			saveMethod = registry.getClass().getDeclaredMethod("saveProfile", new Class[] {Profile.class});
-			saveMethod.setAccessible(true);
-			saveMethod.invoke(profileRegistry, new Object[] {profile});
-		} catch (SecurityException e) {
-			fail();
-		} catch (NoSuchMethodException e) {
-			fail();
-		} catch (IllegalArgumentException e) {
-			fail();
-		} catch (IllegalAccessException e) {
-			fail();
-		} catch (InvocationTargetException e) {
-			fail();
-		}
-		File profileFolder = new File(folder, getName() + ".profile");
-		File[] filesFound = profileFolder.listFiles(new FileFilter() {
-
-			public boolean accept(File pathname) {
-				return pathname.getName().endsWith(".profile.gz");
-			}
-		});
-		assertEquals(1, filesFound.length);
-	}
-
-	public void testRemoveProfileTimestamps() throws ProvisionException {
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME, properties);
-		assertTrue(profile.getProperties().containsKey("test"));
-		long[] timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(1, timestamps.length);
-
-		assertTrue(profile.getProperties().containsKey("test"));
-		profile.removeProperty("test");
-		assertNull(profile.getProperty("test"));
-		saveProfile(registry, profile);
-		timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(2, timestamps.length);
-
-		profile.setProperty("test2", "test2");
-		saveProfile(registry, profile);
-		timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-
-		// We have three timestamps and should be able to remove two
-		// of them (but not the current)
-		assertEquals(3, timestamps.length);
-		int fail = 0;
-
-		for (int i = 0; i < timestamps.length; i++) {
-			try {
-				registry.removeProfile(PROFILE_NAME, timestamps[i]);
-			} catch (ProvisionException e) {
-				fail++;
-			}
-		}
-		timestamps = registry.listProfileTimestamps(PROFILE_NAME);
-		assertEquals(1, timestamps.length);
-		assertEquals(1, fail);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
deleted file mode 100644
index 35382a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/ProfileTest.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.*;
-import java.util.*;
-import java.util.Map.Entry;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-/**
- * Simple test of the engine API.
- */
-public class ProfileTest extends AbstractProvisioningTest {
-
-	private static final String PROFILE_NAME = "ProfileTest";
-
-	public ProfileTest(String name) {
-		super(name);
-	}
-
-	public ProfileTest() {
-		super("");
-	}
-
-	public void testNullProfile() {
-		try {
-			createProfile(null);
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testEmptyProfile() {
-		try {
-			createProfile("");
-		} catch (IllegalArgumentException expected) {
-			return;
-		}
-		fail();
-	}
-
-	public void testAddRemoveProperty() throws ProvisionException {
-		IProfileRegistry registry = getProfileRegistry();
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Properties properties = new Properties();
-		properties.put("test", "test");
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME, properties);
-		assertTrue(profile.getProperties().containsKey("test"));
-		assertEquals("test", profile.getProperty("test"));
-		profile.removeProperty("test");
-		assertNull(profile.getProperty("test"));
-		profile.addProperties(properties);
-		assertEquals("test", profile.getProperty("test"));
-		profile.setProperty("test", "newvalue");
-		assertEquals("newvalue", profile.getProperty("test"));
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testAddRemoveIU() throws ProvisionException {
-		IProfileRegistry registry = getProfileRegistry();
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).isEmpty());
-		profile.addInstallableUnit(createIU("test"));
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		profile.removeInstallableUnit(createIU("test"));
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).isEmpty());
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testAddIUTwice() throws ProvisionException {
-		IProfileRegistry registry = getProfileRegistry();
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).isEmpty());
-		profile.addInstallableUnit(createIU("test"));
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		profile.addInstallableUnit(createIU("test"));
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testAddRemoveIUProperty() throws ProvisionException {
-		IProfileRegistry registry = getProfileRegistry();
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).isEmpty());
-		profile.addInstallableUnit(createIU("test"));
-		assertNull(profile.getInstallableUnitProperty(createIU("test"), "test"));
-		assertNull(profile.removeInstallableUnitProperty(createIU("test"), "test"));
-		Properties iuProperties = new Properties();
-		iuProperties.put("test", "test");
-		profile.addInstallableUnitProperties(createIU("test"), iuProperties);
-		assertEquals("test", profile.getInstallableUnitProperty(createIU("test"), "test"));
-		profile.removeInstallableUnitProperty(createIU("test"), "test");
-		assertNull(profile.getInstallableUnitProperty(createIU("test"), "test"));
-		assertEquals(1, profile.query(InstallableUnitQuery.ANY, null).size());
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	public void testAvailable() throws ProvisionException {
-		IProfileRegistry registry = getProfileRegistry();
-		assertNull(registry.getProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertTrue(profile.available(InstallableUnitQuery.ANY, null).isEmpty());
-		profile.addInstallableUnit(createIU("test"));
-		assertEquals(1, profile.available(InstallableUnitQuery.ANY, null).size());
-		profile.setSurrogateProfileHandler(new ISurrogateProfileHandler() {
-			public IProfile createProfile(String id) {
-				return null;
-			}
-
-			public boolean isSurrogate(IProfile profile) {
-				return false;
-			}
-
-			public Collector queryProfile(IProfile profile, IQuery query, IProgressMonitor monitor) {
-				return new Collector();
-			}
-
-			public boolean updateProfile(IProfile selfProfile) {
-				return false;
-			}
-		});
-		assertTrue(profile.available(InstallableUnitQuery.ANY, null).isEmpty());
-		assertTrue(profile.snapshot().available(InstallableUnitQuery.ANY, null).isEmpty());
-		registry.removeProfile(PROFILE_NAME);
-		assertNull(registry.getProfile(PROFILE_NAME));
-	}
-
-	private static String PROFILE_TEST_TARGET = "profileTest";
-	private static Version PROFILE_TEST_VERSION = Version.create("0.0.1");
-
-	private static String PROFILE_TEST_ELEMENT = "test";
-	public static final String PROFILES_ELEMENT = "profiles"; //$NON-NLS-1$
-
-	class ProfileStringWriter extends ProfileWriter {
-
-		public ProfileStringWriter(ByteArrayOutputStream stream) throws IOException {
-			super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeTargetVersionInstruction(PROFILE_TEST_TARGET, PROFILE_TEST_VERSION)});
-		}
-
-		public void writeTest(IProfile[] profiles) {
-			start(PROFILE_TEST_ELEMENT);
-			writeProfiles(profiles);
-			end(PROFILE_TEST_ELEMENT);
-			flush();
-		}
-
-		public void writeProfiles(IProfile[] profiles) {
-			if (profiles.length > 0) {
-				start(PROFILES_ELEMENT);
-				attribute(COLLECTION_SIZE_ATTRIBUTE, profiles.length);
-				for (int i = 0; i < profiles.length; i++) {
-					writeProfile(profiles[i]);
-				}
-				end(PROFILES_ELEMENT);
-			}
-		}
-	}
-
-	class ProfileStringParser extends ProfileParser {
-
-		private IProfile[] profiles = null;
-
-		public ProfileStringParser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		public void parse(String profileString) throws IOException {
-			this.status = null;
-			try {
-				getParser();
-				TestHandler testHandler = new TestHandler();
-				xmlReader.setContentHandler(new ProfileDocHandler(PROFILE_TEST_ELEMENT, testHandler));
-				xmlReader.parse(new InputSource(new StringReader(profileString)));
-				if (isValidXML()) {
-					profiles = testHandler.profiles;
-				}
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				fail();
-			}
-		}
-
-		private final class ProfileDocHandler extends DocHandler {
-
-			public ProfileDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (PROFILE_TEST_TARGET.equals(target)) {
-					Version profileTestVersion = extractPIVersion(target, data);
-					if (!PROFILE_TEST_VERSION.equals(profileTestVersion)) {
-						throw new SAXException("Bad profile test version.");
-					}
-				}
-			}
-		}
-
-		private final class TestHandler extends RootHandler {
-
-			private ProfilesHandler profilesHandler;
-			IProfile[] profiles;
-
-			protected void handleRootAttributes(Attributes attributes) {
-			}
-
-			public void startElement(String name, Attributes attributes) throws SAXException {
-				if (PROFILES_ELEMENT.equals(name)) {
-					if (profilesHandler == null) {
-						profilesHandler = new ProfilesHandler(this, attributes);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					if (profilesHandler != null) {
-						profiles = profilesHandler.getProfiles();
-					}
-				}
-			}
-
-		}
-
-		protected class ProfilesHandler extends AbstractHandler {
-
-			private final Map profileHandlers;
-
-			public ProfilesHandler(AbstractHandler parentHandler, Attributes attributes) {
-				super(parentHandler, PROFILES_ELEMENT);
-				String size = parseOptionalAttribute(attributes, COLLECTION_SIZE_ATTRIBUTE);
-				profileHandlers = (size != null ? new HashMap(new Integer(size).intValue()) : new HashMap(4));
-			}
-
-			public IProfile[] getProfiles() {
-				if (profileHandlers.isEmpty())
-					return new IProfile[0];
-
-				Map profileMap = new LinkedHashMap();
-				for (Iterator it = profileHandlers.keySet().iterator(); it.hasNext();) {
-					String profileId = (String) it.next();
-					addProfile(profileId, profileMap);
-				}
-
-				return (IProfile[]) profileMap.values().toArray(new IProfile[profileMap.size()]);
-			}
-
-			private void addProfile(String profileId, Map profileMap) {
-				if (profileMap.containsKey(profileId))
-					return;
-
-				ProfileHandler profileHandler = (ProfileHandler) profileHandlers.get(profileId);
-				Profile parentProfile = null;
-
-				String parentId = profileHandler.getParentId();
-				if (parentId != null) {
-					addProfile(parentId, profileMap);
-					parentProfile = (Profile) profileMap.get(parentId);
-				}
-
-				Profile profile = new Profile(profileId, parentProfile, profileHandler.getProperties());
-				profile.setTimestamp(profileHandler.getTimestamp());
-				IInstallableUnit[] ius = profileHandler.getInstallableUnits();
-				if (ius != null) {
-					for (int i = 0; i < ius.length; i++) {
-						IInstallableUnit iu = ius[i];
-						profile.addInstallableUnit(iu);
-						Map iuProperties = profileHandler.getIUProperties(iu);
-						if (iuProperties != null) {
-							for (Iterator it = iuProperties.entrySet().iterator(); it.hasNext();) {
-								Entry entry = (Entry) it.next();
-								String key = (String) entry.getKey();
-								String value = (String) entry.getValue();
-								profile.setInstallableUnitProperty(iu, key, value);
-							}
-						}
-					}
-				}
-				profileMap.put(profileId, profile);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (name.equals(PROFILE_ELEMENT)) {
-					new ProfilesProfileHandler(this, attributes, profileHandlers);
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		public class ProfilesProfileHandler extends ProfileHandler {
-			private final Map profileHandlers;
-
-			public ProfilesProfileHandler(ProfilesHandler profilesHandler, Attributes attributes, Map profileHandlers) {
-				this.profileHandlers = profileHandlers;
-				this.parentHandler = profilesHandler;
-				xmlReader.setContentHandler(this);
-				handleRootAttributes(attributes);
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					profileHandlers.put(getProfileId(), this);
-				}
-			}
-		}
-
-		protected String getErrorMessage() {
-			return "Error parsing profile string";
-		}
-
-		protected Object getRootObject() {
-			Map result = new HashMap();
-			for (int i = 0; i < profiles.length; i++) {
-				result.put(profiles[i].getProfileId(), profiles[i]);
-			}
-			return result;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SimpleFileLockerApp.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SimpleFileLockerApp.java
deleted file mode 100644
index 8eba5c1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SimpleFileLockerApp.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.*;
-import java.nio.channels.FileLock;
-
-/**
- * 
- * This is a tiny console app used by {@link ProfileRegistryTest#testProfileLocking()},
- * to simulate an external locking mechanism that is triggered as a new process. This
- * code is invoked via the jar file kept in testData/engineTest/SimpleFileLockerApp.jar,
- * which is generated by exporting this single class as a JAR.
- */
-public class SimpleFileLockerApp {
-	File lockFile;
-	RandomAccessFile raf;
-	FileLock lock;
-
-	SimpleFileLockerApp(File lock) {
-		lockFile = lock;
-	}
-
-	void create() {
-		try {
-			raf = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-			String lockMode = System.getProperty("osgi.locking"); //$NON-NLS-1$
-			lockMode = (lockMode == null || lockMode.length() == 0) ? "java.nio" : lockMode; //$NON-NLS-1$
-			if ("java.io".equalsIgnoreCase(lockMode)) { //$NON-NLS-1$
-				raf.writeByte(0);
-			} else {
-				lock = raf.getChannel().tryLock(0, 1, false);
-			}
-		} catch (FileNotFoundException e) {
-			remove();
-			e.printStackTrace();
-		} catch (IOException e) {
-			remove();
-			e.printStackTrace();
-		}
-	}
-
-	void remove() {
-		if (raf != null) {
-			try {
-				if (lock != null) {
-					lock.release();
-				}
-				raf.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			raf = null;
-			lockFile.delete();
-		}
-	}
-
-	public static void main(String[] args) {
-		final String LOCK_FILENAME = ".lock"; //$NON-NLS-1$
-		if (args == null || args.length < 1) {
-			throw new IllegalArgumentException("Should have at least one arg - path."); //$NON-NLS-1$
-		}
-		File lockDir = new File(args[0]);
-		lockDir.mkdir();
-		SimpleFileLockerApp extLock = new SimpleFileLockerApp(new File(lockDir, LOCK_FILENAME));
-		File waitUntil = new File(lockDir, ".done"); //$NON-NLS-1$
-		waitUntil.delete();
-
-		extLock.create();
-
-		final int MAX_RETRIES; // A guard against looping indefinitely!
-		if (args.length > 1) {
-			MAX_RETRIES = getMax(args[1]);
-		} else {
-			MAX_RETRIES = 20;
-		}
-		int attempts = 0;
-		while (attempts++ < MAX_RETRIES && !waitUntil.exists()) {
-			try {
-				Thread.sleep(2000);
-			} catch (InterruptedException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		extLock.remove();
-		extLock = null;
-
-		waitUntil.delete();
-
-	}
-
-	private static int getMax(String str) {
-		int num = 20;
-		try {
-			num = Integer.parseInt(str);
-		} catch (NumberFormatException e) {
-			e.printStackTrace();
-		}
-		return num;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SurrogateProfileHandlerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SurrogateProfileHandlerTest.java
deleted file mode 100644
index 414ce21..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/SurrogateProfileHandlerTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.lang.reflect.Field;
-import java.util.HashSet;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.engine.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SurrogateProfileHandlerTest extends AbstractProvisioningTest {
-	private static final String PROFILE_NAME = "profile.SurrogateProfileHandlerTest";
-	private static final String PROP_TYPE_ROOT = "org.eclipse.equinox.p2.type.root"; //$NON-NLS-1$
-	private static final String PROP_SHARED_TIMESTAMP = "org.eclipse.equinox.p2.shared.timestamp"; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(SurrogateProfileHandlerTest.class);
-	}
-
-	private IProfileRegistry registry;
-	private SurrogateProfileHandler handler;
-
-	private static void saveProfile(IProfileRegistry iRegistry, Profile profile) {
-		SimpleProfileRegistry registry = (SimpleProfileRegistry) iRegistry;
-		profile.setChanged(false);
-		registry.lockProfile(profile);
-		try {
-			profile.setChanged(true);
-			registry.updateProfile(profile);
-		} finally {
-			registry.unlockProfile(profile);
-			profile.setChanged(false);
-		}
-	}
-
-	protected void getServices() {
-		registry = getProfileRegistry();
-	}
-
-	private void ungetServices() {
-		registry = null;
-	}
-
-	protected void setUp() throws Exception {
-		getServices();
-		//ensure we start in a clean state
-		registry.removeProfile(PROFILE_NAME);
-		handler = new SurrogateProfileHandler();
-		Field registryField = SurrogateProfileHandler.class.getDeclaredField("profileRegistry");
-		registryField.setAccessible(true);
-		registryField.set(handler, registry);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		ungetServices();
-	}
-
-	public void testIsSurrogate() throws ProvisionException {
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		assertFalse(handler.isSurrogate(profile));
-		IProfile surrogateProfile = handler.createProfile(PROFILE_NAME);
-		assertTrue(handler.isSurrogate(surrogateProfile));
-	}
-
-	public void testCreateProfile() throws ProvisionException {
-		assertNull(handler.createProfile(PROFILE_NAME));
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		profile.addInstallableUnit(createIU("test"));
-		saveProfile(registry, profile);
-		IProfile surrogateProfile = handler.createProfile(PROFILE_NAME);
-		assertTrue(handler.isSurrogate(surrogateProfile));
-		assertEquals(0, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		assertEquals(1, surrogateProfile.available(InstallableUnitQuery.ANY, null).size());
-	}
-
-	public void testUpdateProfile() throws ProvisionException {
-		Profile profile = (Profile) registry.addProfile(PROFILE_NAME);
-		profile.addInstallableUnit(createIU("test"));
-		profile.setInstallableUnitProperty(createIU("test"), PROP_TYPE_ROOT, Boolean.TRUE.toString());
-		saveProfile(registry, profile);
-		IProfile surrogateProfile = handler.createProfile(PROFILE_NAME);
-		assertEquals(1, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		// HashSet used here to eliminate duplicates
-		assertEquals(1, new HashSet(surrogateProfile.available(InstallableUnitQuery.ANY, null).toCollection()).size());
-		handler.updateProfile(surrogateProfile);
-		assertEquals(1, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		// HashSet used here to eliminate duplicates
-		assertEquals(1, new HashSet(surrogateProfile.available(InstallableUnitQuery.ANY, null).toCollection()).size());
-
-		Profile writeableSurrogateProfile = (Profile) surrogateProfile;
-
-		writeableSurrogateProfile.addInstallableUnit(createIU("surrogate.test"));
-		writeableSurrogateProfile.setInstallableUnitProperty(createIU("surrogate.test"), PROP_TYPE_ROOT, Boolean.TRUE.toString());
-		assertEquals(2, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		// HashSet used here to eliminate duplicates
-		assertEquals(2, new HashSet(surrogateProfile.available(InstallableUnitQuery.ANY, null).toCollection()).size());
-
-		profile.addInstallableUnit(createIU("test2"));
-		profile.setInstallableUnitProperty(createIU("test2"), PROP_TYPE_ROOT, Boolean.TRUE.toString());
-		saveProfile(registry, profile);
-		assertEquals(2, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		// HashSet used here to eliminate duplicates
-		assertEquals(3, new HashSet(surrogateProfile.available(InstallableUnitQuery.ANY, null).toCollection()).size());
-
-		//Strictly speaking this should not be necessary however without resetting the timestamp this test will sometimes fail
-		writeableSurrogateProfile.setProperty(PROP_SHARED_TIMESTAMP, null);
-		handler.updateProfile(surrogateProfile);
-		assertEquals(3, surrogateProfile.query(InstallableUnitQuery.ANY, null).size());
-		// HashSet used here to eliminate duplicates
-		assertEquals(3, new HashSet(surrogateProfile.available(InstallableUnitQuery.ANY, null).toCollection()).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointManagerTest.java
deleted file mode 100644
index 762e091..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointManagerTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import org.eclipse.equinox.internal.p2.engine.TouchpointManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * Simple test of the engine API.
- */
-public class TouchpointManagerTest extends AbstractProvisioningTest {
-
-	public TouchpointManagerTest(String name) {
-		super(name);
-	}
-
-	public TouchpointManagerTest() {
-		super("");
-	}
-
-	public void testGetTouchpointByType() {
-		TouchpointManager manager = new TouchpointManager();
-		assertNotNull(manager.getTouchpoint(InstructionParserTest.TOUCHPOINT_TYPE));
-	}
-
-	public void testGetTouchpointByIdWithVersion() {
-		TouchpointManager manager = new TouchpointManager();
-		assertNotNull(manager.getTouchpoint("phaseTest", "1.0.0"));
-	}
-
-	public void testGetTouchpointByIdWithNullVersion() {
-		TouchpointManager manager = new TouchpointManager();
-		assertNotNull(manager.getTouchpoint("phaseTest", null));
-	}
-
-	// temporarily disabling this test until API is done
-	public void DISABLED_testDynamicTouchpoint() throws MalformedURLException, BundleException, InterruptedException {
-		TouchpointManager manager = new TouchpointManager();
-		assertNull(manager.getTouchpoint("dummy", "1.0.0"));
-		File dummy = getTestData("0.1", "/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar");
-		Bundle bundle = TestActivator.getContext().installBundle(dummy.toURL().toString());
-		bundle.start(); //force resolve
-
-		int maxTries = 20;
-		int current = 0;
-		while (true) {
-			if (null != manager.getTouchpoint("dummy", "1.0.0"))
-				break;
-			if (++current == maxTries)
-				fail("dummy touchpoint not added");
-			Thread.sleep(100);
-		}
-		bundle.uninstall();
-		current = 0;
-		while (true) {
-			if (null == manager.getTouchpoint("dummy", "1.0.0"))
-				break;
-			if (++current == maxTries)
-				fail("dummy touchpoint not removed");
-			Thread.sleep(100);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
deleted file mode 100644
index c8a305f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/TouchpointTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.engine;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.engine.PhaseTest.TestPhaseSet;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Simple test of the engine API.
- */
-public class TouchpointTest extends AbstractProvisioningTest {
-
-	static volatile TestTouchpoint testTouchpoint;
-
-	abstract static class TestTouchpoint extends Touchpoint {
-		int completeOperand;
-		int completePhase;
-		int initializeOperand;
-		int initializePhase;
-
-		public TestTouchpoint() {
-			testTouchpoint = this;
-		}
-
-		public IStatus completeOperand(IProfile profile, Operand operand, Map parameters) {
-			completeOperand++;
-			return super.completeOperand(profile, operand, parameters);
-		}
-
-		public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-			completePhase++;
-			return super.completePhase(monitor, profile, phaseId, touchpointParameters);
-		}
-
-		public IStatus initializeOperand(IProfile profile, Operand operand, Map parameters) {
-			initializeOperand++;
-			return super.initializeOperand(profile, operand, parameters);
-		}
-
-		public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-			initializePhase++;
-			return super.initializePhase(monitor, profile, phaseId, touchpointParameters);
-		}
-
-		public void resetCounters() {
-			completeOperand = 0;
-			completePhase = 0;
-			initializeOperand = 0;
-			initializePhase = 0;
-		}
-	}
-
-	public static class OperandTestTouchpoint extends TestTouchpoint {
-		public IStatus completeOperand(IProfile profile, Operand operand, Map parameters) {
-			assertEquals(1, initializeOperand);
-			assertEquals(0, completeOperand);
-			super.completeOperand(profile, operand, parameters);
-			assertEquals(1, initializeOperand);
-			assertEquals(1, completeOperand);
-			return null;
-		}
-
-		public IStatus initializeOperand(IProfile profile, Operand operand, Map parameters) {
-			assertEquals(0, initializeOperand);
-			assertEquals(0, completeOperand);
-			assertTrue(parameters.containsKey("TestPhase.initializeOperand"));
-			super.initializeOperand(profile, operand, parameters);
-			assertEquals(1, initializeOperand);
-			assertEquals(0, completeOperand);
-			return null;
-		}
-
-		public String qualifyAction(String actionId) {
-			return "operandtest." + actionId;
-		}
-	}
-
-	public static class PhaseTestTouchpoint extends TestTouchpoint {
-		public IStatus completePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map parameters) {
-			assertEquals(1, initializePhase);
-			assertEquals(0, completePhase);
-			super.completePhase(monitor, profile, phaseId, parameters);
-			assertEquals(1, initializePhase);
-			assertEquals(1, completePhase);
-			return null;
-		}
-
-		public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map parameters) {
-			assertEquals(0, initializePhase);
-			assertEquals(0, completePhase);
-			assertTrue(parameters.containsKey("TestPhase.initializePhase"));
-			super.initializePhase(monitor, profile, phaseId, parameters);
-			assertEquals(1, initializePhase);
-			assertEquals(0, completePhase);
-			return null;
-		}
-
-		public String qualifyAction(String actionId) {
-			return "phasetest." + actionId;
-		}
-	}
-
-	private ServiceReference engineRef;
-	private IEngine engine;
-
-	public TouchpointTest(String name) {
-		super(name);
-	}
-
-	public TouchpointTest() {
-		super("");
-	}
-
-	protected void setUp() throws Exception {
-		engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
-		engine = (IEngine) TestActivator.getContext().getService(engineRef);
-	}
-
-	protected void tearDown() throws Exception {
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-	}
-
-	public void testInitCompleteOperand() {
-		if (testTouchpoint != null)
-			testTouchpoint.resetCounters();
-		PhaseSet phaseSet = new TestPhaseSet();
-		IProfile profile = createProfile("testProfile");
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createTestIU("operandTest"))};
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertEquals(1, testTouchpoint.initializeOperand);
-		assertEquals(1, testTouchpoint.completeOperand);
-	}
-
-	public void testInitCompletePhase() {
-		if (testTouchpoint != null)
-			testTouchpoint.resetCounters();
-		PhaseSet phaseSet = new TestPhaseSet();
-		IProfile profile = createProfile("testProfile");
-		final InstallableUnitOperand[] operands = new InstallableUnitOperand[] {new InstallableUnitOperand(null, createTestIU("phaseTest"))};
-		engine.perform(engine.createCustomPlan(profile, operands, null), phaseSet, new NullProgressMonitor());
-		assertEquals(1, testTouchpoint.initializePhase);
-		assertEquals(1, testTouchpoint.completePhase);
-	}
-
-	private IInstallableUnit createTestIU(String touchpointName) {
-		InstallableUnitDescription description = new MetadataFactory.InstallableUnitDescription();
-		description.setId("org.eclipse.test");
-		description.setVersion(Version.create("1.0.0"));
-		description.setTouchpointType(MetadataFactory.createTouchpointType(touchpointName, Version.create("1.0.0")));
-		IInstallableUnit unit = MetadataFactory.createInstallableUnit(description);
-		return createResolvedIU(unit);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
deleted file mode 100644
index d51b261..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ExtensionLocationArtifactRepositoryFactoryTest.class);
-		suite.addTestSuite(ExtensionLocationMetadataRepositoryFactoryTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
deleted file mode 100644
index 91c90d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationArtifactRepositoryFactoryTest.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.extensionlocation.Constants;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class ExtensionLocationArtifactRepositoryFactoryTest extends AbstractProvisioningTest {
-
-	private File tempDirectory;
-	private ExtensionLocationArtifactRepositoryFactory factory;
-
-	public ExtensionLocationArtifactRepositoryFactoryTest(String name) {
-		super(name);
-	}
-
-	protected void tearDown() throws Exception {
-		delete(tempDirectory);
-		super.tearDown();
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		tempDirectory = new File(tempDir, "extensionlocationtest");
-		delete(tempDirectory);
-		tempDirectory.mkdirs();
-		factory = new ExtensionLocationArtifactRepositoryFactory();
-
-	}
-
-	public static File getFile(String path) throws IOException {
-		URL fileURL = TestActivator.getContext().getBundle().getEntry(path);
-		return new File(FileLocator.toFileURL(fileURL).getPath());
-	}
-
-	public void testNonFileURL() {
-		try {
-			URI nonFileURL = new URI("http://www.eclipse.org");
-			factory.load(nonFileURL, 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		} catch (URISyntaxException e) {
-			fail("0.99", e);
-		}
-	}
-
-	public void testNonExistentFile() {
-		File directory = new File(tempDirectory, "nonexistent");
-		delete(directory);
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-	public void testNotDirectory() {
-		File file = new File(tempDirectory, "exists.file");
-		try {
-			file.createNewFile();
-			factory.load(file.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.5", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		} catch (MalformedURLException e) {
-			fail("0.99", e);
-		} catch (IOException e) {
-			fail("0.100", e);
-		}
-	}
-
-	public void testNoFeatureOrPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "plugins").mkdir();
-		new File(directory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1", e);
-		}
-	}
-
-	public void testEmptyFeaturesDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1", e);
-		}
-	}
-
-	public void testEmptyPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "plugins").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1", e);
-		}
-	}
-
-	public void testEclipseBaseEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		eclipseDirectory.mkdir();
-		new File(eclipseDirectory, "plugins").mkdir();
-		new File(eclipseDirectory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1", e);
-		}
-	}
-
-	public void testNotEclipseBaseEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "noteclipse");
-		eclipseDirectory.mkdir();
-		new File(eclipseDirectory, "plugins").mkdir();
-		new File(eclipseDirectory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testNormalFeaturesandPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			IArtifactRepository repo = factory.load(location, 0, getMonitor());
-			if (getArtifactKeyCount(repo) != 2)
-				fail("2.1");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testNormalFeaturesDirectory() {
-		File directory = new File(tempDirectory, "exists/features");
-		directory.mkdirs();
-		File features = new File(directory, "features");
-		features.mkdir();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation/features"), features);
-		URI location = directory.toURI();
-		try {
-			IArtifactRepository repo = factory.load(location, 0, getMonitor());
-			if (getArtifactKeyCount(repo) != 1)
-				fail("2.1");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testNormalPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists/plugins");
-		directory.mkdirs();
-		File plugins = new File(directory, "plugins");
-		plugins.mkdir();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation/plugins"), plugins);
-		URI location = directory.toURI();
-		try {
-			IArtifactRepository repo = factory.load(location, 0, getMonitor());
-			if (getArtifactKeyCount(repo) != 1)
-				fail("2.1");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testEclipseBaseNormalFeaturesandPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		copy("1.1", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
-		try {
-			IArtifactRepository repo = factory.load(directory.toURI(), 0, getMonitor());
-			if (getArtifactKeyCount(repo) != 2)
-				fail("1.0");
-		} catch (ProvisionException e) {
-			fail("0.5", e);
-		}
-	}
-
-	public void testEclipseBaseModifiableRepository() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		copy("1.1", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
-		try {
-			IArtifactRepository repo = factory.load(directory.toURI(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, getMonitor());
-			assertNull("1.0", repo);
-		} catch (ProvisionException e) {
-			fail("0.5", e);
-		}
-	}
-
-	public void testUpdateSiteXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		try {
-			factory.load(site.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testXXXSiteXXXXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
-		try {
-			factory.load(site.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testArtifactsXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File artifactsXML = new File(directory, "artifacts.xml");
-		artifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testArtifactsXMLFeaturesandPluginsDirectoryWithExtensionLocation() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File artifactsXML = new File(directory, "artifacts.xml");
-		artifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		File extensionLocation = new File(tempDirectory.getAbsolutePath() + Constants.EXTENSION_LOCATION);
-		URI location = extensionLocation.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testContentXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File contentXML = new File(directory, "content.xml");
-		contentXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testCompositeArtifactsXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File compositeArtifactsXML = new File(directory, "compositeArtifacts.xml");
-		compositeArtifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testCompositeContentXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File compositeContentXML = new File(directory, "compositeContent.xml");
-		compositeContentXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
deleted file mode 100644
index d595887..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/extensionlocation/ExtensionLocationMetadataRepositoryFactoryTest.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.extensionlocation;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.equinox.internal.p2.extensionlocation.Constants;
-import org.eclipse.equinox.internal.p2.extensionlocation.ExtensionLocationMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExtensionLocationMetadataRepositoryFactoryTest extends AbstractProvisioningTest {
-
-	private File tempDirectory;
-	private ExtensionLocationMetadataRepositoryFactory factory;
-
-	public ExtensionLocationMetadataRepositoryFactoryTest(String name) {
-		super(name);
-	}
-
-	protected void tearDown() throws Exception {
-		delete(tempDirectory);
-		super.tearDown();
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		tempDirectory = new File(tempDir, "extensionlocationtest");
-		delete(tempDirectory);
-		tempDirectory.mkdirs();
-		factory = new ExtensionLocationMetadataRepositoryFactory();
-	}
-
-	public void testNonFileURL() {
-		try {
-			URI nonFileURL = new URI("http://www.eclipse.org");
-			factory.load(nonFileURL, 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		} catch (URISyntaxException e) {
-			fail("0.3", e);
-		}
-	}
-
-	public void testNonExistentFile() {
-		File directory = new File(tempDirectory, "nonexistent");
-		delete(directory);
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-	public void testNotDirectory() {
-		File file = new File(tempDirectory, "exists.file");
-		try {
-			file.createNewFile();
-			factory.load(file.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		} catch (MalformedURLException e) {
-			fail("0.3", e);
-		} catch (IOException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testNoFeatureOrPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-	public void testEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "plugins").mkdir();
-		new File(directory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1");
-		}
-	}
-
-	public void testEmptyFeaturesDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1");
-		}
-	}
-
-	public void testEmptyPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		new File(directory, "plugins").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1");
-		}
-	}
-
-	public void testEclipseBaseEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		eclipseDirectory.mkdir();
-		new File(eclipseDirectory, "plugins").mkdir();
-		new File(eclipseDirectory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.1");
-		}
-	}
-
-	public void testNotEclipseBaseEmptyFeatureAndPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "noteclipse");
-		eclipseDirectory.mkdir();
-		new File(eclipseDirectory, "plugins").mkdir();
-		new File(eclipseDirectory, "features").mkdir();
-		try {
-			factory.load(directory.toURI(), 0, getMonitor());
-			fail("0.1");
-		} catch (ProvisionException e) {
-			assertEquals("0.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-	public void testNormalFeaturesandPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			IMetadataRepository repo = factory.load(location, 0, getMonitor());
-			if (repo.query(InstallableUnitQuery.ANY, null).toCollection().size() != 3)
-				fail("2.99");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testNormalFeaturesDirectory() {
-		File directory = new File(tempDirectory, "exists/features");
-		directory.mkdirs();
-		File features = new File(directory, "features");
-		features.mkdir();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation/features"), features);
-		URI location = directory.toURI();
-		try {
-			IMetadataRepository repo = factory.load(location, 0, getMonitor());
-			if (repo.query(InstallableUnitQuery.ANY, null).toCollection().size() != 2)
-				fail("3.0");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testNormalPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists/plugins");
-		directory.mkdirs();
-		File plugins = new File(directory, "plugins");
-		plugins.mkdir();
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation/plugins"), plugins);
-		URI location = directory.toURI();
-		try {
-			IMetadataRepository repo = factory.load(location, 0, getMonitor());
-			if (repo.query(InstallableUnitQuery.ANY, null).toCollection().size() != 1)
-				fail("3.0");
-		} catch (ProvisionException ex) {
-			fail("2.0");
-		}
-	}
-
-	public void testEclipseBaseNormalFeaturesandPluginsDirectory() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
-		try {
-			IMetadataRepository repo = factory.load(directory.toURI(), 0, getMonitor());
-			if (repo.query(InstallableUnitQuery.ANY, null).toCollection().size() != 3)
-				fail("3.0");
-		} catch (ProvisionException e) {
-			fail("2.0");
-		}
-	}
-
-	public void testEclipseBaseModifiableRepository() {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File eclipseDirectory = new File(directory, "eclipse");
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), eclipseDirectory);
-		try {
-			IMetadataRepository repo = factory.load(directory.toURI(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, getMonitor());
-			assertNull("3.0", repo);
-		} catch (ProvisionException e) {
-			fail("2.0");
-		}
-	}
-
-	public void testUpdateSiteXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		try {
-			factory.load(site.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testXXXSiteXXXXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
-		try {
-			factory.load(site.toURI(), 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testArtifactsXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File artifactsXML = new File(directory, "artifacts.xml");
-		artifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testArtifactsXMLFeaturesandPluginsDirectoryWithExtensionLocation() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File artifactsXML = new File(directory, "artifacts.xml");
-		artifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		File extensionLocation = new File(tempDirectory.getAbsolutePath() + Constants.EXTENSION_LOCATION);
-		URI location = extensionLocation.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testContentXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File contentXML = new File(directory, "content.xml");
-		contentXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testCompositeArtifactsXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File compositeArtifactsXML = new File(directory, "compositeArtifacts.xml");
-		compositeArtifactsXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-
-	public void testCompositeContentXMLFeaturesandPluginsDirectory() throws IOException {
-		File directory = new File(tempDirectory, "exists");
-		directory.mkdirs();
-		File compositeContentXML = new File(directory, "compositeContent.xml");
-		compositeContentXML.createNewFile();
-
-		copy("1.0", getTestData("1.1", "/testData/extensionlocation"), directory);
-		URI location = directory.toURI();
-		try {
-			factory.load(location, 0, getMonitor());
-		} catch (ProvisionException e) {
-			if (e.getStatus().getCode() == ProvisionException.REPOSITORY_NOT_FOUND)
-				return;
-		}
-		fail("1.0");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/35_to_36_tests.txt b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/35_to_36_tests.txt
deleted file mode 100644
index 4244086..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/35_to_36_tests.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-	From  | To 
-	=-=-=-=-=-==
-a	3.5	    3.6 (update / install) --> From35to36 for the update part, and Install36from35 for the install
-b	3.5	    3.5 (update / install)  --> 
-c	3.6	    3.6 (update / install) --> 
-d	3.6	    3.5 (install / revert)  --> End2EndTest for the install part, From35to36 for the revert
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/AllTests.java
deleted file mode 100644
index 00f1b47..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import junit.framework.*;
-
-/**
- * Performs all automated download manager tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(End2EndTest.class);
-		suite.addTest(From35to36.suite());
-		suite.addTest(Install36from35.suite());
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
deleted file mode 100644
index 5c15564..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/DirectorTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.osgi.framework.ServiceReference;
-
-/**
- * This test installs or uninstalls the IU defined by the property "eclipse.p2.autoInstall".
- * Metadata for the IUs to install must be generated separately before running this test.
- */
-public class DirectorTest extends AbstractProvisioningTest {
-
-	public void testInstallIU() throws ProvisionException {
-		ServiceReference sr = TestActivator.context.getServiceReference(IDirector.SERVICE_NAME);
-		if (sr == null) {
-			throw new RuntimeException("Director service not available");
-		}
-		IDirector director = (IDirector) TestActivator.context.getService(sr);
-		if (director == null) {
-			throw new RuntimeException("Director could not be loaded");
-		}
-
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-
-		String autoInstall = System.getProperty("eclipse.p2.autoInstall");
-		Collector allJobs = mgr.query(new InstallableUnitQuery(autoInstall, VersionRange.emptyRange), null);
-
-		String installFolder = System.getProperty(IProfile.PROP_INSTALL_FOLDER);
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		if (profileRegistry == null) {
-			throw new RuntimeException("Profile registry service not available");
-		}
-
-		boolean doUninstall = (Boolean.TRUE.equals(Boolean.valueOf(System.getProperty("eclipse.p2.doUninstall"))));
-
-		IProfile p = null;
-		if (doUninstall) {
-			p = profileRegistry.getProfile(installFolder);
-			if (p == null)
-				throw new RuntimeException("Uninstalling from a nonexistent profile");
-		} else {
-			Map properties = new HashMap();
-			properties.put(IProfile.PROP_INSTALL_FOLDER, installFolder);
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
-			if (info != null)
-				properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-
-			p = createProfile(installFolder, properties);
-		}
-
-		IInstallableUnit[] allRoots = new IInstallableUnit[1];
-		IStatus operationStatus = null;
-		if (!allJobs.isEmpty()) {
-			allRoots[0] = (IInstallableUnit) allJobs.iterator().next();
-			ProfileChangeRequest request = new ProfileChangeRequest(p);
-			if (!doUninstall)
-				request.addInstallableUnits(allRoots);
-			else
-				request.removeInstallableUnits(allRoots);
-			operationStatus = director.provision(request, null, null);
-		} else {
-			operationStatus = new Status(IStatus.INFO, "org.eclipse.equinox.internal.provisional.p2.director.test", "The installable unit '" + System.getProperty("eclipse.p2.autoInstall") + "' has not been found");
-		}
-
-		if (!operationStatus.isOK())
-			fail("The installation has failed");
-
-		IInstallableUnit[] result = (IInstallableUnit[]) p.query(new InstallableUnitQuery(allRoots[0].getId(), VersionRange.emptyRange), null).toArray(IInstallableUnit.class);
-		assertEquals(result.length, (!doUninstall ? 1 : 0));
-		result = (IInstallableUnit[]) p.query(new InstallableUnitQuery("toolingdefault", VersionRange.emptyRange), null).toArray(IInstallableUnit.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
deleted file mode 100644
index da4a35b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/End2EndTest.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class End2EndTest extends AbstractProvisioningTest {
-
-	private IMetadataRepositoryManager metadataRepoManager;
-
-	private IArtifactRepositoryManager artifactRepoManager;
-	private IDirector director;
-
-	private ServiceTracker fwAdminTracker;
-
-	private static URI repositoryLocation = URI.create("http://download.eclipse.org/eclipse/updates/3.5");
-
-	protected void setUp() throws Exception {
-		ServiceReference sr = TestActivator.context.getServiceReference(IDirector.SERVICE_NAME);
-		if (sr == null)
-			throw new RuntimeException("Director service not available");
-		director = createDirector();
-		//		planner = createPlanner();
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		metadataRepoManager = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (metadataRepoManager == null)
-			throw new RuntimeException("Metadata repository manager could not be loaded");
-
-		ServiceReference sr3 = TestActivator.context.getServiceReference(IArtifactRepositoryManager.SERVICE_NAME);
-		artifactRepoManager = (IArtifactRepositoryManager) TestActivator.context.getService(sr3);
-		if (artifactRepoManager == null)
-			throw new RuntimeException("Artifact repo manager could not be loaded");
-	}
-
-	protected IProfile createProfile(String profileId, String installFolder) {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		if (profileRegistry == null) {
-			throw new RuntimeException("Profile registry service not available");
-		}
-
-		Map properties = new HashMap();
-		properties.put(IProfile.PROP_INSTALL_FOLDER, installFolder);
-		EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
-		if (info != null)
-			properties.put(IProfile.PROP_ENVIRONMENTS, "osgi.os=" + info.getOS() + ",osgi.ws=" + info.getWS() + ",osgi.arch=" + info.getOSArch());
-		properties.put("org.eclipse.update.install.features", "true");
-		properties.put(IProfile.PROP_CACHE, installFolder);
-		return createProfile(profileId, properties);
-	}
-
-	public void testInstallSDK35() {
-		File installFolder = TestActivator.getContext().getDataFile(End2EndTest.class.getName());
-		IProfile profile2 = createProfile("End2EndProfile", installFolder.getAbsolutePath());
-
-		//Add repository of the release
-		try {
-			metadataRepoManager.addRepository(repositoryLocation);
-			metadataRepoManager.setEnabled(repositoryLocation, true);
-			metadataRepoManager.loadRepository(repositoryLocation, new NullProgressMonitor());
-			artifactRepoManager.addRepository(repositoryLocation);
-			artifactRepoManager.setEnabled(repositoryLocation, true);
-		} catch (ProvisionException e) {
-			fail("Exception loading the repository.", e);
-		}
-
-		installPlatform35(profile2, installFolder);
-
-		installBogusIU(profile2, installFolder);
-
-		installPlatformSource35(profile2, installFolder);
-
-		attemptToUninstallRCP35(profile2, installFolder);
-
-		rollbackPlatformSource35(profile2, installFolder);
-
-		//		uninstallPlatform(profile2, installFolder);
-
-	}
-
-	private void attemptToUninstallRCP35(IProfile profile2, File installFolder) {
-		Collector collect = profile2.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		assertEquals(1, collect.size());
-		ProfileChangeRequest request = new ProfileChangeRequest(profile2);
-		request.removeInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) collect.iterator().next()});
-		IStatus s = director.provision(request, null, new NullProgressMonitor());
-		assertOK("Can not uninstall RCP", s);
-		assertEquals(1, profile2.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor()).size());
-	}
-
-	protected void uninstallPlatform(IProfile profile2, File installFolder) {
-		System.out.println("Uninstall the platform");
-		Collector collect = profile2.query(new InstallableUnitQuery("org.eclipse.platform.ide"), new NullProgressMonitor());
-		assertEquals(1, collect.size());
-		//		Collector collect2 = profile2.query(new InstallableUnitQuery("org.eclipse.platform.source.feature.group"), new Collector(), new NullProgressMonitor());
-		ProfileChangeRequest request = new ProfileChangeRequest(profile2);
-		request.removeInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) collect.iterator().next()});//, (IInstallableUnit) collect2.iterator().next()});
-		IStatus s = director.provision(request, null, new NullProgressMonitor());
-		assertOK("Can not uninstall platform", s);
-	}
-
-	private void rollbackPlatformSource35(IProfile profile2, File installFolder) {
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		long[] timestamps = profileRegistry.listProfileTimestamps(profile2.getProfileId());
-		assertEquals(3, timestamps.length);
-
-		IProfile revertProfile = profileRegistry.getProfile(profile2.getProfileId(), timestamps[1]);
-
-		IStatus s = director.revert(profile2, revertProfile, new ProvisioningContext(), new NullProgressMonitor());
-		assertTrue(s.isOK());
-
-		validateInstallContentFor35(installFolder);
-		assertFalse(new File(installFolder, "configuration/org.eclipse.equinox.source/source.info").exists());
-	}
-
-	private void installPlatformSource35(IProfile profile2, File installFolder) {
-		final String id = "org.eclipse.platform.source.feature.group";
-		final Version version = Version.create("3.5.0.v20090611a-9gEeG1HFtQcmRThO4O3aR_fqSMvJR2sJ");
-
-		IInstallableUnit toInstall = getIU(id, version);
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile2);
-		request.addInstallableUnits(new IInstallableUnit[] {toInstall});
-		IStatus s = director.provision(request, null, new NullProgressMonitor());
-		if (!s.isOK())
-			fail("Installation of the " + id + " " + version + " failed.");
-
-		assertProfileContainsAll("Platform source feature", profile2, new IInstallableUnit[] {toInstall});
-		assertTrue(new File(installFolder, "configuration/org.eclipse.equinox.source").exists());
-	}
-
-	private void installBogusIU(IProfile profile, File installFolder) {
-		InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		iud.setId("org.eclipse.equinox.p2.tests.bogusIU.end2end");
-		iud.setVersion(Version.create("1.0.0"));
-		iud.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.p2.tests.bogusIU.end2end", Version.create("1.0.0"))});
-		Map data = new HashMap();
-		data.put("install", "org.eclipse.equinox.p2.osgi.removeJvmArg(programArg:-XX:+UnlockDiagnosticVMOptions);");
-		iud.addTouchpointData(MetadataFactory.createTouchpointData(data));
-		IInstallableUnit bogusIU = MetadataFactory.createInstallableUnit(iud);
-		iud.setTouchpointType(MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", Version.create("1.0.0")));
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {bogusIU});
-		IStatus s = director.provision(request, null, new NullProgressMonitor());
-		assertNotOK(s);
-	}
-
-	private void installPlatform35(IProfile profile2, File installFolder) {
-		final String id = "org.eclipse.platform.ide";
-		final Version version = Version.create("3.5.0.I20090611-1540");
-
-		//First we install the platform
-		ProfileChangeRequest request = new ProfileChangeRequest(profile2);
-		IInstallableUnit platformIU = getIU(id, version);
-
-		request.addInstallableUnits(new IInstallableUnit[] {platformIU});
-		IStatus s = director.provision(request, null, new NullProgressMonitor());
-		if (!s.isOK()) {
-			LogHelper.log(s);
-			fail("Installation of the " + id + " " + version + " failed. " + s.toString());
-		}
-
-		assertProfileContainsAll("Platform 3.5 profile", profile2, new IInstallableUnit[] {platformIU});
-		validateInstallContentFor35(installFolder);
-		assertFalse(new File(installFolder, "configuration/org.eclipse.equinox.source").exists());
-	}
-
-	/**
-	 * Returns the IU corresponding to the given id and version. Fails if the IU could
-	 * not be found. Never returns null.
-	 */
-	public IInstallableUnit getIU(String id, Version v) {
-		final InstallableUnitQuery query = new InstallableUnitQuery(id, v);
-		Iterator it = metadataRepoManager.query(query, null).iterator();
-		if (it.hasNext())
-			return (IInstallableUnit) it.next();
-		//try the repository location directly - retry because eclipse.org can be flaky
-		Exception failure = null;
-		for (int i = 0; i < 3; i++) {
-			try {
-				IMetadataRepository repo = metadataRepoManager.loadRepository(repositoryLocation, null);
-				it = repo.query(query, null).iterator();
-				if (it.hasNext())
-					return (IInstallableUnit) it.next();
-			} catch (ProvisionException e) {
-				failure = e;
-			}
-		}
-		if (failure == null)
-			failure = new RuntimeException("IU not found");
-		fail("Failed to obtain " + id + " version: " + v + " from: " + repositoryLocation, failure);
-		return null;//will never get here
-	}
-
-	private void validateInstallContentFor35(File installFolder) {
-		FrameworkAdmin fwkAdmin = getEquinoxFrameworkAdmin();
-		Manipulator manipulator = fwkAdmin.getManipulator();
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(new File(installFolder, "configuration"));
-		launcherData.setLauncher(new File(installFolder, getLauncherName("eclipse", Platform.getOS())));
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			fail("Error loading the configuration", e);
-		} catch (FrameworkAdminRuntimeException e) {
-			fail("Error loading the configuration", e);
-		} catch (IOException e) {
-			fail("Error loading the configuration", e);
-		}
-
-		assertContains("Can't find VM arg", manipulator.getLauncherData().getJvmArgs(), "-Xms40m");
-		assertContains("Can't find VM arg", manipulator.getLauncherData().getJvmArgs(), "-Xmx256m");
-
-		String[] programArgs = manipulator.getLauncherData().getProgramArgs();
-		assertContains("Can't find program arg", programArgs, "-startup");
-		assertContains("Can't find program arg", programArgs, "-showsplash");
-		assertContains("Can't find program arg", programArgs, "org.eclipse.platform");
-
-		assertTrue(manipulator.getConfigData().getBundles().length > 50);
-
-		assertTrue(new File(installFolder, "plugins").exists());
-		assertTrue(new File(installFolder, "features").exists());
-
-	}
-
-	private void assertContains(String message, String[] source, String searched) {
-		for (int i = 0; i < source.length; i++) {
-			if (source[i].equals(searched))
-				return;
-		}
-		fail(message + " " + searched);
-	}
-
-	private FrameworkAdmin getEquinoxFrameworkAdmin() {
-		final String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + "=" + FrameworkAdmin.class.getName() + ")";
-		final String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)";
-		final String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)";
-		final String filterFwAdmin = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ")";
-
-		String FWK_ADMIN_EQ = "org.eclipse.equinox.frameworkadmin.equinox";
-		Bundle b = Platform.getBundle(FWK_ADMIN_EQ);
-		if (b == null)
-			fail("Bundle: " + FWK_ADMIN_EQ + " is required for this test");
-		try {
-			b.start();
-		} catch (BundleException e) {
-			fail("Can't start framework admin");
-		}
-		if (fwAdminTracker == null) {
-			Filter filter;
-			try {
-				filter = TestActivator.getContext().createFilter(filterFwAdmin);
-				fwAdminTracker = new ServiceTracker(TestActivator.getContext(), filter, null);
-				fwAdminTracker.open();
-			} catch (InvalidSyntaxException e) {
-				// never happens
-				e.printStackTrace();
-			}
-		}
-		return (FrameworkAdmin) fwAdminTracker.getService();
-	}
-
-	private static String getLauncherName(String name, String os) {
-		if (os == null) {
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(TestActivator.getContext(), EnvironmentInfo.class.getName());
-			if (info != null)
-				os = info.getOS();
-		}
-
-		if (os.equals(org.eclipse.osgi.service.environment.Constants.OS_WIN32)) {
-			IPath path = new Path(name);
-			if ("exe".equals(path.getFileExtension())) //$NON-NLS-1$
-				return name;
-			return name + ".exe"; //$NON-NLS-1$
-		}
-		if (os.equals(org.eclipse.osgi.service.environment.Constants.OS_MACOSX)) {
-			IPath path = new Path(name);
-			if ("app".equals(path.getFileExtension())) //$NON-NLS-1$
-				return name;
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(name.substring(0, 1).toUpperCase());
-			buffer.append(name.substring(1));
-			buffer.append(".app/Contents/MacOS/"); //$NON-NLS-1$
-			buffer.append(name.toLowerCase());
-			return buffer.toString();
-		}
-		return name;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/From35to36.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/From35to36.java
deleted file mode 100644
index bce1516..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/From35to36.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.p2.tests.reconciler.dropins.AbstractReconcilerTest;
-import org.eclipse.equinox.p2.tests.reconciler.dropins.ReconcilerTestSuite;
-
-public class From35to36 extends AbstractReconcilerTest {
-
-	public From35to36(String string) {
-		super(string);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite("org.eclipse.equinox.p2.reconciler.tests.35.platform.archive");
-		suite.addTest(new From35to36("from35To36"));
-		return suite;
-	}
-
-	public void from35To36() {
-		String currentBuildRepo = System.getProperty("org.eclipse.equinox.p2.tests.current.build.repo");
-		if (currentBuildRepo == null)
-			currentBuildRepo = "http://download.eclipse.org/eclipse/updates/3.6-I-builds";
-		runInitialize("Initializing 3.5 to get the profile paths properly setup.");
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(new File(output, "eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/"), null, false);
-		String initialTimestamp = Long.toString(registry.getProfile("PlatformProfile").getTimestamp());
-
-		//Take 3.5 archive, unzip, run it to update to 3.6
-		assertEquals(0, runDirectorToUpdate("Updating from 3.5 to 3.6", currentBuildRepo, "org.eclipse.platform.ide", "org.eclipse.platform.ide"));
-		assertEquals(0, installAndRunVerifierBundle(null));
-
-		// revert to 3.5
-		assertEquals(0, runDirectorToRevert("Reverting from 3.6 to 3.5", "http://download.eclipse.org/eclipse/updates/3.5", initialTimestamp));
-		assertEquals(0, installAndRunVerifierBundle35(null));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/Install36from35.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/Install36from35.java
deleted file mode 100644
index 8520e0c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/Install36from35.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.reconciler.dropins.AbstractReconcilerTest;
-import org.eclipse.equinox.p2.tests.reconciler.dropins.ReconcilerTestSuite;
-
-//Install 3.6 using 3.5
-public class Install36from35 extends AbstractReconcilerTest {
-	public Install36from35(String string) {
-		super(string);
-	}
-
-	public int runDirectorToInstall(String message, File installFolder, String sourceRepo, String iuToInstall) {
-		File root = new File(TestActivator.getContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-installIU", iuToInstall,
-
-		"-destination", installFolder.getAbsolutePath(), "-profile", "PlatformProfile", "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", installFolder.getAbsolutePath(), "-p2.os", Platform.getOS(), "-p2.ws", Platform.getWS(), "-p2.arch", Platform.getOSArch(), "-roaming", "-vmArgs", "-Dosgi.checkConfiguration=true"};
-
-		// command-line if you want to run and allow a remote debugger to connect
-		// String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true", "-repository", sourceRepo, "-installIU", iuToInstall, "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"};
-		return run(message, command);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite("org.eclipse.equinox.p2.reconciler.tests.35.platform.archive");
-		suite.addTest(new Install36from35("install36From35"));
-		return suite;
-	}
-
-	public void install36From35() {
-		//Create a new installation of 3.6 using 3.5
-		File installFolder = getTempFolder();
-		System.out.println(installFolder);
-		assertEquals(0, runDirectorToInstall("Installing 3.6 from 3.5", new File(installFolder, "eclipse"), "http://download.eclipse.org/eclipse/updates/3.6-I-builds", "org.eclipse.platform.ide"));
-		assertEquals(0, installAndRunVerifierBundle35(installFolder));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
deleted file mode 100644
index d692468..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/full/RepoValidator.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.full;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class RepoValidator extends AbstractProvisioningTest {
-	public void testValidate() throws ProvisionException, URISyntaxException {
-		URI repoLoc = new URI("http://fullmoon.ottawa.ibm.com/eclipse/updates/3.5-I-builds/");
-		ServiceReference sr = TestActivator.context.getServiceReference(IPlanner.SERVICE_NAME);
-		if (sr == null) {
-			throw new RuntimeException("Planner service not available");
-		}
-		IPlanner planner = (IPlanner) TestActivator.context.getService(sr);
-		if (planner == null) {
-			throw new RuntimeException("Planner could not be loaded");
-		}
-
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		IMetadataRepositoryManager mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-		IMetadataRepository validatedRepo = mgr.loadRepository(repoLoc, null);
-
-		Map properties = new HashMap();
-		properties.put("osgi.os", "win32");
-		properties.put("osgi.ws", "win32");
-		properties.put("osgi.arch", "x86");
-		IProfile p = createProfile("repoValidator", properties);
-
-		IQuery q;
-
-		q = new InstallableUnitQuery("org.eclipse.rcp.feature.group");
-
-		//		q = InstallableUnitQuery.ANY;
-		Collector iusToTest = validatedRepo.query(q, null);
-
-		ProvisioningContext pc = new ProvisioningContext(new URI[] {repoLoc});
-		for (Iterator iterator = iusToTest.iterator(); iterator.hasNext();) {
-			try {
-				IInstallableUnit isInstallable = (IInstallableUnit) iterator.next();
-				ProfileChangeRequest req = new ProfileChangeRequest(p);
-				req.setProfileProperty("eclipse.p2.install.features", "true");
-				req.addInstallableUnits(new IInstallableUnit[] {isInstallable});
-				//				System.out.println("Working on: " + isInstallable);
-				IStatus s = planner.getProvisioningPlan(req, pc, null).getStatus();
-				if (!s.isOK()) {
-					System.err.println("Can't resolve: " + isInstallable);
-				}
-			} catch (ArrayIndexOutOfBoundsException e) {
-				//ignore
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
deleted file mode 100644
index 334fadc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/AllTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import junit.framework.*;
-
-/**
- * Performs all engine tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(EclipseSDK33Test.class);
-		suite.addTestSuite(FeatureToIU.class);
-		suite.addTestSuite(SiteParserTest.class);
-		suite.addTestSuite(GeneratorTests.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
deleted file mode 100644
index 78ccc09..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Generator;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IGeneratorInfo;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.GroupQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.*;
-import org.osgi.framework.Bundle;
-
-/**
- * Tests running the metadata generator against Eclipse 3.3 features.
- */
-public class EclipseSDK33Test extends AbstractProvisioningTest {
-
-	public static Test suite() {
-		return new TestSuite(EclipseSDK33Test.class);
-	}
-
-	public EclipseSDK33Test() {
-		super("");
-	}
-
-	public EclipseSDK33Test(String name) {
-		super(name);
-	}
-
-	/**
-	 * TODO This test is currently failing on the build machine for an unknown reason.
-	 */
-	public void testGeneration() {
-		if (DISABLED)
-			return;
-		IGeneratorInfo generatorInfo = createGeneratorInfo();
-		Generator generator = new Generator(generatorInfo);
-		generator.generate();
-
-		TestMetadataRepository repo = (TestMetadataRepository) generatorInfo.getMetadataRepository();
-		IInstallableUnit unit = repo.find("org.eclipse.cvs.source.feature.group", "1.0.0.v20070606-7C79_79EI99g_Y9e");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.rcp.feature.group", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.jdt.feature.group", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.cvs.feature.group", "1.0.0.v20070606-7C79_79EI99g_Y9e");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.pde.source.feature.group", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.sdk.feature.group", "3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.platform.feature.group", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.platform.source.feature.group", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.jdt.source.feature.group", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.pde.feature.group", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
-		assertNotNull(unit);
-		assertGroup(unit);
-		unit = repo.find("org.eclipse.rcp.source.feature.group", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		assertNotNull(unit);
-		assertGroup(unit);
-
-		IArtifactRepository artifactRepo = generatorInfo.getArtifactRepository();
-		assertTrue(getArtifactKeyCount(artifactRepo) == 11);
-	}
-
-	/**
-	 * Asserts that the given IU represents a group.
-	 */
-	private void assertGroup(IInstallableUnit unit) {
-		assertEquals("IU is not a group", Boolean.TRUE.toString(), GroupQuery.isGroup(unit));
-	}
-
-	private IGeneratorInfo createGeneratorInfo() {
-		Bundle myBundle = TestActivator.getContext().getBundle();
-		URL root = FileLocator.find(myBundle, new Path("testData/generator/eclipse3.3"), null);
-		File rootFile = null;
-		try {
-			root = FileLocator.toFileURL(root);
-			rootFile = new File(root.getPath());
-		} catch (IOException e) {
-			fail("4.99", e);
-		}
-		TestGeneratorInfo info = new TestGeneratorInfo(rootFile);
-		return info;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
deleted file mode 100644
index 4593802..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/FeatureToIU.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FeatureToIU extends AbstractProvisioningTest {
-
-	public void testDescription() {
-		Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature1.jar"));
-		assertNotNull(f);
-		IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
-		assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
-	}
-
-	public void testNoDescription1() {
-		Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature2.jar"));
-		assertNotNull(f);
-		IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
-		assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
-	}
-
-	public void testNoDescription2() {
-		Feature f = new FeatureParser().parse(getTestData("FFF 1.0.0", "testData/featureToIU/feature3.jar"));
-		assertNotNull(f);
-		IInstallableUnit group = MetadataGeneratorHelper.createGroupIU(f, MetadataGeneratorHelper.createFeatureJarIU(f, false));
-		assertEquals(f.getDescription(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals(f.getDescriptionURL(), group.getProperty(IInstallableUnit.PROP_DESCRIPTION_URL));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
deleted file mode 100644
index 4557966..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/GeneratorTests.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
-import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-
-public class GeneratorTests extends AbstractProvisioningTest {
-
-	public void test233240_artifactsDeleted() throws Exception {
-		//this also covers 220494
-		File rootFolder = getTempFolder();
-
-		//copy some bundles over 
-		File plugins = new File(rootFolder, "plugins");
-		plugins.mkdir();
-
-		for (int i = 0; i < 3; i++) {
-			BundleContext context = TestActivator.getContext();
-			File bundle = FileLocator.getBundleFile(context.getBundle(i));
-
-			copy("1.0 Populating input bundles.", bundle, new File(plugins, bundle.getName()));
-		}
-
-		String[] arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-source", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
-		EclipseGeneratorApplication application = new EclipseGeneratorApplication();
-		application.run(arguments);
-
-		assertTrue("2.0 - initial artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
-		assertTrue("2.1 - initial artifact repo contents", plugins.listFiles().length > 0);
-
-		//Taunt you one more time
-		application = new EclipseGeneratorApplication();
-		try {
-			application.run(arguments);
-			fail("3.0 - Expected Illegal Argument Exception not thrown.");
-		} catch (IllegalArgumentException e) {
-			assertTrue("3.0 - Expected Illegal Argument", e.getMessage().equals(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, rootFolder.toURI())));
-		}
-
-		assertTrue("3.1 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
-
-		//with -updateSite
-		arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-updateSite", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
-		application.run(arguments);
-
-		assertTrue("4.0 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
-		assertTrue("4.1 - artifact repo contents", plugins.listFiles().length > 0);
-
-		delete(rootFolder);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
deleted file mode 100644
index 0c9b564..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/PatchIUGeneration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.FeatureParser;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.Feature;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.MetadataGeneratorHelper;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.PatchQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchIUGeneration extends AbstractProvisioningTest {
-
-	public void testGeneratedIU() {
-		FeatureParser parser = new FeatureParser();
-		Feature feature = parser.parse(getTestData("org.eclipse.jdt.core.feature.patch", "testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar"));
-		if (feature == null)
-			fail();
-		IInstallableUnit featureIU = MetadataGeneratorHelper.createFeatureJarIU(feature, true, null);
-		IInstallableUnitPatch patchIU = (IInstallableUnitPatch) MetadataGeneratorHelper.createGroupIU(feature, featureIU, null, true);
-
-		//Check id
-		assertEquals(patchIU.getId(), "org.eclipse.jdt.3.2.1.patch.feature.group");
-
-		//Check applicability scope
-		assertEquals(IInstallableUnit.NAMESPACE_IU_ID, ((IRequiredCapability) patchIU.getApplicabilityScope()[0][0]).getNamespace());
-		assertEquals("org.eclipse.jdt.feature.group", ((TestCase) patchIU.getApplicabilityScope()[0][0]).getName());
-		assertEquals(new VersionRange("[3.2.1.r321_v20060905-R4CM1Znkvre9wC-,3.2.1.r321_v20060905-R4CM1Znkvre9wC-]"), ((IRequiredCapability) patchIU.getApplicabilityScope()[0][0]).getRange());
-
-		assertEquals("org.eclipse.jdt.core", patchIU.getRequirementsChange()[0].applyOn().getName());
-		assertEquals(VersionRange.emptyRange, patchIU.getRequirementsChange()[0].applyOn().getRange());
-		assertEquals("org.eclipse.jdt.core", patchIU.getRequirementsChange()[0].newValue().getName());
-		assertEquals(new VersionRange("[3.2.2,3.2.2]"), patchIU.getRequirementsChange()[0].newValue().getRange());
-		assertTrue(PatchQuery.isPatch(patchIU));
-		assertEquals(1, patchIU.getRequiredCapabilities().length);
-		assertEquals(featureIU.getId(), ((IRequiredCapability) patchIU.getRequiredCapabilities()[0]).getName());
-		assertEquals("org.eclipse.jdt.feature.group", ((IRequiredCapability) patchIU.getLifeCycle()).getName());
-		assertFalse(patchIU.getLifeCycle().isGreedy());
-		assertFalse(patchIU.getLifeCycle().getMin() == 0);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
deleted file mode 100644
index dcf6f7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/SiteParserTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.metadata.generator.features.DefaultSiteParser;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.xml.sax.SAXException;
-
-/**
- * Test the site.xml parser included in the generator.
- */
-public class SiteParserTest extends AbstractProvisioningTest {
-
-	public void testEuropaSite() {
-		DefaultSiteParser parser = new DefaultSiteParser();
-		try {
-			parser.parse(TestData.get("generator", "Europa/site.xml"));
-		} catch (SAXException e) {
-			fail("4.98", e);
-		} catch (IOException e) {
-			fail("4.99", e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
deleted file mode 100644
index ef6dc50..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/TestGeneratorInfo.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.generator;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.generator.IGeneratorInfo;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.TestArtifactRepository;
-import org.eclipse.equinox.p2.tests.TestMetadataRepository;
-
-/**
- * Simple implementation of IGeneratorInfo used for testing purposes.
- */
-public class TestGeneratorInfo implements IGeneratorInfo {
-
-	private IArtifactRepository artifactRepo;
-	private File baseLocation;
-	private String flavor;
-	private IMetadataRepository metadataRepo;
-	private String rootId;
-	private String rootVersion;
-	private String launcherConfig;
-	private URI siteLocation;
-	private boolean updateCompatibilty = false;
-
-	public TestGeneratorInfo(File baseLocation) {
-		this.baseLocation = baseLocation;
-	}
-
-	public boolean addDefaultIUs() {
-		return false;
-	}
-
-	public boolean append() {
-		return false;
-	}
-
-	public IArtifactRepository getArtifactRepository() {
-		if (artifactRepo == null)
-			artifactRepo = new TestArtifactRepository();
-		return artifactRepo;
-	}
-
-	public File[] getBundleLocations() {
-		File[] children = new File(baseLocation, "plugins").listFiles();
-		return children == null ? new File[0] : children;
-	}
-
-	public ConfigData getConfigData() {
-		return null;
-	}
-
-	public File getConfigurationLocation() {
-		return new File(baseLocation, "configuration");
-	}
-
-	public ArrayList getDefaultIUs(Set ius) {
-		return null;
-	}
-
-	public File getExecutableLocation() {
-		return null;
-	}
-
-	public File getFeaturesLocation() {
-		return new File(baseLocation, "features");
-	}
-
-	public String getFlavor() {
-		return flavor;
-	}
-
-	public File getJRELocation() {
-		return null;
-	}
-
-	public LauncherData getLauncherData() {
-		return null;
-	}
-
-	public String[][] getMappingRules() {
-		return null;
-	}
-
-	public IMetadataRepository getMetadataRepository() {
-		if (metadataRepo == null)
-			metadataRepo = new TestMetadataRepository(new IInstallableUnit[0]);
-		return metadataRepo;
-	}
-
-	public String getRootId() {
-		return rootId;
-	}
-
-	public String getRootVersion() {
-		return rootVersion;
-	}
-
-	public URI getSiteLocation() {
-		return siteLocation;
-	}
-
-	public String getLauncherConfig() {
-		return launcherConfig;
-	}
-
-	public boolean publishArtifactRepository() {
-		return false;
-	}
-
-	public boolean publishArtifacts() {
-		return false;
-	}
-
-	public void setArtifactRepository(IArtifactRepository value) {
-		this.artifactRepo = value;
-	}
-
-	public void setFlavor(String value) {
-		this.flavor = value;
-	}
-
-	public void setMetadataRepository(IMetadataRepository value) {
-		this.metadataRepo = value;
-	}
-
-	public void setPublishArtifacts(boolean value) {
-	}
-
-	public void setRootId(String value) {
-		this.rootId = value;
-	}
-
-	public void setSiteLocation(URI location) {
-		this.siteLocation = location;
-	}
-
-	public void setLauncherConfig(String launcherConfig) {
-		this.launcherConfig = launcherConfig;
-	}
-
-	public boolean getIsUpdateCompatible() {
-		return this.updateCompatibilty;
-	}
-
-	public void setIsUpdateCompatible(boolean isCompatible) {
-		this.updateCompatibilty = isCompatible;
-	}
-
-	public boolean reuseExistingPack200Files() {
-		return false;
-	}
-
-	public void reuseExistingPack200Files(boolean publishPack) {
-		//
-	}
-
-	public String getProductFile() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public Collection getOtherIUs() {
-		return Collections.EMPTY_LIST;
-	}
-
-	public String getVersionAdvice() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public void setVersionAdvice(String advice) {
-		// TODO Auto-generated method stub
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/AllTests.java
deleted file mode 100644
index 4935a9b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.installer;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * All installer tests.
- */
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(InstallDescriptionParserTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/InstallDescriptionParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/InstallDescriptionParserTest.java
deleted file mode 100644
index af90eb3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/installer/InstallDescriptionParserTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.installer;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.installer.InstallDescriptionParser;
-import org.eclipse.equinox.internal.provisional.p2.installer.InstallDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * Tests install description parser.
- */
-public class InstallDescriptionParserTest extends AbstractProvisioningTest {
-
-	protected void assertEquals(String message, InstallDescription expected, InstallDescription actual) {
-		assertEquals(message, expected.getLauncherName(), actual.getLauncherName());
-		assertEquals(message, expected.getProductName(), actual.getProductName());
-		assertEquals(message, expected.getAgentLocation(), actual.getAgentLocation());
-		assertEquals(message, expected.getArtifactRepositories(), actual.getArtifactRepositories());
-		assertEquals(message, expected.getBundleLocation(), actual.getBundleLocation());
-		assertEquals(message, expected.getInstallLocation(), actual.getInstallLocation());
-		assertEquals(message, expected.getMetadataRepositories(), actual.getMetadataRepositories());
-		assertEquals(message, expected.getProfileProperties(), actual.getProfileProperties());
-		assertEquals(message, expected.getRoots(), actual.getRoots());
-		assertEquals(message, expected.isAutoStart(), actual.isAutoStart());
-	}
-
-	private InstallDescription loadDescription(String filename) {
-		URL location = null;
-		try {
-			location = TestData.getFile("installer", filename).toURL();
-		} catch (IOException e) {
-			fail("0.99", e);
-		}
-		InstallDescription description = null;
-		try {
-			description = InstallDescriptionParser.createDescription(location.toExternalForm(), SubMonitor.convert(getMonitor()));
-		} catch (Exception e) {
-			fail("1.99", e);
-		}
-		return description;
-	}
-
-	public void testGetArrayFromString() {
-		String[] elements = InstallDescriptionParser.getArrayFromString(null, ".");
-		assertEquals("1.0", 0, elements.length);
-	}
-
-	/**
-	 * Tests loading an empty install-description file
-	 */
-	public void testLoadEmpty() {
-		InstallDescription description = loadDescription("empty.properties");
-		//assert it is the same as a new empty description
-		assertEquals("1.0", new InstallDescription(), description);
-	}
-
-	/**
-	 * Tests loading an install description file relative to the running instance.
-	 */
-	public void testLoadRelativeDescription() throws IOException, URISyntaxException {
-		boolean existed = true;
-		String installerInstallArea = System.getProperty("osgi.install.area");
-		if (installerInstallArea == null)
-			throw new IllegalStateException("Install area is not specified.");
-
-		URI installerDescriptionURI = URIUtil.append(URIUtil.fromString(installerInstallArea), "installer.properties");
-		File installerDescription = URIUtil.toFile(installerDescriptionURI);
-		if (!installerDescription.exists()) {
-			existed = false;
-			installerDescription.createNewFile();
-		}
-		try {
-			InstallDescription description = InstallDescriptionParser.createDescription(null, SubMonitor.convert(getMonitor()));
-			//should find empty file at default location
-			assertEquals("1.0", new InstallDescription(), description);
-		} catch (Exception e) {
-			fail("0.99", e);
-		} finally {
-			if (!existed)
-				installerDescription.delete();
-		}
-	}
-
-	/**
-	 * Tests loading a well-formed description file where all properties are specified.
-	 */
-	public void testLoadGoodDescription() {
-		InstallDescription description = loadDescription("good.properties");
-		URI[] artifactRepositories = description.getArtifactRepositories();
-		assertEquals("1.0", 2, artifactRepositories.length);
-		assertEquals("1.1", "http://update.eclipse.org/eclipse/someUpdateSite/", artifactRepositories[0].toString());
-		assertEquals("1.1", "http://update.eclipse.org/eclipse/someArtifacts/", artifactRepositories[1].toString());
-		URI[] metadataRepositories = description.getMetadataRepositories();
-		assertEquals("1.2", 2, metadataRepositories.length);
-		assertEquals("1.3", "http://update.eclipse.org/eclipse/someUpdateSite/", metadataRepositories[0].toString());
-		assertEquals("1.3", "http://update.eclipse.org/eclipse/someMetadata/", metadataRepositories[1].toString());
-		assertEquals("1.4", "testFlavor", description.getProfileProperties().get("eclipse.p2.flavor"));
-		assertEquals("1.5", "Test Profile Name", description.getProductName());
-		assertEquals("1.5", "testLauncherName", description.getLauncherName());
-		IVersionedId[] roots = description.getRoots();
-		assertEquals("1.7", 2, roots.length);
-		assertEquals("1.8", "testRoot", roots[0].getId());
-		assertEquals("1.9", Version.create("2.0"), roots[0].getVersion());
-		assertEquals("1.8", "anotherRoot", roots[1].getId());
-		assertEquals("1.9", Version.create("1.0.1"), roots[1].getVersion());
-		assertTrue("1.10", !description.isAutoStart());
-		assertEquals("1.11", new Path("/tmp/agent/"), description.getAgentLocation());
-		assertEquals("1.12", new Path("/tmp/bundles/"), description.getBundleLocation());
-		assertEquals("1.13", new Path("/tmp/install/"), description.getInstallLocation());
-	}
-
-	public void testLoadBadDescription() {
-		InstallDescription description = loadDescription("bad.properties");
-		//nothing in this description is valid, so it should be the same as an empty description
-		assertEquals("1.0", new InstallDescription(), description);
-	}
-
-	/**
-	 * Tests loading a missing install description
-	 */
-	public void testLoadMissing() {
-		try {
-			InstallDescriptionParser.createDescription(new File("/does/not/exist/InstallDescriptionParserTest").toURL().toExternalForm(), SubMonitor.convert(getMonitor()));
-			fail("1.0");//should have failed
-		} catch (MalformedURLException e) {
-			fail("0.99", e);
-		} catch (URISyntaxException e) {
-			fail("0.98", e);
-		} catch (IOException e) {
-			//expected
-		} catch (Exception e) {
-			fail("0.97", e);
-		}
-	}
-
-	/**
-	 * Tests loading an install description file relative to the running instance.
-	 */
-	public void testLoadMissingRelative() {
-		try {
-			InstallDescriptionParser.createDescription(null, SubMonitor.convert(getMonitor()));
-		} catch (RuntimeException expected) {
-			return;
-		} catch (Exception e) {
-			fail("0.9");
-		}
-		fail("1.0");//should have failed
-	}
-
-	/**
-	 * Tests loading the install description file for the Eclipse project SDK.
-	 */
-	public void testLoadSDKDescription() {
-		InstallDescription description = loadDescription("sdk-installer.properties");
-		URI[] artifactRepositories = description.getArtifactRepositories();
-		assertEquals("1.0", 1, artifactRepositories.length);
-		assertEquals("1.1", "http://update.eclipse.org/eclipse/testUpdates/", artifactRepositories[0].toString());
-		URI[] metadataRepositories = description.getMetadataRepositories();
-		assertEquals("1.2", 1, metadataRepositories.length);
-		assertEquals("1.3", "http://update.eclipse.org/eclipse/testUpdates/", metadataRepositories[0].toString());
-		assertEquals("1.4", "tooling", description.getProfileProperties().get("eclipse.p2.flavor"));
-		assertEquals("1.5", "Eclipse SDK", description.getProductName());
-		assertEquals("1.5", "eclipse", description.getLauncherName());
-		IVersionedId[] roots = description.getRoots();
-		assertEquals("1.7", 1, roots.length);
-		assertEquals("1.8", "sdk", roots[0].getId());
-		assertTrue("1.9", description.isAutoStart());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/AllTests.java
deleted file mode 100644
index 86b6ca3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.jarprocessor;
-
-import junit.framework.*;
-
-/**
- * Performs all automated JarProcessor tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(JarProcessorTests.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
deleted file mode 100644
index 7c0e274..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.jarprocessor;
-
-import java.io.*;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.p2.jarprocessor.PackStep;
-import org.eclipse.equinox.internal.p2.jarprocessor.verifier.Verifier;
-import org.eclipse.equinox.internal.p2.jarprocessor.verifier.VerifyStep;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
-
-public class JarProcessorTests extends AbstractProvisioningTest {
-
-	public void testVerifyStep() throws Exception {
-		if (!VerifyStep.canVerify())
-			return;
-
-		// run verify on 
-		File workingDir = getTestFolder("testVerifyStep");
-
-		Verifier verifier = new Verifier() {
-			@Override
-			public void verify(File workingDirectory, String[] input) {
-				options = new Options();
-				options.verbose = false;
-				options.pack = true; // we are verifying during the pack phase.
-				options.outputDir = workingDirectory.toString();
-				options.input = workingDirectory;
-
-				JarProcessor processor = new JarProcessor();
-				processor.setWorkingDirectory(workingDirectory.getAbsolutePath());
-
-				FileFilter filter = new FileFilter() {
-					public boolean accept(File pathname) {
-						String name = pathname.getName();
-						if (pathname.isFile() && name.endsWith(".jar"))
-							if ((name.indexOf("source") == -1) && name.startsWith("org.eclipse.equinox.p2"))
-								return true;
-						return false;
-					}
-
-				};
-				for (int i = 0; i < input.length; i++) {
-					File inputFile = new File(input[i]);
-					if (inputFile.exists()) {
-						try {
-							process(inputFile, filter, true, processor, null);
-						} catch (FileNotFoundException e) {
-							e.printStackTrace();
-						}
-					}
-				}
-			}
-		};
-
-		String install = Platform.getInstallLocation().getURL().getPath();
-		File plugins = new File(install, "plugins");
-
-		PrintStream oldOut = System.out;
-		PrintStream newOut = new PrintStream(new FileOutputStream(workingDir + "/out.out"));
-		System.setOut(newOut);
-
-		try {
-			verifier.verify(workingDir, new String[] {plugins.getAbsolutePath()});
-		} finally {
-			System.setOut(oldOut);
-			newOut.close();
-		}
-
-	}
-
-	public void testPackUnpackVerify() throws Exception {
-		if (!PackStep.canPack() || !VerifyStep.canVerify())
-			return;
-
-		File workingDir = getTestFolder("testPackUnpackVerify");
-
-		File input = new File(workingDir, "in");
-		File packed = new File(workingDir, "packed");
-
-		String install = Platform.getInstallLocation().getURL().getPath();
-		File plugins = new File(install, "plugins");
-		File[] files = plugins.listFiles(new FileFilter() {
-			public boolean accept(File pathname) {
-				String name = pathname.getName();
-				if (pathname.isFile() && name.endsWith(".jar") && name.indexOf(".source") == -1) {
-					if (name.startsWith("org.eclipse.core.c") || name.startsWith("org.eclipse.core.r"))
-						return true;
-				}
-				return false;
-			}
-		});
-
-		input.mkdirs();
-		for (int i = 0; i < files.length; i++) {
-			copy("Setup input", files[i], new File(input, files[i].getName()));
-		}
-
-		Options options = new Options();
-		options.pack = true;
-		options.outputDir = packed.getAbsolutePath();
-		options.input = input;
-
-		PrintStream oldOut = System.out;
-		PrintStream newOut = new PrintStream(new FileOutputStream(workingDir + "/out.out"));
-		System.setOut(newOut);
-
-		try {
-			JarProcessorExecutor executor = new JarProcessorExecutor();
-			executor.runJarProcessor(options);
-
-			Verifier.main(new String[] {"-dir", packed.getAbsolutePath(), packed.getAbsolutePath()});
-		} finally {
-			System.setOut(oldOut);
-			newOut.close();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
deleted file mode 100644
index b0a1e24..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.*;
-
-/**
- * Performs all metadata tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ArtifactKeyParsingTest.class);
-		suite.addTestSuite(FragmentMethodTest.class);
-		suite.addTestSuite(FragmentTest.class);
-		suite.addTestSuite(InstallableUnitTest.class);
-		suite.addTestSuite(IUPersistenceTest.class);
-		suite.addTestSuite(LatestIUTest.class);
-		suite.addTestSuite(LicenseTest.class);
-		suite.addTestSuite(MultipleIUAndFragmentTest.class);
-		suite.addTestSuite(ProvidedCapabilityTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
deleted file mode 100644
index 6e0477e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ArtifactKeyParsingTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 compeople AG 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:
- * 	compeople AG (Stefan Liebig) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-
-/**
- * Test <code>ArtifactkeyDeSerializer</code>
- */
-public class ArtifactKeyParsingTest extends TestCase {
-
-	public void testSerialize() {
-		IArtifactKey key = new ArtifactKey("classifier", "identifier", Version.create("1.0"));
-		assertEquals("classifier,identifier,1.0.0", key.toExternalForm());
-	}
-
-	public void testSerializeEmptyClassifier() {
-		IArtifactKey key = new ArtifactKey("", "identifier", Version.create("1.0"));
-		assertEquals(",identifier,1.0.0", key.toExternalForm());
-	}
-
-	public void testDeserialize() {
-		IArtifactKey key = ArtifactKey.parse("classifier,identifier,1.0.0");
-		assertNotNull(key);
-		assertEquals("classifier", key.getClassifier());
-		assertEquals("identifier", key.getId());
-		assertEquals(Version.create("1.0"), key.getVersion());
-	}
-
-	public void testDeserializeEmptyClassifier() {
-		IArtifactKey key = ArtifactKey.parse(",identifier,1.0.0");
-		assertNotNull(key);
-		assertEquals("", key.getClassifier());
-		assertEquals("identifier", key.getId());
-		assertEquals(Version.create("1.0"), key.getVersion());
-	}
-
-	public void testDeserializeEmptyIdentifier() {
-		IArtifactKey key = ArtifactKey.parse("classifier,,1.0.0");
-		assertNotNull(key);
-		assertEquals("classifier", key.getClassifier());
-		assertEquals("", key.getId());
-		assertEquals(Version.create("1.0"), key.getVersion());
-	}
-
-	public void testDeserializeEmptyVersion() {
-		IArtifactKey key = ArtifactKey.parse("classifier,identifier,");
-		assertNotNull(key);
-		assertEquals("classifier", key.getClassifier());
-		assertEquals("identifier", key.getId());
-		assertEquals(Version.create("0.0"), key.getVersion());
-	}
-
-	public void testDeserializeEmptyEverything() {
-		IArtifactKey key = ArtifactKey.parse(",,");
-		assertNotNull(key);
-		assertEquals("", key.getClassifier());
-		assertEquals("", key.getId());
-		assertEquals(Version.create("0.0"), key.getVersion());
-	}
-
-	public void testDeserializeTooFewPartsI() {
-		try {
-			ArtifactKey.parse("");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testDeserializeTooManyPartsI() {
-		try {
-			ArtifactKey.parse(",,,,");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testDeserializeTooFewPartsII() {
-		try {
-			ArtifactKey.parse("classifier");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
deleted file mode 100644
index 94738e7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitFragmentDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FragmentMethodTest extends TestCase {
-	private static final String PROP_FRAG = "propFrag";
-	private static final String PROP_IU = "propIU";
-	private static final String TEST_REQUIRED = "testRequired";
-	IInstallableUnit iu1;
-	IInstallableUnit iu3;
-	IProvidedCapability[] iu1Caps;
-	IProvidedCapability[] iu3Caps;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		iu1 = createIU("iu.test1");
-		iu3 = createIUFragment("iu.fragment");
-		iu1Caps = iu1.getProvidedCapabilities();
-		iu3Caps = iu3.getProvidedCapabilities();
-		HashSet hash = new HashSet();
-		hash.add(iu1);
-		hash.add(iu3);
-		//		Collection result = new ResolutionHelper(new Hashtable(), null).attachCUs(hash);
-		for (Iterator iterator = hash.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu.getId().equals(iu1.getId()))
-				iu1 = iu;
-			if (iu.getId().equals(iu3.getId()))
-				iu3 = iu;
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		iu1 = null;
-		iu3 = null;
-		iu1Caps = null;
-		iu3Caps = null;
-		super.tearDown();
-	}
-
-	public void testCapabilities() {
-		IProvidedCapability[] iuCapabilities = iu1Caps;
-		IProvidedCapability[] initialFragmentCapabilities = iu3Caps;
-
-		IProvidedCapability[] mergedCapabilities = iu1.getProvidedCapabilities();
-		for (int i = 0; i < iuCapabilities.length; i++) {
-			FragmentTest.assertContainsWithEquals(mergedCapabilities, iuCapabilities[i]);
-		}
-
-		//The fragment property is not set
-		assertNull(iu1.getProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT));
-
-		//The fragment does not contain iu namespace
-		for (int i = 0; i < initialFragmentCapabilities.length; i++) {
-			if (initialFragmentCapabilities[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
-				assertDoesNotContain(mergedCapabilities, initialFragmentCapabilities[i]);
-				break;
-			}
-		}
-
-		assertEquals("The fragment capabilities should not change", initialFragmentCapabilities, iu3.getProvidedCapabilities(), false);
-	}
-
-	protected void assertEquals(String message, Object[] expected, Object[] actual) {
-		if (expected == null && actual == null)
-			return;
-		if (expected == null || actual == null)
-			fail(message);
-		if (expected.length != actual.length)
-			fail(message);
-		for (int i = 0; i < expected.length; i++)
-			assertEquals(message, expected[i], actual[i]);
-	}
-
-	protected void assertEquals(String message, Object[] expected, Object[] actual, boolean orderImportant) {
-		// if the order in the array must match exactly, then call the other method
-		if (orderImportant) {
-			assertEquals(message, expected, actual);
-			return;
-		}
-		// otherwise use this method and check that the arrays are equal in any order
-		if (expected == null && actual == null)
-			return;
-		if (expected == actual)
-			return;
-		if (expected == null || actual == null)
-			assertTrue(message + ".1", false);
-		if (expected.length != actual.length)
-			assertTrue(message + ".2", false);
-		boolean[] found = new boolean[expected.length];
-		for (int i = 0; i < expected.length; i++) {
-			for (int j = 0; j < expected.length; j++) {
-				if (!found[j] && expected[i].equals(actual[j]))
-					found[j] = true;
-			}
-		}
-		for (int i = 0; i < found.length; i++)
-			if (!found[i])
-				assertTrue(message + ".3." + i, false);
-	}
-
-	public static void assertDoesNotContain(Object[] objects, Object searched) {
-		for (int i = 0; i < objects.length; i++) {
-			if (objects[i].equals(searched))
-				throw new AssertionFailedError("The array should not contain the searched element");
-		}
-	}
-
-	public void testProperties() {
-		assertNotNull("The property is missing", iu3.getProperty(PROP_FRAG));
-		assertNotNull("The property is missing", iu1.getProperty(PROP_IU));
-		assertNull("The property should not be available", iu1.getProperty("doesnotexist"));
-	}
-
-	public IInstallableUnit createIUFragment(String name) {
-		InstallableUnitFragmentDescription iu = new InstallableUnitFragmentDescription();
-		iu.setId(name);
-		iu.setVersion(Version.createOSGi(1, 0, 0));
-		iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		iu.setProperty(PROP_FRAG, "value");
-		IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true), MetadataFactory.createRequiredCapability(TEST_REQUIRED, TEST_REQUIRED, VersionRange.emptyRange, null, true, false)};
-		iu.setHost(reqs);
-		IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("testCapabilityInFragment", "testCapabilityInFragment", Version.createOSGi(1, 0, 0))};
-		iu.setCapabilities(cap);
-		return MetadataFactory.createInstallableUnitFragment(iu);
-	}
-
-	public IInstallableUnit createIU(String name) {
-		InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription();
-		iu.setId(name);
-		iu.setVersion(Version.createOSGi(1, 0, 0));
-		iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI);
-		iu.setProperty(PROP_IU, "valueIU");
-		IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", Version.createOSGi(1, 0, 0)), MetadataFactory.createProvidedCapability("testCapability", "testCapability", Version.createOSGi(1, 0, 0))};
-		iu.setCapabilities(cap);
-		return MetadataFactory.createInstallableUnit(iu);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
deleted file mode 100644
index dc73e58..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import junit.framework.AssertionFailedError;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FragmentTest extends AbstractProvisioningTest {
-
-	public void testAssociation() {
-		String ID = "ui.test1";
-		IInstallableUnit iu1 = createEclipseIU(ID);
-		IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
-		ProfileChangeRequest req = new ProfileChangeRequest(createProfile(getName()));
-		createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2});
-		Iterator iterator = createPlanner().getProvisioningPlan(req, null, null).getAdditions().query(InstallableUnitQuery.ANY, null).iterator();
-		//		ResolutionHelper rh = new ResolutionHelper(new Hashtable(), null);
-		//		HashSet set = new HashSet();
-		//		set.add(iu1);
-		//		set.add(iu2);
-		//		Collection result = rh.attachCUs(set);
-		for (; iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu.getId().equals(ID)) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-		}
-	}
-
-	public void testAssociation2() {
-		String ID1 = "ui.test1";
-		String ID3 = "ui.test3";
-		IInstallableUnit iu1 = createEclipseIU(ID1);
-		IInstallableUnit iu3 = createEclipseIU(ID3);
-		IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
-		ProfileChangeRequest req = new ProfileChangeRequest(createProfile(getName()));
-		createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3});
-		Iterator iterator = createPlanner().getProvisioningPlan(req, null, null).getAdditions().query(InstallableUnitQuery.ANY, null).iterator();
-		for (; iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu.getId().equals(ID1)) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-			if (iu.getId().equals(ID3)) {
-				assertEquals(iu.getFragments().length, 1);
-				assertEquals(iu.getFragments()[0].getId(), "iuFragment.test1");
-			}
-		}
-	}
-
-	public void testTouchpointData() {
-		assertEquals(createIUWithTouchpointData().getTouchpointData().length, 1);
-		assertEquals(createBundleFragment("iuFragment.test1").getTouchpointData().length, 1);
-		IInstallableUnit iu1 = createIUWithTouchpointData();
-		IInstallableUnit iu2 = createBundleFragment("iuFragment.test1");
-		ProfileChangeRequest req = new ProfileChangeRequest(createProfile(getName()));
-		createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2});
-		Iterator iterator = createPlanner().getProvisioningPlan(req, null, null).getAdditions().query(InstallableUnitQuery.ANY, null).iterator();
-		for (; iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu.getId().equals(iu1.getId()))
-				assertEquals(2, iu.getTouchpointData().length);
-
-		}
-	}
-
-	public void testFragmentCapability() {
-		IInstallableUnit iu = createBundleFragment("iuFragment.test1");
-		assertTrue(FragmentQuery.isFragment(iu));
-	}
-
-	public void testDefaultIUCapability() {
-		IInstallableUnit iu = createEclipseIU("ui.test1");
-		IProvidedCapability[] cap = iu.getProvidedCapabilities();
-		for (int i = 0; i < cap.length; i++) {
-			if (cap[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) {
-				assertEquals(cap[i].getNamespace(), IInstallableUnit.NAMESPACE_IU_ID);
-				assertEquals(cap[i].getName(), iu.getId());
-				return;
-			}
-		}
-		throw new AssertionFailedError("No capability for the iu id");
-	}
-
-	public static void assertContains(Object[] objects, Object searched) {
-		for (int i = 0; i < objects.length; i++) {
-			if (objects[i] == searched)
-				return;
-		}
-		throw new AssertionFailedError("The array does not contain the searched element");
-	}
-
-	public static void assertContainsWithEquals(Object[] objects, Object searched) {
-		for (int i = 0; i < objects.length; i++) {
-			if (objects[i].equals(searched))
-				return;
-		}
-		throw new AssertionFailedError("The array does not contain the searched element");
-	}
-
-	private IInstallableUnit createIUWithTouchpointData() {
-		ITouchpointData data = MetadataFactory.createTouchpointData(new HashMap());
-		return createEclipseIU("ui.test1", DEFAULT_VERSION, NO_REQUIRES, data);
-	}
-
-	//	private IInstallableUnit createIUFragmentWithTouchpointData() {
-	//		TouchpointData data = MetadataFactory.createTouchpointData(new HashMap());
-	//		IInstallableUnitFragment unit = createBundleFragment("iuFragment.test1");
-	//		return unit;
-	//	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
deleted file mode 100644
index e41658d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.io.*;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-public class IUPatchPersistenceTest extends AbstractProvisioningTest {
-
-	// Randomly chose org.eclipse.osgi.services as the IU for testing persistence
-	// but 'enhanced' it for better coverage.
-	private static String PackagesNS = "osgi.packages";
-
-	private static String id = "org.eclipse.osgi.services";
-	private static Version version = Version.create("3.1.200.v20070605");
-	private static String filter = "(& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))"; // not really
-
-	private static String[][] properties = new String[][] {new String[] {"equinox.p2.name", "OSGi Release 4.0.1 Services"}, //
-			new String[] {"equinox.p2.description", "OSGi Service Platform Release 4.0.1 Service Interfaces and Classes"}, //
-			new String[] {"equinox.p2.provider", "Eclipse.org"}, //
-			new String[] {"equinox.p2.contact", "www.eclipse.org"}, //
-			new String[] {"equinox.p2.copyright", "Copyright (c) 2003, 2004 IBM Corporation and others. A long-winded copyright notice."}};
-
-	private static String[][] provides = new String[][] {new String[] {PackagesNS, "org.osgi.service.cm", "1.2.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.component", "1.0.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.device", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.event", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.http", "1.2.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.io", "1.0.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.log", "1.3.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.metatype", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.provisioning", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.upnp", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.useradmin", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.wireadmin", "1.0.0"}}; //
-
-	private static String[][] requires = new String[][] {new String[] {PackagesNS, "javax.servlet", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "javax.servlet.http", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "org.osgi.framework", "1.2.0", "false"}}; //
-
-	private static String[][] metaRequires = new String[][] {new String[] {PackagesNS, "some.actions1", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "some.actions2", "1.2.0", "false"}}; //
-
-	private static String[][] instructions = new String[][] {new String[] {"manifest", "Manifest-Version: 1.0\\Bundle-Vendor: Eclipse.org\\Bundle-ContactAddress: www.eclipse.org\\...a whole bunch of other manifest content..."}, new String[] {"zipped", "true"}, //
-			new String[] {"configure", "addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"}}; //
-
-	public static IInstallableUnit createPersistenceTestIU() {
-		Map propertyMap = createProperties(properties);
-		IProvidedCapability[] additionalProvides = createProvided(provides);
-		IRequiredCapability[] requirements = createRequired(requires);
-		IRequiredCapability[] metaRequirements = createRequired(metaRequires);
-		ITouchpointData tpData = createTouchpointData(instructions);
-		IUpdateDescriptor update = createUpdateDescriptor();
-		boolean singleton = false;
-		IInstallableUnit iu = createIU(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, metaRequirements);
-		return iu;
-	}
-
-	private static IUpdateDescriptor createUpdateDescriptor() {
-		return MetadataFactory.createUpdateDescriptor(id, new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true), IUpdateDescriptor.HIGH, "desc");
-	}
-
-	private static Map createProperties(String[][] keyValuePairs) {
-		OrderedProperties props = new OrderedProperties(keyValuePairs.length);
-		for (int i = 0; i < keyValuePairs.length; i++) {
-			String[] nextPair = keyValuePairs[i];
-			props.put(nextPair[0], nextPair[1]);
-		}
-		return props;
-	}
-
-	private static IProvidedCapability[] createProvided(String[][] provideTuples) {
-		IProvidedCapability[] provided = new IProvidedCapability[provideTuples.length];
-		for (int i = 0; i < provideTuples.length; i++) {
-			String[] nextTuple = provideTuples[i];
-			provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], Version.create(nextTuple[2]));
-		}
-		// provided[provideTuples.length] = BUNDLE_CAPABILITY;
-		return provided;
-	}
-
-	private static IRequiredCapability[] createRequired(String[][] requireTuples) {
-		IRequiredCapability[] required = new IRequiredCapability[requireTuples.length];
-		for (int i = 0; i < requireTuples.length; i++) {
-			String[] nextTuple = requireTuples[i];
-			required[i] = (IRequiredCapability) MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false);
-		}
-		return required;
-	}
-
-	private static ITouchpointData createTouchpointData(String[][] instructionData) {
-		Map map = new LinkedHashMap(instructionData.length);
-		for (int i = 0; i < instructionData.length; i++) {
-			String[] nextInstruction = instructionData[i];
-			map.put(nextInstruction[0], nextInstruction[1]);
-		}
-		return MetadataFactory.createTouchpointData(map);
-	}
-
-	private static String IU_TEST_TARGET = "installableUnitTest";
-	private static Version IU_TEST_VERSION = Version.create("0.0.1");
-
-	private static String IU_TEST_ELEMENT = "test";
-
-	class IUStringWriter extends MetadataWriter {
-
-		public IUStringWriter(ByteArrayOutputStream stream) throws IOException {
-			super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeTargetVersionInstruction(IU_TEST_TARGET, IU_TEST_VERSION)});
-		}
-
-		public void writeTest(IInstallableUnit iu) {
-			start(IU_TEST_ELEMENT);
-			writeInstallableUnit(iu);
-			end(IU_TEST_ELEMENT);
-			flush();
-		}
-	}
-
-	class IUStringParser extends MetadataParser {
-
-		public IUStringParser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		public void parse(String profileString) throws IOException {
-			this.status = null;
-			try {
-				getParser();
-				TestHandler testHandler = new TestHandler();
-				xmlReader.setContentHandler(new IUDocHandler(IU_TEST_ELEMENT, testHandler));
-				xmlReader.parse(new InputSource(new StringReader(profileString)));
-				if (isValidXML()) {
-					theIU = testHandler.getIU();
-				}
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				fail();
-			}
-		}
-
-		private IInstallableUnit theIU = null;
-
-		private final class IUDocHandler extends DocHandler {
-
-			public IUDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (IU_TEST_TARGET.equals(target)) {
-					Version iuTestVersion = extractPIVersion(target, data);
-					if (!IU_TEST_VERSION.equals(iuTestVersion)) {
-						throw new SAXException("Bad iu test version.");
-					}
-				}
-			}
-		}
-
-		private final class TestHandler extends RootHandler {
-
-			private InstallableUnitHandler iuHandler = null;
-
-			private InstallableUnit iu = null;
-			private List singleton = new ArrayList(1);
-
-			public TestHandler() {
-				super();
-			}
-
-			public InstallableUnit getIU() {
-				return iu;
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				parseAttributes(attributes, noAttributes, noAttributes);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (INSTALLABLE_UNIT_ELEMENT.equals(name)) {
-					if (iuHandler == null) {
-						iuHandler = new InstallableUnitHandler(this, attributes, singleton);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					if (iuHandler != null && singleton.size() == 1) {
-						iu = (InstallableUnit) iuHandler.getInstallableUnit();
-					}
-				}
-			}
-		}
-
-		protected String getErrorMessage() {
-			return "Error parsing installable unit string";
-		}
-
-		protected Object getRootObject() {
-			return theIU;
-		}
-
-	}
-
-	public void testIUPersistence() throws IOException {
-		IInstallableUnit iu0 = createPersistenceTestIU();
-		validateIU(iu0);
-		ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
-		IUStringWriter writer0 = new IUStringWriter(output0);
-		writer0.writeTest(iu0);
-		String iuText0 = output0.toString();
-		output0.close();
-
-		IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
-		parser.parse(iuText0);
-		assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
-		InstallableUnit iu1 = (InstallableUnit) parser.getRootObject();
-		validateIU(iu1);
-		ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
-		IUStringWriter writer = new IUStringWriter(output1);
-		writer.writeTest(iu1);
-		String iuText1 = output1.toString();
-		output1.close();
-		assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-	}
-
-	public void testIUPatchPersistence() throws IOException {
-		IInstallableUnit iu0 = createPatchIU();
-		validateIU(iu0);
-		ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
-		IUStringWriter writer0 = new IUStringWriter(output0);
-		writer0.writeTest(iu0);
-		String iuText0 = output0.toString();
-		output0.close();
-
-		IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
-		parser.parse(iuText0);
-		assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
-		InstallableUnitPatch iu1 = (InstallableUnitPatch) parser.getRootObject();
-		validateIU(iu1);
-		validateIUPatch(iu1);
-		ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
-		IUStringWriter writer = new IUStringWriter(output1);
-		writer.writeTest(iu1);
-		String iuText1 = output1.toString();
-		output1.close();
-		assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-
-	}
-
-	private IInstallableUnitPatch createPatchIU() {
-		Map propertyMap = createProperties(properties);
-		IProvidedCapability[] additionalProvides = createProvided(provides);
-		IRequiredCapability[] requirements = createRequired(requires);
-		IRequiredCapability[] metaRequirements = createRequired(metaRequires);
-		ITouchpointData tpData = createTouchpointData(instructions);
-		IUpdateDescriptor update = createUpdateDescriptor();
-		boolean singleton = false;
-		IRequirementChange change1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change3 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null);
-		IRequiredCapability[][] scope = new IRequiredCapability[][] { {(IRequiredCapability) MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), (IRequiredCapability) MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {(IRequiredCapability) MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}};
-		IRequiredCapability lifeCycle = (IRequiredCapability) MetadataFactory.createRequiredCapability("zoo", "x", null, null, false, false, false);
-		IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, lifeCycle, metaRequirements);
-		return iu;
-	}
-
-	private static void validateIUPatch(IInstallableUnitPatch iu) {
-		validateIU(iu);
-		assertTrue(iu.getApplicabilityScope() != null);
-		assertTrue(iu.getRequiredCapabilities() != null);
-		assertEquals(3, iu.getRequirementsChange().length);
-		assertEquals(null, iu.getRequirementsChange()[1].applyOn());
-		assertNotNull(iu.getRequirementsChange()[1].newValue());
-		assertEquals(null, iu.getRequirementsChange()[2].newValue());
-		assertNotNull(iu.getRequirementsChange()[2].applyOn());
-		assertEquals(2, iu.getApplicabilityScope().length);
-		assertEquals(2, iu.getApplicabilityScope()[0].length);
-		assertEquals(1, iu.getApplicabilityScope()[1].length);
-		assertNotNull(iu.getLifeCycle());
-	}
-
-	private static void validateIU(IInstallableUnit iu) {
-		assertTrue("Installable unit id is not correct", id.equals(iu.getId()));
-		assertTrue("Installable unit version is not correct", version.equals(iu.getVersion()));
-		assertTrue("Installable unit filter is not correct", filter.equals(iu.getFilter()));
-		assertTrue("Installable unit properties are not correct", equal(properties, extractProperties(iu)));
-		assertTrue("Installable unit provided capabilities are not correct", equal(addSelfCapability(iu, provides), extractProvides(iu)));
-		assertTrue("Installable unit required capabilities are not correct", equal(requires, extractRequires(iu))); // The lifecycle is added as a requirement for now to make things easier
-		assertTrue("Installable unit meta required capabilities are not correct", equal(metaRequires, extractMetaRequires(iu)));
-		assertTrue("Installable unit update descriptor are not correct", id.equals(iu.getUpdateDescriptor().getId()));
-		assertTrue("Installable unit update descriptor are not correct", IUpdateDescriptor.HIGH == iu.getUpdateDescriptor().getSeverity());
-		assertTrue("Installable unit update descriptor are not correct", "desc".equals(iu.getUpdateDescriptor().getDescription()));
-		assertTrue("Installable unit update descriptor are not correct", new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true).equals(iu.getUpdateDescriptor().getRange()));
-	}
-
-	private static String[][] extractProperties(IInstallableUnit iu) {
-		Map props = iu.getProperties();
-		Set keys = props.keySet();
-		String[][] pairs = new String[keys.size()][2];
-		int index = 0;
-		for (Iterator iter = keys.iterator(); iter.hasNext();) {
-			String nextKey = (String) iter.next();
-			String nextValue = (String) props.get(nextKey);
-			pairs[index] = new String[] {nextKey, nextValue};
-			index++;
-		}
-		return pairs;
-	}
-
-	private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) {
-		String[][] augmentedProvides = new String[provideTuples.length + 1][3];
-		IProvidedCapability self = getSelfCapability(iu);
-		augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()};
-		for (int i = 0; i < provideTuples.length; i++) {
-			augmentedProvides[i + 1] = provideTuples[i];
-		}
-		return augmentedProvides;
-	}
-
-	private static String[][] extractProvides(IInstallableUnit iu) {
-		IProvidedCapability[] provydes = iu.getProvidedCapabilities();
-		String[][] tuples = new String[provydes.length][3];
-		for (int i = 0; i < provydes.length; i++) {
-			IProvidedCapability next = provydes[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()};
-		}
-		return tuples;
-	}
-
-	private static String[][] extractRequires(IInstallableUnit iu) {
-		IRequirement[] requyres = iu.getRequiredCapabilities();
-		String[][] tuples = new String[requyres.length][4];
-		for (int i = 0; i < requyres.length; i++) {
-			IRequiredCapability next = (IRequiredCapability) requyres[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.getMin() == 0).toString()};
-		}
-		return tuples;
-	}
-
-	private static String[][] extractMetaRequires(IInstallableUnit iu) {
-		IRequirement[] requyres = iu.getMetaRequiredCapabilities();
-		String[][] tuples = new String[requyres.length][4];
-		for (int i = 0; i < requyres.length; i++) {
-			IRequiredCapability next = (IRequiredCapability) requyres[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.getMin() == 0).toString()};
-		}
-		return tuples;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
deleted file mode 100644
index 7031714..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import javax.xml.parsers.ParserConfigurationException;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser;
-import org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataWriter;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.BundleContext;
-import org.xml.sax.*;
-
-public class IUPersistenceTest extends AbstractProvisioningTest {
-
-	class IUStringParser extends MetadataParser {
-
-		private final class IUDocHandler extends DocHandler {
-
-			public IUDocHandler(String rootName, RootHandler rootHandler) {
-				super(rootName, rootHandler);
-			}
-
-			public void processingInstruction(String target, String data) throws SAXException {
-				if (IU_TEST_TARGET.equals(target)) {
-					Version iuTestVersion = extractPIVersion(target, data);
-					if (!IU_TEST_VERSION.equals(iuTestVersion)) {
-						throw new SAXException("Bad iu test version.");
-					}
-				}
-			}
-		}
-
-		private final class TestHandler extends RootHandler {
-
-			private InstallableUnit iu = null;
-
-			private InstallableUnitHandler iuHandler = null;
-			private List singleton = new ArrayList(1);
-
-			public TestHandler() {
-				super();
-			}
-
-			protected void finished() {
-				if (isValidXML()) {
-					if (iuHandler != null && singleton.size() == 1) {
-						iu = (InstallableUnit) iuHandler.getInstallableUnit();
-					}
-				}
-			}
-
-			public InstallableUnit getIU() {
-				return iu;
-			}
-
-			protected void handleRootAttributes(Attributes attributes) {
-				parseAttributes(attributes, noAttributes, noAttributes);
-			}
-
-			public void startElement(String name, Attributes attributes) {
-				if (INSTALLABLE_UNIT_ELEMENT.equals(name)) {
-					if (iuHandler == null) {
-						iuHandler = new InstallableUnitHandler(this, attributes, singleton);
-					} else {
-						duplicateElement(this, name, attributes);
-					}
-				} else {
-					invalidElement(name, attributes);
-				}
-			}
-		}
-
-		private IInstallableUnit theIU = null;
-
-		public IUStringParser(BundleContext context, String bundleId) {
-			super(context, bundleId);
-		}
-
-		protected String getErrorMessage() {
-			return "Error parsing installable unit string";
-		}
-
-		protected Object getRootObject() {
-			return theIU;
-		}
-
-		public void parse(String profileString) throws IOException {
-			this.status = null;
-			try {
-				getParser();
-				TestHandler testHandler = new TestHandler();
-				xmlReader.setContentHandler(new IUDocHandler(IU_TEST_ELEMENT, testHandler));
-				xmlReader.parse(new InputSource(new StringReader(profileString)));
-				if (isValidXML()) {
-					theIU = testHandler.getIU();
-				}
-			} catch (SAXException e) {
-				throw new IOException(e.getMessage());
-			} catch (ParserConfigurationException e) {
-				fail();
-			}
-		}
-
-	}
-
-	class IUStringWriter extends MetadataWriter {
-
-		public IUStringWriter(ByteArrayOutputStream stream) throws IOException {
-			super(stream, new ProcessingInstruction[] {ProcessingInstruction.makeTargetVersionInstruction(IU_TEST_TARGET, IU_TEST_VERSION)});
-		}
-
-		public void writeTest(IInstallableUnit iu) {
-			start(IU_TEST_ELEMENT);
-			writeInstallableUnit(iu);
-			end(IU_TEST_ELEMENT);
-			flush();
-		}
-	}
-
-	private static String filter = "(& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))"; // not really
-	private static String id = "org.eclipse.osgi.services";
-
-	private static String[][] instructions = new String[][] {new String[] {"manifest", "Manifest-Version: 1.0\\Bundle-Vendor: Eclipse.org\\Bundle-ContactAddress: www.eclipse.org\\...a whole bunch of other manifest content..."}, new String[] {"zipped", "true"}, //
-			new String[] {"configure", "addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);"}}; //
-
-	private static String IU_TEST_ELEMENT = "test";
-
-	private static String IU_TEST_TARGET = "installableUnitTest";
-
-	private static Version IU_TEST_VERSION = Version.create("0.0.1");
-
-	// Randomly chose org.eclipse.osgi.services as the IU for testing persistence
-	// but 'enhanced' it for better coverage.
-	private static String PackagesNS = "osgi.packages";
-
-	private static String[][] properties = new String[][] {new String[] {"equinox.p2.name", "OSGi Release 4.0.1 Services"}, //
-			new String[] {"equinox.p2.description", "OSGi Service Platform Release 4.0.1 Service Interfaces and Classes"}, //
-			new String[] {"equinox.p2.provider", "Eclipse.org"}, //
-			new String[] {"equinox.p2.contact", "www.eclipse.org"}, //
-			new String[] {"equinox.p2.copyright", "Copyright (c) 2003, 2004 IBM Corporation and others. A long-winded copyright notice."}};
-
-	private static String[][] provides = new String[][] {new String[] {PackagesNS, "org.osgi.service.cm", "1.2.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.component", "1.0.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.device", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.event", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.http", "1.2.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.io", "1.0.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.log", "1.3.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.metatype", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.provisioning", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.upnp", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.useradmin", "1.1.0"}, //
-			new String[] {PackagesNS, "org.osgi.service.wireadmin", "1.0.0"}}; //
-
-	private static String[][] requires = new String[][] {new String[] {PackagesNS, "javax.servlet", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "javax.servlet.http", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "org.osgi.framework", "1.2.0", "false"}}; //
-
-	private static String[][] metaRequires = new String[][] {new String[] {PackagesNS, "some.actions1", "0.0.0", "true"}, //
-			new String[] {PackagesNS, "some.actions2", "1.2.0", "false"}}; //
-
-	private static Version version = Version.create("3.1.200.v20070605");
-
-	private Map propertyMap;
-
-	private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) {
-		String[][] augmentedProvides = new String[provideTuples.length + 1][3];
-		IProvidedCapability self = getSelfCapability(iu);
-		augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()};
-		for (int i = 0; i < provideTuples.length; i++) {
-			augmentedProvides[i + 1] = provideTuples[i];
-		}
-		return augmentedProvides;
-	}
-
-	private static Map createProperties(String[][] keyValuePairs) {
-		OrderedProperties props = new OrderedProperties(keyValuePairs.length);
-		for (int i = 0; i < keyValuePairs.length; i++) {
-			String[] nextPair = keyValuePairs[i];
-			props.put(nextPair[0], nextPair[1]);
-		}
-		return props;
-	}
-
-	private static IProvidedCapability[] createProvided(String[][] provideTuples) {
-		IProvidedCapability[] provided = new IProvidedCapability[provideTuples.length];
-		for (int i = 0; i < provideTuples.length; i++) {
-			String[] nextTuple = provideTuples[i];
-			provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], Version.create(nextTuple[2]));
-		}
-		// provided[provideTuples.length] = BUNDLE_CAPABILITY;
-		return provided;
-	}
-
-	private static IRequiredCapability[] createRequired(String[][] requireTuples) {
-		IRequiredCapability[] required = new IRequiredCapability[requireTuples.length];
-		for (int i = 0; i < requireTuples.length; i++) {
-			String[] nextTuple = requireTuples[i];
-			required[i] = (IRequiredCapability) MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false);
-		}
-		return required;
-	}
-
-	private static ITouchpointData createTouchpointData(String[][] instructionData) {
-		Map map = new LinkedHashMap(instructionData.length);
-		for (int i = 0; i < instructionData.length; i++) {
-			String[] nextInstruction = instructionData[i];
-			map.put(nextInstruction[0], nextInstruction[1]);
-		}
-		return MetadataFactory.createTouchpointData(map);
-	}
-
-	private static IUpdateDescriptor createUpdateDescriptor() {
-		return MetadataFactory.createUpdateDescriptor(id, new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true), IUpdateDescriptor.HIGH, "desc");
-	}
-
-	private static String[][] extractProvides(IInstallableUnit iu) {
-		IProvidedCapability[] provydes = iu.getProvidedCapabilities();
-		String[][] tuples = new String[provydes.length][3];
-		for (int i = 0; i < provydes.length; i++) {
-			IProvidedCapability next = provydes[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()};
-		}
-		return tuples;
-	}
-
-	private static String[][] extractRequires(IInstallableUnit iu) {
-		IRequirement[] requyres = iu.getRequiredCapabilities();
-		String[][] tuples = new String[requyres.length][4];
-		for (int i = 0; i < requyres.length; i++) {
-			IRequiredCapability next = (IRequiredCapability) requyres[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.getMin() == 0).toString()};
-		}
-		return tuples;
-	}
-
-	private static String[][] extractMetaRequires(IInstallableUnit iu) {
-		IRequirement[] requyres = iu.getMetaRequiredCapabilities();
-		String[][] tuples = new String[requyres.length][4];
-		for (int i = 0; i < requyres.length; i++) {
-			IRequiredCapability next = (IRequiredCapability) requyres[i];
-			tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.getMin() == 0).toString()};
-		}
-		return tuples;
-	}
-
-	private IInstallableUnitPatch createPatchIU() {
-		propertyMap = createProperties(properties);
-		propertyMap.put(InstallableUnitDescription.PROP_TYPE_PATCH, "true");
-		IProvidedCapability[] additionalProvides = createProvided(provides);
-		IRequiredCapability[] requirements = createRequired(requires);
-		IRequiredCapability[] metaRequirements = createRequired(metaRequires);
-		ITouchpointData tpData = createTouchpointData(instructions);
-		IUpdateDescriptor update = createUpdateDescriptor();
-		boolean singleton = false;
-		IRequirementChange change1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change3 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null);
-		IRequiredCapability[][] scope = new IRequiredCapability[][] { {(IRequiredCapability) MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), (IRequiredCapability) MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {(IRequiredCapability) MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}};
-		IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, null, metaRequirements);
-		return iu;
-	}
-
-	private IInstallableUnitPatch createPatchWithEmptyScope() {
-		propertyMap = createProperties(properties);
-		propertyMap.put(InstallableUnitDescription.PROP_TYPE_PATCH, "true");
-		IProvidedCapability[] additionalProvides = createProvided(provides);
-		IRequiredCapability[] requirements = createRequired(requires);
-		IRequiredCapability[] metaRequirements = createRequired(metaRequires);
-		ITouchpointData tpData = createTouchpointData(instructions);
-		IUpdateDescriptor update = createUpdateDescriptor();
-		boolean singleton = false;
-		IRequirementChange change1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange change3 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null);
-		IRequiredCapability[][] scope = new IRequiredCapability[][] {{}};
-		IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, null, metaRequirements);
-		return iu;
-	}
-
-	public IInstallableUnit createPersistenceTestIU() {
-		propertyMap = createProperties(properties);
-		IProvidedCapability[] additionalProvides = createProvided(provides);
-		IRequiredCapability[] requirements = createRequired(requires);
-		IRequiredCapability[] metaRequirements = createRequired(metaRequires);
-		ILicense[] licenses = new ILicense[] {MetadataFactory.createLicense(URI.create("http://eclipse.org"), "license text"), MetadataFactory.createLicense(URI.create("http://apache.org"), "license text2")};
-		ITouchpointData tpData = createTouchpointData(instructions);
-		IUpdateDescriptor update = createUpdateDescriptor();
-		InstallableUnitDescription iu1 = new MetadataFactory.InstallableUnitDescription();
-		iu1.setId(id);
-		iu1.setVersion(version);
-		iu1.setFilter(filter);
-		iu1.setLicenses(licenses);
-		IProvidedCapability[] provides1 = new IProvidedCapability[additionalProvides.length + 1];
-		provides1[0] = getSelfCapability(id, version);
-		for (int i = 0; i < additionalProvides.length; i++) {
-			provides1[i + 1] = additionalProvides[i];
-		}
-		for (Iterator iter = propertyMap.keySet().iterator(); iter.hasNext();) {
-			String nextKey = (String) iter.next();
-			String nextValue = (String) propertyMap.get(nextKey);
-			iu1.setProperty(nextKey, nextValue);
-		}
-		iu1.setCapabilities(provides1);
-		iu1.setRequiredCapabilities(requirements);
-		iu1.setTouchpointType(TOUCHPOINT_OSGI);
-		if (tpData != null)
-			iu1.addTouchpointData(tpData);
-		iu1.setSingleton(false);
-		iu1.setUpdateDescriptor(update);
-		if (metaRequirements == null)
-			metaRequirements = NO_REQUIRES;
-		iu1.setMetaRequiredCapabilities(metaRequirements);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iu1);
-		return iu;
-	}
-
-	public void testIUPatchPersistence() throws IOException {
-		IInstallableUnit iu0 = createPatchIU();
-		validateIU(iu0);
-		ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
-		IUStringWriter writer0 = new IUStringWriter(output0);
-		writer0.writeTest(iu0);
-		String iuText0 = output0.toString();
-		output0.close();
-
-		IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
-		parser.parse(iuText0);
-		assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
-		InstallableUnitPatch iu1 = (InstallableUnitPatch) parser.getRootObject();
-		validateIU(iu1);
-		validateIUPatch(iu1);
-		ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
-		IUStringWriter writer = new IUStringWriter(output1);
-		writer.writeTest(iu1);
-		String iuText1 = output1.toString();
-		output1.close();
-		assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-
-	}
-
-	public void testIUPatchPersistence2() throws IOException {
-		IInstallableUnit iu0 = createPatchWithEmptyScope();
-		validateIU(iu0);
-		ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
-		IUStringWriter writer0 = new IUStringWriter(output0);
-		writer0.writeTest(iu0);
-		String iuText0 = output0.toString();
-		output0.close();
-
-		IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
-		parser.parse(iuText0);
-		assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
-		InstallableUnitPatch iu1 = (InstallableUnitPatch) parser.getRootObject();
-		validateIU(iu1);
-		validateIUPatchWithEmptyScope(iu1);
-		ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
-		IUStringWriter writer = new IUStringWriter(output1);
-		writer.writeTest(iu1);
-		output1.close();
-		//the content on disk is not the same but it is normal because a RequiredCapability array of RequiredCapability[0][0] is not persisted the same
-		// than RequiredCapability[][] {{}}
-		//assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-
-	}
-
-	public void testIUPersistence() throws IOException {
-		IInstallableUnit iu0 = createPersistenceTestIU();
-		validateIU(iu0);
-		ByteArrayOutputStream output0 = new ByteArrayOutputStream(3072);
-		IUStringWriter writer0 = new IUStringWriter(output0);
-		writer0.writeTest(iu0);
-		String iuText0 = output0.toString();
-		output0.close();
-
-		IUStringParser parser = new IUStringParser(TestActivator.context, TestActivator.PI_PROV_TESTS);
-		parser.parse(iuText0);
-		assertTrue("Error parsing test iu: " + parser.getStatus().getMessage(), parser.getStatus().isOK());
-		InstallableUnit iu1 = (InstallableUnit) parser.getRootObject();
-		validateIU(iu1);
-		assertEquals(2, iu1.getLicenses().length);
-		ByteArrayOutputStream output1 = new ByteArrayOutputStream(1492);
-		IUStringWriter writer = new IUStringWriter(output1);
-		writer.writeTest(iu1);
-		String iuText1 = output1.toString();
-		output1.close();
-		assertTrue("Installable unit write after read after write produced different XML", iuText1.equals(iuText0));
-	}
-
-	private void validateIU(IInstallableUnit iu) {
-		assertTrue("Installable unit id is not correct", id.equals(iu.getId()));
-		assertTrue("Installable unit version is not correct", version.equals(iu.getVersion()));
-		assertTrue("Installable unit filter is not correct", filter.equals(iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter()));
-		assertEquals("Installable unit properties are not correct", propertyMap, iu.getProperties());
-		assertTrue("Installable unit provided capabilities are not correct", equal(addSelfCapability(iu, provides), extractProvides(iu)));
-		assertTrue("Installable unit required capabilities are not correct", equal(requires, extractRequires(iu)));
-		assertTrue("Installable unit meta required capabilities are not correct", equal(metaRequires, extractMetaRequires(iu)));
-		assertTrue("Installable unit update descriptor are not correct", id.equals(iu.getUpdateDescriptor().getId()));
-		assertTrue("Installable unit update descriptor are not correct", IUpdateDescriptor.HIGH == iu.getUpdateDescriptor().getSeverity());
-		assertTrue("Installable unit update descriptor are not correct", "desc".equals(iu.getUpdateDescriptor().getDescription()));
-		assertTrue("Installable unit update descriptor are not correct", new VersionRange(IU_TEST_VERSION, true, IU_TEST_VERSION, true).equals(iu.getUpdateDescriptor().getRange()));
-	}
-
-	private void validateIUPatch(IInstallableUnitPatch iu) {
-		validateIU(iu);
-		assertTrue(iu.getApplicabilityScope() != null);
-		assertTrue(iu.getRequiredCapabilities() != null);
-		assertEquals(3, iu.getRequirementsChange().length);
-		assertEquals(null, iu.getRequirementsChange()[1].applyOn());
-		assertNotNull(iu.getRequirementsChange()[1].newValue());
-		assertEquals(null, iu.getRequirementsChange()[2].newValue());
-		assertNotNull(iu.getRequirementsChange()[2].applyOn());
-		assertEquals(2, iu.getApplicabilityScope().length);
-		assertEquals(2, iu.getApplicabilityScope()[0].length);
-		assertEquals(1, iu.getApplicabilityScope()[1].length);
-		assertNull(iu.getLifeCycle());
-	}
-
-	private void validateIUPatchWithEmptyScope(IInstallableUnitPatch iu) {
-		validateIU(iu);
-		assertTrue(iu.getApplicabilityScope() != null);
-		assertTrue(iu.getRequiredCapabilities() != null);
-		assertEquals(3, iu.getRequirementsChange().length);
-		assertEquals(null, iu.getRequirementsChange()[1].applyOn());
-		assertNotNull(iu.getRequirementsChange()[1].newValue());
-		assertEquals(null, iu.getRequirementsChange()[2].newValue());
-		assertNotNull(iu.getRequirementsChange()[2].applyOn());
-		assertEquals(0, iu.getApplicabilityScope().length);
-		assertNull(iu.getLifeCycle());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java
deleted file mode 100644
index da72939..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Black box tests for API of {@link org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit}.
- */
-public class InstallableUnitTest extends AbstractProvisioningTest {
-	/**
-	 * Tests for {@link org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit#satisfies(org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability)}.
-	 */
-	public void testSatisfies() {
-		IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("testNamespace", "name", Version.createOSGi(1, 0, 0))};
-		IInstallableUnit iu = createIU("iu", provides);
-
-		IRequiredCapability wrongNamespace = MetadataFactory.createRequiredCapability("wrongNamespace", "name", VersionRange.emptyRange, null, false, false);
-		IRequiredCapability wrongName = MetadataFactory.createRequiredCapability("testNamespace", "wrongName", VersionRange.emptyRange, null, false, false);
-		IRequiredCapability lowerVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[0.1,1.0)"), null, false, false);
-		IRequiredCapability higherVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("(1.0,99.99]"), null, false, false);
-		IRequiredCapability match = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[1.0,2.0)"), null, false, false);
-
-		assertFalse("1.0", iu.satisfies(wrongNamespace));
-		assertFalse("1.1", iu.satisfies(wrongName));
-		assertFalse("1.2", iu.satisfies(lowerVersionRange));
-		assertFalse("1.3", iu.satisfies(higherVersionRange));
-		assertTrue("1.4", iu.satisfies(match));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LatestIUTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LatestIUTest.java
deleted file mode 100644
index e4fdc09..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LatestIUTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.net.URI;
-import java.util.Collection;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.LatestIUVersionQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- *
- */
-public class LatestIUTest extends AbstractProvisioningTest {
-
-	public void testLatestIUSingleRepo1() throws Exception {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location);
-
-		Collector query = metadataRepositoryManager.query(new LatestIUVersionQuery(), null);
-		Collection collection = query.toCollection();
-		assertEquals("1.0", 1, collection.size());
-		assertEquals("1.1", Version.createOSGi(2, 1, 0), ((IInstallableUnit) collection.iterator().next()).getVersion());
-	}
-
-	public void testLatestIUSingleRepo2() throws Exception {
-		URI location;
-		try {
-			location = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location);
-
-		Collector query = metadataRepositoryManager.query(new LatestIUVersionQuery(), null);
-		Collection collection = query.toCollection();
-		assertEquals("1.0", 1, collection.size());
-		assertEquals("1.1", Version.createOSGi(3, 0, 0), ((IInstallableUnit) collection.iterator().next()).getVersion());
-	}
-
-	public void testLatestIUMultiRepo() throws Exception {
-		URI location1;
-		URI location2;
-		try {
-			location1 = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-			location2 = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.addRepository(location1);
-		metadataRepositoryManager.addRepository(location2);
-
-		Collector collector = metadataRepositoryManager.query(new LatestIUVersionQuery(), null);
-		Collection collection = collector.toCollection();
-		assertEquals("1.0", 1, collection.size());
-		assertEquals("1.1", Version.createOSGi(3, 0, 0), ((IInstallableUnit) collection.iterator().next()).getVersion());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
deleted file mode 100644
index c51d309..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- *		EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-
-/**
- * Tests for License class
- */
-public class LicenseTest extends TestCase {
-	public void testNormalize() {
-		ILicense licenseOne = MetadataFactory.createLicense(null, "a   b");
-		ILicense licenseTwo = MetadataFactory.createLicense(null, "a\t\n\r  \t\n\r  b");
-		assertEquals("1.0", licenseOne.getDigest(), licenseTwo.getDigest());
-
-		licenseOne = MetadataFactory.createLicense(null, "   a b  c  ");
-		licenseTwo = MetadataFactory.createLicense(null, "a\t\nb\r  \t\n\r  c");
-		assertEquals("1.1", licenseOne.getDigest(), licenseTwo.getDigest());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
deleted file mode 100644
index 0b6a214..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import java.util.Collection;
-import java.util.Iterator;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MultipleIUAndFragmentTest extends AbstractProvisioningTest {
-
-	IInstallableUnit iu1;
-	IInstallableUnit iu2;
-	IInstallableUnit iu3;
-	Collection result;
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		iu1 = null;
-		iu2 = null;
-		iu3 = null;
-	}
-
-	public void testAttachment() {
-		iu1 = createEclipseIU("one");
-		iu2 = createIUWithDependencyOn("two", "one");
-		iu3 = createBundleFragment("fragment");
-		ProfileChangeRequest req = new ProfileChangeRequest(createProfile(getName()));
-		createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3});
-		Iterator iterator = createPlanner().getProvisioningPlan(req, null, null).getAdditions().query(InstallableUnitQuery.ANY, null).iterator();
-		for (; iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (iu.getId().equals(iu1.getId())) {
-				assertEquals(1, iu.getFragments().length);
-				assertEquals(iu.getFragments()[0].getId(), iu3.getId());
-			}
-			if (iu.getId().equals(iu2.getId())) {
-				assertEquals(1, iu.getFragments().length);
-				assertEquals(iu.getFragments()[0].getId(), iu3.getId());
-			}
-			if (iu.getId().equals(iu3.getId())) {
-				//fragments don't have fragments
-				assertNull(iu.getFragments());
-			}
-		}
-
-	}
-
-	private static IInstallableUnit createIUWithDependencyOn(String iuName, String dependencyOn) {
-		IRequiredCapability[] requires = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, dependencyOn, VersionRange.emptyRange, null, false, true)};
-		return createEclipseIU(iuName, DEFAULT_VERSION, requires, NO_TP_DATA);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ProvidedCapabilityTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ProvidedCapabilityTest.java
deleted file mode 100644
index 47d2802..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/ProvidedCapabilityTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests for {@link IProvidedCapability}.
- */
-public class ProvidedCapabilityTest extends AbstractProvisioningTest {
-	public void testEquals() {
-		IProvidedCapability cap = MetadataFactory.createProvidedCapability("namespace", "name", DEFAULT_VERSION);
-		IProvidedCapability equal = MetadataFactory.createProvidedCapability("namespace", "name", DEFAULT_VERSION);
-		IProvidedCapability notEqual = MetadataFactory.createProvidedCapability("namespace", "name", Version.createOSGi(2, 0, 0));
-		assertEquals("1.0", cap, equal);
-		assertFalse("1.1", cap.equals(notEqual));
-		assertFalse("1.1", notEqual.equals(cap));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllServerTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllServerTests.java
deleted file mode 100644
index 3eaff84..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllServerTests.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.security.cert.Certificate;
-import java.util.Hashtable;
-import junit.framework.*;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Performs all automated metadata repository tests that requires a local test server running
- * on port 8080.
- */
-public class AllServerTests extends TestCase {
-
-	private static final String BUNDLE_TESTSERVER = "org.eclipse.equinox.p2.testserver";
-	private static final String BUNDLE_EQUINOX_HTTP = "org.eclipse.equinox.http";
-	public static final String PROP_TESTSERVER_PORT = "org.osgi.service.http.port";
-
-	static IServiceUI hookedAuthDialog;
-	private static ServiceRegistration certificateUIRegistration;
-	private static int setUpCounter = 0;
-	private static ServiceReference packageAdminRef;
-
-	public static Test suite() throws Exception {
-		final TestSuite suite = new TestSuite("AllServerBasedTestSuite");
-		addToSuite(suite);
-		return suite;
-	}
-
-	public static void addToSuite(TestSuite suite) {
-		suite.addTest(new AllServerTests("startServer"));
-		// AuthTest *should* run twice to make sure that second attempt produces the same result.
-		suite.addTestSuite(AuthTest.class);
-		suite.addTestSuite(AuthTest.class);
-		suite.addTestSuite(HttpStatusTest.class);
-		suite.addTestSuite(TimeoutTest.class);
-		suite.addTest(new AllServerTests("stopServer"));
-	}
-
-	public void startServer() throws Exception {
-		oneTimeSetUp();
-	}
-
-	public void stopServer() throws Exception {
-		oneTimeTearDown();
-	}
-
-	public AllServerTests(String testName) {
-		super(testName);
-	}
-
-	private static Bundle getBundle(PackageAdmin packageAdmin, String symbolicName) {
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		for (int i = 0; i < bundles.length; i++) {
-			Bundle bundle = bundles[i];
-			if ((bundle.getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0)
-				return bundle;
-		}
-		return null;
-	}
-
-	private static boolean startTransient(PackageAdmin packageAdmin, String bundleName) throws BundleException {
-		Bundle bundle = getBundle(packageAdmin, bundleName);
-		if (bundle == null)
-			return false;
-		bundle.start(Bundle.START_TRANSIENT);
-		return true;
-	}
-
-	private static void stopTransient(PackageAdmin packageAdmin, String bundleName) throws BundleException {
-		Bundle bundle = getBundle(packageAdmin, bundleName);
-		if (bundle != null)
-			bundle.stop(Bundle.STOP_TRANSIENT);
-	}
-
-	private static int obtainFreePort() throws IOException {
-		ServerSocket socket = null;
-		try {
-			socket = new ServerSocket(0);
-			return socket.getLocalPort();
-		} finally {
-			if (socket != null)
-				socket.close();
-		}
-	}
-
-	public static void oneTimeSetUp() throws Exception {
-		BundleContext context = TestActivator.getContext();
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin pkgAdmin = (PackageAdmin) context.getService(packageAdminRef);
-
-		// Make sure these are not running
-		stopTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP);
-		stopTransient(pkgAdmin, BUNDLE_TESTSERVER);
-
-		// Get an available port and assign it the "org.osgi.service.http.port" property. The
-		// server will listen to this port and all tests use it to connect.
-		System.setProperty(PROP_TESTSERVER_PORT, Integer.toString(obtainFreePort()));
-
-		// Now start them again (with our property settings)
-		if (!startTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP))
-			throw new IllegalStateException("Unable to start bundle " + BUNDLE_EQUINOX_HTTP);
-		if (!startTransient(pkgAdmin, BUNDLE_TESTSERVER))
-			throw new IllegalStateException("Unable to start bundle " + BUNDLE_TESTSERVER);
-
-		// We must ensure that our IServiceUI service wins because the SDK registers one declaratively
-		Hashtable properties = new Hashtable(1);
-		properties.put(org.osgi.framework.Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-
-		certificateUIRegistration = context.registerService(IServiceUI.class.getName(), new DelegatingAuthService(), properties);
-		setUpCounter = 1;
-	}
-
-	public static void oneTimeTearDown() throws Exception {
-		BundleContext context = TestActivator.getContext();
-		certificateUIRegistration.unregister();
-		PackageAdmin pkgAdmin = (PackageAdmin) context.getService(packageAdminRef);
-		stopTransient(pkgAdmin, BUNDLE_TESTSERVER);
-		stopTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP);
-		context.ungetService(packageAdminRef);
-		setUpCounter = 0;
-	}
-
-	/**
-	 * Used by tests in the suite to enable that they run individually
-	 * @throws Exception
-	 */
-	public static synchronized void checkSetUp() throws Exception {
-		if (setUpCounter == 0) {
-			oneTimeSetUp();
-			return;
-		}
-		setUpCounter++;
-	}
-
-	/**
-	 * Used by tests in the suite to enable that they run individually
-	 * @throws Exception
-	 */
-	public static synchronized void checkTearDown() throws Exception {
-		setUpCounter--;
-		if (setUpCounter < 0)
-			throw new IllegalStateException("Unbalanced setup/teardown");
-
-		if (setUpCounter == 0)
-			oneTimeTearDown();
-		return;
-	}
-
-	static public void setServiceUI(IServiceUI hook) {
-		hookedAuthDialog = hook;
-	}
-
-	public static class DelegatingAuthService implements IServiceUI {
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			if (hookedAuthDialog != null)
-				return hookedAuthDialog.getUsernamePassword(location);
-			return null;
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			if (hookedAuthDialog != null)
-				return hookedAuthDialog.getUsernamePassword(location, previousInfo);
-			return null;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
deleted file mode 100644
index 5440894..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated metadata repository tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CompositeMetadataRepositoryTest.class);
-		suite.addTestSuite(JarURLMetadataRepositoryTest.class);
-		suite.addTestSuite(LocalMetadataRepositoryTest.class);
-		suite.addTestSuite(SPIMetadataRepositoryTest.class);
-		suite.addTestSuite(MetadataRepositoryManagerTest.class);
-		suite.addTestSuite(NoFailOver.class);
-		//		suite.addTestSuite(ResumeDownloadTest.class);
-		// DISABLING until we get a test build
-		//		AllServerTests.addToSuite(suite);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AuthTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AuthTest.java
deleted file mode 100644
index 31e568f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AuthTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.net.URI;
-import java.security.cert.Certificate;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.internal.p2.repository.RepositoryPreferences;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class AuthTest extends ServerBasedTestCase {
-	//	private static String UPDATE_SITE = "http://p2.piggott.ca/updateSite/";
-	private String PRIVATE_REPO;
-	private String NEVER_REPO;
-	private IMetadataRepositoryManager mgr;
-	private URI repoLoc;
-	protected String authTestFailMessage;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		PRIVATE_REPO = super.getBaseURL() + "/private/mdr/composite/one";
-		NEVER_REPO = super.getBaseURL() + "/proxy/never";
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-	}
-
-	private void setUpRepo(String repo) throws Exception {
-		repoLoc = new URI(repo);
-		mgr.removeRepository(repoLoc);
-		if (mgr.contains(repoLoc))
-			throw new RuntimeException("Error - An earlier test did not leave a clean state - could not remove repo");
-
-	}
-
-	@Override
-	public void tearDown() throws Exception {
-		AllServerTests.setServiceUI(null); // cleanup hook
-		super.tearDown();
-		if (repoLoc != null)
-			mgr.removeRepository(repoLoc);
-	}
-
-	public void testPrivateLoad() throws ProvisionException, Exception {
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		setUpRepo(PRIVATE_REPO);
-		try {
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			fail("The repository load was canceled - the UI auth service is probably not running");
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		assertTrue("Repository should have been added", mgr.contains(repoLoc));
-	}
-
-	public void testNeverLoad() throws ProvisionException, Exception {
-		AladdinNotSavedService service;
-		AllServerTests.setServiceUI(service = new AladdinNotSavedService());
-		setUpRepo(NEVER_REPO);
-		try {
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			fail("The repository load was canceled - the UI auth service is probably not running");
-		} catch (ProvisionException e) {
-			assertEquals("Repository is expected to report failed authentication", ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, e.getStatus().getCode());
-		}
-		// note that preference includes the first attempt where user is not prompted
-		assertEquals("There should have been N attempts", RepositoryPreferences.getLoginRetryCount() - 1, service.counter);
-		assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-
-	}
-
-	public class AladdinNotSavedService implements IServiceUI {
-		public int counter = 0;
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			counter++;
-			return new AuthenticationInfo("Aladdin", "open sesame", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			counter++;
-			assertEquals("Aladdin", previousInfo.getUserName());
-			assertEquals("open sesame", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/CompositeMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/CompositeMetadataRepositoryTest.java
deleted file mode 100644
index 213e35d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/CompositeMetadataRepositoryTest.java
+++ /dev/null
@@ -1,667 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *     EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.p2.persistence.CompositeRepositoryState;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.tests.core.CompoundQueryableTest.CompoundQueryTestProgressMonitor;
-
-/**
- * Test API of the local metadata repository implementation.
- */
-public class CompositeMetadataRepositoryTest extends AbstractProvisioningTest {
-	private static final String TEST_KEY = "TestKey";
-	private static final String TEST_VALUE = "TestValue";
-	protected File repoLocation;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		repoLocation = new File(getTempFolder(), "CompositeMetadataRepositoryTest");
-		AbstractProvisioningTest.delete(repoLocation);
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(repoLocation.toURI());
-		delete(repoLocation);
-		super.tearDown();
-	}
-
-	public void testCompressedRepositoryCreation() {
-		createRepo(true);
-
-		File[] files = repoLocation.listFiles();
-		boolean jarFilePresent = false;
-		boolean xmlFilePresent = false;
-		// one of the files in the repository should be the content.xml.jar
-		for (int i = 0; i < files.length; i++) {
-			if ("compositeContent.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("compositeContent.xml".equalsIgnoreCase(files[i].getName())) {
-				xmlFilePresent = true;
-			}
-		}
-		if (!jarFilePresent) {
-			fail("Repository did not create JAR for compositeContent.xml");
-		}
-		if (xmlFilePresent) {
-			fail("Repository should not create compositeContent.xml");
-		}
-	}
-
-	public void testUncompressedRepositoryCreation() {
-		createRepo(false);
-
-		File[] files = repoLocation.listFiles();
-		boolean jarFilePresent = false;
-		// none of the files in the repository should be the content.xml.jar
-		for (int i = 0; i < files.length; i++) {
-			if ("compositeContent.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-		}
-		if (jarFilePresent) {
-			fail("Repository should not create JAR for compositeContent.xml");
-		}
-	}
-
-	public void testAddInstallableUnits() {
-		//create uncommpressed repo
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		//Try to add a new InstallableUnit.
-		try {
-			InstallableUnitDescription descriptor = new MetadataFactory.InstallableUnitDescription();
-			descriptor.setId("testIuId");
-			descriptor.setVersion(Version.create("3.2.1"));
-			IInstallableUnit iu = MetadataFactory.createInstallableUnit(descriptor);
-			compRepo.addInstallableUnits(new IInstallableUnit[] {iu});
-			fail("Should not be able to insert InstallableUnit");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testRemoveInstallableUnits() {
-		//create uncommpressed repo
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		//Try to remove an InstallableUnit.
-		try {
-			Collector collector = compRepo.query(InstallableUnitQuery.ANY, null);
-			compRepo.removeInstallableUnits((IInstallableUnit[]) collector.toArray(IInstallableUnit.class), null);
-			fail("Should not be able to remove InstallableUnit");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testRemoveAll() {
-		//create uncommpressed repo
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		//Try to removeAll.
-		try {
-			compRepo.removeAll();
-			fail("Should not be able to removeAll()");
-		} catch (UnsupportedOperationException e) {
-			//expected. fall through
-		}
-	}
-
-	public void testGetProperties() {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = null;
-		try {
-			repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Cannot create repository: ", e);
-		}
-		Map properties = repo.getProperties();
-		//attempting to modify the properties should fail
-		try {
-			properties.put(TEST_KEY, TEST_VALUE);
-			fail("Should not allow setting property");
-		} catch (RuntimeException e) {
-			//expected
-		}
-	}
-
-	public void testSetProperty() {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = null;
-		try {
-			repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Cannot create repository: ", e);
-		}
-		Map properties = repo.getProperties();
-		assertTrue("1.0", !properties.containsKey(TEST_KEY));
-		repo.setProperty(TEST_KEY, TEST_VALUE);
-
-		//the previously obtained properties should not be affected by subsequent changes
-		assertTrue("1.1", !properties.containsKey(TEST_KEY));
-		properties = repo.getProperties();
-		assertTrue("1.2", properties.containsKey(TEST_KEY));
-
-		//going back to repo manager, should still get the new property
-		try {
-			repo = manager.loadRepository(repoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Cannot load repository: ", e);
-		}
-		properties = repo.getProperties();
-		assertTrue("1.3", properties.containsKey(TEST_KEY));
-
-		//setting a null value should remove the key
-		repo.setProperty(TEST_KEY, null);
-		properties = repo.getProperties();
-		assertTrue("1.4", !properties.containsKey(TEST_KEY));
-	}
-
-	public void testAddChild() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		IMetadataRepository repo = null;
-		try {
-			repo = metadataRepositoryManager.loadRepository(child.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repository for verification", e);
-		}
-
-		assertContentEquals("Verifying contents", compRepo, repo);
-	}
-
-	public void testRemoveChild() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		//Setup, populate the children
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		compRepo.removeChild(child.toURI());
-		assertEquals("Children size after remove", 0, compRepo.getChildren().size());
-	}
-
-	public void testAddRepeatChild() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		//Add the same repo again
-		compRepo.addChild(child.toURI());
-		//size should not change
-		assertEquals("Children size after repeat entry", 1, compRepo.getChildren().size());
-	}
-
-	public void testAddMultipleChildren() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		assertEquals("Children size with 2 children", 2, compRepo.getChildren().size());
-
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		IMetadataRepository repo1 = null;
-		IMetadataRepository repo2 = null;
-		try {
-			repo1 = metadataRepositoryManager.loadRepository(child1.toURI(), null);
-			repo2 = metadataRepositoryManager.loadRepository(child2.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repositories for verification", e);
-		}
-
-		assertContains("Assert child1's content is in composite repo", repo1, compRepo);
-		assertContains("Assert child2's content is in composite repo", repo2, compRepo);
-		//checks that the destination has the correct number of keys (no extras)
-		assertEquals("Assert correct number of IUs", getNumUnique(repo1.query(InstallableUnitQuery.ANY, null), repo2.query(InstallableUnitQuery.ANY, null)), compRepo.query(InstallableUnitQuery.ANY, null).size());
-	}
-
-	public void testRemoveNonexistantChild() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		//Setup, populate the children
-		File child = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File invalidChild = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.removeChild(invalidChild.toURI());
-		//Should not affect the size of children
-		assertEquals("Children size after remove", 1, compRepo.getChildren().size());
-	}
-
-	public void testRemoveAllChildren() {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(false);
-
-		assertEquals("Initial Children size", 0, compRepo.getChildren().size());
-
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		assertEquals("Children size with 1 child", 1, compRepo.getChildren().size());
-
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		assertEquals("Children size with 2 children", 2, compRepo.getChildren().size());
-
-		compRepo.removeAllChildren();
-		assertEquals("Children size after removeAllChildren", 0, compRepo.getChildren().size());
-	}
-
-	public void testValidate() {
-		//Setup: create an uncompressed repository
-		createRepo(false);
-		assertEquals("Verifying repository's status is OK", Status.OK_STATUS, (new CompositeMetadataRepositoryFactory()).validate(repoLocation.toURI(), null));
-	}
-
-	public void testLoadingRepositoryRemote() {
-		File knownGoodRepoLocation = getTestData("0.1", "/testData/metadataRepo/composite/good.remote");
-
-		CompositeMetadataRepository compRepo = null;
-		try {
-			compRepo = (CompositeMetadataRepository) getMetadataRepositoryManager().loadRepository(knownGoodRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("0.99", e);
-		}
-
-		List children = compRepo.getChildren();
-
-		try {
-			//ensure children are correct
-			URI child1 = URIUtil.fromString("http://www.eclipse.org/foo");
-			assertTrue("1.0", children.contains(child1));
-			URI child2 = URIUtil.fromString("http://www.eclipse.org/bar");
-			assertTrue("1.1", children.contains(child2));
-			assertEquals("1.2", 2, children.size());
-		} catch (URISyntaxException e) {
-			fail("1.99", e);
-		}
-
-		//ensure correct properties
-		assertEquals("2.0", "metadata name", compRepo.getName());
-		Map properties = compRepo.getProperties();
-		assertEquals("2.1", 2, properties.size());
-		String timestamp = (String) properties.get(IRepository.PROP_TIMESTAMP);
-		assertNotNull("2.2", timestamp);
-		assertEquals("2.3", "1234", timestamp);
-		String compressed = (String) properties.get(IRepository.PROP_COMPRESSED);
-		assertNotNull("2.4", compressed);
-		assertFalse("2.5", Boolean.parseBoolean(compressed));
-	}
-
-	public void testLoadingRepositoryLocal() {
-		File testData = getTestData("0.5", "/testData/metadataRepo/composite/good.local");
-		copy("0.6", testData, repoLocation);
-
-		CompositeMetadataRepository compRepo = null;
-		try {
-			compRepo = (CompositeMetadataRepository) getMetadataRepositoryManager().loadRepository(repoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("0.9", e);
-		}
-
-		List children = compRepo.getChildren();
-
-		//ensure children are correct
-		URI child1 = URIUtil.append(compRepo.getLocation(), "one");
-		assertTrue("1.0", children.contains(child1));
-		URI child2 = URIUtil.append(compRepo.getLocation(), "two");
-		assertTrue("1.1", children.contains(child2));
-		assertEquals("1.2", 2, children.size());
-
-		//ensure correct properties
-		assertEquals("2.0", "metadata name", compRepo.getName());
-		Map properties = compRepo.getProperties();
-		assertEquals("2.1", 2, properties.size());
-		String timestamp = (String) properties.get(IRepository.PROP_TIMESTAMP);
-		assertNotNull("2.2", timestamp);
-		assertEquals("2.3", "1234", timestamp);
-		String compressed = (String) properties.get(IRepository.PROP_COMPRESSED);
-		assertNotNull("2.4", compressed);
-		assertFalse("2.5", Boolean.parseBoolean(compressed));
-	}
-
-	public void testCompressedPersistence() {
-		persistenceTest(true);
-	}
-
-	public void testUncompressedPersistence() {
-		persistenceTest(false);
-	}
-
-	public void testSyntaxErrorWhileParsing() {
-		File badCompositeContent = getTestData("1", "/testData/metadataRepo/composite/Bad/syntaxError");
-
-		try {
-			getMetadataRepositoryManager().loadRepository(badCompositeContent.toURI(), null);
-			//Error while parsing expected
-			fail("Expected ProvisionException has not been thrown");
-		} catch (ProvisionException e) {
-			//expected.
-			//TODO more meaningful verification?
-		}
-	}
-
-	public void testMissingRequireattributeWhileParsing() {
-		File badCompositeContent = getTestData("0.1", "/testData/metadataRepo/composite/Bad/missingRequiredAttribute");
-		copy("0.2", badCompositeContent, repoLocation);
-
-		CompositeMetadataRepository compRepo = null;
-		try {
-			compRepo = (CompositeMetadataRepository) getMetadataRepositoryManager().loadRepository(repoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-		assertEquals("2.0", 1, compRepo.getChildren().size());
-	}
-
-	public void testEnabledAndSystemValues() {
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		File compRepoLocation = getTestFolder(getUniqueString());
-		CompositeMetadataRepository compRepo = null;
-		try {
-			getMetadataRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			getMetadataRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Only 1 child should be loaded in the manager
-			getMetadataRepositoryManager().removeRepository(repo2Location.toURI());
-			compRepo = (CompositeMetadataRepository) getMetadataRepositoryManager().createRepository(compRepoLocation.toURI(), "Composite Repo", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		compRepo.addChild(repo1Location.toURI());
-		compRepo.addChild(repo2Location.toURI());
-
-		//force composite repository to load all children
-		compRepo.query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-
-		assertTrue("Ensuring previously loaded repo is enabled", getMetadataRepositoryManager().isEnabled(repo1Location.toURI()));
-		String repo1System = getMetadataRepositoryManager().getRepositoryProperty(repo1Location.toURI(), IRepository.PROP_SYSTEM);
-		//if repo1System is null we want to fail
-		assertFalse("Ensuring previously loaded repo is not system", repo1System != null ? repo1System.equals(Boolean.toString(true)) : true);
-		assertFalse("Ensuring not previously loaded repo is not enabled", getMetadataRepositoryManager().isEnabled(repo2Location.toURI()));
-		String repo2System = getMetadataRepositoryManager().getRepositoryProperty(repo2Location.toURI(), IRepository.PROP_SYSTEM);
-		//if repo2System is null we want to fail
-		assertTrue("Ensuring not previously loaded repo is system", repo2System != null ? repo2System.equals(Boolean.toString(true)) : false);
-	}
-
-	public void testGetLatestIU() {
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		URI location1;
-		URI location2;
-		try {
-			location1 = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-			location2 = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		CompositeMetadataRepository compositeRepo = createRepo(false);
-		compositeRepo.addChild(location1);
-		compositeRepo.addChild(location2);
-		Collector collector = compositeRepo.query(new LatestIUVersionQuery(), monitor);
-		Collection collection = collector.toCollection();
-		assertEquals("1.0", 1, collection.size());
-		assertEquals("1.1", Version.createOSGi(3, 0, 0), ((IInstallableUnit) collection.iterator().next()).getVersion());
-		assertTrue("1.2", monitor.isDone());
-		assertTrue("1.3", monitor.isWorkDone());
-	}
-
-	public void testGetLatestIULessThan3() {
-		CompoundQueryTestProgressMonitor monitor = new CompoundQueryTestProgressMonitor();
-		URI location1;
-		URI location2;
-		try {
-			location1 = TestData.getFile("metadataRepo", "multipleversions1").toURI();
-			location2 = TestData.getFile("metadataRepo", "multipleversions2").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		CompositeMetadataRepository compositeRepo = createRepo(false);
-		compositeRepo.addChild(location1);
-		compositeRepo.addChild(location2);
-		PipedQuery cQuery = new PipedQuery(new IQuery[] {new MatchQuery() {
-			public boolean isMatch(Object candidate) {
-				if (candidate instanceof IInstallableUnit) {
-					IInstallableUnit iInstallableUnit = (IInstallableUnit) candidate;
-					if (iInstallableUnit.getVersion().compareTo(Version.createOSGi(3, 0, 0)) < 0)
-						return true;
-				}
-				return false;
-			}
-		}, new LatestIUVersionQuery()});
-		Collector collector = compositeRepo.query(cQuery, monitor);
-		Collection collection = collector.toCollection();
-		assertEquals("1.0", 1, collection.size());
-		assertEquals("1.1", Version.createOSGi(2, 2, 0), ((IInstallableUnit) collection.iterator().next()).getVersion());
-		assertTrue("1.2", monitor.isDone());
-		assertTrue("1.3", monitor.isWorkDone());
-	}
-
-	private void persistenceTest(boolean compressed) {
-		//Setup: create an uncompressed repository
-		CompositeMetadataRepository compRepo = createRepo(compressed);
-
-		//Add data. forces write to disk.
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		compRepo.addChild(child1.toURI());
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		compRepo.addChild(child2.toURI());
-		//Assume success (covered by other tests)
-
-		//Remove repo from memory
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		metadataRepositoryManager.removeRepository(repoLocation.toURI());
-		compRepo = null;
-
-		//load repository off disk
-		IMetadataRepository repo = null;
-		try {
-			repo = metadataRepositoryManager.loadRepository(repoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Could not load repository after removal", e);
-		}
-		assertTrue("loaded repository was of type CompositeMetadataRepository", repo instanceof CompositeMetadataRepository);
-
-		compRepo = (CompositeMetadataRepository) repo;
-
-		IMetadataRepository repo1 = null;
-		IMetadataRepository repo2 = null;
-		try {
-			repo1 = metadataRepositoryManager.loadRepository(child1.toURI(), null);
-			repo2 = metadataRepositoryManager.loadRepository(child2.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Unable to load repositories for verification", e);
-		}
-
-		assertContains("Assert child1's content is in composite repo", repo1, compRepo);
-		assertContains("Assert child2's content is in composite repo", repo2, compRepo);
-		//checks that the destination has the correct number of keys (no extras)
-		assertEquals("Assert correct number of IUs", getNumUnique(repo1.query(InstallableUnitQuery.ANY, null), repo2.query(InstallableUnitQuery.ANY, null)), compRepo.query(InstallableUnitQuery.ANY, null).size());
-	}
-
-	private CompositeMetadataRepository createRepo(boolean compressed) {
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, compressed ? "true" : "false");
-		IMetadataRepository repo = null;
-		try {
-			repo = metadataRepositoryManager.createRepository(repoLocation.toURI(), "metadata name", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, properties);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-
-		//esnure proper type of repository has been created
-		if (!(repo instanceof CompositeMetadataRepository))
-			fail("Repository is not a CompositeMetadataRepository");
-
-		return (CompositeMetadataRepository) repo;
-	}
-
-	/**
-	 * Takes 2 collectors, compares them, and returns the number of unique keys
-	 * Needed to verify that only the appropriate number of files have been transfered by the mirror application
-	 */
-	private int getNumUnique(Collector c1, Collector c2) {
-		Object[] repo1 = c1.toCollection().toArray();
-		Object[] repo2 = c2.toCollection().toArray();
-
-		//initialize to the size of both collectors
-		int numKeys = repo1.length + repo2.length;
-
-		for (int i = 0; i < repo1.length; i++) {
-			for (int j = 0; j < repo2.length; j++) {
-				if (isEqual((IInstallableUnit) repo1[i], (IInstallableUnit) repo2[j]))
-					numKeys--;
-				//identical keys has bee found, therefore the number of unique keys is one less than previously thought
-			}
-		}
-		return numKeys;
-	}
-
-	/*
-	 * Ensure that we can create a non-local composite repository.
-	 * Note that we had to change this test method when we changed the 
-	 * behaviour of the composite repos to aggressively load the children.
-	 */
-	public void testNonLocalRepo() {
-		try {
-			URI location = new URI("memory:/in/memory");
-			URI childOne = new URI("memory:/in/memory/one");
-			URI childTwo = new URI("memory:/in/memory/two");
-			URI childThree = new URI("memory:/in/memory/three");
-			CompositeMetadataRepository repository = new CompositeMetadataRepository(location, "in memory test", null);
-			repository.addChild(childOne);
-			repository.addChild(childTwo);
-			repository.addChild(childThree);
-			assertEquals("1.0", 3, repository.getChildren().size());
-			repository.removeChild(childTwo);
-			assertEquals("1.1", 2, repository.getChildren().size());
-			// add a child which already exists... should do nothing
-			repository.addChild(childOne);
-			assertEquals("1.2", 2, repository.getChildren().size());
-			// add the same child but with a relative URI. again it should do nothing
-			repository.addChild(new URI("one"));
-			assertEquals("1.3", 2, repository.getChildren().size());
-		} catch (URISyntaxException e) {
-			fail("99.0", e);
-		}
-	}
-
-	public void testRelativeChildren() {
-		// setup
-		File one = getTestData("0.0", "testData/testRepos/simple.1");
-		File two = getTestData("0.1", "testData/testRepos/simple.2");
-		File temp = getTempFolder();
-		copy("0.2", one, new File(temp, "one"));
-		copy("0.3", two, new File(temp, "two"));
-
-		// create the composite repository and add the children
-		URI location = new File(temp, "comp").toURI();
-		CompositeMetadataRepository repository = new CompositeMetadataRepository(location, "test", null);
-		try {
-			repository.addChild(new URI("../one"));
-			repository.addChild(new URI("../two"));
-		} catch (URISyntaxException e) {
-			fail("1.99", e);
-		}
-
-		// query the number of IUs
-		List children = repository.getChildren();
-		assertEquals("2.0", 2, children.size());
-		Collector collector = repository.query(InstallableUnitQuery.ANY, getMonitor());
-		assertEquals("2.1", 2, collector.size());
-
-		// ensure the child URIs are stored as relative
-		CompositeRepositoryState state = repository.toState();
-		URI[] childURIs = state.getChildren();
-		assertNotNull("3.0", childURIs);
-		assertEquals("3.1", 2, childURIs.length);
-		assertFalse("3.2", childURIs[0].isAbsolute());
-		assertFalse("3.3", childURIs[1].isAbsolute());
-
-		// cleanup
-		delete(temp);
-	}
-
-	public void testRelativeRemoveChild() {
-		try {
-			URI location = new URI("memory:/in/memory");
-			URI one = new URI("one");
-			URI two = new URI("two");
-			CompositeMetadataRepository repository = new CompositeMetadataRepository(location, "in memory test", null);
-			repository.addChild(one);
-			repository.addChild(two);
-			List children = repository.getChildren();
-			assertEquals("1.0", 2, children.size());
-			// remove an absolute URI (child one should be first since order is important)
-			repository.removeChild((URI) children.iterator().next());
-			assertEquals("1.1", 1, repository.getChildren().size());
-			// remove a relative URI (child two)
-			repository.removeChild(two);
-			assertEquals("1.2", 0, repository.getChildren().size());
-		} catch (URISyntaxException e) {
-			fail("99.0", e);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/HttpStatusTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/HttpStatusTest.java
deleted file mode 100644
index 09ffd25..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/HttpStatusTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.security.cert.Certificate;
-import java.text.MessageFormat;
-import java.text.ParseException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Test response to various HTTP status codes.
- */
-public class HttpStatusTest extends ServerBasedTestCase {
-	private IMetadataRepositoryManager mgr;
-	private URI repoLoc;
-	protected String authTestFailMessage;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-	}
-
-	private void setUpRepo(String repo) throws Exception {
-		repoLoc = new URI(repo);
-		mgr.removeRepository(repoLoc);
-		if (mgr.contains(repoLoc))
-			throw new RuntimeException("Error - An earlier test did not leave a clean state - could not remove repo");
-
-	}
-
-	@Override
-	public void tearDown() throws Exception {
-		AllServerTests.setServiceUI(null); // cleanup hook
-		super.tearDown();
-		if (repoLoc != null)
-			mgr.removeRepository(repoLoc);
-	}
-
-	public void testStatusCodes() throws ProvisionException, Exception {
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		// http codes with expected messages
-		runSequence(400, 418);
-		runSequence(422, 426);
-		runSequence(449, 450);
-		runSequence(500, 508);
-		runSequence(510, 510);
-	}
-
-	public void testUnknownStatusCodes() throws ProvisionException, Exception {
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		// undefined HTTP response codes.
-		runSequence(419, 421);
-		runSequence(427, 448);
-		runSequence(511, 601);
-	}
-
-	public void testMultipleChoiceCode() throws ProvisionException, Exception {
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		// undefined HTTP response codes.
-		runSequence(300, 300);
-	}
-
-	private void runSequence(int from, int to) throws Exception {
-		for (int i = from; i <= to; i++) {
-			setUpRepo(super.getBaseURL() + "/status/" + Integer.valueOf(i).toString());
-
-			try {
-				mgr.loadRepository(repoLoc, null);
-			} catch (OperationCanceledException e) {
-				fail("The repository load was canceled - the UI auth service is probably not running");
-			} catch (ProvisionException e) {
-
-				IStatus status = e.getStatus();
-				String msg = e.getMessage();
-
-				// Print for human inspection
-				System.out.print(String.format("HTTP %d => %s e-message: [%s]\n", //
-						i, provisionCodeToText(status.getCode()), msg));
-
-				// assert:
-				// - that HTTP code => Repository Code is correct
-				// - that correct message surfaces
-				//					String m = org.eclipse.equinox.internal.p2.repository.Messages.TransportErrorTranslator_400;
-				// Some codes have different message
-				switch (i) {
-					case 401 :
-						// Authentication exception -
-						// Assert the ProvisionException code
-						assertEquals("Expected Provision Exception code for: " + Integer.valueOf(i), //
-								ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, status.getCode());
-						break;
-					case 300 : // fall through
-					case 403 : // fall through
-					case 404 : // Does not use the HTTP message.
-						// No need to test the message text - any error would be discovered immediately
-						// in the UI anyway.
-						assertEquals("Expected Provision Exception code for: " + Integer.valueOf(i), //
-								ProvisionException.REPOSITORY_NOT_FOUND, status.getCode());
-						break;
-					case 407 : // fall through
-					default :
-						// All other messages should surface
-						try {
-							MessageFormat msgFormat = new MessageFormat(getMessageForCode(i));
-							msgFormat.parse(msg);
-						} catch (ParseException p) {
-							fail("The expected message was not returned for the code:" + Integer.valueOf(i));
-						} catch (NoSuchFieldException nsf) {
-							fail("The expected message was not returned for the code:" + Integer.valueOf(i));
-						}
-						assertEquals("Expected Provision Exception code for: " + Integer.valueOf(i), //
-								ProvisionException.REPOSITORY_FAILED_READ, status.getCode());
-				}
-
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-		}
-	}
-
-	private static String getMessageForCode(int code) throws Exception {
-		// use reflection on Messages class to get the string in use
-		Class c = org.eclipse.equinox.internal.p2.repository.Messages.class;
-		try {
-			Field field = c.getDeclaredField("TransportErrorTranslator_" + Integer.valueOf(code).toString());
-			return (String) field.get(null);
-		} catch (NoSuchFieldException e) {
-			Field field = c.getDeclaredField("TransportErrorTranslator_UnknownErrorCode");
-			return (String) field.get(null);
-		}
-	}
-
-	private static String provisionCodeToText(int code) {
-		String msg = "REPOSITORY_";
-		switch (code) {
-			case ProvisionException.REPOSITORY_EXISTS :
-				return msg + "EXISTS";
-			case ProvisionException.REPOSITORY_FAILED_AUTHENTICATION :
-				return msg + "FAILED_AUTHENTICATION";
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				return msg + "FAILED_READ";
-			case ProvisionException.REPOSITORY_FAILED_WRITE :
-				return msg + "FAILED_WRITE";
-			case ProvisionException.REPOSITORY_INVALID_LOCATION :
-				return msg + "INVALID_LOCATION";
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				return msg + "NOT_FOUND";
-			case ProvisionException.REPOSITORY_READ_ONLY :
-				return msg + "READ_ONLY";
-			case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
-				return msg + "UNKNOWN_TYPE";
-			default :
-				return msg + String.format("<unrecognized error code: %d >", code);
-		}
-	}
-
-	public class AladdinNotSavedService implements IServiceUI {
-		public int counter = 0;
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			counter++;
-			return new AuthenticationInfo("Aladdin", "open sesame", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			counter++;
-			assertEquals("Aladdin", previousInfo.getUserName());
-			assertEquals("open sesame", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLMetadataRepositoryTest.java
deleted file mode 100644
index 2bff1c6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/JarURLMetadataRepositoryTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class JarURLMetadataRepositoryTest extends TestCase {
-
-	private ServiceReference managerRef;
-	private IMetadataRepositoryManager manager;
-	private File testRepoJar;
-
-	public JarURLMetadataRepositoryTest(String name) {
-		super(name);
-	}
-
-	public JarURLMetadataRepositoryTest() {
-		this("");
-	}
-
-	protected void setUp() throws Exception {
-		managerRef = TestActivator.getContext().getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		manager = (IMetadataRepositoryManager) TestActivator.getContext().getService(managerRef);
-
-		String tempDir = System.getProperty("java.io.tmpdir");
-		File testRepo = new File(tempDir, "testRepo");
-		FileUtils.deleteAll(testRepo);
-		testRepo.mkdir();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-		IMetadataRepository repo = manager.createRepository(testRepo.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		InstallableUnitDescription descriptor = new MetadataFactory.InstallableUnitDescription();
-		descriptor.setId("testIuId");
-		descriptor.setVersion(Version.create("3.2.1"));
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(descriptor);
-		repo.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		testRepoJar = new File(testRepo, "content.jar");
-		assertTrue(testRepoJar.exists());
-		testRepoJar.deleteOnExit();
-	}
-
-	protected void tearDown() throws Exception {
-		manager = null;
-		FileUtils.deleteAll(testRepoJar.getParentFile());
-		TestActivator.getContext().ungetService(managerRef);
-	}
-
-	public void testJarURLRepository() throws ProvisionException {
-		URI jarRepoLocation = null;
-		try {
-			jarRepoLocation = new URI("jar:" + testRepoJar.toURI() + "!/");
-		} catch (URISyntaxException e) {
-			fail(e.getMessage());
-		}
-
-		IMetadataRepository repo = manager.loadRepository(jarRepoLocation, null);
-		assertTrue(!repo.query(InstallableUnitQuery.ANY, null).isEmpty());
-
-		URI[] local = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_LOCAL);
-		boolean found = false;
-		for (int i = 0; i < local.length; i++)
-			if (local[i].equals(jarRepoLocation))
-				found = true;
-		assertTrue(found);
-		manager.removeRepository(jarRepoLocation);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
deleted file mode 100644
index ff0a08d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/LocalMetadataRepositoryTest.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Test API of the local metadata repository implementation.
- */
-public class LocalMetadataRepositoryTest extends AbstractProvisioningTest {
-	private static final String TEST_KEY = "TestKey";
-	private static final String TEST_VALUE = "TestValue";
-	protected File repoLocation;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		repoLocation = new File(tempDir, "LocalMetadataRepositoryTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		repoLocation.mkdir();
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(repoLocation.toURI());
-		delete(repoLocation);
-		super.tearDown();
-	}
-
-	public void testCompressedRepository() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		InstallableUnitDescription descriptor = new MetadataFactory.InstallableUnitDescription();
-		descriptor.setId("testIuId");
-		descriptor.setVersion(Version.create("3.2.1"));
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(descriptor);
-		repo.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		File[] files = repoLocation.listFiles();
-		boolean jarFilePresent = false;
-		boolean xmlFilePresent = false;
-		// one of the files in the repository should be the content.xml.jar
-		for (int i = 0; i < files.length; i++) {
-			if ("content.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-			if ("content.xml".equalsIgnoreCase(files[i].getName())) {
-				xmlFilePresent = true;
-			}
-		}
-		if (!jarFilePresent) {
-			fail("Repository did not create JAR for content.xml");
-		}
-		if (xmlFilePresent) {
-			fail("Repository should not create content.xml");
-		}
-	}
-
-	public void testGetProperties() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		Map properties = repo.getProperties();
-		//attempting to modify the properties should fail
-		try {
-			properties.put(TEST_KEY, TEST_VALUE);
-			fail("Should not allow setting property");
-		} catch (RuntimeException e) {
-			//expected
-		}
-	}
-
-	public void testSetProperty() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		Map properties = repo.getProperties();
-		assertTrue("1.0", !properties.containsKey(TEST_KEY));
-		repo.setProperty(TEST_KEY, TEST_VALUE);
-
-		//the previously obtained properties should not be affected by subsequent changes
-		assertTrue("1.1", !properties.containsKey(TEST_KEY));
-		properties = repo.getProperties();
-		assertTrue("1.2", properties.containsKey(TEST_KEY));
-
-		//going back to repo manager, should still get the new property
-		repo = manager.loadRepository(repoLocation.toURI(), null);
-		properties = repo.getProperties();
-		assertTrue("1.3", properties.containsKey(TEST_KEY));
-
-		//setting a null value should remove the key
-		repo.setProperty(TEST_KEY, null);
-		properties = repo.getProperties();
-		assertTrue("1.4", !properties.containsKey(TEST_KEY));
-	}
-
-	public void testAddRemoveIUs() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		IInstallableUnit iu = createIU("foo");
-		repo.addInstallableUnits(new IInstallableUnit[] {iu});
-		Collector result = repo.query(new InstallableUnitQuery((String) null), getMonitor());
-		assertTrue("1.0", result.size() == 1);
-		repo.removeAll();
-		result = repo.query(new InstallableUnitQuery((String) null), getMonitor());
-		assertTrue("1.1", result.isEmpty());
-	}
-
-	public void testRemoveByQuery() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		IInstallableUnit iu = createIU("foo");
-		IInstallableUnit iu2 = createIU("bar");
-		repo.addInstallableUnits(new IInstallableUnit[] {iu, iu2});
-		Collector result = repo.query(new InstallableUnitQuery((String) null), getMonitor());
-		assertTrue("1.0", result.size() == 2);
-		repo.removeInstallableUnits(new IInstallableUnit[] {iu}, getMonitor());
-		result = repo.query(new InstallableUnitQuery((String) null), getMonitor());
-		assertTrue("1.1", result.size() == 1);
-		repo.removeInstallableUnits(new IInstallableUnit[] {iu2}, getMonitor());
-		result = repo.query(new InstallableUnitQuery((String) null), getMonitor());
-		assertTrue("1.2", result.isEmpty());
-
-	}
-
-	public void testUncompressedRepository() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "false");
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		InstallableUnitDescription descriptor = new MetadataFactory.InstallableUnitDescription();
-		descriptor.setId("testIuId");
-		descriptor.setVersion(Version.create("3.2.1"));
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(descriptor);
-		repo.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		File[] files = repoLocation.listFiles();
-		boolean jarFilePresent = false;
-		// none of the files in the repository should be the content.xml.jar
-		for (int i = 0; i < files.length; i++) {
-			if ("content.jar".equalsIgnoreCase(files[i].getName())) {
-				jarFilePresent = true;
-			}
-		}
-		if (jarFilePresent) {
-			fail("Repository should not create JAR for content.xml");
-		}
-	}
-
-	/**
-	 * Tests loading a repository that has a reference to itself as a disabled repository.
-	 * @throws MalformedURLException 
-	 * @throws ProvisionException 
-	 */
-	public void testLoadSelfReference() throws ProvisionException {
-		//setup a repository that has a reference to itself in disabled state
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "false");
-		final URI repoURI = repoLocation.toURI();
-		IMetadataRepository repo = manager.createRepository(repoURI, "testLoadSelfReference", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		repo.addReference(repoURI, "testNick", IRepository.TYPE_METADATA, IRepository.NONE);
-		//adding a reference doesn't save the repository, but setting a property does
-		repo.setProperty("changed", "false");
-
-		final int[] callCount = new int[] {0};
-		final boolean[] wasEnabled = new boolean[] {false};
-		//add a listener to ensure we receive add events with the repository enabled
-		ProvisioningListener listener = new SynchronousProvisioningListener() {
-			public void notify(EventObject o) {
-				if (!(o instanceof RepositoryEvent))
-					return;
-				RepositoryEvent event = (RepositoryEvent) o;
-				if (event.getKind() != RepositoryEvent.ADDED)
-					return;
-				if (!event.getRepositoryLocation().equals(repoURI))
-					return;
-				wasEnabled[0] = event.isRepositoryEnabled();
-				callCount[0]++;
-			}
-		};
-		getEventBus().addListener(listener);
-		try {
-			//now remove and reload the repository
-			manager.removeRepository(repoURI);
-			repo = manager.loadRepository(repoURI, null);
-			assertTrue("1.0", manager.isEnabled(repoURI));
-			assertTrue("1.1", wasEnabled[0]);
-			assertEquals("1.2", 1, callCount[0]);
-		} finally {
-			getEventBus().removeListener(listener);
-		}
-	}
-
-	public void testRefreshSelfReference() throws ProvisionException {
-		//setup a repository that has a reference to itself in disabled state
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "false");
-		final URI repoURL = repoLocation.toURI();
-		IMetadataRepository repo = manager.createRepository(repoURL, "testRefreshSelfReference", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		repo.addReference(repoURL, "testNick", IRepository.TYPE_METADATA, IRepository.NONE);
-		//adding a reference doesn't save the repository, but setting a property does
-		repo.setProperty("changed", "false");
-
-		final int[] callCount = new int[] {0};
-		final boolean[] wasEnabled = new boolean[] {false};
-		//add a listener to ensure we receive add events with the repository enabled
-		ProvisioningListener listener = new SynchronousProvisioningListener() {
-			public void notify(EventObject o) {
-				if (!(o instanceof RepositoryEvent))
-					return;
-				RepositoryEvent event = (RepositoryEvent) o;
-				if (event.getKind() != RepositoryEvent.ADDED)
-					return;
-				if (!event.getRepositoryLocation().equals(repoURL))
-					return;
-				wasEnabled[0] = event.isRepositoryEnabled();
-				callCount[0]++;
-			}
-		};
-		getEventBus().addListener(listener);
-		try {
-			//ensure refreshing the repository doesn't disable it
-			manager.refreshRepository(repoURL, null);
-			assertTrue("1.0", manager.isEnabled(repoURL));
-			assertTrue("1.1", wasEnabled[0]);
-			assertEquals("1.2", 1, callCount[0]);
-		} finally {
-			getEventBus().removeListener(listener);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerExceptionsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerExceptionsTest.java
deleted file mode 100644
index 872e252..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerExceptionsTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Tests for API of {@link IMetadataRepositoryManager}.
- */
-public class MetadataRepositoryManagerExceptionsTest extends AbstractProvisioningTest {
-	protected IMetadataRepositoryManager manager;
-	/**
-	 * Contains temp File handles that should be deleted at the end of the test.
-	 */
-	private final List toDelete = new ArrayList();
-
-	public static Test suite() {
-		return new TestSuite(MetadataRepositoryManagerExceptionsTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		manager = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.context, IMetadataRepositoryManager.SERVICE_NAME);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		for (Iterator it = toDelete.iterator(); it.hasNext();)
-			delete((File) it.next());
-		toDelete.clear();
-	}
-
-	/**
-	 * Adds a repository for a non existing site, should
-	 * return REPOSITORY_NOT_FOUND, since any other status code gets logged.
-	 * 
-	 * @throws URISyntaxException
-	 */
-	public void testFailedConnection() throws URISyntaxException {
-		//		URI location = new URI("invalid://example");
-		URI location = new URI("http://bogus.nowhere");
-		MetadataRepositoryFactory factory;
-
-		factory = new SimpleMetadataRepositoryFactory();
-		try {
-			factory.load(location, 0, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			assertEquals(ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-		factory = new UpdateSiteMetadataRepositoryFactory();
-		try {
-			factory.load(location, 0, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			assertEquals(ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
deleted file mode 100644
index 9f9f4e1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/MetadataRepositoryManagerTest.java
+++ /dev/null
@@ -1,588 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager;
-import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.SynchronousProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.*;
-
-/**
- * Tests for API of {@link IMetadataRepositoryManager}.
- */
-public class MetadataRepositoryManagerTest extends AbstractProvisioningTest {
-	protected IMetadataRepositoryManager manager;
-	/**
-	 * Contains temp File handles that should be deleted at the end of the test.
-	 */
-	private final List toDelete = new ArrayList();
-
-	public static Test suite() {
-		return new TestSuite(MetadataRepositoryManagerTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		manager = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.context, IMetadataRepositoryManager.SERVICE_NAME);
-		//only enable the failing repository factory for this test to avoid noise in other tests.
-		FailingMetadataRepositoryFactory.FAIL = true;
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		for (Iterator it = toDelete.iterator(); it.hasNext();)
-			delete((File) it.next());
-		toDelete.clear();
-		FailingMetadataRepositoryFactory.FAIL = false;
-	}
-
-	public void testBasicAddRemove() {
-		File tempFile = new File(System.getProperty("java.io.tmpdir"));
-		URI location = tempFile.toURI();
-		assertTrue(!managerContains(location));
-		manager.addRepository(location);
-		assertTrue(managerContains(location));
-		manager.removeRepository(location);
-		assertTrue(!managerContains(location));
-	}
-
-	/**
-	 * Tests for {@link IRepositoryManager#contains(URI).
-	 */
-	public void testContains() {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.removeRepository(location);
-		assertEquals("1.0", false, manager.contains(location));
-		manager.addRepository(location);
-		assertEquals("1.1", true, manager.contains(location));
-		manager.removeRepository(location);
-		assertEquals("1.2", false, manager.contains(location));
-	}
-
-	public void testEnablement() {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		assertEquals("1.0", true, manager.isEnabled(location));
-		TestRepositoryListener listener = new TestRepositoryListener(location);
-		getEventBus().addListener(listener);
-
-		manager.setEnabled(location, false);
-		listener.waitForEvent();
-		assertEquals("2.0", false, listener.lastEnablement);
-		assertEquals("2.1", false, manager.isEnabled(location));
-		listener.reset();
-
-		manager.setEnabled(location, true);
-		listener.waitForEvent();
-		assertEquals("3.0", true, listener.lastEnablement);
-		assertEquals("3.1", true, manager.isEnabled(location));
-		listener.reset();
-	}
-
-	/**
-	 * Adds a repository that has a non-standard (non ECF) scheme.  This should
-	 * return REPOSITORY_NOT_FOUND, since any other status code gets logged.
-	 * 
-	 * @throws URISyntaxException
-	 */
-	public void testFailedConnection() throws URISyntaxException {
-		URI location = new URI("invalid://example");
-		MetadataRepositoryFactory factory;
-
-		factory = new SimpleMetadataRepositoryFactory();
-		try {
-			factory.load(location, 0, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			assertEquals(ProvisionException.REPOSITORY_INVALID_LOCATION, e.getStatus().getCode());
-		}
-		factory = new UpdateSiteMetadataRepositoryFactory();
-		try {
-			factory.load(location, 0, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			assertEquals(ProvisionException.REPOSITORY_INVALID_LOCATION, e.getStatus().getCode());
-		}
-	}
-
-	/**
-	 * Tests that adding a repository that is already known but disabled
-	 * causes the repository to be enabled. See bug 241307 for discussion.
-	 */
-	public void testEnablementOnAdd() {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		manager.setEnabled(location, false);
-		TestRepositoryListener listener = new TestRepositoryListener(location);
-		getEventBus().addListener(listener);
-
-		//adding the location again should cause it to be enabled
-		manager.addRepository(location);
-		listener.waitForEvent();
-		assertEquals("1.0", true, listener.lastEnablement);
-		assertEquals("1.1", true, manager.isEnabled(location));
-	}
-
-	public void testGetKnownRepositories() throws ProvisionException {
-		int nonSystemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
-		int systemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_SYSTEM).length;
-		int allCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		assertEquals("1.0", allCount, nonSystemCount + systemCount);
-
-		//create a new repository
-		File repoLocation = getTempLocation();
-		IMetadataRepository testRepo = manager.createRepository(repoLocation.toURI(), "MetadataRepositoryManagerTest", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		int newNonSystemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
-		int newSystemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_SYSTEM).length;
-		int newAllCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-
-		//there should be one more non-system repository
-		assertEquals("2.0", nonSystemCount + 1, newNonSystemCount);
-		assertEquals("2.1", systemCount, newSystemCount);
-		assertEquals("2.2", allCount + 1, newAllCount);
-
-		//make the repository a system repository
-		testRepo.setProperty(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-
-		//there should be one more system repository
-		newNonSystemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_NON_SYSTEM).length;
-		newSystemCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_SYSTEM).length;
-		newAllCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		assertEquals("3.0", nonSystemCount, newNonSystemCount);
-		assertEquals("3.1", systemCount + 1, newSystemCount);
-		assertEquals("3.2", allCount + 1, newAllCount);
-
-		int disabledCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_DISABLED).length;
-		allCount = newAllCount;
-
-		//mark the repository as disabled
-		manager.setEnabled(testRepo.getLocation(), false);
-
-		//should be one less enabled repository and one more disabled repository
-		int newDisabledCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_DISABLED).length;
-		newAllCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		assertEquals("4.0", disabledCount + 1, newDisabledCount);
-		assertEquals("4.1", allCount - 1, newAllCount);
-
-		//re-loading the repository should not change anything
-		manager.loadRepository(testRepo.getLocation(), null);
-		newDisabledCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_DISABLED).length;
-		newAllCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		assertEquals("5.0", disabledCount + 1, newDisabledCount);
-		assertEquals("5.1", allCount - 1, newAllCount);
-
-		//re-enable the repository
-		manager.setEnabled(testRepo.getLocation(), true);
-
-		//should be back to the original counts
-		newDisabledCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_DISABLED).length;
-		newAllCount = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL).length;
-		assertEquals("6.0", disabledCount, newDisabledCount);
-		assertEquals("6.1", allCount, newAllCount);
-	}
-
-	/**
-	 * Tests contention for the repository load lock
-	 */
-	public void testLoadContention() {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		final URI location = site.toURI();
-		final List<Exception> failures = new ArrayList<Exception>();
-		final IMetadataRepositoryManager repoManager = getMetadataRepositoryManager();
-		class LoadJob extends Job {
-			LoadJob() {
-				super("");
-			}
-
-			@Override
-			protected IStatus run(IProgressMonitor monitor) {
-				for (int i = 0; i < 100; i++) {
-					try {
-						repoManager.loadRepository(location, null);
-					} catch (Exception e) {
-						failures.add(e);
-					}
-				}
-				return Status.OK_STATUS;
-			}
-		}
-		Job job1 = new LoadJob();
-		Job job2 = new LoadJob();
-		job1.schedule();
-		job2.schedule();
-		try {
-			job1.join();
-			job2.join();
-		} catch (InterruptedException e) {
-			fail("4.99", e);
-		}
-		if (!failures.isEmpty())
-			fail("1.0", failures.iterator().next());
-	}
-
-	/**
-	 * Tests loading a repository that does not exist throws an appropriate exception.
-	 */
-	public void testLoadMissingRepository() throws IOException {
-		File tempFile = File.createTempFile("testLoadMissingArtifactRepository", null);
-		tempFile.delete();
-		URI location = tempFile.toURI();
-		try {
-			manager.loadRepository(location, null);
-			fail("1.0");//should fail
-		} catch (ProvisionException e) {
-			assertEquals("1.1", IStatus.ERROR, e.getStatus().getSeverity());
-			assertEquals("1.2", ProvisionException.REPOSITORY_NOT_FOUND, e.getStatus().getCode());
-		}
-	}
-
-	/**
-	 * Tests that loading a disabled system repository does not damage its properties.
-	 * This is a regression test for bug 267707.
-	 */
-	public void testLoadDisabledSystemRepository() throws ProvisionException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/goodNonSystem/");
-		URI location = site.toURI();
-		manager.removeRepository(location);
-		manager.addRepository(location);
-		manager.setEnabled(location, false);
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, String.valueOf(true));
-		manager.loadRepository(location, getMonitor());
-
-		//simulate shutdown/restart by bashing repository manager field
-		Field field = AbstractRepositoryManager.class.getDeclaredField("repositories");
-		field.setAccessible(true);
-		field.set(manager, null);
-
-		String system = manager.getRepositoryProperty(location, IRepository.PROP_SYSTEM);
-		assertEquals("true", system);
-		assertFalse(manager.isEnabled(location));
-
-	}
-
-	/**
-	 * Tests loading a repository that is malformed
-	 */
-	public void testLoadBrokenRepository() {
-		File site = getTestData("Repository", "/testData/metadataRepo/bad/");
-		URI location = site.toURI();
-		try {
-			manager.loadRepository(location, null);
-			fail("1.0");//should fail
-		} catch (ProvisionException e) {
-			assertEquals("1.1", IStatus.ERROR, e.getStatus().getSeverity());
-			assertEquals("1.2", ProvisionException.REPOSITORY_FAILED_READ, e.getStatus().getCode());
-		}
-	}
-
-	/**
-	 * Tests loading a repository that is malformed, that is co-located with a well-formed
-	 * update site repository. The load should fail due to the malformed simple repository,
-	 * and not fall back to the well-formed update site repository. See bug 247566 for details.
-	 */
-	public void testLoadBrokenSimpleRepositoryWithGoodUpdateSite() {
-		File site = getTestData("Repository", "/testData/metadataRepo/badSimpleGoodUpdateSite/");
-		URI location = site.toURI();
-		try {
-			manager.loadRepository(location, null);
-			fail("1.0");//should fail
-		} catch (ProvisionException e) {
-			assertEquals("1.1", IStatus.ERROR, e.getStatus().getSeverity());
-			assertEquals("1.2", ProvisionException.REPOSITORY_FAILED_READ, e.getStatus().getCode());
-		}
-	}
-
-	/**
-	 * Tests that we don't create a local cache when contacting a local metadata repository.
-	 */
-	public void testMetadataCachingLocalRepo() throws ProvisionException {
-		File repoLocation = getTempLocation();
-		IAgentLocation agentLocation = (IAgentLocation) ServiceHelper.getService(TestActivator.getContext(), IAgentLocation.class.getName());
-		URI dataArea = agentLocation.getDataArea("org.eclipse.equinox.p2.metadata.repository/cache/");
-		File dataAreaFile = URIUtil.toFile(dataArea);
-		File cacheFileXML = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".xml");
-		File cacheFileJAR = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".jar");
-
-		// create a local repository
-		manager.createRepository(repoLocation.toURI(), "MetadataRepositoryCachingTest", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		manager.loadRepository(repoLocation.toURI(), null);
-
-		// check that a local cache was not created
-		assertFalse("Cache file was created.", cacheFileXML.exists() || cacheFileJAR.exists());
-	}
-
-	/**
-	 * Tests that local caching of remote metadata repositories works, and that the
-	 * cache is updated when it becomes stale.
-	 */
-	public void testMetadataCachingRemoteRepo() throws URISyntaxException, ProvisionException {
-		URI repoLocation = new URI("http://download.eclipse.org/eclipse/updates/3.4milestones/");
-		if (!repoAvailable(repoLocation))
-			return;
-		IAgentLocation agentLocation = (IAgentLocation) ServiceHelper.getService(TestActivator.getContext(), IAgentLocation.class.getName());
-		URI dataArea = agentLocation.getDataArea("org.eclipse.equinox.p2.metadata.repository/cache/");
-		File dataAreaFile = URIUtil.toFile(dataArea);
-		File cacheFileXML = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".xml");
-		File cacheFileJAR = new File(dataAreaFile, "content" + repoLocation.hashCode() + ".jar");
-		File cacheFile;
-
-		// load a remote repository and check that a local cache was created
-		manager.loadRepository(repoLocation, null);
-		assertTrue("Cache file was not created.", cacheFileXML.exists() || cacheFileJAR.exists());
-		if (cacheFileXML.exists())
-			cacheFile = cacheFileXML;
-		else
-			cacheFile = cacheFileJAR;
-
-		// modify the last modified date to be older than the remote file
-		cacheFile.setLastModified(0);
-		// reload the repository and check that the cache was updated
-		manager.removeRepository(repoLocation);
-		manager.loadRepository(repoLocation, null);
-		long lastModified = cacheFile.lastModified();
-		assertTrue(0 != lastModified);
-
-		// reload the repository and check that the cache was not updated
-		manager.loadRepository(repoLocation, null);
-		assertEquals(lastModified, cacheFile.lastModified());
-
-		cacheFile.delete();
-	}
-
-	public void testNickname() throws ProvisionException {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		String nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertNull(nick);
-		nick = "Nick";
-		manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, nick);
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertEquals("Nick", nick);
-		//ensure loading the repository doesn't affect the nickname
-		manager.loadRepository(location, getMonitor());
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertEquals("Nick", nick);
-
-		//remove and re-add the repository should lose the nickname
-		manager.removeRepository(location);
-		manager.loadRepository(location, getMonitor());
-		nick = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME);
-		assertNull(nick);
-	}
-
-	public void testPathWithSpaces() {
-		File site = getTestData("Repository", "/testData/metadataRepo/good with spaces/");
-		URI location = site.toURI();
-		try {
-			IMetadataRepository repository = manager.loadRepository(location, getMonitor());
-			Collector result = repository.query(new InstallableUnitQuery("test.bundle"), getMonitor());
-			assertEquals("1.0", 1, result.size());
-		} catch (ProvisionException e) {
-			fail("=.99", e);
-		}
-	}
-
-	public void testRelativePath() throws URISyntaxException {
-		URI location = new URI("test");
-		try {
-			manager.loadRepository(location, getMonitor());
-			fail();
-		} catch (IllegalArgumentException e) {
-			//expected
-		} catch (ProvisionException e) {
-			fail("4.99", e);
-		}
-		IStatus result = manager.validateRepositoryLocation(location, null);
-		assertEquals("2.0", IStatus.ERROR, result.getSeverity());
-	}
-
-	/**
-	 * Tests for {@link IMetadataRepositoryManager#refreshRepository(URI, org.eclipse.core.runtime.IProgressMonitor)}.
-	 */
-	public void testRefresh() throws ProvisionException {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.addRepository(location);
-		manager.refreshRepository(location, getMonitor());
-		assertTrue("1.0", manager.contains(location));
-		assertTrue("1.1", manager.isEnabled(location));
-
-		//tests that refreshing doesn't lose repository properties
-		manager.setEnabled(location, false);
-		manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, "MyNick");
-		manager.refreshRepository(location, getMonitor());
-		assertTrue("2.0", manager.contains(location));
-		assertFalse("2.1", manager.isEnabled(location));
-		assertEquals("2.2", "MyNick", manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME));
-	}
-
-	/**
-	 * Repository references were originally encoded as URL, but we now encode
-	 * as URI. This test ensures we handle both old and new references.
-	 */
-	public void testRepositoryReferenceCompatibility() throws URISyntaxException {
-		File site = getTestData("Repository", "/testData/metadataRepo/unencodedreporeferences/");
-		URI location = site.toURI();
-		final List references = new ArrayList();
-		ProvisioningListener referenceCollector = new SynchronousProvisioningListener() {
-			public void notify(EventObject o) {
-				if (!(o instanceof RepositoryEvent))
-					return;
-				RepositoryEvent event = (RepositoryEvent) o;
-				if (event.getKind() == RepositoryEvent.DISCOVERED)
-					references.add(event.getRepositoryLocation());
-			}
-		};
-		getEventBus().addListener(referenceCollector);
-		try {
-			manager.loadRepository(location, getMonitor());
-		} catch (ProvisionException e) {
-			fail("=.99", e);
-		} finally {
-			getEventBus().removeListener(referenceCollector);
-		}
-		assertEquals("1.0", 4, references.size());
-		assertTrue("1.1", references.contains(new URI("http://download.eclipse.org/url/with/spaces/a%20b")));
-		assertTrue("1.2", references.contains(new URI("file:/c:/tmp/url%20with%20spaces/")));
-		assertTrue("1.3", references.contains(new URI("http://download.eclipse.org/uri/with/spaces/a%20b")));
-		assertTrue("1.4", references.contains(new URI("file:/c:/tmp/uri%20with%20spaces/")));
-	}
-
-	/**
-	 * Tests for {@link IRepositoryManager#setRepositoryProperty}.
-	 */
-	public void testSetRepositoryProperty() {
-		File site = getTestData("Repositoy", "/testData/metadataRepo/good/");
-		URI location = site.toURI();
-		manager.removeRepository(location);
-		manager.addRepository(location);
-
-		//set some properties different from what the repository contains
-		manager.setRepositoryProperty(location, IRepository.PROP_NAME, "TestName");
-		manager.setRepositoryProperty(location, IRepository.PROP_DESCRIPTION, "TestDescription");
-		manager.setRepositoryProperty(location, IRepository.PROP_SYSTEM, "false");
-		assertEquals("1.0", "TestName", manager.getRepositoryProperty(location, IRepository.PROP_NAME));
-		assertEquals("1.1", "TestDescription", manager.getRepositoryProperty(location, IRepository.PROP_DESCRIPTION));
-		assertEquals("1.2", "false", manager.getRepositoryProperty(location, IRepository.PROP_SYSTEM));
-
-		//loading the repository should overwrite test values
-		try {
-			manager.loadRepository(location, getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-
-		assertEquals("2.0", "Good Test Repository", manager.getRepositoryProperty(location, IRepository.PROP_NAME));
-		assertEquals("2.1", "Good test repository description", manager.getRepositoryProperty(location, IRepository.PROP_DESCRIPTION));
-		assertEquals("2.2", "true", manager.getRepositoryProperty(location, IRepository.PROP_SYSTEM));
-	}
-
-	/**
-	 * Tests that trailing slashes do not affect repository identity.
-	 */
-	public void testTrailingSlashes() {
-		File site = getTestData("Repository", "/testData/metadataRepo/good/");
-		URI locationSlash, locationNoSlash;
-		try {
-			locationSlash = site.toURI();
-			String locationString = locationSlash.toString();
-			locationString = locationString.substring(0, locationString.length() - 1);
-			locationNoSlash = new URI(locationString);
-		} catch (URISyntaxException e) {
-			fail("0.99", e);
-			return;
-		}
-
-		manager.addRepository(locationNoSlash);
-		try {
-			IMetadataRepository repoSlash = manager.loadRepository(locationSlash, null);
-			IMetadataRepository repoNoSlash = manager.loadRepository(locationNoSlash, null);
-			assertTrue("1.0", repoNoSlash == repoSlash);
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-	}
-
-	private boolean repoAvailable(URI repoLocation) {
-		try {
-			repoLocation.toURL().openStream().close();
-		} catch (IOException e) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Returns a non-existent file that can be used to write a temporary
-	 * file or directory. The location will be deleted in the test tearDown method.
-	 */
-	private File getTempLocation() {
-		File tempDir = new File(System.getProperty("java.io.tmpdir"));
-		File tempFile = new File(tempDir, "MetadataRepositoryManagerTest");
-		delete(tempFile);
-		assertTrue(!tempFile.exists());
-		toDelete.add(tempFile);
-		return tempFile;
-	}
-
-	public void testFailureAddRemove() {
-		try {
-			manager.addRepository(null);
-			fail();
-		} catch (RuntimeException e) {
-			//expected
-		}
-		try {
-			manager.removeRepository(null);
-			fail();
-		} catch (RuntimeException e) {
-			//expected
-		}
-	}
-
-	/**
-	 * Returns whether {@link IMetadataRepositoryManager} contains a reference
-	 * to a repository at the given location.
-	 */
-	private boolean managerContains(URI location) {
-		URI[] locations = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < locations.length; i++) {
-			if (locations[i].equals(location))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/NoFailOver.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/NoFailOver.java
deleted file mode 100644
index 84752a3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/NoFailOver.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.io.File;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests that failing to load an invalid p2 repository doesn't result in a legacy
- * Update Site at the same location being loaded. For details see
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=273756.
- */
-public class NoFailOver extends AbstractProvisioningTest {
-	/**
-	 * Tests fail over on an metadata repository
-	 */
-	public void testMetadataDoesNotOver() {
-		File repoLocation = getTestData("fail over", "testData/noFailOver");
-		try {
-			getMetadataRepositoryManager().loadRepository(repoLocation.toURI(), null);
-			fail("The repository should not have been loaded");
-		} catch (ProvisionException e) {
-			return;
-		}
-	}
-
-	/**
-	 * Tests fail over on an artifact repository
-	 */
-	public void testArtifactDoesNotOver() {
-		File repoLocation = getTestData("fail over", "testData/noFailOver");
-		try {
-			getArtifactRepositoryManager().loadRepository(repoLocation.toURI(), null);
-			fail("The repository should not have been loaded");
-		} catch (ProvisionException e) {
-			return;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ResumeDownloadTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ResumeDownloadTest.java
deleted file mode 100644
index c86cf93..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ResumeDownloadTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.net.URI;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ecf.filetransfer.IFileRangeSpecification;
-import org.eclipse.ecf.filetransfer.IIncomingFileTransfer;
-import org.eclipse.equinox.internal.p2.repository.FileReader;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-public class ResumeDownloadTest extends TestCase {
-	private static String UPDATE_SITE = "http://download.eclipse.org/eclipse/updates/3.4";
-	private IMetadataRepositoryManager mgr;
-	private URI repoLoc;
-	private String originalResumeProp;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		repoLoc = new URI(UPDATE_SITE);
-		originalResumeProp = System.getProperty("org.eclipse.equinox.p2.metadata.repository.resumable", "true");
-
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-		mgr.removeRepository(repoLoc);
-		if (mgr.contains(repoLoc))
-			throw new RuntimeException("Error - An earlier test did not leave a clean state - could not remove repo");
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		FileReader.setTestProbe(null);
-		// reset the resume property to what it was before the test.
-		System.setProperty("org.eclipse.equinox.p2.metadata.repository.resumable", originalResumeProp);
-		mgr.removeRepository(repoLoc);
-	}
-
-	public void testResume() throws ProvisionException {
-		boolean caught = false;
-		try {
-			FileReader.setTestProbe(new CancelSimulator());
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			/* ignore - the operation is supposed to be canceled */
-			caught = true;
-		}
-		assertTrue("Cancel should have been caught (1)", caught);
-		caught = false;
-		FileReader.setTestProbe(null);
-
-		FileReader.setTestProbe(new ResumeCheck());
-		// Try again - this time it should resume
-		mgr.loadRepository(repoLoc, null);
-
-		assertTrue("Cancelation was made before entire file was downloaded", bytesReceived < entireLength);
-		assertEquals("First+remaining size equals entire size", bytesReceived + remainingLength, entireLength);
-		assertTrue("Remaining length smaller than entire length", entireLength > remainingLength);
-
-	}
-
-	public void testResumeTwice() throws ProvisionException {
-		boolean caught = false;
-		try {
-			FileReader.setTestProbe(new CancelSimulator());
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			/* ignore - the operation is supposed to be canceled */
-			caught = true;
-		}
-		assertTrue("Cancel should have been caught (1)", caught);
-		caught = false;
-
-		try {
-			FileReader.setTestProbe(new CancelSimulator());
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			/* ignore - the operation is supposed to be canceled */
-			caught = true;
-		}
-		assertTrue("Cancel should have been caught (2)", caught);
-		caught = false;
-		FileReader.setTestProbe(null);
-
-		FileReader.setTestProbe(new ResumeCheck());
-		mgr.loadRepository(repoLoc, null);
-
-		assertTrue("Cancelation was made before entire file was downloaded", bytesReceived < entireLength);
-		assertEquals("First+remaining size equals entire size", bytesReceived + remainingLength, entireLength);
-		assertTrue("Remaining length smaller than entire length", entireLength > remainingLength);
-
-	}
-
-	public void testBlockedResume() throws ProvisionException {
-		// block the resume functionality
-		System.setProperty("org.eclipse.equinox.p2.metadata.repository.resumable", "false");
-
-		boolean caught = false;
-		try {
-			FileReader.setTestProbe(new CancelSimulator());
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			/* ignore - the operation is supposed to be canceled */
-			caught = true;
-		}
-		assertTrue("Cancel should have been caught (1)", caught);
-		caught = false;
-		FileReader.setTestProbe(null);
-
-		FileReader.setTestProbe(new ResumeCheck());
-		// Try again - this time it should NOT resume
-		mgr.loadRepository(repoLoc, null);
-
-		assertTrue("Cancelation was made before entire file was downloaded", bytesReceived < entireLength);
-		assertEquals("Resume starts at 0", 0L, resumeStart);
-		assertEquals("Remaining length == original length", entireLength, remainingLength);
-
-	}
-
-	protected long bytesReceived = 0L;
-	protected long entireLength = 0L;
-	protected long resumeStart = 0L;
-	protected long remainingLength = 0L;
-	protected long resumedReceived = 0L;
-
-	private class CancelSimulator implements FileReader.IFileReaderProbe {
-
-		public CancelSimulator() {
-			//
-		}
-
-		public void onData(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			bytesReceived = source.getBytesReceived();
-			if (bytesReceived > 1000)
-				monitor.setCanceled(true);
-		}
-
-		public void onDone(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			bytesReceived = source.getBytesReceived();
-		}
-
-		public void onStart(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			entireLength = source.getFileLength();
-		}
-
-	}
-
-	private class ResumeCheck implements FileReader.IFileReaderProbe {
-
-		public ResumeCheck() {
-			//
-		}
-
-		public void onData(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			resumedReceived = source.getBytesReceived();
-		}
-
-		public void onDone(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			/* ignore */
-		}
-
-		public void onStart(FileReader reader, IIncomingFileTransfer source, IProgressMonitor monitor) {
-			IFileRangeSpecification spec = source.getFileRangeSpecification();
-			resumeStart = spec == null ? 0L : spec.getStartPosition();
-			remainingLength = source.getFileLength();
-
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java
deleted file mode 100644
index e868210..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java
+++ /dev/null
@@ -1,832 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2008, 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import org.eclipse.equinox.p2.metadata.ICopyright;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitPatchDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Test API of the metadata interfaces with an SPI implementation.
- */
-public class SPIMetadataRepositoryTest extends AbstractProvisioningTest {
-	protected File repoLocation;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		repoLocation = new File(tempDir, "SPILocalMetadataRepositoryTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		repoLocation.mkdir();
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(repoLocation.toURI());
-		delete(repoLocation);
-		super.tearDown();
-	}
-
-	class SPIRequiredCapability extends MatchQuery implements IRequiredCapability {
-		LDAPQuery filter;
-		String name;
-		String namespace;
-		VersionRange versionRange;
-		boolean isGreedy;
-		int min;
-		int max;
-
-		public SPIRequiredCapability(String namespace, String name, VersionRange versionRange, String filter, boolean isGreedy, boolean isMultiple, boolean isOptional) {
-			this.namespace = namespace;
-			this.name = name;
-			this.versionRange = versionRange;
-			setFilter(filter);
-			this.isGreedy = isGreedy;
-			this.min = isOptional ? 0 : 1;
-			this.max = 1;
-		}
-
-		public SPIRequiredCapability(String namespace, String name, VersionRange versionRange) {
-			this.namespace = namespace;
-			this.name = name;
-			this.versionRange = versionRange;
-		}
-
-		public IQuery getFilter() {
-			return this.filter;
-		}
-
-		public String getName() {
-			return this.name;
-		}
-
-		public String getNamespace() {
-			return this.namespace;
-		}
-
-		public VersionRange getRange() {
-			return this.versionRange;
-		}
-
-		public boolean isGreedy() {
-			return isGreedy;
-		}
-
-		public void setFilter(String filter) {
-			if (filter != null) {
-				this.filter = new LDAPQuery(filter);
-			}
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof IRequiredCapability))
-				return false;
-			final IRequiredCapability other = (IRequiredCapability) obj;
-			if (filter == null) {
-				if (other.getFilter() != null)
-					return false;
-			} else if (!filter.equals(other.getFilter()))
-				return false;
-			if (!name.equals(other.getName()))
-				return false;
-			if (!namespace.equals(other.getNamespace()))
-				return false;
-			if (other.getMin() != this.getMin())
-				return false;
-			if (other.getMax() != this.getMax())
-				return false;
-			if (!versionRange.equals(other.getRange()))
-				return false;
-			return true;
-		}
-
-		public boolean isNegation() {
-			return false;
-		}
-
-		public boolean satisfiedBy(IProvidedCapability cap) {
-			if (getName() == null || !getName().equals(cap.getName()))
-				return false;
-			if (getNamespace() == null || !getNamespace().equals(cap.getNamespace()))
-				return false;
-			return getRange().isIncluded(cap.getVersion());
-		}
-
-		public int getMin() {
-			return min;
-		}
-
-		public int getMax() {
-			return max;
-		}
-
-		public IQuery getMatches() {
-			return this;
-		}
-
-		public boolean isMatch(Object object) {
-			if (!(object instanceof IInstallableUnit))
-				return false;
-			IInstallableUnit candidate = (IInstallableUnit) object;
-			if (!candidate.satisfies((IRequirement) this))
-				return false;
-			return true;
-		}
-	}
-
-	class SPIProvidedCapability implements IProvidedCapability {
-
-		String namespace = null;
-		String name = null;
-		Version version = null;
-
-		public SPIProvidedCapability(String namespace, String name, Version version) {
-			this.namespace = namespace;
-			this.name = name;
-			this.version = version;
-		}
-
-		public boolean equals(Object other) {
-			if (other == null)
-				return false;
-			if (!(other instanceof IProvidedCapability))
-				return false;
-			IProvidedCapability otherCapability = (IProvidedCapability) other;
-			if (!(namespace.equals(otherCapability.getNamespace())))
-				return false;
-			if (!(name.equals(otherCapability.getName())))
-				return false;
-			return true;
-		}
-
-		public String getName() {
-			return this.name;
-		}
-
-		public String getNamespace() {
-			return this.namespace;
-		}
-
-		public Version getVersion() {
-			return this.version;
-		}
-
-		public boolean satisfies(IRequirement candidate) {
-			return false;
-		}
-
-	}
-
-	class SPIInstallableUnit implements IInstallableUnit {
-
-		List artifacts = new ArrayList();
-		List fragments = new ArrayList();
-		List requiredCapabilities = new ArrayList();
-		List providedCapabilities = new ArrayList();
-		List touchpointData = new ArrayList();
-		ICopyright copyright = null;
-		LDAPQuery filter = null;
-		String id = null;
-		ILicense[] license = null;
-		Map properties = new HashMap();
-		ITouchpointType touchpointType = null;
-		IUpdateDescriptor updateDescriptor = null;
-		Version version = null;
-		boolean isFragment;
-		boolean isResolved;
-		boolean isSingleton;
-
-		public SPIInstallableUnit(String id, Version version) {
-			this.id = id;
-			this.version = version;
-		}
-
-		public void addProvidedCapability(IProvidedCapability providedCapability) {
-			this.providedCapabilities.add(providedCapability);
-		}
-
-		public IArtifactKey[] getArtifacts() {
-			return (IArtifactKey[]) this.artifacts.toArray(new IArtifactKey[artifacts.size()]);
-		}
-
-		public ICopyright getCopyright() {
-			return this.copyright;
-		}
-
-		public IQuery getFilter() {
-			return this.filter;
-		}
-
-		public IInstallableUnitFragment[] getFragments() {
-			return (IInstallableUnitFragment[]) this.fragments.toArray(new IInstallableUnitFragment[fragments.size()]);
-		}
-
-		public String getId() {
-			return this.id;
-		}
-
-		public ILicense[] getLicenses() {
-			return this.license;
-		}
-
-		public Map getProperties() {
-			return this.properties;
-		}
-
-		public String getProperty(String key) {
-			return (String) this.properties.get(key);
-		}
-
-		public IProvidedCapability[] getProvidedCapabilities() {
-			return (IProvidedCapability[]) this.providedCapabilities.toArray(new IProvidedCapability[profilesToRemove.size()]);
-		}
-
-		public IRequiredCapability[] getRequiredCapabilities() {
-			return (IRequiredCapability[]) this.requiredCapabilities.toArray(new IRequiredCapability[requiredCapabilities.size()]);
-		}
-
-		public ITouchpointData[] getTouchpointData() {
-			return (ITouchpointData[]) this.touchpointData.toArray(new ITouchpointData[touchpointData.size()]);
-		}
-
-		public ITouchpointType getTouchpointType() {
-			if (this.touchpointType == null)
-				return ITouchpointType.NONE;
-			return this.touchpointType;
-		}
-
-		public IUpdateDescriptor getUpdateDescriptor() {
-			return this.updateDescriptor;
-		}
-
-		public Version getVersion() {
-			return this.version;
-		}
-
-		public boolean isFragment() {
-			return this.isFragment;
-		}
-
-		public boolean isResolved() {
-			return this.isResolved;
-		}
-
-		public boolean isSingleton() {
-			return this.isSingleton;
-		}
-
-		public boolean satisfies(IRequirement candidate) {
-			IProvidedCapability[] provides = getProvidedCapabilities();
-			for (int i = 0; i < provides.length; i++)
-				if (provides[i].satisfies(candidate))
-					return true;
-			return false;
-		}
-
-		public IInstallableUnit unresolved() {
-			return this;
-		}
-
-		public int compareTo(Object toCompareTo) {
-			if (!(toCompareTo instanceof IInstallableUnit)) {
-				return -1;
-			}
-			IInstallableUnit other = (IInstallableUnit) toCompareTo;
-			if (getId().compareTo(other.getId()) == 0)
-				return (getVersion().compareTo(other.getVersion()));
-			return getId().compareTo(other.getId());
-		}
-
-		public IRequiredCapability[] getMetaRequiredCapabilities() {
-			return null;
-		}
-
-	}
-
-	class SPITouchpointData implements ITouchpointData {
-
-		Map instructions = new HashMap();
-
-		public ITouchpointInstruction getInstruction(String instructionKey) {
-			return (ITouchpointInstruction) instructions.get(instructionKey);
-		}
-
-		public void addInstruction(String instructionKey, ITouchpointInstruction instruction) {
-			this.instructions.put(instructionKey, instruction);
-		}
-
-		public Map getInstructions() {
-			return this.instructions;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof ITouchpointData))
-				return false;
-			final ITouchpointData other = (ITouchpointData) obj;
-			if (instructions == null) {
-				if (other.getInstructions() != null)
-					return false;
-			} else if (!instructions.equals(other.getInstructions()))
-				return false;
-			return true;
-		}
-	}
-
-	class SPITouchpointInstruction implements ITouchpointInstruction {
-
-		private String body;
-		private String importAttribute;
-
-		public SPITouchpointInstruction(String body, String importAttribute) {
-			this.body = body;
-			this.importAttribute = importAttribute;
-		}
-
-		public String getBody() {
-			return this.body;
-		}
-
-		public String getImportAttribute() {
-			return this.importAttribute;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof ITouchpointInstruction))
-				return false;
-			ITouchpointInstruction other = (ITouchpointInstruction) obj;
-			if (body == null) {
-				if (other.getBody() != null)
-					return false;
-			} else if (!body.equals(other.getBody()))
-				return false;
-			if (importAttribute == null) {
-				if (other.getImportAttribute() != null)
-					return false;
-			} else if (!importAttribute.equals(other.getImportAttribute()))
-				return false;
-			return true;
-		}
-	}
-
-	class SPITouchpointType implements ITouchpointType {
-
-		private String id;
-		private Version version;
-
-		public SPITouchpointType(String id, Version version) {
-			this.id = id;
-			this.version = version;
-		}
-
-		public String getId() {
-			return this.id;
-		}
-
-		public Version getVersion() {
-			return this.version;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (super.equals(obj))
-				return true;
-			if (obj == null || !(obj instanceof ITouchpointType))
-				return false;
-			ITouchpointType other = (ITouchpointType) obj;
-			return id.equals(other.getId()) && version.equals(other.getVersion());
-		}
-	}
-
-	class SPIRequirementChange implements IRequirementChange {
-
-		private IRequiredCapability applyOn;
-		private IRequiredCapability newValue;
-
-		public SPIRequirementChange(IRequiredCapability applyOn2, IRequiredCapability newValue2) {
-			if (applyOn2 == null && newValue2 == null)
-				throw new IllegalArgumentException();
-			this.applyOn = applyOn2;
-			this.newValue = newValue2;
-		}
-
-		public IRequiredCapability applyOn() {
-			return applyOn;
-		}
-
-		public IRequiredCapability newValue() {
-			return newValue;
-		}
-
-		public boolean matches(IRequiredCapability toMatch) {
-			if (!toMatch.getNamespace().equals(applyOn.getNamespace()))
-				return false;
-			if (!toMatch.getName().equals(applyOn.getName()))
-				return false;
-			if (toMatch.getRange().equals(applyOn.getRange()))
-				return true;
-
-			return intersect(toMatch.getRange(), applyOn.getRange()) == null ? false : true;
-		}
-
-		private VersionRange intersect(VersionRange r1, VersionRange r2) {
-			Version resultMin = null;
-			boolean resultMinIncluded = false;
-			Version resultMax = null;
-			boolean resultMaxIncluded = false;
-
-			int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
-			if (minCompare < 0) {
-				resultMin = r2.getMinimum();
-				resultMinIncluded = r2.getIncludeMinimum();
-			} else if (minCompare > 0) {
-				resultMin = r1.getMinimum();
-				resultMinIncluded = r1.getIncludeMinimum();
-			} else if (minCompare == 0) {
-				resultMin = r1.getMinimum();
-				resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
-			}
-
-			int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
-			if (maxCompare > 0) {
-				resultMax = r2.getMaximum();
-				resultMaxIncluded = r2.getIncludeMaximum();
-			} else if (maxCompare < 0) {
-				resultMax = r1.getMaximum();
-				resultMaxIncluded = r1.getIncludeMaximum();
-			} else if (maxCompare == 0) {
-				resultMax = r1.getMaximum();
-				resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
-			}
-
-			int resultRangeComparison = resultMin.compareTo(resultMax);
-			if (resultRangeComparison < 0)
-				return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
-			else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded)
-				return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
-			else
-				return null;
-		}
-
-		public int hashCode() {
-			final int prime = 31;
-			int result = 1;
-			result = prime * result + ((applyOn == null) ? 0 : applyOn.hashCode());
-			result = prime * result + ((newValue == null) ? 0 : newValue.hashCode());
-			return result;
-		}
-
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (obj == null)
-				return false;
-			if (!(obj instanceof IRequirementChange))
-				return false;
-			final IRequirementChange other = (IRequirementChange) obj;
-			if (applyOn == null) {
-				if (other.applyOn() != null)
-					return false;
-			} else if (!applyOn.equals(other.applyOn()))
-				return false;
-			if (newValue == null) {
-				if (other.newValue() != null)
-					return false;
-			} else if (!newValue.equals(other.newValue()))
-				return false;
-			return true;
-		}
-
-		public String toString() {
-			return applyOn + " --> " + newValue; //$NON-NLS-1$
-		}
-
-	}
-
-	class SPILicense implements ILicense {
-
-		private String body;
-		private URI location;
-
-		public SPILicense(String body, URI location) {
-			this.body = body;
-			this.location = location;
-		}
-
-		public String getBody() {
-			return this.body;
-		}
-
-		public BigInteger getDigest() {
-			return this.calculateLicenseDigest();
-		}
-
-		public URI getLocation() {
-			return this.location;
-		}
-
-		public boolean equals(Object obj) {
-			if (obj == this)
-				return true;
-			if (obj == null)
-				return false;
-			if (obj instanceof ILicense) {
-				ILicense other = (ILicense) obj;
-				if (other.getDigest().equals(getDigest()))
-					return true;
-			}
-			return false;
-		}
-
-		private BigInteger calculateLicenseDigest() {
-			String message = normalize(getBody());
-			try {
-				MessageDigest algorithm = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
-				algorithm.reset();
-				algorithm.update(message.getBytes("UTF-8")); //$NON-NLS-1$
-				byte[] digestBytes = algorithm.digest();
-				return new BigInteger(1, digestBytes);
-			} catch (NoSuchAlgorithmException e) {
-				throw new RuntimeException(e);
-			} catch (UnsupportedEncodingException e) {
-				throw new RuntimeException(e);
-			}
-		}
-
-		private String normalize(String license) {
-			String text = license.trim();
-			StringBuffer result = new StringBuffer();
-			int length = text.length();
-			for (int i = 0; i < length; i++) {
-				char c = text.charAt(i);
-				boolean foundWhitespace = false;
-				while (Character.isWhitespace(c) && i < length) {
-					foundWhitespace = true;
-					c = text.charAt(++i);
-				}
-				if (foundWhitespace)
-					result.append(' ');
-				if (i < length)
-					result.append(c);
-			}
-			return result.toString();
-		}
-
-	}
-
-	class AllAcceptingQuery extends MatchQuery {
-		public boolean isMatch(Object candidate) {
-			return true;
-		}
-	}
-
-	/**
-	 * This test cases creates an SPI implementation of an IU and writes it to a repository.  
-	 * If the repository is Cached, it reads back the SPI implementation. If the repository is
-	 * not cached, it reads back the default (InstallableUnit) implementation.
-	 * 
-	 * @throws ProvisionException
-	 */
-	public void testSPIMetadataIU() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-
-		repo.addInstallableUnits(new IInstallableUnit[] {new SPIInstallableUnit("foo", Version.createOSGi(1, 1, 1))});
-
-		Collector collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		Collection collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		assertTrue("Repo contains SPI IU)", collection.iterator().next() instanceof SPIInstallableUnit);
-
-		repo = manager.refreshRepository(repoLocation.toURI(), null);
-		collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		assertTrue("Refreshed repo contains default IU", collection.iterator().next() instanceof InstallableUnit);
-	}
-
-	/**
-	 * This test cases creates an SPI IU and adds a default provided capability. It ensures that 
-	 * you can write this type of repository and read it back again.  If you read it back, and it is cached,
-	 * you get the SPI IU, otherwise you get the default (InstallableUnit) IU.
-	 * 
-	 * @throws ProvisionException
-	 */
-	public void testProvidedCapabilitywithSPI_IU() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		IProvidedCapability providedCapability = MetadataFactory.createProvidedCapability("foo", "bar", Version.createOSGi(1, 0, 0));
-
-		SPIInstallableUnit spiInstallableUnit = new SPIInstallableUnit("foo", Version.createOSGi(1, 1, 1));
-		spiInstallableUnit.addProvidedCapability(providedCapability);
-		repo.addInstallableUnits(new IInstallableUnit[] {spiInstallableUnit});
-
-		Collector collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		Collection collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		IInstallableUnit spiUnit = (IInstallableUnit) collection.iterator().next();
-		assertTrue("Repo contains SPI IU)", spiUnit instanceof SPIInstallableUnit);
-		assertEquals(spiUnit.getProvidedCapabilities().length, 1);
-		assertTrue(spiUnit.getProvidedCapabilities()[0] instanceof ProvidedCapability);
-
-		repo = manager.refreshRepository(repoLocation.toURI(), null);
-		collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		IInstallableUnit defaultUnit = (IInstallableUnit) collection.iterator().next();
-		assertTrue("Repo contains SPI IU)", defaultUnit instanceof InstallableUnit);
-		assertEquals(spiUnit.getProvidedCapabilities().length, 1);
-		assertTrue(spiUnit.getProvidedCapabilities()[0] instanceof ProvidedCapability);
-	}
-
-	/**
-	 * This test cases creates an IU and adds an SPI  required capability. It ensures that 
-	 * you can write this type of repository and read it back again.  If you read it back, and it is cached,
-	 * you get the SPI Required Capability, otherwise you get the default RequiredCapability.
-	 * 
-	 * @throws ProvisionException
-	 */
-	public void testSPIRequiredCapability() throws ProvisionException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("foo");
-		iuDescription.setVersion(Version.createOSGi(1, 1, 1));
-		IRequiredCapability spiRequiredCapability = new SPIRequiredCapability("com.example", "bar", new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), true));
-		Collection list = new ArrayList();
-		list.add(spiRequiredCapability);
-		iuDescription.addRequiredCapabilities(list);
-
-		repo.addInstallableUnits(new IInstallableUnit[] {MetadataFactory.createInstallableUnit(iuDescription)});
-
-		Collector collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		Collection collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		IInstallableUnit unit = (IInstallableUnit) collection.iterator().next();
-		assertEquals(unit.getRequiredCapabilities().length, 1);
-		assertTrue(unit.getRequiredCapabilities()[0] instanceof SPIRequiredCapability);
-
-		repo = manager.refreshRepository(repoLocation.toURI(), null);
-		collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		collection = collector.toCollection();
-		assertEquals(1, collection.size());
-
-		unit = (IInstallableUnit) collection.iterator().next();
-		assertEquals(unit.getRequiredCapabilities().length, 1);
-		assertTrue(unit.getRequiredCapabilities()[0] instanceof RequiredCapability);
-		assertTrue(((IRequiredCapability) unit.getRequiredCapabilities()[0]).getName().equals("bar"));
-	}
-
-	/**
-	 * This tests the .equals method in many of the metadata classes.  This test
-	 * case ensures that an SPI implementation .equals() the default one.
-	 * @throws ProvisionException
-	 */
-	public void testSPIEquals() throws ProvisionException, URISyntaxException {
-		IMetadataRepositoryManager manager = getMetadataRepositoryManager();
-		Map properties = new HashMap();
-		properties.put(IRepository.PROP_COMPRESSED, "true");
-
-		IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		InstallableUnitPatchDescription iuPatchDescription = new InstallableUnitPatchDescription();
-		iuDescription.setId("foo");
-		iuDescription.setVersion(Version.createOSGi(1, 1, 1));
-
-		SPIRequiredCapability spiRequiredCapability1 = new SPIRequiredCapability("com.example", "bar", new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), true), "bar", true, true, true);
-		IRequiredCapability requiredCapability1 = MetadataFactory.createRequiredCapability("com.example2", "foo", new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), true), "bar", false, false, false);
-
-		SPIRequirementChange spiRequirementChange = new SPIRequirementChange(spiRequiredCapability1, requiredCapability1);
-		iuPatchDescription.setRequirementChanges(new IRequirementChange[] {spiRequirementChange});
-
-		IRequiredCapability spiRequiredCapability = new SPIRequiredCapability("com.example", "bar", new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), true), "bar", true, true, true);
-		IProvidedCapability spiProvidedCapability = new SPIProvidedCapability("bar", "foo", Version.createOSGi(1, 1, 1));
-
-		ITouchpointData spiTouchpointData = new SPITouchpointData();
-		ITouchpointInstruction spiTouchpointInstruction = new SPITouchpointInstruction("the body", "the import attribute");
-		((SPITouchpointData) spiTouchpointData).addInstruction("foo", spiTouchpointInstruction);
-		iuDescription.addTouchpointData(spiTouchpointData);
-
-		SPILicense spiLicense = new SPILicense("body", new URI("http://example.com"));
-		iuDescription.setLicenses(new ILicense[] {spiLicense});
-
-		SPITouchpointType spiTouchpointType = new SPITouchpointType("foo", Version.createOSGi(3, 3, 3));
-		iuDescription.setTouchpointType(spiTouchpointType);
-
-		Collection requiredCapabilityList = new ArrayList();
-		requiredCapabilityList.add(spiRequiredCapability);
-		iuDescription.addRequiredCapabilities(requiredCapabilityList);
-
-		Collection providedCapabilityList = new ArrayList();
-		providedCapabilityList.add(spiProvidedCapability);
-		iuDescription.addProvidedCapabilities(providedCapabilityList);
-
-		repo.addInstallableUnits(new IInstallableUnit[] {MetadataFactory.createInstallableUnit(iuDescription), MetadataFactory.createInstallableUnitPatch(iuPatchDescription)});
-
-		repo = manager.refreshRepository(repoLocation.toURI(), null);
-		Collector collector = repo.query(new AllAcceptingQuery(), new NullProgressMonitor());
-
-		Collection collection = collector.toCollection();
-		assertEquals(2, collection.size());
-		Iterator iterator = collection.iterator();
-
-		IInstallableUnit unit = null;
-		IInstallableUnitPatch patchUnit = null;
-		while (iterator.hasNext()) {
-			Object o = iterator.next();
-			if (o instanceof IInstallableUnitPatch) {
-				patchUnit = (IInstallableUnitPatch) o;
-			} else if (o instanceof IInstallableUnit) {
-				unit = (IInstallableUnit) o;
-			}
-		}
-		assertFalse(unit == null);
-		assertFalse(patchUnit == null);
-
-		assertEquals(unit.getRequiredCapabilities().length, 1);
-		assertEquals(unit.getProvidedCapabilities().length, 1);
-		assertEquals(unit.getTouchpointData().length, 1);
-		assertEquals(((IRequiredCapability) unit.getRequiredCapabilities()[0]).getNamespace(), spiRequiredCapability.getNamespace());
-		assertEquals(((IRequiredCapability) unit.getRequiredCapabilities()[0]).getName(), spiRequiredCapability.getName());
-		assertEquals(((IRequiredCapability) unit.getRequiredCapabilities()[0]).getMin(), spiRequiredCapability.getMin());
-		assertEquals(((IRequiredCapability) unit.getRequiredCapabilities()[0]).getMax(), spiRequiredCapability.getMax());
-		assertEquals(unit.getProvidedCapabilities()[0], spiProvidedCapability);
-		assertEquals(unit.getTouchpointData()[0], spiTouchpointData);
-		assertEquals(unit.getTouchpointType(), spiTouchpointType);
-		assertEquals(unit.getLicenses()[0], spiLicense);
-		assertEquals(spiProvidedCapability, unit.getProvidedCapabilities()[0]);
-		assertEquals(spiTouchpointData, unit.getTouchpointData()[0]);
-		assertEquals(spiTouchpointType, unit.getTouchpointType());
-		assertEquals(spiLicense, unit.getLicenses()[0]);
-
-		assertEquals(patchUnit.getRequirementsChange().length, 1);
-		assertEquals(patchUnit.getRequirementsChange()[0], spiRequirementChange);
-		assertEquals(spiRequirementChange, patchUnit.getRequirementsChange()[0]);
-
-		// Check to make sure the actual objects are not equal.  This is because the repo has 
-		// been refreshed, and re-parsed, thus using the default implementations.
-		assertFalse(spiTouchpointData == unit.getTouchpointData()[0]);
-		assertFalse(spiRequiredCapability == unit.getRequiredCapabilities()[0]);
-		assertFalse(spiProvidedCapability == unit.getProvidedCapabilities()[0]);
-		assertFalse(spiTouchpointType == unit.getTouchpointType());
-		assertFalse(spiLicense == unit.getLicenses()[0]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ServerBasedTestCase.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ServerBasedTestCase.java
deleted file mode 100644
index 59955a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/ServerBasedTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006-2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import junit.framework.*;
-
-public class ServerBasedTestCase extends TestCase {
-
-	public ServerBasedTestCase() {
-		super();
-	}
-
-	public ServerBasedTestCase(String name) {
-		super(name);
-	}
-
-	public void run(TestResult result) {
-		Protectable p = new ProtectedRunner(result);
-		result.runProtected(this, p);
-	}
-
-	protected String getBaseURL() {
-		return "http://localhost:" + System.getProperty(AllServerTests.PROP_TESTSERVER_PORT, "8080");
-	}
-
-	protected void basicRun(TestResult result) {
-		super.run(result);
-	}
-
-	public static void oneTimeSetUp() throws Exception {
-		AllServerTests.checkSetUp();
-	}
-
-	public static void oneTimeTearDown() throws Exception {
-		AllServerTests.checkTearDown();
-	}
-
-	public void tearDown() throws Exception {
-		// if a test is run out or order - this must be done
-		AllServerTests.checkTearDown();
-	}
-
-	public void setUp() throws Exception {
-		// if a test is run out or order - this must be done
-		AllServerTests.checkSetUp();
-	}
-
-	private class ProtectedRunner implements Protectable {
-		private TestResult result;
-
-		ProtectedRunner(TestResult result) {
-			this.result = result;
-		}
-
-		public void protect() throws Exception {
-			oneTimeSetUp();
-			basicRun(result);
-			oneTimeTearDown();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/TimeoutTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/TimeoutTest.java
deleted file mode 100644
index 518fae3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/TimeoutTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.metadata.repository;
-
-import java.net.URI;
-import java.security.cert.Certificate;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Test handling of timeout.
- */
-public class TimeoutTest extends ServerBasedTestCase {
-	private IMetadataRepositoryManager mgr;
-	private URI repoLoc;
-	protected String authTestFailMessage;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-	}
-
-	private void setUpRepo(String repo) throws Exception {
-		repoLoc = new URI(repo);
-		mgr.removeRepository(repoLoc);
-		if (mgr.contains(repoLoc))
-			throw new RuntimeException("Error - An earlier test did not leave a clean state - could not remove repo");
-
-	}
-
-	@Override
-	public void tearDown() throws Exception {
-		AllServerTests.setServiceUI(null); // cleanup hook
-		super.tearDown();
-		if (repoLoc != null)
-			mgr.removeRepository(repoLoc);
-	}
-
-	/**
-	 * Test that timeout occurs, that the expected exception is thrown, and with correct detail
-	 * and message.
-	 * Note that test takes at least 120 seconds to complete due to length of timeout.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void testTimeout() throws ProvisionException, Exception {
-		System.out.print("Note that test takes at least 120 seconds before timing out\n");
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		setUpRepo(super.getBaseURL() + "/timeout/");
-
-		try {
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			fail("The repository load was canceled - the UI auth service is probably not running");
-		} catch (ProvisionException e) {
-
-			IStatus status = e.getStatus();
-			Throwable ex = status.getException();
-			String msg = e.getMessage();
-			if (ex instanceof CoreException)
-				msg = ((CoreException) ex).getStatus().getMessage();
-
-			// Print for human inspection
-			System.out.print(String.format("%s e-message: [%s], detail:[%s]\n", //
-					provisionCodeToText(status.getCode()), msg, ex != null ? ex.getMessage() : "<no detailed message>"));
-			assertEquals("Socket timeout exception should be found as detail", ex.getClass(), java.net.SocketTimeoutException.class);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-	}
-
-	/**
-	 * Test that it is possible to cancel a repository load that hangs on a HEAD request.
-	 * Note that test takes at least 10 seconds (the cancel delay time). The real timeout is
-	 * 120 seconds.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void testTimeoutCancelation() throws ProvisionException, Exception {
-		System.out.print("Note that test takes at least 10 seconds before timing out (and >120 if it fails)\n");
-
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		setUpRepo(super.getBaseURL() + "/timeout/");
-
-		IProgressMonitor monitor = new NullProgressMonitor();
-		MonitorCancelation cancelHandler = new MonitorCancelation(monitor, 10000);
-		Thread proc = new Thread(cancelHandler, "cancelHandler");
-		proc.start();
-		boolean caught = false;
-		long startTime = System.currentTimeMillis();
-		try {
-			mgr.loadRepository(repoLoc, monitor);
-		} catch (OperationCanceledException e) {
-			caught = true;
-		} catch (ProvisionException e) {
-			// should not happen, but if it does, do some printout
-			IStatus status = e.getStatus();
-			Throwable ex = status.getException();
-			String msg = e.getMessage();
-			if (ex instanceof CoreException)
-				msg = ((CoreException) ex).getStatus().getMessage();
-
-			// Print for human inspection
-			System.out.print(String.format("%s e-message: [%s], detail:[%s]\n", //
-					provisionCodeToText(status.getCode()), msg, ex != null ? ex.getMessage() : "<no detailed message>"));
-
-			fail("Provision exception should not have occured");
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		long endTime = System.currentTimeMillis();
-		assertTrue("The timeout chould have been canceled", caught);
-		assertTrue("The cancel should happen before the timeout", endTime - startTime < 50000);
-
-		// ignore testing if repo was loaded - it may or may not, depending on where the cancellation took place.
-		// commented code kept, in case there is a change in API - should cancellation of load keep the repository.
-		// assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-	}
-
-	private static String provisionCodeToText(int code) {
-		String msg = "REPOSITORY_";
-		switch (code) {
-			case ProvisionException.REPOSITORY_EXISTS :
-				return msg + "EXISTS";
-			case ProvisionException.REPOSITORY_FAILED_AUTHENTICATION :
-				return msg + "FAILED_AUTHENTICATION";
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				return msg + "FAILED_READ";
-			case ProvisionException.REPOSITORY_FAILED_WRITE :
-				return msg + "FAILED_WRITE";
-			case ProvisionException.REPOSITORY_INVALID_LOCATION :
-				return msg + "INVALID_LOCATION";
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				return msg + "NOT_FOUND";
-			case ProvisionException.REPOSITORY_READ_ONLY :
-				return msg + "READ_ONLY";
-			case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
-				return msg + "UNKNOWN_TYPE";
-			default :
-				return msg + String.format("<unrecognized error code: %d >", code);
-		}
-	}
-
-	public class AladdinNotSavedService implements IServiceUI {
-		public int counter = 0;
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			counter++;
-			return new AuthenticationInfo("Aladdin", "open sesame", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			counter++;
-			assertEquals("Aladdin", previousInfo.getUserName());
-			assertEquals("open sesame", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-
-	}
-
-	public static class MonitorCancelation implements Runnable {
-		private IProgressMonitor theMonitor;
-		private long theDelay;
-
-		MonitorCancelation(IProgressMonitor monitor, long delay) {
-			theMonitor = monitor;
-			theDelay = delay;
-		}
-
-		public void run() {
-			try {
-				Thread.sleep(theDelay);
-			} catch (InterruptedException e) {
-				/* ignore */
-			}
-			System.out.print("TimeoutTest: Cancelling monitor\n");
-			theMonitor.setCanceled(true);
-
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/AllTests.java
deleted file mode 100644
index 1a5a004..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import junit.framework.*;
-
-/**
- * Performs all automated mirror repository tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ArtifactMirrorApplicationTest.class);
-		suite.addTestSuite(MetadataMirrorApplicationTest.class);
-		suite.addTestSuite(ArtifactRepositoryCleanupTest.class);
-		suite.addTestSuite(MetadataRepositoryCleanupTest.class);
-		suite.addTestSuite(NewMirrorApplicationArtifactTest.class);
-		suite.addTestSuite(NewMirrorApplicationMetadataTest.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
deleted file mode 100644
index 1f581ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
+++ /dev/null
@@ -1,1447 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.Messages;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Test API of the basic mirror application functionality's implementation.
- */
-public class ArtifactMirrorApplicationTest extends AbstractProvisioningTest {
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File sourceRepo2Location; //anotherfeature
-	protected File sourceRepo3Location; //helloworldfeature + yetanotherfeature
-	protected File sourceRepo4Location; //helloworldfeature v1.0.1
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		sourceRepo2Location = getTestData("0.1", "/testData/mirror/mirrorSourceRepo2");
-		sourceRepo3Location = getTestData("0.2", "/testData/mirror/mirrorSourceRepo3");
-		sourceRepo4Location = getTestData("0.3", "/testData/mirror/mirrorSourceRepo4");
-
-		//create destination location
-		destRepoLocation = new File(getTempFolder(), "BasicMirrorApplicationTest");
-		delete(destRepoLocation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getArtifactRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo2Location.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo3Location.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo4Location.toURI());
-
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	/**
-	 * runs the mirror application with arguments args
-	 */
-	private void runMirrorApplication(String message, final String[] args) throws Exception {
-		MirrorApplication application = new MirrorApplication();
-		Map map = new HashMap();
-		map.put("metadataOrArtifacts", "artifacts");
-		application.setInitializationData(null, null, map);
-		application.initializeFromArguments(args);
-		application.run(null);
-	}
-
-	/**
-	 * Runs mirror application with default arguments. source is the source repo, 
-	 * destination is the destination repo, append is if the "-writeMode clean" argument should be excluded
-	 * 
-	 * Note: We use URL here because command line applications traffic in unencoded URLs,
-	 * so we can't use java.net.URI which will always use the encoded form
-	 */
-	private void basicRunMirrorApplication(String message, URL source, URL destination, boolean append) throws Exception {
-		//set the default arguments
-		String[] args = new String[] {"-source", source.toExternalForm(), "-destination", destination.toExternalForm(), "-writeMode", append ? "" : "clean"};
-		//run the mirror application
-		runMirrorApplication(message, args);
-	}
-
-	/**
-	 * just a wrapper method for compatibility
-	 */
-	private void runMirrorApplication(String message, File source, File destination, boolean append) {
-		try {
-			basicRunMirrorApplication(message, source.toURL(), destination.toURL(), append);
-		} catch (Exception e) {
-			fail(message, e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private void artifactMirrorToEmpty(String message, boolean append) {
-		//destination repo is created blank
-		runMirrorApplication(message, sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 */
-	private void artifactMirrorToPopulated(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup ensure setup completes successfully
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 */
-	private void artifactMirrorToFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 */
-	private void artifactMirrorToPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 */
-	private void artifactMirrorToPopulatedWithFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo3Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 */
-	private void artifactMirrorToPopulatedWithPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, true);
-
-		try {
-			//Setup: verify
-			assertContains(message + ".5", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains(message + ".6", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".7", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".9", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts from an empty repository
-	 * Source contains
-	 */
-	private File artifactMirrorEmpty(String message, boolean append) {
-		//Setup: Create an empty repository
-		File emptyRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: remove repository if it exists
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//Setup: delete any data that may be in the folder
-		delete(emptyRepository);
-		try {
-			getArtifactRepositoryManager().createRepository(emptyRepository.toURI(), "Empty Repository", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail(message + ".1", e);
-		}
-
-		runMirrorApplication(message + ".0", emptyRepository, destRepoLocation, append);
-		return emptyRepository; //return the repository for use in verification
-	}
-
-	/**
-	 * Tests mirroring all artifacts from an empty repository
-	 * Source contains
-	 */
-	private File artifactMirrorEmptyToPopulated(String message, boolean append) {
-		//Setup: Populate the repository
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		return artifactMirrorEmpty(message + ".1", append); //create the empty repository, perform the mirror, pass the result back
-	}
-
-	/**
-	 * Runs mirror app on source with missing artifact with "-ignoreErrors"
-	 */
-	private void mirrorWithError(boolean verbose) {
-		File errorSourceLocation = getTestData("loading error data", "testData/mirror/mirrorErrorSourceRepo");
-		//repo contains an artifact entry for a file that does not exist on disk. this should throw a file not found exception
-		try {
-			//Set ignoreErrors flag. Set verbose flag if verbose == true
-			String[] args = new String[] {"-source", errorSourceLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-ignoreErrors", verbose ? "-verbose" : ""};
-			//run the mirror application
-			runMirrorApplication("Running with errored source", args);
-		} catch (Exception e) {
-			fail("Running mirror application with errored source failed", e);
-		}
-	}
-
-	/**
-	 * ensures that all files with entries in the repo have corresponding files on disk.
-	 * Not Biconditional.
-	 */
-	private void assertFileSizes(String message, SimpleArtifactRepository expected, SimpleArtifactRepository actual) {
-		Collector expectedKeys = expected.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = expectedKeys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] expectedDescriptors = expected.getArtifactDescriptors(key);
-			IArtifactDescriptor[] actualDescriptors = actual.getArtifactDescriptors(key);
-
-			if (expectedDescriptors == null || actualDescriptors == null)
-				if (!(expectedDescriptors == null && actualDescriptors == null))
-					fail(message + " missing key " + key);
-
-			top: for (int j = 0; j < expectedDescriptors.length; j++) {
-				for (int k = 0; k < actualDescriptors.length; k++) {
-					if (Arrays.equals(expectedDescriptors[j].getProcessingSteps(), actualDescriptors[k].getProcessingSteps())) {
-						File expectedFile = expected.getArtifactFile(expectedDescriptors[j]);
-						File actualFile = actual.getArtifactFile(actualDescriptors[k]);
-						if (expectedFile == null || actualFile == null)
-							fail(message + " descriptor mismatch");
-						if (!(expectedFile.exists() && actualFile.exists()))
-							fail(message + " file does not exist");
-						assertTrue(expectedFile.length() == actualFile.length());
-						continue top;
-					}
-				}
-				fail(message + "Missing expected descriptor" + expectedDescriptors[j]);
-			}
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToEmpty() {
-		artifactMirrorToEmpty("1.0", true); // run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("1.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("1.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToEmptyWithClean() {
-		artifactMirrorToEmpty("2.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("2.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("2.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToFullDuplicate() {
-		artifactMirrorToFullDuplicate("3.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("3.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("3.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToFullDuplicateWithClean() {
-		artifactMirrorToFullDuplicate("4.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("4.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("4.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulated() {
-		artifactMirrorToPopulated("5.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("5.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("5.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5.3", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("5.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToPopulatedWithClean() {
-		artifactMirrorToPopulated("6.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("6.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("6.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPartialDuplicate() {
-		artifactMirrorToPartialDuplicate("7.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("7.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("7.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPartialDuplicateWithClean() {
-		artifactMirrorToPartialDuplicate("8.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("8.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("8.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulatedWithFullDuplicate() {
-		artifactMirrorToPopulatedWithFullDuplicate("9.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("9.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("9.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToPopulatedWithFullDuplicateWithClean() {
-		artifactMirrorToPopulatedWithFullDuplicate("10.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("10.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("10.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D, E, F
-	 */
-	public void testArtifactMirrorToPopulatedWithPartialDuplicate() {
-		artifactMirrorToPopulatedWithPartialDuplicate("11.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("11.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("11.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("11.3", getArtifactKeyCount(sourceRepo2Location.toURI()) + getArtifactKeyCount(sourceRepo3Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("11.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulatedWithPartialDuplicateWithClean() {
-		artifactMirrorToPopulatedWithPartialDuplicate("12.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("12.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("12.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid source repository
-	 */
-	public void testArtifactMirrorFromInvalid() {
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		delete(invalidRepository);
-
-		try {
-			basicRunMirrorApplication("13.1", invalidRepository.toURL(), destRepoLocation.toURL(), true);
-			//we expect a provision exception to be thrown. We should never get here.
-			fail("13.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("13.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid destination repository
-	 */
-	public void testArtifactMirrorToInvalid() {
-		try {
-			//Setup: create a URI pointing to an unmodifiable place
-			URI invalidDestRepository = new URI("http://foobar.com/abcdefg");
-
-			//run the application with the modifiable destination
-			basicRunMirrorApplication("14.1", sourceRepoLocation.toURL(), invalidDestRepository.toURL(), true);
-			//we're expecting an UnsupportedOperationException so we should never get here
-			fail("14.0 UnsupportedOperationException not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("14.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given both an invalid source and an invalid destination repository
-	 */
-	public void testArtifactMirrorBothInvalid() {
-		//Setup: create a file that is not a valid repository
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: delete any leftover data
-		delete(invalidRepository);
-
-		try {
-			//Setup: create a URI pointing to an unmodifiable place
-			URI invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("15.1", invalidRepository.toURL(), invalidDestRepository.toURL(), true);
-			//We expect the ProvisionException to be thrown
-			fail("15.0 ProvisionException not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception was thrown
-		} catch (Exception e) {
-			fail("15.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to another empty repository
-	 * Source contains
-	 * Target contains
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToEmpty() {
-		File emptyRepository = artifactMirrorEmpty("16.0", true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("16.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("16.2", e);
-		}
-
-		//remove the emptyRepository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any left over data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorEmptyToPopulated() {
-		File emptyRepository = artifactMirrorEmptyToPopulated("17.0", true);
-
-		try {
-			//verify destination's content
-			assertContains("17.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContentEquals("17.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("17.3", e);
-		}
-
-		//remove the empty repository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//remove any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository with "-writeMode clean"
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToPopulatedWithClean() {
-		File emptyRepository = artifactMirrorEmptyToPopulated("18.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("18.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("18.2", e);
-		}
-
-		//remove the empty repository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring a repository to itself
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorSourceIsDestination() {
-		//Setup: Populate the repository
-		runMirrorApplication("19.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the application with the source and destination specified to the same place
-		runMirrorApplication("19.1", destRepoLocation, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("19.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("19.3", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring a repository with a different version of the same package
-	 * Source contains A, B (v1.0.1)
-	 * Target contains A, B (v1.0.0)
-	 * Expected is A, B (v1.0.0) and A, B (v1.0.1)
-	 */
-	public void testArtifactMirrorDifferentVersions() {
-		//Setup: Populate the repository
-		runMirrorApplication("20.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the application with the source and destination specified to the same place
-		runMirrorApplication("20.1", sourceRepo4Location, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContains("20.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("20.3", getArtifactRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("20.4", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo4Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("20.5", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified source
-	 */
-	public void testArtifactMirrorNullSource() {
-		String[] args = null;
-
-		//create arguments without a "-source"
-		args = new String[] {"-destination", "file:" + destRepoLocation.getAbsolutePath()};
-
-		try {
-			runMirrorApplication("21.1", args);
-			//We expect the IllegalStateException to be thrown
-			fail("21.3 IllegalStateException not thrown");
-		} catch (IllegalArgumentException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("21.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified destination
-	 */
-	public void testArtifactMirrorNullDestination() {
-		String[] args = null;
-
-		//create arguments without a "-destination"
-		args = new String[] {"-source", "file:" + sourceRepoLocation.getAbsolutePath()};
-
-		try {
-			runMirrorApplication("22.1", args);
-			//We expect the IllegalStateException to be thrown
-			fail("22.3 IllegalStateException not thrown");
-		} catch (IllegalArgumentException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("22.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles both an unspecified source and an unspecified destination
-	 */
-	public void testArtifactMirrorNullBoth() {
-		//create arguments with neither "-destination" nor "-source"
-		String[] args = new String[] {};
-
-		try {
-			runMirrorApplication("23.0", args);
-			//We expect the IllegalStateException to be thrown
-			fail("23.2 IllegalStateException not thrown");
-		} catch (IllegalArgumentException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("23.1", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created by the mirror application is a copy of the source
-	 */
-	public void testNewArtifactRepoProperties() {
-		//run mirror application with source not preexisting
-		artifactMirrorToEmpty("24.0", true);
-
-		try {
-			IArtifactRepository sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-			IArtifactRepository destinationRepository = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("24.1", sourceRepository.getName(), destinationRepository.getName());
-			assertRepositoryProperties("24.2", sourceRepository.getProperties(), destinationRepository.getProperties());
-		} catch (ProvisionException e) {
-			fail("24.3", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created before the mirror application is run does not have its properties changed
-	 */
-	public void testExistingArtifactRepoProperties() {
-		//Setup: create the destination
-		String name = "Destination Name";
-		Map properties = null; //default properties
-		try {
-			//create the repository and get the resulting properties
-			properties = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties).getProperties();
-		} catch (ProvisionException e) {
-			fail("25.0", e);
-		}
-
-		//run the mirror application
-		artifactMirrorToEmpty("25.2", true);
-
-		try {
-			IArtifactRepository repository = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("25.3", name, repository.getName());
-			assertRepositoryProperties("25.4", properties, repository.getProperties());
-		} catch (ProvisionException e) {
-			fail("25.5", e);
-		}
-	}
-
-	/**
-	 *  * Ensures that a repository created by the mirror application has specified name
-	 * For Bug 256909
-	 */
-	public void testNewArtifactRepoWithNewName() {
-		String name = "Bug 256909 test - new";
-		try {
-			//set the arguments
-			String[] args = new String[] {"-source", sourceRepoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-destinationName", name};
-			//run the mirror application
-			runMirrorApplication("Bug 256909 Test", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name was set correct", name, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Cannot obtain destination", e);
-		}
-	}
-
-	/**
-	 * Ensures that an existing destination used by the mirror application is given specified name
-	 * For Bug 256909
-	 */
-	public void testExistingArtifactRepoWithNewName() {
-		String oldName = "The original naem for Bug 256909 test - existing";
-		String newName = "Bug 256909 test - existing";
-		//Setup create the repository
-		IArtifactRepository destinationRepo = null;
-		try {
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), oldName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repo at destination", e);
-		}
-		assertEquals("Assert name is set correctly before mirror", oldName, destinationRepo.getName());
-
-		try {
-			//set the arguments
-			String[] args = new String[] {"-source", sourceRepoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-destinationName", newName};
-			//run the mirror application
-			runMirrorApplication("Bug 256909 Test", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name is set correctly after mirror", newName, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-	}
-
-	/**
-	 * Verifies that the mirror application copies files (including packed files) correctly
-	 */
-	public void testArtifactFileCopying() {
-		//Setup: load the repository containing packed data
-		File packedRepoLocation = getTestData("26.0", "/testData/mirror/mirrorPackedRepo");
-
-		try {
-			basicRunMirrorApplication("26.1", packedRepoLocation.toURL(), destRepoLocation.toURL(), false);
-		} catch (Exception e) {
-			fail("26.3", e);
-		}
-
-		try {
-			//Verify Contents
-			assertContentEquals("26.4", getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//Verify files on disk
-			assertFileSizes("26.5", (SimpleArtifactRepository) getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null), (SimpleArtifactRepository) getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("26.6", e);
-		}
-	}
-
-	/**
-	 * Verifies that the mirror application executes processing steps correctly
-	 */
-	public void testArtifactProcessingSteps() {
-		//Setup: load the repository containing packed data
-		File packedRepoLocation = getTestData("27.0", "/testData/mirror/mirrorPackedRepo");
-		IArtifactRepository packedRepo = null;
-		IArtifactRepository destinationRepo = null;
-
-		try {
-			packedRepo = getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null);
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), "Test Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e1) {
-			fail("");
-		}
-
-		Collector keys = packedRepo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] srcDescriptors = packedRepo.getArtifactDescriptors(key);
-
-			for (int j = 0; j < srcDescriptors.length; j++) {
-				if (!(srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT) == null) && srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT).equals("packed")) {
-					//if we have a packed artifact
-					IArtifactDescriptor newDescriptor = new ArtifactDescriptor(key);
-					Map properties = new OrderedProperties();
-					properties.putAll(srcDescriptors[j].getProperties());
-					properties.remove(IArtifactDescriptor.FORMAT);
-					((ArtifactDescriptor) newDescriptor).addProperties(properties);
-					//create appropriate descriptor
-					try {
-						OutputStream repositoryStream = null;
-						try {
-							//System.out.println("Mirroring: " + srcDescriptors[j].getArtifactKey() + " (Descriptor: " + srcDescriptors[j] + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-							repositoryStream = destinationRepo.getOutputStream(newDescriptor);
-							if (repositoryStream == null)
-								return;
-							// TODO Is that ok to ignore the result?
-							//TODO MAKE THIS WORK PROPERLY
-							packedRepo.getArtifact(srcDescriptors[j], repositoryStream, new NullProgressMonitor());
-						} finally {
-							if (repositoryStream != null)
-								repositoryStream.close();
-						}
-					} catch (ProvisionException e) {
-						fail("27.1", e);
-					} catch (IOException e) {
-						fail("27.2", e);
-					}
-					//corresponding key should now be in the destination
-					IArtifactDescriptor[] destDescriptors = destinationRepo.getArtifactDescriptors(key);
-					boolean canonicalFound = false;
-					for (int l = 0; !canonicalFound && (l < destDescriptors.length); l++) {
-						//No processing steps mean item is canonical
-						if (destDescriptors[l].getProcessingSteps().length == 0)
-							canonicalFound = true;
-					}
-					if (!canonicalFound)
-						fail("27.3 no canonical found for " + key.toString());
-
-					//ensure the canonical matches that in the expected
-					assertFileSizes("27.3", (SimpleArtifactRepository) destinationRepo, (SimpleArtifactRepository) packedRepo);
-				}
-			}
-		}
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSource() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the artifacts.jar file
-		File compressedArtifactsXML = new File(compressedSource.getAbsoluteFile() + "/artifacts.jar");
-		//Setup: make sure artifacts.jar exists
-		assertTrue("1", compressedArtifactsXML.exists());
-
-		try {
-			basicRunMirrorApplication("2", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("3", e);
-		} catch (Exception e) {
-			fail("4", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar exists
-		assertTrue("5", destArtifactsXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSourcetoUncompressedDestination() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the artifacts.jar file
-		File compressedArtifactsXML = new File(compressedSource.getAbsoluteFile() + "/artifacts.jar");
-		//Setup: make sure artifacts.jar exists
-		assertTrue("1", compressedArtifactsXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "artifacts.xml").exists());
-		try {
-			basicRunMirrorApplication("3", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar does not exist
-		assertFalse("6", destArtifactsXML.exists());
-		//get the artifacts.xml file
-		destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.xml");
-		//make sure artifacts.xml exists
-		assertTrue("7", destArtifactsXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorUncompressedSourceToCompressedDestination() {
-		File uncompressedSource = getTestData("0", "/testData/mirror/mirrorPackedRepo");
-
-		//Setup: get the artifacts.xml file
-		File artifactsXML = new File(uncompressedSource.getAbsoluteFile() + "/artifacts.xml");
-		//Setup: make sure artifacts.xml exists
-		assertTrue("1", artifactsXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			Map property = new HashMap();
-			property.put(IRepository.PROP_COMPRESSED, "true");
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, property);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "artifacts.jar").exists());
-		try {
-			basicRunMirrorApplication("3", uncompressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar does exist
-		assertTrue("6", destArtifactsXML.exists());
-		//get the artifacts.xml file
-		destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.xml");
-		//make sure artifacts.xml does not exist
-		assertFalse("7", destArtifactsXML.exists());
-	}
-
-	public void testMirrorApplicationWithCompositeSource() {
-		//Setup Make composite repository
-		File repoLocation = new File(getTempFolder(), "CompositeArtifactMirrorTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().createRepository(repoLocation.toURI(), "artifact name", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-		//ensure proper type of repository has been created
-		if (!(repo instanceof CompositeArtifactRepository))
-			fail("Repository is not a CompositeArtifactRepository");
-		//Populate source
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		((CompositeArtifactRepository) repo).addChild(child1.toURI());
-		((CompositeArtifactRepository) repo).addChild(child2.toURI());
-
-		runMirrorApplication("Mirroring from Composite Source", repoLocation, destRepoLocation, false);
-
-		try {
-			assertContentEquals("Verifying contents", repo, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-
-			//Verify that result is the same as mirroring from the 2 repositories separately
-			assertContains("3", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("4", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("Could not load destination", e);
-		}
-	}
-
-	//for Bug 250527
-	public void testIgnoreErrorsArguement() {
-		//Error prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			destRepoLocation.mkdir();
-			newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting outputs", e);
-		}
-		System.setErr(newErr);
-
-		//run test without verbose
-		mirrorWithError(false);
-
-		System.setErr(oldErr);
-		newErr.close();
-
-		assertEquals("Verifying correct number of Keys", 1, getArtifactKeyCount(destRepoLocation.toURI()));
-		//Because only 1 of the artifacts exists on disk, the number of artifacts in the destination should only be 1.
-		//Order in which mirror application mirrors artifacts is random.
-	}
-
-	public void testCompareUsingMD5Comparator() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/artifacts.xml");
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, artifact2);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		try {
-			repo1 = getArtifactRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo1.addDescriptor(descriptor1);
-			repo2 = getArtifactRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo2.addDescriptor(descriptor2);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		try {
-			newErr = new PrintStream(new FileOutputStream(new File(repo2Location, "sys.err")));
-			newOut = new PrintStream(new FileOutputStream(new File(repo2Location, "sys.out")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting outputs", e);
-		}
-		System.setErr(newErr);
-		System.setOut(newOut);
-		try {
-			//Set compare flag.
-			String[] args = new String[] {"-source", repo1Location.toURL().toExternalForm(), "-destination", repo2Location.toURL().toExternalForm(), "-verbose", "-compare"};
-			//run the mirror application
-			runMirrorApplication("Running with duplicate descriptors with different md5 values", args);
-		} catch (Exception e) {
-			fail("Running mirror application with duplicate descriptors with different md5 values failed", e);
-		}
-		System.setErr(oldErr);
-		newErr.close();
-		System.setOut(oldOut);
-		newOut.close();
-
-		IArtifactDescriptor[] destDescriptors = repo2.getArtifactDescriptors(descriptor2.getArtifactKey());
-		assertEquals("Ensuring destination has correct number of descriptors", 1, destDescriptors.length);
-		assertEquals("Ensuring proper descriptor exists in destination", descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), destDescriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-		String msg = NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(repo1.getLocation()), URIUtil.toUnencodedString(repo2.getLocation()), descriptor1});
-		try {
-			assertLogContainsLine(TestActivator.getLogFile(), msg);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-	}
-
-	public void testBaselineCompareUsingMD5Comparator() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/content.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/content.xml");
-
-		//Setup Copy the file to the baseline
-		File repoLocation = getTestFolder(getUniqueString());
-		File baselineLocation = getTestFolder(getUniqueString());
-		File baselineBinaryDirectory = new File(baselineLocation, "binary");
-		baselineBinaryDirectory.mkdir();
-		File baselineContentLocation = new File(baselineBinaryDirectory, "testKeyId_1.2.3");
-		AbstractProvisioningTest.copy("Copying File to baseline", artifact2, baselineContentLocation);
-
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, baselineContentLocation);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		IArtifactRepository repo = null;
-		IArtifactRepository baseline = null;
-		try {
-			repo = getArtifactRepositoryManager().createRepository(repoLocation.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo.addDescriptor(descriptor1);
-			baseline = getArtifactRepositoryManager().createRepository(baselineLocation.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			baseline.addDescriptor(descriptor2);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		try {
-			destRepoLocation.mkdir();
-			newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-			newOut = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.out")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting outputs", e);
-		}
-		System.setErr(newErr);
-		System.setOut(newOut);
-		try {
-			//Set compareAgaist
-			String[] args = new String[] {"-source", repoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-compareAgainst", baselineLocation.toURL().toExternalForm(), "-verbose", "-compare"};
-			//run the mirror application
-			runMirrorApplication("Running with baseline compare", args);
-		} catch (Exception e) {
-			fail("Running mirror application with baseline compare", e);
-		}
-		System.setErr(oldErr);
-		newErr.close();
-		System.setOut(oldOut);
-		newOut.close();
-
-		IArtifactRepository destination = null;
-		try {
-			destination = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-
-		IArtifactDescriptor[] destDescriptors = destination.getArtifactDescriptors(descriptor2.getArtifactKey());
-		assertEquals("Ensuring destination has correct number of descriptors", 1, destDescriptors.length);
-		assertEquals("Ensuring destination contains the descriptor from the baseline", descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), destDescriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-		String msg = NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(baseline.getLocation()), URIUtil.toUnencodedString(repo.getLocation()), descriptor1});
-		try {
-			assertLogContainsLine(TestActivator.getLogFile(), msg);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-	}
-
-	//for Bug 259111
-	public void testDownloadRetry() {
-		//repository that is known to force a retry
-		class TestRetryArtifactRepository extends SimpleArtifactRepository {
-			public boolean firstAttempt = true;
-			IArtifactRepository source;
-
-			public TestRetryArtifactRepository(String repositoryName, URI location, URI srcLocation, Map properties, IArtifactRepositoryManager manager) {
-				super(repositoryName, location, properties);
-
-				//initialize
-				try {
-					source = manager.loadRepository(srcLocation, null);
-				} catch (ProvisionException e) {
-					fail("Unable to load source for wrapping", e);
-				}
-				manager.removeRepository(srcLocation);
-			}
-
-			public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-				return source.getArtifactDescriptors(key);
-			}
-
-			public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-				if (firstAttempt) {
-					firstAttempt = false;
-					return new Status(IStatus.ERROR, Activator.ID, IArtifactRepository.CODE_RETRY, "Forcing Retry", new ProvisionException("Forcing retry"));
-				}
-
-				return source.getRawArtifact(descriptor, destination, monitor);
-			}
-
-			public synchronized boolean contains(IArtifactDescriptor descriptor) {
-				return source.contains(descriptor);
-			}
-
-			public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-				return source.query(query, monitor);
-			}
-		}
-
-		//set up test repository
-		File retryRepoLoaction = new File(getTempFolder(), "259111 Repo");
-		IArtifactRepository retryRepo = new TestRetryArtifactRepository("Test Repo", retryRepoLoaction.toURI(), sourceRepoLocation.toURI(), null, getArtifactRepositoryManager());
-		((ArtifactRepositoryManager) getArtifactRepositoryManager()).addRepository(retryRepo);
-
-		try {
-			String[] args = new String[] {"-source", URIUtil.toUnencodedString(retryRepo.getLocation()), "-destination", destRepoLocation.toURL().toExternalForm()};
-			//run the mirror application
-			runMirrorApplication("Forcing Retry", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating arguments", e);
-		} catch (Exception e) {
-			fail("Error while running Mirror Application and forcing retry", e);
-		}
-
-		//ensure error was resulted
-		assertFalse(((TestRetryArtifactRepository) retryRepo).firstAttempt);
-		try {
-			//verify destination's content
-			assertContentEquals("Verifying content", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("Failure while verifying destination", e);
-		}
-	}
-
-	//for Bug 259112
-	public void testErrorLoggingNoVerbose() {
-		//initialize log file
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		assertNotNull("Assert log file is not null", log);
-		assertTrue("Clearing log file", log.getFile().delete());
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			destRepoLocation.mkdir();
-			newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting outputs", e);
-		}
-		System.setErr(newErr);
-
-		//run test without verbose resulting in error
-		mirrorWithError(false);
-
-		System.setErr(oldErr);
-		newErr.close();
-
-		//verify log
-		try {
-			String[] parts = new String[] {"java.io.FileNotFoundException: ", "helloworld_1.0.0.jar"};
-			assertLogContainsLine(log.getFile(), parts);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-
-		//run without verbose
-		artifactMirrorToFullDuplicate("Generating INFO entries", true);
-
-		IArtifactRepository sourceRepository = null;
-		try {
-			sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading source repository for verification", e);
-		}
-
-		try {
-			//Mirroring full duplicate, so any key will do.
-			Collector descriptors = sourceRepository.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) descriptors.iterator().next();
-			//Mirroring full duplicate, so any descriptor will do.
-			String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
-			assertLogDoesNotContainLine(log.getFile(), message);
-		} catch (Exception e) {
-			fail("Error verifying log", e);
-		}
-	}
-
-	//for Bug 259112
-	public void testErrorLoggingWithVerbose() {
-		//initialize log file
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		assertNotNull("Assert log file is not null", log);
-		assertTrue("Clearing log file", log.getFile().delete());
-
-		//Comparator prints to stdout, redirect that to a file
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			destRepoLocation.mkdir();
-			newOut = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.out")));
-			newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-		} catch (FileNotFoundException e) {
-			fail("Error redirecting output", e);
-		}
-		System.setOut(newOut);
-		System.setErr(newErr);
-
-		//run test with verbose, results in error
-		mirrorWithError(true);
-
-		//verify log
-		try {
-			String[] parts = new String[] {"java.io.FileNotFoundException: ", "helloworld_1.0.0.jar"};
-			assertLogContainsLine(log.getFile(), parts);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-
-		//run with verbose
-		//populate destination with duplicate artifacts. We assume this works
-		runMirrorApplication("Initializing Destiantion", sourceRepoLocation, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//set the arguments with verbose
-			String[] args = new String[] {"-source", sourceRepoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-verbose"};
-			//run the mirror application
-			runMirrorApplication("Generating INO elements", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs", e);
-		} catch (Exception e) {
-			fail("Error running mirror application to generate INFO items", e);
-		}
-
-		System.setOut(oldOut);
-		newOut.close();
-		System.setErr(oldErr);
-		newErr.close();
-
-		IArtifactRepository sourceRepository = null;
-		try {
-			sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading source repository for verification", e);
-		}
-
-		try {
-			//Mirroring full duplicate, so any key will do.
-			Collector descriptors = sourceRepository.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) descriptors.iterator().next();
-			//Mirroring full duplicate, so any descriptor will do.
-			String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
-			assertLogContainsLine(log.getFile(), message);
-		} catch (Exception e) {
-			fail("Error verifying log", e);
-		}
-	}
-
-	/**
-	 * Test how the mirror application handles a repository specified as a local path
-	 */
-	public void testArtifactMirrorNonURIDest() {
-		String[] args = new String[] {"-destination", destRepoLocation.toString(), "-source", sourceRepoLocation.toString()};
-
-		try {
-			runMirrorApplication("Mirroring", args);
-			assertContentEquals("2.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (Exception e) {
-			fail("Error mirroring", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactRepositoryCleanupTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactRepositoryCleanupTest.java
deleted file mode 100644
index 11ed33b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactRepositoryCleanupTest.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-
-/**
- * Test to ensure MirrorApplication handles loading an removing repositories correctly
- */
-public class ArtifactRepositoryCleanupTest extends AbstractProvisioningTest {
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File bystanderRepoLocation; //anotherfeature
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("1.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		bystanderRepoLocation = getTestData("2.0", "/testData/mirror/mirrorSourceRepo2");
-
-		//create destination location
-		String tempDir = System.getProperty("java.io.tmpdir");
-		destRepoLocation = new File(tempDir, "BasicMirrorApplicationTest");
-		AbstractProvisioningTest.delete(destRepoLocation);
-	}
-
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getArtifactRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(bystanderRepoLocation.toURI());
-
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	/**
-	 * runs default mirror. source is the source repo, destination is the destination repo
-	 */
-	private void runMirrorApplication(final File source, final File destination, final boolean append) throws Exception {
-		MirrorApplication application = new MirrorApplication();
-		application.start(new IApplicationContext() {
-
-			public void applicationRunning() {
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-
-				try {
-					arguments.put(IApplicationContext.APPLICATION_ARGS, new String[] {"-source", source.toURL().toExternalForm(), "-destination", destination.toURL().toExternalForm(), append ? "-append" : ""});
-				} catch (MalformedURLException e) {
-					// shouldn't happen
-					throw new IllegalArgumentException(e);
-				}
-
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with neither source nor destination loaded
-	 * then neither will remain loaded after the application finishes
-	 */
-	public void testArtifactMirrorRemovesRepos() {
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("1.0", e);
-		}
-
-		assertFalse(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the source loaded
-	 * then the source, and only the source, remains loaded after the application finishes
-	 */
-	public void testArtifactMirrorRemovesReposWithSourceLoaded() {
-		try {
-			//Load the source
-			getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("2.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("2.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the destination loaded
-	 * then the destination, and only the destination, remains loaded after the application finishes
-	 */
-	public void testArtifactMirrorRemovesReposWithDestinationLoaded() {
-		try {
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - artifacts"; //$NON-NLS-1$
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("3.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("3.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that is the mirror application is run with both the source and destination loaded
-	 * then both will remain loaded after the application has finished
-	 */
-	public void testArtifactMirrorRemovesReposWithBothLoaded() {
-		try {
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - artifacts"; //$NON-NLS-1$
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Load the source
-			getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("4.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("4.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		assertTrue(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with neither source nor destination loaded
-	 * then neither will remain loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testArtifactMirrorRemovesReposWithBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getArtifactRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("5.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("5.2", e);
-		}
-
-		assertFalse(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getArtifactRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the source loaded
-	 * then the source, and only the source, remains loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testArtifactMirrorRemovesReposWithSourceAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getArtifactRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load the source
-			getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("6.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("6.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getArtifactRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with the destination loaded
-	 * then the destination, and only the destination, remains loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testArtifactMirrorRemovesReposWithDestinationAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getArtifactRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - artifacts"; //$NON-NLS-1$
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("7.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("7.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		assertFalse(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getArtifactRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that is the mirror application is run with both the source and destination loaded
-	 * then both will remain loaded after the application has finished
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testArtifactMirrorRemovesReposWithBothAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getArtifactRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - artifacts"; //$NON-NLS-1$
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Load the source
-			getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("8.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("8.2", e);
-		}
-
-		assertTrue(getArtifactRepositoryManager().contains(destRepoLocation.toURI()));
-		assertTrue(getArtifactRepositoryManager().contains(sourceRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getArtifactRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataMirrorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataMirrorApplicationTest.java
deleted file mode 100644
index afaedbb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataMirrorApplicationTest.java
+++ /dev/null
@@ -1,994 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.File;
-import java.net.*;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.p2.metadata.mirror.MirrorApplication;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-
-/**
- * Test API of the basic mirror application functionality's implementation.
- */
-public class MetadataMirrorApplicationTest extends AbstractProvisioningTest {
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File sourceRepo2Location; //anotherfeature
-	protected File sourceRepo3Location; //helloworldfeature + yetanotherfeature
-	protected File sourceRepo4Location; //helloworldfeature v1.0.1
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		sourceRepo2Location = getTestData("0.1", "/testData/mirror/mirrorSourceRepo2");
-		sourceRepo3Location = getTestData("0.2", "/testData/mirror/mirrorSourceRepo3");
-		sourceRepo4Location = getTestData("0.3", "/testData/mirror/mirrorSourceRepo4");
-
-		//create destination location
-		destRepoLocation = new File(getTempFolder(), "BasicMirrorApplicationTest");
-		AbstractProvisioningTest.delete(destRepoLocation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getMetadataRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo2Location.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo3Location.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo4Location.toURI());
-
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	/**
-	 * runs the mirror application with arguments args
-	 */
-	private void runMirrorApplication(String message, final String[] args) throws Exception {
-		MirrorApplication application = new MirrorApplication();
-		application.start(new IApplicationContext() {
-
-			public void applicationRunning() {
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-
-				arguments.put(IApplicationContext.APPLICATION_ARGS, args);
-
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * Runs mirror application with default arguments. source is the source repo, 
-	 * destination is the destination repo, append is if the "-writeMode clean" argument should be excluded
-	 * 
-	 * Note: We use URL here because command line applications traffic in unencoded URLs,
-	 * so we can't use java.net.URI which will always use the encoded form
-	 */
-	private void basicRunMirrorApplication(String message, URL source, URL destination, boolean append) throws Exception {
-		//set the default arguments
-		String[] args = new String[] {"-source", source.toExternalForm(), "-destination", destination.toExternalForm(), "-writeMode", append ? "" : "clean"};
-		//run the mirror application
-		runMirrorApplication(message, args);
-	}
-
-	/**
-	 * just a wrapper method for compatibility
-	 */
-	private void runMirrorApplication(String message, File source, File destination, boolean append) {
-		try {
-			basicRunMirrorApplication(message, source.toURL(), destination.toURL(), append);
-		} catch (Exception e) {
-			fail(message, e);
-		}
-	}
-
-	/**
-	 * Takes 2 collectors, compares them, and returns the number of unique keys
-	 * Needed to verify that only the appropriate number of files have been transfered by the mirror application
-	 */
-	private int getNumUnique(Collector c1, Collector c2) {
-		Object[] repo1 = c1.toCollection().toArray();
-		Object[] repo2 = c2.toCollection().toArray();
-
-		//initialize to the size of both collectors
-		int numKeys = repo1.length + repo2.length;
-
-		for (int i = 0; i < repo1.length; i++) {
-			for (int j = 0; j < repo2.length; j++) {
-				if (isEqual((IInstallableUnit) repo1[i], (IInstallableUnit) repo2[j]))
-					numKeys--;
-				//identical keys has bee found, therefore the number of unique keys is one less than previously thought
-			}
-		}
-		return numKeys;
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private void metadataMirrorToEmpty(String message, boolean append) {
-		//destination repo is created blank
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, append); //do not append
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 */
-	private void metadataMirrorToPopulated(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: ensure setup completed successfully
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data
-	 * @throws Exception
-	 * Source contains A, B
-	 * Target contains A, B
-	 */
-	private void metadataMirrorToFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 */
-	private void metadataMirrorToPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 */
-	private void metadataMirrorToPopulatedWithFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo3Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 */
-	private void metadataMirrorToPopulatedWithPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, true);
-
-		try {
-			//Setup: verify
-			assertContains(message + ".5", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains(message + ".6", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".7", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".7", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private File metadataMirrorEmpty(String message, boolean append) {
-		//Setup: Create an empty repository
-		File emptyRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: remove repository if it exists
-		getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-		//Setup: delete any data that may be in the folder
-		AbstractProvisioningTest.delete(emptyRepository);
-		try {
-			getMetadataRepositoryManager().createRepository(emptyRepository.toURI(), "Empty Repository", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail(message + ".1", e);
-		}
-
-		runMirrorApplication(message + ".0", emptyRepository, destRepoLocation, append);
-		return emptyRepository; //return the repository for use in verification
-	}
-
-	/**
-	 * Tests mirroring all metadata from an empty repository
-	 * Source contains
-	 */
-	private File metadataMirrorEmptyToPopulated(String message, boolean append) {
-		//Setup: Populate the repository
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		return metadataMirrorEmpty(message + ".1", append); //create the empty repository, perform the mirror, pass the result back
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository 
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToEmpty() {
-		metadataMirrorToEmpty("1.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("1.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("1.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToEmptyWithClean() {
-		metadataMirrorToEmpty("2.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("2.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("2.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToFullDuplicate() {
-		metadataMirrorToFullDuplicate("3.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("3.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("3.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToFullDuplicateWithClean() {
-		metadataMirrorToFullDuplicate("4.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("4.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("4.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulated() {
-		metadataMirrorToPopulated("5.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("5.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("5.2", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5.3", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("5.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToPopulatedWithClean() {
-		metadataMirrorToPopulated("6.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("6.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("6.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPartialDuplicate() {
-		metadataMirrorToPartialDuplicate("7.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("7.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("7.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPartialDuplicateWithClean() {
-		metadataMirrorToPartialDuplicate("8.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("8.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("8.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulatedWithFullDuplicate() {
-		metadataMirrorToPopulatedWithFullDuplicate("9.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("9.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("9.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToPopulatedWithFullDuplicateWithClean() {
-		metadataMirrorToPopulatedWithFullDuplicate("10.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("10.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("10.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D, E, F
-	 */
-	public void testMetadataMirrorToPopulatedWithPartialDuplicate() {
-		metadataMirrorToPopulatedWithPartialDuplicate("11.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("11.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("11.2", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("11.3", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("11.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulatedWithPartialDuplicateWithClean() {
-		metadataMirrorToPopulatedWithPartialDuplicate("12.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("12.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("12.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid source repository
-	 */
-	public void testMetadataMirrorFromInvalid() {
-		//get a temp folder
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		//delete any data that may exist in that temp folder
-		delete(invalidRepository);
-
-		try {
-			basicRunMirrorApplication("13.1", invalidRepository.toURL(), destRepoLocation.toURL(), true);
-			//we expect a provisioning exception to be thrown and should never get here
-			fail("13.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been received
-		} catch (Exception e) {
-			fail("13.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid destination repository
-	 */
-	public void testMetadataMirrorToInvalid() {
-		URI invalidDestRepository;
-		try {
-			invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("14.1", sourceRepoLocation.toURL(), invalidDestRepository.toURL(), true);
-			//we expect an illegal state exception to be thrown and should never get here
-			fail("14.0 IllegalStateExpection not thrown");
-		} catch (IllegalStateException e) {
-			return; //correct type of exception has been received
-		} catch (Exception e) {
-			fail("14.1", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given both an invalid source and an invalid destination repository
-	 */
-	public void testMetadataMirrorBothInvalid() {
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		delete(invalidRepository);
-
-		try {
-			URI invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("15.1", invalidRepository.toURL(), invalidDestRepository.toURL(), true);
-			//we expect a provisioning exception to be thrown and should never get here
-			fail("15.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("15.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to another empty repository
-	 * Source contains
-	 * Target contains
-	 * Expected is
-	 */
-	public void testMetadataMirrorEmptyToEmpty() {
-		File emptyRepository = metadataMirrorEmpty("19.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("16.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("16.2", e);
-		}
-
-		//remove the empty repository
-		getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorEmptyToPopulated() {
-		File emptyRepository = metadataMirrorEmptyToPopulated("17.0", true);
-
-		try {
-			//verify destination's content
-			assertContains("17.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContentEquals("17.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("17.3", e);
-		}
-
-		//remove the empty repository
-		getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository with "-writeMode clean"
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToPopulatedWithClean() {
-		File emptyRepository = metadataMirrorEmptyToPopulated("18.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("18.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("18.2", e);
-		}
-
-		//remove the empty repository
-		getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring a repository to itself
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorSourceIsDestination() {
-		//Setup: Populate the repository
-		runMirrorApplication("19.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the mirror application with the source being the same as the destination
-		runMirrorApplication("19.1", destRepoLocation, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("19.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("19.3", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring a repository with a different version of the same package
-	 * Source contains A, B (v1.0.1)
-	 * Target contains A, B (v1.0.0)
-	 * Expected is A, B (v1.0.0) and A, B (v1.0.1)
-	 */
-	public void testArtifactMirrorDifferentVersions() {
-		//Setup: Populate the repository
-		runMirrorApplication("20.0", sourceRepoLocation, destRepoLocation, false);
-
-		//start a mirror application where the source contains the same artifacts but with a different version compared to the destination
-		runMirrorApplication("20.1", sourceRepo4Location, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContains("20.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("20.3", getMetadataRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("20.4", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("20.5", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified source
-	 */
-	public void testArtifactMirrorNullSource() {
-		String[] args = null;
-		//create arguments without a "-source"
-		args = new String[] {"-destination", destRepoLocation.toURI().toString()};
-
-		try {
-			runMirrorApplication("21.1", args);
-			//We expect the IllegalStateException to be thrown
-			fail("21.3 IllegalStateException not thrown");
-		} catch (IllegalStateException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("21.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified destination
-	 */
-	public void testArtifactMirrorNullDestination() {
-		String[] args = null;
-		//create arguments without a "-destination"
-		args = new String[] {"-source", sourceRepoLocation.toURI().toString()};
-
-		try {
-			runMirrorApplication("22.1", args);
-			//We expect the IllegalStateException to be thrown
-			fail("22.3 IllegalStateException not thrown");
-		} catch (IllegalStateException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("22.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles both an unspecified source and an unspecified destination
-	 */
-	public void testArtifactMirrorNullBoth() {
-		//create arguments with neither "-destination" nor "-source"
-		String[] args = new String[] {};
-
-		try {
-			runMirrorApplication("23.0", args);
-			//We expect the IllegalStateException to be thrown
-			fail("23.2 IllegalStateException not thrown");
-		} catch (IllegalStateException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("23.1", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created by the mirror application is a copy of the source
-	 */
-	public void testNewArtifactRepoProperties() {
-		//run mirror application with source not pre-existing
-		metadataMirrorToEmpty("24.0", true);
-
-		try {
-			IMetadataRepository sourceRepository = getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-			IMetadataRepository destinationRepository = getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("24.1", sourceRepository.getName(), destinationRepository.getName());
-			assertRepositoryProperties("24.2", sourceRepository.getProperties(), destinationRepository.getProperties());
-		} catch (ProvisionException e) {
-			fail("24.3", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created before the mirror application is run does not have its properties changed
-	 */
-	public void testExistingArtifactRepoProperties() {
-		//Setup: create the destination
-		String name = "Destination Name";
-		Map properties = null; //default properties
-		try {
-			//create the repository and get the resulting properties
-			properties = getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties).getProperties();
-		} catch (ProvisionException e) {
-			fail("25.0", e);
-		}
-
-		//run the mirror application
-		metadataMirrorToEmpty("25.2", true);
-
-		try {
-			IMetadataRepository repository = getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("25.3", name, repository.getName());
-			assertRepositoryProperties("25.4", properties, repository.getProperties());
-		} catch (ProvisionException e) {
-			fail("25.5", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created by the mirror application has specified name
-	 * For Bug 256909
-	 */
-	public void testNewArtifactRepoWithNewName() {
-		String name = "Bug 256909 test - new";
-		try {
-			//set the arguments
-			String[] args = new String[] {"-source", sourceRepoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-destinationName", name};
-			//run the mirror application
-			runMirrorApplication("Bug 256909 Test", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name was set correct", name, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Cannot obtain destination", e);
-		}
-	}
-
-	/**
-	 * Ensures that an existing destination used by the mirror application is given specified name
-	 * For Bug 256909
-	 */
-	public void testExistingArtifactRepoWithNewName() {
-		String oldName = "The original naem for Bug 256909 test - existing";
-		String newName = "Bug 256909 test - existing";
-		//Setup create the repository
-		IMetadataRepository destinationRepo = null;
-		try {
-			destinationRepo = getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), oldName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repo at destination", e);
-		}
-		assertEquals("Assert name is set correctly before mirror", oldName, destinationRepo.getName());
-
-		try {
-			//set the arguments
-			String[] args = new String[] {"-source", sourceRepoLocation.toURL().toExternalForm(), "-destination", destRepoLocation.toURL().toExternalForm(), "-destinationName", newName};
-			//run the mirror application
-			runMirrorApplication("Bug 256909 Test", args);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name is set correctly after mirror", newName, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSource() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the content.jar file
-		File compressedMetadataXML = new File(compressedSource.getAbsoluteFile() + "/content.jar");
-		//Setup: make sure content.jar exists
-		assertTrue("1", compressedMetadataXML.exists());
-
-		try {
-			basicRunMirrorApplication("2", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("3", e);
-		} catch (Exception e) {
-			fail("4", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar exists
-		assertTrue("5", destMetadataXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSourcetoUncompressedDestination() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the content.jar file
-		File compressedMetadataXML = new File(compressedSource.getAbsoluteFile() + "/content.jar");
-		//Setup: make sure content.jar exists
-		assertTrue("1", compressedMetadataXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		try {
-			basicRunMirrorApplication("3", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar does not exist
-		assertFalse("6", destMetadataXML.exists());
-		//get the content.xml file
-		destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.xml");
-		//make sure content.xml exists
-		assertTrue("7", destMetadataXML.exists());
-	}
-
-	public void testMirrorUncompressedSourceToCompressedDestination() {
-		File uncompressedSource = getTestData("0", "/testData/mirror/mirrorSourceRepo3");
-
-		//Setup: get the content.xml file
-		File uncompressedContentXML = new File(uncompressedSource.getAbsoluteFile() + "/content.xml");
-		//Setup: make sure content.xml exists
-		assertTrue("1", uncompressedContentXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			Map property = new HashMap();
-			property.put(IRepository.PROP_COMPRESSED, "true");
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, property);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "content.jar").exists());
-		try {
-			basicRunMirrorApplication("3", uncompressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar does exist
-		assertTrue("6", destMetadataXML.exists());
-		//get the content.xml file
-		destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.xml");
-		//make sure content.xml exists
-		assertFalse("7", destMetadataXML.exists());
-	}
-
-	public void testMirrorApplicationWithCompositeSource() {
-		//Setup Make composite repository
-		File repoLocation = new File(getTempFolder(), "CompositeMetadataMirrorTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		IMetadataRepository repo = null;
-		try {
-			repo = getMetadataRepositoryManager().createRepository(repoLocation.toURI(), "metadata name", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-		//ensure proper type of repository has been created
-		if (!(repo instanceof CompositeMetadataRepository))
-			fail("Repository is not a CompositeMetadataRepository");
-		//Populate source
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		((CompositeMetadataRepository) repo).addChild(child1.toURI());
-		((CompositeMetadataRepository) repo).addChild(child2.toURI());
-
-		runMirrorApplication("Mirroring from Composite Source", repoLocation, destRepoLocation, false);
-
-		try {
-			assertContentEquals("Verifying contents", repo, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-
-			//Verify that result is the same as mirroring from the 2 repositories seperately
-			assertContains("3", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("4", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("Could not load destination", e);
-		}
-	}
-
-	/**
-	 * Test how the mirror application handles a repository specified as a local path
-	 */
-	public void testMetadataMirrorNonURIDest() {
-		String[] args = new String[] {"-destination", destRepoLocation.toString(), "-source", sourceRepoLocation.toString()};
-
-		try {
-			runMirrorApplication("Mirroring", args);
-			assertContentEquals("2.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (Exception e) {
-			fail("Error mirroring", e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataRepositoryCleanupTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataRepositoryCleanupTest.java
deleted file mode 100644
index aa978b4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/MetadataRepositoryCleanupTest.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.framework.Bundle;
-
-/**
- * Test to ensure MirrorApplication handles loading an removing repositories correctly
- */
-public class MetadataRepositoryCleanupTest extends AbstractProvisioningTest {
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File bystanderRepoLocation; //anotherfeature
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("1.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		bystanderRepoLocation = getTestData("2.0", "/testData/mirror/mirrorSourceRepo2");
-
-		//create destination location
-		String tempDir = System.getProperty("java.io.tmpdir");
-		destRepoLocation = new File(tempDir, "BasicMirrorApplicationTest");
-		AbstractProvisioningTest.delete(destRepoLocation);
-	}
-
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getMetadataRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(bystanderRepoLocation.toURI());
-
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	/**
-	 * runs default mirror. source is the source repo, destination is the destination repo
-	 */
-	private void runMirrorApplication(final File source, final File destination, final boolean append) throws Exception {
-		MirrorApplication application = new MirrorApplication();
-		application.start(new IApplicationContext() {
-
-			public void applicationRunning() {
-			}
-
-			public Map getArguments() {
-				Map arguments = new HashMap();
-				try {
-					arguments.put(IApplicationContext.APPLICATION_ARGS, new String[] {"-source", source.toURL().toExternalForm(), "-destination", destination.toURL().toExternalForm(), append ? "-append" : ""});
-				} catch (MalformedURLException e) {
-					// shouldn't happen
-					throw new IllegalArgumentException(e);
-				}
-				return arguments;
-			}
-
-			public String getBrandingApplication() {
-				return null;
-			}
-
-			public Bundle getBrandingBundle() {
-				return null;
-			}
-
-			public String getBrandingDescription() {
-				return null;
-			}
-
-			public String getBrandingId() {
-				return null;
-			}
-
-			public String getBrandingName() {
-				return null;
-			}
-
-			public String getBrandingProperty(String key) {
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with neither source nor destination loaded
-	 * then neither will remain loaded after the application finishes
-	 */
-	public void testMetadataMirrorRemovesRepos() {
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("1.0", e);
-		}
-
-		assertFalse(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the source loaded
-	 * then the source, and only the source, remains loaded after the application finishes
-	 */
-	public void testMetadataMirrorRemovesReposWithSourceLoaded() {
-		try {
-			//Load the source
-			getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("2.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("2.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the destination loaded
-	 * then the destination, and only the destination, remains loaded after the application finishes
-	 */
-	public void testMetadataMirrorRemovesReposWithDestinationLoaded() {
-		try {
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - metadata"; //$NON-NLS-1$
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("3.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("3.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that is the mirror application is run with both the source and destination loaded
-	 * then both will remain loaded after the application has finished
-	 */
-	public void testMetadataMirrorRemovesReposWithBothLoaded() {
-		try {
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - metadata"; //$NON-NLS-1$
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Load the source
-			getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("4.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("4.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		assertTrue(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with neither source nor destination loaded
-	 * then neither will remain loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testMetadataMirrorRemovesReposWithBystanderLoaded() {
-		//Load the bystander repository. This should not be effected by the mirror application
-		try {
-			getMetadataRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			// TODO Auto-generated catch block
-			fail("5.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("5.2", e);
-		}
-
-		assertFalse(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getMetadataRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with only the source loaded
-	 * then the source, and only the source, remains loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testMetadataMirrorRemovesReposWithSourceAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getMetadataRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load the source
-			getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("6.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("6.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getMetadataRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that if the mirror application is run with the destination loaded
-	 * then the destination, and only the destination, remains loaded after the application finishes
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testMetadataMirrorRemovesReposWithDestinationAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getMetadataRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - metadata"; //$NON-NLS-1$
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("7.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("7.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		assertFalse(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getMetadataRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-
-	/**
-	 * Ensures that is the mirror application is run with both the source and destination loaded
-	 * then both will remain loaded after the application has finished
-	 * Also ensures that the mirror application does not alter the state of any repository other
-	 * than the source or destination
-	 */
-	public void testMetadataMirrorRemovesReposWithBothAndBystanderLoaded() {
-		try {
-			//Load the bystander repository. This should not be effected by the mirror application
-			getMetadataRepositoryManager().loadRepository(bystanderRepoLocation.toURI(), null);
-			//Load (by creating) the destination
-			String repositoryName = destRepoLocation.toURI() + " - metadata"; //$NON-NLS-1$
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			//Load the source
-			getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("8.0", e);
-		}
-
-		try {
-			runMirrorApplication(sourceRepoLocation, destRepoLocation, true);
-		} catch (Exception e) {
-			fail("8.2", e);
-		}
-
-		assertTrue(getMetadataRepositoryManager().contains(destRepoLocation.toURI()));
-		assertTrue(getMetadataRepositoryManager().contains(sourceRepoLocation.toURI()));
-		//Ensure bystander was not effected by the mirror application
-		assertTrue(getMetadataRepositoryManager().contains(bystanderRepoLocation.toURI()));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
deleted file mode 100644
index 6c9e0cc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
+++ /dev/null
@@ -1,1492 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.processors.md5.Messages;
-import org.eclipse.equinox.internal.p2.artifact.repository.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.eclipse.osgi.util.NLS;
-
-/*
- * Modified from ArtifactMirrorApplicationTest
- */
-public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
-	private static final String MISSING_ARTIFACT = "canonical: osgi.bundle,javax.wsdl,1.4.0.v200803061811.";
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File sourceRepo2Location; //anotherfeature
-	protected File sourceRepo3Location; //helloworldfeature + yetanotherfeature
-	protected File sourceRepo4Location; //helloworldfeature v1.0.1
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		sourceRepo2Location = getTestData("0.1", "/testData/mirror/mirrorSourceRepo2");
-		sourceRepo3Location = getTestData("0.2", "/testData/mirror/mirrorSourceRepo3");
-		sourceRepo4Location = getTestData("0.3", "/testData/mirror/mirrorSourceRepo4");
-
-		//create destination location
-		destRepoLocation = new File(getTempFolder(), "BasicMirrorApplicationTest");
-		delete(destRepoLocation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getArtifactRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo2Location.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo3Location.toURI());
-		getArtifactRepositoryManager().removeRepository(sourceRepo4Location.toURI());
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	private void basicRunMirrorApplication(String message, URI source, URI destination, Boolean append, Boolean formatDestination, String destName) throws Exception {
-		MirrorApplication app = new MirrorApplication();
-
-		if (destination != null) {
-			RepositoryDescriptor dest = null;
-			if (formatDestination != null && formatDestination)
-				dest = createRepositoryDescriptor(destination, append, source, destName);
-			else
-				dest = createRepositoryDescriptor(destination, append, null, destName);
-			app.addDestination(dest);
-		}
-
-		if (source != null) {
-			RepositoryDescriptor src = createRepositoryDescriptor(source, null, null, null);
-			app.addSource(src);
-		}
-		app.run(null);
-	}
-
-	private void basicRunMirrorApplication(String message, URI source, URI destination, Boolean append, Boolean formatDestination) throws Exception {
-		basicRunMirrorApplication(message, source, destination, append, formatDestination, null);
-	}
-
-	private void basicRunMirrorApplication(String message, URI source, URI destination) throws Exception {
-		basicRunMirrorApplication(message, source, destination, null, null, null);
-	}
-
-	private RepositoryDescriptor createRepositoryDescriptor(URI location, Boolean append, URI format, String name) {
-		RepositoryDescriptor descriptor = new RepositoryDescriptor();
-		descriptor.setLocation(location);
-		descriptor.setKind("artifact");
-		if (append != null)
-			descriptor.setAppend(append);
-		if (format != null)
-			descriptor.setFormat(format);
-		if (name != null)
-			descriptor.setName(name);
-		return descriptor;
-	}
-
-	/**
-	 * just a wrapper method for compatibility
-	 */
-	private void runMirrorApplication(String message, File source, File destination, boolean append) {
-		try {
-			basicRunMirrorApplication(message, source.toURI(), destination.toURI(), append, false);
-		} catch (Exception e) {
-			fail(message, e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private void artifactMirrorToEmpty(String message, boolean append, boolean format) {
-		try {
-			//destination repo is created blank
-			basicRunMirrorApplication(message, sourceRepoLocation.toURI(), destRepoLocation.toURI(), append, format);
-		} catch (Exception e) {
-			fail(message, e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 */
-	private void artifactMirrorToPopulated(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup ensure setup completes successfully
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 */
-	private void artifactMirrorToFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 */
-	private void artifactMirrorToPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 */
-	private void artifactMirrorToPopulatedWithFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo3Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 */
-	private void artifactMirrorToPopulatedWithPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate artifacts
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append should not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//Setup: populate destination with duplicate artifacts
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, true);
-
-		try {
-			//Setup: verify
-			assertContains(message + ".5", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains(message + ".6", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".7", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".9", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts from an empty repository
-	 * Source contains
-	 */
-	private File artifactMirrorEmpty(String message, boolean append) {
-		//Setup: Create an empty repository
-		File emptyRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: remove repository if it exists
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//Setup: delete any data that may be in the folder
-		delete(emptyRepository);
-		try {
-			getArtifactRepositoryManager().createRepository(emptyRepository.toURI(), "Empty Repository", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail(message + ".1", e);
-		}
-
-		runMirrorApplication(message + ".0", emptyRepository, destRepoLocation, append);
-		return emptyRepository; //return the repository for use in verification
-	}
-
-	/**
-	 * Tests mirroring all artifacts from an empty repository
-	 * Source contains
-	 */
-	private File artifactMirrorEmptyToPopulated(String message, boolean append) {
-		//Setup: Populate the repository
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		return artifactMirrorEmpty(message + ".1", append); //create the empty repository, perform the mirror, pass the result back
-	}
-
-	/**
-	 * Runs mirror app on source with missing artifact with "-ignoreErrors"
-	 */
-	private void mirrorWithError(boolean verbose) {
-		File errorSourceLocation = getTestData("loading error data", "testData/artifactRepo/missingSingleArtifact");
-		File validSourceLocation = getTestData("loading error data", "testData/artifactRepo/simple");
-		//repo contains an artifact entry for a file that does not exist on disk. this should throw a file not found exception
-		try {
-			MirrorApplication app = new MirrorApplication();
-			app.addSource(createRepositoryDescriptor(errorSourceLocation.toURI(), null, null, null));
-			app.addSource(createRepositoryDescriptor(validSourceLocation.toURI(), null, null, null));
-			app.addDestination(createRepositoryDescriptor(destRepoLocation.toURI(), null, null, null));
-			//Set ignoreErrors flag. Set verbose flag if verbose == true
-			app.setVerbose(verbose);
-			app.setIgnoreErrors(true);
-			//run the mirror application
-			app.run(null);
-		} catch (Exception e) {
-			fail("Running mirror application with errored source failed", e);
-		}
-	}
-
-	/**
-	 * ensures that all files with entries in the repo have corresponding files on disk.
-	 * Not Biconditional.
-	 */
-	private void assertFileSizes(String message, SimpleArtifactRepository expected, SimpleArtifactRepository actual) {
-		Collector expectedKeys = expected.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = expectedKeys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] expectedDescriptors = expected.getArtifactDescriptors(key);
-			IArtifactDescriptor[] actualDescriptors = actual.getArtifactDescriptors(key);
-
-			if (expectedDescriptors == null || actualDescriptors == null)
-				if (!(expectedDescriptors == null && actualDescriptors == null))
-					fail(message + " missing key " + key);
-
-			top: for (int j = 0; j < expectedDescriptors.length; j++) {
-				for (int k = 0; k < actualDescriptors.length; k++) {
-					if (Arrays.equals(expectedDescriptors[j].getProcessingSteps(), actualDescriptors[k].getProcessingSteps())) {
-						File expectedFile = expected.getArtifactFile(expectedDescriptors[j]);
-						File actualFile = actual.getArtifactFile(actualDescriptors[k]);
-						if (expectedFile == null || actualFile == null)
-							fail(message + " descriptor mismatch");
-						if (!(expectedFile.exists() && actualFile.exists()))
-							fail(message + " file does not exist");
-						assertTrue(expectedFile.length() == actualFile.length());
-						continue top;
-					}
-				}
-				fail(message + "Missing expected descriptor" + expectedDescriptors[j]);
-			}
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToEmpty() {
-		artifactMirrorToEmpty("1.0", true, false); // run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("1.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("1.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToEmptyWithClean() {
-		artifactMirrorToEmpty("2.0", false, false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("2.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("2.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToFullDuplicate() {
-		artifactMirrorToFullDuplicate("3.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("3.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("3.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with exact duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToFullDuplicateWithClean() {
-		artifactMirrorToFullDuplicate("4.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("4.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("4.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulated() {
-		artifactMirrorToPopulated("5.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("5.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("5.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5.3", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("5.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with non-duplicate entries with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToPopulatedWithClean() {
-		artifactMirrorToPopulated("6.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("6.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("6.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPartialDuplicate() {
-		artifactMirrorToPartialDuplicate("7.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("7.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("7.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with partially duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPartialDuplicateWithClean() {
-		artifactMirrorToPartialDuplicate("8.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("8.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("8.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulatedWithFullDuplicate() {
-		artifactMirrorToPopulatedWithFullDuplicate("9.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("9.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("9.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both full duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorToPopulatedWithFullDuplicateWithClean() {
-		artifactMirrorToPopulatedWithFullDuplicate("10.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("10.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("10.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D, E, F
-	 */
-	public void testArtifactMirrorToPopulatedWithPartialDuplicate() {
-		artifactMirrorToPopulatedWithPartialDuplicate("11.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("11.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("11.2", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("11.3", getArtifactKeyCount(sourceRepo2Location.toURI()) + getArtifactKeyCount(sourceRepo3Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("11.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to a repository populated with both partial duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D
-	 */
-	public void testArtifactMirrorToPopulatedWithPartialDuplicateWithClean() {
-		artifactMirrorToPopulatedWithPartialDuplicate("12.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("12.1", getArtifactRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("12.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid source repository
-	 */
-	public void testArtifactMirrorFromInvalid() {
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		delete(invalidRepository);
-
-		try {
-			basicRunMirrorApplication("13.1", invalidRepository.toURI(), destRepoLocation.toURI(), true, false);
-			//we expect a provision exception to be thrown. We should never get here.
-			fail("13.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("13.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid destination repository
-	 */
-	public void testArtifactMirrorToInvalid() {
-		URI invalidDestRepository = null;
-		try {
-			//Setup: create a URI pointing to an unmodifiable place
-			invalidDestRepository = new URI("http://foobar.com/abcdefg");
-
-			//run the application with the modifiable destination
-			basicRunMirrorApplication("14.1", sourceRepoLocation.toURI(), invalidDestRepository, true, false);
-			//we're expecting an UnsupportedOperationException so we should never get here
-			fail("14.0 UnsupportedOperationException not thrown");
-		} catch (ProvisionException e) {
-			assertEquals("Unexpected error message", NLS.bind(org.eclipse.equinox.p2.internal.repository.tools.Messages.exception_invalidDestination, URIUtil.toUnencodedString(invalidDestRepository)), e.getMessage());
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("14.2", e);
-		} finally {
-			if (invalidDestRepository != null)
-				getArtifactRepositoryManager().removeRepository(invalidDestRepository);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given both an invalid source and an invalid destination repository
-	 */
-	public void testArtifactMirrorBothInvalid() {
-		//Setup: create a file that is not a valid repository
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: delete any leftover data
-		delete(invalidRepository);
-
-		try {
-			//Setup: create a URI pointing to an unmodifiable place
-			URI invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("15.1", invalidRepository.toURI(), invalidDestRepository, true, false);
-			//We expect the ProvisionException to be thrown
-			fail("15.0 ProvisionException not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception was thrown
-		} catch (Exception e) {
-			fail("15.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to another empty repository
-	 * Source contains
-	 * Target contains
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToEmpty() {
-		File emptyRepository = artifactMirrorEmpty("16.0", true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("16.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("16.2", e);
-		}
-
-		//remove the emptyRepository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any left over data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorEmptyToPopulated() {
-		File emptyRepository = artifactMirrorEmptyToPopulated("17.0", true);
-
-		try {
-			//verify destination's content
-			assertContains("17.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContentEquals("17.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("17.3", e);
-		}
-
-		//remove the empty repository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//remove any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository with "-writeMode clean"
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToPopulatedWithClean() {
-		File emptyRepository = artifactMirrorEmptyToPopulated("18.0", false);
-
-		try {
-			//verify destination's content
-			assertContentEquals("18.1", getArtifactRepositoryManager().loadRepository(emptyRepository.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("18.2", e);
-		}
-
-		//remove the empty repository
-		getArtifactRepositoryManager().removeRepository(emptyRepository.toURI());
-		//delete any leftover data
-		delete(emptyRepository);
-	}
-
-	/**
-	 * Tests mirroring a repository to itself
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorSourceIsDestination() {
-		//Setup: Populate the repository
-		runMirrorApplication("19.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the application with the source and destination specified to the same place
-		runMirrorApplication("19.1", destRepoLocation, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("19.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("19.3", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring a repository with a different version of the same package
-	 * Source contains A, B (v1.0.1)
-	 * Target contains A, B (v1.0.0)
-	 * Expected is A, B (v1.0.0) and A, B (v1.0.1)
-	 */
-	public void testArtifactMirrorDifferentVersions() {
-		//Setup: Populate the repository
-		runMirrorApplication("20.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the application with the source and destination specified to the same place
-		runMirrorApplication("20.1", sourceRepo4Location, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContains("20.2", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("20.3", getArtifactRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("20.4", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo4Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("20.5", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified source
-	 */
-	public void testArtifactMirrorNullSource() {
-		try {
-			basicRunMirrorApplication("21.1", null, destRepoLocation.toURI());
-			//We expect the ProvisionException to be thrown
-			fail("21.3 ProvisionException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("21.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified destination
-	 */
-	public void testArtifactMirrorNullDestination() {
-		try {
-			basicRunMirrorApplication("22.1", sourceRepoLocation.toURI(), null);
-			//We expect the ProvisionException to be thrown
-			fail("22.3 ProvisionException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("22.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles both an unspecified source and an unspecified destination
-	 */
-	public void testArtifactMirrorNullBoth() {
-		try {
-			basicRunMirrorApplication("23.0", null, null);
-			//We expect the ProvisionException to be thrown
-			fail("23.2 ProvisionException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("23.1", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created by the mirror application is a copy of the source
-	 */
-	public void testNewArtifactRepoProperties() {
-		//run mirror application with source not preexisting
-		artifactMirrorToEmpty("24.0", true, true);
-
-		try {
-			IArtifactRepository sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-			IArtifactRepository destinationRepository = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("24.1", sourceRepository.getName(), destinationRepository.getName());
-			assertRepositoryProperties("24.2", sourceRepository.getProperties(), destinationRepository.getProperties());
-		} catch (ProvisionException e) {
-			fail("24.3", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created before the mirror application is run does not have its properties changed
-	 */
-	public void testExistingArtifactRepoProperties() {
-		//Setup: create the destination
-		String name = "Destination Name";
-		Map properties = null; //default properties
-		try {
-			//create the repository and get the resulting properties
-			properties = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties).getProperties();
-		} catch (ProvisionException e) {
-			fail("25.0", e);
-		}
-
-		//run the mirror application
-		artifactMirrorToEmpty("25.2", true, false);
-
-		try {
-			IArtifactRepository repository = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("25.3", name, repository.getName());
-			assertRepositoryProperties("25.4", properties, repository.getProperties());
-		} catch (ProvisionException e) {
-			fail("25.5", e);
-		}
-	}
-
-	/**
-	 *  * Ensures that a repository created by the mirror application has specified name
-	 * For Bug 256909
-	 */
-	public void testNewArtifactRepoWithNewName() {
-		String name = "Bug 256909 test - new";
-		try {
-			basicRunMirrorApplication("Bug 256909 Test", sourceRepoLocation.toURI(), destRepoLocation.toURI(), true, false, name);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name was set correct", name, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Cannot obtain destination", e);
-		}
-	}
-
-	/**
-	 * Ensures that an existing destination used by the mirror application is given specified name
-	 * For Bug 256909
-	 */
-	public void testExistingArtifactRepoWithNewName() {
-		String oldName = "The original naem for Bug 256909 test - existing";
-		String newName = "Bug 256909 test - existing";
-		//Setup create the repository
-		IArtifactRepository destinationRepo = null;
-		try {
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), oldName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Error creating repo at destination", e);
-		}
-		assertEquals("Assert name is set correctly before mirror", oldName, destinationRepo.getName());
-
-		try {
-			MirrorApplication app = new MirrorApplication();
-			app.addSource(createRepositoryDescriptor(sourceRepoLocation.toURI(), null, null, null));
-			app.addDestination(createRepositoryDescriptor(destRepoLocation.toURI(), null, null, newName));
-			//run the mirror application
-			app.run(null);
-
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name is set correctly after mirror", newName, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-	}
-
-	/**
-	 * Verifies that the mirror application copies files (including packed files) correctly
-	 */
-	public void testArtifactFileCopying() {
-		//Setup: load the repository containing packed data
-		File packedRepoLocation = getTestData("26.0", "/testData/mirror/mirrorPackedRepo");
-
-		try {
-			basicRunMirrorApplication("26.1", packedRepoLocation.toURI(), destRepoLocation.toURI(), false, false);
-		} catch (Exception e) {
-			fail("26.3", e);
-		}
-
-		try {
-			//Verify Contents
-			assertContentEquals("26.4", getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//Verify files on disk
-			assertFileSizes("26.5", (SimpleArtifactRepository) getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null), (SimpleArtifactRepository) getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("26.6", e);
-		}
-	}
-
-	/**
-	 * Verifies that the mirror application executes processing steps correctly
-	 */
-	public void testArtifactProcessingSteps() {
-		//Setup: load the repository containing packed data
-		File packedRepoLocation = getTestData("27.0", "/testData/mirror/mirrorPackedRepo");
-		IArtifactRepository packedRepo = null;
-		IArtifactRepository destinationRepo = null;
-
-		try {
-			packedRepo = getArtifactRepositoryManager().loadRepository(packedRepoLocation.toURI(), null);
-			destinationRepo = getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), "Test Repo", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e1) {
-			fail("");
-		}
-
-		Collector keys = packedRepo.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = (IArtifactKey) iterator.next();
-			IArtifactDescriptor[] srcDescriptors = packedRepo.getArtifactDescriptors(key);
-
-			for (int j = 0; j < srcDescriptors.length; j++) {
-				if (!(srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT) == null) && srcDescriptors[j].getProperty(IArtifactDescriptor.FORMAT).equals("packed")) {
-					//if we have a packed artifact
-					IArtifactDescriptor newDescriptor = new ArtifactDescriptor(key);
-					Map properties = new OrderedProperties();
-					properties.putAll(srcDescriptors[j].getProperties());
-					properties.remove(IArtifactDescriptor.FORMAT);
-					((ArtifactDescriptor) newDescriptor).addProperties(properties);
-					//create appropriate descriptor
-					try {
-						OutputStream repositoryStream = null;
-						try {
-							//System.out.println("Mirroring: " + srcDescriptors[j].getArtifactKey() + " (Descriptor: " + srcDescriptors[j] + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-							repositoryStream = destinationRepo.getOutputStream(newDescriptor);
-							if (repositoryStream == null)
-								return;
-							// TODO Is that ok to ignore the result?
-							//TODO MAKE THIS WORK PROPERLY
-							packedRepo.getArtifact(srcDescriptors[j], repositoryStream, new NullProgressMonitor());
-						} finally {
-							if (repositoryStream != null)
-								repositoryStream.close();
-						}
-					} catch (ProvisionException e) {
-						fail("27.1", e);
-					} catch (IOException e) {
-						fail("27.2", e);
-					}
-					//corresponding key should now be in the destination
-					IArtifactDescriptor[] destDescriptors = destinationRepo.getArtifactDescriptors(key);
-					boolean canonicalFound = false;
-					for (int l = 0; !canonicalFound && (l < destDescriptors.length); l++) {
-						//No processing steps mean item is canonical
-						if (destDescriptors[l].getProcessingSteps().length == 0)
-							canonicalFound = true;
-					}
-					if (!canonicalFound)
-						fail("27.3 no canonical found for " + key.toString());
-
-					//ensure the canonical matches that in the expected
-					assertFileSizes("27.3", (SimpleArtifactRepository) destinationRepo, (SimpleArtifactRepository) packedRepo);
-				}
-			}
-		}
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSource() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the artifacts.jar file
-		File compressedArtifactsXML = new File(compressedSource.getAbsoluteFile() + "/artifacts.jar");
-		//Setup: make sure artifacts.jar exists
-		assertTrue("1", compressedArtifactsXML.exists());
-
-		try {
-			basicRunMirrorApplication("2", compressedSource.toURI(), destRepoLocation.toURI(), false, false);
-		} catch (MalformedURLException e) {
-			fail("3", e);
-		} catch (Exception e) {
-			fail("4", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar exists
-		assertTrue("5", destArtifactsXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSourcetoUncompressedDestination() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the artifacts.jar file
-		File compressedArtifactsXML = new File(compressedSource.getAbsoluteFile() + "/artifacts.jar");
-		//Setup: make sure artifacts.jar exists
-		assertTrue("1", compressedArtifactsXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "artifacts.xml").exists());
-		try {
-			basicRunMirrorApplication("3", compressedSource.toURI(), destRepoLocation.toURI(), false, false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar does not exist
-		assertFalse("6", destArtifactsXML.exists());
-		//get the artifacts.xml file
-		destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.xml");
-		//make sure artifacts.xml exists
-		assertTrue("7", destArtifactsXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorUncompressedSourceToCompressedDestination() {
-		File uncompressedSource = getTestData("0", "/testData/mirror/mirrorPackedRepo");
-
-		//Setup: get the artifacts.xml file
-		File artifactsXML = new File(uncompressedSource.getAbsoluteFile() + "/artifacts.xml");
-		//Setup: make sure artifacts.xml exists
-		assertTrue("1", artifactsXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			Map property = new HashMap();
-			property.put(IRepository.PROP_COMPRESSED, "true");
-			getArtifactRepositoryManager().createRepository(destRepoLocation.toURI(), name, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, property);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "artifacts.jar").exists());
-		try {
-			basicRunMirrorApplication("3", uncompressedSource.toURI(), destRepoLocation.toURI(), false, false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the artifacts.jar file
-		File destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.jar");
-		//make sure artifacts.jar does exist
-		assertTrue("6", destArtifactsXML.exists());
-		//get the artifacts.xml file
-		destArtifactsXML = new File(destRepoLocation.getAbsolutePath() + "/artifacts.xml");
-		//make sure artifacts.xml does not exist
-		assertFalse("7", destArtifactsXML.exists());
-	}
-
-	public void testMirrorApplicationWithCompositeSource() {
-		//Setup Make composite repository
-		File repoLocation = new File(getTempFolder(), "CompositeArtifactMirrorTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().createRepository(repoLocation.toURI(), "artifact name", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-		//ensure proper type of repository has been created
-		if (!(repo instanceof CompositeArtifactRepository))
-			fail("Repository is not a CompositeArtifactRepository");
-		//Populate source
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		((CompositeArtifactRepository) repo).addChild(child1.toURI());
-		((CompositeArtifactRepository) repo).addChild(child2.toURI());
-
-		runMirrorApplication("Mirroring from Composite Source", repoLocation, destRepoLocation, false);
-
-		try {
-			assertContentEquals("Verifying contents", repo, getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-
-			//Verify that result is the same as mirroring from the 2 repositories separately
-			assertContains("3", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("4", getArtifactRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5", getArtifactKeyCount(sourceRepoLocation.toURI()) + getArtifactKeyCount(sourceRepo2Location.toURI()), getArtifactKeyCount(destRepoLocation.toURI()));
-		} catch (ProvisionException e) {
-			fail("Could not load destination", e);
-		}
-	}
-
-	//for Bug 250527
-	public void testIgnoreErrorsArgument() {
-		//Error prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			try {
-				destRepoLocation.mkdir();
-				newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-			} catch (FileNotFoundException e) {
-				fail("Error redirecting outputs", e);
-			}
-			System.setErr(newErr);
-
-			//run test without verbose
-			mirrorWithError(false);
-
-		} finally {
-			System.setErr(oldErr);
-			if (newErr != null)
-				newErr.close();
-		}
-		assertEquals("Verifying correct number of Keys", 2, getArtifactKeyCount(destRepoLocation.toURI()));
-		//Because only 2 of the artifacts exists on disk, the number of artifacts in the destination should only be 1.
-		//Order in which mirror application mirrors artifacts is random.
-
-	}
-
-	public void testCompareUsingMD5Comparator() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/artifacts.xml");
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, artifact2);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		File repo1Location = getTestFolder(getUniqueString());
-		File repo2Location = getTestFolder(getUniqueString());
-		IArtifactRepository repo1 = null;
-		IArtifactRepository repo2 = null;
-		try {
-			repo1 = getArtifactRepositoryManager().createRepository(repo1Location.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo1.addDescriptor(descriptor1);
-			repo2 = getArtifactRepositoryManager().createRepository(repo2Location.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo2.addDescriptor(descriptor2);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		try {
-			try {
-				newErr = new PrintStream(new FileOutputStream(new File(repo2Location, "sys.err")));
-				newOut = new PrintStream(new FileOutputStream(new File(repo2Location, "sys.out")));
-			} catch (FileNotFoundException e) {
-				fail("Error redirecting outputs", e);
-			}
-			System.setErr(newErr);
-			System.setOut(newOut);
-			MirrorApplication app = null;
-			try {
-				app = new MirrorApplication();
-				app.addSource(createRepositoryDescriptor(repo1Location.toURI(), null, null, null));
-				app.addDestination(createRepositoryDescriptor(repo2Location.toURI(), null, null, null));
-				app.setVerbose(true);
-				//Set compare flag.
-				app.setCompare(true);
-				//run the mirror application
-				app.run(null);
-			} catch (Exception e) {
-				fail("Running mirror application with duplicate descriptors with different md5 values failed", e);
-			}
-		} finally {
-			System.setErr(oldErr);
-			if (newErr != null)
-				newErr.close();
-			System.setOut(oldOut);
-			if (newOut != null)
-				newOut.close();
-		}
-
-		IArtifactDescriptor[] destDescriptors = repo2.getArtifactDescriptors(descriptor2.getArtifactKey());
-		assertEquals("Ensuring destination has correct number of descriptors", 1, destDescriptors.length);
-		assertEquals("Ensuring proper descriptor exists in destination", descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), destDescriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-		String msg = NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(repo1.getLocation()), URIUtil.toUnencodedString(repo2.getLocation()), descriptor1});
-		try {
-			assertLogContainsLine(TestActivator.getLogFile(), msg);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-	}
-
-	public void testBaselineCompareUsingMD5Comparator() {
-		//Setup create descriptors with different md5 values
-		IArtifactKey dupKey = PublisherHelper.createBinaryArtifactKey("testKeyId", Version.create("1.2.3"));
-		File artifact1 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space/content.xml");
-		File artifact2 = getTestData("0.0", "/testData/mirror/mirrorSourceRepo2/content.xml");
-
-		//Setup Copy the file to the baseline
-		File repoLocation = getTestFolder(getUniqueString());
-		File baselineLocation = getTestFolder(getUniqueString());
-		File baselineBinaryDirectory = new File(baselineLocation, "binary");
-		baselineBinaryDirectory.mkdir();
-		File baselineContentLocation = new File(baselineBinaryDirectory, "testKeyId_1.2.3");
-		AbstractProvisioningTest.copy("Copying File to baseline", artifact2, baselineContentLocation);
-
-		IArtifactDescriptor descriptor1 = PublisherHelper.createArtifactDescriptor(dupKey, artifact1);
-		IArtifactDescriptor descriptor2 = PublisherHelper.createArtifactDescriptor(dupKey, baselineContentLocation);
-
-		assertEquals("Ensuring Descriptors are the same", descriptor1, descriptor2);
-		assertNotSame("Ensuring MD5 values are different", descriptor1.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-
-		//Setup make repositories
-		IArtifactRepository repo = null;
-		IArtifactRepository baseline = null;
-		try {
-			repo = getArtifactRepositoryManager().createRepository(repoLocation.toURI(), "Repo 1", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			repo.addDescriptor(descriptor1);
-			baseline = getArtifactRepositoryManager().createRepository(baselineLocation.toURI(), "Repo 2", IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			baseline.addDescriptor(descriptor2);
-		} catch (ProvisionException e) {
-			fail("Error creating repositories", e);
-		}
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		try {
-			try {
-				destRepoLocation.mkdir();
-				newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-				newOut = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.out")));
-			} catch (FileNotFoundException e) {
-				fail("Error redirecting outputs", e);
-			}
-			System.setErr(newErr);
-			System.setOut(newOut);
-			MirrorApplication app = null;
-			try {
-				app = new MirrorApplication();
-				app.addSource(createRepositoryDescriptor(repoLocation.toURI(), null, null, null));
-				app.addDestination(createRepositoryDescriptor(destRepoLocation.toURI(), null, null, null));
-				//Set baseline
-				app.setBaseline(baselineLocation.toURI());
-				app.setVerbose(true);
-				//Set compare flag.
-				app.setCompare(true);
-				//run the mirror application
-				app.run(null);
-			} catch (Exception e) {
-				fail("Running mirror application with baseline compare", e);
-			}
-		} finally {
-			System.setErr(oldErr);
-			if (newErr != null)
-				newErr.close();
-			System.setOut(oldOut);
-			if (newOut != null)
-				newOut.close();
-		}
-
-		IArtifactRepository destination = null;
-		try {
-			destination = getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-
-		IArtifactDescriptor[] destDescriptors = destination.getArtifactDescriptors(descriptor2.getArtifactKey());
-		assertEquals("Ensuring destination has correct number of descriptors", 1, destDescriptors.length);
-		assertEquals("Ensuring destination contains the descriptor from the baseline", descriptor2.getProperty(IArtifactDescriptor.DOWNLOAD_MD5), destDescriptors[0].getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-		String msg = NLS.bind(Messages.warning_differentMD5, new Object[] {URIUtil.toUnencodedString(baseline.getLocation()), URIUtil.toUnencodedString(repo.getLocation()), descriptor1});
-		try {
-			assertLogContainsLine(TestActivator.getLogFile(), msg);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-	}
-
-	//for Bug 259111
-	public void testDownloadRetry() {
-		//repository that is known to force a retry
-		class TestRetryArtifactRepository extends SimpleArtifactRepository {
-			public boolean firstAttempt = true;
-			IArtifactRepository source;
-
-			public TestRetryArtifactRepository(String repositoryName, URI location, URI srcLocation, Map properties, IArtifactRepositoryManager manager) {
-				super(repositoryName, location, properties);
-
-				//initialize
-				try {
-					source = manager.loadRepository(srcLocation, null);
-				} catch (ProvisionException e) {
-					fail("Unable to load source for wrapping", e);
-				}
-				manager.removeRepository(srcLocation);
-			}
-
-			public synchronized IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-				return source.getArtifactDescriptors(key);
-			}
-
-			public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-				if (firstAttempt) {
-					firstAttempt = false;
-					return new Status(IStatus.ERROR, Activator.ID, IArtifactRepository.CODE_RETRY, "Forcing Retry", new ProvisionException("Forcing retry"));
-				}
-
-				return source.getRawArtifact(descriptor, destination, monitor);
-			}
-
-			public synchronized boolean contains(IArtifactDescriptor descriptor) {
-				return source.contains(descriptor);
-			}
-
-			public synchronized Collector query(IQuery query, IProgressMonitor monitor) {
-				return source.query(query, monitor);
-			}
-		}
-
-		//set up test repository
-		File retryRepoLoaction = new File(getTempFolder(), "259111 Repo");
-		IArtifactRepository retryRepo = new TestRetryArtifactRepository("Test Repo", retryRepoLoaction.toURI(), sourceRepoLocation.toURI(), null, getArtifactRepositoryManager());
-		((ArtifactRepositoryManager) getArtifactRepositoryManager()).addRepository(retryRepo);
-
-		try {
-			basicRunMirrorApplication("Forcing Retry", retryRepo.getLocation(), destRepoLocation.toURI());
-		} catch (MalformedURLException e) {
-			fail("Error creating arguments", e);
-		} catch (Exception e) {
-			fail("Error while running Mirror Application and forcing retry", e);
-		}
-
-		//ensure error was resulted
-		assertFalse(((TestRetryArtifactRepository) retryRepo).firstAttempt);
-		try {
-			//verify destination's content
-			assertContentEquals("Verifying content", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("Failure while verifying destination", e);
-		}
-	}
-
-	//for Bug 259112
-	public void testErrorLoggingNoVerbose() {
-		//initialize log file
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		assertNotNull("Assert log file is not null", log);
-		assertTrue("Clearing log file", log.getFile().delete());
-
-		//Comparator prints to stderr, redirect that to a file
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			try {
-				destRepoLocation.mkdir();
-				newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-			} catch (FileNotFoundException e) {
-				fail("Error redirecting outputs", e);
-			}
-			System.setErr(newErr);
-
-			//run test without verbose resulting in error
-			mirrorWithError(false);
-		} finally {
-			System.setErr(oldErr);
-			if (newErr != null)
-				newErr.close();
-		}
-		//verify log
-		try {
-			String[] parts = new String[] {"Artifact not found:", MISSING_ARTIFACT};
-			assertLogContainsLine(log.getFile(), parts);
-		} catch (Exception e) {
-			fail("error verifying output", e);
-		}
-
-		//run without verbose
-		artifactMirrorToFullDuplicate("Generating INFO entries", true);
-
-		IArtifactRepository sourceRepository = null;
-		try {
-			sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading source repository for verification", e);
-		}
-
-		try {
-			//Mirroring full duplicate, so any key will do.
-			Collector descriptors = sourceRepository.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) descriptors.iterator().next();
-			//Mirroring full duplicate, so any descriptor will do.
-			String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
-			assertLogDoesNotContainLine(log.getFile(), message);
-		} catch (Exception e) {
-			fail("Error verifying log", e);
-		}
-	}
-
-	//for Bug 259112
-	public void testErrorLoggingWithVerbose() {
-		//initialize log file
-		FrameworkLog log = (FrameworkLog) ServiceHelper.getService(Activator.getContext(), FrameworkLog.class.getName());
-		assertNotNull("Assert log file is not null", log);
-		assertTrue("Clearing log file", log.getFile().exists() && log.getFile().delete());
-
-		//Comparator prints to stdout, redirect that to a file
-		PrintStream oldOut = System.out;
-		PrintStream newOut = null;
-		PrintStream oldErr = System.err;
-		PrintStream newErr = null;
-		try {
-			try {
-				destRepoLocation.mkdir();
-				newOut = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.out")));
-				newErr = new PrintStream(new FileOutputStream(new File(destRepoLocation, "sys.err")));
-			} catch (FileNotFoundException e) {
-				fail("Error redirecting output", e);
-			}
-			System.setOut(newOut);
-			System.setErr(newErr);
-
-			//run test with verbose, results in error
-			mirrorWithError(true);
-
-			//verify log
-			try {
-				String[] parts = new String[] {"Artifact not found:", MISSING_ARTIFACT};
-				assertLogContainsLine(log.getFile(), parts);
-			} catch (Exception e) {
-				fail("error verifying output", e);
-			}
-
-			//run with verbose
-			//populate destination with duplicate artifacts. We assume this works
-			runMirrorApplication("Initializing Destiantion", sourceRepoLocation, destRepoLocation, false); //value of append should not matter
-
-			try {
-				MirrorApplication app = new MirrorApplication();
-				app.addSource(createRepositoryDescriptor(sourceRepoLocation.toURI(), null, null, null));
-				app.addDestination(createRepositoryDescriptor(destRepoLocation.toURI(), null, null, null));
-				//set the arguments with verbose
-				app.setVerbose(true);
-				//run the mirror application
-				app.run(null);
-			} catch (Exception e) {
-				fail("Error running mirror application to generate INFO items", e);
-			}
-
-		} finally {
-			System.setOut(oldOut);
-			if (newOut != null)
-				newOut.close();
-			System.setErr(oldErr);
-			if (newErr != null)
-				newErr.close();
-		}
-
-		IArtifactRepository sourceRepository = null;
-		try {
-			sourceRepository = getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Error loading source repository for verification", e);
-		}
-
-		try {
-			//Mirroring full duplicate, so any key will do.
-			Collector descriptors = sourceRepository.query(ArtifactDescriptorQuery.ALL_DESCRIPTORS, null);
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) descriptors.iterator().next();
-			//Mirroring full duplicate, so any descriptor will do.
-			String message = NLS.bind(org.eclipse.equinox.internal.p2.artifact.repository.Messages.mirror_alreadyExists, descriptor, destRepoLocation.toURI());
-			assertLogContainsLine(log.getFile(), message);
-		} catch (Exception e) {
-			fail("Error verifying log", e);
-		}
-	}
-
-	/**
-	 * Test how the mirror application handles a repository specified as a local path
-	 */
-	public void testArtifactMirrorNonURIDest() {
-		try {
-			basicRunMirrorApplication("Mirroring", sourceRepoLocation.toURI(), destRepoLocation.toURI());
-			assertContentEquals("2.1", getArtifactRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getArtifactRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (Exception e) {
-			fail("Error mirroring", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationMetadataTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationMetadataTest.java
deleted file mode 100644
index 8e76002..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationMetadataTest.java
+++ /dev/null
@@ -1,967 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.mirror;
-
-import java.io.File;
-import java.net.*;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.URIUtil;
-import org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication;
-import org.eclipse.equinox.p2.internal.repository.tools.RepositoryDescriptor;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.util.NLS;
-
-/*
- * Modified from MetadataMirrorApplicationTest
- */
-public class NewMirrorApplicationMetadataTest extends AbstractProvisioningTest {
-	protected File destRepoLocation;
-	protected File sourceRepoLocation; //helloworldfeature
-	protected File sourceRepo2Location; //anotherfeature
-	protected File sourceRepo3Location; //helloworldfeature + yetanotherfeature
-	protected File sourceRepo4Location; //helloworldfeature v1.0.1
-
-	protected Exception exception = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		//load all the repositories
-		sourceRepoLocation = getTestData("0.0", "/testData/mirror/mirrorSourceRepo1 with space");
-		sourceRepo2Location = getTestData("0.1", "/testData/mirror/mirrorSourceRepo2");
-		sourceRepo3Location = getTestData("0.2", "/testData/mirror/mirrorSourceRepo3");
-		sourceRepo4Location = getTestData("0.3", "/testData/mirror/mirrorSourceRepo4");
-
-		//create destination location
-		destRepoLocation = new File(getTempFolder(), "BasicMirrorApplicationTest");
-		AbstractProvisioningTest.delete(destRepoLocation);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		//remove all the repositories
-		getMetadataRepositoryManager().removeRepository(destRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepoLocation.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo2Location.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo3Location.toURI());
-		getMetadataRepositoryManager().removeRepository(sourceRepo4Location.toURI());
-		exception = null;
-		//delete the destination location (no left over files for the next test)
-		delete(destRepoLocation);
-		super.tearDown();
-	}
-
-	/**
-	 * Runs mirror application with default arguments. source is the source repo, 
-	 * destination is the destination repo, append is if the "-writeMode clean" argument should be excluded
-	 * 
-	 * Note: We use URL here because command line applications traffic in unencoded URLs,
-	 * so we can't use java.net.URI which will always use the encoded form
-	 */
-	private void basicRunMirrorApplication(String message, URL source, URL destination, boolean append) throws Exception {
-		MirrorApplication app = new MirrorApplication();
-
-		if (destination != null) {
-			RepositoryDescriptor dest = new RepositoryDescriptor();
-			dest.setLocation(URIUtil.fromString(destination.toExternalForm()));
-			dest.setAppend(append);
-			dest.setKind("metadata");
-			app.addDestination(dest);
-		}
-
-		if (source != null) {
-			RepositoryDescriptor src = new RepositoryDescriptor();
-			src.setLocation(URIUtil.fromString(source.toExternalForm()));
-			src.setKind("metadata");
-			app.addSource(src);
-		}
-		app.run(null);
-	}
-
-	private void basicRunMirrorApplication(String message, URL source, URL destination, boolean append, String name) throws Exception {
-		MirrorApplication app = new MirrorApplication();
-
-		if (destination != null) {
-			RepositoryDescriptor dest = new RepositoryDescriptor();
-			dest.setLocation(URIUtil.fromString(destination.toExternalForm()));
-			dest.setAppend(append);
-			dest.setKind("metadata");
-			dest.setName(name);
-			app.addDestination(dest);
-		}
-
-		if (source != null) {
-			RepositoryDescriptor src = new RepositoryDescriptor();
-			src.setLocation(URIUtil.fromString(source.toExternalForm()));
-			src.setKind("metadata");
-			app.addSource(src);
-		}
-		app.run(null);
-	}
-
-	/**
-	 * just a wrapper method for compatibility
-	 */
-	private void runMirrorApplication(String message, File source, File destination, boolean append) {
-		try {
-			basicRunMirrorApplication(message, source.toURL(), destination.toURL(), append);
-		} catch (Exception e) {
-			fail(message, e);
-		}
-	}
-
-	/**
-	 * Takes 2 collectors, compares them, and returns the number of unique keys
-	 * Needed to verify that only the appropriate number of files have been transfered by the mirror application
-	 */
-	private int getNumUnique(Collector c1, Collector c2) {
-		Object[] repo1 = c1.toCollection().toArray();
-		Object[] repo2 = c2.toCollection().toArray();
-
-		//initialize to the size of both collectors
-		int numKeys = repo1.length + repo2.length;
-
-		for (int i = 0; i < repo1.length; i++) {
-			for (int j = 0; j < repo2.length; j++) {
-				if (isEqual((IInstallableUnit) repo1[i], (IInstallableUnit) repo2[j]))
-					numKeys--;
-				//identical keys has bee found, therefore the number of unique keys is one less than previously thought
-			}
-		}
-		return numKeys;
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private void metadataMirrorToEmpty(String message, boolean append) {
-		//destination repo is created blank
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, append); //do not append
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 */
-	private void metadataMirrorToPopulated(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: ensure setup completed successfully
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data
-	 * @throws Exception
-	 * Source contains A, B
-	 * Target contains A, B
-	 */
-	private void metadataMirrorToFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 */
-	private void metadataMirrorToPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify contents
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror test data
-		runMirrorApplication(message + ".4", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 */
-	private void metadataMirrorToPopulatedWithFullDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo3Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 */
-	private void metadataMirrorToPopulatedWithPartialDuplicate(String message, boolean append) {
-		//Setup: populate destination with non-duplicate metadata
-		runMirrorApplication(message + ".0", sourceRepo2Location, destRepoLocation, false); //value of append does not matter
-
-		try {
-			//Setup: verify
-			assertContentEquals(message + ".1", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".2", e);
-		}
-
-		//Setup: populate destination with duplicate metadata
-		runMirrorApplication(message + ".4", sourceRepoLocation, destRepoLocation, true);
-
-		try {
-			//Setup: verify
-			assertContains(message + ".5", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains(message + ".6", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail(message + ".7", e);
-		}
-
-		//mirror duplicate data
-		runMirrorApplication(message + ".7", sourceRepo3Location, destRepoLocation, append);
-	}
-
-	/**
-	 * Tests mirroring all artifacts in a repository to an empty repository
-	 * Source contains A, B
-	 * Target contains
-	 */
-	private File metadataMirrorEmpty(String message, boolean append) {
-		//Setup: Create an empty repository
-		File emptyRepository = new File(getTempFolder(), getUniqueString());
-		//Setup: remove repository if it exists
-		getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-		//Setup: delete any data that may be in the folder
-		AbstractProvisioningTest.delete(emptyRepository);
-		try {
-			getMetadataRepositoryManager().createRepository(emptyRepository.toURI(), "Empty Repository", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail(message + ".1", e);
-		}
-
-		try {
-			basicRunMirrorApplication(message + ".0", emptyRepository.toURL(), destRepoLocation.toURL(), append);
-		} catch (Exception e) {
-			exception = e;
-		}
-
-		return emptyRepository; //return the repository for use in verification
-	}
-
-	/**
-	 * Tests mirroring all metadata from an empty repository
-	 * Source contains
-	 */
-	private File metadataMirrorEmptyToPopulated(String message, boolean append) {
-		//Setup: Populate the repository
-		runMirrorApplication(message + ".0", sourceRepoLocation, destRepoLocation, false);
-
-		return metadataMirrorEmpty(message + ".1", append); //create the empty repository, perform the mirror, pass the result back
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository 
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToEmpty() {
-		metadataMirrorToEmpty("1.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("1.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("1.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to an empty repository with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToEmptyWithClean() {
-		metadataMirrorToEmpty("2.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("2.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("2.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToFullDuplicate() {
-		metadataMirrorToFullDuplicate("3.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("3.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("3.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with exact duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToFullDuplicateWithClean() {
-		metadataMirrorToFullDuplicate("4.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("4.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("4.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulated() {
-		metadataMirrorToPopulated("5.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("5.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("5.2", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5.3", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("5.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with non-duplicate entries with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains C, D
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToPopulatedWithClean() {
-		metadataMirrorToPopulated("6.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("6.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("6.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPartialDuplicate() {
-		metadataMirrorToPartialDuplicate("7.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("7.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("7.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with partially duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains  A, B
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPartialDuplicateWithClean() {
-		metadataMirrorToPartialDuplicate("8.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("8.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("8.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulatedWithFullDuplicate() {
-		metadataMirrorToPopulatedWithFullDuplicate("9.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContentEquals("9.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("9.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both full duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B
-	 * Target contains A, B, C, D
-	 * Expected is A, B
-	 */
-	public void testMetadataMirrorToPopulatedWithFullDuplicateWithClean() {
-		metadataMirrorToPopulatedWithFullDuplicate("10.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("10.1", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("10.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D, E, F
-	 */
-	public void testMetadataMirrorToPopulatedWithPartialDuplicate() {
-		metadataMirrorToPopulatedWithPartialDuplicate("11.0", true); //run the test with append set to true
-
-		try {
-			//verify destination's content
-			assertContains("11.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("11.2", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("11.3", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("11.4", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring all metadata in a repository to a repository populated with both partial duplicate and non-duplicate data with "-writeMode clean"
-	 * Source contains A, B, C, D
-	 * Target contains A, B, E, F
-	 * Expected is A, B, C, D
-	 */
-	public void testMetadataMirrorToPopulatedWithPartialDuplicateWithClean() {
-		metadataMirrorToPopulatedWithPartialDuplicate("12.0", false); //run the test with append set to false
-
-		try {
-			//verify destination's content
-			assertContentEquals("12.1", getMetadataRepositoryManager().loadRepository(sourceRepo3Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("12.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid source repository
-	 */
-	public void testMetadataMirrorFromInvalid() {
-		//get a temp folder
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		//delete any data that may exist in that temp folder
-		delete(invalidRepository);
-
-		try {
-			basicRunMirrorApplication("13.1", invalidRepository.toURL(), destRepoLocation.toURL(), true);
-			//we expect a provisioning exception to be thrown and should never get here
-			fail("13.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been received
-		} catch (Exception e) {
-			fail("13.2", e);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given an invalid destination repository
-	 */
-	public void testMetadataMirrorToInvalid() {
-		URI invalidDestRepository = null;
-		try {
-			invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("14.1", sourceRepoLocation.toURL(), invalidDestRepository.toURL(), true);
-			//we expect an illegal state exception to be thrown and should never get here
-			fail("14.0 IllegalStateExpection not thrown");
-		} catch (ProvisionException e) {
-			assertEquals("Unexpected error message", NLS.bind(org.eclipse.equinox.p2.internal.repository.tools.Messages.exception_invalidDestination, URIUtil.toUnencodedString(invalidDestRepository)), e.getMessage());
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("14.1", e);
-		} finally {
-			if (invalidDestRepository != null)
-				getArtifactRepositoryManager().removeRepository(invalidDestRepository);
-		}
-	}
-
-	/**
-	 * Tests MirrorApplication's behaviour when given both an invalid source and an invalid destination repository
-	 */
-	public void testMetadataMirrorBothInvalid() {
-		File invalidRepository = new File(getTempFolder(), getUniqueString());
-		delete(invalidRepository);
-
-		try {
-			URI invalidDestRepository = new URI("http://foobar.com/abcdefg");
-			basicRunMirrorApplication("15.1", invalidRepository.toURL(), invalidDestRepository.toURL(), true);
-			//we expect a provisioning exception to be thrown and should never get here
-			fail("15.0 ProvisionExpection not thrown");
-		} catch (ProvisionException e) {
-			return; //correct type of exception has been thrown
-		} catch (Exception e) {
-			fail("15.2", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to another empty repository
-	 * Source contains
-	 * Target contains
-	 * Expected is
-	 */
-	public void testMetadataMirrorEmptyToEmpty() {
-		File emptyRepository = null;
-		try {
-			emptyRepository = metadataMirrorEmptyToPopulated("19.0", false);
-			assertTrue("Unexpected exception type", exception instanceof ProvisionException);
-
-			try {
-				//verify destination's content
-				assertContentEquals("16.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			} catch (ProvisionException e) {
-				fail("16.2", e);
-			}
-		} finally {
-			if (emptyRepository != null) {
-				//remove the empty repository
-				getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-				//delete any leftover data
-				delete(emptyRepository);
-			}
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorEmptyToPopulated() {
-		File emptyRepository = null;
-		try {
-			emptyRepository = metadataMirrorEmptyToPopulated("17.0", true);
-			assertTrue("Unexpected exception type", exception instanceof ProvisionException);
-
-			try {
-				//verify destination's content
-				assertContains("17.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-				assertContentEquals("17.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			} catch (ProvisionException e) {
-				fail("17.3", e);
-			}
-		} finally {
-			if (emptyRepository != null) {
-				//remove the empty repository
-				getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-				//delete any leftover data
-				delete(emptyRepository);
-			}
-		}
-	}
-
-	/**
-	 * Tests mirroring an empty repository to a populated repository with "-writeMode clean"
-	 * Source contains
-	 * Target contains A, B
-	 * Expected is
-	 */
-	public void testArtifactMirrorEmptyToPopulatedWithClean() {
-		File emptyRepository = null;
-		try {
-			emptyRepository = metadataMirrorEmptyToPopulated("18.0", false);
-			assertTrue("Unexpected exception type", exception instanceof ProvisionException);
-
-			try {
-				//verify destination's content
-				assertContentEquals("18.1", getMetadataRepositoryManager().loadRepository(emptyRepository.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			} catch (ProvisionException e) {
-				fail("18.2", e);
-			}
-		} finally {
-			//remove the empty repository
-			getMetadataRepositoryManager().removeRepository(emptyRepository.toURI());
-			//delete any leftover data
-			delete(emptyRepository);
-		}
-	}
-
-	/**
-	 * Tests mirroring a repository to itself
-	 * Source contains A, B
-	 * Target contains A, B
-	 * Expected is A, B
-	 */
-	public void testArtifactMirrorSourceIsDestination() {
-		//Setup: Populate the repository
-		runMirrorApplication("19.0", sourceRepoLocation, destRepoLocation, false);
-
-		//run the mirror application with the source being the same as the destination
-		runMirrorApplication("19.1", destRepoLocation, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContentEquals("19.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-		} catch (ProvisionException e) {
-			fail("19.3", e);
-		}
-	}
-
-	/**
-	 * Tests mirroring a repository with a different version of the same package
-	 * Source contains A, B (v1.0.1)
-	 * Target contains A, B (v1.0.0)
-	 * Expected is A, B (v1.0.0) and A, B (v1.0.1)
-	 */
-	public void testArtifactMirrorDifferentVersions() {
-		//Setup: Populate the repository
-		runMirrorApplication("20.0", sourceRepoLocation, destRepoLocation, false);
-
-		//start a mirror application where the source contains the same artifacts but with a different version compared to the destination
-		runMirrorApplication("20.1", sourceRepo4Location, destRepoLocation, true);
-
-		try {
-			//verify destination's content
-			assertContains("20.2", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("20.3", getMetadataRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("20.4", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo4Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("20.5", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified source
-	 */
-	public void testArtifactMirrorNullSource() {
-		try {
-			basicRunMirrorApplication("21.1", null, destRepoLocation.toURL(), true);
-			//We expect the IllegalStateException to be thrown
-			fail("21.3 IllegalStateException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("21.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles an unspecified destination
-	 */
-	public void testArtifactMirrorNullDestination() {
-		try {
-			basicRunMirrorApplication("21.1", sourceRepoLocation.toURL(), null, true);
-			//We expect the IllegalStateException to be thrown
-			fail("22.3 IllegalStateException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("22.2", e);
-		}
-	}
-
-	/**
-	 * Tests how mirror application handles both an unspecified source and an unspecified destination
-	 */
-	public void testArtifactMirrorNullBoth() {
-		try {
-			basicRunMirrorApplication("23.0", null, null, true);
-			//We expect the IllegalStateException to be thrown
-			fail("23.2 IllegalStateException not thrown");
-		} catch (ProvisionException e) {
-			return; //expected type of exception has been thrown
-		} catch (Exception e) {
-			fail("23.1", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created before the mirror application is run does not have its properties changed
-	 */
-	public void testExistingArtifactRepoProperties() {
-		//Setup: create the destination
-		String name = "Destination Name";
-		Map properties = null; //default properties
-		try {
-			//create the repository and get the resulting properties
-			properties = getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties).getProperties();
-		} catch (ProvisionException e) {
-			fail("25.0", e);
-		}
-
-		//run the mirror application
-		metadataMirrorToEmpty("25.2", true);
-
-		try {
-			IMetadataRepository repository = getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null);
-			assertEquals("25.3", name, repository.getName());
-			assertRepositoryProperties("25.4", properties, repository.getProperties());
-		} catch (ProvisionException e) {
-			fail("25.5", e);
-		}
-	}
-
-	/**
-	 * Ensures that a repository created by the mirror application has specified name
-	 * For Bug 256909
-	 */
-	public void testNewArtifactRepoWithNewName() {
-		String name = "Bug 256909 test - new";
-		try {
-			//set the arguments
-			//run the mirror application
-			basicRunMirrorApplication("Bug 256909 Test", sourceRepoLocation.toURL(), destRepoLocation.toURL(), false, name);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name was set correct", name, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Cannot obtain destination", e);
-		}
-	}
-
-	/**
-	 * Ensures that an existing destination used by the mirror application is given specified name
-	 * For Bug 256909
-	 */
-	public void testExistingArtifactRepoWithNewName() {
-		String oldName = "The original naem for Bug 256909 test - existing";
-		String newName = "Bug 256909 test - existing";
-		//Setup create the repository
-		IMetadataRepository destinationRepo = null;
-		try {
-			destinationRepo = getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), oldName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-			assertTrue(destinationRepo.isModifiable());
-		} catch (ProvisionException e) {
-			fail("Error creating repo at destination", e);
-		}
-		assertEquals("Assert name is set correctly before mirror", oldName, destinationRepo.getName());
-
-		try {
-			basicRunMirrorApplication("Bug 256809 Test", sourceRepoLocation.toURL(), destRepoLocation.toURL(), true, newName);
-		} catch (MalformedURLException e) {
-			fail("Error creating URLs for Source/Detination", e);
-		} catch (Exception e) {
-			fail("Error running mirror application", e);
-		}
-
-		try {
-			assertEquals("Assert name is set correctly after mirror", newName, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).getName());
-		} catch (ProvisionException e) {
-			fail("Error loading destination", e);
-		}
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSource() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the content.jar file
-		File compressedMetadataXML = new File(compressedSource.getAbsoluteFile() + "/content.jar");
-		//Setup: make sure content.jar exists
-		assertTrue("1", compressedMetadataXML.exists());
-
-		try {
-			basicRunMirrorApplication("2", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("3", e);
-		} catch (Exception e) {
-			fail("4", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar exists
-		assertTrue("5", destMetadataXML.exists());
-	}
-
-	//for Bug 235683
-	public void testMirrorCompressedSourcetoUncompressedDestination() {
-		File compressedSource = getTestData("0", "/testData/mirror/mirrorCompressedRepo");
-
-		//Setup: get the content.jar file
-		File compressedMetadataXML = new File(compressedSource.getAbsoluteFile() + "/content.jar");
-		//Setup: make sure content.jar exists
-		assertTrue("1", compressedMetadataXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		try {
-			basicRunMirrorApplication("3", compressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar does not exist
-		assertFalse("6", destMetadataXML.exists());
-		//get the content.xml file
-		destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.xml");
-		//make sure content.xml exists
-		assertTrue("7", destMetadataXML.exists());
-	}
-
-	public void testMirrorUncompressedSourceToCompressedDestination() {
-		File uncompressedSource = getTestData("0", "/testData/mirror/mirrorSourceRepo3");
-
-		//Setup: get the content.xml file
-		File uncompressedContentXML = new File(uncompressedSource.getAbsoluteFile() + "/content.xml");
-		//Setup: make sure content.xml exists
-		assertTrue("1", uncompressedContentXML.exists());
-
-		//Setup: create the destination
-		try {
-			String name = "Destination Name " + destRepoLocation;
-			Map property = new HashMap();
-			property.put(IRepository.PROP_COMPRESSED, "true");
-			getMetadataRepositoryManager().createRepository(destRepoLocation.toURI(), name, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, property);
-		} catch (ProvisionException e) {
-			fail("2", e);
-		}
-
-		assertTrue("2.1", new File(destRepoLocation, "content.jar").exists());
-		try {
-			basicRunMirrorApplication("3", uncompressedSource.toURL(), destRepoLocation.toURL(), false);
-		} catch (MalformedURLException e) {
-			fail("4", e);
-		} catch (Exception e) {
-			fail("5", e);
-		}
-
-		//get the content.jar file
-		File destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.jar");
-		//make sure content.jar does exist
-		assertTrue("6", destMetadataXML.exists());
-		//get the content.xml file
-		destMetadataXML = new File(destRepoLocation.getAbsolutePath() + "/content.xml");
-		//make sure content.xml exists
-		assertFalse("7", destMetadataXML.exists());
-	}
-
-	public void testMirrorApplicationWithCompositeSource() {
-		//Setup Make composite repository
-		File repoLocation = new File(getTempFolder(), "CompositeMetadataMirrorTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		IMetadataRepository repo = null;
-		try {
-			repo = getMetadataRepositoryManager().createRepository(repoLocation.toURI(), "metadata name", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
-		} catch (ProvisionException e) {
-			fail("Could not create repository");
-		}
-		//ensure proper type of repository has been created
-		if (!(repo instanceof CompositeMetadataRepository))
-			fail("Repository is not a CompositeMetadataRepository");
-		//Populate source
-		File child1 = getTestData("1", "/testData/mirror/mirrorSourceRepo1 with space");
-		File child2 = getTestData("2", "/testData/mirror/mirrorSourceRepo2");
-		((CompositeMetadataRepository) repo).addChild(child1.toURI());
-		((CompositeMetadataRepository) repo).addChild(child2.toURI());
-
-		runMirrorApplication("Mirroring from Composite Source", repoLocation, destRepoLocation, false);
-
-		try {
-			assertContentEquals("Verifying contents", repo, getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-
-			//Verify that result is the same as mirroring from the 2 repositories seperately
-			assertContains("3", getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			assertContains("4", getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null));
-			//checks that the destination has the correct number of keys (no extras)
-			assertEquals("5", getNumUnique(getMetadataRepositoryManager().loadRepository(sourceRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null), getMetadataRepositoryManager().loadRepository(sourceRepo2Location.toURI(), null).query(InstallableUnitQuery.ANY, null)), getMetadataRepositoryManager().loadRepository(destRepoLocation.toURI(), null).query(InstallableUnitQuery.ANY, null).size());
-		} catch (ProvisionException e) {
-			fail("Could not load destination", e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/AllTests.java
deleted file mode 100644
index 6916b86..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/AllTests.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.*;
-
-/**
- * Tests the OmniVersion implementation of Version and VersionRange.
- * 
- */
-public class AllTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CommonPatternsTest.class);
-		suite.addTestSuite(FormatArrayTest.class);
-		suite.addTestSuite(FormatATest.class);
-		suite.addTestSuite(FormatDTest.class);
-		suite.addTestSuite(FormatNTest.class);
-		suite.addTestSuite(FormatProcessingTest.class);
-		suite.addTestSuite(FormatPTest.class);
-		suite.addTestSuite(FormatQTest.class);
-		suite.addTestSuite(FormatRTest.class);
-		suite.addTestSuite(FormatSTest.class);
-		suite.addTestSuite(FormatTest.class);
-		suite.addTestSuite(FormatRangeTest.class);
-		suite.addTestSuite(MultiplicityTest.class);
-		suite.addTestSuite(OSGiRangeTest.class);
-		suite.addTestSuite(OSGiVersionTest.class);
-		suite.addTestSuite(RawRangeTest.class);
-		suite.addTestSuite(RawRangeWithOriginalTest.class);
-		suite.addTestSuite(RawVersionTest.class);
-		suite.addTestSuite(RawWithOriginalTest.class);
-		suite.addTestSuite(IntersectionTest.class);
-
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java
deleted file mode 100644
index a6550b3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/CommonPatternsTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IVersionFormat;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Test common patterns:
- * - Triplet
- * - Mozilla
- * - RPM
- * - JSR277 (proposed version handling as documented Dec 30, 2008).
- * 
- */
-public class CommonPatternsTest extends VersionTesting {
-	public static String TRIPLET_FORMAT_STRING = "n=0;[.n=0;[.n=0;]][dS=m;]";
-	public static String MOZ_PREFIX = "format((<N=0;?s=m;?N=0;?s=m;?>(.<N=0;?s=m;?N=0;?s=m;?>)*)=p<0.m.0.m>;):";
-	public static String TRIPLE_PREFIX = "format(" + TRIPLET_FORMAT_STRING + "):";
-	public static String RPM_PREFIX = "format(<[n=0;:]a(d=[^a-zA-Z0-9@_-];?a)*>[-n[dS=!;]]):";
-	public static String JSR277_PREFIX = "format(n(.n=0;){0,3}[-S=m;]):";
-
-	public void testMozillaPattern() {
-
-		// 1.-1
-		Version v1 = Version.parseVersion(MOZ_PREFIX + "1.-1");
-
-		// < 1 == 1. == 1.0 == 1.0.0
-		Version v2 = Version.parseVersion(MOZ_PREFIX + "1");
-		Version v2a = Version.parseVersion(MOZ_PREFIX + "1.");
-		Version v2b = Version.parseVersion(MOZ_PREFIX + "1.0");
-		Version v2c = Version.parseVersion(MOZ_PREFIX + "1.0.0");
-
-		assertOrder(v1, v2);
-		assertEquals(v2, v2a);
-		assertEquals(v2a, v2b);
-		assertEquals(v2b, v2c);
-
-		// < 1.1a < 1.1aa < 1.1ab < 1.1b < 1.1c
-		Version v3 = Version.parseVersion(MOZ_PREFIX + "1.1a");
-		Version v4 = Version.parseVersion(MOZ_PREFIX + "1.1aa");
-		Version v5 = Version.parseVersion(MOZ_PREFIX + "1.1ab");
-		Version v6 = Version.parseVersion(MOZ_PREFIX + "1.1b");
-		Version v7 = Version.parseVersion(MOZ_PREFIX + "1.1c");
-
-		assertOrder(v2c, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-
-		// < 1.1pre == 1.1pre0 == 1.0+
-		Version v8 = Version.parseVersion(MOZ_PREFIX + "1.1pre");
-		Version v8a = Version.parseVersion(MOZ_PREFIX + "1.1pre0");
-
-		assertOrder(v7, v8);
-		assertEquals(v8, v8a);
-
-		/* NOT SUPPORTED BY OMNI VERSION: Version v8b = Version.parseVersion(MOZ_PREFIX +"1.0+"); */
-
-		// < 1.1pre1a < 1.1pre1aa < 1.1pre1b < 1.1pre1
-		Version v9 = Version.parseVersion(MOZ_PREFIX + "1.1pre1a");
-		Version v10 = Version.parseVersion(MOZ_PREFIX + "1.1pre1aa");
-		Version v11 = Version.parseVersion(MOZ_PREFIX + "1.1pre1b");
-		Version v12 = Version.parseVersion(MOZ_PREFIX + "1.1pre1");
-
-		assertOrder(v8a, v9);
-		assertOrder(v9, v10);
-		assertOrder(v10, v11);
-		assertOrder(v11, v12);
-
-		// < 1.1pre2
-		Version v13 = Version.parseVersion(MOZ_PREFIX + "1.1pre2");
-		assertOrder(v12, v13);
-
-		// < 1.1pre10
-		Version v14 = Version.parseVersion(MOZ_PREFIX + "1.1pre10");
-		assertOrder(v13, v14);
-
-		//< 1.1.-1
-		Version v15 = Version.parseVersion(MOZ_PREFIX + "1.1.-1");
-		assertOrder(v14, v15);
-
-		// < 1.1 == 1.1.0 == 1.1.00
-		Version v16 = Version.parseVersion(MOZ_PREFIX + "1.1");
-		Version v16a = Version.parseVersion(MOZ_PREFIX + "1.1.0");
-		Version v16b = Version.parseVersion(MOZ_PREFIX + "1.1.00");
-
-		assertOrder(v15, v16);
-		assertEquals(v16, v16a);
-		assertEquals(v16a, v16b);
-
-		// < 1.10
-		Version v17 = Version.parseVersion(MOZ_PREFIX + "1.10");
-		assertOrder(v16a, v17);
-
-		// < 1.* < 1.*.1
-		/* NOT SUPPORTED BY OMNIVERSION: Version v18 = Version.parseVersion(MOZ_PREFIX +"1.1a"); */
-
-		// < 2.0
-		Version v18 = Version.parseVersion(MOZ_PREFIX + "2.0");
-		assertOrder(v17, v18);
-	}
-
-	public void testMozillaPatternToString() {
-		String test = MOZ_PREFIX + "1.1pre1aa";
-		assertEquals(MOZ_PREFIX, Version.parseVersion(test).getFormat().toString() + ':');
-	}
-
-	public void testTripletPattern() {
-		Version v1 = Version.parseVersion(TRIPLE_PREFIX + "1");
-		Version v1a = Version.parseVersion(TRIPLE_PREFIX + "1.0");
-		Version v1b = Version.parseVersion(TRIPLE_PREFIX + "1.0.0");
-		assertEquals(v1, v1a);
-		assertEquals(v1a, v1b);
-
-		Version v2 = Version.parseVersion(TRIPLE_PREFIX + "1.0.0.a");
-		assertOrder(v2, v1); // yes 1.0.0.a is OLDER
-
-		Version v3 = Version.parseVersion(TRIPLE_PREFIX + "1.1");
-		assertOrder(v1b, v3);
-
-		Version v4 = Version.parseVersion(TRIPLE_PREFIX + "1.1.0.a");
-		assertOrder(v4, v3); // yes 1.1.0.a is OLDER
-
-		Version v5 = Version.parseVersion(TRIPLE_PREFIX + "2");
-		assertOrder(v3, v5);
-
-		Version v6 = Version.parseVersion(TRIPLE_PREFIX + "1.1-FC1");
-		assertOrder(v6, v3);
-	}
-
-	public void testTripletPatternToString() {
-		String test = TRIPLE_PREFIX + "1.0-FC1";
-		assertEquals(TRIPLE_PREFIX, Version.parseVersion(test).getFormat().toString() + ':');
-	}
-
-	public void testTripletPatternToOSGi() throws Exception {
-		IVersionFormat triplet = Version.compile(TRIPLET_FORMAT_STRING);
-		assertEquals(Version.createOSGi(1, 0, 0), triplet.parse("1.0.0." + IVersionFormat.DEFAULT_MIN_STRING_TRANSLATION));
-		assertEquals(Version.create("1.0.0." + IVersionFormat.DEFAULT_MAX_STRING_TRANSLATION), triplet.parse("1.0.0"));
-		assertEquals(Version.createOSGi(1, 0, 0, IVersionFormat.DEFAULT_MAX_STRING_TRANSLATION), Version.create("raw:1.0.0.m"));
-		assertEquals(triplet.parse("1.0"), Version.create("raw:1.0.0.m"));
-		assertEquals(triplet.parse("1.0." + IVersionFormat.DEFAULT_MIN_STRING_TRANSLATION), Version.create("raw:1.0.0.''"));
-		assertEquals(Version.createOSGi(1, 0, 0), Version.create("raw:1.0.0.''"));
-	}
-
-	public void testMinTranslation() throws Exception {
-		IVersionFormat format = Version.compile("n=0;[.n=0;[.n=0;]][dS=m{!};]");
-		assertEquals(Version.create("raw:1.0.0.''"), format.parse("1.0.0.!"));
-	}
-
-	public void testMaxTranslation() throws Exception {
-		IVersionFormat format = Version.compile("n=0;[.n=0;[.n=0;]][dS=''{~,4};]");
-		assertEquals(Version.create("raw:1.0.0.m"), format.parse("1.0.0.~~~~"));
-	}
-
-	// TODO: Not clear what a missing RPM EPOCH (i.e. first '.n:' should be interpreted as
-	public void testRPMPattern() {
-		Version v1 = Version.parseVersion(RPM_PREFIX + "33:1.2.3a-23/i386");
-		assertEquals(Version.parseVersion("raw:<33.1.2.3.'a'>.23"), v1);
-		Version v2 = Version.parseVersion(RPM_PREFIX + "34:1");
-		assertOrder(v1, v2);
-
-		Version v3 = Version.parseVersion(RPM_PREFIX + "33:1.2.3b");
-		assertOrder(v1, v3);
-		Version v11 = Version.parseVersion(RPM_PREFIX + "1-1");
-		Version v12 = Version.parseVersion(RPM_PREFIX + "1-2");
-		Version v13 = Version.parseVersion(RPM_PREFIX + "1.0");
-		Version v14 = Version.parseVersion(RPM_PREFIX + "1.1");
-		assertOrder(v11, v12);
-		assertOrder(v12, v13);
-
-		assertOrder(v11, v13);
-		assertOrder(v12, v13);
-
-		assertOrder(v11, v14);
-		assertOrder(v12, v14);
-		assertOrder(v13, v14);
-	}
-
-	public void testRPMPatternToString() {
-		String test = RPM_PREFIX + "33:1.2.3a-23/i386";
-		assertEquals(RPM_PREFIX, Version.parseVersion(test).getFormat().toString() + ':');
-	}
-
-	/**
-	 * JSR277 works like triplet, but has 4 elements. The last qualifier can be used without specifying the preceding
-	 * three segments.
-	 */
-	public void testJsr277Pattern() {
-		Version v1 = Version.parseVersion(JSR277_PREFIX + "1");
-		Version v1a = Version.parseVersion(JSR277_PREFIX + "1.0");
-		Version v1b = Version.parseVersion(JSR277_PREFIX + "1.0.0");
-		Version v1c = Version.parseVersion(JSR277_PREFIX + "1.0.0.0");
-		assertEquals(v1, v1a);
-		assertEquals(v1a, v1b);
-		assertEquals(v1b, v1c);
-
-		Version v2 = Version.parseVersion(JSR277_PREFIX + "1-a");
-		Version v2a = Version.parseVersion(JSR277_PREFIX + "1.0-a");
-		Version v2b = Version.parseVersion(JSR277_PREFIX + "1.0.0-a");
-		Version v2c = Version.parseVersion(JSR277_PREFIX + "1.0.0.0-a");
-		assertOrder(v2, v1); // yes 1.0.0.a is OLDER
-		assertEquals(v2, v2a);
-		assertEquals(v2a, v2b);
-		assertEquals(v2b, v2c);
-
-		Version v3 = Version.parseVersion(JSR277_PREFIX + "1.1");
-		assertOrder(v1b, v3);
-
-		Version v4 = Version.parseVersion(JSR277_PREFIX + "1.1.0-a");
-		assertOrder(v4, v3); // yes 1.1.0.a is OLDER
-
-		Version v5 = Version.parseVersion(JSR277_PREFIX + "2");
-		assertOrder(v3, v5);
-	}
-
-	public void testJsr277PatternToString() {
-		String test = JSR277_PREFIX + "1.0.0.0-a";
-		assertEquals(JSR277_PREFIX, Version.parseVersion(test).getFormat().toString() + ':');
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
deleted file mode 100644
index c439e9e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatATest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests the format(a) rule.
- *
- */
-public class FormatATest extends TestCase {
-	public void testNumeric() {
-		Version v = Version.parseVersion("format(a):1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1"), v);
-	}
-
-	public void testString() {
-		Version v = Version.parseVersion("format(a):a");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-	}
-
-	public void testSequenceOfAuto() {
-		Version v = Version.parseVersion("format(aaaa):123abc456def");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
-	}
-
-	/**
-	 * Test that exact delimits a on count and type.
-	 */
-	public void testExact() {
-		Version v = Version.parseVersion("format(a={3};aaa={3};):123abc456def");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(a={2};a):abc"));
-		assertEquals(Version.parseVersion("raw:'ab'.'c'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(a={2};a):123"));
-		assertEquals(Version.parseVersion("raw:12.3"), v);
-
-		try {
-			// should fail because first segment is delimited after 2 chars
-			Version.parseVersion("format(a={4};aaa={3};):12.3abc456def");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			// should fail because first segment is delimited by type change after 3 chars
-			Version.parseVersion("format(a={4};aaa={3};):123abc456def");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			// should fail because first segment is delimited by type change after 3 chars
-			Version.parseVersion("format(a={4};aaa={3};):xyz123abc456");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	/**
-	 * Test that unbound upper range delimits a on change of type.
-	 */
-	public void testAtLeast() {
-		Version v = Version.parseVersion("format(a={2,};aaa={2,};):123abc456def");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
-
-		try {
-			Version.parseVersion("format(a={2,};aaa={2,};):1abc456def");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(a={2,};aaa={2,};):12abc456d");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	/**
-	 * test that at-most follows same rules as exact for the min range 
-	 */
-	public void testAtMost() {
-		Version v = Version.parseVersion("format(a={1,3};aaa={1,3};):123abc456def");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:123.'abc'.456.'def'"), v);
-
-		// change of type is delimiter 
-		assertNotNull(v = Version.parseVersion("format(a={1,2};aaaa={1,2};a):123abc456def"));
-		assertEquals(Version.parseVersion("raw:12.3.'abc'.456.'de'.'f'"), v);
-
-		try {
-			Version.parseVersion("format(a={2,3};aaa={1,2};):1abc456def");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(a={2,3};aaa={2,3};):12abc456d");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(a={4,5};aaa={1,4};):123abc456def");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
deleted file mode 100644
index 62be847..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatArrayTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(<>) - arrays.
- * 
- */
-public class FormatArrayTest extends TestCase {
-	public void testEmptyArray() {
-		try {
-			Version.parseVersion("format(<>q):''");
-			fail("Uncaught error: empty array group is not allowed:");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testEmptyArrayBecauseContentIsOptional() {
-		try {
-			Version.parseVersion("format(<n?>q):''");
-			fail("Uncaught error: produces an empty vector");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOptionalArray() {
-		Version v = Version.parseVersion("format(<n>?S):abc");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'abc'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n>?S):1abc"));
-		assertEquals(Version.parseVersion("raw:<1>.'abc'"), v);
-
-	}
-
-	public void testNumericArray() {
-		Version v = Version.parseVersion("format(<(n.?)+>):1.2.3.4.5.6.7.8.9");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:<1.2.3.4.5.6.7.8.9>"), v);
-	}
-
-	public void testStringArray() {
-		Version v = Version.parseVersion("format(<(S=[^.];d?)+>):a.b.c.d.e.f.g.h.i");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:<'a'.'b'.'c'.'d'.'e'.'f'.'g'.'h'.'i'>"), v);
-	}
-
-	public void testNestedArray() {
-		Version v = Version.parseVersion("format(<n.<n.n>.n>):1.2.3.4");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:<1.<2.3>.4>"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n.<n.<n>>.n>):1.2.3.4"));
-		assertEquals(Version.parseVersion("raw:<1.<2.<3>>.4>"), v);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
deleted file mode 100644
index 66e9de9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatDTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(d) and explicit delimiter chars and strings.
- */
-public class FormatDTest extends TestCase {
-	/**
-	 * Definition of default set of delimiters
-	 */
-	private static char[] s_delim = { //
-	0x20, // ' '
-			0x21, // ! 
-			0x22, // #
-			0x23, // "
-			0x24, // '$'
-			0x25, // '%'
-			0x26, // '&'
-			0x27, // '
-			0x28, // '('
-			0x29, // ')'
-			0x2a, // '*'
-			0x2b, // '+'
-			0x2c, // '�'
-			0x2d, // '-'
-			0x2e, //'.'
-			0x2f, // '/'
-			0x3a, // ':'
-			0x3b, // ';'
-			0x3c, // '<'
-			0x3d, // '='
-			0x3e, // '>' 
-			0x3f, // '?'
-			0x40, // @   <--- TODO: Debatable - is @ a delimiter of part of a string?
-			0x5b, // [
-			0x5c, // \
-			0x5d, // }
-			0x5e, // ^
-			0x5f, // _
-			0x7b, // {
-			0x7c, // |
-			0x7d, // }
-			0x7e, // ~
-	};
-
-	public void testNumericWithDefaultSet() {
-		Version v = null;
-		String formatString = "format(ndn):";
-		Integer one = Integer.valueOf(1);
-		Integer two = Integer.valueOf(2);
-		for (int i = 0; i < s_delim.length; i++) {
-			StringBuffer buf = new StringBuffer();
-			buf.append(formatString);
-			buf.append("1");
-			buf.append(s_delim[i]);
-			buf.append("2");
-			v = Version.parseVersion(buf.toString());
-			assertNotNull(v);
-			assertEquals(one, v.getSegment(0));
-			assertEquals(two, v.getSegment(1));
-		}
-	}
-
-	public void testStringWithDefaultSet() {
-		Version v = null;
-		String formatString = "format(sds):";
-		String one = "abc";
-		String two = "def";
-		for (int i = 0; i < s_delim.length; i++) {
-			StringBuffer buf = new StringBuffer();
-			buf.append(formatString);
-			buf.append(one);
-			buf.append(s_delim[i]);
-			buf.append(two);
-			v = Version.parseVersion(buf.toString());
-			assertNotNull(v);
-			assertEquals(one, v.getSegment(0));
-			assertEquals(two, v.getSegment(1));
-		}
-	}
-
-	public void testAccepted() {
-		Version v = Version.parseVersion("format((d=[A-Z];n){3}):A1B22C333");
-		assertNotNull(v);
-		assertEquals(Integer.valueOf(1), v.getSegment(0));
-		assertEquals(Integer.valueOf(22), v.getSegment(1));
-		assertEquals(Integer.valueOf(333), v.getSegment(2));
-
-		assertNotNull(v = Version.parseVersion("format((d=[ABZ];S=[^ABZ];){3}):Aa1Bb22Zc333"));
-		assertEquals("a1", v.getSegment(0));
-		assertEquals("b22", v.getSegment(1));
-		assertEquals("c333", v.getSegment(2));
-
-		assertNotNull(v = Version.parseVersion("format((d=[A-Za-z];+n)+):Aa1Bb22Zc333"));
-		assertEquals(Integer.valueOf(1), v.getSegment(0));
-		assertEquals(Integer.valueOf(22), v.getSegment(1));
-		assertEquals(Integer.valueOf(333), v.getSegment(2));
-
-		// note that \\ below results in one \ because of java String parsing
-		assertNotNull(v = Version.parseVersion("format((d=[\\\\[\\]];n)+):[1\\22]333"));
-		assertEquals(Integer.valueOf(1), v.getSegment(0));
-		assertEquals(Integer.valueOf(22), v.getSegment(1));
-		assertEquals(Integer.valueOf(333), v.getSegment(2));
-	}
-
-	public void testRejected() {
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format((d=[^.:];S=[a-z0-9];){3}):/a1;b22=c333"));
-		assertEquals("a1", v.getSegment(0));
-		assertEquals("b22", v.getSegment(1));
-		assertEquals("c333", v.getSegment(2));
-	}
-
-	public void testExplicit() {
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format('epoch='n';''major='n';''minor='n';'):epoch=1;major=22;minor=333;"));
-		assertEquals(Integer.valueOf(1), v.getSegment(0));
-		assertEquals(Integer.valueOf(22), v.getSegment(1));
-		assertEquals(Integer.valueOf(333), v.getSegment(2));
-
-		assertNotNull(v = Version.parseVersion("format('epoch='S=[^.];d'major='S=[^.];d'minor='S):epoch=a1ma.major=b22mi.minor=c333"));
-		assertEquals("a1ma", v.getSegment(0));
-		assertEquals("b22mi", v.getSegment(1));
-		assertEquals("c333", v.getSegment(2));
-
-	}
-
-	public void testCounted() {
-		// repeated d, char count d, and counted d are equal
-		Version v1 = Version.parseVersion("format(dddn):///1");
-		Version v2 = Version.parseVersion("format(d{3}n):///1");
-		assertNotNull(v1);
-		assertNotNull(v2);
-		Integer one = Integer.valueOf(1);
-		assertEquals(one, v1.getSegment(0));
-		assertEquals(one, v2.getSegment(0));
-
-	}
-
-	public void testIllegalCharCount() {
-		try {
-			Version.parseVersion("format(d={3};n):///1");
-			fail("Uncaught error: char count can not be used with 'd'");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testIllegalAsPad() {
-		try {
-			Version.parseVersion("format(nd=pm;n):1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testIllegalWithDefault() {
-		try {
-			Version.parseVersion("format(nd='a';n):1.0");
-			fail("Uncaught error: 'd' can not have a default value");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	/**
-	 * Ignore of d is illegal as d is already ignored.
-	 */
-	public void testIllegalIgnore() {
-		try {
-			Version.parseVersion("format(nd=!;n):1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
deleted file mode 100644
index 5065e0b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatNTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(n) and format(N)
- *
- */
-public class FormatNTest extends TestCase {
-	public void testNonNegative() {
-		Version v = Version.parseVersion("format(n):1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n):0"));
-		assertEquals(Version.parseVersion("raw:0"), v);
-
-		try {
-			Version.parseVersion("format(n):-1");
-			fail("Uncaught exception: negative number in 'n' format");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNegativeValues() {
-		Version v = Version.parseVersion("format(N):-1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:-1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(N):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(N):0"));
-		assertEquals(Version.parseVersion("raw:0"), v);
-	}
-
-	public void testLeadingZeros() {
-		Version v = Version.parseVersion("format(n):000001");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(N):-000001"));
-		assertEquals(Version.parseVersion("raw:-1"), v);
-	}
-
-	public void testExact() {
-		Version v = Version.parseVersion("format(n={2};n={2};):1122");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:11.22"), v);
-
-		assertNotNull(v = Version.parseVersion("format(N={4};N={1};):-1234"));
-		assertEquals(Version.parseVersion("raw:-123.4"), v);
-
-		assertNotNull(v = Version.parseVersion("format(N={4};N={3};):-001234"));
-		assertEquals(Version.parseVersion("raw:-1.234"), v);
-
-		try {
-			v = Version.parseVersion("format(n={2};.;n={2};):1.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			v = Version.parseVersion("format(n={2};.;n={2};):111.2222");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtLeast() {
-		Version v = Version.parseVersion("format(n={2,};.n={2,};):111.22222");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:111.22222"), v);
-		try {
-			v = Version.parseVersion("format(n={2,};.;n={2};):111.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtMost() {
-		Version v = Version.parseVersion("format(n={2,3};.n={2,3};):111.22");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:111.22"), v);
-		try {
-			v = Version.parseVersion("format(n={2,3};.n={2,3};):111.2222");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			v = Version.parseVersion("format(n={2,3};.n={2,3};):1.222");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNIsGreedy() {
-		try {
-			Version.parseVersion("format(nn):1010");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
deleted file mode 100644
index f163d84..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatPTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-public class FormatPTest extends TestCase {
-	public void testPad() {
-		Version v = Version.parseVersion("format(qp):''pm");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:''pm"), v);
-	}
-
-	public void testArrayPad() {
-		Version v = Version.parseVersion("format(r):<''pm>");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:<''pm>"), v);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
deleted file mode 100644
index d7acc52..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatProcessingTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests processing rules not tested elsewhere, and combinations of processing rules.
- *
- */
-public class FormatProcessingTest extends TestCase {
-
-	public void testIgnore() {
-		Version v = Version.parseVersion("format(n=!;.n.n):100.1.2");
-		assertNotNull(v);
-		assertEquals(Integer.valueOf(1), v.getSegment(0));
-		assertEquals(Integer.valueOf(2), v.getSegment(1));
-	}
-
-	public void testDefaultArrayWithPad() {
-		Version v = Version.parseVersion("format(s.?<n.n>=<1.0pm>;=p10;?):alpha");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'alpha'.<1.0pm>"), v);
-
-		assertNotNull(v = Version.parseVersion("format(s.?<n.n>=<1.0pm>;=p10;?):alpha.1.2"));
-		assertEquals(Version.parseVersion("raw:'alpha'.<1.2p10>"), v);
-	}
-
-	public void testDefaultValues() {
-		Version v = Version.parseVersion("format(n.[n=1;].?[s='foo';].?[a='bar';].?[a=2;]):9.");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:9.1.'foo'.'bar'.2"), v);
-	}
-
-	public void testArrayDefaultValues() {
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format(n.<n.n>=<1.0>;?):9."));
-		assertEquals(Version.parseVersion("raw:9.<1.0>"), v);
-
-		// array parses, so individual defaults are used
-		assertNotNull(v = Version.parseVersion("format(n.<n=3;?.?n=4;?>=<1.0>;?):9."));
-		assertEquals("individual defaults should be used", Version.parseVersion("raw:9.<3.4>"), v);
-
-		// array does not parse, individual values are not used
-		assertNotNull(v = Version.parseVersion("format(n.<n=3;?.n=4;?>=<1.0>;?):9."));
-		assertEquals("individual defaults should not be used", Version.parseVersion("raw:9.<1.0>"), v);
-	}
-
-	public void testOtherTypeAsDefault() {
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format(s=123;?n):1"));
-		assertEquals("#1.1", Version.parseVersion("raw:123.1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(s=M;?n):1"));
-		assertEquals("#1.2", Version.parseVersion("raw:M.1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(s=-M;?n):1"));
-		assertEquals("#1.3", Version.parseVersion("raw:-M.1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(s=<1.2>;?n):1"));
-		assertEquals("#1.4", Version.parseVersion("raw:<1.2>.1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n='abc';?s):a"));
-		assertEquals("#2.1", Version.parseVersion("raw:'abc'.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n=M;?s):a"));
-		assertEquals("#2.2", Version.parseVersion("raw:M.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n=-M;?s):a"));
-		assertEquals("#2.3", Version.parseVersion("raw:-M.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n=<'a'.'b'>;?n):1"));
-		assertEquals("#2.4", Version.parseVersion("raw:<'a'.'b'>.1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n>='abc';?s):a"));
-		assertEquals("#3.1", Version.parseVersion("raw:'abc'.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n>=M;?s):a"));
-		assertEquals("#3.2", Version.parseVersion("raw:M.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n>=-M;?s):a"));
-		assertEquals("#3.3", Version.parseVersion("raw:-M.'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(<n>=123;?s):a"));
-		assertEquals("#3.4", Version.parseVersion("raw:123.'a'"), v);
-
-	}
-
-	/**
-	 * A processing rule can only be applied once to the preceding element.
-	 * (These tests check if the same processing can be applied twice).
-	 */
-	public void testSameMoreThanOnce() {
-		try {
-			Version.parseVersion("format(n=!;=!;.n):1.2");
-			fail("error not detected:2 x =!;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(s=[abc];=[123];.n):abc123.2");
-			fail("error not detected:2 x =[];");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(nd=[^:];=[^:];n):1.2");
-			fail("error not detected:2x [^];");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n={1,3};={1,3};.n):1.2");
-			fail("error not detected:2x ={ };");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n=0;=1;.n):1.2");
-			fail("error not detected:2x =default value");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((n.n)=pm;=pm;):1.2");
-			fail("error not detected:2x =pm;");
-
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	/**
-	 * Tests that it is not allowed to have both =[]; and =[^] at the same time.
-	 */
-	public void testSetNotSet() {
-		try {
-			Version.parseVersion("format(nd=[a-z];=[^.:];n):1.2");
-			fail("error not detected: =[];=[^];");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	/**
-	 * Pad can only be combined with default value.
-	 */
-	public void testBadPadCombinations() {
-		try {
-			Version.parseVersion("format((n.n)=pm;=[abc];):1.2");
-			fail("error not detected: =p; =[];");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((n.n)=pm;=[^.:];):1.2");
-			fail("error not detected: =p; =[];");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((n.n)=pm;={1,3};):1.2");
-			fail("error not detected: =p; ={};");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((n.n)=pm;=!;):1.2");
-			fail("error not detected: =p; =!;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNonPaddable() {
-		try {
-			Version.parseVersion("format(n=pm;):1");
-			fail("error not detected: n=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(N=pm;):1");
-			fail("error not detected: n=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(s=pm;):a");
-			fail("error not detected: s=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(S=pm;):a");
-			fail("error not detected: S=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(a=pm;):a");
-			fail("error not detected: a=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(d=pm;):a");
-			fail("error not detected: d=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q=pm;):a");
-			fail("error not detected: q=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(r=pm;):a");
-			fail("error not detected: q=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format('x'=pm;n):x1");
-			fail("error not detected: 'x'=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(.=pm;n):x1");
-			fail("error not detected: .=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(p=pm;n):x1");
-			fail("error not detected: p=p;");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
deleted file mode 100644
index 19c8a44..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatQTest.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(q)
- * smart quoted string - matches a quoted alphanumeric string where the quote is determined by the first 
- * character of the string segment. The quote must be a non alphanumeric character, and the string
- * must be delimited by the same character except brackets and parenthesises (i.e. (), {}, [], <>) which are
- * handled as pairs, thus 'q' matches "<andrea-doria>" and produces a single string segment with the text 'andrea-doria'. 
- * A non-quoted sequence of characters are not matched by 'q'.
- * 
- */
-public class FormatQTest extends TestCase {
-	public void testQuoteFormatParsing() {
-		Version aVer = Version.parseVersion("raw:'a'");
-		assertNotNull(aVer);
-
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format(q):'a'"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):\"a\""));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):=a="));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):#a#"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):!a!"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):|a|"));
-		assertEquals(aVer, v);
-
-	}
-
-	public void testQUnbalancedQuoteR() {
-		try {
-			Version.parseVersion("format(q):'a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQUnbalancedQuoteL() {
-		try {
-			Version.parseVersion("format(q):a'");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQuotedFormatPairsParsing() {
-		Version aVer = Version.parseVersion("raw:'a'");
-		assertNotNull(aVer);
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format(q):(a)"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):<a>"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):[a]"));
-		assertEquals(aVer, v);
-		assertNotNull(v = Version.parseVersion("format(q):{a}"));
-		assertEquals(aVer, v);
-	}
-
-	public void testQUnbalancedPair1() {
-		try {
-			Version.parseVersion("format(q):(a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):a)");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):(a(");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):)a)");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQUnbalancedPair2() {
-		try {
-			Version.parseVersion("format(q):[a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):a]");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):[a[");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):]a]");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQUnbalancedPair3() {
-		try {
-			Version.parseVersion("format(q):<a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):a>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):<a<");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):>a>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQUnbalancedPair4() {
-		try {
-			Version.parseVersion("format(q):{a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):a}");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):{a{");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):}a}");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testQUnbalancedPair5() {
-		// not all erroneous permutations tested - only principle that open and close must be from "matching pair"
-		// it should be enough to cover a faulty implementation
-		try {
-			Version.parseVersion("format(q):(a}");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):[a}");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):{a]");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q):<a)");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testExact() {
-		Version v = Version.parseVersion("format(q={4};q):<123a>\"bc456'def'\"");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2};q):<ab><c>"));
-		assertEquals(Version.parseVersion("raw:'ab'.'c'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2};S):'12'3"));
-		assertEquals(Version.parseVersion("raw:'12'.'3'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={4};q={1};q={3};):<123a>'b'(c45)"));
-		assertEquals(Version.parseVersion("raw:'123a'.'b'.'c45'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2};.q={1};qq={3};):<12>.<3>'456'<abc>"));
-		assertEquals(Version.parseVersion("raw:'12'.'3'.'456'.'abc'"), v);
-
-		try {
-			Version.parseVersion("format(q={4};.q):123.(abc456)'def'");
-			fail("Uncaught error: quoted string is longer than 4");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q={4};q):<123>(abc456'def')");
-			fail("Uncaught error: quoted string is shorter than 4");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtLeast() {
-		Version v = Version.parseVersion("format(q={2,};):(123abc456'def')");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:\"123abc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2,};):<123abc456'def'>"));
-		assertEquals(Version.parseVersion("raw:\"123abc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2,};.q):(123a).(bc456'def')"));
-		assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(q={2,};q):<123a>(bc456'def')"));
-		assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
-
-		try {
-			Version.parseVersion("format(q={2,};.q):1.abc456'def'");
-			fail("Uncaught error: first segment is shorter than 2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q={2,};q):<1>(abc456'def')");
-			fail("Uncaught error: firt segment is shorter than 2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q={2,};.q={10,};):(12).(abc456'd')");
-			fail("Uncaught error: last segment is shorter than 10");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(q={2,};.q={10,};):<12>.abc456'd'");
-			fail("Uncaught error: second segment is not quoted");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtMost() {
-		// exact request
-		Version v = Version.parseVersion("format(q={1,3};q={1,2};q):<123><ab><c456'def'>");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'123'.'ab'.\"c456'def'\""), v);
-
-		// request for more than available
-		assertNotNull(v = Version.parseVersion("format(q={1,4};q={1,4};q):<123><abc4><56'def'>"));
-		assertEquals(Version.parseVersion("raw:'123'.'abc4'.\"56'def'\""), v);
-
-		try {
-			// fails because first segment is shorter
-			Version.parseVersion("format(q={2,3};q):<1><abc456'def'>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			// fails because there are trailing characters after 'c'
-			Version.parseVersion("format(q={2,3};q={2,3};):<12><abc456'd'>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRTest.java
deleted file mode 100644
index 68397a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(r)
- *
- */
-public class FormatRTest extends TestCase {
-
-	public void testNumeric() {
-		Version v = Version.parseVersion("format(r):1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1"), v);
-	}
-
-	public void testNegativeNumeric() {
-		Version v = Version.parseVersion("format(r):-1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:-1"), v);
-	}
-
-	public void testString() {
-		Version v = Version.parseVersion("format(r):'a'");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(r):\"a\""));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-	}
-
-	public void testConcatentatedStrings() {
-		Version v = Version.parseVersion("format(r):'a''b'");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'ab'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(r):'a has a \"hat\" it is '\"a's\""));
-		assertEquals(Version.parseVersion("raw:'a has a \"hat\" it is '\"a's\""), v);
-	}
-
-	public void testMaxString() {
-		Version v = Version.parseVersion("format(r):m");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:m"), v);
-	}
-
-	public void testMaxNumeric() {
-		Version v = Version.parseVersion("format(r):M");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:M"), v);
-	}
-
-	public void testArray() {
-		Version v = Version.parseVersion("format(r):<1>");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:<1>"), v);
-	}
-
-	public void testNonRElements() {
-		try {
-			Version.parseVersion("format(r):aaa");
-			fail("a is not a valid raw element");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(r):1,2");
-			fail("comma is not a delimiter in raw format");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
deleted file mode 100644
index c8d60a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Tests ranges using format(xxx) version strings.
- *
- */
-public class FormatRangeTest extends VersionTesting {
-	public static String OSGI_PREFIX = "format(n[.n=0;[.n=0;[.S=[A-Za-z0-9_-];]]]):";
-
-	public void testRangeWithDefaultValues() {
-		VersionRange range = new VersionRange(OSGI_PREFIX + "0");
-		assertIncludedInRange("#1", range, OSGI_PREFIX + "0");
-		assertIncludedInRange("#2", range, OSGI_PREFIX + "0.0");
-		assertIncludedInRange("#3", range, OSGI_PREFIX + "0.0.0");
-	}
-
-	public void testEmptyRange() {
-		try {
-			new VersionRange(OSGI_PREFIX);
-			fail("Uncught error: range can not be empty");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testRangeDelimitersInVersionString() {
-		VersionRange range = new VersionRange("format(S):[one\\,\\ two,three\\,\\ \\[and\\]\\ four]");
-		assertIncludedInRange("#1", range, "format(S):one, two");
-		assertIncludedInRange("#1", range, "format(S):three, [and] four");
-	}
-
-	public void testSingleVersionRange() {
-		VersionRange range = new VersionRange(OSGI_PREFIX + "[1.0.0, 1.0.0.x)");
-		assertEquals("0.1", Version.parseVersion(OSGI_PREFIX + "1.0.0"), range.getMinimum());
-		assertEquals("0.2", Version.parseVersion(OSGI_PREFIX + "1.0.0.x"), range.getMaximum());
-
-		assertNotIncludedInRange("0.9", range, OSGI_PREFIX + "0.9");
-		assertIncludedInRange("1.2", range, OSGI_PREFIX + "1.0.0");
-		assertNotIncludedInRange("2.1", range, OSGI_PREFIX + "1.0.0.z");
-		assertNotIncludedInRange("2.2", range, OSGI_PREFIX + "1.0.1");
-		assertNotIncludedInRange("2.3", range, OSGI_PREFIX + "1.1");
-		assertNotIncludedInRange("2.4", range, OSGI_PREFIX + "2");
-	}
-
-	public void testGreaterThan() {
-		// any version equal or greater than 1.0.0 is ok 
-		VersionRange lowerBound = new VersionRange(OSGI_PREFIX + "1.0.0");
-		assertNotIncludedInRange("1.0", lowerBound, OSGI_PREFIX + "0.9.0");
-		assertIncludedInRange("1.1", lowerBound, OSGI_PREFIX + "1.0.0");
-		assertIncludedInRange("1.2", lowerBound, OSGI_PREFIX + "1.9.9.x");
-		assertIncludedInRange("1.3", lowerBound, OSGI_PREFIX + "999.999.999.foo");
-	}
-
-	public void testGreaterThanMinimum() {
-		// any version equal or greater than Version.emptyVersion is ok 
-		VersionRange lowerBound = new VersionRange("raw:-M");
-		assertIncludedInRange("0.1", lowerBound, "raw:-M");
-		assertIncludedInRange("1.0", lowerBound, OSGI_PREFIX + "0.9.0");
-		assertIncludedInRange("1.1", lowerBound, OSGI_PREFIX + "1.0.0");
-		assertIncludedInRange("1.2", lowerBound, OSGI_PREFIX + "1.9.9.x");
-		assertIncludedInRange("1.3", lowerBound, OSGI_PREFIX + "999.999.999.foo");
-	}
-
-	public void testLowerThan() {
-		// any version lower than 2.0 is ok 		
-		VersionRange upperBound = new VersionRange(OSGI_PREFIX + "[0, 2.0.0)");
-		assertIncludedInRange("1.0", upperBound, OSGI_PREFIX + "0.0");
-		assertIncludedInRange("1.1", upperBound, OSGI_PREFIX + "0.9");
-		assertIncludedInRange("1.2", upperBound, OSGI_PREFIX + "1.0");
-		assertIncludedInRange("1.3", upperBound, OSGI_PREFIX + "1.9.9.x");
-		assertNotIncludedInRange("1.4", upperBound, OSGI_PREFIX + "2.0");
-		assertNotIncludedInRange("1.5", upperBound, OSGI_PREFIX + "2.1");
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatSTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatSTest.java
deleted file mode 100644
index 8bfaee9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatSTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests format(s), and format(S)
- * 
- * a string group matching any character except any following 
- * explicit/optional delimiter. Use processing rules =[]; or =[^] to define the set of allowed characters.
- * 
- */
-public class FormatSTest extends TestCase {
-	public void testStringAcceptDigit() {
-		Version v = Version.parseVersion("format(S):1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'1'"), v);
-		try {
-			Version.parseVersion("format(s):1");
-			fail("Uncaught error: s should not accept digits");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringAcceptAlpha() {
-		Version v = Version.parseVersion("format(s):a");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S):a"));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-	}
-
-	public void testStringDelimitedByNumeric() {
-		Version v = Version.parseVersion("format(sn):foobar123");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'foobar'.123"), v);
-		try {
-			Version.parseVersion("format(Sn):foobar123");
-			fail("Uncaught error: S should eat entire string, no n found at the end");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringWithSpace() {
-		Version v;
-
-		assertNotNull(v = Version.parseVersion("format(S=[^0-9];n):foo bar123"));
-		assertEquals(Version.parseVersion("raw:'foo bar'.123"), v);
-
-		// Test 's' with attempt to include 'space' and delimiters
-		//
-		try {
-			Version.parseVersion("format(s=[^];n):foo bar123");
-			fail("Uncaught error: format(s) can not match non letters (space).");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringDelimitedByDelimiter() {
-		Version v = Version.parseVersion("format(s.n):foobar.123");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'foobar'.123"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S=[^.];.n):foobar.123"));
-		assertEquals(Version.parseVersion("raw:'foobar'.123"), v);
-	}
-
-	public void testStringDelimitedByExplicitDelimiter() {
-		Version v = Version.parseVersion("format(s=[^r];d=[r];n):foobar123");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'fooba'.123"), v);
-	}
-
-	public void testStringWithAllowedSet() {
-		Version v = Version.parseVersion("format(s=[a-z];sn):fooBAR123");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'foo'.'BAR'.123"), v);
-	}
-
-	public void testStringWithDisallowedSet() {
-		Version v = Version.parseVersion("format(s=[^a-z];sn):FOObar123");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'FOO'.'bar'.123"), v);
-	}
-
-	public void testExact() {
-		Version v = Version.parseVersion("format(S={4};S):123abc456'def'");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(s={2};s):abc"));
-		assertEquals(Version.parseVersion("raw:'ab'.'c'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S={2};S):abc"));
-		assertEquals(Version.parseVersion("raw:'ab'.'c'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S={2};S):123"));
-		assertEquals(Version.parseVersion("raw:'12'.'3'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S={4};S={1};S={3};):123abc45"));
-		assertEquals(Version.parseVersion("raw:'123a'.'b'.'c45'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(S={2};.S={1};s={3};):12.3abc"));
-		assertEquals(Version.parseVersion("raw:'12'.'3'.'abc'"), v);
-
-		try {
-			Version.parseVersion("format(s={4};.s):aaa.abc456'def'");
-			fail("Uncaught error: first segment is less than 4 chars long");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(s={4};.s):123.abc456'def'");
-			fail("Uncaught error: first segment has digits");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(S={4}=[^.];.S):123.abc456'def'");
-			fail("Uncaught error: first segment has only 3 characters");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	/**
-	 * Test that unbound upper range is just a limit on lower range. Upper delimiter must be a delimiter.
-	 */
-	public void testAtLeast() {
-		Version v = Version.parseVersion("format(S={2,};):123abc456'def'");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:\"123abc456'def'\""), v);
-
-		assertNotNull(v = Version.parseVersion("format(S={2,};=[^.];.S):123a.bc456'def'"));
-		assertEquals(Version.parseVersion("raw:'123a'.\"bc456'def'\""), v);
-
-		try {
-			Version.parseVersion("format(s={2,};.S):a.abc456'def'");
-			fail("uncaught error: first segment is shorter than 2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(s={2,};.s={10,};):aa.abcd");
-			fail("Uncaught error: secont segment too short");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtMost() {
-		Version v = Version.parseVersion("format(S={1,3};S={1,2};S):123abc456'def'");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:'123'.'ab'.\"c456'def'\""), v);
-
-		// delimited by delimiter
-		assertNotNull(v = Version.parseVersion("format(S={1,4};=[^.];.S={1,4};.S):123.abc4.56'def'"));
-		assertEquals(Version.parseVersion("raw:'123'.'abc4'.\"56'def'\""), v);
-
-		try {
-			// fails because of delimiter after one char
-			Version.parseVersion("format(s={2,3};s):a.abc456'def'");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			// fails because there are trailing characters after 'c'
-			Version.parseVersion("format(s={2,3};.S={2,3};):aa.abc456'd'");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatTest.java
deleted file mode 100644
index 888a147..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Test of format() performing tests not covered by tests per rule.
- * 
- */
-public class FormatTest extends TestCase {
-
-	public void testEmptySegmentsRemoved() {
-		Version v = Version.parseVersion("format(ndddn):1...2");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), Integer.valueOf(1));
-		assertEquals(v.getSegment(1), Integer.valueOf(2));
-	}
-
-	public void testGreedyParsing() {
-		Version v = Version.parseVersion("format(n(.n)*(.s)*):1.2.3.hello");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1.2.3.'hello'"), v);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/IntersectionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/IntersectionTest.java
deleted file mode 100644
index 1c456af..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/IntersectionTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Tests intersection of VersionRanges.
- * - non overlapping ranges
- * - straddle lower or upper bound
- * - equal range
- * - same lower bound - upper inside
- * - same upper bound - lower inside
- * - inside 
- * 
- * Tests made with both inclusive and non inclusive values.
- * 
- */
-public class IntersectionTest extends TestCase {
-	public void testIntersectsEmpty() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[4.0.0,6.0.0]");
-		assertTrue("Non overlapping ranges a/b should be empty #1", a.intersect(b) == null);
-		assertTrue("Non overlapping ranges b/a should be empty #2", b.intersect(a) == null);
-
-		a = new VersionRange("raw:[1.0.0,3.0.0]");
-		b = new VersionRange("raw:(3.0.0,6.0.0]");
-		assertTrue("Non overlapping ranges a/b should be empty #3", a.intersect(b) == null);
-		assertTrue("Non overlapping ranges b/a should be empty #4", b.intersect(a) == null);
-
-		a = new VersionRange("raw:[1.0.0,3.0.0)");
-		b = new VersionRange("raw:[3.0.0,6.0.0]");
-		assertTrue("Non overlapping ranges a/b should be empty #5", a.intersect(b) == null);
-		assertTrue("Non overlapping ranges b/a should be empty #6", b.intersect(a) == null);
-	}
-
-	public void testStraddleBoundary() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[2.0.0,6.0.0]");
-		VersionRange r = a.intersect(b);
-		assertEquals("#1.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#1.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#1.3", r.getIncludeMaximum());
-		assertTrue("#1.4", r.getIncludeMinimum());
-
-		r = b.intersect(a);
-		assertEquals("#2.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#2.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#2.3", r.getIncludeMaximum());
-		assertTrue("#2.4", r.getIncludeMinimum());
-
-		a = new VersionRange("raw:[1.0.0,3.0.0)");
-		b = new VersionRange("raw:(2.0.0,6.0.0]");
-		r = a.intersect(b);
-		assertEquals("#3.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#3.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#3.3", !r.getIncludeMaximum());
-		assertTrue("#3.4", !r.getIncludeMinimum());
-
-		r = b.intersect(a);
-		assertEquals("#4.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#4.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#4.3", !r.getIncludeMaximum());
-		assertTrue("#4.4", !r.getIncludeMinimum());
-
-	}
-
-	public void testEqualRanges() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange r = a.intersect(b);
-		assertEquals("#1.1", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#1.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#1.3", r.getIncludeMaximum());
-		assertTrue("#1.4", r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#1.5", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#1.6", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#1.7", r.getIncludeMaximum());
-		assertTrue("#1.8", r.getIncludeMinimum());
-
-		a = new VersionRange("raw:(1.0.0,3.0.0)");
-		b = new VersionRange("raw:(1.0.0,3.0.0)");
-		r = a.intersect(b);
-		assertEquals("#2.1", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#2.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#2.3", !r.getIncludeMaximum());
-		assertTrue("#2.4", !r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#2.5", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#2.6", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#2.7", !r.getIncludeMaximum());
-		assertTrue("#2.8", !r.getIncludeMinimum());
-	}
-
-	public void testPartialEqualLower() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[1.0.0,2.0.0]");
-		VersionRange r = a.intersect(b);
-		assertEquals("#1.1", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#1.2", Version.parseVersion("raw:2.0.0"), r.getMaximum());
-		assertTrue("#1.3", r.getIncludeMaximum());
-		assertTrue("#1.4", r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#1.4", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#1.6", Version.parseVersion("raw:2.0.0"), r.getMaximum());
-		assertTrue("#1.7", r.getIncludeMaximum());
-		assertTrue("#1.8", r.getIncludeMinimum());
-
-		b = new VersionRange("raw:[1.0.0,2.0.0)");
-		r = a.intersect(b);
-		assertEquals("#2.1", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#2.2", Version.parseVersion("raw:2.0.0"), r.getMaximum());
-		assertTrue("#2.3", !r.getIncludeMaximum());
-		assertTrue("#2.4", r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#2.4", Version.parseVersion("raw:1.0.0"), r.getMinimum());
-		assertEquals("#2.6", Version.parseVersion("raw:2.0.0"), r.getMaximum());
-		assertTrue("#2.7", !r.getIncludeMaximum());
-		assertTrue("#2.8", r.getIncludeMinimum());
-
-	}
-
-	public void testPartialEqualUpper() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[2.0.0,3.0.0]");
-		VersionRange r = a.intersect(b);
-		assertEquals("#1.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#1.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#1.3", r.getIncludeMaximum());
-		assertTrue("#1.4", r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#1.4", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#1.6", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#1.7", r.getIncludeMaximum());
-		assertTrue("#1.8", r.getIncludeMinimum());
-
-		b = new VersionRange("raw:(2.0.0,3.0.0]");
-		r = a.intersect(b);
-		assertEquals("#2.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#2.2", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#2.3", r.getIncludeMaximum());
-		assertTrue("#2.4", !r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#2.4", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#2.6", Version.parseVersion("raw:3.0.0"), r.getMaximum());
-		assertTrue("#2.7", r.getIncludeMaximum());
-		assertTrue("#2.8", !r.getIncludeMinimum());
-	}
-
-	public void testFullyInside() {
-		VersionRange a = new VersionRange("raw:[1.0.0,3.0.0]");
-		VersionRange b = new VersionRange("raw:[2.0.0,2.5.0]");
-		VersionRange r = a.intersect(b);
-		assertEquals("#1.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#1.2", Version.parseVersion("raw:2.5.0"), r.getMaximum());
-		assertTrue("#1.3", r.getIncludeMaximum());
-		assertTrue("#1.4", r.getIncludeMinimum());
-		r = b.intersect(a);
-		assertEquals("#1.5", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#1.6", Version.parseVersion("raw:2.5.0"), r.getMaximum());
-		assertTrue("#1.7", r.getIncludeMaximum());
-		assertTrue("#1.8", r.getIncludeMinimum());
-
-		b = new VersionRange("raw:(2.0.0,2.5.0)");
-		r = a.intersect(b);
-		assertEquals("#2.1", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#2.2", Version.parseVersion("raw:2.5.0"), r.getMaximum());
-		assertTrue("#2.3", !r.getIncludeMaximum());
-		assertTrue("#2.4", !r.getIncludeMinimum());
-
-		r = b.intersect(a);
-		assertEquals("#2.5", Version.parseVersion("raw:2.0.0"), r.getMinimum());
-		assertEquals("#2.6", Version.parseVersion("raw:2.5.0"), r.getMaximum());
-		assertTrue("#2.7", !r.getIncludeMaximum());
-		assertTrue("#2.8", !r.getIncludeMinimum());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/MultiplicityTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/MultiplicityTest.java
deleted file mode 100644
index cb122ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/MultiplicityTest.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests {n.m} in different combinations and the special +?*
- *
- */
-public class MultiplicityTest extends TestCase {
-	public void test01() {
-		// n? == [n] == n{0,1} 
-		Version v = Version.parseVersion("format(n?):1");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n[.n]):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-		assertNotNull(v = Version.parseVersion("format(n.?n?):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n?):a");
-			fail("Uncaught error: format(n?):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		// with []
-		assertNotNull(v = Version.parseVersion("format([n]):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(s[n]):a"));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-		assertNotNull(v = Version.parseVersion("format(n[.][n]):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format([n]):a");
-			fail("Uncaught error: format([n]):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-		// with {0,1}
-		assertNotNull(v = Version.parseVersion("format(n{0,1}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(sn{0,1}):a"));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n.?n{0,}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n{0,1}):a");
-			fail("Uncaught error: format(n{0,1}):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void test1M() {
-		// n+ == n{1,}
-		Version v = Version.parseVersion("format((nd?)+):1.2.3");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n+):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n+):");
-			fail("Uncaught error: format(n+):");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n+):a");
-			fail("Uncaught error: format(n+):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		// with {1,}
-		assertNotNull(v = Version.parseVersion("format((nd?){1,}):1.2.3"));
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n{1,}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n{1,}):");
-			fail("Uncaught error: format(n{1,}):");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n{1,}):a");
-			fail("Uncaught error: format(n{1,}):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void test0M() {
-		// n* == n{0,}
-		Version v = Version.parseVersion("format((nd?)*):1.2.3");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n*):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(sn*):a"));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-
-		try {
-			Version.parseVersion("format(n*):a");
-			fail("Uncaught error: format(n*):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		// with {0,}
-		assertNotNull(v = Version.parseVersion("format((nd?){0,}):1.2.3"));
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n{0,}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		assertNotNull(v = Version.parseVersion("format(sn{0,}):a"));
-		assertEquals(Version.parseVersion("raw:'a'"), v);
-
-		try {
-			Version.parseVersion("format(n{0,}):a");
-			fail("Uncaught error: format(n{0,}):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testExact() {
-		// n{1}
-		Version v = Version.parseVersion("format((nd?){3}):1.2.3");
-		assertNotNull(v);
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n{1}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n{1}):");
-			fail("Uncaught error: format(n{1}):");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((nd?){3}):1.2");
-			fail("Uncaught error: format((nd?){3}):1.2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n{1}):a");
-			fail("Uncaught error: format(n{1}):a");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testAtLeast() {
-		// n{>1,}
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format((nd?){2,}):1.2.3"));
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-		assertNotNull(v = Version.parseVersion("format((nd?){3,}):1.2.3"));
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format(n{1,}):1"));
-		assertEquals(Version.parseVersion("raw:1"), v);
-
-		try {
-			Version.parseVersion("format(n{2,}):1");
-			fail("Uncaught error: format(n{1,}):1");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((nd?){3,}):1.2");
-			fail("Uncaught error: format(n{3,1}):1.2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testAtMost() {
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("format((nd?){2,3}):1.2.3"));
-		assertEquals(Version.parseVersion("raw:1.2.3"), v);
-
-		assertNotNull(v = Version.parseVersion("format((nd?){2,3}):1.2"));
-		assertEquals(Version.parseVersion("raw:1.2"), v);
-
-		try {
-			Version.parseVersion("format(n{2,3}):1");
-			fail("Uncaught error: format(n{2,3}):1");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n{2,3}):1.2.3.4");
-			fail("Uncaught error: format(n{2,3}):1.2.3.4");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testZeroExact() {
-		// Should not have entered a n{0} as it is meaningless.
-		try {
-			Version.parseVersion("format(n{0}):");
-			fail("Uncaught error: format(n{0}):");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format(n{0,0}):");
-			fail("Uncaught error: format(n{0,0}):");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testMinGreaterThanMax() {
-		try {
-			Version.parseVersion("format((nd?){3,2}):1.2.3");
-			fail("Uncaught error: format((nd?){3,2}):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedBraceR() {
-		try {
-			Version.parseVersion("format((nd?){3,2):1.2.3");
-			fail("Uncaught error: format((nd?){3,2):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNegativeRange() {
-		try {
-			Version.parseVersion("format((nd?){-1,2}):1.2.3");
-			fail("Uncaught error: format((nd?){-1,2}):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((nd?){1,-2}):1.2.3");
-			fail("Uncaught error: format((nd?){1,-2}):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringRange() {
-		try {
-			Version.parseVersion("format((nd?){a,2}):1.2.3");
-			fail("Uncaught error: format((nd?){a,2}):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.parseVersion("format((nd?){1,a}):1.2.3");
-			fail("Uncaught error: format((nd?){1,a}):1.2.3");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
deleted file mode 100644
index 23ea949..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *     IBM - Ongoing development
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Tests ranges of versions specified with osgi (default) version format.
- *
- */
-public class OSGiRangeTest extends VersionTesting {
-	public void testSingleVersionRange() {
-		VersionRange range;
-		range = new VersionRange("[1.0.0, 1.0.0.-)");
-		assertEquals("0.1", Version.parseVersion("1.0"), range.getMinimum());
-		assertTrue("0.9", !range.isIncluded(Version.parseVersion("0.9")));
-		assertTrue("1.0", range.isIncluded(Version.parseVersion("1")));
-		assertTrue("1.1", range.isIncluded(Version.parseVersion("1.0")));
-		assertTrue("1.2", range.isIncluded(Version.parseVersion("1.0.0")));
-		assertTrue("2.1", !range.isIncluded(Version.parseVersion("1.0.0.0")));
-		assertTrue("2.2", !range.isIncluded(Version.parseVersion("1.0.1")));
-		assertTrue("2.3", !range.isIncluded(Version.parseVersion("1.1")));
-		assertTrue("2.4", !range.isIncluded(Version.parseVersion("2")));
-	}
-
-	public void testInvertedRange() {
-		try {
-			new VersionRange("[2.0.0, 1.0.0]");
-			fail("Inverted range is not allowed");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testGreaterThan() {
-		// any version equal or greater than 1.0 is ok 
-		VersionRange lowerBound = new VersionRange("1.0.0");
-		assertTrue("1.0", !lowerBound.isIncluded(Version.parseVersion("0.9")));
-		assertTrue("1.1", lowerBound.isIncluded(Version.parseVersion("1.0")));
-		assertTrue("1.2", lowerBound.isIncluded(Version.parseVersion("1.9.9.x")));
-		assertTrue("1.3", lowerBound.isIncluded(Version.parseVersion("999.999.999.foo")));
-		assertTrue("2.0", lowerBound.isIncluded(Version.parseVersion("raw:M")));
-		assertTrue("2.1", lowerBound.isIncluded(Version.parseVersion("raw:2147483647.2147483647.2147483647.0")));
-
-	}
-
-	public void testLowerThan() {
-		// any version lower than 2.0 is ok 		
-		VersionRange upperBound = new VersionRange("[0,2.0)");
-		assertTrue("1.0", upperBound.isIncluded(Version.parseVersion("0.0")));
-		assertTrue("1.1", upperBound.isIncluded(Version.parseVersion("0.9")));
-		assertTrue("1.2", upperBound.isIncluded(Version.parseVersion("1.0")));
-		assertTrue("1.3", upperBound.isIncluded(Version.parseVersion("1.9.9.x")));
-		assertTrue("1.4", !upperBound.isIncluded(Version.parseVersion("2.0")));
-		assertTrue("1.5", !upperBound.isIncluded(Version.parseVersion("2.1")));
-	}
-
-	public void testRangeStrings() {
-		VersionRange v = null;
-
-		v = new VersionRange("1.0.0");
-		assertEquals("1.0.0", v.toString());
-		v = new VersionRange("[1.0.0,2.0.0]");
-		assertEquals("[1.0.0,2.0.0]", v.toString());
-		v = new VersionRange("(1.0.0,2.0.0]");
-		assertEquals("(1.0.0,2.0.0]", v.toString());
-		v = new VersionRange("[1.0.0,2.0.0)");
-		assertEquals("[1.0.0,2.0.0)", v.toString());
-		v = new VersionRange("(1.0.0,2.0.0)");
-		assertEquals("(1.0.0,2.0.0)", v.toString());
-
-		v = new VersionRange("1.0.0.abcdef");
-		assertEquals("1.0.0.abcdef", v.toString());
-		v = new VersionRange("[1.0.0.abcdef,2.0.0.abcdef]");
-		assertEquals("[1.0.0.abcdef,2.0.0.abcdef]", v.toString());
-		v = new VersionRange("(1.0.0.abcdef,2.0.0.abcdef]");
-		assertEquals("(1.0.0.abcdef,2.0.0.abcdef]", v.toString());
-		v = new VersionRange("[1.0.0.abcdef,2.0.0.abcdef)");
-		assertEquals("[1.0.0.abcdef,2.0.0.abcdef)", v.toString());
-		v = new VersionRange("(1.0.0.abcdef,2.0.0.abcdef)");
-		assertEquals("(1.0.0.abcdef,2.0.0.abcdef)", v.toString());
-	}
-
-	/**
-	 * Tests that null values passed to the {@link VersionRange} constructor
-	 * are not interpreted as MIN/MAX versions.
-	 */
-	public void testNullConstructor() {
-		VersionRange range = new VersionRange(null);
-		assertEquals("1.0", range.getMinimum(), Version.emptyVersion);
-		assertEquals("1.1", range.getMaximum(), Version.MAX_VERSION);
-
-		range = new VersionRange(null, true, null, true);
-		assertEquals("2.0", range.getMinimum(), Version.emptyVersion);
-		assertEquals("2.1", range.getMaximum(), Version.MAX_VERSION);
-	}
-
-	public void testSerialize() {
-		VersionRange v = null;
-
-		v = new VersionRange("1.0.0");
-		assertSerialized(v);
-		v = new VersionRange("[1.0.0,2.0.0]");
-		assertSerialized(v);
-		v = new VersionRange("(1.0.0,2.0.0]");
-		assertSerialized(v);
-		v = new VersionRange("[1.0.0,2.0.0)");
-		assertSerialized(v);
-		v = new VersionRange("(1.0.0,2.0.0)");
-		assertSerialized(v);
-
-		v = new VersionRange("1.0.0.abcdef");
-		assertSerialized(v);
-		v = new VersionRange("[1.0.0.abcdef,2.0.0.abcdef]");
-		assertSerialized(v);
-		v = new VersionRange("(1.0.0.abcdef,2.0.0.abcdef]");
-		assertSerialized(v);
-		v = new VersionRange("[1.0.0.abcdef,2.0.0.abcdef)");
-		assertSerialized(v);
-		v = new VersionRange("(1.0.0.abcdef,2.0.0.abcdef)");
-		assertSerialized(v);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
deleted file mode 100644
index 19ee6ba..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests versions specified with default OSGi version strings and tests OSGi compatibility
- * for versions specified using raw.
- *
- */
-public class OSGiVersionTest extends VersionTesting {
-
-	public void testBasicParsing() {
-
-		// should parse without exception
-		assertNotNull(Version.parseVersion("1"));
-		assertNotNull(Version.parseVersion("1.0"));
-		assertNotNull(Version.parseVersion("1.0.0"));
-		assertNotNull(Version.parseVersion("1.0.0.9"));
-		assertNotNull(Version.parseVersion("1.0.0.r12345"));
-		assertNotNull(Version.parseVersion("1.0.0.r12345_hello"));
-	}
-
-	public void testOSGiStrings() {
-
-		Version v = Version.parseVersion(null);
-		assertEquals("0.0.0", v.toString());
-		assertNotNull(v = Version.parseVersion(""));
-		assertEquals("0.0.0", v.toString());
-		assertNotNull(v = Version.parseVersion("1"));
-		assertEquals("1.0.0", v.toString());
-		assertNotNull(v = Version.parseVersion("1.0"));
-		assertEquals("1.0.0", v.toString());
-		assertNotNull(v = Version.parseVersion("1.0.0"));
-		assertEquals("1.0.0", v.toString());
-		assertNotNull(v = Version.parseVersion("1.0.0.9"));
-		assertEquals("1.0.0.9", v.toString());
-		assertNotNull(v = Version.parseVersion("1.0.0.r12345"));
-		assertEquals("1.0.0.r12345", v.toString());
-		assertNotNull(v = Version.parseVersion("1.0.0.r12345_hello"));
-		assertEquals("1.0.0.r12345_hello", v.toString());
-	}
-
-	public void testSerialize() {
-
-		Version v = null;
-		assertNotNull(v = Version.parseVersion("1"));
-		assertSerialized(v);
-		assertNotNull(v = Version.parseVersion("1.0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.parseVersion("1.0.0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.parseVersion("1.0.0.9"));
-		assertSerialized(v);
-		assertNotNull(v = Version.parseVersion("1.0.0.r12345"));
-		assertSerialized(v);
-		assertNotNull(v = Version.parseVersion("1.0.0.r12345_hello"));
-		assertSerialized(v);
-	}
-
-	public void testNegativeFirstValue() {
-		try {
-			Version.parseVersion("-1");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testPeriodInQualifier() {
-		try {
-			Version.parseVersion("1.0.0.sailor.moon");
-			fail("Uncaught exception: period is not allowed in osgi qualifier");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testNegativeSecondValue() {
-		try {
-			Version.parseVersion("1.-1");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNegativeThirdValue() {
-		try {
-			Version.parseVersion("1.0.-1");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testEmptyFourthValue() {
-		try {
-			Version.parseVersion("1.0.0.");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringFirstValue() {
-		try {
-			Version.parseVersion("a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringSecondValue() {
-		try {
-			Version.parseVersion("1.a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testStringThirdValue() {
-		try {
-			Version.parseVersion("1.0.a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testSinglePeriod() {
-		try {
-			Version.parseVersion(".");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testTwoPeriods() {
-		try {
-			Version.parseVersion("..");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testThreePeriods() {
-		try {
-			Version.parseVersion("...");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testEquality() {
-		// should parse without exception
-		Version v1 = Version.parseVersion("1");
-		Version v2 = Version.parseVersion("1.0");
-		Version v3 = Version.parseVersion("1.0.0");
-		Version v4 = Version.parseVersion("1.0.0.9");
-		Version v5 = Version.parseVersion("1.0.0.r12345");
-
-		assertEquals(v1, v2);
-		assertEquals(v1, v3);
-		assertEquals(v2, v3);
-		assertOrder(v3, v4); // i.e. not equal
-		assertOrder(v4, v5); // i.e. not equal
-
-	}
-
-	public void testVersionCompare() {
-		// should parse without exception
-		Version v1 = Version.parseVersion("1");
-		Version v2 = Version.parseVersion("1.0.1");
-		Version v3 = Version.parseVersion("1.1");
-		Version v4 = Version.parseVersion("1.1.1");
-		Version v5 = Version.parseVersion("1.1.1.-");
-		Version v6 = Version.parseVersion("1.2");
-		Version v7 = Version.parseVersion("2");
-		Version v8 = Version.parseVersion("10.0");
-
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-		assertOrder(v7, v8);
-
-	}
-
-	public void testCompatability() {
-		Version v = Version.parseVersion("raw:1.2.3.'foo'");
-		assertNotNull(v);
-		assertTrue("a raw:1.2.3.'foo' compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2.3"));
-		assertTrue("a raw:1.2.3 compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2.3p''"));
-		assertFalse("a raw:1.2.3p'' not compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2.3.4"));
-		assertFalse("a raw (4th is int) not compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2.3.'foo'.'bar'"));
-		assertFalse("a raw (5 elements) not compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2"));
-		assertFalse("a raw (only 2 elements) not compatible with OSGi", v.isOSGiCompatible());
-
-		assertNotNull(v = Version.parseVersion("raw:1.2.3.' %@'"));
-		assertFalse("a raw (illegal chars in qualifier) not compatible with OSGi", v.isOSGiCompatible());
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
deleted file mode 100644
index a9e2893..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Simple performance comparison between OSGi version implementation and Omni Version.
- * Tests performance of creating version instances using 4 values, as well as string parsing.
- * Tests comparison of versions.
- * 
- * Aprox 10000 instances are created.
- * Comparison compares all instances against all other (i.e. about 10 milj).
- * 
- */
-public class PerformanceTest extends TestCase {
-	static final int MUL = 24;
-
-	static final String qualifierTemplate = "r20090112-12345-abcdefghijklmnopqrstuvwxyz"; // longer than MUL chars
-
-	public void testStringCreationPerformance() {
-		// Ensure that classes are loaded etc.
-		Version.MAX_VERSION.compareTo(Version.emptyVersion);
-		org.osgi.framework.Version.emptyVersion.compareTo(org.osgi.framework.Version.emptyVersion);
-
-		// Create all versions in string format
-		String[] strings = createStrings();
-
-		long start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			osgiVersionCreateFromString(strings);
-		long osgiTime = System.currentTimeMillis() - start;
-
-		start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			omniVersionCreateFromString(strings);
-		long omniTime = System.currentTimeMillis() - start;
-		outputResult("String creation", 100 * MUL * MUL * MUL, osgiTime, omniTime);
-		// System.out.printf("String creation: osgi=%d, omni=%d, factor=%.2f\n", osgiTime, omniTime, factor(omniTime, osgiTime));
-	}
-
-	public void testCreationPerformance() {
-		// Ensure that classes are loaded etc.
-		Version.MAX_VERSION.compareTo(Version.emptyVersion);
-		org.osgi.framework.Version.emptyVersion.compareTo(org.osgi.framework.Version.emptyVersion);
-
-		long start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			osgiVersionCreate();
-		long osgiTime = System.currentTimeMillis() - start;
-
-		start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			omniVersionCreate();
-		long omniTime = System.currentTimeMillis() - start;
-		outputResult("Creation", 100 * MUL * MUL * MUL, osgiTime, omniTime);
-
-		// System.out.printf("Creation: osgi=%d, omni=%d, factor=%f2\n", osgiTime, omniTime, factor(omniTime, osgiTime));
-	}
-
-	public void testComparePerformance() {
-		Version[] omniVersions = createOmniVersions();
-		org.osgi.framework.Version osgiVersions[] = createOsgiVersions();
-
-		long start = System.currentTimeMillis();
-		osgiVersionCompare(osgiVersions);
-		long osgiTime = System.currentTimeMillis() - start;
-
-		start = System.currentTimeMillis();
-		omniVersionCompare(omniVersions);
-		long omniTime = System.currentTimeMillis() - start;
-		long units = MUL * MUL * MUL * MUL * MUL * MUL;
-		outputResult("Compare", units, osgiTime, omniTime);
-
-		//System.out.printf("Compare (%d comparisons): osgi=%d, omni=%d\n, factor=%d", units, osgiTime, omniTime, omniTime / osgiTime);
-	}
-
-	public void testEqualsPerformance() {
-		Version[] omniVersions = createOmniVersions();
-		org.osgi.framework.Version osgiVersions[] = createOsgiVersions();
-
-		long start = System.currentTimeMillis();
-		osgiVersionEquals(osgiVersions);
-		long osgiTime = System.currentTimeMillis() - start;
-
-		start = System.currentTimeMillis();
-		omniVersionEquals(omniVersions);
-		long omniTime = System.currentTimeMillis() - start;
-		long units = MUL * MUL * MUL * MUL * MUL * MUL;
-		outputResult("Equals", units, osgiTime, omniTime);
-
-		//System.out.printf("Equals (%d comparisons): osgi=%d, omni=%d, factor=%d\n", units, osgiTime, omniTime, omniTime / osgiTime);
-	}
-
-	public void testToStringPerformance() {
-		Version[] omniVersions = createOmniVersions();
-		org.osgi.framework.Version osgiVersions[] = createOsgiVersions();
-
-		long start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			osgiVersionToString(osgiVersions);
-		long osgiTime = System.currentTimeMillis() - start;
-
-		start = System.currentTimeMillis();
-		for (int idx = 0; idx < 100; ++idx)
-			omniVersionToString(omniVersions);
-		long omniTime = System.currentTimeMillis() - start;
-		long units = 100 * MUL * MUL * MUL;
-		outputResult("To String", units, osgiTime, omniTime);
-
-		//System.out.printf("toString (%d versions): osgi=%d, omni=%d\n", units, osgiTime, omniTime);
-	}
-
-	public static void osgiVersionToString(org.osgi.framework.Version versions[]) {
-		// compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			versions[i].toString();
-	}
-
-	public static void omniVersionToString(Version versions[]) {
-		// compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			versions[i].toString();
-	}
-
-	public static void omniVersionCreate() {
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					Version.createOSGi(i, j, k, qualifierTemplate);
-	}
-
-	public static void omniVersionCompare(Version versions[]) {
-		//compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			for (int j = 0; j < MUL * MUL * MUL; j++)
-				versions[i].compareTo(versions[j]);
-	}
-
-	public static void omniVersionEquals(Version versions[]) {
-		//compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			for (int j = 0; j < MUL * MUL * MUL; j++)
-				versions[i].equals(versions[j]);
-	}
-
-	public static void omniVersionCreateFromString(String[] strings) {
-		int x = 0;
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					Version.create(strings[x++]);
-	}
-
-	public static void osgiVersionCompare(org.osgi.framework.Version versions[]) {
-		// compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			for (int j = 0; j < MUL * MUL * MUL; j++)
-				versions[i].compareTo(versions[j]);
-	}
-
-	public static void osgiVersionEquals(org.osgi.framework.Version versions[]) {
-		// compare every version against all other versions
-		for (int i = 0; i < MUL * MUL * MUL; i++)
-			for (int j = 0; j < MUL * MUL * MUL; j++)
-				versions[i].equals(versions[j]);
-	}
-
-	public static void osgiVersionCreate() {
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					new org.osgi.framework.Version(i, j, k, qualifierTemplate);
-	}
-
-	public static void osgiVersionCreateFromString(String[] strings) {
-		int x = 0;
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					org.osgi.framework.Version.parseVersion(strings[x++]);
-	}
-
-	/**
-	 * Create a set of different versions. The execution of this method does not take part
-	 * in the time measurement
-	 */
-	private static Version[] createOmniVersions() {
-		Version versions[] = new Version[MUL * MUL * MUL];
-		int x = 0;
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					versions[x++] = Version.createOSGi(i, j, k, qualifierTemplate.substring(0, k + 1));
-		return versions;
-	}
-
-	/**
-	 * Create a set of different versions. The execution of this method does not take part
-	 * in the time measurement
-	 */
-	private static org.osgi.framework.Version[] createOsgiVersions() {
-		org.osgi.framework.Version versions[] = new org.osgi.framework.Version[MUL * MUL * MUL];
-		int x = 0;
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++)
-					versions[x++] = new org.osgi.framework.Version(i, j, k, qualifierTemplate.substring(0, k + 1));
-		return versions;
-	}
-
-	/**
-	 * Create a set of different version strings. The execution of this method does not take part
-	 * in the time measurement
-	 */
-	private static String[] createStrings() {
-		String[] strings = new String[MUL * MUL * MUL];
-		StringBuffer buf = new StringBuffer(100);
-		int x = 0;
-		for (int i = 0; i < MUL; i++)
-			for (int j = 0; j < MUL; j++)
-				for (int k = 0; k < MUL; k++) {
-					buf.setLength(0);
-					buf.append(i);
-					buf.append(".");
-					buf.append(j);
-					buf.append(".");
-					buf.append(k);
-					buf.append(".");
-					buf.append(qualifierTemplate.substring(0, k + 1));
-					strings[x++] = buf.toString();
-				}
-		return strings;
-	}
-
-	private static double factor(long osgiTime, long omniTime) {
-		double osgi = osgiTime;
-		double omni = omniTime;
-		return osgi / omni;
-	}
-
-	private static void outputResult(String message, long units, long osgiTime, long omniTime) {
-		System.out.printf("%s (units %d): osgi=%d [%.2fus/unit], omni=%d [%.2fus/unit], factor=%.2f\n", message, units, osgiTime, perUnit(osgiTime, units), omniTime, perUnit(omniTime, units), factor(omniTime, osgiTime));
-	}
-
-	private static double perUnit(long timeMillisec, long units) {
-		double time = (timeMillisec * 1000);
-		double u = units;
-		return time / u;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java
deleted file mode 100644
index 3b637d8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Tests version ranges specified using raw.
- *
- */
-public class RawRangeTest extends VersionTesting {
-	public void testEmptyRange() {
-		VersionRange range = new VersionRange("raw:''");
-		assertIncludedInRange("#1", range, "raw:'a'");
-
-		try {
-			new VersionRange("raw:");
-			fail("Uncaught error: a raw range can not be empty.");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testRangeDelimitersInStrings() {
-		VersionRange range = null;
-		range = new VersionRange("raw:['one\\,\\ two','three\\,\\ \\[and\\]\\ four']");
-		assertIncludedInRange("#1", range, "raw:'one, two'");
-		assertIncludedInRange("#2", range, "raw:'three, [and] four'");
-	}
-
-	public void testRangeDelimitersInStringstoString() {
-		VersionRange range = null;
-		String s = null;
-		range = new VersionRange(s = "raw:['one\\,\\ two','three\\,\\ \\[and\\]\\ four']");
-		assertEquals(s, range.toString());
-	}
-
-	public void testSingleVersionRange() {
-		VersionRange range;
-		range = new VersionRange("raw:[1.0.0, 1.0.0.'-')");
-		assertEquals("0.1", Version.parseVersion("raw:1.0.0"), range.getMinimum());
-		assertEquals("0.2", Version.parseVersion("raw:1.0.0.'-'"), range.getMaximum());
-
-		assertNotIncludedInRange("0.9", range, "raw:0.9");
-		assertNotIncludedInRange("1.0", range, "raw:1"); // this is not osgi versions 1 is before than 1.0
-		assertNotIncludedInRange("1.1", range, "raw:1.0"); // this is not osgi, version 1.0 is before 1.0.0
-		assertIncludedInRange("1.2", range, "raw:1.0.0");
-		assertNotIncludedInRange("2.1", range, "raw:1.0.0.'0'");
-		assertNotIncludedInRange("2.2", range, "raw:1.0.1");
-		assertNotIncludedInRange("2.3", range, "raw:1.1");
-		assertNotIncludedInRange("2.4", range, "raw:2");
-	}
-
-	public void testInvertedRange() {
-		try {
-			new VersionRange("raw:[2.0.0, 1.0.0]");
-			fail("Inverted range is not allowed");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testGreaterThan() {
-		// any version equal or greater than 1.0.0 is ok 
-		VersionRange lowerBound = new VersionRange("raw:1.0.0");
-		assertNotIncludedInRange("1.0", lowerBound, "raw:0.9.0");
-		assertIncludedInRange("1.1", lowerBound, "raw:1.0.0");
-		assertIncludedInRange("1.2", lowerBound, "raw:1.9.9.'x'");
-		assertIncludedInRange("1.3", lowerBound, "raw:999.999.999.'foo'");
-		assertIncludedInRange("1.3", lowerBound, "raw:M.M.M.m");
-	}
-
-	public void testGreaterThanSmallest() {
-		// any version equal or greater than -M' (empty string) is ok 
-		VersionRange lowerBound = new VersionRange("raw:-M");
-		assertIncludedInRange("#1", lowerBound, "raw:-M");
-		assertIncludedInRange("#1.1", lowerBound, "raw:''");
-		assertIncludedInRange("#1.1", lowerBound, "raw:m");
-		assertIncludedInRange("#2", lowerBound, "raw:0.9.0");
-		assertIncludedInRange("#3", lowerBound, "raw:1.0.0");
-		assertIncludedInRange("#4", lowerBound, "raw:1.9.9.'x'");
-		assertIncludedInRange("#5", lowerBound, "raw:999.999.999.'foo'");
-		assertIncludedInRange("#6", lowerBound, "raw:M.M.M.m");
-		assertIncludedInRange("#7", lowerBound, "raw:M");
-		assertIncludedInRange("#8", lowerBound, "raw:MpM");
-	}
-
-	public void testLowerThan() {
-		// any version lower than 2.0 is ok 		
-		VersionRange upperBound = new VersionRange("raw:[0, 2.0)");
-		assertIncludedInRange("1.0", upperBound, "raw:0.0");
-		assertIncludedInRange("1.1", upperBound, "raw:0.9");
-		assertIncludedInRange("1.2", upperBound, "raw:1.0");
-		assertIncludedInRange("1.3", upperBound, "raw:1.9.9.'x'");
-		assertNotIncludedInRange("1.4", upperBound, "raw:2.0");
-		assertNotIncludedInRange("1.5", upperBound, "raw:2.1");
-	}
-
-	public void testSerialize() {
-		VersionRange v = null;
-
-		v = new VersionRange("raw:1.0.0");
-		assertSerialized(v);
-		v = new VersionRange("raw:[1.0.0,2.0.0]");
-		assertSerialized(v);
-		v = new VersionRange("raw:(1.0.0,2.0.0]");
-		assertSerialized(v);
-		v = new VersionRange("raw:[1.0.0,2.0.0)");
-		assertSerialized(v);
-		v = new VersionRange("raw:(1.0.0,2.0.0)");
-		assertSerialized(v);
-
-		v = new VersionRange("raw:1.0.0.'abcdef'");
-		assertSerialized(v);
-		v = new VersionRange("raw:[1.0.0.'abcdef',2.0.0.'abcdef']");
-		assertSerialized(v);
-		v = new VersionRange("raw:(1.0.0.'abcdef',2.0.0.'abcdef']");
-		assertSerialized(v);
-		v = new VersionRange("raw:[1.0.0.'abcdef',2.0.0.'abcdef')");
-		assertSerialized(v);
-		v = new VersionRange("raw:(1.0.0.'abcdef',2.0.0.'abcdef')");
-		assertSerialized(v);
-	}
-
-	public void testToString() {
-		VersionRange v = null;
-		String s = null;
-		v = new VersionRange(s = "raw:1.0.0");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:[1.0.0,2.0.0]");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:(1.0.0,2.0.0]");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:[1.0.0,2.0.0)");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:(1.0.0,2.0.0)");
-		assertEquals(s, v.toString());
-
-		v = new VersionRange(s = "raw:1.0.0.'abcdef'");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:[1.0.0.'abcdef',2.0.0.'abcdef']");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:(1.0.0.'abcdef',2.0.0.'abcdef']");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:[1.0.0.'abcdef',2.0.0.'abcdef')");
-		assertEquals(s, v.toString());
-		v = new VersionRange(s = "raw:(1.0.0.'abcdef',2.0.0.'abcdef')");
-		assertEquals(s, v.toString());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
deleted file mode 100644
index 78ed985..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.p2.metadata.VersionFormat;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Tests inclusion of original version range string in raw format.
- * The tests in this class does not fully test the various "format(rules)" only that the sequence
- * "raw RANGE/format():ORIGINAL RANGE" works, and that errors at the top level are caught.
- * 
- */
-public class RawRangeWithOriginalTest extends VersionTesting {
-
-	public void testRawWithUnknownFormat() {
-		VersionRange v = new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S");
-		assertEquals(v, new VersionRange("raw:[1.0,2.0]"));
-	}
-
-	public void testRawWithUnknownFormatToString() {
-		assertEquals("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S", new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S").toString());
-	}
-
-	public void testRawWithUnknownFormatSerialized() {
-		assertSerialized(new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S"));
-		assertEquals("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S", getSerialized(new VersionRange("raw:[1.0,2.0]/:sailor.moon.R,sailor.moon.S")).toString());
-	}
-
-	public void testRawWithSimpleFormat() {
-		VersionRange v = new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]");
-		assertEquals(v, new VersionRange("raw:[1.0,2.0]"));
-	}
-
-	public void testRawWithSimpleFormatToString() {
-		// range brackets are normalized in toString - not needed in original
-		assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]").toString());
-	}
-
-	public void testSimpleFormatToString() {
-		// range brackets are normalized in toString - not needed in original
-		assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("format(n.n):[1.0,2.0]").toString());
-	}
-
-	public void testRawWithSimpleFormatSerialized() {
-		assertSerialized(new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]"));
-		// range brackets are normalized in toString - not needed in original
-		assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", getSerialized(new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]")).toString());
-	}
-
-	public void testOriginalStatedButMissing() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalAndUnknownStatedButMissing() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/foo:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat2() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/100:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat3() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/'format':");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat4() {
-		try {
-			new VersionRange("raw:[1.0,2.0]//1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat5() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/format:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatUnbalancedLeft() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/formatn.n):");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatUnbalancedRight() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/format(n.n:1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatOriginalMissing() {
-		try {
-			new VersionRange("raw:[1.0,2.0]/format(n.n):");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testGreaterThan() {
-		// any version equal or greater than 1.0.0 is ok 
-		VersionRange lowerBound = new VersionRange("raw:2.1.0.M/format(n[.n=0;[.n=0;]][d?S=M;]):2.1");
-		assertNotIncludedInRange("1.0", lowerBound, "raw:2.0.9");
-		assertIncludedInRange("1.1", lowerBound, "raw:2.2");
-		assertIncludedInRange("1.3", lowerBound, "raw:999.999.999.'foo'");
-	}
-
-	public void testMinBoundary() {
-		String rangeString = "raw:[-M,2.1.0.M]/format(n[.n=0;[.n=0;]][d?S=M;]):-M,2.1";
-		VersionRange range = new VersionRange(rangeString);
-		assertEquals(rangeString, range.toString());
-
-		VersionRange range1 = new VersionRange(range.getMinimum(), range.getIncludeMinimum(), range.getMaximum(), range.getIncludeMaximum());
-		assertEquals(range1, range);
-
-		VersionRange range2 = new VersionRange(null, true, range.getMaximum(), range.getIncludeMaximum());
-		assertEquals(range2, range);
-	}
-
-	public void testOSGiMinBoundary() {
-		String rangeString = "raw:[-M,2.1.0.'']/format(" + VersionFormat.OSGI_FORMAT_STRING + "):-M,2.1.0";
-		VersionRange range = new VersionRange(rangeString);
-
-		VersionRange range1 = new VersionRange("[0.0.0,2.1.0]");
-		assertEquals(range1, range);
-
-		assertEquals("[0.0.0,2.1.0]", range.toString());
-
-		VersionRange range2 = new VersionRange(null, true, range.getMaximum(), range.getIncludeMaximum());
-		assertEquals(range2, range);
-	}
-
-	public void testMaxBoundary() {
-		String rangeString = "raw:[2.1.0.M,MpM]/format(n[.n=0;[.n=0;]][d?S=M;]):2.1,MpM";
-		VersionRange range = new VersionRange(rangeString);
-		assertEquals("raw:2.1.0.M/format(n[.n=0;[.n=0;]][d?S=M;]):2.1", range.toString());
-
-		VersionRange range1 = new VersionRange(range.getMinimum(), range.getIncludeMinimum(), range.getMaximum(), range.getIncludeMaximum());
-		assertEquals(range1, range);
-
-		VersionRange range2 = new VersionRange(range.getMinimum(), true, null, true);
-		assertEquals(range2, range);
-	}
-
-	public void testRecreateUsingMaxUpper() {
-		Version v = Version.create("format(n[.n=0;[.n=0;]][d?S=M;]):2.1");
-		VersionRange range = new VersionRange(v, true, null, true);
-		Version min = range.getMinimum();
-		Version max = range.getMaximum();
-		VersionRange range2 = new VersionRange(min, true, max, true);
-		assertEquals(range2, range);
-	}
-
-	public void testRecreateUsingMinLower() {
-		Version v = Version.create("format(n[.n=0;[.n=0;]][d?S=M;]):2.1");
-		VersionRange range = new VersionRange(null, true, v, true);
-		Version min = range.getMinimum();
-		Version max = range.getMaximum();
-		VersionRange range2 = new VersionRange(min, true, max, true);
-		assertEquals(range2, range);
-	}
-
-	public void testOSGiMaxBoundary() {
-		String rangeString = "raw:[2.1.0.'',MpM]/format(" + VersionFormat.OSGI_FORMAT_STRING + "):2.1.0,MpM";
-		VersionRange range = new VersionRange(rangeString);
-
-		VersionRange range1 = new VersionRange("2.1.0");
-		assertEquals(range1, range);
-
-		assertEquals("2.1.0", range.toString());
-
-		VersionRange range2 = new VersionRange(range.getMinimum(), true, null, true);
-		assertEquals(range2, range);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
deleted file mode 100644
index f0b919d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
+++ /dev/null
@@ -1,1003 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.p2.metadata.VersionVector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests the OmniVersion raw version format.
- *
- */
-public class RawVersionTest extends VersionTesting {
-
-	public void testBasicParsing() {
-
-		// should parse without exception
-		assertNotNull(Version.create("raw:1"));
-		assertNotNull(Version.create("raw:1.0"));
-		assertNotNull(Version.create("raw:1.0.0"));
-		assertNotNull(Version.create("raw:1.0.0.9"));
-		assertNotNull(Version.create("raw:1.0.0.'r12345'"));
-		assertNotNull(Version.create("raw:1.0.0.'r12345.hello'"));
-
-		assertNotNull(Version.create("raw:1.0.m"));
-		assertNotNull(Version.create("raw:1.0.M"));
-
-		assertNotNull(Version.create("raw:1.0.M"));
-		assertNotNull(Version.create("raw:1.0.-M"));
-
-	}
-
-	public void testSerialize() {
-		Version v = null;
-		// should parse without exception
-		assertNotNull(v = Version.create("raw:1"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.0.9"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.0.'r12345'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.0.'r12345.hello'"));
-		assertSerialized(v);
-
-		assertNotNull(v = Version.create("raw:1.0.m"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.M"));
-		assertSerialized(v);
-
-		assertNotNull(v = Version.create("raw:1.0.M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0.-M"));
-		assertSerialized(v);
-
-		assertNotNull(v = Version.create("raw:0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:0.1.2.3.4.5.6.7.8.9"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:0.-1.-2.-3.-4.-5.-6.-7.-8.-9"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:123456789.-1234567890"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:123456789.-1234567890"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:m"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:-M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.m"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.-M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'a'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:\"a\""));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'ab'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'abcdefghijklmnopqrstuvwxyz0123456789'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'-_!\"#$%&/()=?+*;,:.'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:\"'\""));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:'\"'"));
-		assertSerialized(v);
-
-	}
-
-	public void testVersionString() {
-		Version v = null;
-		String s = null;
-		// should parse without exception
-		assertNotNull(v = Version.create(s = "raw:1"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0.0"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0.0.9"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0.0.'r12345'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0.0.'r12345.hello'"));
-		assertEquals(s, v.toString());
-
-		assertNotNull(v = Version.create(s = "raw:1.0.m"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0.M"));
-		assertEquals(s, v.toString());
-
-		assertNotNull(v = Version.create(s = "raw:1.0.M"));
-		assertEquals(s, v.toString());
-
-		// -M is normalized
-		assertNotNull(v = Version.create("raw:1.0.-M"));
-		s = "raw:1.0";
-		assertEquals(s, v.toString());
-
-		assertNotNull(v = Version.create(s = "raw:0"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:0.1.2.3.4.5.6.7.8.9"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:0.-1.-2.-3.-4.-5.-6.-7.-8.-9"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:123456789.-1234567890"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:123456789.-1234567890"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:m"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:M"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:-M"));
-		assertEquals("0.0.0", v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.m"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.M"));
-		assertEquals(s, v.toString());
-		// -M is normalized
-		assertNotNull(v = Version.create("raw:1.-M"));
-		s = "raw:1";
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'a'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:\"a\""));
-		// " is normalized to '
-		s = "raw:'a'";
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'ab'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'abcdefghijklmnopqrstuvwxyz0123456789'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'-_!\"#$%&/()=?+*;,:.'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:\"'\""));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:'\"'"));
-		assertEquals(s, v.toString());
-
-	}
-
-	public void testIntegerParsing() {
-
-		// should parse without exception
-		Version v = Version.create("raw:0");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), Integer.valueOf(0));
-
-		// single digits
-		v = Version.create("raw:0.1.2.3.4.5.6.7.8.9");
-		assertNotNull(v);
-		for (int i = 0; i < 10; i++)
-			assertEquals(v.getSegment(i), Integer.valueOf(i));
-
-		// negative single digits
-		v = Version.create("raw:0.-1.-2.-3.-4.-5.-6.-7.-8.-9");
-		assertNotNull(v);
-		for (int i = 0; i < 10; i++)
-			assertEquals(v.getSegment(i), Integer.valueOf(-i));
-
-		// some larger numbers
-		v = Version.create("raw:123456789.-1234567890");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), Integer.valueOf(123456789));
-		assertEquals(v.getSegment(1), Integer.valueOf(-1234567890));
-	}
-
-	public void testWhiteSpaceExceptions() {
-
-		try {
-			Version.create("raw: 0 ");
-			fail("space not allowed 1");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-		try {
-			Version.create("raw:0 .1  . 'a'.   'b c d'. 4. 5. 6.   7. 8 .  9");
-			fail("space not allowed 2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-		try {
-			Version.create("raw:< 1.2.3>");
-			fail("space not allowed in array 1");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.create("raw:<1.2.3 >");
-			fail("space not allowed in array 2");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-		try {
-			Version.create("raw:1.- 1");
-			fail("Uncaught error: space between minus and number in negative");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testMaxParsing() {
-
-		assertNotNull(Version.create("raw:m"));
-		assertNotNull(Version.create("raw:M"));
-		assertNotNull(Version.create("raw:-M"));
-
-		assertNotNull(Version.create("raw:1.m"));
-		assertNotNull(Version.create("raw:1.M"));
-		assertNotNull(Version.create("raw:1.-M"));
-	}
-
-	public void testStringParsing() {
-		Version v = Version.create("raw:'a'");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "a");
-
-		assertNotNull(v = Version.create("raw:\"a\""));
-		assertEquals(v.getSegment(0), "a");
-
-		assertNotNull(v = Version.create("raw:'ab'"));
-		assertEquals(v.getSegment(0), "ab");
-
-		assertNotNull(v = Version.create("raw:'abcdefghijklmnopqrstuvwxyz0123456789'"));
-		assertEquals(v.getSegment(0), "abcdefghijklmnopqrstuvwxyz0123456789");
-
-		assertNotNull(v = Version.create("raw:'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'"));
-		assertEquals(v.getSegment(0), "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-
-		assertNotNull(v = Version.create("raw:'-_!\"#$%&/()=?+*;,:.'"));
-		assertEquals(v.getSegment(0), "-_!\"#$%&/()=?+*;,:.");
-
-		assertNotNull(v = Version.create("raw:\"'\""));
-		assertEquals(v.getSegment(0), "'");
-
-		assertNotNull(v = Version.create("raw:'\"'"));
-		assertEquals(v.getSegment(0), "\"");
-	}
-
-	public void testEmptyStringParsing() {
-		Version v = Version.create("raw:''");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "");
-
-		v = Version.create("raw:\"\"");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "");
-	}
-
-	public void testStringConcatenation() {
-		Version v = Version.create("raw:'ab''cd'");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "abcd");
-
-		v = Version.create("raw:'ab'\"cd\"");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "abcd");
-
-		v = Version.create("raw:\"ab\"\"cd\"");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "abcd");
-	}
-
-	public void testStringToString() {
-		// string is normalized
-		assertEquals("raw:'abcd'", Version.create("raw:'ab''cd'").toString());
-
-		// string is normalized
-		assertEquals("raw:'abcd'", Version.create("raw:'ab'\"cd\"").toString());
-
-		// string is normalized
-		assertEquals("raw:'abcd'", Version.create("raw:\"ab\"\"cd\"").toString());
-
-		assertEquals("raw:\"'\"", Version.create("raw:\"'\"").toString());
-
-		assertEquals("raw:'\"'", Version.create("raw:'\"'").toString());
-
-		// quotes are normalized - default ' should be used until " is needed and vice versa.
-		assertEquals("raw:'abc\"xxx\"and '\"'yyy'\"", Version.create("raw:'abc\"xxx\"'\"and 'yyy'\"").toString());
-
-	}
-
-	public void testArrayParsing() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:<1>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new Integer(1)}, null));
-
-		assertNotNull(v = Version.create("raw:<1.0>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new Integer(1), new Integer(0)}, null));
-
-		assertNotNull(v = Version.create("raw:<'a'>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a"}, null));
-
-		assertNotNull(v = Version.create("raw:<'a'.'b'>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a", "b"}, null));
-
-		assertNotNull(v = Version.create("raw:<'a'.'b''c'>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {"a", "bc"}, null));
-
-		assertNotNull(v = Version.create("raw:<1.2.-M>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new Integer(1), new Integer(2)}, null));
-
-		assertNotNull(v = Version.create("raw:<1.2.m>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new Integer(1), new Integer(2), VersionVector.MAXS_VALUE}, null));
-
-		assertNotNull(v = Version.create("raw:<1.2.M>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new Integer(1), new Integer(2), VersionVector.MAX_VALUE}, null));
-
-		assertNotNull(v = Version.create("raw:<<1>>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new VersionVector(new Comparable[] {new Integer(1)}, null)}, null));
-
-		assertNotNull(v = Version.create("raw:<<1.<2>>>"));
-		assertEquals(v.getSegment(0), new VersionVector(new Comparable[] {new VersionVector(new Comparable[] {new Integer(1), new VersionVector(new Comparable[] {new Integer(2)}, null)}, null)}, null));
-
-	}
-
-	public void testArraySerialize() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:<1>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<1.0>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<'a'>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<'a'.'b'>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<'a'.'b''c'>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<1.2.-M>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<1.2.m>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<1.2.M>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<<1>>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:<<1.<2>>>"));
-		assertSerialized(v);
-
-	}
-
-	public void testArraytoString() {
-		Version v = null;
-		String s = null;
-		assertNotNull(v = Version.create(s = "raw:<1>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<1.0>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<'a'>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<'a'.'b'>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<'a'.'bc'>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create("raw:<1.2.-M>"));
-		s = "raw:<1.2>"; // is normalized
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<1.2.m>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<1.2.M>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<<1>>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:<<1.<2>>>"));
-		assertEquals(s, v.toString());
-	}
-
-	public void testArrayOrder() {
-		Version v1 = Version.create("raw:<1.0.0>");
-		Version v2 = Version.create("raw:<1.1.0>");
-
-		Version v3 = Version.create("raw:<1.0.0>.<1.0.0>");
-		Version v4 = Version.create("raw:<1.0.0>.<1.0.0>.'a'");
-		Version v5 = Version.create("raw:<1.0.0>.<1.0.1>");
-		Version v6 = Version.create("raw:<2.0.0>");
-
-		assertOrder(v1, v2);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-	}
-
-	public void testPadParsing1() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:1.0p0"));
-		assertPad(v, "raw:0");
-		assertNotNull(v = Version.create("raw:1.0p'foo'"));
-		assertPad(v, "raw:'foo'");
-		assertNotNull(v = Version.create("raw:1.0p<0>"));
-		assertPad(v, "raw:<0>");
-		assertNotNull(v = Version.create("raw:1.0p<'foo'>"));
-		assertPad(v, "raw:<'foo'>");
-		assertNotNull(v = Version.create("raw:1.0pm"));
-		assertPad(v, "raw:m");
-		assertNotNull(v = Version.create("raw:1.0pM"));
-		assertPad(v, "raw:M");
-		assertNotNull(v = Version.create("raw:1.0p-M"));
-		assertEquals(v.getPad(), null);
-		assertNotNull(v = Version.create("raw:1.0p<m>"));
-		assertPad(v, "raw:<m>");
-		assertNotNull(v = Version.create("raw:1.0p<M>"));
-		assertPad(v, "raw:<M>");
-		assertNotNull(v = Version.create("raw:1.0p<-M>"));
-		assertPad(v, "raw:<-M>");
-		assertNotNull(v = Version.create("raw:1.0p<1.0.0.'r12345'.m>"));
-		assertPad(v, "raw:<1.0.0.'r12345'.m>");
-	}
-
-	public void testPadSerialize() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:1.0p0"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p'foo'"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<'foo'>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0pm"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0pM"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p-M"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<m>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<M>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<-M>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<1.0.0.'r12345'.m>"));
-		assertSerialized(v);
-	}
-
-	public void testPadtoString() {
-		Version v = null;
-		String s = null;
-		assertNotNull(v = Version.create("raw:1.0p0"));
-		s = "raw:1p0"; // normalized
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p'foo'"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<'foo'>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0pm"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0pM"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create("raw:1.0p-M"));
-		s = "raw:1.0"; // normalized
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<m>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<M>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<-M>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<1.0.0.'r12345'.m>"));
-		assertEquals(s, v.toString());
-	}
-
-	/**
-	 * Test parsing of a pad with an array that in turn has padding.
-	 */
-	public void testNestedPadParsing() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:1.0p<0p0>"));
-		assertPad(v, "raw:<0p0>");
-		assertPadPad(v, "raw:0");
-		assertNotNull(v = Version.create("raw:1.0p<0p'foo'>"));
-		assertPad(v, "raw:<0p'foo'>");
-		assertPadPad(v, "raw:'foo'");
-		assertNotNull(v = Version.create("raw:1.0p<0p<0>>"));
-		assertPad(v, "raw:<0p<0>>");
-		assertPadPad(v, "raw:<0>");
-		assertNotNull(v = Version.create("raw:1.0p<0p<'foo'>>"));
-		assertPad(v, "raw:<0p<'foo'>>");
-		assertPadPad(v, "raw:<'foo'>");
-
-		assertNotNull(v = Version.create("raw:1.0p<0pm>"));
-		assertPad(v, "raw:<0pm>");
-		assertPadPad(v, "raw:m");
-
-		assertNotNull(v = Version.create("raw:1.0p<0pM>"));
-		assertPad(v, "raw:<0pM>");
-		assertPadPad(v, "raw:M");
-
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		assertPad(v, "raw:<0p-M>");
-		assertPadPad(v, null);
-		assertEquals(((VersionVector) v.getPad()).getPad(), null);
-
-		assertNotNull(v = Version.create("raw:1.0p<0p<m>>"));
-		assertPad(v, "raw:<0p<m>>");
-		assertPadPad(v, "raw:<m>");
-
-		assertNotNull(v = Version.create("raw:1.0p<0pM>"));
-		assertPad(v, "raw:<0pM>");
-		assertPadPad(v, "raw:M");
-
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		assertPad(v, "raw:<0p-M>");
-		assertPadPad(v, null);
-	}
-
-	public void testNestedPadSerialize() {
-		Version v = null;
-		assertNotNull(v = Version.create("raw:1.0p<0p0>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p'foo'>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p<0>>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p<'foo'>>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0pm>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0pM>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p<m>>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0pM>"));
-		assertSerialized(v);
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		assertSerialized(v);
-	}
-
-	public void testNestedPadtoString() {
-		Version v = null;
-		String s = null;
-		assertNotNull(v = Version.create(s = "raw:1.0p<0p0>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0p'foo'>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0p<0>>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0p<'foo'>>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0pm>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0pM>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		s = "raw:1.0p<0>"; // normalized
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0p<m>>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create(s = "raw:1.0p<0pM>"));
-		assertEquals(s, v.toString());
-		assertNotNull(v = Version.create("raw:1.0p<0p-M>"));
-		s = "raw:1.0p<0>"; // normalized
-		assertEquals(s, v.toString());
-	}
-
-	/**
-	 * Tests that:
-	 * 		1p-M < 1.0.0 < 1.0.0p0 == 1p0 < 1.1 < 1.1.1 < 1p1 == 1.1p1 < 1pM
-	 */
-	public void testPadOrder() {
-		Version v1 = Version.create("raw:1p-M");
-		Version v2 = Version.create("raw:1.0.0");
-		Version v3 = Version.create("raw:1.0.0p0");
-		Version v4 = Version.create("raw:1p0");
-		Version v5 = Version.create("raw:1.1");
-		Version v6 = Version.create("raw:1.1.1");
-		Version v7 = Version.create("raw:1p1");
-		Version v8 = Version.create("raw:1.1p1");
-		Version v9 = Version.create("raw:1pM");
-
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertEquals(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-		assertEquals(v7, v8);
-		assertOrder(v8, v9);
-	}
-
-	public void testPadTypeOrder() {
-		Version v0 = Version.create("raw:1p-M");
-		Version v1 = Version.create("raw:1p'a'");
-		Version v2 = Version.create("raw:1p<0>");
-		Version v3 = Version.create("raw:1.0.0");
-		Version v4 = Version.create("raw:1p0");
-		Version v5 = Version.create("raw:1p1");
-		Version v6 = Version.create("raw:1pM");
-		assertOrder(v0, v1);
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-	}
-
-	/**
-	 * Test that a / is not prematurely taken as the separator between raw and original when in a string
-	 */
-	public void testOriginalTerminator() {
-		Version v = Version.create("raw:'/'");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "/");
-
-		v = Version.create("raw:\"/\"");
-		assertNotNull(v);
-		assertEquals(v.getSegment(0), "/");
-	}
-
-	public void testEmptyInput() {
-		// should parse with exception 
-		try {
-			Version.create("raw:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testNewLine() {
-		// should parse with exception 
-		try {
-			Version.create("raw:1.'\n'.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testSpaceInInt() {
-		// should parse with exception 
-		try {
-			Version.create("raw:1 2.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testFloatingPointl() {
-		// should parse with exception 
-		try {
-			Version.create("raw:1,2.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testScientific() {
-		// should parse with exception 
-		try {
-			Version.create("raw:1E3");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testHex() {
-		// should parse with exception 
-		try {
-			Version.create("raw:0xABCD");
-			fail("Uncaught error: hexadecimal not allowed");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedSingleQuoteRight() {
-		try {
-			Version.create("raw:'unbalanced");
-			fail("Uncaught error: unbalanced sngle quote");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testMixedQuotes1() {
-		try {
-			Version.create("raw:1.\"unbalanced'.10");
-			fail("Uncaught error: mixed quotes");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testMixedQuotes2() {
-		try {
-			Version.create("raw:1.'unbalanced\".10");
-			fail("Uncaught error: mixed quotes");
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedDoubleQuoteRight() {
-		try {
-			Version.create("raw:\"unbalanced");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedArrayRight() {
-		try {
-			Version.create("raw:<1.2.3");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedArrayLeft() {
-		try {
-			Version.create("raw:1.2.3>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testBadDecimalInteger() {
-		try {
-			Version.create("raw:12af");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnquotedStringFirstValue() {
-		try {
-			Version.create("raw:a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnquotedStringSecondValue() {
-		try {
-			Version.create("raw:1.a");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testSinglePeriod() {
-		try {
-			Version.create("raw:.");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testTwoPeriods() {
-		try {
-			Version.create("raw:..");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testThreePeriods() {
-		try {
-			Version.create("raw:...");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testPadNotLast() {
-		try {
-			Version.create("raw:p10.10");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-
-	}
-
-	public void testEmptyPad() {
-		try {
-			Version.create("raw:10p");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testPadWithNull() {
-		try {
-			Version.create("raw:10p.");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testWrongPadSeparator() {
-		try {
-			Version.create("raw:10.p0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testMultiplePadElements() {
-		try {
-			Version.create("raw:10p1.2");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedPadElementsSQ() {
-		try {
-			Version.create("raw:10p'abc");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedPadElementsDQ() {
-		try {
-			Version.create("raw:10p\"abc");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedPadArrayElementsRight() {
-		try {
-			Version.create("raw:10p<10");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testUnbalancedPadArrayElementsLeft() {
-		try {
-			Version.create("raw:10p10>");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOrder() {
-		Version v1 = Version.create("raw:1");
-		Version v2 = Version.create("raw:1.0");
-		Version v3 = Version.create("raw:1.0.0");
-		Version v4 = Version.create("raw:1.0.0.'9'");
-		Version v5 = Version.create("raw:1.0.0.'r12345'");
-
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-	}
-
-	public void testTypeOrder() {
-		// '' < 'z' < m < [0} < [M] < 0 < M
-		Version v0 = Version.create("raw:-M");
-		Version v1 = Version.create("raw:''");
-		Version v2 = Version.create("raw:'z'");
-		Version v3 = Version.create("raw:m");
-		Version v4 = Version.create("raw:<0>");
-		Version v5 = Version.create("raw:<M>");
-		Version v6 = Version.create("raw:0");
-		Version v7 = Version.create("raw:M");
-
-		assertOrder(v0, v1);
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-	}
-
-	public void testTypeOrder2() {
-		// '' < 'z' < m < [0] < [M] < 0 < M
-		Version v0 = Version.create("raw:0.-M");
-		Version v1 = Version.create("raw:0.''");
-		Version v2 = Version.create("raw:0.'z'");
-		Version v3 = Version.create("raw:0.m");
-		Version v4 = Version.create("raw:0.<0>");
-		Version v5 = Version.create("raw:0.<M>");
-		Version v6 = Version.create("raw:0.0");
-		Version v7 = Version.create("raw:0.M");
-
-		assertOrder(v0, v1);
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-	}
-
-	public void testShorterIsOlder() {
-		Version v1 = Version.create("raw:1.0");
-		Version v2 = Version.create("raw:1.0.0");
-		Version v3 = Version.create("raw:1.0.0.0");
-
-		Version v4 = Version.create("raw:'a'");
-		Version v5 = Version.create("raw:'a'.'b'.'b'");
-		Version v6 = Version.create("raw:'a'.'b'.'b'.'b'");
-
-		Version v7 = Version.create("raw:<1>");
-		Version v8 = Version.create("raw:<1>.<0>.<0>");
-		Version v9 = Version.create("raw:<1>.<0>.<0>.<0>");
-
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-
-		assertOrder(v7, v8);
-		assertOrder(v8, v9);
-	}
-
-	public void testNumericVersionOrder() {
-		Version v1 = Version.create("1");
-		Version v2 = Version.create("1.0.1");
-		Version v3 = Version.create("1.1");
-		Version v4 = Version.create("1.1.1");
-		Version v5 = Version.create("1.1.1.-");
-		Version v6 = Version.create("1.2");
-		Version v7 = Version.create("2");
-		Version v8 = Version.create("10.0");
-
-		assertOrder(v1, v2);
-		assertOrder(v2, v3);
-		assertOrder(v3, v4);
-		assertOrder(v4, v5);
-		assertOrder(v5, v6);
-		assertOrder(v6, v7);
-		assertOrder(v7, v8);
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java
deleted file mode 100644
index 20d6490..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawWithOriginalTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
-/**
- * Tests inclusion of original version string in the raw format.
- * The tests in this class does not fully test the various "format(rules)" only that the sequence "raw/format():original"
- * works, and that errors at the top level are caught.
- * 
- */
-public class RawWithOriginalTest extends VersionTesting {
-
-	public void testRawWithUnknownFormat() {
-		Version v = Version.parseVersion("raw:1.0/:silver.moon");
-		assertNotNull(v);
-		assertEquals(v, Version.parseVersion("raw:1.0"));
-	}
-
-	public void testRawWithUnknownFormatToString() {
-		assertEquals("raw:1.0/:silver.moon", Version.parseVersion("raw:1.0/:silver.moon").toString());
-	}
-
-	public void testRawWithUnknownFormatSerialized() {
-		assertSerialized(Version.parseVersion("raw:1.0/:silver.moon"));
-		assertEquals("raw:1.0/:silver.moon", getSerialized(Version.create("raw:1.0/:silver.moon")).toString());
-
-	}
-
-	public void testRawWithSimpleFormat() {
-		Version v = Version.parseVersion("raw:1.0/format(n.n):1.0");
-		assertNotNull(v);
-		assertEquals(v, Version.parseVersion("raw:1.0"));
-	}
-
-	public void testRawWithSimpleFormatToString() {
-		assertEquals("raw:1.0/format(n.n):1.0", Version.parseVersion("raw:1.0/format(n.n):1.0").toString());
-	}
-
-	public void testRawWithSimpleFormatSerialized() {
-		assertSerialized(Version.parseVersion("raw:1.0/format(n.n):1.0"));
-		assertEquals("raw:1.0/format(n.n):1.0", getSerialized(Version.create("raw:1.0/format(n.n):1.0")).toString());
-	}
-
-	public void testOriginalStatedButMissing() {
-		try {
-			Version.parseVersion("raw:1.0/");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalAndUnknownStatedButMissing() {
-		try {
-			Version.parseVersion("raw:1.0/:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat() {
-		try {
-			Version.parseVersion("raw:1.0/foo:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat2() {
-		try {
-			Version.parseVersion("raw:1.0/100:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat3() {
-		try {
-			Version.parseVersion("raw:1.0/'format':");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat4() {
-		try {
-			Version.parseVersion("raw:1.0//1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalIllegalFormat5() {
-		try {
-			Version.parseVersion("raw:1.0/format:");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatUnbalancedLeft() {
-		try {
-			Version.parseVersion("raw:1.0/formatn.n):");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatUnbalancedRight() {
-		try {
-			Version.parseVersion("raw:1.0/format(n.n:1.0");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-
-	public void testOriginalFormatOriginalMissing() {
-		try {
-			Version.parseVersion("raw:1.0/format(n.n):");
-			fail();
-		} catch (IllegalArgumentException e) {
-			assertTrue(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java
deleted file mode 100644
index b3fbd2a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/VersionTesting.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.omniVersion;
-
-import java.io.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.VersionVector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-
-/**
- * Base class for version testing. Adds useful assert methods.
- * 
- */
-public class VersionTesting extends TestCase {
-	/**
-	 * Asserts that the versionString version is included in the range.
-	 * @param message
-	 * @param range
-	 * @param versionString
-	 */
-	public void assertIncludedInRange(String message, VersionRange range, String versionString) {
-		assertTrue(message, range.isIncluded(Version.parseVersion(versionString)));
-	}
-
-	/**
-	 * Asserts that the versionString version is not included in the range.
-	 * @param message
-	 * @param range
-	 * @param versionString
-	 */
-	public void assertNotIncludedInRange(String message, VersionRange range, String versionString) {
-		assertFalse(message, range.isIncluded(Version.parseVersion(versionString)));
-	}
-
-	/** 
-	 * A strict assertion of order.
-	 * asserts that b > a, a < b, a !=b, b != a
-	 * @param a
-	 * @param b
-	 */
-	public static void assertOrder(Object a, Object b) {
-		if (!(a instanceof Comparable && b instanceof Comparable))
-			fail("can not assert order on non Comparable instances");
-		// fully test comparison
-		if (((Comparable) a).compareTo(b) > 0)
-			fail("a > b");
-		else if (((Comparable) b).compareTo(a) < 0)
-			fail("b < a");
-		else if (((Comparable) b).compareTo(a) == 0)
-			fail("b == a");
-		else if (((Comparable) a).compareTo(b) == 0)
-			fail("a == b");
-
-		assertTrue(true);
-	}
-
-	public static void assertPad(Version v, String rawVersionString) {
-		assertNotNull(v);
-		Comparable cmp = null;
-		if (rawVersionString != null) {
-			Version v2 = Version.create(rawVersionString);
-			assertNotNull(v2);
-			assertTrue(v2.getSegmentCount() == 1);
-			cmp = v2.getSegment(0);
-		}
-		assertEquals(v.getPad(), cmp);
-	}
-
-	public void assertPadPad(Version v, String rawVersionString) {
-		// TODO Auto-generated method stub
-		assertNotNull(v);
-		Comparable pad = v.getPad();
-		assertTrue(pad instanceof VersionVector);
-		Comparable cmp = null;
-		if (rawVersionString != null) {
-			Version v2 = Version.create(rawVersionString);
-			assertNotNull(v2);
-			assertTrue(v2.getSegmentCount() == 1);
-			cmp = v2.getSegment(0);
-		}
-		assertEquals(((VersionVector) pad).getPad(), cmp);
-	}
-
-	/**
-	 * Asserts serialization of a VersionRange instance.
-	 * @param v
-	 */
-	public static void assertSerialized(VersionRange range) {
-		assertEquals(range, getSerialized(range));
-	}
-
-	public static VersionRange getSerialized(VersionRange range) {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		ObjectOutputStream os = null;
-		try {
-			os = new ObjectOutputStream(out);
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("IOException creating ObjectOutputStream");
-		}
-		try {
-			os.writeObject(range);
-
-		} catch (NotSerializableException e) {
-			fail("Impl of VersionRange is wrong - it is not serializeable");
-		} catch (IOException e) {
-			e.printStackTrace();
-			fail("write of objectfailed");
-		}
-		try {
-			os.close();
-		} catch (IOException e1) {
-			// TODO Auto-generated catch block
-			fail("close of output stream failed");
-		}
-
-		ObjectInputStream is = null;
-		ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-		try {
-			is = new ObjectInputStream(in);
-		} catch (IOException e) {
-			fail("Can not create object input stream");
-		}
-		VersionRange range2 = null;
-		try {
-			range2 = (VersionRange) is.readObject();
-		} catch (IOException e) {
-			fail("IO failure reading version range");
-		} catch (ClassNotFoundException e) {
-			fail("ClassNotFountException");
-		}
-		return range2;
-	}
-
-	/**
-	 * Asserts serialization of a Version instance.
-	 * @param v
-	 */
-	public static void assertSerialized(Version v) {
-		assertEquals(v, getSerialized(v));
-	}
-
-	public static Version getSerialized(Version v) {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		ObjectOutputStream os = null;
-		try {
-			os = new ObjectOutputStream(out);
-		} catch (IOException e) {
-			fail("IOException creating ObjectOutputStream");
-		}
-		try {
-			os.writeObject(v);
-		} catch (NotSerializableException e) {
-			e.printStackTrace();
-			fail("Impl of Version is wrong - it is not serializeable");
-		} catch (IOException e) {
-			fail("write of objectfailed");
-		}
-		try {
-			os.close();
-		} catch (IOException e1) {
-			// TODO Auto-generated catch block
-			fail("close of output stream failed");
-		}
-
-		ObjectInputStream is = null;
-		ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-		try {
-			is = new ObjectInputStream(in);
-		} catch (IOException e) {
-			fail("Can not create object input stream");
-		}
-		Version v2 = null;
-		try {
-			v2 = (Version) is.readObject();
-		} catch (IOException e) {
-			fail("IO failure reading version range");
-		} catch (ClassNotFoundException e) {
-			fail("ClassNotFountException");
-		}
-		return v2;
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java
deleted file mode 100644
index e259c54..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ActualChangeRequestTest extends AbstractProvisioningTest {
-	IInstallableUnit a;
-	IInstallableUnit b;
-	IInstallableUnit c;
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true);
-
-		b = createIU("B", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b});
-
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testRequestStatus() {
-		//Install B
-		profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {b});
-		req.setInstallableUnitInclusionRules(b, PlannerHelper.createStrictInclusionRule(b));
-		req.setInstallableUnitProfileProperty(b, "foo", "bar");
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getRequestStatus(b).getSeverity());
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("B is missing", profile1, new IInstallableUnit[] {b});
-		assertEquals(1, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Install A
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a});
-		req2.setInstallableUnitInclusionRules(a, PlannerHelper.createStrictInclusionRule(a));
-		req2.setInstallableUnitProfileProperty(a, "foo", "bar");
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertNull(plan2.getRequestStatus(b));
-		Map m = plan2.getSideEffectChanges();
-		m.toString();
-		assertEquals(IStatus.OK, plan2.getRequestStatus(a).getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A is missing", profile1, new IInstallableUnit[] {a, b});
-		assertEquals(2, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Uninstall B
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.removeInstallableUnits(new IInstallableUnit[] {b});
-		req3.removeInstallableUnitProfileProperty(b, "foo");
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		assertEquals(IStatus.ERROR, plan3.getRequestStatus(b).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java
deleted file mode 100644
index 8e0fc74..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ActualChangeRequestTest2 extends AbstractProvisioningTest {
-	IInstallableUnit a;
-	IInstallableUnit b;
-	IInstallableUnit b2;
-	IInstallableUnit c;
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true);
-
-		b = createIU("B", Version.create("1.0.0"), true);
-		b2 = createIU("B", Version.create("2.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b2, b});
-
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testRequestStatus() {
-		//Install B
-		profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {b});
-		req.setInstallableUnitInclusionRules(b, PlannerHelper.createStrictInclusionRule(b));
-		req.addInstallableUnits(new IInstallableUnit[] {a});
-		req.setInstallableUnitInclusionRules(a, PlannerHelper.createOptionalInclusionRule(a));
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getRequestStatus(b).getSeverity());
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("B is missing", profile1, new IInstallableUnit[] {a, b});
-		assertEquals(2, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Install B2
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {b2});
-		req2.setInstallableUnitInclusionRules(b2, PlannerHelper.createStrictInclusionRule(b2));
-		req2.removeInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertNotNull(plan2.getRequestStatus(b));
-		assertNotNull(plan2.getRequestStatus(b2));
-		Map m = plan2.getSideEffectChanges();
-		assertEquals(1, m.size());
-		assertNotNull(m.get(a));
-		assertEquals(IStatus.INFO, ((RequestStatus) m.get(a)).getSeverity());
-		assertEquals(RequestStatus.REMOVED, ((RequestStatus) m.get(a)).getInitialRequestType());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A is missing", profile1, new IInstallableUnit[] {b2});
-		assertEquals(1, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Try to Install A
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a});
-		req3.setInstallableUnitInclusionRules(a, PlannerHelper.createOptionalInclusionRule(a));
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertNotNull(plan3.getRequestStatus(a));
-		assertEquals(IStatus.ERROR, plan3.getRequestStatus(a).getSeverity());
-		assertEquals(RequestStatus.ADDED, ((RequestStatus) plan3.getRequestStatus(a)).getInitialRequestType());
-
-		//Try to Install A
-		ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
-		req4.addInstallableUnits(new IInstallableUnit[] {a});
-		req4.setInstallableUnitInclusionRules(a, PlannerHelper.createStrictInclusionRule(a));
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertNotNull(plan4.getRequestStatus(a));
-		assertEquals(IStatus.ERROR, plan4.getRequestStatus(a).getSeverity());
-		assertEquals(RequestStatus.ADDED, ((RequestStatus) plan4.getRequestStatus(a)).getInitialRequestType());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
deleted file mode 100644
index 7719977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AddIUProperty.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.SimplePlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AddIUProperty extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IProfile profile;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testWithoutIUProperty() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-	}
-
-	public void testWithIUProperty() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		req.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-	}
-
-	public void testChangeIUProperty() {
-		//Add a1, strictly ;
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A1 is missing", profile, new IInstallableUnit[] {a1});
-		Collector allProfileIUs = profile.query(InstallableUnitQuery.ANY, null);
-		assertEquals(allProfileIUs.size(), 1);
-
-		//Add a2 with a1. This is an error
-		ProfileChangeRequest req4 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
-		req4.addInstallableUnits(new IInstallableUnit[] {a2});
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertEquals(IStatus.ERROR, plan4.getStatus().getSeverity());
-
-		//Add a2, making a1 optional;
-		ProfileChangeRequest req2 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
-		req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		req2.addInstallableUnits(new IInstallableUnit[] {a2});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan2, a2);
-
-		engine.perform(plan2, null);
-		profile = getProfile(profile.getProfileId());
-		assertProfileContainsAll("A2 is missing", profile, new IInstallableUnit[] {a2});
-		allProfileIUs = profile.query(InstallableUnitQuery.ANY, null);
-		assertEquals(allProfileIUs.size(), 1);
-
-		Collector iuProfileProperties = profile.query(new IUProfilePropertyQuery(SimplePlanner.INCLUSION_RULES, null), null);
-		assertEquals(iuProfileProperties.size(), 1);
-
-		//Remove a1 optionality - should be a no-op
-		ProfileChangeRequest req3 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
-		req3.removeInstallableUnitInclusionRules(a1);
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan3, null);
-		allProfileIUs = profile.query(InstallableUnitQuery.ANY, null);
-		assertProfileContainsAll("A2 is missing", profile, new IInstallableUnit[] {a2});
-		assertEquals(allProfileIUs.size(), 1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AdditionalConstraints.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AdditionalConstraints.java
deleted file mode 100644
index 1aad0da..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AdditionalConstraints.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Arrays;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AdditionalConstraints extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit b3;
-	IInstallableUnit x1;
-
-	IProfile profile;
-	IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 4.0.0)"), null));
-
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		b2 = createIU("B", Version.create("2.0.0"), true);
-
-		b3 = createIU("B", Version.create("3.0.0"), true);
-
-		x1 = createIU("X", Version.createOSGi(2, 0, 0), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.0.0]"), null));
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, x1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-
-	}
-
-	public void testInstallA1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setAdditionalRequirements(Arrays.asList(createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.0.0]"), null)[0]));
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, ctx, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b2);
-		assertNoOperand(plan, x1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstance.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstance.java
deleted file mode 100644
index 737121f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstance.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.util.Properties;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AgentPlanTestInExternalInstance extends AbstractProvisioningTest {
-	Object previousSelfValue;
-
-	public void setUp() throws Exception {
-		super.setUp();
-
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		try {
-			Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-			selfField.setAccessible(true);
-			previousSelfValue = selfField.get(profileRegistry);
-			selfField.set(profileRegistry, "agent");
-			clearProfileMap(profileRegistry);
-		} catch (Throwable t) {
-			fail();
-		}
-		createProfile("agent");
-		Properties p = new Properties();
-		p.setProperty("org.eclipse.equinox.p2.planner.resolveMetaRequirements", "false");
-		createProfile("installation", p);
-	}
-
-	public void tearDown() throws Exception {
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		try {
-			Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-			selfField.setAccessible(true);
-			Object self = selfField.get(profileRegistry);
-			if (self.equals("agent"))
-				selfField.set(profileRegistry, previousSelfValue);
-			clearProfileMap(profileRegistry);
-		} catch (Throwable t) {
-			fail();
-		}
-		super.tearDown();
-	}
-
-	public void testGetAgentPlanActionNeededButUnavailable() {
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-
-	public void testGetAgentPlanActionNeeded() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertTrue(plan.getStatus().isOK());
-		assertNotNull(plan.getInstallerPlan());
-	}
-
-	public void testConflictBetweenActionAndThingBeingInstalled() {
-		//This tests the case where the action is in conflict with the thing being installed
-		//The action needs another version of A which is singleton
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit a2 = createIU("A", Version.createOSGi(2, 0, 0));
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, a2, act1});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("Provisioning plan", plan.getStatus());
-	}
-
-	public void testSubsequentInstall() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit b = createEclipseIU("B");
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, b});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		//Check that the actions are installed properly
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		//Check that the IUs are installed in the profile
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile("installation"), new IInstallableUnit[] {a});
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertNull(plan2.getInstallerPlan());
-		assertOK("install b", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile("installation"), new IInstallableUnit[] {a, b});
-		assertProfileContainsAll("Checking actions are still installed", getProfile("agent"), new IInstallableUnit[] {act1});
-	}
-
-	public void testWithOveralInDependency() {
-		IInstallableUnit common = createEclipseIU("Common");
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), metaReq);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, common});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1, common});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a, common});
-	}
-
-	public void testTwoInstallWithActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act2,});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1});
-		assertOK("install A", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {b, a});
-	}
-
-	public void testCompleteScenario() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1bCap = MetadataFactory.createProvidedCapability("p2.action", "action1b", DEFAULT_VERSION);
-		IInstallableUnit act1b = createIU("Action1b", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1bCap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqb = createRequiredCapabilities("p2.action", "action1b", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a111 = createIUWithMetaRequirement("A", Version.createOSGi(1, 1, 1), true, NO_REQUIRES, metaReqb);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IProvidedCapability act1v2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", Version.createOSGi(2, 0, 0));
-		IInstallableUnit act1v2 = createIU("Action1", Version.create("2.0.0"), null, NO_REQUIRES, new IProvidedCapability[] {act1v2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqd = createRequiredCapabilities("p2.action", "action2", new VersionRange("[2.0.0, 2.0.0]"), null);
-		IInstallableUnit d = createIUWithMetaRequirement("D", DEFAULT_VERSION, true, NO_REQUIRES, metaReqd);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		IInstallableUnit c = createEclipseIU("C");
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act1v2, act2, c, act1b, d, a111});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions for A", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions for B", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2});
-		assertOK("install B", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {b, a});
-
-		//install C
-		ProfileChangeRequest requestForC = new ProfileChangeRequest(getProfile("installation"));
-		requestForC.addInstallableUnits(new IInstallableUnit[] {c});
-		IProvisioningPlan planForC = planner.getProvisioningPlan(requestForC, ctx, new NullProgressMonitor());
-		assertNull(planForC.getInstallerPlan());
-		assertOK("install C", engine.perform(planForC, null));
-		assertProfileContainsAll("Checking profile after C", getProfile("installation"), new IInstallableUnit[] {a, b, c});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1});
-
-		//update A which will install Action1b
-		ProfileChangeRequest requestUpdateA = new ProfileChangeRequest(getProfile("installation"));
-		requestUpdateA.removeInstallableUnits(new IInstallableUnit[] {a});
-		requestUpdateA.addInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan planUpdateA = planner.getProvisioningPlan(requestUpdateA, ctx, new NullProgressMonitor());
-		assertOK("install actions for A 1.1.1", engine.perform(planUpdateA.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1, act1b, act2});
-		assertOK("install A", engine.perform(planUpdateA, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a111, b, c});
-		assertEquals(0, getProfile("installation").query(new InstallableUnitQuery("Action1", DEFAULT_VERSION), null).size());
-		assertEquals(getProfile("agent").getProfileId(), plan.getInstallerPlan().getProfile().getProfileId());
-
-		//uninstall A
-		ProfileChangeRequest request3 = new ProfileChangeRequest(getProfile("installation"));
-		request3.removeInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(request3, ctx, new NullProgressMonitor());
-		//		assertOK("install actions", engine.perform(getProfile("agent"), new DefaultPhaseSet(), plan3.getInstallerPlan().getOperands(), null, null));
-		//		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1b}); //At this point there is not 
-		assertOK("install A", engine.perform(plan3, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {c, b});
-
-		//uninstall C
-		ProfileChangeRequest request4 = new ProfileChangeRequest(getProfile("installation"));
-		request4.removeInstallableUnits(new IInstallableUnit[] {c});
-		IProvisioningPlan uninstallC = planner.getProvisioningPlan(request4, ctx, new NullProgressMonitor());
-		assertNull(uninstallC.getInstallerPlan());
-		assertOK("install C", engine.perform(uninstallC, null));
-		assertProfileContainsAll("Checking profile after C", getProfile("installation"), new IInstallableUnit[] {b});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1b});
-
-		//install D, This will cause the removal of act1 and cause the addition of act1v2  from the installer
-		ProfileChangeRequest requestForD = new ProfileChangeRequest(getProfile("installation"));
-		requestForD.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan planForD = planner.getProvisioningPlan(requestForD, ctx, new NullProgressMonitor());
-		assertNotNull(planForD.getInstallerPlan());
-		assertEquals(1, planForD.getInstallerPlan().getRemovals().query(new InstallableUnitQuery(act1b.getId()), null).size());
-		assertOK("install actions", engine.perform(planForD.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1v2});
-		assertOK("install D", engine.perform(planForD, null));
-		assertProfileContainsAll("Checking profile after D", getProfile("installation"), new IInstallableUnit[] {b, d});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1v2});
-	}
-
-	public void testConflictBetweenActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1v2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", Version.createOSGi(2, 0, 0));
-		IInstallableUnit act1v2 = createIU("Action1", Version.create("2.0.0"), null, NO_REQUIRES, new IProvidedCapability[] {act1v2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqd = createRequiredCapabilities("p2.action", "action2", new VersionRange("[2.0.0, 2.0.0]"), null);
-		IInstallableUnit d = createIUWithMetaRequirement("D", DEFAULT_VERSION, true, NO_REQUIRES, metaReqd);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, d, act1v2});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a, d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-		assertEquals(getProfile("agent").getProfileId(), plan.getInstallerPlan().getProfile().getProfileId());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstanceForCohostedMode.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstanceForCohostedMode.java
deleted file mode 100644
index cf75f74..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInExternalInstanceForCohostedMode.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.util.Properties;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AgentPlanTestInExternalInstanceForCohostedMode extends AbstractProvisioningTest {
-	Object previousSelfValue = null;
-
-	public void setUp() throws Exception {
-		super.setUp();
-
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		try {
-			Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-			selfField.setAccessible(true);
-			previousSelfValue = selfField.get(profileRegistry);
-			selfField.set(profileRegistry, "agent");
-			clearProfileMap(profileRegistry);
-		} catch (Throwable t) {
-			fail();
-		}
-		createProfile("agent");
-		Properties p = new Properties();
-		p.setProperty("org.eclipse.equinox.p2.planner.resolveMetaRequirements", "true");
-		createProfile("installation", p);
-	}
-
-	public void tearDown() throws Exception {
-		SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		try {
-			Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-			selfField.setAccessible(true);
-			Object self = selfField.get(profileRegistry);
-			if (self.equals("agent"))
-				selfField.set(profileRegistry, previousSelfValue);
-			clearProfileMap(profileRegistry);
-		} catch (Throwable t) {
-			fail();
-		}
-		super.tearDown();
-	}
-
-	public void testGetAgentPlanActionNeededButUnavailable() {
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-
-	public void testGetAgentPlanActionNeeded() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertTrue(plan.getStatus().isOK());
-		assertNotNull(plan.getInstallerPlan());
-	}
-
-	public void testConflictBetweenActionAndThingBeingInstalled() {
-		//This tests the case where the action is in conflict with the thing being installed
-		//The action needs another version of A which is singleton
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit a2 = createIU("A", Version.createOSGi(2, 0, 0));
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, a2, act1});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-
-	public void testSubsequentInstall() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit b = createEclipseIU("B");
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, b});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		//Check that the actions are installed properly
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		//Check that the IUs are installed in the profile
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile("installation"), new IInstallableUnit[] {a, act1});
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertNull(plan2.getInstallerPlan());
-		assertOK("install b", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile("installation"), new IInstallableUnit[] {a, b, act1});
-		assertProfileContainsAll("Checking actions are still installed", getProfile("agent"), new IInstallableUnit[] {act1});
-	}
-
-	public void testWithOveralInDependency() {
-		IInstallableUnit common = createEclipseIU("Common");
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), metaReq);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, common});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1, common});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a, common, act1});
-	}
-
-	public void testTwoInstallWithActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act2,});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a, act1});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1});
-		assertOK("install A", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {b, a, act1, act2});
-	}
-
-	public void testCompleteScenario() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1bCap = MetadataFactory.createProvidedCapability("p2.action", "action1b", DEFAULT_VERSION);
-		IInstallableUnit act1b = createIU("Action1b", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1bCap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqb = createRequiredCapabilities("p2.action", "action1b", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a111 = createIUWithMetaRequirement("A", Version.createOSGi(1, 1, 1), true, NO_REQUIRES, metaReqb);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IProvidedCapability act1v2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", Version.createOSGi(2, 0, 0));
-		IInstallableUnit act1v2 = createIU("Action1", Version.create("2.0.0"), null, NO_REQUIRES, new IProvidedCapability[] {act1v2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqd = createRequiredCapabilities("p2.action", "action2", new VersionRange("[2.0.0, 2.0.0]"), null);
-		IInstallableUnit d = createIUWithMetaRequirement("D", DEFAULT_VERSION, true, NO_REQUIRES, metaReqd);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		IInstallableUnit c = createEclipseIU("C");
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act1v2, act2, c, act1b, d, a111});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile("installation"));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions for A", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {a, act1});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile("installation"));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions for B", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2});
-		assertOK("install B", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {b, a, act2});
-
-		//install C
-		ProfileChangeRequest requestForC = new ProfileChangeRequest(getProfile("installation"));
-		requestForC.addInstallableUnits(new IInstallableUnit[] {c});
-		IProvisioningPlan planForC = planner.getProvisioningPlan(requestForC, ctx, new NullProgressMonitor());
-		assertNull(planForC.getInstallerPlan());
-		assertOK("install C", engine.perform(planForC, null));
-		assertProfileContainsAll("Checking profile after C", getProfile("installation"), new IInstallableUnit[] {a, b, c, act2, act1});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1});
-
-		//update A which will install Action1b
-		ProfileChangeRequest requestUpdateA = new ProfileChangeRequest(getProfile("installation"));
-		requestUpdateA.removeInstallableUnits(new IInstallableUnit[] {a});
-		requestUpdateA.addInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan planUpdateA = planner.getProvisioningPlan(requestUpdateA, ctx, new NullProgressMonitor());
-		assertOK("install actions for A 1.1.1", engine.perform(planUpdateA.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1, act1b, act2});
-		assertOK("install A", engine.perform(planUpdateA, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {act2, act1b, a111, b, c});
-		assertEquals(0, getProfile("installation").query(new InstallableUnitQuery("Action1", DEFAULT_VERSION), null).size());
-		assertEquals(getProfile("agent").getProfileId(), plan.getInstallerPlan().getProfile().getProfileId());
-
-		//uninstall A
-		ProfileChangeRequest request3 = new ProfileChangeRequest(getProfile("installation"));
-		request3.removeInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(request3, ctx, new NullProgressMonitor());
-		//		assertOK("install actions", engine.perform(getProfile("agent"), new DefaultPhaseSet(), plan3.getInstallerPlan().getOperands(), null, null));
-		//		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1b}); //At this point there is not 
-		assertOK("install A", engine.perform(plan3, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("installation"), new IInstallableUnit[] {c, b, act2});
-
-		//uninstall C
-		ProfileChangeRequest request4 = new ProfileChangeRequest(getProfile("installation"));
-		request4.removeInstallableUnits(new IInstallableUnit[] {c});
-		IProvisioningPlan uninstallC = planner.getProvisioningPlan(request4, ctx, new NullProgressMonitor());
-		assertNull(uninstallC.getInstallerPlan());
-		assertOK("install C", engine.perform(uninstallC, null));
-		assertProfileContainsAll("Checking profile after C", getProfile("installation"), new IInstallableUnit[] {b, act2});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2});
-
-		//install D, This will cause the removal of act1 and cause the addition of act1v2  from the installer
-		ProfileChangeRequest requestForD = new ProfileChangeRequest(getProfile("installation"));
-		requestForD.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan planForD = planner.getProvisioningPlan(requestForD, ctx, new NullProgressMonitor());
-		assertNotNull(planForD.getInstallerPlan());
-		assertEquals(1, planForD.getInstallerPlan().getRemovals().query(new InstallableUnitQuery(act1b.getId()), null).size());
-		assertOK("install actions", engine.perform(planForD.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act1v2});
-		assertOK("install D", engine.perform(planForD, null));
-		assertProfileContainsAll("Checking profile after D", getProfile("installation"), new IInstallableUnit[] {b, d});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile("agent"), new IInstallableUnit[] {act2, act1v2});
-	}
-
-	public void testConflictBetweenActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1v2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", Version.createOSGi(2, 0, 0));
-		IInstallableUnit act1v2 = createIU("Action1", Version.create("2.0.0"), null, NO_REQUIRES, new IProvidedCapability[] {act1v2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqd = createRequiredCapabilities("p2.action", "action2", new VersionRange("[2.0.0, 2.0.0]"), null);
-		IInstallableUnit d = createIUWithMetaRequirement("D", DEFAULT_VERSION, true, NO_REQUIRES, metaReqd);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, d, act1v2});
-
-		IProfile profile = getProfile("installation");
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a, d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-		assertEquals(request.getProfile(), plan.getProfile());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInRunningInstance.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInRunningInstance.java
deleted file mode 100644
index 2b53654..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AgentPlanTestInRunningInstance.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.lang.reflect.Field;
-import java.net.URI;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AgentPlanTestInRunningInstance extends AbstractProvisioningTest {
-	private IProfile initialProfile = null;
-	private Object previousSelfValue = null;
-
-	public void setUp() throws Exception {
-		super.setUp();
-
-		initialProfile = getProfile(IProfileRegistry.SELF);
-		if (initialProfile != null)
-			return;
-
-		if (System.getProperty("eclipse.p2.profile") == null) {
-			SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-			try {
-				Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-				selfField.setAccessible(true);
-				previousSelfValue = selfField.get(profileRegistry);
-				if (previousSelfValue == null)
-					selfField.set(profileRegistry, "agent");
-			} catch (Throwable t) {
-				fail();
-			}
-		}
-		createProfile("agent");
-	}
-
-	public void tearDown() throws Exception {
-		if (initialProfile == null) {
-			if (System.getProperty("eclipse.p2.profile") == null) {
-				SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-				try {
-					Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-					selfField.setAccessible(true);
-					Object self = selfField.get(profileRegistry);
-					if (self.equals("agent"))
-						selfField.set(profileRegistry, previousSelfValue);
-				} catch (Throwable t) {
-					// ignore as we still want to continue tidying up
-				}
-			}
-		} else {
-			//After the test we clean up the profile
-			IProfile profileAfterTestRun = getProfile(IProfileRegistry.SELF);
-			IProvisioningPlan rollbackPlan = createPlanner().getDiffPlan(profileAfterTestRun, initialProfile, new NullProgressMonitor());
-			assertOK("rollback plan", rollbackPlan.getStatus());
-			assertOK("rollback execution", PlanExecutionHelper.executePlan(rollbackPlan, createEngine(), new ProvisioningContext(), new NullProgressMonitor()));
-		}
-		super.tearDown();
-	}
-
-	public void testGetAgentPlanActionNeededButUnavailable() {
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProfile profile = getProfile(IProfileRegistry.SELF);
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		ProvisioningContext context = new ProvisioningContext(new URI[0]);
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-
-	public void testGetAgentPlanActionNeeded() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1});
-
-		IProfile profile = getProfile(IProfileRegistry.SELF);
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertTrue(plan.getStatus().isOK());
-		assertNotNull(plan.getInstallerPlan());
-	}
-
-	public void testConflictBetweenActionAndThingBeingInstalled() {
-		//This tests the case where the action is in conflict with the thing being installed
-		//The action needs another version of A which is singleton
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit a2 = createIU("A", Version.createOSGi(2, 0, 0));
-		createTestMetdataRepository(new IInstallableUnit[] {a, a2, act1});
-
-		IProfile profile = getProfile(IProfileRegistry.SELF);
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-
-	public void testSubsequentInstall() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-		IInstallableUnit b = createEclipseIU("B");
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, b});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {a, act1});
-		assertEquals(getProfile(IProfileRegistry.SELF).getProfileId(), plan.getInstallerPlan().getProfile().getProfileId());
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertNull(plan2.getInstallerPlan());
-		assertOK("install b", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after initial install", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {a, act1, b});
-
-	}
-
-	public void testWithOveralInDependency() {
-		IInstallableUnit common = createEclipseIU("Common");
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "Common", null), metaReq);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, common});
-
-		IProfile profile = getProfile(IProfileRegistry.SELF);
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1, common});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {a, common, act1});
-	}
-
-	public void testTwoInstallWithActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act2,});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {a, act1});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act2, act1, a});
-		assertOK("install A", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act2, act1, b, a});
-	}
-
-	public void testCompleteScenario() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1bCap = MetadataFactory.createProvidedCapability("p2.action", "action1b", DEFAULT_VERSION);
-		IInstallableUnit act1b = createIU("Action1b", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1bCap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqb = createRequiredCapabilities("p2.action", "action1b", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a111 = createIUWithMetaRequirement("A", Version.createOSGi(1, 1, 1), true, NO_REQUIRES, metaReqb);
-
-		IProvidedCapability act2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", DEFAULT_VERSION);
-		IInstallableUnit act2 = createIU("Action2", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq2 = createRequiredCapabilities("p2.action", "action2", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit b = createIUWithMetaRequirement("B", DEFAULT_VERSION, true, NO_REQUIRES, metaReq2);
-
-		IInstallableUnit c = createEclipseIU("C");
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, act1, act2, c, act1b, a111});
-
-		IPlanner planner = createPlanner();
-		IEngine engine = createEngine();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		//install A which will install Action1
-		ProfileChangeRequest request = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request.addInstallableUnits(new IInstallableUnit[] {a});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("install actions for A", engine.perform(plan.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1});
-		assertOK("install A", engine.perform(plan, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {a, act1});
-
-		//install B which will install Action2
-		ProfileChangeRequest request2 = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request2.addInstallableUnits(new IInstallableUnit[] {b});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(request2, ctx, new NullProgressMonitor());
-		assertOK("install actions for B", engine.perform(plan2.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act2, act1, a});
-		assertOK("install B", engine.perform(plan2, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act2, act1, b, a});
-
-		//install C
-		ProfileChangeRequest requestForC = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		requestForC.addInstallableUnits(new IInstallableUnit[] {c});
-		IProvisioningPlan planForC = planner.getProvisioningPlan(requestForC, ctx, new NullProgressMonitor());
-		assertNull(planForC.getInstallerPlan());
-		assertOK("install C", engine.perform(planForC, null));
-		assertProfileContainsAll("Checking profile after C", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1, act2, a, b, c});
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act2, act1, b, a});
-
-		//update A which will install Action1b
-		ProfileChangeRequest requestUpdateA = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		requestUpdateA.removeInstallableUnits(new IInstallableUnit[] {a});
-		requestUpdateA.addInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan planUpdateA = planner.getProvisioningPlan(requestUpdateA, ctx, new NullProgressMonitor());
-		assertOK("Checking planUpdateA", planUpdateA.getStatus());
-		assertOK("install actions for A 1.1.1", engine.perform(planUpdateA.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1, act1b});
-		assertOK("install A", engine.perform(planUpdateA, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1b, a111, b, c});
-		assertEquals(0, getProfile(IProfileRegistry.SELF).query(new InstallableUnitQuery("Action1", DEFAULT_VERSION), null).size());
-
-		//uninstall A
-		ProfileChangeRequest request3 = new ProfileChangeRequest(getProfile(IProfileRegistry.SELF));
-		request3.removeInstallableUnits(new IInstallableUnit[] {a111});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(request3, ctx, new NullProgressMonitor());
-		//		assertNull(plan3.getInstallerPlan());	//TODO
-		assertOK("install actions", engine.perform(plan3.getInstallerPlan(), null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {act1b}); //At this point there is not 
-		assertOK("install A", engine.perform(plan3, null));
-		assertProfileContainsAll("Checking profile after install of actions", getProfile(IProfileRegistry.SELF), new IInstallableUnit[] {c, b, act2});
-	}
-
-	public void testConflictBetweenActions() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		IProvidedCapability act1v2Cap = MetadataFactory.createProvidedCapability("p2.action", "action2", Version.createOSGi(2, 0, 0));
-		IInstallableUnit act1v2 = createIU("Action1", Version.create("2.0.0"), null, NO_REQUIRES, new IProvidedCapability[] {act1v2Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReqd = createRequiredCapabilities("p2.action", "action2", new VersionRange("[2.0.0, 2.0.0]"), null);
-		IInstallableUnit d = createIUWithMetaRequirement("D", DEFAULT_VERSION, true, NO_REQUIRES, metaReqd);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, act1, d, act1v2});
-
-		IProfile profile = getProfile(IProfileRegistry.SELF);
-		IPlanner planner = createPlanner();
-		ProvisioningContext ctx = new ProvisioningContext();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {a, d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertNotOK(plan.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllExplanation.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllExplanation.java
deleted file mode 100644
index 9c0c130..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllExplanation.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import junit.framework.*;
-
-public class AllExplanation extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ExplanationDeepConflict.class);
-		suite.addTestSuite(ExplanationForOptionalDependencies.class);
-		suite.addTestSuite(ExplanationForPartialInstallation.class);
-		suite.addTestSuite(ExplanationLargeConflict.class);
-		suite.addTestSuite(ExplanationSeveralConflictingRoots.class);
-		suite.addTestSuite(MissingDependency.class);
-		suite.addTestSuite(MissingNonGreedyRequirement.class);
-		suite.addTestSuite(MissingNonGreedyRequirement2.class);
-		suite.addTestSuite(MultipleSingleton.class);
-		suite.addTestSuite(PatchTest10.class);
-		suite.addTestSuite(PatchTest12.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
deleted file mode 100644
index b8e2cf6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AllOptional extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IInstallableUnit d1;
-	private IInstallableUnit e1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability[] reqA = new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true)};
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] reqC = new IRequiredCapability[2];
-		reqC[0] = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
-		reqC[1] = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "E", VersionRange.emptyRange, null, true, false, true);
-		c1 = createIU("C", Version.create("1.0.0"), reqC);
-		d1 = createIU("D", Version.create("1.0.0"), true);
-		e1 = createIU("E", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, e1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, c1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, c1);
-		assertInstallOperand(plan, d1);
-		assertInstallOperand(plan, e1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
deleted file mode 100644
index 69f0340..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOrbit.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class AllOrbit extends AbstractProvisioningTest {
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-	IMetadataRepository repo;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IMetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		repo = repoMan.loadRepository(getTestData("repository for wsdl test", "testData/orbitRepo/").toURI(), new NullProgressMonitor());
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstallTwoVersionsOptionaly() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		Collector allIUs = repo.query(InstallableUnitQuery.ANY, null);
-		req1.addInstallableUnits((IInstallableUnit[]) allIUs.toArray(IInstallableUnit.class));
-		for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			if (!iu.getId().equals("javax.wsdl"))
-				req1.setInstallableUnitInclusionRules(iu, PlannerHelper.createOptionalInclusionRule(iu));
-		}
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		Operand[] ops = plan1.getOperands();
-		int count = 0;
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				count++;
-			}
-		}
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-	}
-
-	public void test2() {
-		//Install everything except com.ibm.icu
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		Collector allIUs = repo.query(InstallableUnitQuery.ANY, null);
-		ArrayList toInstall = new ArrayList(allIUs.size());
-		int removed = 0;
-		for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit toAdd = (IInstallableUnit) iterator.next();
-			if (!toAdd.getId().equals("com.ibm.icu")) {
-				toInstall.add(toAdd);
-			} else
-				removed++;
-		}
-		req1.addInstallableUnits((IInstallableUnit[]) toInstall.toArray(new IInstallableUnit[toInstall.size()]));
-
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		Operand[] ops = plan1.getOperands();
-		int count = 0;
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				count++;
-			}
-		}
-		assertEquals(178, count);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-	}
-
-	public void test3() {
-		//Install everything optionaly (except com.ibm.icu that we don't install at all)
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		Collector allIUs = repo.query(InstallableUnitQuery.ANY, null);
-		ArrayList toInstall = new ArrayList(allIUs.size());
-		int removed = 0;
-		for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit toAdd = (IInstallableUnit) iterator.next();
-			if (!toAdd.getId().equals("com.ibm.icu")) {
-				toInstall.add(toAdd);
-				req1.setInstallableUnitInclusionRules(toAdd, PlannerHelper.createOptionalInclusionRule(toAdd));
-			} else
-				removed++;
-		}
-		req1.addInstallableUnits((IInstallableUnit[]) toInstall.toArray(new IInstallableUnit[toInstall.size()]));
-
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		Operand[] ops = plan1.getOperands();
-		int count = 0;
-		for (int i = 0; i < ops.length; i++) {
-			if (ops[i] instanceof InstallableUnitOperand) {
-				count++;
-			}
-		}
-		assertEquals(178, count);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
deleted file mode 100644
index 248701c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllTests.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import junit.framework.*;
-
-/**
- * Performs all automated planner tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ActualChangeRequestTest.class);
-		suite.addTestSuite(ActualChangeRequestTest2.class);
-		suite.addTestSuite(AdditionalConstraints.class);
-		suite.addTestSuite(AddIUProperty.class);
-		suite.addTestSuite(AgentPlanTestInRunningInstance.class);
-		suite.addTestSuite(AgentPlanTestInExternalInstance.class);
-		suite.addTestSuite(AgentPlanTestInExternalInstanceForCohostedMode.class);
-		suite.addTestSuite(AllOptional.class);
-		suite.addTestSuite(AllOrbit.class);
-		suite.addTestSuite(AnotherSingleton.class);
-		suite.addTestSuite(Bug207319.class);
-		suite.addTestSuite(Bug249605.class);
-		suite.addTestSuite(Bug252638.class);
-		//		suite.addTestSuite(Bug252682.class);
-		suite.addTestSuite(Bug254481dataSet1.class);
-		suite.addTestSuite(Bug254481dataSet2.class);
-		suite.addTestSuite(Bug255984.class);
-		suite.addTestSuite(Bug262580.class);
-		suite.addTestSuite(Bug270656.class);
-		suite.addTestSuite(Bug270683.class);
-		suite.addTestSuite(Bug271067.class);
-		suite.addTestSuite(Bug271954.class);
-		//		suite.addTestSuite(Bug272251.class);
-		suite.addTestSuite(Bug278668.class);
-		suite.addTestSuite(DependencyOnSelf.class);
-		suite.addTestSuite(DisabledExplanation.class);
-		suite.addTestSuite(DropinsScenario.class);
-		suite.addTestSuite(ExplanationDeepConflict.class);
-		suite.addTestSuite(ExplanationForOptionalDependencies.class);
-		suite.addTestSuite(ExplanationForPartialInstallation.class);
-		//		suite.addTestSuite(ExplanationLargeConflict.class);
-		suite.addTestSuite(ExplanationSeveralConflictingRoots.class);
-		suite.addTestSuite(GreedyRequirement.class);
-		suite.addTestSuite(InclusionRuleTest.class);
-		suite.addTestSuite(InclusionRuleTest2.class);
-		suite.addTestSuite(IUProperties.class);
-		suite.addTestSuite(IUPropertyRemoval.class);
-		suite.addTestSuite(IUWithFilter.class);
-		suite.addTestSuite(IUWithFilter2.class);
-		suite.addTestSuite(MinimalInstall.class);
-		suite.addTestSuite(MissingDependency.class);
-		suite.addTestSuite(MissingDependency2.class);
-		suite.addTestSuite(MissingDependency3.class);
-		suite.addTestSuite(MissingNonGreedyRequirement.class);
-		suite.addTestSuite(MissingNonGreedyRequirement2.class);
-		suite.addTestSuite(MissingOptional.class);
-		suite.addTestSuite(MissingOptionalNonGreedyRequirement.class);
-		suite.addTestSuite(MissingOptionalWithDependencies.class);
-		suite.addTestSuite(MissingOptionalWithDependencies2.class);
-		//		suite.addTestSuite(MissingOptionalWithDependencies3.class);	Disabled, see bug 277161
-		//		suite.addTestSuite(NegationTesting.class);
-		suite.addTestSuite(NonMinimalState.class);
-		suite.addTestSuite(NonMinimalState2.class);
-		suite.addTestSuite(MultipleProvider.class);
-		suite.addTestSuite(MultipleSingleton.class);
-		suite.addTestSuite(NoRequirements.class);
-		//		suite.addTestSuite(PatchFailingToInstall.class);
-		suite.addTestSuite(PatchTest1.class);
-		suite.addTestSuite(PatchTest10.class);
-		suite.addTestSuite(PatchTest11.class);
-		suite.addTestSuite(PatchTest12.class);
-		suite.addTestSuite(PatchTest13.class);
-		suite.addTestSuite(PatchTest1b.class);
-		suite.addTestSuite(PatchTest1c.class);
-		suite.addTestSuite(PatchTest2.class);
-		suite.addTestSuite(PatchTest3.class);
-		suite.addTestSuite(PatchTest4.class);
-		suite.addTestSuite(PatchTest5.class);
-		suite.addTestSuite(PatchTest6.class);
-		suite.addTestSuite(PatchTest7.class);
-		suite.addTestSuite(PatchTest7b.class);
-		suite.addTestSuite(PatchTest8.class);
-		suite.addTestSuite(PatchTest9.class);
-		suite.addTestSuite(PatchTestMultiplePatch.class);
-		suite.addTestSuite(PatchTestMultiplePatch2.class);
-		suite.addTestSuite(PatchTestMultiplePatch3.class);
-		suite.addTestSuite(PatchTestOptional.class);
-		suite.addTestSuite(PatchTestOptional2.class);
-		suite.addTestSuite(PatchTestOptional3.class);
-		suite.addTestSuite(PatchTestUninstall.class);
-		suite.addTestSuite(PatchTestUpdate.class);
-		suite.addTestSuite(PatchTestUpdate2.class);
-		suite.addTestSuite(PatchTestUpdate3.class);
-		suite.addTestSuite(PatchTestUpdate4.class);
-		suite.addTestSuite(PatchTestUpdate5.class);
-		suite.addTestSuite(PermissiveSlicerTest.class);
-		suite.addTestSuite(PP2ShouldFailToInstall.class);
-		suite.addTestSuite(ProvisioningPlanQueryTest.class);
-		suite.addTestSuite(SDKPatchingTest1.class);
-		suite.addTestSuite(SDKPatchingTest2.class);
-		suite.addTestSuite(SeveralOptionalDependencies.class);
-		suite.addTestSuite(SeveralOptionalDependencies2.class);
-		suite.addTestSuite(SeveralOptionalDependencies3.class);
-		suite.addTestSuite(SeveralOptionalDependencies4.class);
-		suite.addTestSuite(SeveralOptionalDependencies5.class);
-		suite.addTestSuite(SimpleOptionalTest.class);
-		suite.addTestSuite(SimpleOptionalTest2.class);
-		suite.addTestSuite(SimpleOptionalTest3.class);
-		suite.addTestSuite(SimpleOptionalTest4.class);
-		suite.addTestSuite(SimpleSingleton.class);
-		suite.addTestSuite(SimulatedSharedInstallTest.class);
-		suite.addTestSuite(SWTFragment.class);
-		suite.addTestSuite(TwoVersionsOfWSDL.class);
-		suite.addTestSuite(UninstallEverything.class);
-		suite.addTestSuite(UpdateQueryTest.class);
-		return suite;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
deleted file mode 100644
index 2faad88..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AnotherSingleton extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit a3;
-	IInstallableUnit a4;
-	IInstallableUnit u, v, w, x, y, z;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		IRequiredCapability c1 = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		x = createIU("X", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c1});
-
-		IRequiredCapability c2 = (IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
-		y = createIU("Y", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c2});
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, x, y});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-
-	}
-
-	public void test1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x, y});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
deleted file mode 100644
index 83e5742..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug207319 extends AbstractProvisioningTest {
-	IInstallableUnit a, b, c;
-
-	IDirector director;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a = createIU("A", Version.create("1.0.0"));
-		b = createIU("B", Version.create("1.0.0"), new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", Version.create("1.0.0"))});
-		c = createIU("C", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
-		createTestMetdataRepository(new IInstallableUnit[] {a, b, c});
-		profile = createProfile(Bug207319.class.getName());
-		director = createDirector();
-
-	}
-
-	public void testEnsureANeverInstalled() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {b});
-		assertEquals(IStatus.OK, director.provision(req, null, null).getSeverity());
-		assertProfileContainsAll("B is missing", profile, new IInstallableUnit[] {b});
-		assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, null).iterator());
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
-		req2.addInstallableUnits(new IInstallableUnit[] {c});
-		assertEquals(IStatus.OK, director.provision(req2, null, null).getSeverity());
-		assertProfileContainsAll("B and C are missing", profile, new IInstallableUnit[] {b, c});
-		assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, null).iterator());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug249605.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug249605.java
deleted file mode 100644
index 51f85e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug249605.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.HashMap;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug249605 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1, b2, b3;
-	IInstallableUnitPatch p1, p2, p3;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 1, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		b3 = createIU("B", Version.createOSGi(1, 3, 0), true);
-
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.2.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.3.0)"), null, false, false, true));
-		p2 = createIUPatch("P", Version.create("1.2.0"), null, new IRequiredCapability[0], new IProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.2.0)"), 0, null), new IRequirementChange[] {change2}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null, new IRequiredCapability[0]);
-
-		IRequirementChange change3 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.4.0)"), null, false, false, true));
-		p3 = createIUPatch("P", Version.create("1.3.0"), null, new IRequiredCapability[0], new IProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.3.0)"), 0, null), new IRequirementChange[] {change3}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null, new IRequiredCapability[0]);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, p2, p3});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//		The requirement from A to B is broken because there is no B satisfying. Therefore A can only install if the P is installed as well
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		req1.setInstallableUnitProfileProperty(p1, IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertOK("1.1", engine.perform(plan1, new NullProgressMonitor()));
-		assertProfileContains("1.2", profile1, new IInstallableUnit[] {a1, p1, b1});
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {p2});
-		req2.removeInstallableUnits(new IInstallableUnit[] {p1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, new NullProgressMonitor());
-		assertOK("2.0", plan2.getStatus());
-		assertOK("2.1", engine.perform(plan2, new NullProgressMonitor()));
-		assertProfileContains("2.2", profile1, new IInstallableUnit[] {a1, p2, b2});
-		assertTrue(UserVisibleRootQuery.isUserVisible(p2, profile1));
-
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {p3});
-		req3.removeInstallableUnits(new IInstallableUnit[] {p2});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, new NullProgressMonitor());
-		assertOK("3.0", plan3.getStatus());
-		assertOK("3.1", engine.perform(plan3, new NullProgressMonitor()));
-		assertProfileContains("3.2", profile1, new IInstallableUnit[] {a1, p3, b3});
-		assertTrue(UserVisibleRootQuery.isUserVisible(p3, profile1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252638.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252638.java
deleted file mode 100644
index 7e4494f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252638.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-//Failing to install something optionally should indicate the failure in the request status for the IU being installed.
-public class Bug252638 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, false);
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		engine.perform(plan1, null);
-		assertProfileContainsAll("1.0", profile1, new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {p1});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getCode());
-		assertEquals(IStatus.ERROR, plan2.getRequestStatus(p1).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252682.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252682.java
deleted file mode 100644
index a41ac49..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252682.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug252682 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	ArrayList newIUs = new ArrayList();
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 252682", "testData/bug252682");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("Bug252682");
-		assertNotNull(profile);
-		newIUs.add(createEclipseIU("org.eclipse.equinox.p2.core", Version.createOSGi(1, 0, 100, "v20081024")));
-
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		IProvisioningPlan plan = createPlanner().getProvisioningPlan(req, null, null);
-		assertOK("validate profile", plan.getStatus());
-	}
-
-	public void testInstallFeaturePatch() {
-		IInstallableUnit p2Feature = (IInstallableUnit) profile.query(new InstallableUnitQuery("org.eclipse.equinox.p2.user.ui.feature.group"), new NullProgressMonitor()).iterator().next();
-		System.out.println(p2Feature);
-		Collector c = profile.query(new InstallableUnitQuery("org.eclipse.equinox.p2.core.patch"), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setExtraIUs(newIUs);
-		IInstallableUnit patch = (IInstallableUnit) c.iterator().next();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.removeInstallableUnits(new IInstallableUnit[] {patch});
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("Installation plan", plan.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet1.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet1.java
deleted file mode 100644
index b2acd91..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet1.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug254481dataSet1 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	IMetadataRepository repo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 254481", "testData/bug254481/dataSet1/profileRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("bootProfile");
-		assertNotNull(profile);
-		repo = getMetadataRepositoryManager().loadRepository(getTestData("test data bug 254481", "testData/bug254481/dataSet1/repo").toURI(), null);
-		assertNotNull(repo);
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(getTestData("test data bug 254481", "testData/bug254481/dataSet1/repo").toURI());
-		super.tearDown();
-	}
-
-	public void testInstallFeaturePatch() {
-		Collector c = repo.query(new InstallableUnitQuery("RPT_ARM_TEST.feature.group"), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		IInstallableUnit patch = (IInstallableUnit) c.iterator().next();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {patch});
-		request.setInstallableUnitInclusionRules(patch, PlannerHelper.createOptionalInclusionRule(patch));
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertInstallOperand(plan, patch);
-		//[[R]com.ibm.rational.test.lt.arm 7.0.250.v200810021504 --> [R]com.ibm.rational.test.lt.arm 7.0.300.200811041300, 
-		assertEquals(1, plan.getAdditions().query(new InstallableUnitQuery("com.ibm.rational.test.lt.arm"), null).size());
-		//[R]com.ibm.rational.test.lt.armbroker 7.0.250.v200810021504 --> [R]com.ibm.rational.test.lt.armbroker 7.0.300.200811041300, 
-		assertEquals(1, plan.getAdditions().query(new InstallableUnitQuery("com.ibm.rational.test.lt.armbroker"), null).size());
-		//[R]com.ibm.rational.test.lt.kernel 7.2.151.v200810021605 --> [R]com.ibm.rational.test.lt.kernel 7.2.200.200811041300, 
-		assertEquals(1, plan.getAdditions().query(new InstallableUnitQuery("com.ibm.rational.test.lt.kernel"), null).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet2.java
deleted file mode 100644
index 97f8500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug254481dataSet2.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug254481dataSet2 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	IMetadataRepository repo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 254481", "testData/bug254481/dataSet2/profileRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("bootProfile");
-		assertNotNull(profile);
-		repo = getMetadataRepositoryManager().loadRepository(getTestData("test data bug 254481", "testData/bug254481/dataSet2/repo").toURI(), null);
-		assertNotNull(repo);
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(getTestData("test data bug 254481", "testData/bug254481/dataSet2/repo").toURI());
-		super.tearDown();
-	}
-
-	public void testInstallFeaturePatch() {
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.jdt.feature.patch.feature.group"), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		IInstallableUnit patch = (IInstallableUnit) c.iterator().next();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {patch});
-		request.setInstallableUnitInclusionRules(patch, PlannerHelper.createOptionalInclusionRule(patch));
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertInstallOperand(plan, patch);
-		assertEquals(1, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.jdt.core"), null).size());
-		assertEquals(1, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.jdt.core.manipulation"), null).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug255984.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug255984.java
deleted file mode 100644
index 853e146..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug255984.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug255984 extends AbstractProvisioningTest {
-	IInstallableUnit a;
-	IInstallableUnit b;
-	IInstallableUnit c;
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true);
-
-		b = createIU("B", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a, b});
-
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testProperties() {
-		//Install B
-		profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {b});
-		req.setInstallableUnitInclusionRules(b, PlannerHelper.createStrictInclusionRule(b));
-		req.setInstallableUnitProfileProperty(b, "foo", "bar");
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("B is missing", profile1, new IInstallableUnit[] {b});
-		assertEquals(1, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Install A
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a});
-		req2.setInstallableUnitInclusionRules(a, PlannerHelper.createStrictInclusionRule(a));
-		req2.setInstallableUnitProfileProperty(a, "foo", "bar");
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A is missing", profile1, new IInstallableUnit[] {a, b});
-		assertEquals(2, profile1.query(InstallableUnitQuery.ANY, null).size());
-
-		//Uninstall B
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.removeInstallableUnits(new IInstallableUnit[] {b});
-		req3.removeInstallableUnitProfileProperty(b, "foo");
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		engine.perform(plan3, null);
-		assertProfileContainsAll("A is missing", profile1, new IInstallableUnit[] {a, b});
-		assertEquals(1, profile1.query(new IUProfilePropertyQuery("foo", "bar"), new NullProgressMonitor()).size());
-		assertEquals(2, profile1.query(InstallableUnitQuery.ANY, null).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug262580.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug262580.java
deleted file mode 100644
index 712bdc6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug262580.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug262580 extends AbstractProvisioningTest {
-	public void testRevertFeaturePatch() {
-
-		File testData = getTestData("test data bug 262580", "testData/bug262580");
-		File tempFolder = getTempFolder();
-		copy("0.2", testData, tempFolder);
-
-		SimpleProfileRegistry testRregistry = new SimpleProfileRegistry(tempFolder, null, false);
-		IProfile currentProfile = testRregistry.getProfile("Bug262580");
-		IProfile revertProfile = testRregistry.getProfile("Bug262580", 1233157854281L);
-		assertNotNull(currentProfile);
-		assertNotNull(revertProfile);
-		IPlanner planner = createPlanner();
-
-		IProvisioningPlan plan = planner.getDiffPlan(currentProfile, revertProfile, getMonitor());
-		assertTrue(plan.getStatus().isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270656.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270656.java
deleted file mode 100644
index 1dfb0c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270656.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug270656 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b12;
-	IInstallableUnit b10;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {(IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, true, true)});
-		b12 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		b10 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{(IRequiredCapability) MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b10, b12, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//The requirement from A to B is broken because there is no B satisfying. Therefore A can only install if the P is installed as well
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270683.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270683.java
deleted file mode 100644
index ac9d3aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug270683.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug270683 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit b3;
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		b3 = createIU("B", Version.createOSGi(1, 3, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		IRequirementChange anotherChangeB = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.3.0]"), null, false, false, true));
-		pp1 = createIUPatch("PP", Version.create("1.0.0"), true, new IRequirementChange[] {anotherChangeB}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testExplanationContainsExplicitMentionOfPatch() {
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p1, pp1});
-		ProvisioningPlan plan3 = (ProvisioningPlan) planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-		assertTrue(((RequestStatus) plan3.getRequestStatus()).getExplanations().toString().contains("patched"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271067.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271067.java
deleted file mode 100644
index 446ac23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271067.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.lang.reflect.Field;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.PlannerHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug271067 extends AbstractProvisioningTest {
-	private IProfile profile;
-	private File previousStoreValue = null;
-	String profileLoadedId = "bootProfile";
-	IMetadataRepository repo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 271067", "testData/bug271067/profileRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry realProfileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		//Tweak the running profile registry
-		Field profileStore = SimpleProfileRegistry.class.getDeclaredField("store");
-		profileStore.setAccessible(true);
-		previousStoreValue = (File) profileStore.get(realProfileRegistry);
-		profileStore.set(realProfileRegistry, tempFolder);
-
-		Field profilesMapField = SimpleProfileRegistry.class.getDeclaredField("profiles"); //$NON-NLS-1$
-		profilesMapField.setAccessible(true);
-		profilesMapField.set(realProfileRegistry, null);
-		//End of tweaking the profile registry
-
-		profile = realProfileRegistry.getProfile(profileLoadedId);
-		assertNotNull(profile);
-		repo = loadMetadataRepository(getTestData("Repository for 271067", "testData/bug271067/").toURI());
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		SimpleProfileRegistry realProfileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-
-		Field profilesMapField = SimpleProfileRegistry.class.getDeclaredField("profiles"); //$NON-NLS-1$
-		profilesMapField.setAccessible(true);
-		profilesMapField.set(realProfileRegistry, null);
-
-		Field profileStore = SimpleProfileRegistry.class.getDeclaredField("store");
-		profileStore.setAccessible(true);
-		profileStore.set(realProfileRegistry, previousStoreValue);
-		super.tearDown();
-	}
-
-	IInstallableUnit getIU(IMetadataRepository source, String id, String version) {
-		Collector c = repo.query(new InstallableUnitQuery(id, Version.create(version)), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		return (IInstallableUnit) c.iterator().next();
-	}
-
-	public void testInstallFeaturePatch() {
-		// hello.feature.2.feature.group 1.0.0, , hello 1.0.2, hello 1.0.0,  hello.feature.2.feature.jar 1.0.0]
-		ProfileChangeRequest installFeature1 = new ProfileChangeRequest(getProfile(profileLoadedId));
-		IInstallableUnit featureGroup = getIU(repo, "hello.feature.1.feature.group", "1.0.0");
-		IInstallableUnit featureJar = getIU(repo, "hello.feature.1.feature.jar", "1.0.0");
-		IInstallableUnit helloIU = getIU(repo, "hello", "1.0.0");
-		IInstallableUnit patch = getIU(repo, "hello.patch.feature.group", "1.0.0");
-		IInstallableUnit helloPatch = getIU(repo, "hello", "1.0.0.1");
-		IInstallableUnit patchJar = getIU(repo, "hello.patch.feature.jar", "1.0.0");
-
-		installFeature1.addInstallableUnits(new IInstallableUnit[] {featureGroup, featureJar, helloIU, patch, helloPatch, patchJar});
-
-		installFeature1.setInstallableUnitInclusionRules(featureGroup, PlannerHelper.createOptionalInclusionRule(featureGroup));
-		installFeature1.setInstallableUnitInclusionRules(featureJar, PlannerHelper.createOptionalInclusionRule(featureJar));
-		installFeature1.setInstallableUnitInclusionRules(helloIU, PlannerHelper.createOptionalInclusionRule(helloIU));
-		installFeature1.setInstallableUnitInclusionRules(patch, PlannerHelper.createOptionalInclusionRule(patch));
-		installFeature1.setInstallableUnitInclusionRules(helloPatch, PlannerHelper.createOptionalInclusionRule(helloPatch));
-		installFeature1.setInstallableUnitInclusionRules(patchJar, PlannerHelper.createOptionalInclusionRule(patchJar));
-
-		IProvisioningPlan feature1Plan = createPlanner().getProvisioningPlan(installFeature1, new ProvisioningContext(), null);
-		assertOK("installation of feature1 and patch", createEngine().perform(feature1Plan, new NullProgressMonitor()));
-		assertEquals(1, getProfile(profileLoadedId).query(new InstallableUnitQuery("hello", Version.create("1.0.0.1")), new NullProgressMonitor()).size());
-
-		IInstallableUnit featureGroup2 = getIU(repo, "hello.feature.2.feature.group", "1.0.0");
-		IInstallableUnit helloIU2 = getIU(repo, "hello", "1.0.2");
-		IInstallableUnit featureJar2 = getIU(repo, "hello.feature.2.feature.jar", "1.0.0");
-
-		ProfileChangeRequest installFeature2 = new ProfileChangeRequest(getProfile(profileLoadedId));
-		installFeature2.addInstallableUnits(new IInstallableUnit[] {featureGroup2, helloIU2, featureJar2});
-		installFeature2.setInstallableUnitInclusionRules(featureGroup2, PlannerHelper.createOptionalInclusionRule(featureGroup2));
-		installFeature2.setInstallableUnitInclusionRules(helloIU2, PlannerHelper.createOptionalInclusionRule(helloIU2));
-		installFeature2.setInstallableUnitInclusionRules(featureJar2, PlannerHelper.createOptionalInclusionRule(featureJar2));
-
-		IProvisioningPlan feature2Plan = createPlanner().getProvisioningPlan(installFeature2, new ProvisioningContext(), null);
-		assertOK("installation of feature2", createEngine().perform(feature2Plan, new NullProgressMonitor()));
-		assertEquals(1, getProfile(profileLoadedId).query(new InstallableUnitQuery("hello", Version.create("1.0.0.1")), new NullProgressMonitor()).size());
-	}
-
-	public void testInstallFeaturePatchReverseOrder() {
-		IInstallableUnit featureGroup2 = getIU(repo, "hello.feature.2.feature.group", "1.0.0");
-		IInstallableUnit helloIU2 = getIU(repo, "hello", "1.0.2");
-		IInstallableUnit featureJar2 = getIU(repo, "hello.feature.2.feature.jar", "1.0.0");
-
-		ProfileChangeRequest installFeature2 = new ProfileChangeRequest(getProfile(profileLoadedId));
-		installFeature2.addInstallableUnits(new IInstallableUnit[] {featureGroup2, helloIU2, featureJar2});
-		installFeature2.setInstallableUnitInclusionRules(featureGroup2, PlannerHelper.createOptionalInclusionRule(featureGroup2));
-		installFeature2.setInstallableUnitInclusionRules(helloIU2, PlannerHelper.createOptionalInclusionRule(helloIU2));
-		installFeature2.setInstallableUnitInclusionRules(featureJar2, PlannerHelper.createOptionalInclusionRule(featureJar2));
-
-		IProvisioningPlan feature2Plan = createPlanner().getProvisioningPlan(installFeature2, new ProvisioningContext(), null);
-		assertOK("installation of feature2", createEngine().perform(feature2Plan, new NullProgressMonitor()));
-		assertEquals(1, getProfile(profileLoadedId).query(new InstallableUnitQuery("hello", Version.create("1.0.2")), new NullProgressMonitor()).size());
-
-		ProfileChangeRequest installFeature1 = new ProfileChangeRequest(getProfile(profileLoadedId));
-		IInstallableUnit featureGroup = getIU(repo, "hello.feature.1.feature.group", "1.0.0");
-		IInstallableUnit featureJar = getIU(repo, "hello.feature.1.feature.jar", "1.0.0");
-		IInstallableUnit helloIU = getIU(repo, "hello", "1.0.0");
-		IInstallableUnit patch = getIU(repo, "hello.patch.feature.group", "1.0.0");
-		IInstallableUnit helloPatch = getIU(repo, "hello", "1.0.0.1");
-		IInstallableUnit patchJar = getIU(repo, "hello.patch.feature.jar", "1.0.0");
-
-		installFeature1.addInstallableUnits(new IInstallableUnit[] {featureGroup, featureJar, helloIU, patch, helloPatch, patchJar});
-
-		installFeature1.setInstallableUnitInclusionRules(featureGroup, PlannerHelper.createOptionalInclusionRule(featureGroup));
-		installFeature1.setInstallableUnitInclusionRules(featureJar, PlannerHelper.createOptionalInclusionRule(featureJar));
-		installFeature1.setInstallableUnitInclusionRules(helloIU, PlannerHelper.createOptionalInclusionRule(helloIU));
-		installFeature1.setInstallableUnitInclusionRules(patch, PlannerHelper.createOptionalInclusionRule(patch));
-		installFeature1.setInstallableUnitInclusionRules(helloPatch, PlannerHelper.createOptionalInclusionRule(helloPatch));
-		installFeature1.setInstallableUnitInclusionRules(patchJar, PlannerHelper.createOptionalInclusionRule(patchJar));
-
-		IProvisioningPlan feature1Plan = createPlanner().getProvisioningPlan(installFeature1, new ProvisioningContext(), null);
-		assertOK("installation of feature1 and patch", createEngine().perform(feature1Plan, new NullProgressMonitor()));
-		assertEquals(1, getProfile(profileLoadedId).query(new InstallableUnitQuery("hello", Version.create("1.0.0.1")), new NullProgressMonitor()).size());
-	}
-
-	public void installTogether() {
-		IInstallableUnit featureGroup2 = getIU(repo, "hello.feature.2.feature.group", "1.0.0");
-		IInstallableUnit helloIU2 = getIU(repo, "hello", "1.0.2");
-		IInstallableUnit featureJar2 = getIU(repo, "hello.feature.2.feature.jar", "1.0.0");
-
-		IInstallableUnit featureGroup = getIU(repo, "hello.feature.1.feature.group", "1.0.0");
-		IInstallableUnit featureJar = getIU(repo, "hello.feature.1.feature.jar", "1.0.0");
-		IInstallableUnit helloIU = getIU(repo, "hello", "1.0.0");
-		IInstallableUnit patch = getIU(repo, "hello.patch.feature.group", "1.0.0");
-		IInstallableUnit helloPatch = getIU(repo, "hello", "1.0.0.1");
-		IInstallableUnit patchJar = getIU(repo, "hello.patch.feature.jar", "1.0.0");
-
-		ProfileChangeRequest installEverything = new ProfileChangeRequest(getProfile(profileLoadedId));
-		installEverything.addInstallableUnits(new IInstallableUnit[] {featureGroup2, helloIU2, featureJar2, featureGroup, featureJar, helloIU, patch, helloPatch, patchJar});
-		installEverything.setInstallableUnitInclusionRules(featureGroup2, PlannerHelper.createOptionalInclusionRule(featureGroup2));
-		installEverything.setInstallableUnitInclusionRules(helloIU2, PlannerHelper.createOptionalInclusionRule(helloIU2));
-		installEverything.setInstallableUnitInclusionRules(featureJar2, PlannerHelper.createOptionalInclusionRule(featureJar2));
-
-		installEverything.setInstallableUnitInclusionRules(featureGroup, PlannerHelper.createOptionalInclusionRule(featureGroup));
-		installEverything.setInstallableUnitInclusionRules(featureJar, PlannerHelper.createOptionalInclusionRule(featureJar));
-		installEverything.setInstallableUnitInclusionRules(helloIU, PlannerHelper.createOptionalInclusionRule(helloIU));
-		installEverything.setInstallableUnitInclusionRules(patch, PlannerHelper.createOptionalInclusionRule(patch));
-		installEverything.setInstallableUnitInclusionRules(helloPatch, PlannerHelper.createOptionalInclusionRule(helloPatch));
-		installEverything.setInstallableUnitInclusionRules(patchJar, PlannerHelper.createOptionalInclusionRule(patchJar));
-
-		IProvisioningPlan plan = createPlanner().getProvisioningPlan(installEverything, new ProvisioningContext(), null);
-		assertOK("installation of feature1 and patch", createEngine().perform(plan, new NullProgressMonitor()));
-		assertEquals(1, getProfile(profileLoadedId).query(new InstallableUnitQuery("hello", Version.create("1.0.0.1")), new NullProgressMonitor()).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271954.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271954.java
deleted file mode 100644
index 00910c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug271954.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.lang.reflect.Field;
-import java.net.URI;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug271954 extends AbstractProvisioningTest {
-	private static final String profileLoadedId = "SDKProfile";
-	private IProfile profile;
-	private File previousStoreValue = null;
-	private Object previousSelfProfile = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 271954", "testData/bug271954");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-
-		SimpleProfileRegistry realProfileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-		//Tweak the running profile registry
-		Field profileStore = SimpleProfileRegistry.class.getDeclaredField("store");
-		profileStore.setAccessible(true);
-		previousStoreValue = (File) profileStore.get(realProfileRegistry);
-		profileStore.set(realProfileRegistry, tempFolder);
-
-		Field profilesMapField = SimpleProfileRegistry.class.getDeclaredField("profiles"); //$NON-NLS-1$
-		profilesMapField.setAccessible(true);
-		profilesMapField.set(realProfileRegistry, null);
-		//End of tweaking the profile registry
-
-		Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-		selfField.setAccessible(true);
-		previousSelfProfile = selfField.get(realProfileRegistry);
-		selfField.set(realProfileRegistry, "SDKProfile");
-
-		profile = realProfileRegistry.getProfile(profileLoadedId);
-	}
-
-	protected void tearDown() throws Exception {
-		SimpleProfileRegistry realProfileRegistry = (SimpleProfileRegistry) getProfileRegistry();
-
-		Field profilesMapField = SimpleProfileRegistry.class.getDeclaredField("profiles"); //$NON-NLS-1$
-		profilesMapField.setAccessible(true);
-		profilesMapField.set(realProfileRegistry, null);
-
-		Field profileStore = SimpleProfileRegistry.class.getDeclaredField("store");
-		profileStore.setAccessible(true);
-		profileStore.set(realProfileRegistry, previousStoreValue);
-
-		Field selfField = SimpleProfileRegistry.class.getDeclaredField("self"); //$NON-NLS-1$
-		selfField.setAccessible(true);
-		selfField.set(realProfileRegistry, previousSelfProfile);
-
-		super.tearDown();
-	}
-
-	public void testUninstallMyBundle() {
-		Collector c = profile.available(new InstallableUnitQuery("A"), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.removeInstallableUnits((IInstallableUnit[]) c.toArray(IInstallableUnit.class));
-
-		ProvisioningContext ctx = new ProvisioningContext(new URI[0]);
-		ctx.setArtifactRepositories(new URI[0]);
-		IProvisioningPlan plan = createPlanner().getProvisioningPlan(req, ctx, new NullProgressMonitor());
-		assertOK("Uninstall plan for myBundle", plan.getStatus());
-		assertEquals(0, plan.getInstallerPlan().getAdditions().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		assertEquals(0, plan.getInstallerPlan().getRemovals().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		assertUninstallOperand(plan, (IInstallableUnit) c.iterator().next());
-		assertEquals(2, plan.getRemovals().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		assertEquals(1, plan.getRemovals().query(new InstallableUnitQuery("A", Version.createOSGi(1, 0, 0)), new NullProgressMonitor()).size());
-		assertEquals(1, plan.getRemovals().query(new InstallableUnitQuery("Action1", Version.createOSGi(1, 0, 0)), new NullProgressMonitor()).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug272251.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug272251.java
deleted file mode 100644
index 735329a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug272251.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug272251 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	IMetadataRepository repo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data bug 272251", "testData/bug272251/profileRegistry/");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("PlatformProfile");
-		assertNotNull(profile);
-		repo = getMetadataRepositoryManager().loadRepository(getTestData("test data bug 272251", "testData/bug272251/repo").toURI(), null);
-		assertNotNull(repo);
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(getTestData("test data bug 272251", "testData/bug272251/repo").toURI());
-		super.tearDown();
-	}
-
-	public void testInstallFeaturePatch() {
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.wst.jsdt.feature.patch.feature.group", Version.create("3.0.4.v200904020304-1-8d7w311_15131415")), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		Collector expectedIU = repo.query(new InstallableUnitQuery("org.eclipse.wst.jsdt.web.ui", Version.create("1.0.105.v200904020304")), new NullProgressMonitor());
-		assertEquals(1, expectedIU.size());
-		IInstallableUnit patch = (IInstallableUnit) c.iterator().next();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {patch});
-		request.setInstallableUnitInclusionRules(patch, PlannerHelper.createStrictInclusionRule(patch));
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-		assertNoOperand(plan, patch);
-		assertNoOperand(plan, (IInstallableUnit) expectedIU.iterator().next());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug278668.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug278668.java
deleted file mode 100644
index 0f546a6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug278668.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.ArrayList;
-import java.util.Properties;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class Bug278668 extends AbstractProvisioningTest {
-	private IProfile profile;
-	private IMetadataRepository repo;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		profile = createProfile("test278668");
-		IEngine engine = createEngine();
-		IPlanner planner = createPlanner();
-		ArrayList target = new ArrayList();
-		target.add(createEclipseIU("com.borland.tg.modelrenaming"));
-		target.add(createEclipseIU("com.borland.tg.xmldesign"));
-		target.add(createEclipseIU("com.tssap.selena.dom"));
-		target.add(createEclipseIU("com.tssap.selena.model.providers.rc"));
-		target.add(createEclipseIU("com.tssap.selena.model.providers.resources"));
-		target.add(createEclipseIUSingleton("com.tssap.selena.model", DEFAULT_VERSION));
-		target.add(createEclipseIU("com.borland.tg.modelrenaming", Version.create("8.1.2.v20090422-1800")));
-		target.add(createEclipseIU("com.borland.tg.xmldesign", Version.create("8.2.0.v20090422-1800")));
-		target.add(createEclipseIU("com.tssap.selena.dom", Version.create("8.2.0.v20090422-1800")));
-		target.add(createEclipseIU("com.tssap.selena.model.providers.rc", Version.create("8.2.0.v20090422-1800")));
-		target.add(createEclipseIU("com.tssap.selena.model.providers.resources", Version.create("8.1.2.v20090422-1800")));
-		target.add(createEclipseIU("com.tssap.selena.model", Version.create("8.1.5.v20090422-1800")));
-		target.add(createEclipseIUSingleton("com.tssap.selena.dom", Version.create("8.2.0.v20090326-1800")));
-		createTestMetdataRepository((IInstallableUnit[]) target.toArray(new IInstallableUnit[target.size()]));
-
-		ArrayList requirements = new ArrayList();
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.borland.tg.modelrenaming", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.borland.tg.xmldesign", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.tssap.selena.dom", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.tssap.selena.model.providers.rc", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.tssap.selena.model.providers.resources", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-		requirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.tssap.selena.model", new VersionRange("[1.0.0, 1.0.0]"), null, false, false));
-
-		IInstallableUnit group = createIU("com.borland.tg.modeling.feature.group", Version.create("8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm"), null, (IRequiredCapability[]) requirements.toArray(new IRequiredCapability[requirements.size()]), new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "com.borland.tg.modeling", Version.create("8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm"))}, new Properties(), null, null, true);
-
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {group});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertOK("plan should be OK", plan.getStatus());
-
-		engine.perform(plan, null);
-
-		repo = getMetadataRepositoryManager().loadRepository(getTestData("test data bug 278668", "testData/bug278668").toURI(), null);
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(getTestData("test data bug 278668", "testData/bug278668").toURI());
-		super.tearDown();
-	}
-
-	public void testInstallFeaturePatch() {
-		Collector c = repo.query(new InstallableUnitQuery("com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.group"), new NullProgressMonitor());
-		assertEquals(1, c.size());
-		Collector c2 = repo.query(new InstallableUnitQuery("com.borland.tg.modeling.8.2.0.nl.patch.feature.group"), new NullProgressMonitor());
-		assertEquals(1, c2.size());
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) c.iterator().next()});
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-
-		ProfileChangeRequest request2 = new ProfileChangeRequest(profile);
-		request2.addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) c2.iterator().next()});
-		IPlanner planner2 = createPlanner();
-		IProvisioningPlan plan2 = planner2.getProvisioningPlan(request2, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan2.getStatus());
-
-		ProfileChangeRequest request3 = new ProfileChangeRequest(profile);
-		request3.addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) c.iterator().next(), (IInstallableUnit) c2.iterator().next()});
-		IPlanner planner3 = createPlanner();
-		IProvisioningPlan plan3 = planner3.getProvisioningPlan(request3, null, new NullProgressMonitor());
-		assertNotOK("Plan Not OK", plan3.getStatus());
-
-		ProfileChangeRequest request4 = new ProfileChangeRequest(profile);
-		request4.addInstallableUnits(new IInstallableUnit[] {(IInstallableUnit) c.iterator().next(), (IInstallableUnit) c2.iterator().next()});
-		request4.setInstallableUnitInclusionRules((IInstallableUnit) c.iterator().next(), PlannerHelper.createOptionalInclusionRule((IInstallableUnit) c.iterator().next()));
-		request4.setInstallableUnitInclusionRules((IInstallableUnit) c2.iterator().next(), PlannerHelper.createOptionalInclusionRule((IInstallableUnit) c2.iterator().next()));
-		IPlanner planner4 = createPlanner();
-		IProvisioningPlan plan4 = planner4.getProvisioningPlan(request4, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan4.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
deleted file mode 100644
index 821995a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DependencyOnSelf.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class DependencyOnSelf extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
-		createTestMetdataRepository(new IInstallableUnit[] {a1});
-		profile = createProfile(DependencyOnSelf.class.getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DisabledExplanation.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DisabledExplanation.java
deleted file mode 100644
index 7233600..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DisabledExplanation.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class DisabledExplanation extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		//Missing non optional dependency
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setProperty("org.eclipse.equinox.p2.director.explain", "false");
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, ctx, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		assertNull(plan.getRequestStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
deleted file mode 100644
index b545d29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class DropinsScenario extends AbstractProvisioningTest {
-	IInstallableUnit a0;
-	IInstallableUnit b0;
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit as;
-	IInstallableUnit bs;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		a0 = createIU("A", Version.create("0.0.0"), true);
-		b0 = createIU("B", Version.create("0.0.0"), true);
-
-		IRequiredCapability[] reqAs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)};
-		as = createIU("AS", Version.create("0.0.0"), reqAs);
-
-		IRequiredCapability[] reqBs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)};
-		bs = createIU("BS", Version.create("0.0.0"), reqBs);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, a0, b0, as, bs});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {as, bs});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationDeepConflict.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationDeepConflict.java
deleted file mode 100644
index 45400e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationDeepConflict.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExplanationDeepConflict extends AbstractProvisioningTest {
-	private IProfile profile;
-	private IPlanner planner;
-	private IEngine engine;
-	private IInstallableUnit sdk;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		sdk = createIU("SDK", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit sdkPart = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "InnerSDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit innerSdkPart = createIU("InnerSDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "InnerInnerSDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit innerInnerSDKPart = createIU("InnerInnerSDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {sdk, sdkPart, innerSdkPart, innerInnerSDKPart});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {sdk});
-		engine.perform(planner.getProvisioningPlan(pcr, null, null), null);
-		assertProfileContains("1.0", profile, new IInstallableUnit[] {sdk, sdkPart, innerSdkPart, innerInnerSDKPart});
-	}
-
-	public void testDeepSingletonConflict() {
-		//CDT will have a singleton conflict with SDK
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "CDTPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit cdtPart = createIU("CDTPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "InnerInnerSDKPart", new VersionRange("[2.0.0, 2.0.0]"), null));
-		IInstallableUnit innerInnerSDKPart2 = createIU("InnerInnerSDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("2.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {cdt, cdtPart, innerInnerSDKPart2});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(cdt));
-		//Here we verify that we only return the roots we asked the installation of. The SDK is installable since it is already installed
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(sdk));
-		assertTrue(requestStatus.getConflictsWithAnyRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().contains(sdk));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForOptionalDependencies.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForOptionalDependencies.java
deleted file mode 100644
index 9418cb3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForOptionalDependencies.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExplanationForOptionalDependencies extends AbstractProvisioningTest {
-	private IProfile profile;
-	private IPlanner planner;
-	private IEngine engine;
-	private IInstallableUnit sdk;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		sdk = createIU("SDK", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit sdkPart = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-		IInstallableUnit sdkPart2 = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("2.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {sdk, sdkPart, sdkPart2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {sdk});
-		engine.perform(planner.getProvisioningPlan(pcr, null, null), null);
-
-	}
-
-	public void testNoProblemWithMissingOptionalDependency() {
-		//CDT will be missing a requirement but it is optional so everything should be good
-		//EMF will be not be good because it is missing a requirement
-		IRequiredCapability missingOptionalDependency = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "MissingSomething", new VersionRange("[1.0.0, 1.0.0]"), null, true, false);
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), new IRequiredCapability[] {missingOptionalDependency});
-
-		IRequiredCapability emfMissing = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "EMFPart", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), new IRequiredCapability[] {emfMissing}, NO_PROPERTIES, true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(emf));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(cdt));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(sdk));
-
-		//		assertTrue(plan.getRequestStatus(cdt).getSeverity() != IStatus.ERROR);
-		//
-		//		assertTrue(plan.getRequestStatus(emf).getSeverity() == IStatus.ERROR);
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForPartialInstallation.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForPartialInstallation.java
deleted file mode 100644
index 490cdf4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationForPartialInstallation.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExplanationForPartialInstallation extends AbstractProvisioningTest {
-	private IProfile profile;
-	private IPlanner planner;
-	private IEngine engine;
-	private IInstallableUnit sdk;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		sdk = createIU("SDK", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit sdkPart = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-		IInstallableUnit sdkPart2 = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("2.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {sdk, sdkPart, sdkPart2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {sdk});
-		engine.perform(planner.getProvisioningPlan(pcr, null, null), null);
-
-	}
-
-	public void testPartialProblemSingleton() {
-		//CDT will have a singleton conflict with SDK
-		//EMF will be good
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[2.0.0, 2.0.0]"), null));
-
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(cdt));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(emf));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(sdk));
-
-		//		assertTrue(plan.getRequestStatus(cdt).getSeverity() == IStatus.ERROR);
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().contains(sdk));
-		//
-		//		assertTrue(plan.getRequestStatus(emf).getSeverity() != IStatus.ERROR);
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithAnyRoots().size());
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots().size());
-		//
-		//		assertNull(plan.getRequestStatus(sdk));
-	}
-
-	public void testPartialProblemRequirement() {
-		//CDT will be missing a requirement
-		//EMF will be good
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "MissingPart", new VersionRange("[2.0.0, 2.0.0]"), null));
-
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(cdt));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(emf));
-		assertFalse(requestStatus.getConflictsWithInstalledRoots().contains(sdk));
-
-		//		assertTrue(plan.getRequestStatus(cdt).getSeverity() == IStatus.ERROR);
-		//		assertEquals(0, plan.getRequestStatus(cdt).getConflictsWithAnyRoots().size());
-		//		assertEquals(0, plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().size());
-		//
-		//		assertTrue(plan.getRequestStatus(emf).getSeverity() != IStatus.ERROR);
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithAnyRoots().size());
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots().size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationLargeConflict.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationLargeConflict.java
deleted file mode 100644
index 8853df2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationLargeConflict.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExplanationLargeConflict extends AbstractProvisioningTest {
-	IMetadataRepository repo1;
-	IMetadataRepository repo2;
-	private IPlanner planner;
-	private IProfile SDKprofile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		repo1 = loadMetadataRepository(getTestData("repo1", "testData/testLargeConflict/repo1").toURI());
-		repo2 = loadMetadataRepository(getTestData("repo2", "testData/testLargeConflict/repo2").toURI());
-
-		File reporegistry1 = getTestData("test data explanation large conflict", "testData/testLargeConflict/profileRegistry");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		SDKprofile = registry.getProfile("SDKProfile");
-		assertNotNull(SDKprofile);
-
-		planner = createPlanner();
-	}
-
-	public void testIndependentConflict() {
-		long sTime = System.currentTimeMillis();
-		//Here we verify that two version of JDT can't be installed together. The SDKProfile is not used
-		IProfile profile = createProfile("TestProfile." + getName());
-		Collector c = repo1.query(new InstallableUnitQuery("org.eclipse.jdt.feature.group"), null);
-		assertEquals(1, c.size());
-		IInstallableUnit jdt1 = (IInstallableUnit) c.iterator().next();
-
-		Collector c2 = repo2.query(new InstallableUnitQuery("org.eclipse.jdt.feature.group"), null);
-		assertEquals(1, c2.size());
-		IInstallableUnit jdt2 = (IInstallableUnit) c2.iterator().next();
-
-		assertNotSame(jdt1, jdt2);
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {jdt1, jdt2});
-		IProvisioningPlan plan = planner.getProvisioningPlan(pcr, null, null);
-		assertNotOK(plan.getStatus());
-		LogHelper.log(plan.getStatus());
-		//		System.out.println(plan.getRequestStatus().getExplanations());
-		long eTime = System.currentTimeMillis();
-		System.out.println("Time to compute conflict: " + (eTime - sTime));
-	}
-
-	public void testMissingRequirement() {
-		long sTime = System.currentTimeMillis();
-		//Test the case of a missing requirement in the IU being installed
-		IRequiredCapability[] cap = createRequiredCapabilities("missing", "missing", new VersionRange("[0.0.0, 1.0.0)"), null);
-		IInstallableUnit otherIU2 = createIU("foo", Version.create("0.9.0"), null, cap, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, NO_TP_DATA, true);
-		ProfileChangeRequest pcr3 = new ProfileChangeRequest(SDKprofile);
-		pcr3.addInstallableUnits(new IInstallableUnit[] {otherIU2});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(pcr3, null, null);
-		assertNotOK(plan3.getStatus());
-		LogHelper.log(plan3.getStatus());
-		//		System.out.println(plan3.getRequestStatus().getExplanations());
-		long eTime = System.currentTimeMillis();
-		System.out.println("Time to compute conflict: " + (eTime - sTime));
-	}
-
-	public void testSingletonConflict() {
-		long sTime = System.currentTimeMillis();
-		//The IU being installed conflict with something already installed because of a singleton
-		IInstallableUnit otherIU = createIU("org.eclipse.equinox.p2.director", Version.create("0.9.0"), null, NO_REQUIRES, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, NO_TP_DATA, true);
-		ProfileChangeRequest pcr2 = new ProfileChangeRequest(SDKprofile);
-		pcr2.addInstallableUnits(new IInstallableUnit[] {otherIU});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(pcr2, null, null);
-		assertNotOK(plan2.getStatus());
-		LogHelper.log(plan2.getStatus());
-		//		System.out.println(plan2.getRequestStatus().getExplanations());
-		long eTime = System.currentTimeMillis();
-		System.out.println("Time to compute conflict: " + (eTime - sTime));
-	}
-
-	public void testExplanationLargeConflictInSDK() {
-		long sTime = System.currentTimeMillis();
-		//Test large conflict. We are trying to install an inappropriate version of CVS over the already installed SDK
-		Collector c = repo2.query(new InstallableUnitQuery("org.eclipse.cvs.feature.group"), null);
-		assertEquals(1, c.size());
-		IInstallableUnit cvs = (IInstallableUnit) c.iterator().next();
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(SDKprofile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cvs});
-		IProvisioningPlan plan = planner.getProvisioningPlan(pcr, null, null);
-		assertNotOK(plan.getStatus());
-		LogHelper.log(plan.getStatus());
-		//		System.out.println(plan.getRequestStatus().getExplanations());
-		long eTime = System.currentTimeMillis();
-		System.out.println("Time to compute conflict: " + (eTime - sTime));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationSeveralConflictingRoots.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationSeveralConflictingRoots.java
deleted file mode 100644
index ca71f38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ExplanationSeveralConflictingRoots.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ExplanationSeveralConflictingRoots extends AbstractProvisioningTest {
-	private IProfile profile;
-	private IPlanner planner;
-	private IInstallableUnit sdk;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		sdk = createIU("SDK", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-		IInstallableUnit sdkPart = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-		IInstallableUnit sdkPart2 = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("2.0.0")), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {sdk, sdkPart, sdkPart2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		IEngine engine = createEngine();
-
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {sdk});
-		engine.perform(planner.getProvisioningPlan(pcr, null, null), null);
-
-	}
-
-	public void testConflictingSingletonAndMissingDependency() {
-		//CDT will have a singleton conflict with SDK
-		//EMF will be missing a dependency
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[2.0.0, 2.0.0]"), null));
-
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "EMFPart", new VersionRange("[1.0.0, 1.0.0]"), null));
-
-		createTestMetdataRepository(new IInstallableUnit[] {cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		Set conflictRoots = ((RequestStatus) plan.getRequestStatus()).getConflictsWithInstalledRoots();
-		assertTrue(conflictRoots.contains(cdt) || conflictRoots.contains(emf));
-		//		assertTrue(plan.getRequestStatus().getConflictsWithInstalledRoots().contains(emf));
-
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(sdk));
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithAnyRoots().size());
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots().size());
-	}
-
-	public void testConflictingSingletonAndMissingDependency2() {
-		//CDT will have a singleton conflict EMF
-		//EMF will be missing a dependency and will be in conflict with CDT
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "ASingleton", new VersionRange("[2.0.0, 2.0.0]"), null));
-		IInstallableUnit aSingleton1 = createIU("ASingleton", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), true);
-		IInstallableUnit aSingleton2 = createIU("ASingleton", Version.fromOSGiVersion(new org.osgi.framework.Version("2.0.0")), true);
-
-		IRequiredCapability emfOnSingleton = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "ASingleton", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IRequiredCapability emfMissing = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "EMFPart", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), new IRequiredCapability[] {emfOnSingleton, emfMissing});
-
-		createTestMetdataRepository(new IInstallableUnit[] {aSingleton1, aSingleton2, cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		Set conflictRoots = ((RequestStatus) plan.getRequestStatus()).getConflictsWithInstalledRoots();
-		assertTrue(conflictRoots.contains(cdt) || conflictRoots.contains(emf));
-
-		//		assertEquals(0, plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().size());
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(emf));
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots().size());
-		//		assertTrue(plan.getRequestStatus(emf).getConflictsWithAnyRoots().contains(cdt));
-	}
-
-	public void testConflictingSingletonAndMissingDependency3() {
-		//CDT will have a singleton conflict EMF and with the SDK
-		//EMF will be conflicting with CDT
-		IInstallableUnit cdt = createIU("CDT", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[2.0.0, 2.0.0]"), null));
-		IInstallableUnit sdkPart3 = createIU("SDKPart", Version.fromOSGiVersion(new org.osgi.framework.Version("3.0.0")), true);
-
-		IRequiredCapability emfOnSingleton = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "SDKPart", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IRequiredCapability emfMissing = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "EMFPart", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IInstallableUnit emf = createIU("EMF", Version.fromOSGiVersion(new org.osgi.framework.Version("1.0.0")), new IRequiredCapability[] {emfOnSingleton, emfMissing});
-
-		createTestMetdataRepository(new IInstallableUnit[] {sdkPart3, cdt, emf});
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		pcr.addInstallableUnits(new IInstallableUnit[] {cdt, emf});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(pcr, null, null);
-		// System.out.println(plan.getRequestStatus().getExplanations());
-		Set conflictRoots = ((RequestStatus) plan.getRequestStatus()).getConflictsWithInstalledRoots();
-		assertTrue(conflictRoots.contains(cdt) || conflictRoots.contains(emf));
-		//		assertTrue(plan.getRequestStatus().getConflictsWithInstalledRoots().contains(cdt));
-		//		assertTrue(plan.getRequestStatus().getConflictsWithInstalledRoots().contains(emf));
-
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithInstalledRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(sdk));
-		//		assertTrue(plan.getRequestStatus(cdt).getConflictsWithAnyRoots().contains(emf));
-		//		assertEquals(0, plan.getRequestStatus(emf).getConflictsWithInstalledRoots().size());
-		//		assertTrue(plan.getRequestStatus(emf).getConflictsWithAnyRoots().contains(cdt));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/FindingPatchesThroughUpdates.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/FindingPatchesThroughUpdates.java
deleted file mode 100644
index 4d1e9f8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/FindingPatchesThroughUpdates.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Properties;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class FindingPatchesThroughUpdates extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a120;
-	IInstallableUnitPatch patchA1, patchA2, anotherPatch2, anotherPatch3;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"));
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor("A", new VersionRange("[1.0.0, 1.0.0]"), 0, "update description");
-		a120 = createIU("UpdateA", Version.createOSGi(1, 2, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.2.0]"), null, false, false);
-		patchA1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle);
-
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.2.0]"), null, false, false);
-		patchA2 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change2}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle2);
-
-		IRequirementChange change3 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle3 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.2.0]"), null, false, false);
-		anotherPatch2 = createIUPatch("ANOTHERPATCH", Version.create("1.0.0"), true, new IRequirementChange[] {change3}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle3);
-
-		IRequirementChange change4 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle4 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.2.0]"), null, false, false);
-		anotherPatch3 = createIUPatch("ANOTHERPATCH", Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, new Properties(), null, null, true, MetadataFactory.createUpdateDescriptor("ANOTHERPATCH", new VersionRange("[1.0.0, 1.0.0]"), 0, ""), new IRequirementChange[] {change4}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle4, NO_REQUIRES);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a120, patchA1, patchA2, anotherPatch2, anotherPatch3});
-
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		IInstallableUnit[] updates = planner.updatesFor(a1, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals(2, updates.length);
-		assertEquals("Checking updates", new IInstallableUnit[] {a120, patchA1}, updates, false);
-	}
-
-	public void testFindUpdatesOfPatches() {
-		IInstallableUnit[] updates = planner.updatesFor(anotherPatch2, new ProvisioningContext(), new NullProgressMonitor());
-		assertEquals(1, updates.length);
-		assertEquals("Checking updates", new IInstallableUnit[] {anotherPatch3}, updates, false);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
deleted file mode 100644
index 82445ca..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class GreedyRequirement extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] reqB = new IRequiredCapability[1];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false);
-		a1 = createIU("A", Version.create("1.0.0"), reqB);
-
-		IRequiredCapability[] reqC = new IRequiredCapability[1];
-		reqC[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
-		c1 = createIU("C", Version.create("1.0.0"), reqC);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		//The plan contains B because the requirement from A on B is non greedy, but we are installing C that has a greedy requirement on the B
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, c1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, c1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
deleted file mode 100644
index 2b87b84..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUProperties.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class IUProperties extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit b11;
-	private IInstallableUnit c;
-	private IProfile profile;
-	private IPlanner planner;
-	private IEngine engine;
-	private String profileId;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		b1 = createIU("B1", Version.create("1.0.0"), true);
-
-		b11 = createIU("B1", Version.create("1.1.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 3.0.0)"), null), NO_PROPERTIES, true);
-
-		c = createIU("C", Version.createOSGi(2, 0, 0), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, c});
-
-		profileId = "TestProfile." + getName();
-		profile = createProfile(profileId);
-		planner = createPlanner();
-		engine = createEngine();
-
-	}
-
-	public void testRemoveIUProperty() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1});
-		req1.setInstallableUnitProfileProperty(a1, "FOO", "BAR");
-		req1.setInstallableUnitProfileProperty(b1, "FOO", "BAR");
-		IProvisioningPlan pp1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, pp1.getStatus().getSeverity());
-		IStatus s = engine.perform(pp1, null);
-		if (!s.isOK())
-			LogHelper.log(s);
-		Collector collector = getProfile(profileId).query(new IUProfilePropertyQuery("FOO", null), null);
-		assertEquals(1, collector.size());
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
-		req2.removeInstallableUnitProfileProperty(b1, "FOO");
-		IProvisioningPlan pp2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(0, pp2.getOperands().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
deleted file mode 100644
index 99a4f36..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUPropertyRemoval.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class IUPropertyRemoval extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-	private IEngine engine;
-	private String profileId;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		b1 = createIU("B1", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profileId = "TestProfile." + getName();
-		profile = createProfile(profileId);
-		planner = createPlanner();
-		engine = createEngine();
-
-	}
-
-	public void testRemoveIUProperty() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1});
-		req1.setInstallableUnitProfileProperty(a1, "FOO", "BAR");
-		req1.setInstallableUnitProfileProperty(b1, "FOO", "BAR");
-		IProvisioningPlan pp1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, pp1.getStatus().getSeverity());
-		engine.perform(pp1, null);
-		Collector res = getProfile(profileId).query(new IUProfilePropertyQuery("FOO", null), null);
-		assertEquals(2, res.size());
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
-		req2.removeInstallableUnitProfileProperty(b1, "FOO");
-		IProvisioningPlan pp2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(1, pp2.getOperands().length);
-		engine.perform(pp2, null);
-		Collector res2 = getProfile(profileId).query(new IUProfilePropertyQuery("FOO", null), null);
-		assertEquals(1, res2.size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
deleted file mode 100644
index fd96e94..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class IUWithFilter extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		MetadataFactory.InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		iud.setId("A");
-		iud.setVersion(Version.create("1.0.0"));
-		iud.setRequiredCapabilities(createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
-		iud.setFilter("(invalid=true)");
-		a1 = MetadataFactory.createInstallableUnit(iud);
-		createTestMetdataRepository(new IInstallableUnit[] {a1});
-		profile = createProfile(IUWithFilter.class.getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
deleted file mode 100644
index ae328cb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class IUWithFilter2 extends AbstractProvisioningTest {
-	IInstallableUnit a1, a2;
-	IInstallableUnit b1;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability[] reqs = new IRequiredCapability[1];
-		reqs[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		a1 = createIU("A", reqs);
-
-		IRequiredCapability[] reqsA2 = new IRequiredCapability[1];
-		reqsA2[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, true, false);
-		a2 = createIU("A", reqsA2);
-
-		b1 = createIU("B", Version.create("1.0.0"), "(invalid=true)", NO_PROVIDES);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1});
-		profile = createProfile(IUWithFilter2.class.getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallA1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void testInstallA2() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a2});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
deleted file mode 100644
index 101132f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class InclusionRuleTest extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit b1;
-	IProfile profile1;
-	IProfile profile2;
-	IProfile profile3;
-	IProfile profile4;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testMultipleInstallations() {
-		profile1 = createProfile("TestProfile." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertEquals(profile1.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Make a1 optional.
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertEquals(profile1.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Install b1 (this should not change anything for a1)
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {b1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		engine.perform(plan3, null);
-		assertProfileContainsAll("A1 or B1 is missing", profile1, new IInstallableUnit[] {a1, b1});
-		assertEquals(profile1.query(InstallableUnitQuery.ANY, null).size(), 2);
-
-		//Add a2, this removes a1.
-		ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
-		req4.addInstallableUnits(new IInstallableUnit[] {a2});
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
-		engine.perform(plan4, null);
-		assertProfileContainsAll("A2 is missing", profile1, new IInstallableUnit[] {a2});
-		assertNotIUs(new IInstallableUnit[] {a1}, profile1.query(InstallableUnitQuery.ANY, null).iterator());
-		assertEquals(profile1.query(InstallableUnitQuery.ANY, null).size(), 2);
-
-		//Try to add a1 again. This will fail because since a1 has been uninstalled in the previous step and we no longer know about its optional inclusion
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
-		req5.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-	}
-
-	public void testRemoveInclusionRule() {
-		profile2 = createProfile("TestProfile2." + getName());
-		//Install a1
-		ProfileChangeRequest req = new ProfileChangeRequest(profile2);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A1 is missing", profile2, new IInstallableUnit[] {a1});
-		assertEquals(profile2.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Make a1 optional.
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile2);
-		req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile2, new IInstallableUnit[] {a1});
-		assertEquals(profile2.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Install b1 (this should not change anything for a1)
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile2);
-		req3.addInstallableUnits(new IInstallableUnit[] {b1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		engine.perform(plan3, null);
-		profile2 = getProfile(profile2.getProfileId());
-		assertProfileContainsAll("A1 or B1 is missing", profile2, new IInstallableUnit[] {a1, b1});
-		assertEquals(profile2.query(InstallableUnitQuery.ANY, null).size(), 2);
-
-		//Remove the optional inclusion rule from a1. a1 and b1 are still here 
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile2);
-		req5.removeInstallableUnitInclusionRules(a1);
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
-		engine.perform(plan5, null);
-		profile2 = getProfile(profile2.getProfileId());
-		assertProfileContainsAll("A1 or B1 is missing", profile2, new IInstallableUnit[] {a1, b1});
-		assertEquals(profile2.query(InstallableUnitQuery.ANY, null).size(), 2);
-	}
-
-	public void testRemoveIUandInclusionRule() {
-		profile3 = createProfile("TestProfile3." + getName());
-		ProfileChangeRequest req = new ProfileChangeRequest(profile3);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A1 is missing", profile3, new IInstallableUnit[] {a1});
-		assertEquals(profile3.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Make a1 optional.
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile3);
-		req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile3, new IInstallableUnit[] {a1});
-		assertEquals(profile3.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Install b1 (this should not change anything for a1)
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile3);
-		req3.addInstallableUnits(new IInstallableUnit[] {b1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		engine.perform(plan3, null);
-		assertProfileContainsAll("A1 or B1 is missing", profile3, new IInstallableUnit[] {a1, b1});
-		assertEquals(profile3.query(InstallableUnitQuery.ANY, null).size(), 2);
-
-		//Remove the a1 and its inclusion rule
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile3);
-		req5.removeInstallableUnits(new IInstallableUnit[] {a1});
-		req5.removeInstallableUnitInclusionRules(a1);
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
-		engine.perform(plan5, null);
-		assertProfileContainsAll("bB1 is missing", profile3, new IInstallableUnit[] {b1});
-		assertEquals(profile3.query(InstallableUnitQuery.ANY, null).size(), 1);
-	}
-
-	public void testAdditionWithInclusionRule() {
-		profile4 = createProfile("TestProfile4." + getName());
-		//Try to Install a1 and a2
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile4);
-		req5.addInstallableUnits(new IInstallableUnit[] {a1, a2});
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-
-		//Install a1 and a2 marking a1 optional 
-		ProfileChangeRequest req = new ProfileChangeRequest(profile4);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, a2});
-		req.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A2 is missing", profile4, new IInstallableUnit[] {a2});
-		assertEquals(profile4.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Make a1 optional, this is a no-op since a1 is not in the system
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile4);
-		req2.setInstallableUnitInclusionRules(a1, PlannerHelper.createOptionalInclusionRule(a1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A2 is missing", profile4, new IInstallableUnit[] {a2});
-		assertEquals(profile4.query(InstallableUnitQuery.ANY, null).size(), 1);
-
-		//Install a1, this is expected to fail
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile4);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
deleted file mode 100644
index 9375222..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class InclusionRuleTest2 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IProfile profile;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		createIU("A", Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar"), null);
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testChangeIUProperty() {
-		//Add into the profile the version a1;
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		req.setInstallableUnitProfileProperty(a1, IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		engine.perform(plan, null);
-		assertProfileContainsAll("A1 is missing", profile, new IInstallableUnit[] {a1});
-
-		IProfileRegistry profileRegistry = getProfileRegistry();
-		profile = profileRegistry.getProfile(profile.getProfileId());
-		Collector c = profile.query(new UserVisibleRootQuery(), null);
-		assertEquals(c.size(), 1);
-
-		System.gc();
-		ProfileChangeRequest req2 = ProfileChangeRequest.createByProfileId(profile.getProfileId());
-		req2.removeInstallableUnits(new IInstallableUnit[] {a1});
-		req2.addInstallableUnits(new IInstallableUnit[] {a2});
-		//		req2.setInstallableUnitProfileProperty(a2, IProfile.PROP_PROFILE_ROOT_IU, Boolean.TRUE.toString());
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, a2);
-		engine.perform(plan2, null);
-		profile = getProfile(profile.getProfileId());
-		assertProfileContains("A2 is missing", profile, new IInstallableUnit[] {a2});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
deleted file mode 100644
index 7d03f72..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MinimalInstall.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MinimalInstall extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b11;
-	IInstallableUnit c;
-
-	IProfile profile;
-	IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		b1 = createIU("B1", Version.create("1.0.0"), true);
-
-		b11 = createIU("B1", Version.create("1.1.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 3.0.0)"), null), NO_PROPERTIES, true);
-
-		c = createIU("C", Version.createOSGi(2, 0, 0), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, c});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-
-	}
-
-	public void testInstallA1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
deleted file mode 100644
index 33109de..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingDependency extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		//Missing non optional dependency
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testContradiction() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		// System.out.println(explanation);
-		assertEquals(2, explanation.size());
-		Set rootConflictingIUs = requestStatus.getConflictsWithInstalledRoots();
-		// System.out.println(rootConflictingIUs);
-		assertEquals(1, rootConflictingIUs.size());
-		assertTrue(rootConflictingIUs.contains(b1));
-		assertFalse(rootConflictingIUs.contains(a1));
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
deleted file mode 100644
index e151f5c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingDependency2 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability[] reqA = new IRequiredCapability[1];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		//Missing optional dependency
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testContradiction() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
deleted file mode 100644
index fa67203..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingDependency3 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	//This tests that A can still be resolved and installed
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability[] reqA = new IRequiredCapability[1];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		//Missing dependency
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testContradiction() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
deleted file mode 100644
index cade161..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingNonGreedyRequirement extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		c1 = createIU("C", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] reqB = new IRequiredCapability[2];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false);
-		reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqB);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		//The planner returns an error because the requirement from A on B is non greedy and no one brings in B
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		assertFalse(explanation.isEmpty());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(a1));
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
deleted file mode 100644
index 263e16f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingNonGreedyRequirement2 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		c1 = createIU("C", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] reqB = new IRequiredCapability[2];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false);
-		reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqB);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		//The planner returns an error because the requirement from A on B is non greedy and no one brings in B.
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		assertFalse(explanation.isEmpty());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(a1));
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
deleted file mode 100644
index 7e8a32e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingOptional extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit d;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		d = createIU("D", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, d});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1); //THIS May not be in
-		assertInstallOperand(plan, d);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
deleted file mode 100644
index 862ab80..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingOptionalNonGreedyRequirement extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		IRequiredCapability[] reqB = new IRequiredCapability[1];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false);
-		a1 = createIU("A", Version.create("1.0.0"), reqB);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		//The plan does not contains B because the requirement from A on B is non greedy and no one brings in B
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertNoOperand(plan, b1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
deleted file mode 100644
index 5bf75b5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingOptionalWithDependencies extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit d;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		//B's dependency is missing
-		IRequiredCapability[] reqB = new IRequiredCapability[2];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), reqB);
-
-		IRequiredCapability[] req = new IRequiredCapability[2];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
-		d = createIU("D", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, d});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, d);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
deleted file mode 100644
index addf58f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingOptionalWithDependencies2 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IInstallableUnit c2;
-	private IInstallableUnit d;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		c1 = createIU("C", Version.create("1.0.0"), true);
-		c2 = createIU("C", Version.create("2.0.0"), true);
-
-		//B's dependency on C can not be satisfied
-		IRequiredCapability[] reqB = new IRequiredCapability[2];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true);
-		reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), reqB);
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true);
-		d = createIU("D", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, c2, d});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, d);
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, c2);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
deleted file mode 100644
index bd913a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MissingOptionalWithDependencies3 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IInstallableUnit c2;
-	private IInstallableUnit d;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		c1 = createIU("C", Version.create("1.0.0"), true);
-		c2 = createIU("C", Version.create("2.0.0"), true);
-
-		//B's dependency on C can not be satisfied
-		IRequiredCapability[] reqB = new IRequiredCapability[2];
-		reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true);
-		reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		b1 = createIU("B", Version.create("1.0.0"), reqB);
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true);
-		d = createIU("D", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, c2, d});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {d});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, d);
-		assertInstallOperand(plan, c2);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
deleted file mode 100644
index cb6834b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleProvider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MultipleProvider extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b11;
-	IInstallableUnit b12;
-	IInstallableUnit b13;
-	IInstallableUnit b14;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B1", new VersionRange("[1.0.0, 2.0.0)"), null));
-
-		b1 = createIU("B1", Version.create("1.0.0"), true);
-
-		b11 = createIU("B1", Version.create("1.1.0"), true);
-
-		b12 = createIU("B1", Version.create("1.2.0"), true);
-
-		b13 = createIU("B1", Version.create("1.3.0"), true);
-
-		b14 = createIU("B1", Version.create("1.4.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b11, b12, b13, b14});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
deleted file mode 100644
index 1b0fc3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MultipleSingleton extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit a3;
-	IInstallableUnit a4;
-	IInstallableUnit u, v, w, x, y, z;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		a3 = createIU("A", Version.create("3.0.0"), false);
-
-		a4 = createIU("A", Version.create("4.0.0"), false);
-
-		x = createIU("X", Version.createOSGi(2, 0, 0), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 4.1.0)"), null));
-
-		IRequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IRequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
-		y = createIU("Y", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c1, c2});
-
-		IRequiredCapability c3 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false);
-		IRequiredCapability c4 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[4.0.0, 4.0.0]"), null, false, false);
-		z = createIU("Z", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c3, c4});
-
-		IRequiredCapability c5 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IRequiredCapability c6 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false);
-		w = createIU("W", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c5, c6});
-
-		IRequiredCapability c7 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 2.0.0]"), null, false, false);
-		IRequiredCapability c8 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0]"), null, false, false);
-		v = createIU("V", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c7});
-		u = createIU("U", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c8});
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, a3, a4, w, x, y, z});
-
-		profile = createProfile("TestProfile.MultipleSingleton" + getName());
-		planner = createPlanner();
-
-	}
-
-	public void test1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(1, plan.getCompleteState().query(new InstallableUnitQuery("X"), null).size());
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
-	}
-
-	public void test2() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {y});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void testExplanation2() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {y});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		// System.out.println(explanation);
-		assertFalse(explanation.isEmpty());
-		assertEquals(Explanation.VIOLATED_SINGLETON_CONSTRAINT, requestStatus.getShortExplanation());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(y));
-		assertEquals(1, requestStatus.getConflictsWithInstalledRoots().size());
-
-	}
-
-	public void test3() {
-		//Test that we can install A3 and A4 together
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {z});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void test4() {
-		//Ensure that A1 and A3 can't be installed together since one is singleton and the other not
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {w});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void testExplanation4() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {w});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		// System.out.println(explanation);
-		assertFalse(explanation.isEmpty());
-		assertEquals(Explanation.VIOLATED_SINGLETON_CONSTRAINT, requestStatus.getShortExplanation());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(w));
-
-	}
-
-	public void test5b() {
-		//Validate the setup
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {u});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void test5c() {
-		//Validate the setup
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {v});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void test5() {
-		//Ensure
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {u, v});
-		assertEquals(IStatus.ERROR, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-
-	public void testExplanation5() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {u, v});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set explanation = requestStatus.getExplanations();
-		assertFalse(explanation.isEmpty());
-		assertEquals(Explanation.VIOLATED_SINGLETON_CONSTRAINT, requestStatus.getShortExplanation());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(u));
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(v));
-		// System.out.println(explanation);
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
deleted file mode 100644
index 624be49..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NegationTesting.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.director.Slicer;
-import org.eclipse.equinox.internal.p2.metadata.ProvidedCapability;
-import org.eclipse.equinox.internal.p2.metadata.RequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IQueryable;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class NegationTesting extends AbstractProvisioningTest {
-	private static final String NS = "theNamespace";
-	private static final String N = "theName";
-
-	//	public void testNot1() {
-	//		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 1.2.0)"), null, 0, 0, false);
-	//		ProvidedCapability prov = new ProvidedCapability(NS, N, Version.createOSGi(1, 5, 0));
-	//		assertTrue(prov.satisfies(req1));
-	//	}
-	//
-	//	public void testNot2() {
-	//		RequiredCapability req = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 1.2.0)"), null, 0, 0, false);
-	//		ProvidedCapability prov = new ProvidedCapability(NS, N, Version.createOSGi(1, 1, 0));
-	//		assertFalse(prov.satisfies(req));
-	//	}
-	//
-	//	public void testNot3() {
-	//		RequiredCapability req = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 1.2.0)"), null, 0, 0, false);
-	//		//		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.5.0, 2.0.0)"), null, false, false);
-	//		ProvidedCapability prov = new ProvidedCapability("foo", "bar", Version.createOSGi(1, 5, 0));
-	//		assertTrue(prov.satisfies(req));
-	//	}
-
-	//Test the slicer and the resolver. 
-	public void testNot4() {
-		MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
-		iud1.setId("TestNegation4");
-		iud1.setVersion(Version.create("1.0.0"));
-		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.1.0, 1.2.0)"), null, 0, 0, false);
-		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 2.0.0)"), null, false, false);
-		Collection requirements = new ArrayList();
-		requirements.add(req1);
-		requirements.add(req2);
-		iud1.addRequiredCapabilities(requirements);
-		Collection capabilities = new ArrayList();
-		capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
-		iud1.addProvidedCapabilities(capabilities);
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud2.setId("ProviderOf1");
-		iud2.setVersion(Version.create("1.0.0"));
-		Collection capabilities2 = new ArrayList();
-		capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
-		iud2.addProvidedCapabilities(capabilities2);
-		IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
-
-		MetadataFactory.InstallableUnitDescription iud3 = new MetadataFactory.InstallableUnitDescription();
-		iud3.setId("ProviderOf1_1_1");
-		iud3.setVersion(Version.create("1.0.0"));
-		Collection capabilities3 = new ArrayList();
-		capabilities3.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.1.1")));
-		capabilities3.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "ProviderOf1_1_1", Version.create("1.0.0")));
-		iud3.addProvidedCapabilities(capabilities3);
-		IInstallableUnit iu3 = MetadataFactory.createInstallableUnit(iud3);
-
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3});
-
-		// Verify that the slice includes iu3 because the requirement from iu1 is a range including the provided capability of iu3.
-		Slicer slicer = new Slicer(repo, new Properties(), false);
-		IQueryable slice = slicer.slice(new IInstallableUnit[] {iu1}, new NullProgressMonitor());
-		assertEquals(3, slice.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-
-		//Verify that the resolution succeeds and does not return iu3 since it is excluded by the requirement of iu1
-		IProfile profile = createProfile("TestProfile." + getName());
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest changeRequest = new ProfileChangeRequest(profile);
-		changeRequest.addInstallableUnits(new IInstallableUnit[] {iu1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest, null, null);
-		assertEquals(0, plan.getCompleteState().query(new InstallableUnitQuery("ProviderOf1_1_1"), null).size());
-		assertEquals(2, plan.getCompleteState().query(InstallableUnitQuery.ANY, null).size());
-
-		//Verify that the installing iu1 and iu3 will result in a conflict since iu3 is excluded by the requirement of iu1
-		ProfileChangeRequest changeRequest2 = new ProfileChangeRequest(profile);
-		changeRequest2.addInstallableUnits(new IInstallableUnit[] {iu1, iu3});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(changeRequest2, null, null);
-		assertNotOK("The resolution should be failing because of the negation requirement.", plan2.getStatus());
-	}
-
-	public void testNot5() {
-		MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
-		iud1.setId("TestNegation4");
-		iud1.setVersion(Version.create("1.0.0"));
-		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.1.0, 1.2.0)"), null, 0, 0, false);
-		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 1.1.0)"), null, false, false);
-		Collection requirements = new ArrayList();
-		requirements.add(req1);
-		requirements.add(req2);
-		iud1.addRequiredCapabilities(requirements);
-		Collection capabilities = new ArrayList();
-		capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
-		iud1.addProvidedCapabilities(capabilities);
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud2.setId("ProviderOf1");
-		iud2.setVersion(Version.create("1.0.0"));
-		Collection capabilities2 = new ArrayList();
-		capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
-		iud2.addProvidedCapabilities(capabilities2);
-		IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
-
-		MetadataFactory.InstallableUnitDescription iud3 = new MetadataFactory.InstallableUnitDescription();
-		iud3.setId("ProviderOf1_1_1");
-		iud3.setVersion(Version.create("1.0.0"));
-		Collection capabilities3 = new ArrayList();
-		capabilities3.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.1.1")));
-		capabilities3.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "ProviderOf1_1_1", Version.create("1.0.0")));
-		iud3.addProvidedCapabilities(capabilities3);
-		IInstallableUnit iu3 = MetadataFactory.createInstallableUnit(iud3);
-
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3});
-
-		//Test the slicer. The slice will not contain iu3 because none of the range of iu1 cause it to be brought in.
-		Slicer slicer = new Slicer(repo, new Properties(), false);
-		IQueryable slice = slicer.slice(new IInstallableUnit[] {iu1}, new NullProgressMonitor());
-		assertEquals(0, slice.query(new InstallableUnitQuery("ProviderOf1_1_1"), new NullProgressMonitor()).size());
-		assertEquals(2, slice.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-	}
-
-	public void testNot6() {
-		MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
-		iud1.setId("TestNegation4");
-		iud1.setVersion(Version.create("1.0.0"));
-		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.1.0, 1.2.0)"), null, 0, 0, false);
-		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 1.1.0)"), null, false, false);
-		Collection requirements = new ArrayList();
-		requirements.add(req1);
-		requirements.add(req2);
-		iud1.addRequiredCapabilities(requirements);
-		Collection capabilities = new ArrayList();
-		capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
-		iud1.addProvidedCapabilities(capabilities);
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud2.setId("ProviderOf1");
-		iud2.setVersion(Version.create("1.0.0"));
-		Collection capabilities2 = new ArrayList();
-		capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
-		iud2.addProvidedCapabilities(capabilities2);
-		IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
-
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2});
-
-		//Test the slicer. The slice will not contain iu3 because none of the range of iu1 cause it to be brought in.
-		Slicer slicer = new Slicer(repo, new Properties(), false);
-		IQueryable slice = slicer.slice(new IInstallableUnit[] {iu1}, new NullProgressMonitor());
-		assertEquals(0, slice.query(new InstallableUnitQuery("ProviderOf1_1_1"), new NullProgressMonitor()).size());
-		assertEquals(2, slice.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-
-		//Verify that the negation can not fail the resolution when the IUs satisfying the negative requirement are not there 
-		IProfile profile = createProfile("TestProfile." + getName());
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest changeRequest = new ProfileChangeRequest(profile);
-		changeRequest.addInstallableUnits(new IInstallableUnit[] {iu1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest, null, null);
-		assertEquals(0, plan.getCompleteState().query(new InstallableUnitQuery("ProviderOf1_1_1"), null).size());
-		assertEquals(2, plan.getCompleteState().query(InstallableUnitQuery.ANY, null).size());
-	}
-
-	//Test the slicer and the resolver. 
-	public void testNot7() {
-		MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
-		iud1.setId("TestNegation4");
-		iud1.setVersion(Version.create("1.0.0"));
-		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.1.0, 1.2.0)"), null, 0, 0, false);
-		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 2.0.0)"), null, false, false);
-		Collection requirements = new ArrayList();
-		requirements.add(req1);
-		requirements.add(req2);
-		iud1.addRequiredCapabilities(requirements);
-		Collection capabilities = new ArrayList();
-		capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
-		iud1.addProvidedCapabilities(capabilities);
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud2.setId("ProviderOf1");
-		iud2.setVersion(Version.create("1.0.0"));
-		Collection capabilities2 = new ArrayList();
-		capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
-		iud2.addProvidedCapabilities(capabilities2);
-		IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
-
-		MetadataFactory.InstallableUnitDescription iud3 = new MetadataFactory.InstallableUnitDescription();
-		iud3.setId("ProviderOf1_1_1");
-		iud3.setVersion(Version.create("1.0.0"));
-		Collection capabilities3 = new ArrayList();
-		capabilities3.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.1.1")));
-		capabilities3.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "ProviderOf1_1_1", Version.create("1.0.0")));
-		iud3.addProvidedCapabilities(capabilities3);
-		Collection requirements3 = new ArrayList();
-		requirements3.add(MetadataFactory.createRequiredCapability("DOES-NOT-EXIST", "NEVER", new VersionRange("[1.0.0, 2.0.0)"), null, false, false));
-		iud3.addRequiredCapabilities(requirements3);
-		IInstallableUnit iu3 = MetadataFactory.createInstallableUnit(iud3);
-
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3});
-
-		// Verify that the slice includes iu3 because the requirement from iu1 is a range including the provided capability of iu3.
-		Slicer slicer = new Slicer(repo, new Properties(), false);
-		IQueryable slice = slicer.slice(new IInstallableUnit[] {iu1}, new NullProgressMonitor());
-		assertEquals(3, slice.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-
-		//Verify that the resolution succeeds and does not return iu3 since it is excluded by the requirement of iu1
-		IProfile profile = createProfile("TestProfile." + getName());
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest changeRequest = new ProfileChangeRequest(profile);
-		changeRequest.addInstallableUnits(new IInstallableUnit[] {iu1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest, null, null);
-		assertEquals(0, plan.getCompleteState().query(new InstallableUnitQuery("ProviderOf1_1_1"), null).size());
-		assertEquals(2, plan.getCompleteState().query(InstallableUnitQuery.ANY, null).size());
-
-		//Verify that the installing iu1 and iu3 will result in a conflict since iu3 is excluded by the requirement of iu1
-		ProfileChangeRequest changeRequest2 = new ProfileChangeRequest(profile);
-		changeRequest2.addInstallableUnits(new IInstallableUnit[] {iu1, iu3});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(changeRequest2, null, null);
-		assertNotOK("The resolution should be failing because of the negation requirement.", plan2.getStatus());
-	}
-
-	public void testNot8() {
-		MetadataFactory.InstallableUnitDescription iud1 = new MetadataFactory.InstallableUnitDescription();
-		iud1.setId("TestNegation4");
-		iud1.setVersion(Version.create("1.0.0"));
-		RequiredCapability req1 = new RequiredCapability(NS, N, new VersionRange("[1.1.0, 1.2.0)"), null, 0, 0, false);
-		RequiredCapability req2 = new RequiredCapability(NS, N, new VersionRange("[1.0.0, 2.0.0)"), null, false, false);
-		Collection requirements = new ArrayList();
-		requirements.add(req1);
-		requirements.add(req2);
-		iud1.addRequiredCapabilities(requirements);
-		Collection capabilities = new ArrayList();
-		capabilities.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "TestNegation4", Version.create("1.0.0")));
-		iud1.addProvidedCapabilities(capabilities);
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(iud1);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud2.setId("ProviderOf1");
-		iud2.setVersion(Version.create("1.0.0"));
-		Collection capabilities2 = new ArrayList();
-		capabilities2.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.0.0")));
-		iud2.addProvidedCapabilities(capabilities2);
-		IInstallableUnit iu2 = MetadataFactory.createInstallableUnit(iud2);
-
-		MetadataFactory.InstallableUnitDescription iud3 = new MetadataFactory.InstallableUnitDescription();
-		iud3.setId("ProviderOf1_1_1");
-		iud3.setVersion(Version.create("1.0.0"));
-		Collection capabilities3 = new ArrayList();
-		capabilities3.add(MetadataFactory.createProvidedCapability(NS, N, Version.create("1.1.1")));
-		capabilities3.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "ProviderOf1_1_1", Version.create("1.0.0")));
-		iud3.addProvidedCapabilities(capabilities3);
-		IInstallableUnit iu3 = MetadataFactory.createInstallableUnit(iud3);
-
-		MetadataFactory.InstallableUnitDescription iud4 = new MetadataFactory.InstallableUnitDescription();
-		iud4.setId("AnotherRoot");
-		iud4.setVersion(Version.create("1.0.0"));
-		Collection capabilities4 = new ArrayList();
-		capabilities4.add(new ProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "AnotherRoot", Version.create("1.0.0")));
-		iud4.addProvidedCapabilities(capabilities4);
-		Collection reqs4 = new ArrayList();
-		reqs4.add(new RequiredCapability(NS, N, new VersionRange("[1.1.1, 1.1.1]"), null, false, false));
-		iud4.addRequiredCapabilities(reqs4);
-		IInstallableUnit iu4 = MetadataFactory.createInstallableUnit(iud4);
-
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {iu1, iu2, iu3, iu4});
-
-		// Verify that the slice includes iu3
-		Slicer slicer = new Slicer(repo, new Properties(), false);
-		IQueryable slice = slicer.slice(new IInstallableUnit[] {iu1, iu4}, new NullProgressMonitor());
-		assertEquals(4, slice.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-
-		// Verify that the slice includes iu3
-		Slicer slicer2 = new Slicer(repo, new Properties(), false);
-		IQueryable slice2 = slicer2.slice(new IInstallableUnit[] {iu4}, new NullProgressMonitor());
-		assertEquals(2, slice2.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-
-		//Verify that the resolution succeeds and does not return iu3 since it is excluded by the requirement of iu1
-		IProfile profile = createProfile("TestProfile." + getName());
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest changeRequest = new ProfileChangeRequest(profile);
-		changeRequest.addInstallableUnits(new IInstallableUnit[] {iu1});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(changeRequest, null, null);
-		assertEquals(0, plan.getCompleteState().query(new InstallableUnitQuery("ProviderOf1_1_1"), null).size());
-		assertEquals(2, plan.getCompleteState().query(InstallableUnitQuery.ANY, null).size());
-
-		//Verify that the installing iu1 and iu4 will result in a conflict since iu3 is excluded by the requirement of iu1
-		ProfileChangeRequest changeRequest2 = new ProfileChangeRequest(profile);
-		changeRequest2.addInstallableUnits(new IInstallableUnit[] {iu1, iu4});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(changeRequest2, null, null);
-		assertNotOK("The resolution should be failing because of the negation requirement.", plan2.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
deleted file mode 100644
index 3fede47..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NoRequirements.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class NoRequirements extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null));
-		createTestMetdataRepository(new IInstallableUnit[] {a1});
-		profile = createProfile(NoRequirements.class.getName());
-		planner = createPlanner();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		assertEquals(IStatus.OK, planner.getProvisioningPlan(req, null, null).getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState.java
deleted file mode 100644
index 6cfb595..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class NonMinimalState extends AbstractProvisioningTest {
-	IProfile profile = null;
-	IMetadataRepository repo = null;
-	private String searchedId;
-	private Set visited = new HashSet();
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("Non Minimal state", "testData/nonMinimalState/");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("NonMinimalState");
-		getMetadataRepositoryManager().addRepository(getTestData("nonMinimalState-galileoM7", "testData/galileoM7/").toURI());
-		assertNotNull(profile);
-	}
-
-	public void testValidateProfileWithRepository() {
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.agentcontroller"), null).size());
-		why("slf4j.api");
-		why("slf4j.jcl");
-		why("org.eclipse.tptp.platform.iac.administrator");
-		why("org.eclipse.tptp.platform.agentcontroller");
-	}
-
-	public void testValidateProfileWithoutRepo() {
-		IPlanner planner = createPlanner();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		ProvisioningContext ctx = new ProvisioningContext(new URI[0]);
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.agentcontroller"), null).size());
-	}
-
-	private void why(String id) {
-		System.out.println("=-=-=" + id + "=-=-=");
-		visited = new HashSet();
-		Collector roots = profile.query(new IUProfilePropertyQuery("org.eclipse.equinox.p2.type.root", "true"), null);
-		searchedId = id;
-		for (Iterator iterator = roots.iterator(); iterator.hasNext();) {
-			IInstallableUnit type = (IInstallableUnit) iterator.next();
-			if (type instanceof IInstallableUnitFragment) {
-				visited.add(type);
-				continue;
-			}
-			if (processIU(type))
-				return;
-		}
-	}
-
-	public boolean processIU(IInstallableUnit iu) {
-		if (iu.getId().equals("toolingorg.eclipse.equinox.launcher") || iu.getId().equals("tooling.osgi.bundle.default") || iu.getId().startsWith("tooling")) {
-			//		if (iu instanceof IInstallableUnitFragment) {
-			visited.add(iu);
-			return false;
-		}
-		IRequirement[] caps = iu.getRequiredCapabilities();
-		for (int i = 0; i < caps.length; i++) {
-			boolean result = expandRequirement(iu, caps[i]);
-			if (result) {
-				System.out.println(iu + " because " + caps[i].toString());
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean expandRequirement(IInstallableUnit iu, IRequirement req) {
-		Collector matches = profile.query(req.getMatches(), null);
-		for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-			IInstallableUnit match = (IInstallableUnit) iterator.next();
-			if (match.getId().equals(searchedId))
-				return true;
-			if (!visited.contains(match)) {
-				visited.add(match);
-				if (processIU(match))
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState2.java
deleted file mode 100644
index 777c714..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/NonMinimalState2.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class NonMinimalState2 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	IMetadataRepository repo = null;
-
-	protected void setUp() throws Exception {
-		getMetadataRepositoryManager().addRepository(getTestData("Test repo (copy of Galileo M7)", "testData/galileoM7/").toURI());
-		profile = createProfile(NonMinimalState2.class.getName());
-	}
-
-	public void testInstallJetty() {
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits((IInstallableUnit[]) getMetadataRepositoryManager().query(new InstallableUnitQuery("org.mortbay.jetty.server"), null).toArray(IInstallableUnit.class));
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.agentcontroller"), null).size());
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.iac.administrator"), null).size());
-	}
-
-	//	public void testp2Source() {
-	//		IPlanner planner = createPlanner();
-	//		IInstallableUnit iu = createIU("aRoot", new IRequiredCapability[] {MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.iu", "org.eclipse.equinox.p2.user.ui.source.feature.group", VersionRange.emptyRange, null, false, false)});
-	//		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-	//		request.addInstallableUnits(new IInstallableUnit[] {iu});
-	//		ProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-	//		assertOK("Plan OK", plan.getStatus());
-	//	}
-	//
-	public void testWithTwoTPTP() {
-		IRequiredCapability cap1 = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.iu", "org.eclipse.tptp.platform.agentcontroller", VersionRange.emptyRange, null, false, false);
-		IRequiredCapability cap2 = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.iu", "org.eclipse.tptp.platform.iac.administrator", VersionRange.emptyRange, null, false, false);
-		IInstallableUnit iu = createEclipseIU("org.eclipse.hyades.execution", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {cap1, cap2}, null);
-		createTestMetdataRepository(new IInstallableUnit[] {iu});
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits((IInstallableUnit[]) getMetadataRepositoryManager().query(new InstallableUnitQuery("org.mortbay.jetty.server"), null).toArray(IInstallableUnit.class));
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, null, new NullProgressMonitor());
-		assertOK("Plan OK", plan.getStatus());
-
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.agentcontroller"), null).size());
-		assertEquals(0, plan.getAdditions().query(new InstallableUnitQuery("org.eclipse.tptp.platform.iac.administrator"), null).size());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
deleted file mode 100644
index aa157fa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PP2ShouldFailToInstall extends AbstractProvisioningTest {
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU("p2.feature", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU("P1", Version.createOSGi(1, 0, 0), true);
-		p2 = createIU("P2", Version.createOSGi(1, 0, 0), true);
-		p1b = createIU("P1", Version.createOSGi(1, 1, 1), true);
-		p2b = createIU("P2", Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch("PP1", Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[3.1.1, 3.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch("PP2", Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine).getSeverity() == IStatus.ERROR)
-			fail("Setup failed while installing patch");
-
-		assertEquals(IStatus.ERROR, install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine).getSeverity());
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1});
-	}
-
-	public void testUninstall() {
-		IStatus result = uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
-		assertTrue("1.0", result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
deleted file mode 100644
index ec3ecc7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchFailingToInstall extends AbstractProvisioningTest {
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU("p2.feature", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU("P1", Version.createOSGi(1, 0, 0), true);
-		p2 = createIU("P2", Version.createOSGi(1, 0, 0), true);
-		p1b = createIU("P1", Version.createOSGi(1, 1, 1), true);
-		p2b = createIU("P2", Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}};
-		pp1 = createIUPatch("PP1", Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}};
-		pp2 = createIUPatch("PP2", Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (install(profile1, new IInstallableUnit[] {pp1}, false, planner, engine).getSeverity() == IStatus.ERROR)
-			fail("Setup failed while installing patch");
-
-		if (install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine).getSeverity() == IStatus.ERROR)
-			fail("Setup failed while installing patch");
-
-		fail("this should likely fail since the scope does not match anything");
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, pp1, pp2});
-	}
-
-	public void testUninstall() {
-		IStatus result = uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
-		assertTrue("1.0", result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
deleted file mode 100644
index 97d3241..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest1 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//The requirement from A to B is broken because there is no B satisifying. Therefore A can only install if the P is installed as well
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
deleted file mode 100644
index 11434e3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest10 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit b3;
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		b3 = createIU("B", Version.createOSGi(1, 3, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		IRequirementChange anotherChangeB = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.3.0]"), null, false, false, true));
-		pp1 = createIUPatch("PP", Version.create("1.0.0"), true, new IRequirementChange[] {anotherChangeB}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testConflictingPatches() {
-		//a1 and p1 can be installed together  
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, p1);
-		assertInstallOperand(plan1, b2);
-
-		//a1 and pp1 can be installed together
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a1, pp1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, a1);
-		assertInstallOperand(plan2, pp1);
-		assertInstallOperand(plan2, b3);
-
-		//a1, p1, and pp1 can not be installed together
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p1, pp1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p1, pp1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-		// Set problems = plan3.getRequestStatus().getConflictsWithInstalledRoots();
-		// System.out.println(problems);
-		// System.out.println(plan3.getRequestStatus().getExplanations());
-		//		assertEquals(3, plan3.getRequestStatus().getExplanations().size());
-		//		assertTrue(plan3.getRequestStatus().getExplanations().contains(a1));
-		//		assertTrue(plan3.getRequestStatus().getExplanations().contains(p1));
-		//		assertTrue(plan3.getRequestStatus().getExplanations().contains(pp1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
deleted file mode 100644
index 1692a0f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest11 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), "foo=bar", false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstallBogusInstallFilterInPatch() {
-		//P1 changes the requirement from A on B to be filtered (the filter evaluates to false): A requires B [1.0.0, 1.0.0] becomes when the patch is applied A requires B [1.1.0, 1.3.0) if "foo=bar"
-		//The result is a bit counter intuitive but correct. Only A1 and P1 are installed. No be get installed since the dependency on B is filtered out. 
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
-		assertNoOperand(plan2, b1);
-		assertNoOperand(plan2, b2);
-		assertInstallOperand(plan2, a1);
-		assertInstallOperand(plan2, p1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
deleted file mode 100644
index 5762e15..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest12 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.4.0, 1.5.0)"), null, false, true, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstallBogusInstallFilterInPatch() {
-		//Try to install a1 and p1 optionally
-		//p1 ends up being not installed because the new requirements that it sets on A for B can not be met (no B are matching).
-		//the only thing that ends up being installed are A 1.0.0 and B 1.0.0
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
-		assertNoOperand(plan2, p1);
-		assertNoOperand(plan2, b2);
-		assertNoOperand(plan2, p1);
-		assertInstallOperand(plan2, a1);
-		assertInstallOperand(plan2, b1);
-
-		//Try to install a1 and p1. This should fail because the patch adds an invalid filter 
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertTrue(IStatus.ERROR == plan3.getStatus().getSeverity());
-
-	}
-
-	public void testExplanation1() {
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		ProvisioningPlan plan3 = (ProvisioningPlan) planner.getProvisioningPlan(req3, null, null);
-		assertTrue(IStatus.ERROR == plan3.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan3.getRequestStatus();
-		Set conflictRootIUs = requestStatus.getConflictsWithInstalledRoots();
-		assertTrue(conflictRootIUs.contains(p1));
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
deleted file mode 100644
index b6da8e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest13 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit d1;
-	IInstallableUnit c1;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		d1 = createIU("D", Version.createOSGi(1, 0, 0), true);
-		c1 = createIU("C", Version.createOSGi(1, 0, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
deleted file mode 100644
index 50f4a4b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest1b extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//A requires B 1.0, the installation of the P will result in B 1.2 to be installed		
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, p1);
-		assertInstallOperand(plan1, b2);
-		assertNoOperand(plan1, b1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
deleted file mode 100644
index ff60f92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest1c extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit b3;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		b3 = createIU("B", Version.createOSGi(1, 3, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//A requires B [1.0, 1.1), the installation of P will result in B 1.2 to be installed		
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertTrue(IStatus.ERROR != plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, p1);
-		assertInstallOperand(plan1, b2);
-		assertNoOperand(plan1, b1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
deleted file mode 100644
index b1b91d3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest2 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch p2;
-	IInstallableUnitPatch p3;
-	IInstallableUnitPatch p4;
-	IInstallableUnitPatch p5;
-	IInstallableUnitPatch p6;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", Version.createOSGi(1, 0, 0))};
-		a1 = createIU("A", Version.create("1.0.0"), null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		b1 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, null);
-		p2 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
-		p3 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
-		p4 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.6.0, 1.7.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null);
-		p5 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability("foo", "bar", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.5.0]"), null, false, false, false)}}, null);
-		p6 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {}, null);
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1, p2, p3, p4, p5, p6});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testPatchScope() {
-		//p6 applies to all IUs therefore A's installation succeed
-		ProfileChangeRequest req8 = new ProfileChangeRequest(profile1);
-		req8.addInstallableUnits(new IInstallableUnit[] {a1, p6});
-		IProvisioningPlan plan8 = planner.getProvisioningPlan(req8, null, null);
-		assertEquals(IStatus.OK, plan8.getStatus().getSeverity());
-
-		//p5 does not causes a1 to resolve therefore the application fails
-		ProfileChangeRequest req6 = new ProfileChangeRequest(profile1);
-		req6.addInstallableUnits(new IInstallableUnit[] {a1, p5});
-		IProvisioningPlan plan6 = planner.getProvisioningPlan(req6, null, null);
-		assertEquals(IStatus.OK, plan6.getStatus().getSeverity());
-
-		//Ensure that p1 causes a1 to resolve
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-
-		//p2 does not causes a1 to resolve therefore the application fails
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p2});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-
-		//Ensure that p3 causes a1 to resolve since it has two scopes where one is applicable
-		ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
-		req4.addInstallableUnits(new IInstallableUnit[] {a1, p3});
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
-
-		//p4 does not causes a1 to resolve therefore the application fails
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
-		req5.addInstallableUnits(new IInstallableUnit[] {a1, p4});
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-
-	}
-
-	public void testExplanation3() {
-		//p2 does not cause a1 to resolve therefore the application fails
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {a1, p2});
-		ProvisioningPlan plan3 = (ProvisioningPlan) planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.ERROR, plan3.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan3.getRequestStatus();
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-		// System.out.println(plan3.getRequestStatus().getExplanations());
-		Set conflictingRoot = requestStatus.getConflictsWithInstalledRoots();
-		assertTrue(conflictingRoot.contains(a1));
-		assertEquals(1, conflictingRoot.size());
-	}
-
-	public void testExplanation5() {
-		//p4 does not cause a1 to resolve therefore the application fails
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
-		req5.addInstallableUnits(new IInstallableUnit[] {a1, p4});
-		ProvisioningPlan plan5 = (ProvisioningPlan) planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.ERROR, plan5.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan5.getRequestStatus();
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-		// System.out.println(plan5.getRequestStatus().getExplanations());
-		Set conflictingRoot = requestStatus.getConflictsWithInstalledRoots();
-		assertTrue(conflictingRoot.contains(a1));
-		assertEquals(1, conflictingRoot.size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
deleted file mode 100644
index 5de4a4d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest3 extends AbstractProvisioningTest {
-	IInstallableUnit f1;
-	IInstallableUnit f2;
-	IInstallableUnit a1;
-	IInstallableUnit a3;
-	IInstallableUnit b1, b2;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, true)});
-		f2 = createIU("F", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0)"), null, false, false, true)});
-		IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", Version.createOSGi(1, 0, 0))};
-		a1 = createIU("A", Version.create("1.0.0"), null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, null);
-		a3 = createIU("A", Version.createOSGi(3, 0, 0), true);
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(2, 0, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, false);
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, lifeCycle);
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1, a3, f1, f2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testCompleteScenario() {
-		//	Install a1
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, b1);
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, f1);
-		engine.perform(plan1, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
-		assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {f1});
-
-		//Install p1, this should cause b1 to be uninstalled and b2 to be used instead
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {p1});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, p1);
-		assertInstallOperand(plan2, b2);
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
-		assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
-		assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {f1});
-
-		//Try to uninstall p1, this causes b1 to come back and b2 to go away
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.removeInstallableUnits(new IInstallableUnit[] {p1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertTrue(IStatus.ERROR != plan3.getStatus().getSeverity());
-		assertInstallOperand(plan3, b1);
-		assertUninstallOperand(plan3, b2);
-		assertUninstallOperand(plan3, p1);
-
-		//Try to uninstall f should not be blocked by p1 since it is installed optionally
-		ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
-		req4.removeInstallableUnits(new IInstallableUnit[] {f1});
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertTrue(IStatus.ERROR != plan4.getStatus().getSeverity());
-		assertUninstallOperand(plan4, b2);
-		assertUninstallOperand(plan4, a1);
-		assertUninstallOperand(plan4, f1);
-		assertUninstallOperand(plan4, p1);
-
-		//update from f1 to f2. This should cause p1 to go away
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
-		req5.removeInstallableUnits(new IInstallableUnit[] {f1});
-		req5.addInstallableUnits(new IInstallableUnit[] {f2});
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertTrue(IStatus.ERROR != plan5.getStatus().getSeverity());
-		assertUninstallOperand(plan5, b2);
-		assertUninstallOperand(plan5, a1);
-		assertUninstallOperand(plan5, f1);
-		assertUninstallOperand(plan5, p1);
-		assertInstallOperand(plan5, f2);
-		assertInstallOperand(plan5, a3);
-		engine.perform(plan5, null);
-		assertProfileContainsAll("", profile1, new IInstallableUnit[] {f2, a3});
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
deleted file mode 100644
index 3e8e1ce..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest4 extends AbstractProvisioningTest {
-	IInstallableUnit f1;
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit c1;
-	IInstallableUnit d1;
-	IInstallableUnit d2;
-
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch p2;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true)});
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		c1 = createIU("C", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)});
-		d1 = createIU("D", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.1.0)"), null, false, false, true)});
-		d2 = createIU("D", Version.createOSGi(2, 0, 0), true);
-
-		IRequirementChange changeA = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
-		IRequirementChange changeC = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true));
-
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false);
-		IRequiredCapability[][] scope = new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}};
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {changeA, changeC}, scope, lifeCycle);
-		p2 = createIUPatch("P", Version.create("2.0.0"), true, new IRequirementChange[] {changeA, changeC}, new IRequiredCapability[0][0], lifeCycle);
-		createTestMetdataRepository(new IInstallableUnit[] {f1, a1, b1, b2, c1, d1, d2, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testCompleteScenario() {
-		//	Install f1
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, b1);
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, f1);
-		engine.perform(plan1, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
-		assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
-		assertProfileContainsAll("D1 is missing", profile1, new IInstallableUnit[] {d1});
-
-		//Install p1, this will cause C2 and D2 to be installed
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {p1});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, b2);
-		assertInstallOperand(plan2, d2);
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
-		assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
-		assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
-		assertProfileContainsAll("D2 is missing", profile1, new IInstallableUnit[] {d2});
-		assertProfileContainsAll("F1 is missing", profile1, new IInstallableUnit[] {f1});
-	}
-
-	public void OfftestCompleteScenario2() {
-		//This test when no scopes are specified
-		//	Install f1
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, b1);
-		assertInstallOperand(plan1, a1);
-		assertInstallOperand(plan1, f1);
-		engine.perform(plan1, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B1 is missing", profile1, new IInstallableUnit[] {b1});
-		assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
-		assertProfileContainsAll("D1 is missing", profile1, new IInstallableUnit[] {d1});
-
-		//Install p2, this should cause b1 to be uninstalled and b2 to be used instead
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {p2});
-		req2.setInstallableUnitInclusionRules(p1, PlannerHelper.createOptionalInclusionRule(p1));
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertTrue(IStatus.ERROR != plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, b2);
-		assertInstallOperand(plan2, d2);
-		engine.perform(plan2, null);
-		assertProfileContainsAll("A1 is missing", profile1, new IInstallableUnit[] {a1});
-		assertProfileContainsAll("B2 is missing", profile1, new IInstallableUnit[] {b2});
-		assertProfileContainsAll("P1 is missing", profile1, new IInstallableUnit[] {p1});
-		assertProfileContainsAll("C1 is missing", profile1, new IInstallableUnit[] {c1});
-		assertProfileContainsAll("D2 is missing", profile1, new IInstallableUnit[] {d2});
-		assertProfileContainsAll("F1 is missing", profile1, new IInstallableUnit[] {f1});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
deleted file mode 100644
index c2c3239..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest5 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit f1;
-	IInstallableUnit top;
-	IInstallableUnit b1;
-	IInstallableUnitPatch p1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		top = createIU("TOP", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scope = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, scope, lifeCycle);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, f1, top, p1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {top});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {top, p1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
deleted file mode 100644
index 9845d5e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest6 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit c1;
-	IInstallableUnit d1;
-
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 2, 0), true);
-
-		c1 = createIU("C", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		d1 = createIU("D", Version.createOSGi(1, 2, 0), true);
-
-		IRequirementChange changeA = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability[][] scopeP1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
-		IRequiredCapability[] reqOnPP = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "PP", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, true)};
-		p1 = createIUPatch("P", Version.create("1.0.0"), null, reqOnPP, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeA}, scopeP1, null, new IRequiredCapability[0]);
-
-		IRequirementChange changeC = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability[][] scopePP1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
-		pp1 = createIUPatch("PP", Version.create("1.0.0"), true, new IRequirementChange[] {changeC}, scopePP1, null);
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstall() {
-		//Confirm that a1 and c1 can't be installed
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, c1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
-		//Verify that the installation of c1 and pp1 succeed
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {c1, pp1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-
-		//Verify that p1 can be installed alone (kind of meaningless)
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {p1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-
-		//Install a1 and p1. 
-		ProfileChangeRequest req4 = new ProfileChangeRequest(profile1);
-		req4.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan4 = planner.getProvisioningPlan(req4, null, null);
-		assertEquals(IStatus.OK, plan4.getStatus().getSeverity());
-		assertInstallOperand(plan4, a1);
-		assertInstallOperand(plan4, p1);
-		assertInstallOperand(plan4, pp1);
-		assertInstallOperand(plan4, b1);
-
-		//Install a1, c1 and p1. 
-		ProfileChangeRequest req5 = new ProfileChangeRequest(profile1);
-		req5.addInstallableUnits(new IInstallableUnit[] {a1, c1, p1});
-		IProvisioningPlan plan5 = planner.getProvisioningPlan(req5, null, null);
-		assertEquals(IStatus.OK, plan5.getStatus().getSeverity());
-		assertInstallOperand(plan4, a1);
-		assertInstallOperand(plan4, p1);
-		assertInstallOperand(plan4, b1);
-		assertInstallOperand(plan4, pp1);
-		assertInstallOperand(plan5, d1);
-		assertInstallOperand(plan5, c1);
-	}
-
-	public void testExplanation1() {
-		//Confirm that a1 and c1 can't be installed
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, c1});
-		ProvisioningPlan plan1 = (ProvisioningPlan) planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan1.getRequestStatus();
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-		Set conflictingRoots = requestStatus.getConflictsWithInstalledRoots();
-		assertEquals(1, conflictingRoots.size());
-		assertTrue(conflictingRoots.contains(a1) || conflictingRoots.contains(c1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
deleted file mode 100644
index f82dec4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest7 extends AbstractProvisioningTest {
-	//	IInstallableUnit a1;
-	//	IInstallableUnit b1;
-	IInstallableUnit c1;
-	//	IInstallableUnit x1;
-	IInstallableUnit y1;
-	IInstallableUnit y2;
-	IInstallableUnit f1;
-
-	//	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		//		x1 = createIU("X", Version.createOSGi(1, 2, 0), true);
-		y1 = createIU("Y", Version.createOSGi(1, 0, 0), true);
-		y2 = createIU("Y", Version.createOSGi(1, 2, 0), true);
-		//		a1 = createIU("A", Version.create("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		//		b1 = createIU("B", Version.create("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		c1 = createIU("C", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		//		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		//		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), req);
-
-		//		RequirementChange changeX = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		//		RequiredCapability[][] scope = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
-		//		p1 = createIUPatch("P", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeX}, scope, null);
-
-		IRequirementChange changeY = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability[][] scopePP = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
-		pp1 = createIUPatch("PP", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeY}, scopePP, null, new IRequiredCapability[0]);
-
-		//		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1});
-		createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testGeneralScope() {
-		//		//Confirm that f1 can't be installed
-		//		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		//		req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		//		ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		//		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-		//
-		//		//Verify that the installation of f1 and p1 succeed
-		//		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		//		req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
-		//		ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		//		assertEquals(IStatus.WARNING, plan2.getStatus().getSeverity());
-		//		assertInstallOperand(plan2, f1);
-		//		assertInstallOperand(plan2, a1);
-		//		assertInstallOperand(plan2, b1);
-		//		assertInstallOperand(plan2, c1);
-		//		assertInstallOperand(plan2, x1);
-		//		assertInstallOperand(plan2, y1);
-		//		assertInstallOperand(plan2, p1);
-
-		//Verify that the installation of f1 and p1 succeed
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {f1, pp1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-		assertInstallOperand(plan3, f1);
-		//		assertInstallOperand(plan3, a1);
-		//		assertInstallOperand(plan3, b1);
-		assertInstallOperand(plan3, c1);
-		//		assertInstallOperand(plan3, x1);
-		assertInstallOperand(plan3, y2);
-		//		assertInstallOperand(plan3, p1);
-		assertInstallOperand(plan3, pp1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
deleted file mode 100644
index 340c0e3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest7b extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit c1;
-	IInstallableUnit x1;
-	IInstallableUnit y1;
-	IInstallableUnit y2;
-	IInstallableUnit f1;
-
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		x1 = createIU("X", Version.createOSGi(1, 2, 0), true);
-		y1 = createIU("Y", Version.createOSGi(1, 0, 0), true);
-		y2 = createIU("Y", Version.createOSGi(1, 2, 0), true);
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		c1 = createIU("C", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), req);
-
-		IRequirementChange changeX = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability[][] scope = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}};
-		p1 = createIUPatch("P", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeX}, scope, null, new IRequiredCapability[0]);
-
-		IRequirementChange changeY = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequiredCapability[][] scopePP = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}};
-		pp1 = createIUPatch("PP", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeY}, scopePP, null, new IRequiredCapability[0]);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1});
-		//		createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testGeneralScope() {
-		//Confirm that f1 can't be installed
-		//		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		//		req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		//		ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		//		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-
-		//Verify that the installation of f1 and p1 succeed
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, f1);
-		assertInstallOperand(plan2, a1);
-		assertInstallOperand(plan2, b1);
-		assertInstallOperand(plan2, c1);
-		assertInstallOperand(plan2, x1);
-		assertInstallOperand(plan2, y1);
-		assertInstallOperand(plan2, p1);
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
deleted file mode 100644
index 9a6a660..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest8 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit c2;
-	IInstallableUnit f1;
-
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch r1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.createOSGi(1, 0, 0), true);
-		a2 = createIU("A", Version.create("2.0.0"), true);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		b2 = createIU("B", Version.create("2.0.0"), true);
-		c2 = createIU("C", Version.create("2.0.0"), true);
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true);
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.1.0)"), null, false, true);
-		f1 = createIU("F", Version.createOSGi(1, 0, 0), req);
-
-		IRequirementChange changeA = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true));
-		IRequiredCapability[][] scope = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}};
-		p1 = createIUPatch("P", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeA}, scope, null, new IRequiredCapability[0]);
-
-		IRequirementChange changeB = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true));
-		IRequiredCapability[][] scopePP = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}};
-		r1 = createIUPatch("R", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeB}, scopePP, null, new IRequiredCapability[0]);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1, b2, c2, f1, p1, r1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testOneIUWithMultiplePatchesApplyingOnIt() {
-		//				//Confirm that f1 can't be installed
-		//				ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		//				req1.addInstallableUnits(new IInstallableUnit[] {f1});
-		//				ProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		//				assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-		//		
-		//				//Verify that the installation of f1 and p1 succeed
-		//				ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		//				req2.addInstallableUnits(new IInstallableUnit[] {f1, p1});
-		//				ProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		//				assertEquals(IStatus.WARNING, plan2.getStatus().getSeverity());
-		//				assertInstallOperand(plan2, f1);
-		//				assertInstallOperand(plan2, a1);
-		//				assertInstallOperand(plan2, b1);
-		//				assertInstallOperand(plan2, c1);
-		//				assertInstallOperand(plan2, x1);
-		//				assertInstallOperand(plan2, y1);
-		//				assertInstallOperand(plan2, p1);
-
-		//Verify that the installation of f1 and p1 succeed
-		ProfileChangeRequest req3 = new ProfileChangeRequest(profile1);
-		req3.addInstallableUnits(new IInstallableUnit[] {f1, p1, r1});
-		IProvisioningPlan plan3 = planner.getProvisioningPlan(req3, null, null);
-		assertEquals(IStatus.OK, plan3.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
deleted file mode 100644
index c27c68e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTest9 extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit b2;
-	IInstallableUnit c1;
-	IInstallableUnitPatch p1;
-	IInstallableUnitPatch pp1;
-
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)});
-		b1 = createIU("B", Version.createOSGi(1, 0, 0), true);
-		b2 = createIU("B", Version.createOSGi(1, 2, 0), true);
-		c1 = createIU("C", Version.createOSGi(1, 0, 0), true);
-		IRequirementChange changeB = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		IRequirementChange changeC = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true));
-		p1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {changeB, changeC}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		IRequirementChange anotherChangeC = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, true, false, true));
-		pp1 = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {changeB, anotherChangeC}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, c1, p1, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testPatchDoesNotApply() {
-		//The application of the patch does not succeed because there is no C matching the requirement imposed by the patch
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		//The application of the patch does not succeed because there is no C matching the requirement imposed by the patch
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {a1, p1});
-		ProvisioningPlan plan1 = (ProvisioningPlan) planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan1.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan1.getRequestStatus();
-		assertEquals(Explanation.MISSING_REQUIREMENT, requestStatus.getShortExplanation());
-		Set conflictingRoots = requestStatus.getConflictsWithInstalledRoots();
-		assertEquals(1, conflictingRoots.size());
-		assertTrue(conflictingRoots.contains(p1));
-	}
-
-	public void testPatchApply() {
-		//The application of the patch succeed because the dependency that PP puts on C is optional
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile1);
-		req2.addInstallableUnits(new IInstallableUnit[] {a1, pp1});
-		IProvisioningPlan plan2 = planner.getProvisioningPlan(req2, null, null);
-		assertEquals(IStatus.OK, plan2.getStatus().getSeverity());
-		assertInstallOperand(plan2, a1);
-		assertInstallOperand(plan2, pp1);
-		assertInstallOperand(plan2, b2);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
deleted file mode 100644
index 53eb40f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestMultiplePatch extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P3 = "P3";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnit p3;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-		p3 = createIU(P3, Version.createOSGi(1, 0, 0), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p3, p1b, p2b, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-	}
-
-	//Here we test that some of the dependencies are not being patched
-	public void testInstall() {
-		install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2, p3});
-	}
-
-	public void testInstall2() {
-		install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
-		install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
-		install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2, p3});
-
-		uninstall(profile1, new IInstallableUnit[] {pp2}, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1, p3});
-
-		uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
-	}
-
-	public void testInstall3() {
-		install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
-		install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1, p3});
-
-		uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
-	}
-
-	public void testInstall4() {
-		install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine);
-		install(profile1, new IInstallableUnit[] {pp2}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2b, pp2, p3});
-
-		uninstall(profile1, new IInstallableUnit[] {pp2}, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2, p3});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch2.java
deleted file mode 100644
index 2df821a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch2.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestMultiplePatch2 extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P3 = "P3";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnit p3;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p1c;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p1c = createIU(P1, Version.createOSGi(1, 1, 2), true);
-		p3 = createIU(P3, Version.createOSGi(1, 0, 0), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.2, 1.1.2]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p3, p1b, p1c, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	//Try to force the installation of two contradicting patches.
-	public void testFailingInstall() {
-		install(profile1, new IInstallableUnit[] {}, true, planner, engine);
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {p2Feature, pp1, pp2});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch3.java
deleted file mode 100644
index 0b748f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch3.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestMultiplePatch3 extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P3 = "P3";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnit p3;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p1c;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p1c = createIU(P1, Version.createOSGi(1, 1, 2), true);
-		p3 = createIU(P3, Version.createOSGi(1, 0, 0), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.2, 1.1.2]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "missingThing", new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, null, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2, NO_REQUIRES);
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p3, p1b, p1c, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	//Test that two patches applying to the same requirement of an IU being patched does not cause any problem when one of the two patch is not applied.
-	public void testFailingInstall() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile1);
-		req.addInstallableUnits(new IInstallableUnit[] {p2Feature});
-		req.addInstallableUnits(new IInstallableUnit[] {pp1});
-		req.addInstallableUnits(new IInstallableUnit[] {pp2});
-		req.setInstallableUnitInclusionRules(pp2, PlannerHelper.createOptionalInclusionRule(pp2));
-
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertOK("Planning should be ok", plan.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
deleted file mode 100644
index d560615..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestOptional extends AbstractProvisioningTest {
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-	}
-
-	public void testInstallPatchSettingAnOptionalDependency() {
-		//The patch changes the requirement from A to B to be an optional requirement
-		install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p1b, p2});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
deleted file mode 100644
index 65974ae..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestOptional2 extends AbstractProvisioningTest {
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnit p2b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p2b, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-	}
-
-	public void testInstallPatchSettingAMissingOptionalDependency() {
-		//The patch changes the requirement from p2Feature to P1 1.1.1. to be optional, but P1 1.1.1 is missing  
-		install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p2});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
deleted file mode 100644
index 33c67e7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestOptional3 extends AbstractProvisioningTest {
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true));
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1, changepp2}, scopepp1, lifeCyclepp1);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-	}
-
-	public void testInstallPatchSettingAMissingOptionalDependency() {
-		//This verify that the non satisfiable but optional part of the patch does not prevent the application of the whole patch
-		//The patch changes the requirement from p2Feature to P1 1.1.1 to be optional, but P1 1.1.1 is missing  
-		install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine);
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p2b});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
deleted file mode 100644
index 640cbd1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUninstall extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2});
-	}
-
-	public void testUninstall() {
-		IStatus result = uninstall(profile1, new IInstallableUnit[] {pp1}, planner, engine);
-		assertTrue("1.0", result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
deleted file mode 100644
index 59f9d20..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUpdate extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p2Feature20;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		p2Feature20 = createIU(P2_FEATURE, Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature, pp1, pp2}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2b, pp1, pp2});
-	}
-
-	public void testUpdate() {
-		//The update of the feature is expected to fail because the patches are installed without flexibility (strict mode) 
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
-		req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
-		req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-	}
-
-	public void testExplanation() {
-		//The update of the feature is expected to fail because the patches are installed without flexibility (strict mode) 
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
-		req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
-		req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		Set conflictingRoot = requestStatus.getConflictsWithInstalledRoots();
-		assertEquals(1, conflictingRoot.size());
-		assertTrue(conflictingRoot.contains(p2Feature20));
-		assertEquals(Explanation.VIOLATED_SINGLETON_CONSTRAINT, requestStatus.getShortExplanation());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
deleted file mode 100644
index fa2e868..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUpdate2 extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p2Feature20;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		p2Feature20 = createIU(P2_FEATURE, Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)});
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (!install(profile1, new IInstallableUnit[] {pp1}, false, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1b, p2, pp1});
-	}
-
-	public void testUpdate() {
-		//The update of the feature is expected to work and to cause the uninstallation of the patch since it is installed optionally 
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
-		req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
-		req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(true, IStatus.ERROR != plan.getStatus().getSeverity());
-
-		engine.perform(plan, null);
-		assertProfileContains("The profile contains unexpected IUs", profile1, new IInstallableUnit[] {p2Feature20, p1b, p2b});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
deleted file mode 100644
index 8e0a9b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUpdate3 extends AbstractProvisioningTest {
-	private static final String PP2 = "PatchForIUP2";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P2 = "P2";
-	private static final String P1 = "P1";
-	private static final String P2_FEATURE = "p2.feature";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p2Feature20;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnitPatch pp2;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		IRequirementChange changepp2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}};
-		pp2 = createIUPatch(PP2, Version.create("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2);
-
-		p2Feature20 = createIU(P2_FEATURE, Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20});
-
-		createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(getProfile("TestProfile." + getName()), new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (!install(getProfile("TestProfile." + getName()), new IInstallableUnit[] {pp1}, false, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (!install(getProfile("TestProfile." + getName()), new IInstallableUnit[] {pp2}, false, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", getProfile("TestProfile." + getName()), new IInstallableUnit[] {p2Feature, pp1, p1b, pp2, p2b});
-	}
-
-	public void testUpdate() {
-		ProfileChangeRequest req2 = new ProfileChangeRequest(getProfile("TestProfile." + getName()));
-		ProvisioningContext ctx = new ProvisioningContext(new URI[0]);
-		assertOK("Validating the profile", planner.getProvisioningPlan(req2, ctx, null).getStatus());
-
-		//The update of the feature will cause the patch pp2 to be uninstalled because its lifecycle is no longer matched. pp1 stays because its lifecycle is still applicable
-		ProfileChangeRequest req1 = new ProfileChangeRequest(getProfile("TestProfile." + getName()));
-		req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
-		req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
-		req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(true, IStatus.ERROR != plan.getStatus().getSeverity());
-
-		engine.perform(plan, null);
-		assertProfileContains("The profile contains unexpected IUs", getProfile("TestProfile." + getName()), new IInstallableUnit[] {p2Feature20, p1b, pp1, p2});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java
deleted file mode 100644
index 9d68f66..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUpdate4 extends AbstractProvisioningTest {
-	//The patch only changes one plug-in and its lifecycle is bound to its version
-	private static final String P2_FEATURE = "p2.feature";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P1 = "P1";
-	private static final String P2 = "P2";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p2Feature20;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		p2Feature20 = createIU(P2_FEATURE, Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, p2Feature20});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		if (!install(profile1, new IInstallableUnit[] {pp1}, false, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, pp1, p1b, p2});
-	}
-
-	public void testUpdate() {
-		//The update will *not* remove the patch because the lifecycle is wide open (VersionRange.emptyRange)
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {p2Feature20});
-		req1.setInstallableUnitInclusionRules(p2Feature20, PlannerHelper.createStrictInclusionRule(p2Feature20));
-		req1.removeInstallableUnits(new IInstallableUnit[] {p2Feature});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(true, IStatus.ERROR != plan.getStatus().getSeverity());
-
-		engine.perform(plan, null);
-		assertProfileContains("The profile contains unexpected IUs", profile1, new IInstallableUnit[] {p2Feature20, p1b, p2, pp1});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java
deleted file mode 100644
index dc462ea..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IEngine;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PatchTestUpdate5 extends AbstractProvisioningTest {
-	//The patch only changes one plug-in and its lifecycle is bound to its version
-	private static final String P2_FEATURE = "p2.feature";
-	private static final String PP1 = "PatchForIUP1";
-	private static final String P1 = "P1";
-	private static final String P2 = "P2";
-	private IInstallableUnit p2Feature;
-	private IInstallableUnit p2Feature20;
-	private IInstallableUnit p1;
-	private IInstallableUnit p2;
-	private IInstallableUnitPatch pp1;
-	private IInstallableUnit p2b;
-	private IInstallableUnit p1b;
-	private IProfile profile1;
-	private IPlanner planner;
-	private IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		p2Feature = createIU(P2_FEATURE, Version.createOSGi(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		p1 = createIU(P1, Version.createOSGi(1, 0, 0), true);
-		p2 = createIU(P2, Version.createOSGi(1, 0, 0), true);
-		p1b = createIU(P1, Version.createOSGi(1, 1, 1), true);
-		p2b = createIU(P2, Version.createOSGi(1, 1, 1), true);
-
-		IRequirementChange changepp1 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true));
-		IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}};
-		pp1 = createIUPatch(PP1, Version.create("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1);
-
-		p2Feature20 = createIU(P2_FEATURE, Version.createOSGi(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)});
-		createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, p2Feature20});
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-
-		if (!install(profile1, new IInstallableUnit[] {p2Feature}, true, planner, engine).isOK())
-			fail("Setup failed");
-
-		assertProfileContainsAll("Profile setup incorrectly", profile1, new IInstallableUnit[] {p2Feature, p1, p2});
-	}
-
-	public void testUpdate() {
-		//The application of this patch should fail since the lifecycle is on the element being patched
-		assertEquals(IStatus.ERROR, install(profile1, new IInstallableUnit[] {pp1}, true, planner, engine).getSeverity());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PermissiveSlicerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PermissiveSlicerTest.java
deleted file mode 100644
index 47ba283..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PermissiveSlicerTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.util.Properties;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.director.PermissiveSlicer;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class PermissiveSlicerTest extends AbstractProvisioningTest {
-	private IMetadataRepository repo;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		File repoFile = getTestData("Repo for permissive slicer test", "testData/permissiveSlicer");
-		repo = getMetadataRepositoryManager().loadRepository(repoFile.toURI(), new NullProgressMonitor());
-	}
-
-	public void testSliceRCPOut() {
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, new Properties(), true, false, true, false, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(66, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		assertEquals(1, result.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	//Test with and without optional pieces
-	public void testSliceRCPWithOptionalPieces() {
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, new Properties(), false, false, true, false, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(64, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	public void testSliceRCPWithIgnoringGreed() {
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, new Properties(), false, true, true, false, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(64, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	public void testSliceRCPWithFilter() {
-		Properties p = new Properties();
-		p.setProperty("osgi.os", "win32");
-		p.setProperty("osgi.ws", "win32");
-		p.setProperty("osgi.arch", "x86");
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, true, false, false, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(0, result.query(new InstallableUnitQuery("org.eclipse.swt.motif.linux.x86"), new NullProgressMonitor()).size());
-		assertEquals(34, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	public void testStrictDependency() {
-		Properties p = new Properties();
-		p.setProperty("osgi.os", "win32");
-		p.setProperty("osgi.ws", "win32");
-		p.setProperty("osgi.arch", "x86");
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, false, false, true, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(0, result.query(new InstallableUnitQuery("org.eclipse.ecf"), new NullProgressMonitor()).size());
-		assertEquals(29, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	public void testExtractPlatformIndependentPieces() {
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, new Properties(), true, false, false, false, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor());
-		assertNotNull(result);
-		result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size();
-		assertEquals(32, result.query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-		assertEquals(1, result.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor()).size());
-		//		assertOK("1.0", slicer.getStatus());
-	}
-
-	public void testMetaRequirements() {
-		IProvidedCapability act1Cap = MetadataFactory.createProvidedCapability("p2.action", "action1", DEFAULT_VERSION);
-		IInstallableUnit act1 = createIU("Action1", DEFAULT_VERSION, null, NO_REQUIRES, new IProvidedCapability[] {act1Cap}, NO_PROPERTIES, null, NO_TP_DATA, true);
-
-		IRequiredCapability[] metaReq = createRequiredCapabilities("p2.action", "action1", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit a = createIUWithMetaRequirement("A", DEFAULT_VERSION, true, NO_REQUIRES, metaReq);
-
-		PermissiveSlicer slicer = new PermissiveSlicer(createTestMetdataRepository(new IInstallableUnit[] {a, act1}), new Properties(), true, false, false, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {a}, new NullProgressMonitor());
-		assertEquals(1, result.query(new InstallableUnitQuery("Action1"), null).size());
-	}
-
-	public void testValidateIU() {
-		Properties p = new Properties();
-		p.setProperty("osgi.os", "win32");
-		p.setProperty("osgi.ws", "win32");
-		p.setProperty("osgi.arch", "x86");
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, false, false, true, false);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.swt.cocoa.macosx"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		assertNull(slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor()));
-		assertNotOK(slicer.getStatus());
-	}
-
-	public void testMissingNecessaryPiece() {
-		IRequiredCapability[] req = createRequiredCapabilities("B", "B", new VersionRange("[0.0.0, 1.0.0]"), null);
-		IInstallableUnit iuA = createIU("A", DEFAULT_VERSION, null, req, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, true);
-		PermissiveSlicer slicer = new PermissiveSlicer(createTestMetdataRepository(new IInstallableUnit[] {iuA}), new Properties(), true, false, false, false, false);
-		IQueryable result = slicer.slice(new IInstallableUnit[] {iuA}, new NullProgressMonitor());
-		assertNotNull(result);
-		assertNotOK(slicer.getStatus());
-	}
-
-	public void testExtractOnlyPlatformSpecificForOnePlatform() {
-		Properties p = new Properties();
-		p.setProperty("osgi.os", "win32");
-		p.setProperty("osgi.ws", "win32");
-		p.setProperty("osgi.arch", "x86");
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, false, false, false, true);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		Collector resultCollector = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor()).query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertEquals(3, resultCollector.size());
-	}
-
-	public void testExtractOnlyPlatformSpecific() {
-		Properties p = new Properties();
-		PermissiveSlicer slicer = new PermissiveSlicer(repo, p, true, false, true, false, true);
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.rcp.feature.group"), new NullProgressMonitor());
-		IInstallableUnit iu = (IInstallableUnit) c.iterator().next();
-		Collector resultCollector = slicer.slice(new IInstallableUnit[] {iu}, new NullProgressMonitor()).query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertEquals(35, resultCollector.size());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ProvisioningPlanQueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ProvisioningPlanQueryTest.java
deleted file mode 100644
index df44120..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ProvisioningPlanQueryTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ProvisioningPlanQueryTest extends AbstractProvisioningTest {
-	public void testNull() {
-		Collector c = new ProvisioningPlan(Status.OK_STATUS, null, null, null).getAdditions().query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertTrue(c.isEmpty());
-	}
-
-	public void testAddition() {
-		Operand[] ops = new Operand[] {new InstallableUnitOperand(null, createIU("A"))};
-		Collector c = new ProvisioningPlan(null, ops, null).getAdditions().query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertEquals(1, c.size());
-		assertEquals(0, new ProvisioningPlan(null, ops, null).getRemovals().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-	}
-
-	public void testRemoval() {
-		Operand[] ops = new Operand[] {new InstallableUnitOperand(createIU("A"), null)};
-		Collector c = new ProvisioningPlan(null, ops, null).getRemovals().query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertEquals(1, c.size());
-		assertEquals(0, new ProvisioningPlan(null, ops, null).getAdditions().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-	}
-
-	public void testUpdate() {
-		Operand[] ops = new Operand[] {new InstallableUnitOperand(createIU("A"), createIU("B"))};
-		Collector c = new ProvisioningPlan(null, ops, null).getRemovals().query(InstallableUnitQuery.ANY, new NullProgressMonitor());
-		assertEquals(1, c.size());
-		assertEquals(1, new ProvisioningPlan(null, ops, null).getAdditions().query(InstallableUnitQuery.ANY, new NullProgressMonitor()).size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java
deleted file mode 100644
index 988d430..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SDKPatchingTest1 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	ArrayList newIUs = new ArrayList();
-	IInstallableUnit patchInstallingCommon = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data for sdkpatching test", "testData/sdkpatchingtest");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("SDKPatchingTest");
-		assertNotNull(profile);
-
-		MetadataFactory.InstallableUnitDescription newCommon = createIUDescriptor((IInstallableUnit) profile.query(new InstallableUnitQuery("org.eclipse.equinox.common"), new NullProgressMonitor()).iterator().next());
-		Version newVersionCommon = Version.createOSGi(3, 5, 0, "zeNewVersion");
-		changeVersion(newCommon, newVersionCommon);
-		newIUs.add(MetadataFactory.createInstallableUnit(newCommon));
-
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", new VersionRange(newVersionCommon, true, newVersionCommon, true), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.rcp.feature.group", new VersionRange("[3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE, 3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE]"), null, false, false, true);
-		patchInstallingCommon = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[0][0], lifeCycle);
-
-		newIUs.add(patchInstallingCommon);
-	}
-
-	public void testInstallFeaturePatch() {
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setExtraIUs(newIUs);
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {patchInstallingCommon});
-		request.setInstallableUnitInclusionRules(patchInstallingCommon, PlannerHelper.createOptionalInclusionRule(patchInstallingCommon));
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("Installation plan", plan.getStatus());
-		assertEquals(4, plan.getOperands().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java
deleted file mode 100644
index b1fcd45..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SDKPatchingTest2 extends AbstractProvisioningTest {
-	IProfile profile = null;
-	ArrayList newIUs = new ArrayList();
-	IInstallableUnit patchInstallingJDTLaunching = null;
-	IInstallableUnit patchInstallingDebugUI = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		File reporegistry1 = getTestData("test data for sdkpatching test", "testData/sdkpatchingtest");
-		File tempFolder = getTempFolder();
-		copy("0.2", reporegistry1, tempFolder);
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(tempFolder, null, false);
-		profile = registry.getProfile("SDKPatchingTest");
-		assertNotNull(profile);
-
-		//create a patch to install a new version of jdt.launching
-		MetadataFactory.InstallableUnitDescription newJDTLaunching = createIUDescriptor((IInstallableUnit) profile.query(new InstallableUnitQuery("org.eclipse.jdt.launching"), new NullProgressMonitor()).iterator().next());
-		Version newJDTLaunchingVersion = Version.createOSGi(3, 5, 0, "zeNewVersion");
-		changeVersion(newJDTLaunching, newJDTLaunchingVersion);
-		newIUs.add(MetadataFactory.createInstallableUnit(newJDTLaunching));
-
-		IRequirementChange change = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", new VersionRange(newJDTLaunchingVersion, true, newJDTLaunchingVersion, true), null, false, false, true));
-		IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true);
-		patchInstallingJDTLaunching = createIUPatch("P", Version.create("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[0][0], lifeCycle);
-
-		newIUs.add(patchInstallingJDTLaunching);
-
-		//create a patch to install a new version of jdt.debug.ui
-		MetadataFactory.InstallableUnitDescription newDebugUI = createIUDescriptor((IInstallableUnit) profile.query(new InstallableUnitQuery("org.eclipse.jdt.debug.ui"), new NullProgressMonitor()).iterator().next());
-		Version newDebugVersion = Version.createOSGi(3, 3, 0, "zeNewVersion");
-		changeVersion(newDebugUI, newDebugVersion);
-		newIUs.add(MetadataFactory.createInstallableUnit(newDebugUI));
-
-		IRequirementChange change2 = MetadataFactory.createRequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", new VersionRange(newDebugVersion, true, newDebugVersion, true), null, false, false, true));
-		IRequiredCapability lifeCycle2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true);
-		patchInstallingDebugUI = createIUPatch("P2", Version.create("1.0.0"), true, new IRequirementChange[] {change2}, new IRequiredCapability[0][0], lifeCycle2);
-
-		newIUs.add(patchInstallingDebugUI);
-
-	}
-
-	public void testInstallFeaturePatch() {
-		ProvisioningContext ctx = new ProvisioningContext();
-		ctx.setExtraIUs(newIUs);
-		ProfileChangeRequest validationRequest = new ProfileChangeRequest(profile);
-		IProvisioningPlan validationPlan = createPlanner().getProvisioningPlan(validationRequest, null, null);
-		assertOK("validation", validationPlan.getStatus());
-
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {patchInstallingJDTLaunching, patchInstallingDebugUI});
-		request.setInstallableUnitInclusionRules(patchInstallingJDTLaunching, PlannerHelper.createOptionalInclusionRule(patchInstallingJDTLaunching));
-		request.setInstallableUnitInclusionRules(patchInstallingDebugUI, PlannerHelper.createOptionalInclusionRule(patchInstallingDebugUI));
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, ctx, new NullProgressMonitor());
-		assertOK("Installation plan", plan.getStatus());
-		assertEquals(8, plan.getOperands().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SWTFragment.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SWTFragment.java
deleted file mode 100644
index cc8365e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SWTFragment.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SWTFragment extends AbstractProvisioningTest {
-	public void testFragmentPickedByCapability() {
-		IRequiredCapability[] reqs = createRequiredCapabilities("swt.fragment", "swt.fragment", new VersionRange("[1.0.0, 2.0.0)"), null);
-		IInstallableUnit swt = createIU("SWT", reqs);
-
-		MetadataFactory.InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription();
-		iud.setId("SWT.WIN32");
-		iud.setVersion(Version.create("1.0.0"));
-		iud.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability("swt.fragment", "swt.fragment", Version.createOSGi(1, 0, 0))});
-		iud.setFilter("(os=win32)");
-		IInstallableUnit swtW = MetadataFactory.createInstallableUnit(iud);
-
-		MetadataFactory.InstallableUnitDescription iud2 = new MetadataFactory.InstallableUnitDescription();
-		iud.setId("SWT.LINUX");
-		iud.setVersion(Version.create("1.0.0"));
-		iud.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability("swt.fragment", "swt.fragment", Version.createOSGi(1, 0, 0))});
-		iud.setFilter("(os=linux)");
-		IInstallableUnit swtL = MetadataFactory.createInstallableUnit(iud2);
-
-		createTestMetdataRepository(new IInstallableUnit[] {swt, swtL, swtW});
-		IProfile profile = createProfile(IUWithFilter.class.getName());
-		IPlanner planner = createPlanner();
-
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.setProfileProperty("os", "win32");
-		req.addInstallableUnits(new IInstallableUnit[] {swt});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertOK("plan", plan.getStatus());
-		Collector c = plan.getAdditions().query(new InstallableUnitQuery("SWT"), null);
-		c.addAll(plan.getAdditions().query(new InstallableUnitQuery("SWT.WIN32"), null));
-		assertEquals(2, c.size());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies.java
deleted file mode 100644
index 68e7244..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SeveralOptionalDependencies extends AbstractProvisioningTest {
-	private IInstallableUnit x1;
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability reqA = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, true, false, true); //optional dependency, will be satisfied
-		IRequiredCapability reqB = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); //normal dependency
-		IRequiredCapability reqC = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[0.0.0, 1.0.0)"), null, true, false, true); //will not match
-		IRequiredCapability reqD = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); //will not match
-		x1 = createIU("X", Version.create("1.0.0"), new IRequiredCapability[] {reqA, reqB, reqC, reqD});
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		c1 = createIU("C", Version.create("2.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {x1, a1, b1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, x1);
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertNoOperand(plan, c1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies2.java
deleted file mode 100644
index 9352e30..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies2.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SeveralOptionalDependencies2 extends AbstractProvisioningTest {
-	private IInstallableUnit x1;
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability reqA = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, true, false, true); //optional dependency, will be satisfied
-		IRequiredCapability reqB = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); //optional dependency, will be satisfied
-		IRequiredCapability reqC = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[0.0.0, 1.0.0)"), null, true, false, true); //will not match
-		IRequiredCapability reqD = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); //will not match
-		x1 = createIU("X", Version.create("1.0.0"), new IRequiredCapability[] {reqA, reqB, reqC, reqD});
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		c1 = createIU("C", Version.create("2.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {x1, a1, b1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, x1);
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertNoOperand(plan, c1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies3.java
deleted file mode 100644
index bc39b7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies3.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SeveralOptionalDependencies3 extends AbstractProvisioningTest {
-	private IInstallableUnit x1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability reqA = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, true, false, true); //optional dependency, will not be satisfied
-		IRequiredCapability reqB = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); //optional dependency, will not be satisfied
-		IRequiredCapability reqC = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[0.0.0, 1.0.0)"), null, true, false, true); //will not match
-		IRequiredCapability reqD = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); //will not match
-		x1 = createIU("X", Version.create("1.0.0"), new IRequiredCapability[] {reqA, reqB, reqC, reqD});
-
-		createTestMetdataRepository(new IInstallableUnit[] {x1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//X will install because all the requirements are optional
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, x1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies4.java
deleted file mode 100644
index 13dbc6e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies4.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SeveralOptionalDependencies4 extends AbstractProvisioningTest {
-	private IInstallableUnit x1;
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit a2;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability reqA = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, true, false, true); //optional dependency, will be satisfied
-		IRequiredCapability reqB = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); //normal dependency
-		x1 = createIU("X", Version.create("1.0.0"), new IRequiredCapability[] {reqA, reqB,});
-		a1 = createIU("A", Version.create("1.0.0"), true);
-		a2 = createIU("A", Version.create("2.0.0"), true);
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		createTestMetdataRepository(new IInstallableUnit[] {x1, a1, b1, a2});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, x1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, a2);
-		assertNoOperand(plan, a1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies5.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies5.java
deleted file mode 100644
index cea7e6f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SeveralOptionalDependencies5.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SeveralOptionalDependencies5 extends AbstractProvisioningTest {
-	private IInstallableUnit x1;
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit c1;
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IRequiredCapability reqA = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, true, false, true); //optional dependency, will be satisfied
-		IRequiredCapability reqC = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null, true, false, true); //optional dependency, will be satisfied because it is the highest version
-		IRequiredCapability reqE = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "E", new VersionRange("[1.0.0, 2.0.0)"), null, true, false, true); //optional dependency, will be satisfied because it is the highest version
-		x1 = createIU("X", Version.create("1.0.0"), new IRequiredCapability[] {reqA, reqC, reqE});
-
-		IRequiredCapability reqB = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); //optional dependency, will be satisfied
-		a1 = createIU("A", Version.create("1.0.0"), new IRequiredCapability[] {reqB});
-
-		IRequiredCapability reqD = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, true); //optional dependency, will be satisfied
-		c1 = createIU("C", Version.create("1.0.0"), new IRequiredCapability[] {reqD});
-
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		createTestMetdataRepository(new IInstallableUnit[] {x1, a1, b1, c1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, x1);
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertNoOperand(plan, c1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
deleted file mode 100644
index 7041c03..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleOptionalTest extends AbstractProvisioningTest {
-	//A dep B op, C, D op 
-	//X dep B
-
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-
-		//B's dependency is missing
-		IRequiredCapability[] reqA = new IRequiredCapability[1];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
deleted file mode 100644
index b21c584..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleOptionalTest2 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit b2;
-	private IInstallableUnit b3;
-	private IInstallableUnit c1;
-	private IInstallableUnit c2;
-	private IInstallableUnit d1;
-	private IInstallableUnit d2;
-	private IInstallableUnit x1;
-	private IInstallableUnit y1;
-	private IInstallableUnit z1;
-
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		b2 = createIU("B", Version.create("2.0.0"), true);
-		b3 = createIU("B", Version.create("3.0.0"), true);
-
-		c1 = createIU("C", Version.create("1.0.0"), true);
-		c2 = createIU("C", Version.create("2.0.0"), true);
-
-		d1 = createIU("D", Version.create("1.0.0"), true);
-		d2 = createIU("D", Version.create("2.0.0"), true);
-
-		y1 = createIU("Y", Version.create("1.0.0"), true);
-
-		z1 = createIU("Z", Version.create("1.0.0"), true);
-
-		//B's dependency is missing
-		IRequiredCapability[] reqA = new IRequiredCapability[3];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true);
-		reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true);
-		reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		IRequiredCapability[] req = new IRequiredCapability[3];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true);
-		req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, true);
-		req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Z", VersionRange.emptyRange, null, true, false, true);
-		x1 = createIU("X", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, c1, c2, d1, d2, x1, z1, y1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, c2);
-		assertInstallOperand(plan, d1);
-		assertInstallOperand(plan, y1);
-		assertInstallOperand(plan, z1);
-		assertInstallOperand(plan, x1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
deleted file mode 100644
index 4f1fcef..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleOptionalTest3 extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit b2;
-	private IInstallableUnit b3;
-	private IInstallableUnit c1;
-	private IInstallableUnit c2;
-	private IInstallableUnit d1;
-	private IInstallableUnit d2;
-	private IInstallableUnit x1;
-
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), true);
-		b2 = createIU("B", Version.create("2.0.0"), true);
-		b3 = createIU("B", Version.create("3.0.0"), true);
-
-		c1 = createIU("C", Version.create("1.0.0"), true);
-		c2 = createIU("C", Version.create("2.0.0"), true);
-
-		d1 = createIU("D", Version.create("1.0.0"), true);
-		d2 = createIU("D", Version.create("2.0.0"), true);
-
-		IRequiredCapability[] reqA = new IRequiredCapability[3];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true);
-		reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true);
-		reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		IRequiredCapability[] req = new IRequiredCapability[1];
-		req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 2.0.0]"), null, false, false, true);
-		x1 = createIU("X", req);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, c1, c2, d1, d2, x1});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that A and X1's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, x1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, c2);
-		assertInstallOperand(plan, d2);
-		assertInstallOperand(plan, x1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
deleted file mode 100644
index 8c705f1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleOptionalTest4 extends AbstractProvisioningTest {
-	//A dep B op, C, D op 
-	//X dep B
-
-	private IInstallableUnit a1;
-	private IInstallableUnit b1;
-	private IInstallableUnit b2;
-	private IInstallableUnit b3;
-	private IInstallableUnit b4;
-
-	private IProfile profile;
-	private IPlanner planner;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		b1 = createIU("B", Version.create("1.0.0"), false);
-		b2 = createIU("B", Version.create("2.0.0"), false);
-		b3 = createIU("B", Version.create("3.0.0"), false);
-		b4 = createIU("B", Version.create("4.0.0"), false);
-
-		//B's dependency is missing
-		IRequiredCapability[] reqA = new IRequiredCapability[4];
-		reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0,1.0.0]"), null, true, false, true);
-		reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0,2.0.0]"), null, true, false, true);
-		reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[3.0.0,3.0.0]"), null, true, false, true);
-		reqA[3] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[4.0.0,4.0.0]"), null, true, false, true);
-		a1 = createIU("A", Version.create("1.0.0"), reqA);
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, b4});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-	}
-
-	public void testInstallation() {
-		//Ensure that D's installation does not fail because of C's absence
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a1, b1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertInstallOperand(plan, a1);
-		assertInstallOperand(plan, b1);
-		assertInstallOperand(plan, b2);
-		assertInstallOperand(plan, b3);
-		assertInstallOperand(plan, b4);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
deleted file mode 100644
index fe1aba8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.director.Explanation;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ProvisioningPlan;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleSingleton extends AbstractProvisioningTest {
-	IInstallableUnit a1;
-	IInstallableUnit a2;
-	IInstallableUnit a3;
-	IInstallableUnit a4;
-	IInstallableUnit u, v, w, x, y, z;
-
-	IPlanner planner;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.create("1.0.0"), true);
-
-		a2 = createIU("A", Version.create("2.0.0"), true);
-
-		IRequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false);
-		IRequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false);
-		y = createIU("Y", Version.createOSGi(2, 0, 0), new IRequiredCapability[] {c1, c2});
-
-		createTestMetdataRepository(new IInstallableUnit[] {a1, a2, y});
-
-		profile = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-
-	}
-
-	public void test1() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {y});
-		ProvisioningPlan provisioningPlan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, provisioningPlan.getStatus().getSeverity());
-		assertNotNull(provisioningPlan.getCompleteState());
-	}
-
-	public void testExplanation() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {y});
-		ProvisioningPlan plan = (ProvisioningPlan) planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.ERROR, plan.getStatus().getSeverity());
-		final RequestStatus requestStatus = (RequestStatus) plan.getRequestStatus();
-		assertEquals(Explanation.VIOLATED_SINGLETON_CONSTRAINT, requestStatus.getShortExplanation());
-		assertTrue(requestStatus.getConflictsWithInstalledRoots().contains(y));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimulatedSharedInstallTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimulatedSharedInstallTest.java
deleted file mode 100644
index e96b2e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimulatedSharedInstallTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimulatedSharedInstallTest extends AbstractProvisioningTest {
-
-	IInstallableUnit a1;
-	IInstallableUnit b1;
-	IInstallableUnit c1;
-
-	IPlanner planner;
-	IProfile profile;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a1 = createIU("A", Version.parseVersion("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null));
-		b1 = createIU("B", Version.parseVersion("1.0.0"));
-		// Note: C has an "optional" dependency on "B"
-		c1 = createIU("C", Version.parseVersion("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, true, false)});
-		profile = createProfile(SimulatedSharedInstallTest.class.getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testRemoveUnresolvedIU() {
-		final Operand[] operands = new Operand[] {new InstallableUnitOperand(null, a1), new InstallableUnitPropertyOperand(a1, "org.eclipse.equinox.p2.internal.inclusion.rules", null, "STRICT")};
-		final ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		assertEquals(IStatus.OK, engine.perform(engine.createCustomPlan(profile, operands, context), new NullProgressMonitor()).getSeverity());
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).toCollection().contains(a1));
-
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.removeInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-		assertEquals(IStatus.OK, PlanExecutionHelper.executePlan(plan, engine, context, new NullProgressMonitor()).getSeverity());
-		assertFalse(profile.query(InstallableUnitQuery.ANY, null).toCollection().contains(a1));
-	}
-
-	public void testAvailableVsQueryInProfile() {
-		final Operand[] operands = new Operand[] {new InstallableUnitOperand(null, c1), new InstallableUnitPropertyOperand(c1, "org.eclipse.equinox.p2.internal.inclusion.rules", null, "STRICT")};
-		final ProvisioningContext context = new ProvisioningContext(new URI[0]);
-		assertEquals(IStatus.OK, engine.perform(engine.createCustomPlan(profile, operands, context), new NullProgressMonitor()).getSeverity());
-		assertTrue(profile.query(InstallableUnitQuery.ANY, null).toCollection().contains(c1));
-
-		IProfile availableWrapper = new IProfile() {
-			public Collector available(IQuery query, IProgressMonitor monitor) {
-				Collector collector = profile.query(query, monitor);
-
-				Collection ius = new ArrayList();
-				ius.add(b1);
-				return query.perform(ius.iterator(), collector);
-			}
-
-			// everything else is delegated
-			public Map getInstallableUnitProperties(IInstallableUnit iu) {
-				return profile.getInstallableUnitProperties(iu);
-			}
-
-			public String getInstallableUnitProperty(IInstallableUnit iu, String key) {
-				return profile.getInstallableUnitProperty(iu, key);
-			}
-
-			public String getProfileId() {
-				return profile.getProfileId();
-			}
-
-			public Map getProperties() {
-				return profile.getProperties();
-			}
-
-			public String getProperty(String key) {
-				return profile.getProperty(key);
-			}
-
-			public long getTimestamp() {
-				return profile.getTimestamp();
-			}
-
-			public Collector query(IQuery query, IProgressMonitor monitor) {
-				return profile.query(query, monitor);
-			}
-		};
-
-		ProfileChangeRequest req = new ProfileChangeRequest(availableWrapper);
-		req.addInstallableUnits(new IInstallableUnit[] {a1});
-		IProvisioningPlan plan = planner.getProvisioningPlan(req, null, null);
-		assertEquals(IStatus.OK, plan.getStatus().getSeverity());
-
-		//expect to have both (a1+inclusion rule) and b1 added
-		assertEquals(3, plan.getOperands().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TopLevelFilterTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TopLevelFilterTest.java
deleted file mode 100644
index b846075..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TopLevelFilterTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class TopLevelFilterTest extends AbstractProvisioningTest {
-
-	public void testInstallIUWithFilter() {
-		InstallableUnitDescription desc = new InstallableUnitDescription();
-		desc.setId("ThingWithFilter");
-		desc.setFilter("(os=linux)");
-		desc.setVersion(Version.createOSGi(1, 0, 0));
-
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(desc);
-		IProfile p = createProfile(getClass().getName());
-		createTestMetdataRepository(new IInstallableUnit[] {iu});
-		ProfileChangeRequest req = new ProfileChangeRequest(p);
-		req.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		assertNotOK(createPlanner().getProvisioningPlan(req, null, null).getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
deleted file mode 100644
index 2e4965e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/TwoVersionsOfWSDL.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
-import org.eclipse.equinox.internal.provisional.p2.director.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-public class TwoVersionsOfWSDL extends AbstractProvisioningTest {
-	IInstallableUnit wsdl14;
-	IInstallableUnit wsdl15;
-	IProfile profile1;
-	IPlanner planner;
-	IEngine engine;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		IMetadataRepositoryManager repoMan = (MetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		IMetadataRepository repo = repoMan.loadRepository(getTestData("repository for wsdl test", "testData/metadataRepo/wsdlTestRepo/").toURI(), new NullProgressMonitor());
-		wsdl15 = (IInstallableUnit) repo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.5, 1.6)")), null).iterator().next();
-		wsdl14 = (IInstallableUnit) repo.query(new InstallableUnitQuery("javax.wsdl", new VersionRange("[1.4, 1.5)")), null).iterator().next();
-
-		profile1 = createProfile("TestProfile." + getName());
-		planner = createPlanner();
-		engine = createEngine();
-	}
-
-	public void testInstallTwoVersionsOptionaly() {
-		//Ensure that p1 causes a1 to resolve
-		ProfileChangeRequest req1 = new ProfileChangeRequest(profile1);
-		req1.addInstallableUnits(new IInstallableUnit[] {wsdl15, wsdl14});
-		req1.setInstallableUnitInclusionRules(wsdl15, PlannerHelper.createStrictInclusionRule(wsdl15));
-		req1.setInstallableUnitInclusionRules(wsdl14, PlannerHelper.createStrictInclusionRule(wsdl14));
-		IProvisioningPlan plan1 = planner.getProvisioningPlan(req1, null, null);
-		assertEquals(IStatus.OK, plan1.getStatus().getSeverity());
-		assertInstallOperand(plan1, wsdl15);
-		assertInstallOperand(plan1, wsdl14);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
deleted file mode 100644
index 39bc5d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UninstallEverything.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class UninstallEverything extends AbstractProvisioningTest {
-	IInstallableUnit a;
-
-	IDirector director;
-	IProfile profile;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		a = createIU("A", Version.create("1.0.0"));
-		createTestMetdataRepository(new IInstallableUnit[] {a});
-		profile = createProfile(Bug207319.class.getName());
-		director = createDirector();
-
-	}
-
-	public void testEmpty() {
-		ProfileChangeRequest req = new ProfileChangeRequest(profile);
-		req.addInstallableUnits(new IInstallableUnit[] {a});
-		assertEquals(IStatus.OK, director.provision(req, null, null).getSeverity());
-		assertProfileContainsAll("A is missing", profile, new IInstallableUnit[] {a});
-
-		ProfileChangeRequest req2 = new ProfileChangeRequest(profile);
-		req2.removeInstallableUnits(new IInstallableUnit[] {a});
-		assertEquals(IStatus.OK, director.provision(req2, null, null).getSeverity());
-		assertNotIUs(new IInstallableUnit[] {a}, profile.query(InstallableUnitQuery.ANY, null).iterator());
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UpdateQueryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UpdateQueryTest.java
deleted file mode 100644
index d4bf575..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/UpdateQueryTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.equinox.p2.tests.planner;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.UpdateQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class UpdateQueryTest extends AbstractProvisioningTest {
-	private IInstallableUnit a1;
-	private IInstallableUnit updateOfA;
-	private IInstallableUnit a11;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		a1 = createIU("A", Version.create("2.0.0"));
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor("A", new VersionRange("[2.0.0, 2.0.0]"), 0, "update description");
-		updateOfA = createIU("UpdateA", Version.createOSGi(1, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-		a11 = createIUUpdate();
-	}
-
-	public void testUpdateWithDifferentId() {
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {a1, updateOfA});
-		Collector c = repo.query(new UpdateQuery(a1), null);
-		assertEquals(1, c.size());
-		assertEquals(updateOfA, c.iterator().next());
-	}
-
-	public void testWithSuperiorVersion() {
-		IMetadataRepository repo2 = createTestMetdataRepository(new IInstallableUnit[] {a11, a1});
-		Collector c2 = repo2.query(new UpdateQuery(a1), null);
-		assertEquals(1, c2.size());
-		assertEquals(a11, c2.iterator().next());
-	}
-
-	public void testUpdateWithSameId() {
-
-	}
-
-	private IInstallableUnit createIUUpdate() {
-		return createIU("A", Version.create("2.1.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, MetadataFactory.createUpdateDescriptor("A", new VersionRange("[2.0.0, 2.1.0]"), 0, "update description"), null);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/AllTests.java
deleted file mode 100644
index 97810b6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/AllTests.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher;
-
-import junit.framework.*;
-import org.eclipse.equinox.p2.tests.publisher.actions.*;
-
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(AbstractPublisherActionTest.class);
-		suite.addTestSuite(AccumulateConfigDataActionTest.class);
-		suite.addTestSuite(AdviceFileParserTest.class);
-		suite.addTestSuite(BundlesActionTest.class);
-		suite.addTestSuite(ConfigCUsActionTest.class);
-		suite.addTestSuite(DefaultCUsActionTest.class);
-		suite.addTestSuite(EquinoxExecutableActionTest.class);
-		suite.addTestSuite(EquinoxLauncherCUActionTest.class);
-		suite.addTestSuite(FeaturesActionTest.class);
-		suite.addTestSuite(JREActionTest.class);
-		suite.addTestSuite(LocalizationTests.class);
-		suite.addTestSuite(LocalUpdateSiteActionTest.class);
-		suite.addTestSuite(MD5GenerationTest.class);
-		suite.addTestSuite(ProductActionTest.class);
-		suite.addTestSuite(ProductActionTestMac.class);
-		suite.addTestSuite(ProductActionWithAdviceFileTest.class);
-		suite.addTestSuite(ProductFileAdviceTest.class);
-		suite.addTestSuite(ProductFileTest.class);
-		suite.addTestSuite(RootFilesActionTest.class);
-		suite.addTestSuite(RootIUActionTest.class);
-		suite.addTestSuite(GeneralPublisherTests.class);
-		suite.addTestSuite(VersionAdviceTest.class);
-		return suite;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/GeneralPublisherTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/GeneralPublisherTests.java
deleted file mode 100644
index abe3fb2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/GeneralPublisherTests.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher;
-
-import java.lang.reflect.Method;
-import java.util.NoSuchElementException;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.publisher.Messages;
-import org.eclipse.equinox.internal.p2.publisher.QuotedTokenizer;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAndBundlesPublisherApplication;
-
-public class GeneralPublisherTests extends TestCase {
-
-	public void testBug255820_Product_normalize() throws Exception {
-		Method normalizeMethod = ProductFile.class.getDeclaredMethod("normalize", String.class);
-		normalizeMethod.setAccessible(true);
-		assertNotNull(normalizeMethod);
-
-		assertEquals(normalizeMethod.invoke(null, "a b  c\td\ne"), "a b c d e");
-		assertEquals(normalizeMethod.invoke(null, "a\fbd\r\n e"), "a bd e");
-	}
-
-	public void testInvalidConfiguration1() {
-		FeaturesAndBundlesPublisherApplication application = new FeaturesAndBundlesPublisherApplication();
-		Integer retValue = 0;
-		try {
-			retValue = (Integer) application.run(new String[0]);
-		} catch (Exception e) {
-			fail("0.99");
-		}
-		assertEquals("1.0", 1, retValue.intValue());
-		assertEquals("1.1", Messages.exception_noMetadataRepo, application.getStatus().getMessage());
-	}
-
-	public void testInvalidConfiguration2() {
-		FeaturesAndBundlesPublisherApplication application = new FeaturesAndBundlesPublisherApplication();
-		Integer retValue = 0;
-		try {
-			retValue = (Integer) application.run(new String[] {"-metadataRepository foo", "-publishArtifacts"});
-		} catch (Exception e) {
-			fail("0.99");
-		}
-		assertEquals("1.0", 1, retValue.intValue());
-		assertEquals("1.1", Messages.exception_noArtifactRepo, application.getStatus().getMessage());
-
-	}
-
-	public void testQuotedTokenizer() throws Exception {
-		QuotedTokenizer tokenizer = new QuotedTokenizer("abra ca dabra");
-		assertEquals("abra", tokenizer.nextToken());
-		assertEquals("ca", tokenizer.nextToken());
-		assertTrue(tokenizer.hasMoreTokens());
-		assertEquals("dabra", tokenizer.nextToken());
-		assertFalse(tokenizer.hasMoreTokens());
-
-		boolean exception = false;
-		try {
-			tokenizer.nextToken();
-		} catch (NoSuchElementException e) {
-			exception = true;
-		}
-		assertTrue(exception);
-
-		tokenizer = new QuotedTokenizer("ab c\"de fg\" hi");
-		assertEquals("ab", tokenizer.nextToken());
-		assertEquals("cde fg", tokenizer.nextToken());
-		assertEquals("hi", tokenizer.nextToken());
-		assertFalse(tokenizer.hasMoreTokens());
-
-		tokenizer = new QuotedTokenizer("a,b c,d", ",");
-		assertEquals("a", tokenizer.nextToken());
-		assertEquals("b c", tokenizer.nextToken());
-		assertEquals("d", tokenizer.nextToken());
-		assertFalse(tokenizer.hasMoreTokens());
-
-		tokenizer = new QuotedTokenizer("a bcd" + '\u7432' + "e fg");
-		assertEquals("a", tokenizer.nextToken());
-		assertEquals("bcd" + '\u7432' + "e", tokenizer.nextToken());
-		assertEquals("fg", tokenizer.nextToken());
-		assertFalse(tokenizer.hasMoreTokens());
-
-		tokenizer = new QuotedTokenizer("    ");
-		assertFalse(tokenizer.hasMoreTokens());
-
-		tokenizer = new QuotedTokenizer(",,,", ",");
-		assertFalse(tokenizer.hasMoreElements());
-
-		tokenizer = new QuotedTokenizer("a \"b\\\" c\" d");
-		assertEquals("a", tokenizer.nextToken());
-		assertEquals("b\" c", tokenizer.nextToken());
-		assertEquals("d", tokenizer.nextToken());
-		assertFalse(tokenizer.hasMoreTokens());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java
deleted file mode 100644
index aa9c7d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/TestArtifactRepository.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import java.util.zip.ZipInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRequest;
-import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
-import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties;
-import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStepHandler;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.repository.IStateful;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.util.NLS;
-
-@SuppressWarnings({"restriction", "unchecked"})
-public class TestArtifactRepository implements IArtifactRepository {
-	private static String provider = null;
-	private HashMap/*<IArtifactDescriptor, byte[]>*/repo;
-	private String name;
-	private String description;
-	private String version = "1.0.0"; //$NON-NLS-1$
-	protected Map properties = new OrderedProperties();
-
-	public class ArtifactOutputStream extends OutputStream implements IStateful {
-		private boolean closed;
-		private long count = 0;
-		private IArtifactDescriptor descriptor;
-		private OutputStream destination;
-		private IStatus status = Status.OK_STATUS;
-		private OutputStream firstLink;
-
-		public ArtifactOutputStream(OutputStream os, IArtifactDescriptor descriptor) {
-			this.destination = os;
-			this.descriptor = descriptor;
-		}
-
-		public void close() throws IOException {
-			if (closed)
-				return;
-			try {
-				destination.close();
-				closed = true;
-			} catch (IOException e) {
-				if (getStatus().isOK())
-					throw e;
-				// if the stream has already been e.g. canceled, we can return -
-				// the status is already set correctly
-				return;
-			}
-			// if the steps ran ok and there was actual content, write the
-			// artifact descriptor
-			// TODO the count check is a bit bogus but helps in some error cases
-			// (e.g., the optimizer)
-			// where errors occurred in a processing step earlier in the chain.
-			// We likely need a better
-			// or more explicit way of handling this case.
-			OutputStream testStream = firstLink == null ? this : firstLink;
-			if (ProcessingStepHandler.checkStatus(testStream).isOK() && count > 0) {
-				((ArtifactDescriptor) descriptor).setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(count));
-				addDescriptor(descriptor, ((ByteArrayOutputStream) destination).toByteArray());
-			}
-		}
-
-		public IStatus getStatus() {
-			return status;
-		}
-
-		public OutputStream getDestination() {
-			return destination;
-		}
-
-		public void setStatus(IStatus status) {
-			this.status = status == null ? Status.OK_STATUS : status;
-		}
-
-		public void write(byte[] b) throws IOException {
-			destination.write(b);
-			count += b.length;
-		}
-
-		public void write(byte[] b, int off, int len) throws IOException {
-			destination.write(b, off, len);
-			count += len;
-		}
-
-		public void write(int b) throws IOException {
-			destination.write(b);
-			count++;
-		}
-
-		public void setFirstLink(OutputStream value) {
-			firstLink = value;
-		}
-	}
-
-	public TestArtifactRepository() {
-		repo = new HashMap/*<IArtifactDescriptor, byte[]>*/();
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-		// Check if the artifact is already in this repository
-		if (contains(descriptor)) {
-			String msg = NLS.bind(Messages.available_already_in, getLocation());
-			throw new ProvisionException(new Status(IStatus.ERROR, TestActivator.PI_PROV_TESTS, ProvisionException.ARTIFACT_EXISTS, msg, null));
-		}
-		return new ArtifactOutputStream(new ByteArrayOutputStream(500), descriptor);
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		addDescriptor(descriptor, new byte[0]);
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor, byte[] bytes) {
-		repo.put(descriptor, bytes);
-	}
-
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		for (int i = 0; i < descriptors.length; i++)
-			addDescriptor(descriptors[i]);
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		return repo.containsKey(descriptor);
-	}
-
-	public synchronized boolean contains(IArtifactKey key) {
-		for (Iterator/*<IArtifactDescriptor>*/iterator = repo.keySet().iterator(); iterator.hasNext();) {
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) iterator.next();
-			if (descriptor.getArtifactKey().equals(key))
-				return true;
-		}
-		return false;
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		try {
-			byte[] repoContents = (byte[]) repo.get(descriptor);
-			if (repoContents == null)
-				return null;
-			destination.write(repoContents);
-		} catch (IOException e) {
-			e.printStackTrace();
-			return null;
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		Set/*<IArtifactDescriptor>*/result = new HashSet/*<IArtifactDescriptor>*/();
-		for (Iterator/*<IArtifactDescriptor>*/iterator = repo.keySet().iterator(); iterator.hasNext();) {
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) iterator.next();
-			if (descriptor.getArtifactKey().equals(key))
-				result.add(descriptor);
-		}
-		return (IArtifactDescriptor[]) result.toArray(new IArtifactDescriptor[0]);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor, requests.length);
-		try {
-			//plugin ID taken from TestActivator
-			MultiStatus overallStatus = new MultiStatus("org.eclipse.equinox.p2.test", IStatus.OK, null, null); //$NON-NLS-1$
-			for (int i = 0; i < requests.length; i++) {
-				overallStatus.add(getArtifact((ArtifactRequest) requests[i], subMonitor.newChild(1)));
-			}
-			return (monitor.isCanceled() ? Status.CANCEL_STATUS : overallStatus);
-		} finally {
-			subMonitor.done();
-		}
-	}
-
-	private IStatus getArtifact(ArtifactRequest artifactRequest, IProgressMonitor monitor) {
-		artifactRequest.setSourceRepository(this);
-		artifactRequest.perform(monitor);
-		return artifactRequest.getResult();
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		repo.remove(descriptor);
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		ArrayList/*<IArtifactDescriptor>*/removeList = new ArrayList/*<IArtifactDescriptor>*/();
-		for (Iterator/*<IArtifactDescriptor>*/iterator = repo.keySet().iterator(); iterator.hasNext();) {
-			IArtifactDescriptor descriptor = (IArtifactDescriptor) iterator.next();
-			if (descriptor.getArtifactKey().equals(key))
-				removeList.add(descriptor);
-		}
-		for (int i = 0; i < repo.size(); i++) {
-			repo.remove(removeList.get(i));
-		}
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public URI getLocation() {
-		return null;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public Map getProperties() {
-		return OrderedProperties.unmodifiableProperties(properties);
-	}
-
-	public String getProvider() {
-		return provider;
-	}
-
-	public String getType() {
-		return "memoryArtifactRepo"; //$NON-NLS-1$
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public boolean isModifiable() {
-		return true;
-	}
-
-	public void setDescription(String value) {
-		this.description = value;
-	}
-
-	public void setName(String value) {
-		this.name = value;
-	}
-
-	public String setProperty(String key, String value) {
-		return (String) (value == null ? properties.remove(key) : properties.put(key, value));
-	}
-
-	public void setProvider(String value) {
-		provider = value;
-	}
-
-	public void removeAll() {
-		repo.clear();
-	}
-
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	public ZipInputStream getZipInputStream(IArtifactKey key) {
-		//get first descriptor with key
-		IArtifactDescriptor[] descriptor = getArtifactDescriptors(key);
-		if (descriptor == null || descriptor.length == 0 || descriptor[0] == null)
-			return null;
-		return new ZipInputStream(getRawInputStream(descriptor[0]));
-	}
-
-	public InputStream getRawInputStream(IArtifactDescriptor descriptor) {
-		return new ByteArrayInputStream((byte[]) repo.get(descriptor), 0, ((byte[]) repo.get(descriptor)).length);
-	}
-
-	public ZipInputStream getZipInputStream(IArtifactDescriptor descriptor) {
-		return new ZipInputStream(getRawInputStream(descriptor));
-	}
-
-	public byte[] getBytes(IArtifactDescriptor artifactDescriptor) {
-		return (byte[]) repo.get(artifactDescriptor);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return getArtifact(descriptor, destination, monitor);
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return new ArtifactDescriptor(key);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		Collector collector = new Collector();
-		if (monitor != null && monitor.isCanceled())
-			return collector;
-
-		boolean excludeKeys = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_KEYS));
-		boolean excludeDescriptors = Boolean.TRUE.equals(query.getProperty(IArtifactRepository.QUERY_EXCLUDE_DESCRIPTORS));
-		if (!excludeKeys) {
-			Set/*<IArtifactKey>*/result = new HashSet/*<IArtifactKey>*/();
-			for (Iterator/*<IArtifactDescriptor>*/iterator = repo.keySet().iterator(); iterator.hasNext();) {
-				IArtifactDescriptor descriptor = (IArtifactDescriptor) iterator.next();
-				result.add(descriptor.getArtifactKey());
-			}
-			collector = query.perform(result.iterator(), collector);
-		}
-		if (!excludeDescriptors)
-			collector = query.perform(repo.keySet().iterator(), collector);
-		return collector;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
deleted file mode 100644
index 0a290e0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.ICapabilityAdvice;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AbstractPublisherActionTest extends AbstractProvisioningTest {
-	//Note: this is tests for AbstractPublisherAction and not a base class for other tests
-
-	static class TestAction extends AbstractPublisherAction {
-		@Override
-		public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public void testProcessCapabilityAdvice(InstallableUnitDescription iu, IPublisherInfo publisherInfo) {
-			AbstractPublisherAction.processCapabilityAdvice(iu, publisherInfo);
-		}
-
-	}
-
-	static class TestCapabilityAdvice implements ICapabilityAdvice {
-		private final IProvidedCapability providedCapability;
-		private final IRequiredCapability requiredCapability;
-		private final IRequiredCapability metaRequiredCapability;
-
-		public TestCapabilityAdvice(IProvidedCapability providedCapability, IRequiredCapability requiredCapability, IRequiredCapability metaRequiredCapability) {
-			this.providedCapability = providedCapability;
-			this.requiredCapability = requiredCapability;
-			this.metaRequiredCapability = metaRequiredCapability;
-		}
-
-		public IProvidedCapability[] getProvidedCapabilities(InstallableUnitDescription iu) {
-			if (providedCapability == null)
-				return null;
-
-			return new IProvidedCapability[] {providedCapability};
-		}
-
-		public IRequiredCapability[] getRequiredCapabilities(InstallableUnitDescription iu) {
-			if (requiredCapability == null)
-				return null;
-
-			return new IRequiredCapability[] {requiredCapability};
-		}
-
-		public IRequiredCapability[] getMetaRequiredCapabilities(InstallableUnitDescription iu) {
-			if (metaRequiredCapability == null)
-				return null;
-
-			return new IRequiredCapability[] {metaRequiredCapability};
-		}
-
-		public boolean isApplicable(String configSpec, boolean includeDefault, String id, Version version) {
-			return id.equals("test");
-		}
-	}
-
-	public void testAddCapabilities() {
-		InstallableUnitDescription iu = new InstallableUnitDescription();
-		iu.setId("test");
-		assertEquals(0, iu.getRequiredCapabilities().length);
-		assertEquals(0, iu.getProvidedCapabilities().length);
-		assertEquals(0, iu.getMetaRequiredCapabilities().length);
-
-		IPublisherInfo info = new PublisherInfo();
-		IRequiredCapability testRequiredCapability = MetadataFactory.createRequiredCapability("ns1", "name1", null, null, false, false, false);
-		IProvidedCapability testProvideCapability = MetadataFactory.createProvidedCapability("ns2", "name2", Version.createOSGi(9, 0, 0));
-		IRequiredCapability testMetaRequiredCapability = MetadataFactory.createRequiredCapability("ns3", "name3", null, null, false, false, false);
-
-		info.addAdvice(new TestCapabilityAdvice(testProvideCapability, testRequiredCapability, testMetaRequiredCapability));
-		TestAction action = new TestAction();
-		action.testProcessCapabilityAdvice(iu, info);
-
-		assertEquals("name1", ((IRequiredCapability) iu.getRequiredCapabilities()[0]).getName());
-		assertEquals("name2", iu.getProvidedCapabilities()[0].getName());
-		assertEquals("name3", ((IRequiredCapability) iu.getMetaRequiredCapabilities()[0]).getName());
-	}
-
-	public void testAddCapabilitiesIdentityCounts() {
-		InstallableUnitDescription iu = new InstallableUnitDescription();
-		iu.setId("test");
-
-		IRequiredCapability[] requiredCapabilities = new IRequiredCapability[5];
-		requiredCapabilities[0] = MetadataFactory.createRequiredCapability("rtest1", "test1", new VersionRange("[1,2)"), null, false, false, false);
-		requiredCapabilities[1] = MetadataFactory.createRequiredCapability("rtest1", "test1", new VersionRange("[2,3)"), null, false, false, false);
-		requiredCapabilities[2] = MetadataFactory.createRequiredCapability("rtest2", "test2", new VersionRange("[1,2)"), null, false, false, false);
-		requiredCapabilities[3] = MetadataFactory.createRequiredCapability("rtest2", "test2", new VersionRange("[2,3)"), null, false, false, false);
-		requiredCapabilities[4] = MetadataFactory.createRequiredCapability("rtest3", "test3", null, null, false, false, false);
-		iu.setRequiredCapabilities(requiredCapabilities);
-
-		IProvidedCapability[] providedCapabilities = new IProvidedCapability[5];
-		providedCapabilities[0] = MetadataFactory.createProvidedCapability("ptest1", "test1", Version.createOSGi(1, 0, 0));
-		providedCapabilities[1] = MetadataFactory.createProvidedCapability("ptest1", "test1", Version.createOSGi(2, 0, 0));
-		providedCapabilities[2] = MetadataFactory.createProvidedCapability("ptest2", "test2", Version.createOSGi(1, 0, 0));
-		providedCapabilities[3] = MetadataFactory.createProvidedCapability("ptest2", "test2", Version.createOSGi(2, 0, 0));
-		providedCapabilities[4] = MetadataFactory.createProvidedCapability("ptest3", "test3", null);
-		iu.setCapabilities(providedCapabilities);
-
-		IRequiredCapability[] metaRequiredCapabilities = new IRequiredCapability[5];
-		metaRequiredCapabilities[0] = MetadataFactory.createRequiredCapability("mtest1", "test1", new VersionRange("[1,2)"), null, false, false, false);
-		metaRequiredCapabilities[1] = MetadataFactory.createRequiredCapability("mtest1", "test1", new VersionRange("[2,3)"), null, false, false, false);
-		metaRequiredCapabilities[2] = MetadataFactory.createRequiredCapability("mtest2", "test2", new VersionRange("[1,2)"), null, false, false, false);
-		metaRequiredCapabilities[3] = MetadataFactory.createRequiredCapability("mtest2", "test2", new VersionRange("[2,3)"), null, false, false, false);
-		metaRequiredCapabilities[4] = MetadataFactory.createRequiredCapability("mtest3", "test3", null, null, false, false, false);
-		iu.setMetaRequiredCapabilities(metaRequiredCapabilities);
-
-		assertEquals(5, iu.getRequiredCapabilities().length);
-		assertEquals(5, iu.getProvidedCapabilities().length);
-		assertEquals(5, iu.getMetaRequiredCapabilities().length);
-
-		IPublisherInfo info = new PublisherInfo();
-		IRequiredCapability testRequiredCapability = MetadataFactory.createRequiredCapability("ns1", "name1", null, null, false, false, false);
-		IProvidedCapability testProvideCapability = MetadataFactory.createProvidedCapability("ns2", "name2", Version.createOSGi(9, 0, 0));
-		IRequiredCapability testMetaRequiredCapability = MetadataFactory.createRequiredCapability("ns3", "name3", null, null, false, false, false);
-
-		info.addAdvice(new TestCapabilityAdvice(testProvideCapability, testRequiredCapability, testMetaRequiredCapability));
-		TestAction action = new TestAction();
-		action.testProcessCapabilityAdvice(iu, info);
-
-		assertEquals(6, iu.getRequiredCapabilities().length);
-		assertEquals(6, iu.getProvidedCapabilities().length);
-		assertEquals(6, iu.getMetaRequiredCapabilities().length);
-	}
-
-	public void testReplaceCapabilities() {
-		InstallableUnitDescription iu = new InstallableUnitDescription();
-		iu.setId("test");
-		iu.setRequiredCapabilities(createRequiredCapabilities("ns1", "name1", null, ""));
-		iu.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability("ns2", "name2", null)});
-		iu.setMetaRequiredCapabilities(createRequiredCapabilities("ns3", "name3", null, ""));
-
-		assertNotSame(9, Version.toOSGiVersion(iu.getProvidedCapabilities()[0].getVersion()).getMajor());
-		assertTrue(iu.getRequiredCapabilities()[0].isGreedy());
-		assertTrue(iu.getMetaRequiredCapabilities()[0].isGreedy());
-
-		IPublisherInfo info = new PublisherInfo();
-		IRequiredCapability testRequiredCapability = MetadataFactory.createRequiredCapability("ns1", "name1", null, null, false, false, false);
-		IProvidedCapability testProvideCapability = MetadataFactory.createProvidedCapability("ns2", "name2", Version.createOSGi(9, 0, 0));
-		IRequiredCapability testMetaRequiredCapability = MetadataFactory.createRequiredCapability("ns3", "name3", null, null, false, false, false);
-
-		info.addAdvice(new TestCapabilityAdvice(testProvideCapability, testRequiredCapability, testMetaRequiredCapability));
-		TestAction action = new TestAction();
-		action.testProcessCapabilityAdvice(iu, info);
-
-		assertEquals(9, Version.toOSGiVersion(iu.getProvidedCapabilities()[0].getVersion()).getMajor());
-		assertFalse(iu.getRequiredCapabilities()[0].isGreedy());
-		assertFalse(iu.getMetaRequiredCapabilities()[0].isGreedy());
-	}
-
-	public void testReplaceCapabilitiesIdentityCounts() {
-		InstallableUnitDescription iu = new InstallableUnitDescription();
-		iu.setId("test");
-
-		IRequiredCapability[] requiredCapabilities = new IRequiredCapability[5];
-		requiredCapabilities[0] = MetadataFactory.createRequiredCapability("rtest1", "test1", new VersionRange("[1,2)"), null, false, false, false);
-		requiredCapabilities[1] = MetadataFactory.createRequiredCapability("rtest1", "test1", new VersionRange("[2,3)"), null, false, false, false);
-		requiredCapabilities[2] = MetadataFactory.createRequiredCapability("rtest2", "test2", new VersionRange("[1,2)"), null, false, false, false);
-		requiredCapabilities[3] = MetadataFactory.createRequiredCapability("rtest2", "test2", new VersionRange("[2,3)"), null, false, false, false);
-		requiredCapabilities[4] = MetadataFactory.createRequiredCapability("rtest3", "test3", null, null, false, false, false);
-		iu.setRequiredCapabilities(requiredCapabilities);
-
-		IProvidedCapability[] providedCapabilities = new IProvidedCapability[5];
-		providedCapabilities[0] = MetadataFactory.createProvidedCapability("ptest1", "test1", Version.createOSGi(1, 0, 0));
-		providedCapabilities[1] = MetadataFactory.createProvidedCapability("ptest1", "test1", Version.createOSGi(2, 0, 0));
-		providedCapabilities[2] = MetadataFactory.createProvidedCapability("ptest2", "test2", Version.createOSGi(1, 0, 0));
-		providedCapabilities[3] = MetadataFactory.createProvidedCapability("ptest2", "test2", Version.createOSGi(2, 0, 0));
-		providedCapabilities[4] = MetadataFactory.createProvidedCapability("ptest3", "test3", null);
-		iu.setCapabilities(providedCapabilities);
-
-		IRequiredCapability[] metaRequiredCapabilities = new IRequiredCapability[5];
-		metaRequiredCapabilities[0] = MetadataFactory.createRequiredCapability("mtest1", "test1", new VersionRange("[1,2)"), null, false, false, false);
-		metaRequiredCapabilities[1] = MetadataFactory.createRequiredCapability("mtest1", "test1", new VersionRange("[2,3)"), null, false, false, false);
-		metaRequiredCapabilities[2] = MetadataFactory.createRequiredCapability("mtest2", "test2", new VersionRange("[1,2)"), null, false, false, false);
-		metaRequiredCapabilities[3] = MetadataFactory.createRequiredCapability("mtest2", "test2", new VersionRange("[2,3)"), null, false, false, false);
-		metaRequiredCapabilities[4] = MetadataFactory.createRequiredCapability("mtest3", "test3", null, null, false, false, false);
-		iu.setMetaRequiredCapabilities(metaRequiredCapabilities);
-
-		assertEquals(5, iu.getRequiredCapabilities().length);
-		assertEquals(5, iu.getProvidedCapabilities().length);
-		assertEquals(5, iu.getMetaRequiredCapabilities().length);
-
-		IPublisherInfo info = new PublisherInfo();
-		IRequiredCapability testRequiredCapability = MetadataFactory.createRequiredCapability("rtest1", "test1", null, null, false, false, false);
-		IProvidedCapability testProvideCapability = MetadataFactory.createProvidedCapability("ptest1", "test1", null);
-		IRequiredCapability testMetaRequiredCapability = MetadataFactory.createRequiredCapability("mtest1", "test1", null, null, false, false, false);
-
-		info.addAdvice(new TestCapabilityAdvice(testProvideCapability, testRequiredCapability, testMetaRequiredCapability));
-		TestAction action = new TestAction();
-		action.testProcessCapabilityAdvice(iu, info);
-
-		assertEquals(4, iu.getRequiredCapabilities().length);
-		assertEquals(4, iu.getProvidedCapabilities().length);
-		assertEquals(4, iu.getMetaRequiredCapabilities().length);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
deleted file mode 100644
index 9eb4f1c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AccumulateConfigDataActionTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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:
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Properties;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-@SuppressWarnings( {"restriction", "unchecked"})
-public class AccumulateConfigDataActionTest extends ActionTest {
-
-	private static String EXECUTABLE_NAME = "run.exe"; //$NON-NLS-1$
-	private static String FOO = "/AccumulateConfigDataActionTest/level1/plugins/foo_1.0.100.v20080509-1800.jar"; //$NON-NLS-1$
-	private static String BAR = "/AccumulateConfigDataActionTest/level1/plugins/bar_1.0.100.v20080509-1800"; //$NON-NLS-1$
-	private static File configLocation = new File(TestActivator.getTestDataFolder(), "AccumulateConfigDataActionTest/level1/level2/config.ini"); //$NON-NLS-1$
-	private static File executableLocation = new File(TestActivator.getTestDataFolder(), "AccumulateConfigDataActionTest/level1/" + EXECUTABLE_NAME); //$NON-NLS-1$
-	private static String fwName = "osgi"; //$NON-NLS-1$
-	private static String fwVersion = "3.4.0.qualifier"; //$NON-NLS-1$
-	private static String launcherName = "launcherName"; //$NON-NLS-1$
-	private static String launcherVersion = "0.0.0"; //$NON-NLS-1$
-
-	Capture<ConfigAdvice> configAdviceCapture;
-	Capture<LaunchingAdvice> launchingAdviceCapture;
-
-	public void setUp() throws Exception {
-		configAdviceCapture = new Capture<ConfigAdvice>();
-		launchingAdviceCapture = new Capture<LaunchingAdvice>();
-		setupPublisherInfo();
-		setupPublisherResult();
-		testAction = new AccumulateConfigDataAction(publisherInfo, configSpec, configLocation, executableLocation);
-	}
-
-	public void testAccumulateConfigDataAction() throws Exception {
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyConfigAdvice();
-		verifyLaunchAdvice();
-		debug("Completed AccumulateConfigDataActionTest."); //$NON-NLS-1$
-	}
-
-	private void verifyLaunchAdvice() throws URISyntaxException {
-		LaunchingAdvice captured = launchingAdviceCapture.getValue();
-		String[] programArgs = captured.getProgramArguments();
-		assertTrue(programArgs.length == 4);
-		assertTrue(programArgs[0].equalsIgnoreCase("-startup")); //$NON-NLS-1$
-
-		Path path1 = new Path(TestActivator.getTestDataFolder().getPath() + FOO);
-		assertTrue(path1.toFile().toURI().equals(new URI(programArgs[1])));
-		assertTrue(programArgs[2].equalsIgnoreCase("--launcher.library"));//$NON-NLS-1$
-
-		Path path2 = new Path(TestActivator.getTestDataFolder().getPath() + BAR);
-		assertTrue(path2.toFile().toURI().equals(new URI(programArgs[3])));
-
-		String[] vmArgs = captured.getVMArguments();
-		assertTrue(vmArgs.length == 0);
-		//		assertTrue(captured.getExecutableName().equalsIgnoreCase(EXECUTABLE_NAME)); TODO: use executable name from params, not framework admin
-	}
-
-	private void verifyConfigAdvice() throws Exception {
-		ConfigAdvice captured = configAdviceCapture.getValue();
-		Properties prop = captured.getProperties();
-		assertTrue(prop.getProperty("eclipse.buildId").equalsIgnoreCase("TEST-ID")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(prop.getProperty("eclipse.p2.profile").equalsIgnoreCase("PlatformProfile")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(prop.getProperty("org.eclipse.update.reconcile").equalsIgnoreCase("false")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(prop.getProperty("eclipse.product").equalsIgnoreCase("org.eclipse.platform.ide")); //$NON-NLS-1$//$NON-NLS-2$
-
-		assertContainsSymbolicName(captured.getBundles(), "org.eclipse.swt"); //$NON-NLS-1$
-		assertContainsSymbolicName(captured.getBundles(), "org.eclipse.swt.win32.win32.x86"); //$NON-NLS-1$
-		assertContainsSymbolicName(captured.getBundles(), "org.eclipse.swt.gtk.linux.x86"); //$NON-NLS-1$
-		assertContainsSymbolicName(captured.getBundles(), "org.eclipse.swt.carbon.macosx"); //$NON-NLS-1$
-	}
-
-	private void assertContainsSymbolicName(BundleInfo[] bundles, String symbolicName) {
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].getSymbolicName().equals(symbolicName))
-				return;
-		}
-		fail();
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		ConfigData configData = new ConfigData(fwName, fwVersion, launcherName, launcherVersion);
-		ConfigAdvice configAdvice = new ConfigAdvice(configData, configSpec);
-		ArrayList configList = new ArrayList();
-		configList.add(configAdvice);
-
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ConfigAdvice.class), EasyMock.capture(configAdviceCapture)));
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(LaunchingAdvice.class), EasyMock.capture(launchingAdviceCapture)));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
deleted file mode 100644
index 6250057..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.*;
-import java.util.*;
-import junit.framework.Assert;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-@SuppressWarnings({"cast", "restriction", "unchecked"})
-public abstract class ActionTest extends AbstractProvisioningTest {
-	protected static final String COMMA_SEPARATOR = ","; //$NON-NLS-1$
-	protected static final String JAR = "jar";//$NON-NLS-1$
-	private static final boolean DEBUG = false;
-
-	protected String os = "win32";//$NON-NLS-1$
-	protected String ws = "win32";//$NON-NLS-1$
-	protected String arch = "x86";//$NON-NLS-1$
-	protected String configSpec = AbstractPublisherAction.createConfigSpec(ws, os, arch);//"win32.win32.x86"; // or macosx
-	protected String flavorArg = "tooling";//$NON-NLS-1$
-	protected String[] topLevel;
-	protected AbstractPublisherAction testAction;
-	protected IPublisherInfo publisherInfo;
-	protected IPublisherResult publisherResult;
-
-	/**
-	 * Convert a list of tokens into an array. The list separator has to be
-	 * specified.
-	 */
-	public static String[] getArrayFromString(String list, String separator) {
-		if (list == null || list.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		List<String> result = new ArrayList<String>();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				result.add(token);
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	protected void verifyProvidedCapability(IProvidedCapability[] prov, String namespace, String name, Version version) {
-		for (int i = 0; i < prov.length; i++)
-			if (prov[i].getName().equalsIgnoreCase(name) && prov[i].getNamespace().equalsIgnoreCase(namespace) && prov[i].getVersion().equals(version))
-				return; // pass
-		Assert.fail("Missing ProvidedCapability: " + name + version.toString()); //$NON-NLS-1$
-	}
-
-	protected void verifyRequiredCapability(IRequirement[] requirement, String namespace, String name, VersionRange range) {
-		for (int i = 0; i < requirement.length; i++) {
-			IRequiredCapability required = (IRequiredCapability) requirement[i].getMatches();
-			if (required.getName().equalsIgnoreCase(name) && required.getNamespace().equalsIgnoreCase(namespace) && required.getRange().equals(range))
-				return;
-		}
-		Assert.fail("Missing RequiredCapability: " + name + " " + range.toString()); //$NON-NLS-1$
-	}
-
-	protected IInstallableUnit mockIU(String id, Version version) {
-		IInstallableUnit result = createMock(IInstallableUnit.class);
-		expect(result.getId()).andReturn(id).anyTimes();
-		if (version == null)
-			version = Version.emptyVersion;
-		expect(result.getVersion()).andReturn(version).anyTimes();
-		expect(result.getFilter()).andReturn(null).anyTimes();
-		replay(result);
-		return result;
-	}
-
-	protected Map getFileMap(Map map, File[] files, Path root) {
-		for (int i = 0; i < files.length; i++) {
-			if (files[i].isDirectory())
-				map = getFileMap(map, files[i].listFiles(), root);
-			else {
-				if (files[i].getPath().endsWith(JAR))
-					continue;
-				try {
-					ByteArrayOutputStream content = new ByteArrayOutputStream();
-					File contentBytes = files[i];
-					FileUtils.copyStream(new FileInputStream(contentBytes), false, content, true);
-
-					IPath entryPath = new Path(files[i].getAbsolutePath());
-					entryPath = entryPath.removeFirstSegments(root.matchingFirstSegments(entryPath));
-					entryPath = entryPath.setDevice(null);
-					map.put(entryPath.toString(), new Object[] {contentBytes, content.toByteArray()});
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-		return map;
-	}
-
-	protected void contains(IProvidedCapability[] capabilities, String namespace, String name, Version version) {
-		for (int i = 0; i < capabilities.length; i++) {
-			IProvidedCapability capability = capabilities[i];
-			if (capability.getNamespace().equals(namespace) && capability.getName().equals(name) && capability.getVersion().equals(version))
-				return;
-		}
-		fail();
-	}
-
-	protected void contains(IRequirement[] capabilities, String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) {
-		for (int i = 0; i < capabilities.length; i++) {
-			IRequiredCapability capability = (IRequiredCapability) capabilities[i].getMatches();
-			if (filter == null) {
-				if (capability.getFilter() != null)
-					continue;
-			} else if (!new LDAPQuery(filter).equals(capability.getFilter()))
-				continue;
-			if (!name.equals(capability.getName()))
-				continue;
-			if (!namespace.equals(capability.getNamespace()))
-				continue;
-			if (optional != (capability.getMin() == 0))
-				continue;
-			if (!range.equals(capability.getRange()))
-				continue;
-			return;
-		}
-		fail();
-	}
-
-	public void setupPublisherResult() {
-		publisherResult = new PublisherResult();
-	}
-
-	/**
-	 * Call this method to setup Publisher Info, not <code>insertPublisherInfoBehavior</code>
-	 */
-	public void setupPublisherInfo() {
-		publisherInfo = createPublisherInfoMock();
-
-		String[] config = getArrayFromString(configSpec, COMMA_SEPARATOR);
-		expect(publisherInfo.getConfigurations()).andReturn(config).anyTimes();
-		insertPublisherInfoBehavior();
-		replay(publisherInfo);
-	}
-
-	/**
-	 * Creates the mock object for the IPublisherInfo. Subclasses
-	 * can override to create a nice or strict mock instead.
-	 * @return The publisher info mock
-	 * @see org.easymock.EasyMock#createNiceMock(Class)
-	 * @see org.easymock.EasyMock#createStrictMock(Class)
-	 */
-	protected IPublisherInfo createPublisherInfoMock() {
-		return createMock(IPublisherInfo.class);
-	}
-
-	/**
-	 * Do not call this method, it is called by <code>setupPublisherInfo</code>.
-	 */
-	protected void insertPublisherInfoBehavior() {
-		expect(publisherInfo.getMetadataRepository()).andReturn(null).anyTimes();
-		expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
-	}
-
-	public void cleanup() {
-		publisherInfo = null;
-		publisherResult = null;
-	}
-
-	/**
-	 * Prints a message used for debugging tests.
-	 */
-	public void debug(String message) {
-		if (DEBUG)
-			debug(message);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
deleted file mode 100644
index 4a48aec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.publisher.eclipse.AdviceFileParser;
-
-public class AdviceFileParserTest extends TestCase {
-	public void testNoAdvice() {
-		AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, Collections.EMPTY_MAP);
-		parser.parse();
-		assertNull(parser.getAdditionalInstallableUnitDescriptions());
-		assertNull(parser.getProperties());
-		assertNull(parser.getProvidedCapabilities());
-		assertNull(parser.getRequiredCapabilities());
-		assertNull(parser.getTouchpointInstructions());
-	}
-
-	public void testAdviceVersion() {
-		Map map = new HashMap();
-		map.put("advice.version", "1.0");
-		AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-
-		map.put("advice.version", "999");
-		parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		try {
-			parser.parse();
-		} catch (IllegalStateException e) {
-			return;
-		}
-		fail("expected version parse problem");
-	}
-
-	public void testPropertyAdvice() {
-		Map map = new HashMap();
-		map.put("properties.0.name", "testName1");
-		map.put("properties.0.value", "testValue1");
-		map.put("properties.1.name", "testName2");
-		map.put("properties.1.value", "testValue2");
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		assertEquals("testValue1", parser.getProperties().getProperty("testName1"));
-		assertEquals("testValue2", parser.getProperties().getProperty("testName2"));
-	}
-
-	public void testProvidesAdvice() {
-		Map map = new HashMap();
-		map.put("provides.0.namespace", "testNamespace1");
-		map.put("provides.0.name", "testName1");
-		map.put("provides.0.version", "1.2.3.$qualifier$");
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.create("1.0.0.v20090909"), map);
-		parser.parse();
-		IProvidedCapability[] capabilities = parser.getProvidedCapabilities();
-		assertEquals(1, capabilities.length);
-		assertEquals("testNamespace1", capabilities[0].getNamespace());
-		assertEquals("testName1", capabilities[0].getName());
-		assertEquals(Version.create("1.2.3.v20090909"), capabilities[0].getVersion());
-
-		map.put("provides.1.namespace", "testNamespace2");
-		map.put("provides.1.name", "testName2");
-		map.put("provides.1.version", "$version$");
-
-		parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		capabilities = parser.getProvidedCapabilities();
-		assertEquals(2, capabilities.length);
-		assertEquals("testNamespace1", capabilities[0].getNamespace());
-		assertEquals("testName1", capabilities[0].getName());
-		assertEquals(Version.create("1.2.3"), capabilities[0].getVersion());
-		assertEquals("testNamespace2", capabilities[1].getNamespace());
-		assertEquals("testName2", capabilities[1].getName());
-		assertEquals(Version.emptyVersion, capabilities[1].getVersion());
-	}
-
-	public void testRequiresAdvice() {
-		Map map = new HashMap();
-		map.put("requires.0.namespace", "testNamespace1");
-		map.put("requires.0.name", "testName1");
-		map.put("requires.0.range", "[1.2.3.$qualifier$, 2)");
-		map.put("requires.0.greedy", Boolean.TRUE.toString());
-		map.put("requires.0.optional", Boolean.TRUE.toString());
-		map.put("requires.0.multiple", Boolean.TRUE.toString());
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.create("1.0.0.v20090909"), map);
-		parser.parse();
-		IRequirement[] reqs = parser.getRequiredCapabilities();
-		assertEquals(1, reqs.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) reqs[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) reqs[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3.v20090909, 2)"), ((IRequiredCapability) reqs[0].getMatches()).getRange());
-
-		map.put("requires.1.namespace", "testNamespace2");
-		map.put("requires.1.name", "testName2");
-		map.put("requires.1.range", "$version$");
-		map.put("requires.1.greedy", Boolean.FALSE.toString());
-		map.put("requires.1.optional", Boolean.FALSE.toString());
-		//default 
-		//		map.put("requires.1.multiple", Boolean.FALSE.toString());
-
-		parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		reqs = parser.getRequiredCapabilities();
-		assertEquals(2, reqs.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) reqs[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) reqs[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3, 2)"), ((IRequiredCapability) reqs[0].getMatches()).getRange());
-		assertEquals(true, ((IRequiredCapability) reqs[0].getMatches()).isGreedy());
-		assertEquals(0, reqs[0].getMin());
-		assertEquals("testNamespace2", ((IRequiredCapability) reqs[1].getMatches()).getNamespace());
-		assertEquals("testName2", ((IRequiredCapability) reqs[1].getMatches()).getName());
-		assertEquals(new VersionRange(Version.emptyVersion.toString()), ((IRequiredCapability) reqs[1].getMatches()).getRange());
-		assertEquals(false, reqs[1].isGreedy());
-		assertEquals(1, reqs[1].getMin());
-	}
-
-	public void testMetaRequiresAdvice() {
-		Map map = new HashMap();
-		map.put("metaRequirements.0.namespace", "testNamespace1");
-		map.put("metaRequirements.0.name", "testName1");
-		map.put("metaRequirements.0.range", "[1.2.3.$qualifier$, 2)");
-		map.put("metaRequirements.0.greedy", Boolean.TRUE.toString());
-		map.put("metaRequirements.0.optional", Boolean.TRUE.toString());
-		map.put("metaRequirements.0.multiple", Boolean.TRUE.toString());
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.create("1.0.0.v20090909"), map);
-		parser.parse();
-		IRequirement[] reqs = parser.getMetaRequiredCapabilities();
-		assertEquals(1, reqs.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) reqs[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) reqs[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3.v20090909, 2)"), ((IRequiredCapability) reqs[0].getMatches()).getRange());
-
-		map.put("metaRequirements.1.namespace", "testNamespace2");
-		map.put("metaRequirements.1.name", "testName2");
-		map.put("metaRequirements.1.range", "$version$");
-		map.put("metaRequirements.1.greedy", Boolean.FALSE.toString());
-		map.put("metaRequirements.1.optional", Boolean.FALSE.toString());
-		//default 
-		//		map.put("requires.1.multiple", Boolean.FALSE.toString());
-
-		parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		reqs = parser.getMetaRequiredCapabilities();
-		assertEquals(2, reqs.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) reqs[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) reqs[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3, 2)"), ((IRequiredCapability) reqs[0].getMatches()).getRange());
-		assertEquals(true, ((IRequiredCapability) reqs[0].getMatches()).isGreedy());
-		assertEquals(0, reqs[0].getMin());
-		assertEquals("testNamespace2", ((IRequiredCapability) reqs[1].getMatches()).getNamespace());
-		assertEquals("testName2", ((IRequiredCapability) reqs[1].getMatches()).getName());
-		assertEquals(new VersionRange(Version.emptyVersion.toString()), ((IRequiredCapability) reqs[1].getMatches()).getRange());
-		assertEquals(false, reqs[1].isGreedy());
-		assertEquals(1, reqs[1].getMin());
-	}
-
-	public void testInstructionsAdvice() {
-		Map map = new HashMap();
-		map.put("instructions.configure", "addProgramArg(programArg:-startup); addProgramArg(programArg:@artifact);");
-
-		map.put("instructions.unconfigure", "removeProgramArg(programArg:-startup); removeProgramArg(programArg:@artifact);)");
-		map.put("instructions.unconfigure.import", "some.removeProgramArg");
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		ITouchpointInstruction configure = (ITouchpointInstruction) parser.getTouchpointInstructions().get("configure");
-		assertEquals(null, configure.getImportAttribute());
-		assertEquals("addProgramArg(programArg:-startup); addProgramArg(programArg:@artifact);", configure.getBody());
-
-		ITouchpointInstruction unconfigure = (ITouchpointInstruction) parser.getTouchpointInstructions().get("unconfigure");
-		assertEquals("some.removeProgramArg", unconfigure.getImportAttribute());
-		assertEquals("removeProgramArg(programArg:-startup); removeProgramArg(programArg:@artifact);)", unconfigure.getBody());
-	}
-
-	public void testAdditionalInstallableUnitDescriptionsAdvice() {
-		Map map = new HashMap();
-		map.put("units.0.id", "testid0");
-		map.put("units.0.version", "1.2.3");
-
-		map.put("units.1.id", "testid1");
-		map.put("units.1.version", "1.2.4");
-		map.put("units.1.singleton", "true");
-		map.put("units.1.copyright", "testCopyright");
-		map.put("units.1.copyright.location", "http://localhost/test");
-		map.put("units.1.filter", "test=testFilter");
-		map.put("units.1.touchpoint.id", "testTouchpointId");
-		map.put("units.1.touchpoint.version", "1.2.5");
-		map.put("units.1.update.id", "testid1");
-		map.put("units.1.update.range", "(1,2)");
-		map.put("units.1.update.severity", "2");
-		map.put("units.1.update.description", "some description");
-		map.put("units.1.artifacts.0.id", "testArtifact1");
-		map.put("units.1.artifacts.0.version", "1.2.6");
-		map.put("units.1.artifacts.0.classifier", "testClassifier1");
-		map.put("units.1.artifacts.1.id", "testArtifact2");
-		map.put("units.1.artifacts.1.version", "1.2.7");
-		map.put("units.1.artifacts.1.classifier", "testClassifier2");
-		map.put("units.1.licenses.0", "testLicense");
-		map.put("units.1.licenses.0.location", "http://localhost/license");
-		map.put("units.1.properties.0.name", "testName1");
-		map.put("units.1.properties.0.value", "testValue1");
-		map.put("units.1.properties.1.name", "testName2");
-		map.put("units.1.properties.1.value", "testValue2");
-		map.put("units.1.requires.0.namespace", "testNamespace1");
-		map.put("units.1.requires.0.name", "testName1");
-		map.put("units.1.requires.0.range", "[1.2.3.$qualifier$, 2)");
-		map.put("units.1.requires.0.greedy", Boolean.TRUE.toString());
-		map.put("units.1.requires.0.optional", Boolean.TRUE.toString());
-		map.put("units.1.requires.0.multiple", Boolean.TRUE.toString());
-		map.put("units.1.requires.1.namespace", "testNamespace2");
-		map.put("units.1.requires.1.name", "testName2");
-		map.put("units.1.requires.1.range", "$version$");
-		map.put("units.1.requires.1.greedy", Boolean.FALSE.toString());
-		map.put("units.1.requires.1.optional", Boolean.FALSE.toString());
-		map.put("units.1.metaRequirements.0.namespace", "testNamespace1");
-		map.put("units.1.metaRequirements.0.name", "testName1");
-		map.put("units.1.metaRequirements.0.range", "[1.2.3.$qualifier$, 2)");
-		map.put("units.1.metaRequirements.0.greedy", Boolean.TRUE.toString());
-		map.put("units.1.metaRequirements.0.optional", Boolean.TRUE.toString());
-		map.put("units.1.metaRequirements.0.multiple", Boolean.TRUE.toString());
-		map.put("units.1.metaRequirements.1.namespace", "testNamespace2");
-		map.put("units.1.metaRequirements.1.name", "testName2");
-		map.put("units.1.metaRequirements.1.range", "$version$");
-		map.put("units.1.metaRequirements.1.greedy", Boolean.FALSE.toString());
-		map.put("units.1.metaRequirements.1.optional", Boolean.FALSE.toString());
-		map.put("units.1.provides.0.namespace", "testNamespace1");
-		map.put("units.1.provides.0.name", "testName1");
-		map.put("units.1.provides.0.version", "1.2.3.$qualifier$");
-		map.put("units.1.provides.1.namespace", "testNamespace2");
-		map.put("units.1.provides.1.name", "testName2");
-		map.put("units.1.provides.1.version", "$version$");
-		map.put("units.1.instructions.configure", "addProgramArg(programArg:-startup); addProgramArg(programArg:@artifact);");
-		map.put("units.1.instructions.unconfigure", "removeProgramArg(programArg:-startup); removeProgramArg(programArg:@artifact);)");
-		map.put("units.1.instructions.unconfigure.import", "some.removeProgramArg");
-
-		map.put("units.1.hostRequirements.0.namespace", "testNamespace1");
-		map.put("units.1.hostRequirements.0.name", "testName1");
-		map.put("units.1.hostRequirements.0.range", "[1.2.3.$qualifier$, 2)");
-		map.put("units.1.hostRequirements.0.greedy", Boolean.TRUE.toString());
-		map.put("units.1.hostRequirements.0.optional", Boolean.TRUE.toString());
-		map.put("units.1.hostRequirements.0.multiple", Boolean.TRUE.toString());
-		map.put("units.1.hostRequirements.1.namespace", "testNamespace2");
-		map.put("units.1.hostRequirements.1.name", "testName2");
-		map.put("units.1.hostRequirements.1.range", "$version$");
-		map.put("units.1.hostRequirements.1.greedy", Boolean.FALSE.toString());
-		map.put("units.1.hostRequirements.1.optional", Boolean.FALSE.toString());
-
-		AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
-		parser.parse();
-		InstallableUnitDescription[] descriptions = parser.getAdditionalInstallableUnitDescriptions();
-		IInstallableUnit iu0 = MetadataFactory.createInstallableUnit(descriptions[0]);
-		assertEquals("testid0", iu0.getId());
-		assertEquals(Version.create("1.2.3"), iu0.getVersion());
-		assertFalse(iu0.isSingleton());
-		assertFalse(FragmentQuery.isFragment(iu0));
-		assertEquals(0, iu0.getArtifacts().length);
-		assertEquals(null, iu0.getCopyright());
-		assertEquals(null, iu0.getFilter());
-		assertEquals(0, iu0.getLicenses().length);
-		assertEquals(0, iu0.getProperties().size());
-		assertEquals(0, iu0.getRequiredCapabilities().length);
-		assertEquals(0, iu0.getProvidedCapabilities().length);
-		assertEquals(0, iu0.getMetaRequiredCapabilities().length);
-		assertEquals(0, iu0.getTouchpointData().length);
-		assertEquals(ITouchpointType.NONE, iu0.getTouchpointType());
-		assertEquals(null, iu0.getUpdateDescriptor());
-
-		IInstallableUnit iu1 = MetadataFactory.createInstallableUnit(descriptions[1]);
-		assertEquals("testid1", iu1.getId());
-		assertEquals(Version.create("1.2.4"), iu1.getVersion());
-		assertTrue(iu1.isSingleton());
-		assertEquals(2, iu1.getArtifacts().length);
-		assertEquals("testArtifact1", iu1.getArtifacts()[0].getId());
-		assertEquals(Version.create("1.2.6"), iu1.getArtifacts()[0].getVersion());
-		assertEquals("testClassifier1", iu1.getArtifacts()[0].getClassifier());
-		assertEquals("testArtifact2", iu1.getArtifacts()[1].getId());
-		assertEquals(Version.create("1.2.7"), iu1.getArtifacts()[1].getVersion());
-		assertEquals("testClassifier2", iu1.getArtifacts()[1].getClassifier());
-		assertEquals("testCopyright", iu1.getCopyright().getBody());
-		assertEquals("http://localhost/test", iu1.getCopyright().getLocation().toString());
-		assertEquals("test=testFilter", ((LDAPQuery) iu1.getFilter()).getFilter());
-		assertEquals("testLicense", iu1.getLicenses()[0].getBody());
-		assertEquals("http://localhost/license", iu1.getLicenses()[0].getLocation().toString());
-		assertEquals("testValue1", iu1.getProperty("testName1"));
-		assertEquals("testValue2", iu1.getProperty("testName2"));
-
-		IRequirement[] reqs = iu1.getRequiredCapabilities();
-		assertEquals(2, reqs.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) reqs[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) reqs[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3, 2)"), ((IRequiredCapability) reqs[0].getMatches()).getRange());
-		assertEquals(true, ((IRequiredCapability) reqs[0].getMatches()).isGreedy());
-		assertEquals(0, reqs[0].getMin());
-		assertEquals("testNamespace2", ((IRequiredCapability) reqs[1].getMatches()).getNamespace());
-		assertEquals("testName2", ((IRequiredCapability) reqs[1].getMatches()).getName());
-		assertEquals(new VersionRange(Version.emptyVersion.toString()), ((IRequiredCapability) reqs[1].getMatches()).getRange());
-		assertEquals(false, reqs[1].isGreedy());
-		assertEquals(1, reqs[1].getMin());
-
-		IProvidedCapability[] provided = iu1.getProvidedCapabilities();
-		assertEquals(2, provided.length);
-		assertEquals("testNamespace1", provided[0].getNamespace());
-		assertEquals("testName1", provided[0].getName());
-		assertEquals(Version.create("1.2.3"), provided[0].getVersion());
-		assertEquals("testNamespace2", provided[1].getNamespace());
-		assertEquals("testName2", provided[1].getName());
-		assertEquals(Version.emptyVersion, provided[1].getVersion());
-
-		IRequirement[] metarequirements = iu1.getMetaRequiredCapabilities();
-		assertEquals(2, metarequirements.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) metarequirements[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) metarequirements[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3, 2)"), ((IRequiredCapability) metarequirements[0].getMatches()).getRange());
-		assertEquals(true, metarequirements[0].isGreedy());
-		assertEquals(0, metarequirements[0].getMin());
-		assertEquals("testNamespace2", ((IRequiredCapability) metarequirements[1].getMatches()).getNamespace());
-		assertEquals("testName2", ((IRequiredCapability) metarequirements[1].getMatches()).getName());
-		assertEquals(new VersionRange(Version.emptyVersion.toString()), ((IRequiredCapability) metarequirements[1].getMatches()).getRange());
-		assertEquals(false, metarequirements[1].isGreedy());
-		assertEquals(1, metarequirements[1].getMin());
-
-		assertEquals(1, iu1.getTouchpointData().length);
-		ITouchpointInstruction configure = iu1.getTouchpointData()[0].getInstruction("configure");
-		assertEquals(null, configure.getImportAttribute());
-		assertEquals("addProgramArg(programArg:-startup); addProgramArg(programArg:@artifact);", configure.getBody());
-
-		ITouchpointInstruction unconfigure = iu1.getTouchpointData()[0].getInstruction("unconfigure");
-		assertEquals("some.removeProgramArg", unconfigure.getImportAttribute());
-		assertEquals("removeProgramArg(programArg:-startup); removeProgramArg(programArg:@artifact);)", unconfigure.getBody());
-
-		assertEquals(MetadataFactory.createTouchpointType("testTouchpointId", Version.create("1.2.5")), iu1.getTouchpointType());
-		assertEquals("testid1", iu1.getUpdateDescriptor().getId());
-		assertEquals(new VersionRange("(1,2)"), iu1.getUpdateDescriptor().getRange());
-		assertEquals(2, iu1.getUpdateDescriptor().getSeverity());
-		assertEquals("some description", iu1.getUpdateDescriptor().getDescription());
-
-		assertTrue(FragmentQuery.isFragment(iu1));
-		IRequirement[] hostRequired = ((IInstallableUnitFragment) iu1).getHost();
-		assertEquals(2, hostRequired.length);
-		assertEquals("testNamespace1", ((IRequiredCapability) hostRequired[0].getMatches()).getNamespace());
-		assertEquals("testName1", ((IRequiredCapability) hostRequired[0].getMatches()).getName());
-		assertEquals(new VersionRange("[1.2.3, 2)"), ((IRequiredCapability) hostRequired[0].getMatches()).getRange());
-		assertEquals(true, hostRequired[0].isGreedy());
-		assertEquals(0, hostRequired[0].getMin());
-		assertEquals("testNamespace2", ((IRequiredCapability) hostRequired[1].getMatches()).getNamespace());
-		assertEquals("testName2", ((IRequiredCapability) hostRequired[1].getMatches()).getName());
-		assertEquals(new VersionRange(Version.emptyVersion.toString()), ((IRequiredCapability) hostRequired[1].getMatches()).getRange());
-		assertEquals(false, hostRequired[1].isGreedy());
-		assertEquals(1, hostRequired[1].getMin());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java
deleted file mode 100644
index 1f218eb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceMatcher.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.IPublisherAdvice;
-
-/**
- * A matcher that matches advice applicable to a given id and version.
- */
-public class AdviceMatcher implements IArgumentMatcher {
-	private final Version version;
-	private final String id;
-
-	public static IPublisherAdvice adviceMatches(String id, Version version) {
-		EasyMock.reportMatcher(new AdviceMatcher(id, version));
-		return null;
-	}
-
-	public AdviceMatcher(String id, Version version) {
-		this.id = id;
-		this.version = version;
-	}
-
-	public void appendTo(StringBuffer buf) {
-		buf.append("AdviceMatcher[" + id + ',' + version + ']');
-	}
-
-	public boolean matches(Object arg) {
-		if (!(arg instanceof IPublisherAdvice))
-			return false;
-		IPublisherAdvice advice = (IPublisherAdvice) arg;
-		return advice.isApplicable("", false, id, version);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
deleted file mode 100644
index 4ff2b76..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipInputStream;
-import org.easymock.EasyMock;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.director.QueryableArray;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.publisher.eclipse.IBundleShapeAdvice;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.*;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-@SuppressWarnings({"unchecked"})
-public class BundlesActionTest extends ActionTest {
-	private static final String OSGI = PublisherHelper.OSGI_BUNDLE_CLASSIFIER;
-	private static final String JAVA_PACKAGE = "java.package";//$NON-NLS-1$
-
-	private static final String TEST1_IUD_NAME = "iud";//$NON-NLS-1$
-	private static final String TEST1_PROVZ_NAME = "iuz";//$NON-NLS-1$
-	private static final String TEST1_PROVBUNDLE_NAME = "test1";//$NON-NLS-1$
-	private static final String TEST2_REQA_NAME = "iua";//$NON-NLS-1$
-	private static final String TEST2_REQB_NAME = "iub";//$NON-NLS-1$
-	private static final String TEST2_REQC_NAME = "iuc";//$NON-NLS-1$
-	private static final String TEST2_PROVZ_NAME = "iuz";//$NON-NLS-1$
-	private static final String TEST2_PROVY_NAME = "iuy";//$NON-NLS-1$
-	private static final String TEST2_PROVX_NAME = "iux";//$NON-NLS-1$
-	private static final String TEST2_PROVBUNDLE_NAME = "test2";//$NON-NLS-1$
-
-	private static final File TEST_BASE = new File(TestActivator.getTestDataFolder(), "BundlesActionTest");//$NON-NLS-1$
-	private static final File TEST_FILE1 = new File(TEST_BASE, TEST1_PROVBUNDLE_NAME);
-	private static final File TEST_FILE2 = new File(TEST_BASE, TEST2_PROVBUNDLE_NAME + ".jar");//$NON-NLS-1$
-	private static final File TEST_FILE3 = new File(TEST_BASE, TEST2_PROVBUNDLE_NAME + ".jar.pack.gz");//$NON-NLS-1$
-
-	private static final String PROVBUNDLE_NAMESPACE = "org.eclipse.equinox.p2.iu";//$NON-NLS-1$
-	private static final String TEST2_IUA_NAMESPACE = OSGI;
-	private static final String TEST2_IUB_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST2_IUC_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST1_IUD_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST2_PROVZ_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST2_PROVY_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST2_PROVX_NAMESPACE = JAVA_PACKAGE;
-	private static final String TEST1_PROVZ_NAMESPACE = JAVA_PACKAGE;
-
-	private final Version BUNDLE1_VERSION = Version.create("0.1.0");//$NON-NLS-1$
-	private final Version BUNDLE2_VERSION = Version.create("1.0.0.qualifier");//$NON-NLS-1$
-	private final Version PROVBUNDLE2_VERSION = BUNDLE2_VERSION;
-	private final Version TEST2_PROVZ_VERSION = Version.emptyVersion;
-	private final Version TEST2_PROVY_VERSION = Version.emptyVersion;
-	private final Version TEST2_PROVX_VERSION = Version.emptyVersion;
-	private final VersionRange TEST2_IUA_VERSION_RANGE = VersionRange.emptyRange;
-	private final VersionRange TEST2_IUB_VERSION_RANGE = VersionRange.emptyRange;
-	private final VersionRange TEST2_IUC_VERSION_RANGE = new VersionRange(Version.create("1.0.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$
-	private final VersionRange TEST1_IUD_VERSION_RANGE = new VersionRange(Version.create("1.3.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$
-
-	protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
-
-	private MultiCapture<ITouchpointAdvice> tpAdvice1, tpAdvice2;
-
-	@Override
-	public void setupPublisherInfo() {
-		tpAdvice1 = new MultiCapture<ITouchpointAdvice>();
-		tpAdvice2 = new MultiCapture<ITouchpointAdvice>();
-		super.setupPublisherInfo();
-	}
-
-	public void testAll() throws Exception {
-		File[] files = TEST_BASE.listFiles();
-		testAction = new BundlesAction(files);
-		setupPublisherResult();
-		setupPublisherInfo();
-		artifactRepository.setProperty(AbstractPublisherApplication.PUBLISH_PACK_FILES_AS_SIBLINGS, "true");//$NON-NLS-1$
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-		verifyBundlesAction();
-		cleanup();
-		debug("Completed BundlesActionTest.");//$NON-NLS-1$
-	}
-
-	public void testTranslationFragment() {
-		File foo_fragment = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo.fragment");//$NON-NLS-1$
-		File foo = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo");//$NON-NLS-1$
-		BundlesAction bundlesAction = new BundlesAction(new File[] {foo_fragment});
-		PublisherInfo info = new PublisherInfo();
-		PublisherResult results = new PublisherResult();
-
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-		Collection ius = results.getIUs(null, null);
-		assertEquals("1.0", 1, ius.size());
-
-		info = new PublisherInfo();
-		results = new PublisherResult();
-		bundlesAction = new BundlesAction(new File[] {foo});
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-		ius = results.getIUs(null, null);
-		assertEquals("2.0", 1, ius.size());
-		QueryableArray queryableArray = new QueryableArray((IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]));
-		Collector result = queryableArray.query(new InstallableUnitQuery("foo"), null);
-		assertEquals("3.1", 1, result.size());
-		IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
-		IUPropertyUtils iuPropertyUtils = new IUPropertyUtils(queryableArray);
-		assertEquals("3.2", "English Foo", iuPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME));
-
-		bundlesAction = new BundlesAction(new File[] {foo_fragment});
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-		ius = results.getIUs(null, null);
-		assertEquals("2.0", 3, ius.size());
-		queryableArray = new QueryableArray((IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]));
-		result = queryableArray.query(new InstallableUnitQuery("foo"), null);
-		assertEquals("2.1", 1, result.size());
-		iu = (IInstallableUnit) result.iterator().next();
-		iuPropertyUtils = new IUPropertyUtils(queryableArray);
-		assertEquals("2.2", "German Foo", iuPropertyUtils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-	}
-
-	private void verifyBundlesAction() throws Exception {
-		// verify publisher result
-		verifyBundle1();
-		verifyBundle2();
-
-		verifyArtifactRepository();
-	}
-
-	private void verifyArtifactRepository() throws Exception {
-		IArtifactKey key2 = ArtifactKey.parse("osgi.bundle,test2,1.0.0.qualifier");//$NON-NLS-1$
-		IArtifactDescriptor[] descriptors = artifactRepository.getArtifactDescriptors(key2);
-
-		// Should have one canonical and one packed
-		assertTrue("1.0", descriptors.length == 2);
-
-		int packedIdx;
-		int canonicalIdx;
-		if ("packed".equals(descriptors[0].getProperty(IArtifactDescriptor.FORMAT))) {
-			packedIdx = 0;
-			canonicalIdx = 1;
-		} else {
-			packedIdx = 1;
-			canonicalIdx = 0;
-		}
-
-		ZipInputStream actual = artifactRepository.getZipInputStream(descriptors[canonicalIdx]);
-		ZipInputStream expected = new ZipInputStream(new FileInputStream(TEST_FILE2));
-		TestData.assertEquals(expected, actual);
-		actual.close();
-		expected.close();
-
-		InputStream packedActual = artifactRepository.getRawInputStream(descriptors[packedIdx]);
-		InputStream packedExpected = new BufferedInputStream(new FileInputStream(TEST_FILE3));
-		TestData.assertEquals(packedExpected, packedActual);
-		actual.close();
-		expected.close();
-
-		IArtifactKey key1 = ArtifactKey.parse("osgi.bundle,test1,0.1.0");//$NON-NLS-1$
-		ZipInputStream zis = artifactRepository.getZipInputStream(key1);
-		Map fileMap = getFileMap(new HashMap(), new File[] {TEST_FILE1}, new Path(TEST_FILE1.getAbsolutePath()));
-		TestData.assertContains(fileMap, zis, true);
-	}
-
-	private void verifyBundle1() {
-		ArrayList ius = new ArrayList(publisherResult.getIUs(TEST1_PROVBUNDLE_NAME, IPublisherResult.ROOT));
-		assertTrue(ius.size() == 1);
-		IInstallableUnit bundle1IU = (IInstallableUnit) ius.get(0);
-
-		assertNotNull("1.0", bundle1IU);
-		assertEquals("1.1", bundle1IU.getVersion(), BUNDLE1_VERSION);
-
-		// check required capabilities
-		IRequirement[] requiredCapability = bundle1IU.getRequiredCapabilities();
-		verifyRequiredCapability(requiredCapability, TEST1_IUD_NAMESPACE, TEST1_IUD_NAME, TEST1_IUD_VERSION_RANGE);
-		assertEquals("2.0", 1, requiredCapability.length);
-
-		// check provided capabilities
-		IProvidedCapability[] providedCapabilities = bundle1IU.getProvidedCapabilities();
-		verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION);
-		verifyProvidedCapability(providedCapabilities, OSGI, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION);
-		verifyProvidedCapability(providedCapabilities, TEST1_PROVZ_NAMESPACE, TEST1_PROVZ_NAME, TEST2_PROVZ_VERSION);
-		verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "source", Version.create("1.0.0"));//$NON-NLS-1$//$NON-NLS-2$
-		assertEquals("2.1", 4, providedCapabilities.length);
-
-		ITouchpointData[] data = bundle1IU.getTouchpointData();
-		boolean found = false;
-		for (int i = 0; i < data.length; i++) {
-			ITouchpointInstruction configure = data[i].getInstruction("configure");
-			if (configure == null)
-				continue;
-			String body = configure.getBody();
-			if (body != null && body.indexOf("download.eclipse.org/releases/ganymede") > 0) {
-				found = true;
-			}
-		}
-		assertTrue("3.0", found);
-	}
-
-	private void verifyBundle2() {
-		ArrayList ius = new ArrayList(publisherResult.getIUs(TEST2_PROVBUNDLE_NAME, IPublisherResult.ROOT));
-		assertTrue(ius.size() == 1);
-		IInstallableUnit bundle2IU = (IInstallableUnit) ius.get(0);
-
-		assertNotNull(bundle2IU);
-		assertEquals(bundle2IU.getVersion(), BUNDLE2_VERSION);
-
-		// check required capabilities
-		IRequirement[] requiredCapabilities = bundle2IU.getRequiredCapabilities();
-		verifyRequiredCapability(requiredCapabilities, TEST2_IUA_NAMESPACE, TEST2_REQA_NAME, TEST2_IUA_VERSION_RANGE);
-		verifyRequiredCapability(requiredCapabilities, TEST2_IUB_NAMESPACE, TEST2_REQB_NAME, TEST2_IUB_VERSION_RANGE);
-		verifyRequiredCapability(requiredCapabilities, TEST2_IUC_NAMESPACE, TEST2_REQC_NAME, TEST2_IUC_VERSION_RANGE);
-		assertTrue(requiredCapabilities.length == 3 /*number of tested elements*/);
-
-		// check provided capabilities
-		IProvidedCapability[] providedCapabilities = bundle2IU.getProvidedCapabilities();
-		verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST2_PROVBUNDLE_NAME, PROVBUNDLE2_VERSION);
-		verifyProvidedCapability(providedCapabilities, OSGI, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION);
-		verifyProvidedCapability(providedCapabilities, TEST2_PROVZ_NAMESPACE, TEST2_PROVZ_NAME, TEST2_PROVZ_VERSION);
-		verifyProvidedCapability(providedCapabilities, TEST2_PROVY_NAMESPACE, TEST2_PROVY_NAME, TEST2_PROVY_VERSION);
-		verifyProvidedCapability(providedCapabilities, TEST2_PROVX_NAMESPACE, TEST2_PROVX_NAME, TEST2_PROVX_VERSION);
-		verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", Version.create("1.0.0"));//$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(providedCapabilities.length == 6 /*number of tested elements*/);
-
-		// check %bundle name is correct
-		Map prop = bundle2IU.getProperties();
-		assertTrue(prop.get("org.eclipse.equinox.p2.name").toString().equalsIgnoreCase("%bundleName"));//$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(prop.get("org.eclipse.equinox.p2.provider").toString().equalsIgnoreCase("%providerName"));//$NON-NLS-1$//$NON-NLS-2$
-
-		ITouchpointData[] data = bundle2IU.getTouchpointData();
-		boolean found = false;
-		for (int i = 0; i < data.length; i++) {
-			ITouchpointInstruction configure = data[i].getInstruction("configure");
-			if (configure == null)
-				continue;
-			String body = configure.getBody();
-			if (body != null && body.indexOf("download.eclipse.org/releases/ganymede") > 0) {
-				found = true;
-			}
-		}
-		assertFalse("3.0", found);
-
-	}
-
-	public void cleanup() {
-		super.cleanup();
-		if (artifactRepository != null) {
-			artifactRepository.removeAll();
-			artifactRepository = null;
-		}
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		//super sets publisherInfo.getMetadataRepository and publisherInfo.getContextMetadataRepository
-		super.insertPublisherInfoBehavior();
-		Properties sarProperties = new Properties();
-		sarProperties.put("key1", "value1");//$NON-NLS-1$//$NON-NLS-2$
-		sarProperties.put("key2", "value2");//$NON-NLS-1$//$NON-NLS-2$
-
-		Properties sdkProperties = new Properties();
-		sdkProperties.put("key1", "value1");//$NON-NLS-1$//$NON-NLS-2$
-		sdkProperties.put("key2", "value2");//$NON-NLS-1$//$NON-NLS-2$
-
-		IPropertyAdvice propertyAdvice1 = EasyMock.createMock(IPropertyAdvice.class);
-		expect(propertyAdvice1.getInstallableUnitProperties((InstallableUnitDescription) EasyMock.anyObject())).andReturn(null).anyTimes();
-		expect(propertyAdvice1.getArtifactProperties((IInstallableUnit) EasyMock.anyObject(), (IArtifactDescriptor) EasyMock.anyObject())).andReturn(sarProperties).anyTimes();
-		EasyMock.replay(propertyAdvice1);
-		ArrayList adviceCollection1 = new ArrayList();
-		adviceCollection1.add(propertyAdvice1);
-
-		IPropertyAdvice propertyAdvice2 = EasyMock.createMock(IPropertyAdvice.class);
-		expect(propertyAdvice2.getInstallableUnitProperties((InstallableUnitDescription) EasyMock.anyObject())).andReturn(null).anyTimes();
-		expect(propertyAdvice2.getArtifactProperties((IInstallableUnit) EasyMock.anyObject(), (IArtifactDescriptor) EasyMock.anyObject())).andReturn(sdkProperties).anyTimes();
-		EasyMock.replay(propertyAdvice2);
-		ArrayList adviceCollection2 = new ArrayList();
-		adviceCollection2.add(propertyAdvice2);
-
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, ICapabilityAdvice.class)).andReturn(Collections.EMPTY_LIST); //$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, false, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, IPropertyAdvice.class)).andReturn(adviceCollection1).times(2); //$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, false, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.EMPTY_LIST); //$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, false, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION, ICapabilityAdvice.class)).andReturn(Collections.EMPTY_LIST);//$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, false, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION, IPropertyAdvice.class)).andReturn(adviceCollection2).times(2);//$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, false, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION, IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.EMPTY_LIST);//$NON-NLS-1$		
-		expect(publisherInfo.getAdvice(null, true, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, IBundleShapeAdvice.class)).andReturn(null); //$NON-NLS-1$
-		expect(publisherInfo.getAdvice(null, true, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION, IBundleShapeAdvice.class)).andReturn(null);//$NON-NLS-1$
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, null, null, ICapabilityAdvice.class)).andReturn(new ArrayList()).anyTimes();
-
-		//capture any touchpoint advice, and return the captured advice when the action asks for it
-		publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION), capture(tpAdvice1)));
-		publisherInfo.addAdvice(and(AdviceMatcher.adviceMatches(TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION), capture(tpAdvice2)));
-		EasyMock.expectLastCall().anyTimes();
-		expect(publisherInfo.getAdvice(null, false, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION, ITouchpointAdvice.class)).andReturn(tpAdvice1).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION, ITouchpointAdvice.class)).andReturn(tpAdvice2).anyTimes();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java
deleted file mode 100644
index 95f2424..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/CaptureList.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.AbstractList;
-import java.util.List;
-import org.easymock.Capture;
-
-/**
- * An object that adapts an EasyMock Capture to a List.
- */
-public class CaptureList<E> extends AbstractList<E> implements List<E> {
-	private Capture<E> capture;
-
-	public CaptureList(Capture<E> capture) {
-		this.capture = capture;
-	}
-
-	@Override
-	public E get(int arg0) {
-		return capture.getValue();
-	}
-
-	@Override
-	public int size() {
-		return capture.hasCaptured() ? 1 : 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
deleted file mode 100644
index a996abf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.expect;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.easymock.EasyMock;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.DataLoader;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.ConfigData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.TestMetadataRepository;
-
-@SuppressWarnings({"unchecked", "restriction"})
-public class ConfigCUsActionTest extends ActionTest {
-	private static File configLocation = new File(TestActivator.getTestDataFolder(), "ConfigCUsActionTest/level1/level2/config.ini"); //$NON-NLS-1$
-	private static File executableLocation = new File(TestActivator.getTestDataFolder(), "ConfigCUsActionTest/level1/run.exe"); //$NON-NLS-1$
-	private static Version version = Version.create("1.0.0"); //$NON-NLS-1$
-	private static String id = "id"; //$NON-NLS-1$
-	private static String flavor = "tooling"; //$NON-NLS-1$
-	private IMetadataRepository metadataRepo;
-	private DataLoader loader;
-
-	public void setUp() throws Exception {
-		setupPublisherInfo();
-		setupPublisherResult();
-		testAction = new ConfigCUsAction(publisherInfo, flavor, id, version);
-	}
-
-	public void testAction() throws Exception {
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyAction();
-		debug("Completed ConfigCUsAction test."); //$NON-NLS-1$
-	}
-
-	private void verifyAction() {
-		ArrayList IUs = new ArrayList(publisherResult.getIUs(null, IPublisherResult.ROOT));
-		assertTrue(IUs.size() == 1);
-		InstallableUnit iu = (InstallableUnit) IUs.get(0);
-		assertTrue(iu.getId().equalsIgnoreCase(flavor + id + ".configuration")); //$NON-NLS-1$
-
-		//verify ProvidedCapabilities
-		IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities();
-		verifyProvidedCapability(providedCapabilities, "org.eclipse.equinox.p2.iu", iu.getId(), version); //$NON-NLS-1$
-		//		verifyProvidedCapability(providedCapabilities, flavor + id, id + ".config", version); //$NON-NLS-1$
-		assertTrue(providedCapabilities.length == 1);
-
-		//verify RequiredCapabilities
-		IRequirement[] requiredCapability = iu.getRequiredCapabilities();
-		verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$
-		verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$
-		assertTrue(requiredCapability.length == 2);
-
-		//verify non root IUs
-		verifyFragment("ini"); //$NON-NLS-1$
-		verifyFragment("config"); //$NON-NLS-1$
-	}
-
-	private void verifyFragment(String cuType) {
-		ArrayList IUs = new ArrayList(publisherResult.getIUs(null, IPublisherResult.NON_ROOT));
-		assertTrue(IUs.size() == 2);
-		for (int i = 0; i < IUs.size(); i++) {
-			InstallableUnit iu = (InstallableUnit) IUs.get(i);
-			if (iu.getId().equals(flavor + id + "." + cuType + "." + configSpec)) { //$NON-NLS-1$ //$NON-NLS-2$
-				assertTrue(((LDAPQuery) iu.getFilter()).getFilter().equals("(& (osgi.ws=win32)(osgi.os=win32)(osgi.arch=x86))")); //$NON-NLS-1$
-				assertTrue(iu.getVersion().equals(version));
-				assertTrue(iu.getProperty("org.eclipse.equinox.p2.type.fragment").equals("true")); //$NON-NLS-1$//$NON-NLS-2$
-				assertFalse(iu.isSingleton());
-				IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities();
-				verifyProvidedCapability(providedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + "." + cuType + "." + configSpec, version); //$NON-NLS-1$//$NON-NLS-2$
-				verifyProvidedCapability(providedCapabilities, flavor + id, id + "." + cuType, version); //$NON-NLS-1$
-				assertTrue(providedCapabilities.length == 2);
-				assertTrue(iu.getRequiredCapabilities().length == 0);
-				assertTrue(FragmentQuery.isFragment(iu));
-				return; //pass
-			}
-		}
-		fail();
-
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		loader = new DataLoader(configLocation, executableLocation);
-
-		//configure IConfigAdvice
-		ConfigData configData = loader.getConfigData();
-		ConfigAdvice configAdvice = new ConfigAdvice(configData, configSpec);
-		ArrayList configList = new ArrayList();
-		configList.add(configAdvice);
-		expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IConfigAdvice.class))).andReturn(configList).anyTimes();
-
-		//configure ILaunchingAdvice
-		LauncherData launcherData = loader.getLauncherData();
-		LaunchingAdvice launchingAdvice = new LaunchingAdvice(launcherData, configSpec);
-		ArrayList launchingList = new ArrayList();
-		launchingList.add(launchingAdvice);
-		expect(publisherInfo.getAdvice(EasyMock.matches(configSpec), EasyMock.eq(false), (String) EasyMock.anyObject(), (Version) EasyMock.anyObject(), EasyMock.eq(IExecutableAdvice.class))).andReturn(launchingList).anyTimes();
-
-		//setup metadata repository
-		IInstallableUnit[] ius = {mockIU("foo", null), mockIU("bar", null)}; //$NON-NLS-1$ //$NON-NLS-2$
-
-		metadataRepo = new TestMetadataRepository(ius);
-		expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepo).anyTimes();
-		expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/DefaultCUsActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/DefaultCUsActionTest.java
deleted file mode 100644
index 883aac7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/DefaultCUsActionTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.eclipse.DefaultCUsAction;
-
-@SuppressWarnings( {"restriction", "unchecked"})
-public class DefaultCUsActionTest extends ActionTest {
-
-	private Version version = Version.create("1.0.0"); //$NON-NLS-1$
-
-	public void testAll() throws Exception {
-		testAction = new DefaultCUsAction(publisherInfo, flavorArg, 4 /*start level*/, true /*start*/);
-
-		setupPublisherResult();
-		setupPublisherInfo();
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-		verifyDefaultCUs();
-		debug("Completed DefaultCUsActionTest."); //$NON-NLS-1$
-	}
-
-	private void verifyDefaultCUs() {
-		ArrayList<InstallableUnitFragment> ius = (ArrayList<InstallableUnitFragment>) publisherResult.getIUs(null, null);
-		assertTrue(ius.size() == 3);
-		InstallableUnitFragment iuf1 = new InstallableUnitFragment();
-		iuf1.setId(flavorArg + ".source.default"); //$NON-NLS-1$
-		iuf1.setVersion(version);
-		assertTrue(ius.contains(iuf1));
-
-		InstallableUnitFragment iuf2 = new InstallableUnitFragment();
-		iuf2.setId(flavorArg + ".org.eclipse.update.feature.default"); //$NON-NLS-1$
-		iuf2.setVersion(version);
-		assertTrue(ius.contains(iuf2));
-
-		InstallableUnitFragment iuf3 = new InstallableUnitFragment();
-		iuf3.setId(flavorArg + ".osgi.bundle.default"); //$NON-NLS-1$
-		iuf3.setVersion(version);
-		assertTrue(ius.contains(iuf3));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
deleted file mode 100644
index 96070df..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-
-@SuppressWarnings({"restriction", "unchecked"})
-public class EquinoxExecutableActionTest extends ActionTest {
-
-	private static final File MAC_EXEC = new File(TestActivator.getTestDataFolder(), "EquinoxExecutableActionTest/macosx/"); //$NON-NLS-1$
-	private static final File LINUX_EXEC = new File(TestActivator.getTestDataFolder(), "EquinoxExecutableActionTest/linux/"); //$NON-NLS-1$
-	private static final File WIN_EXEC = new File(TestActivator.getTestDataFolder(), "EquinoxExecutableActionTest/win/"); //$NON-NLS-1$
-	private final String EXECUTABLE_NAME = "eclipse"; //$NON-NLS-1$
-	private String macConfig = "carbon.macosx.ppc"; //$NON-NLS-1$
-	private String macConfigCocoa = "cocoa.macosx.x86"; //$NON-NLS-1$
-	private String winConfig = "win32.win32.x86"; //$NON-NLS-1$
-	private String linuxConfig = "linux.gtk.x86"; //$NON-NLS-1$
-	private ExecutablesDescriptor executablesDescriptor;
-	private IArtifactRepository artifactRepository;
-	private Version version = Version.create("1.2.3"); //$NON-NLS-1$
-
-	public void setUp() throws Exception {
-		setupPublisherInfo();
-		setupPublisherResult();
-	}
-
-	private void setupArtifactRepository() {
-		artifactRepository = new TestArtifactRepository();
-	}
-
-	public void testMacCarbon() throws Exception {
-		testExecutableAction("mac", "macosx", macConfig, MAC_EXEC); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public void testMacCocoa() throws Exception {
-		testExecutableAction("macCocoa", "macosx", macConfigCocoa, MAC_EXEC); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public void testWin() throws Exception {
-		testExecutableAction("win", "win32", winConfig, WIN_EXEC); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public void testLinux() throws Exception {
-		testExecutableAction("linux", "linux", linuxConfig, LINUX_EXEC); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	private void testExecutableAction(String idBase, String osArg, String config, File exec) {
-		executablesDescriptor = ExecutablesDescriptor.createDescriptor(osArg, EXECUTABLE_NAME, exec);
-		testAction = new EquinoxExecutableAction(executablesDescriptor, config, idBase, version, flavorArg);
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults(idBase, config);
-		debug("Completed EquinoxExecutableActionTest " + idBase + " test."); //$NON-NLS-1$ //$NON-NLS-2$		
-	}
-
-	@SuppressWarnings("hiding")
-	private void verifyResults(String idBase, String configSpec) {
-		ArrayList iuList = new ArrayList(publisherResult.getIUs(null, IPublisherResult.ROOT));
-		verifyExecIU(iuList, idBase, configSpec);
-		verifyEclipseIU(iuList, idBase, configSpec);
-		verifyCU(iuList, idBase, configSpec);
-		assertTrue(iuList.size() == 3);
-	}
-
-	@SuppressWarnings("hiding")
-	private void verifyCU(ArrayList iuList, String idBase, String configSpec) {
-		String[] config = AbstractPublisherAction.parseConfigSpec(configSpec);
-		String ws = config[0];
-		String os = config[1];
-		String arch = config[2];
-		for (int i = 0; i < iuList.size(); i++) {
-			IInstallableUnit possibleEclipse = (IInstallableUnit) iuList.get(i);
-			if (possibleEclipse.getId().equals(flavorArg + idBase + ".executable." + configSpec)) {//$NON-NLS-1$ 
-				IInstallableUnitFragment fragment = (IInstallableUnitFragment) iuList.get(i);
-				IProvidedCapability[] providedCapability = fragment.getProvidedCapabilities();
-				verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, flavorArg + idBase + ".executable." + configSpec, version); //$NON-NLS-1$ 
-				assertTrue(providedCapability.length == 1);
-				IRequirement[] requiredCapability = fragment.getRequiredCapabilities();
-				verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ 
-				assertTrue(requiredCapability.length == 1);
-				assertTrue(((LDAPQuery) fragment.getFilter()).getFilter().equals("(& (osgi.ws=" + ws + ")(osgi.os=" + os + ")(osgi.arch=" + arch + "))")); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
-				assertTrue(fragment.getProperty("org.eclipse.equinox.p2.type.fragment").equals("true")); //$NON-NLS-1$ //$NON-NLS-2$
-				return;//pass
-			}
-		}
-		fail();
-	}
-
-	@SuppressWarnings("hiding")
-	private void verifyEclipseIU(ArrayList iuList, String idBase, String configSpec) {
-		for (int i = 0; i < iuList.size(); i++) {
-			IInstallableUnit possibleEclipse = (IInstallableUnit) iuList.get(i);
-			if (possibleEclipse.getId().equals((idBase + ".executable." + configSpec + ".eclipse"))) { //$NON-NLS-1$//$NON-NLS-2$
-				assertTrue(possibleEclipse.getVersion().equals(version));
-				IProvidedCapability[] providedCapability = possibleEclipse.getProvidedCapabilities();
-				verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec + ".eclipse", version); //$NON-NLS-1$ //$NON-NLS-2$ 
-				assertTrue(providedCapability.length == 1);
-				IRequirement[] req = possibleEclipse.getRequiredCapabilities();
-				assertTrue(req.length == 0);
-				return;//pass
-			}
-		}
-		fail();
-	}
-
-	@SuppressWarnings("hiding")
-	private void verifyExecIU(ArrayList iuList, String idBase, String configSpec) {
-		String[] config = AbstractPublisherAction.parseConfigSpec(configSpec);
-		String ws = config[0];
-		String os = config[1];
-		String arch = config[2];
-		for (int i = 0; i < iuList.size(); i++) {
-			IInstallableUnit possibleExec = (IInstallableUnit) iuList.get(i);
-			if (possibleExec.getId().equals(idBase + ".executable." + configSpec)) { //$NON-NLS-1$
-				//keep checking
-				assertTrue(((LDAPQuery) possibleExec.getFilter()).getFilter().equals("(& (osgi.ws=" + ws + ")(osgi.os=" + os + ")(osgi.arch=" + arch + "))")); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
-				IArtifactKey eKey = possibleExec.getArtifacts()[0];
-				assertTrue(eKey.getClassifier().equals("binary")); //$NON-NLS-1$
-				assertTrue(eKey.getId().equals(idBase + ".executable." + configSpec)); //$NON-NLS-1$
-				assertTrue(eKey.getVersion().equals(version));
-				IProvidedCapability[] providedCapabilities = possibleExec.getProvidedCapabilities();
-				verifyProvidedCapability(providedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec, version); //$NON-NLS-1$ 
-				verifyProvidedCapability(providedCapabilities, flavorArg + idBase, idBase + ".executable", version); //$NON-NLS-1$
-				assertTrue(providedCapabilities.length == 2);
-
-				IRequirement[] requiredCapability = possibleExec.getRequiredCapabilities();
-				verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.launcher." + (idBase.equals("mac") || idBase.equals("macCocoa") ? configSpec.substring(0, configSpec.lastIndexOf(".")) : configSpec), VersionRange.emptyRange); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
-				assertTrue(requiredCapability.length == 1);
-				return;//pass
-			}
-		}
-		fail();
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		setupArtifactRepository();
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
-		expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class) anyObject())).andReturn(Collections.emptyList());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
deleted file mode 100644
index 406450b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnitFragment;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.PublisherResult;
-import org.eclipse.equinox.p2.publisher.actions.IVersionAdvice;
-import org.eclipse.equinox.p2.publisher.actions.VersionAdvice;
-import org.eclipse.equinox.p2.publisher.eclipse.EquinoxLauncherCUAction;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-@SuppressWarnings({"restriction", "unchecked"})
-public class EquinoxLauncherCUActionTest extends ActionTest {
-
-	private static String a_ID = "iua.source"; //$NON-NLS-1$
-	private static String b_ID = "iub";//$NON-NLS-1$
-	private static String c_ID = EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER;
-	private static String d_ID = EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + ".source";//$NON-NLS-1$
-
-	public void setUp() throws Exception {
-		setupPublisherInfo();
-		setupPublisherResult();
-		testAction = new EquinoxLauncherCUAction(flavorArg, new String[] {configSpec});
-	}
-
-	public void testEquinoxLauncherCUAction() throws Exception {
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults();
-		debug("Completed EquinoxLauncherCUAction test.");//$NON-NLS-1$
-	}
-
-	protected IInstallableUnit mockIU(String id, Version version, boolean fragment) {
-		IInstallableUnit result = createMock(IInstallableUnit.class);
-		expect(result.getId()).andReturn(id).anyTimes();
-		if (version == null)
-			version = Version.emptyVersion;
-		expect(result.getVersion()).andReturn(version).anyTimes();
-		expect(result.getFilter()).andReturn(null).anyTimes();
-		replay(result);
-		return result;
-	}
-
-	private void verifyResults() {
-		ArrayList ius = new ArrayList(publisherResult.getIUs(null, null));
-		IInstallableUnit iu;
-		for (int i = 0; i < ius.size(); i++) {
-			iu = (IInstallableUnit) ius.get(i);
-			if (iu.getId().equals(flavorArg + EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER)) {
-				assertTrue(iu instanceof InstallableUnitFragment);
-				//verify required capability
-				verifyRequiredCapability(iu.getRequiredCapabilities(), PublisherHelper.OSGI_BUNDLE_CLASSIFIER, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, VersionRange.emptyRange);
-				verifyRequiredCapability(iu.getRequiredCapabilities(), PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", new VersionRange(Version.create("1.0.0"), true, Version.create("2.0.0"), false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
-				assertTrue(iu.getRequiredCapabilities().length == 2);
-
-				IProvidedCapability[] cap = iu.getProvidedCapabilities();
-				verifyProvidedCapability(cap, IInstallableUnit.NAMESPACE_IU_ID, flavorArg + "org.eclipse.equinox.launcher", Version.emptyVersion); //$NON-NLS-1$ 
-				verifyProvidedCapability(cap, "org.eclipse.equinox.p2.flavor", flavorArg, Version.create("1.0.0")); //$NON-NLS-1$//$NON-NLS-2$ 
-				assertTrue(cap.length == 2);
-
-				Map prop = iu.getProperties();
-				assertTrue(prop.get("org.eclipse.equinox.p2.type.fragment").equals("true")); //$NON-NLS-1$ //$NON-NLS-2$
-				return;
-			}
-		}
-		fail();
-	}
-
-	public void setupPublisherResult() {
-		publisherResult = new PublisherResult();
-		ArrayList iuList = new ArrayList();
-		iuList.add(mockIU(a_ID, null, true));
-		iuList.add(mockIU(b_ID, null, true));
-		iuList.add(mockIU(c_ID, null, false));
-		iuList.add(mockIU(d_ID, null, false));
-		publisherResult.addIUs(iuList, IPublisherResult.ROOT);
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.setVersion(IInstallableUnit.NAMESPACE_IU_ID, flavorArg + "org.eclipse.equinox.launcher", Version.emptyVersion); //$NON-NLS-1$
-		versionAdvice.setVersion(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.launcher", Version.emptyVersion); //$NON-NLS-1$
-		versionAdvice.setVersion("org.eclipse.equinox.p2.flavor", flavorArg, Version.create("1.0.0")); //$NON-NLS-1$//$NON-NLS-2$
-
-		ArrayList versionList = new ArrayList();
-		versionList.add(versionAdvice);
-		expect(publisherInfo.getAdvice(null, true, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER, null, IVersionAdvice.class)).andReturn(versionList);
-		expect(publisherInfo.getAdvice(configSpec, true, EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + "." + configSpec, null, IVersionAdvice.class)).andReturn(versionList); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
deleted file mode 100644
index 9e16653..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import java.util.zip.ZipInputStream;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.*;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-@SuppressWarnings({"unchecked", "restriction"})
-public class FeaturesActionTest extends ActionTest {
-
-	public static IArtifactKey FOO_KEY = ArtifactKey.parse("org.eclipse.update.feature,foo,1.0.0"); //$NON-NLS-1$
-	public static IArtifactKey BAR_KEY = ArtifactKey.parse("org.eclipse.update.feature,bar,1.1.1"); //$NON-NLS-1$
-
-	private static File root = new File(TestActivator.getTestDataFolder().toString(), "FeaturesActionTest"); //$NON-NLS-1$
-	protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
-	protected TestMetadataRepository metadataRepository;
-	private Version fooVersion = Version.create("1.0.0"); //$NON-NLS-1$
-	private Version barVersion = Version.create("1.1.1"); //$NON-NLS-1$
-	private String BAR = "bar"; //$NON-NLS-1$
-	private String FOO = "foo"; //$NON-NLS-1$
-	private Capture<ITouchpointAdvice> tpAdvice;
-
-	public void setUp() throws Exception {
-		testAction = new FeaturesAction(new File[] {root});
-		tpAdvice = new Capture<ITouchpointAdvice>();
-		setupPublisherInfo();
-		setupPublisherResult();
-	}
-
-	/**
-	 * Tests publishing two simple features.
-	 */
-	public void testSimple() throws Exception {
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyRepositoryContents();
-		debug("Completed FeaturesAction."); //$NON-NLS-1$
-	}
-
-	public void testFeaturePatch() {
-		//TODO add a test for generating a feature patch
-	}
-
-	private void verifyRepositoryContents() throws Exception {
-		verifyArtifacts();
-		verifyMetadata();
-	}
-
-	private void verifyMetadata() {
-		//{foo.feature.jar=[foo.feature.jar 1.0.0], bar.feature.jar=[bar.feature.jar 1.1.1], foo.feature.group=[foo.feature.group 1.0.0], bar.feature.group=[bar.feature.group 1.1.1]}
-		ArrayList fooIUs = new ArrayList(publisherResult.getIUs("foo.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
-		assertTrue(fooIUs.size() == 1);
-		IInstallableUnit foo = (IInstallableUnit) fooIUs.get(0);
-		assertTrue(foo.getId().equalsIgnoreCase("foo.feature.jar")); //$NON-NLS-1$
-		assertTrue(foo.getVersion().equals(fooVersion));
-		assertEquals("Foo Feature", foo.getProperty(IInstallableUnit.PROP_NAME));
-		assertEquals("Foo Description", foo.getProperty(IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals("Foo License", foo.getLicenses()[0].getBody());
-		assertEquals("Foo Copyright", foo.getCopyright().getBody());
-		assertTrue(foo.getProperty("key1").equals("value1")); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(foo.getProperty("key2").equals("value2")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(foo.getArtifacts()[0].equals(FOO_KEY));
-		assertTrue(((LDAPQuery) foo.getFilter()).getFilter().equalsIgnoreCase("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
-
-		//check touchpointType
-		assertTrue(foo.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.osgi")); //$NON-NLS-1$
-		assertTrue(foo.getTouchpointType().getVersion().equals(fooVersion));
-
-		//zipped=true
-		ITouchpointData[] tpData = foo.getTouchpointData();
-		String fooValue = ((ITouchpointInstruction) tpData[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$
-		assertTrue(fooValue.equalsIgnoreCase("true")); //$NON-NLS-1$
-
-		IRequirement[] fooRequiredCapabilities = foo.getRequiredCapabilities();
-		assertTrue(fooRequiredCapabilities.length == 0);
-
-		IProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities();
-		contains(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", fooVersion); //$NON-NLS-1$
-		contains(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ 
-		contains(fooProvidedCapabilities, "org.eclipse.update.feature", FOO, fooVersion); //$NON-NLS-1$
-		assertTrue(fooProvidedCapabilities.length == 3);
-
-		//feature group IU for foo
-		fooIUs = new ArrayList(publisherResult.getIUs("foo.feature.group", IPublisherResult.ROOT)); //$NON-NLS-1$
-		assertTrue(fooIUs.size() == 1);
-		IInstallableUnit fooGroup = (IInstallableUnit) fooIUs.get(0);
-		tpData = fooGroup.getTouchpointData();
-		assertEquals(1, tpData.length);
-		ITouchpointInstruction instruction = tpData[0].getInstruction("install");
-		assertNotNull(instruction);
-		assertEquals("ln(targetDir:@artifact,linkTarget:foo/lib.1.so,linkName:lib.so);chmod(targetDir:@artifact,targetFile:lib/lib.so,permissions:755);", instruction.getBody());
-		System.out.println(fooGroup.getFilter());
-		assertNull(fooGroup.getFilter());
-
-		/*verify bar*/
-		ArrayList barIUs = new ArrayList(publisherResult.getIUs("bar.feature.jar", IPublisherResult.NON_ROOT)); //$NON-NLS-1$
-		assertTrue(barIUs.size() == 1);
-		IInstallableUnit bar = (IInstallableUnit) barIUs.get(0);
-		assertTrue(bar.getId().equals("bar.feature.jar")); //$NON-NLS-1$
-		assertTrue(bar.getVersion().equals(barVersion));
-		assertTrue(bar.getProperty("key1").equals("value1")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(bar.getProperty("key2").equals("value2")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(bar.getProperties().containsKey("org.eclipse.update.installHandler")); //$NON-NLS-1$
-		assertTrue(bar.getProperties().containsValue("handler=bar handler")); //$NON-NLS-1$
-		assertTrue(bar.getArtifacts()[0].equals(BAR_KEY));
-		assertTrue(((LDAPQuery) bar.getFilter()).getFilter().equalsIgnoreCase("(org.eclipse.update.install.features=true)")); //$NON-NLS-1$
-		assertTrue(bar.isSingleton());
-
-		barIUs = new ArrayList(publisherResult.getIUs("bar.feature.group", IPublisherResult.ROOT)); //$NON-NLS-1$
-		assertTrue(fooIUs.size() == 1);
-		IInstallableUnit barGroup = (IInstallableUnit) barIUs.get(0);
-		IRequirement[] barRequiredCapabilities = barGroup.getRequiredCapabilities();
-		//contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar_root", new VersionRange(barVersion, true, barVersion, true), null, false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$
-		contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$
-		contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "org.bar.feature.feature.group", VersionRange.emptyRange, "(&(|(osgi.nl=de)(osgi.nl=en)(osgi.nl=fr)))", false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(((LDAPQuery) barGroup.getFilter()).getFilter().equalsIgnoreCase("(&(|(osgi.os=macosx)(osgi.os=win32))(|(osgi.ws=carbon)(osgi.ws=win32))(|(osgi.arch=ppc)(osgi.arch=x86))(osgi.nl=en))"));
-
-		//check zipped=true in touchpointData
-		String barValue = ((ITouchpointInstruction) bar.getTouchpointData()[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$
-		assertTrue(barValue.equalsIgnoreCase("true")); //$NON-NLS-1$
-
-		//check touchpointType
-		assertTrue(bar.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.osgi")); //$NON-NLS-1$
-		assertTrue(bar.getTouchpointType().getVersion().equals(fooVersion));
-		//String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy)
-		barRequiredCapabilities = bar.getRequiredCapabilities();
-
-		assertTrue(barRequiredCapabilities.length == 0);
-
-		IProvidedCapability[] barProvidedCapabilities = bar.getProvidedCapabilities();
-		contains(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", barVersion); //$NON-NLS-1$ 
-		contains(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ 
-		contains(barProvidedCapabilities, "org.eclipse.update.feature", BAR, barVersion); //$NON-NLS-1$
-		assertTrue(barProvidedCapabilities.length == 3);
-	}
-
-	private void verifyArtifacts() throws IOException {
-		ZipInputStream actualStream = artifactRepository.getZipInputStream(FOO_KEY);
-		Map expected = getFileMap(new HashMap(), new File[] {new File(root, FOO)}, new Path(new File(root, FOO).getAbsolutePath()));
-		TestData.assertContains(expected, actualStream, true);
-
-		expected = getFileMap(new HashMap(), new File[] {new File(root, BAR)}, new Path(new File(root, BAR).getAbsolutePath()));
-		actualStream = artifactRepository.getZipInputStream(BAR_KEY);
-		TestData.assertContains(expected, actualStream, true);
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		//setup metadataRepository with barIU
-		metadataRepository = new TestMetadataRepository(new IInstallableUnit[] {mockIU(BAR, null)});
-
-		ArrayList adviceCollection = fillAdvice(new ArrayList());
-		expect(publisherInfo.getAdvice(null, false, "bar.feature.jar", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar", barVersion, IFeatureRootAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ITouchpointAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, ICapabilityAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "bar.feature.group", barVersion, IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo.feature.jar", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo", fooVersion, IFeatureRootAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IPropertyAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, ICapabilityAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, IAdditionalInstallableUnitAdvice.class)).andReturn(Collections.EMPTY_LIST).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepository).anyTimes();
-		expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
-
-		//capture any touchpoint advice, and return the captured advice when the action asks for it
-		publisherInfo.addAdvice(and(isA(ITouchpointAdvice.class), capture(tpAdvice)));
-		EasyMock.expectLastCall().anyTimes();
-		expect(publisherInfo.getAdvice(null, false, "foo.feature.group", fooVersion, ITouchpointAdvice.class)).andReturn(new CaptureList(tpAdvice)).anyTimes();
-	}
-
-	private ArrayList fillAdvice(ArrayList adviceCollection) {
-		Properties prop = new Properties();
-		prop.setProperty("key1", "value1"); //$NON-NLS-1$//$NON-NLS-2$
-		prop.setProperty("key2", "value2"); //$NON-NLS-1$//$NON-NLS-2$
-		IPropertyAdvice propertyAdvice = EasyMock.createMock(IPropertyAdvice.class);
-		expect(propertyAdvice.getInstallableUnitProperties((InstallableUnitDescription) EasyMock.anyObject())).andReturn(prop).anyTimes();
-		expect(propertyAdvice.getArtifactProperties((IInstallableUnit) EasyMock.anyObject(), (IArtifactDescriptor) EasyMock.anyObject())).andReturn(null).anyTimes();
-		EasyMock.replay(propertyAdvice);
-		adviceCollection.add(propertyAdvice);
-		return adviceCollection;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
deleted file mode 100644
index 9e984c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.expect;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipInputStream;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.actions.JREAction;
-import org.eclipse.equinox.p2.tests.*;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-
-@SuppressWarnings({"unchecked"})
-public class JREActionTest extends ActionTest {
-
-	private File J14 = new File(TestActivator.getTestDataFolder(), "JREActionTest/1.4/"); //$NON-NLS-1$
-	private File J15 = new File(TestActivator.getTestDataFolder(), "JREActionTest/1.5/"); //$NON-NLS-1$
-	private File J16 = new File(TestActivator.getTestDataFolder(), "JREActionTest/1.6/"); //$NON-NLS-1$
-
-	protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
-	protected TestMetadataRepository metadataRepository;
-
-	public void setUp() throws Exception {
-		setupPublisherInfo();
-		setupPublisherResult();
-	}
-
-	public void test14() throws Exception {
-		testAction = new JREAction(J14);
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults("a.jre.j2se", 92, Version.create("1.4.0"), true); //$NON-NLS-1$
-		verifyArtifactRepository(ArtifactKey.parse("binary,a.jre.j2se,1.4.0"), J14, "J2SE-1.4.profile"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void test15() throws Exception {
-		testAction = new JREAction(J15);
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults("a.jre.j2se", 119, Version.create("1.5.0"), true); //$NON-NLS-1$
-		verifyArtifactRepository(ArtifactKey.parse("binary,a.jre.j2se,1.5.0"), J15, "J2SE-1.5.profile"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void test16() throws Exception {
-		testAction = new JREAction(J16);
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults("a.jre.javase", 117, Version.create("1.6.0"), true); //$NON-NLS-1$
-		verifyArtifactRepository(ArtifactKey.parse("binary,a.jre.javase,1.6.0"), J16, "JavaSE-1.6.profile"); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public void testOSGiMin() throws Exception {
-		testAction = new JREAction("OSGi/Minimum-1.2");
-		testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		verifyResults("a.jre.osgi.minimum", 2, Version.create("1.2.0"), false); //$NON-NLS-1$
-	}
-
-	private void verifyResults(String id, int numProvidedCapabilities, Version JREVersion, boolean testInstructions) {
-		ArrayList fooIUs = new ArrayList(publisherResult.getIUs(id, IPublisherResult.ROOT)); //$NON-NLS-1$
-		assertTrue(fooIUs.size() == 1);
-		IInstallableUnit foo = (IInstallableUnit) fooIUs.get(0);
-
-		// check version
-		assertTrue(foo.getVersion().equals(JREVersion));
-
-		// check touchpointType
-		assertTrue(foo.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.native")); //$NON-NLS-1$
-		assertTrue(foo.getTouchpointType().getVersion().equals(Version.create("1.0.0"))); //$NON-NLS-1$
-
-		// check provided capabilities
-		IProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities();
-		assertTrue(fooProvidedCapabilities.length == numProvidedCapabilities);
-
-		ArrayList barIUs = new ArrayList(publisherResult.getIUs("config." + id, IPublisherResult.ROOT)); //$NON-NLS-1$
-		assertTrue(barIUs.size() == 1);
-		IInstallableUnit bar = (IInstallableUnit) barIUs.get(0);
-
-		if (testInstructions) {
-			Map instructions = bar.getTouchpointData()[0].getInstructions();
-			assertTrue(((ITouchpointInstruction) instructions.get("install")).getBody().equals("unzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$//$NON-NLS-2$
-			assertTrue(((ITouchpointInstruction) instructions.get("uninstall")).getBody().equals("cleanupzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		IRequirement[] requiredCapability = bar.getRequiredCapabilities();
-		verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(JREVersion, true, Version.MAX_VERSION, true)); //$NON-NLS-1$ 
-		assertTrue(requiredCapability.length == 1);
-
-		IProvidedCapability[] providedCapability = bar.getProvidedCapabilities();
-		verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, "config." + id, JREVersion); //$NON-NLS-1$ 
-		assertTrue(providedCapability.length == 1);
-
-		assertTrue(bar.getProperty("org.eclipse.equinox.p2.type.fragment").equals("true")); //$NON-NLS-1$//$NON-NLS-2$
-		assertTrue(bar.getVersion().equals(JREVersion));
-	}
-
-	private void verifyArtifactRepository(IArtifactKey key, File JRELocation, final String fileName) throws IOException {
-		assertTrue(artifactRepository.contains(key));
-		ByteArrayOutputStream content = new ByteArrayOutputStream();
-		FileFilter fileFilter = new FileFilter() {
-			public boolean accept(File file) {
-				return file.getName().endsWith(fileName);
-			}
-		};
-		File[] contentBytes = JRELocation.listFiles(fileFilter);
-		FileUtils.copyStream(new FileInputStream(contentBytes[0]), false, content, true);
-		ZipInputStream zipInputStream = artifactRepository.getZipInputStream(key);
-
-		Map fileMap = new HashMap();
-		fileMap.put(fileName, new Object[] {contentBytes[0], content.toByteArray()});
-		TestData.assertContains(fileMap, zipInputStream, true);
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
deleted file mode 100644
index dbbd16a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalUpdateSiteActionTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.updatesite.LocalUpdateSiteAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-
-/**
- *
- */
-public class LocalUpdateSiteActionTest extends ActionTest {
-
-	protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.p2.tests.AbstractProvisioningTest#setUp()
-	 */
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		setupPublisherResult();
-		setupPublisherInfo();
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		super.insertPublisherInfoBehavior();
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
-		expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class) anyObject())).andReturn(Collections.EMPTY_LIST).anyTimes();
-	}
-
-	/**
-	 * This test uses a simple site.xml (with a zipped up feature) and ensures
-	 * that the metadata to unzip the feature is available.  
-	 * @throws Exception
-	 */
-	public void testUnzipTouchpointAction() throws Exception {
-		File file = TestData.getFile("updatesite/site", "");
-		LocalUpdateSiteAction action = new LocalUpdateSiteAction(file.getAbsolutePath(), "qualifier");
-		action.perform(publisherInfo, publisherResult, new NullProgressMonitor());
-		Collection ius = publisherResult.getIUs("test.feature.feature.jar", null);
-		assertEquals("1.0", 1, ius.size());
-		IInstallableUnit iu = (IInstallableUnit) ius.iterator().next();
-		ITouchpointData[] touchpointData = iu.getTouchpointData();
-		assertEquals("1.1", 1, touchpointData.length);
-		Map instructions = touchpointData[0].getInstructions();
-		Set keys = instructions.keySet();
-		assertEquals("1.2", 1, keys.size());
-		String unzip = (String) keys.iterator().next();
-		assertEquals("1.3", "zipped", unzip);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalizationTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalizationTests.java
deleted file mode 100644
index 2def687..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/LocalizationTests.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Locale;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.updatesite.SiteXMLAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.PublisherResult;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.tests.IUPropertyUtils;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * This tests localization in the publisher
- */
-public class LocalizationTests extends TestCase {
-
-	private PublisherInfo info;
-	private PublisherResult results;
-	private IProgressMonitor monitor;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		info = new PublisherInfo();
-		results = new PublisherResult();
-		monitor = new NullProgressMonitor();
-	}
-
-	public void testFeatureLocalizationDefault() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.group"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME));
-		assertEquals("1.1", "Foo English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER));
-		assertEquals("1.3", "Foo English Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals("1.4", "Foo English Copyright", utils.getCopyright(iu).getBody());
-		assertEquals("1.5", "Foo English License", utils.getLicense(iu)[0].getBody());
-	}
-
-	public void testFeatureLocalizationEN() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.group"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Foo English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-		assertEquals("1.3", "Foo English Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.ENGLISH));
-		assertEquals("1.4", "Foo English Copyright", utils.getCopyright(iu, Locale.ENGLISH).getBody());
-		assertEquals("1.5", "Foo English License", utils.getLicenses(iu, Locale.ENGLISH)[0].getBody());
-	}
-
-	public void testFeatureLocalizatioDE() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.group"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo German Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Foo German Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-		assertEquals("1.3", "Foo German Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.GERMAN));
-		assertEquals("1.4", "Foo German Copyright", utils.getCopyright(iu, Locale.GERMAN).getBody());
-		assertEquals("1.5", "Foo German License", utils.getLicenses(iu, Locale.GERMAN)[0].getBody());
-	}
-
-	public void testFeatureJarLocalizationDefault() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.jar"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME));
-		assertEquals("1.1", "Foo English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER));
-		assertEquals("1.3", "Foo English Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION));
-		assertEquals("1.4", "Foo English Copyright", utils.getCopyright(iu).getBody());
-		assertEquals("1.5", "Foo English License", utils.getLicense(iu)[0].getBody());
-	}
-
-	public void testFeatureJarLocalizationEN() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.jar"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Foo English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-		assertEquals("1.3", "Foo English Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.ENGLISH));
-		assertEquals("1.4", "Foo English Copyright", utils.getCopyright(iu, Locale.ENGLISH).getBody());
-		assertEquals("1.5", "Foo English License", utils.getLicenses(iu, Locale.ENGLISH)[0].getBody());
-	}
-
-	public void testFeatureJarLocalizatioDE() throws IOException {
-		File file = TestData.getFile("localizationtests/foofeature", "");
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {file});
-		featuresAction.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("fooFeature.feature.jar"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo German Feature", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Foo German Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-		assertEquals("1.3", "Foo German Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.GERMAN));
-		assertEquals("1.4", "Foo German Copyright", utils.getCopyright(iu, Locale.GERMAN).getBody());
-		assertEquals("1.5", "Foo German License", utils.getLicenses(iu, Locale.GERMAN)[0].getBody());
-	}
-
-	public void testBundleLocalizationEN() throws IOException {
-		File file = TestData.getFile("localizationtests/foobundle", "");
-		BundlesAction action = new BundlesAction(new File[] {file});
-		action.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foobundle"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Bundle", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Foo English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-	}
-
-	public void testBundleLocalizationDE() throws IOException {
-		File file = TestData.getFile("localizationtests/foobundle", "");
-		BundlesAction action = new BundlesAction(new File[] {file});
-		action.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foobundle"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo German Bundle", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Foo German Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-	}
-
-	public void testBundleLocalizationEN_alternatePropFile() throws IOException {
-		File file = TestData.getFile("localizationtests/barbundle", "");
-		BundlesAction action = new BundlesAction(new File[] {file});
-		action.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barbundle"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Bar English Bundle", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Bar English Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-	}
-
-	public void testBundleLocalizationDE_alternatePropFile() throws IOException {
-		File file = TestData.getFile("localizationtests/barbundle", "");
-		BundlesAction action = new BundlesAction(new File[] {file});
-		action.perform(info, results, monitor);
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barbundle"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Bar German Bundle", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Bar German Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-	}
-
-	public void testBundleLocalizationEN_fragment() throws IOException {
-		File bundle = TestData.getFile("localizationtests/foobundle2", "");
-		File fragment = TestData.getFile("localizationtests/foofragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foobundle2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo English Bundle - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Foo English Provider - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-	}
-
-	public void testBundleLocalizationDE_fragment() throws IOException {
-		File bundle = TestData.getFile("localizationtests/foobundle2", "");
-		File fragment = TestData.getFile("localizationtests/foofragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foobundle2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Foo German Bundle - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Foo German Provider - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-	}
-
-	public void testBundleLocalizationEN_alternatePropFile_fragment() throws IOException {
-		File bundle = TestData.getFile("localizationtests/barbundle2", "");
-		File fragment = TestData.getFile("localizationtests/barfragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barbundle2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Bar English Bundle - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "Bar English Provider - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-	}
-
-	public void testBundleLocalizationDE_alternatePropFile_fragment() throws IOException {
-		File bundle = TestData.getFile("localizationtests/barbundle2", "");
-		File fragment = TestData.getFile("localizationtests/barfragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barbundle2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "Bar German Bundle - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "Bar German Provider - Translated in the Fragment", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-	}
-
-	public void testFragmentTranslation_EN() throws IOException {
-		File bundle = TestData.getFile("localizationtests/barbundle2", "");
-		File fragment = TestData.getFile("localizationtests/barfragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barfragment2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "English Fragment Name", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "English Fragment Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.ENGLISH));
-	}
-
-	public void testFragmentTranslation_DE() throws IOException {
-		File bundle = TestData.getFile("localizationtests/barbundle2", "");
-		File fragment = TestData.getFile("localizationtests/barfragment2", "");
-		BundlesAction action = new BundlesAction(new File[] {bundle, fragment});
-		action.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("barfragment2"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "German Fragment Name", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "German Fragment Provider", utils.getIUProperty(iu, IInstallableUnit.PROP_PROVIDER, Locale.GERMAN));
-	}
-
-	public void testSite_EN() throws IOException {
-		File feature = TestData.getFile("localizationtests/foofeature", "");
-		URI site = TestData.getFile("localizationtests/site", "").toURI();
-
-		FeaturesAction action = new FeaturesAction(new File[] {feature});
-		SiteXMLAction siteAction = new SiteXMLAction(site, "foo");
-		action.perform(info, results, monitor);
-		siteAction.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foo.new_category_1"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "English Category Name", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.ENGLISH));
-		assertEquals("1.1", "English Category Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.ENGLISH));
-
-	}
-
-	public void testSite_DE() throws IOException {
-		File feature = TestData.getFile("localizationtests/foofeature", "");
-		URI site = TestData.getFile("localizationtests/site", "").toURI();
-
-		FeaturesAction action = new FeaturesAction(new File[] {feature});
-		SiteXMLAction siteAction = new SiteXMLAction(site, "foo");
-		action.perform(info, results, monitor);
-		siteAction.perform(info, results, monitor);
-
-		IUPropertyUtils utils = new IUPropertyUtils(results.query(new InstallableUnitQuery((String) null), monitor));
-		Collector collector = results.query(new InstallableUnitQuery("foo.new_category_1"), monitor);
-		IInstallableUnit iu = (IInstallableUnit) collector.iterator().next();
-		assertEquals("1.0", "German Category Name", utils.getIUProperty(iu, IInstallableUnit.PROP_NAME, Locale.GERMAN));
-		assertEquals("1.1", "German Category Description", utils.getIUProperty(iu, IInstallableUnit.PROP_DESCRIPTION, Locale.GERMAN));
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MD5GenerationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MD5GenerationTest.java
deleted file mode 100644
index 7d720c1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MD5GenerationTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class MD5GenerationTest extends AbstractProvisioningTest {
-	public void testGenerationFile() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), getTestData("Artifact to generate from", "testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar"));
-		assertEquals("50d4ea58b02706ab373a908338877e02", ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-
-	public void testGenerationFile2() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), getTestData("Artifact to generate from", "testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar"));
-		assertEquals("50d4ea58b02706ab373a908338877e02", ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-
-	public void testGenerationFolder() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), getTestData("Artifact to generate from", "testData/artifactRepo/simpleWithMD5/plugins/"));
-		assertNull(ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-
-	public void testGenerationFolder2() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), getTestData("Artifact to generate from", "testData/artifactRepo/simpleWithMD5/plugins/"));
-		assertNull(ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-
-	public void testGenerationNoFolder() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), null);
-		assertNull(ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-
-	public void testGenerationNoFolder2() {
-		IArtifactDescriptor ad = PublisherHelper.createArtifactDescriptor(new ArtifactKey("classifierTest", "idTest", Version.createOSGi(1, 0, 0)), null);
-		assertNull(ad.getProperty(IArtifactDescriptor.DOWNLOAD_MD5));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MultiCapture.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MultiCapture.java
deleted file mode 100644
index 14ecad6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/MultiCapture.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.*;
-import org.easymock.Capture;
-
-/**
- * A capture that captures multiple values
- */
-public class MultiCapture<T> extends Capture<T> implements Collection<T> {
-	private static final long serialVersionUID = 1L;
-	private final List captured = new ArrayList();
-
-	public boolean add(T arg0) {
-		return captured.add(arg0);
-	}
-
-	public boolean addAll(Collection arg0) {
-		return captured.addAll(arg0);
-	}
-
-	public void clear() {
-		captured.clear();
-	}
-
-	public boolean contains(Object arg0) {
-		return captured.contains(arg0);
-	}
-
-	public boolean containsAll(Collection arg0) {
-		return captured.containsAll(arg0);
-	}
-
-	public boolean isEmpty() {
-		return captured.isEmpty();
-	}
-
-	public Iterator iterator() {
-		return captured.iterator();
-	}
-
-	public boolean remove(Object arg0) {
-		return captured.remove(arg0);
-	}
-
-	public boolean removeAll(Collection arg0) {
-		return captured.removeAll(arg0);
-	}
-
-	public boolean retainAll(Collection arg0) {
-		return captured.retainAll(arg0);
-	}
-
-	@Override
-	public void setValue(T value) {
-		captured.add(value);
-		super.setValue(value);
-	}
-
-	public int size() {
-		return captured.size();
-	}
-
-	public Object[] toArray() {
-		return captured.toArray();
-	}
-
-	public Object[] toArray(Object[] arg0) {
-		return captured.toArray(arg0);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
deleted file mode 100644
index 110aa3e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTest.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.RootIUAdvice;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-
-@SuppressWarnings({"unchecked"})
-public class ProductActionTest extends ActionTest {
-
-	private String winFitler = "(& (osgi.ws=win32)(osgi.os=win32)(osgi.arch=x86))";
-	private String linuxFilter = "(& (osgi.ws=gtk)(osgi.os=linux)(osgi.arch=x86))";
-
-	File executablesFeatureLocation = null;
-	String productLocation = "";
-	private Capture<RootIUAdvice> rootIUAdviceCapture;
-	private Capture<ProductFileAdvice> productFileAdviceCapture;
-	String source = "";
-	protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
-
-	@Override
-	protected IPublisherInfo createPublisherInfoMock() {
-		//override to create a nice mock, because we don't care about other method calls.
-		return createNiceMock(IPublisherInfo.class);
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(RootIUAdvice.class), EasyMock.capture(rootIUAdviceCapture)));
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ProductFileAdvice.class), EasyMock.capture(productFileAdviceCapture)));
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_PUBLISH).anyTimes();
-		//Return an empty list every time getAdvice is called
-		expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class) anyObject())).andReturn(Collections.emptyList());
-		expectLastCall().anyTimes();
-	}
-
-	public void setUp() throws Exception {
-		rootIUAdviceCapture = new Capture<RootIUAdvice>();
-		productFileAdviceCapture = new Capture<ProductFileAdvice>();
-		setupPublisherInfo();
-		setupPublisherResult();
-	}
-
-	/**
-	 * Tests publishing a product containing a branded application with a custom
-	 * splash screen, icon, etc.
-	 */
-	public void testBrandedApplication() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "brandedProduct/branded.product").toString());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(publisherInfo, publisherResult, null);
-		Collection ius = publisherResult.getIUs("branded.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, ius.size());
-
-		//TODO assert branding was done correctly
-	}
-
-	public void testLicense() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productWithLicense.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(new String[] {"win32.win32.x86"});
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(info, publisherResult, null);
-		Collection ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, ius.size());
-		IInstallableUnit iu = (IInstallableUnit) ius.iterator().next();
-		assertEquals("1.1", "http://www.example.com", iu.getLicenses()[0].getLocation().toString());
-		assertEquals("1.2", "This is the liCenSE.", iu.getLicenses()[0].getBody().trim());
-	}
-
-	public void testLicenseNoURL() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "licenseNoURL.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(new String[] {"win32.win32.x86"});
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(info, publisherResult, null);
-		Collection ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, ius.size());
-		IInstallableUnit iu = (IInstallableUnit) ius.iterator().next();
-		assertEquals("1.1", "", iu.getLicenses()[0].getLocation().toString());
-		assertEquals("1.2", "This is the liCenSE.", iu.getLicenses()[0].getBody().trim());
-	}
-
-	public void testLicenseNoText() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "licenseNoText.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(new String[] {"win32.win32.x86"});
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(info, publisherResult, null);
-		Collection ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, ius.size());
-		IInstallableUnit iu = (IInstallableUnit) ius.iterator().next();
-		assertEquals("1.1", "http://www.example.com", iu.getLicenses()[0].getLocation().toString());
-		assertEquals("1.2", "", iu.getLicenses()[0].getBody().trim());
-	}
-
-	public void testMissingLicense() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "productWithNoLicense.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(new String[] {"win32.win32.x86"});
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(info, publisherResult, null);
-		Collection ius = publisherResult.getIUs("licenseIU.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, ius.size());
-		IInstallableUnit iu = (IInstallableUnit) ius.iterator().next();
-		assertEquals(0, iu.getLicenses().length);
-	}
-
-	/**
-	 * Tests that a product file containing bundle configuration data produces appropriate 
-	 * IConfigAdvice (start levels, auto-start).
-	 */
-	public void testSetBundleConfigData() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "startLevel.product").toString());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-
-		testAction.perform(publisherInfo, publisherResult, null);
-		IConfigAdvice configAdvice = productFileAdviceCapture.getValue();
-		BundleInfo[] bundles = configAdvice.getBundles();
-		assertEquals("1.0", 2, bundles.length);
-		assertEquals("1.1", "org.eclipse.equinox.common", bundles[0].getSymbolicName());
-		assertEquals("1.2", "1.0.0", bundles[0].getVersion());
-		assertEquals("1.3", 13, bundles[0].getStartLevel());
-		assertEquals("1.4", false, bundles[0].isMarkedAsStarted());
-
-		assertEquals("2.1", "org.eclipse.core.runtime", bundles[1].getSymbolicName());
-		assertEquals("2.2", "2.0.0", bundles[1].getVersion());
-		assertEquals("2.3", 6, bundles[1].getStartLevel());
-		assertEquals("2.4", true, bundles[1].isMarkedAsStarted());
-	}
-
-	public void testMultiProductPublishing() throws Exception {
-		ProductFile productFile1 = new ProductFile(TestData.getFile("ProductActionTest", "boundedVersionConfigurations.product").toString());
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(getArrayFromString(configSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setVersion(Version.create("4.0.0"));
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action1 = new ProductAction(null, productFile1, flavorArg, executablesFeatureLocation);
-		ProductAction action2 = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-		action1.perform(info, results, new NullProgressMonitor());
-		results = new PublisherResult();
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-
-		action2.perform(info, results, new NullProgressMonitor());
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + configSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 1, collector.size());
-	}
-
-	public void testMultiPlatformCUs_DifferentPlatforms() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String windowsConfigSpec = AbstractPublisherAction.createConfigSpec("win32", "win32", "x86");
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setVersion(Version.create("0.0.0"));
-		iuDescription.setFilter(winFitler);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 0, collector.size());
-
-		collector = results.query(new InstallableUnitQuery(flavorArg + windowsConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("2.0", 0, collector.size());
-	}
-
-	public void testMultiPlatformCUs_SamePlatforms() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String windowsConfigSpec = AbstractPublisherAction.createConfigSpec("win32", "win32", "x86");
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setVersion(Version.create("0.0.0"));
-		iuDescription.setFilter(linuxFilter);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 1, collector.size());
-
-		collector = results.query(new InstallableUnitQuery(flavorArg + windowsConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("2.0", 0, collector.size());
-	}
-
-	public void testMultiPlatformCUs_SamePlatforms_NoVersion() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String windowsConfigSpec = AbstractPublisherAction.createConfigSpec("win32", "win32", "x86");
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setFilter(linuxFilter);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 1, collector.size());
-
-		collector = results.query(new InstallableUnitQuery(flavorArg + windowsConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("2.0", 0, collector.size());
-	}
-
-	public void testMultiPlatformCUs_SamePlatforms_BoundedVersions() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String windowsConfigSpec = AbstractPublisherAction.createConfigSpec("win32", "win32", "x86");
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setVersion(Version.create("4.0.0")); // Set a specific version number, the one in the .product file uses 0.0.0.  Let's see if it binds properly
-		iuDescription.setFilter("(osgi.os=linux)"); //filter is different from linuxConfigSpec, but will still match
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 1, collector.size());
-
-		collector = results.query(new InstallableUnitQuery(flavorArg + windowsConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("2.0", 0, collector.size());
-	}
-
-	public void testCUsHost() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-		iuDescription.setId("org.eclipse.core.runtime");
-		iuDescription.setVersion(Version.create("4.0.0")); // Set a specific version number, the one in the .product file uses 0.0.0.  Let's see if it binds properly
-		iuDescription.setFilter("(osgi.os=linux)"); //filter is different from linuxConfigSpec, but will still match
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDescription);
-
-		results.addIU(iu, IPublisherResult.NON_ROOT);
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 1, collector.size());
-		IInstallableUnitFragment fragment = (IInstallableUnitFragment) collector.iterator().next();
-		assertEquals("1.1", "org.eclipse.core.runtime", ((IRequiredCapability) fragment.getHost()[0].getMatches()).getName());
-		assertEquals("1.2", Version.create("4.0.0"), ((IRequiredCapability) fragment.getHost()[0].getMatches()).getRange().getMinimum());
-		assertEquals("1.3", Version.create("1.0.0"), fragment.getVersion());
-
-	}
-
-	public void testCUNoHost() throws Exception {
-		ProductFile productFile2 = new ProductFile(TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		String windowsConfigSpec = AbstractPublisherAction.createConfigSpec("win32", "win32", "x86");
-		String linuxConfigSpec = AbstractPublisherAction.createConfigSpec("gtk", "linux", "x86");
-		info.setConfigurations(getArrayFromString(linuxConfigSpec, COMMA_SEPARATOR));
-		PublisherResult results = new PublisherResult();
-
-		ProductAction action = new ProductAction(null, productFile2, flavorArg, executablesFeatureLocation);
-
-		action.perform(info, results, new NullProgressMonitor());
-
-		Collector collector = results.query(new InstallableUnitQuery(flavorArg + linuxConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("1.0", 0, collector.size());
-
-		collector = results.query(new InstallableUnitQuery(flavorArg + windowsConfigSpec + "org.eclipse.core.runtime"), new NullProgressMonitor());
-		assertEquals("2.0", 0, collector.size());
-	}
-
-	public void testMultiConfigspecProductPublishing() throws IOException, Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
-		PublisherInfo info = new PublisherInfo();
-		info.setConfigurations(new String[] {"carbon.macos.x86", "cocoa.macos.x86"});
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(info, publisherResult, null);
-
-		Collection advice = info.getAdvice("carbon.macos.x86", false, null, null, IConfigAdvice.class);
-		assertEquals("1.0", 1, advice.size());
-	}
-
-	/**
-	 * Tests that correct advice is created for the org.eclipse.platform product.
-	 */
-	public void testPlatformProduct() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(publisherInfo, publisherResult, null);
-
-		IExecutableAdvice launchAdvice = productFileAdviceCapture.getValue();
-		assertEquals("1.0", "eclipse", launchAdvice.getExecutableName());
-
-		String[] programArgs = launchAdvice.getProgramArguments();
-		assertEquals("2.0", 0, programArgs.length);
-
-		String[] vmArgs = launchAdvice.getVMArguments();
-		assertEquals("3.0", 0, vmArgs.length);
-
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
deleted file mode 100644
index 1ffd7c2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionTestMac.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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 - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.*;
-
-import java.io.File;
-import java.util.Collections;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.RootIUAdvice;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * Tests for {@link ProductAction} specific to Mac.
- */
-@SuppressWarnings( {"unchecked"})
-public class ProductActionTestMac extends ActionTest {
-
-	private File executablesFeatureLocation = null;
-	private Capture<RootIUAdvice> rootIUAdviceCapture;
-	private Capture<ProductFileAdvice> productFileAdviceCapture;
-	private String source = "";
-
-	@Override
-	protected IPublisherInfo createPublisherInfoMock() {
-		//override to create a nice mock, because we don't care about other method calls.
-		return createNiceMock(IPublisherInfo.class);
-	}
-
-	protected void insertPublisherInfoBehavior() {
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(RootIUAdvice.class), EasyMock.capture(rootIUAdviceCapture)));
-		publisherInfo.addAdvice(EasyMock.and(EasyMock.isA(ProductFileAdvice.class), EasyMock.capture(productFileAdviceCapture)));
-		//Return an empty list every time getAdvice is called
-		expect(publisherInfo.getAdvice((String) anyObject(), anyBoolean(), (String) anyObject(), (Version) anyObject(), (Class) anyObject())).andReturn(Collections.emptyList());
-		expectLastCall().anyTimes();
-	}
-
-	public void setUp() throws Exception {
-		configSpec = AbstractPublisherAction.createConfigSpec("carbon", "macosx", "x86");
-		rootIUAdviceCapture = new Capture<RootIUAdvice>();
-		productFileAdviceCapture = new Capture<ProductFileAdvice>();
-		setupPublisherInfo();
-		setupPublisherResult();
-	}
-
-	/**
-	 * Tests that correct advice is created for the org.eclipse.platform product.
-	 */
-	public void testPlatformProduct() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(publisherInfo, publisherResult, null);
-
-		IExecutableAdvice launchAdvice = productFileAdviceCapture.getValue();
-		assertEquals("1.0", "eclipse", launchAdvice.getExecutableName());
-
-		String[] programArgs = launchAdvice.getProgramArguments();
-		assertEquals("2.0", 2, programArgs.length);
-		assertEquals("2.1", "-showsplash", programArgs[0]);
-		assertEquals("2.2", "org.eclipse.platform", programArgs[1]);
-
-		String[] vmArgs = launchAdvice.getVMArguments();
-		assertEquals("3.0", 6, vmArgs.length);
-		assertEquals("3.1", "-Xdock:icon=../Resources/Eclipse.icns", vmArgs[0]);
-		assertEquals("3.2", "-XstartOnFirstThread", vmArgs[1]);
-		assertEquals("3.3", "-Xms40m", vmArgs[2]);
-		assertEquals("3.4", "-Xmx256m", vmArgs[3]);
-		assertEquals("3.5", "-XX:MaxPermSize=256m", vmArgs[4]);
-		assertEquals("3.6", "-Dorg.eclipse.swt.internal.carbon.smallFonts", vmArgs[5]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java
deleted file mode 100644
index 7f92c5e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Collection;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.QueryableFilterAdvice;
-import org.eclipse.equinox.p2.publisher.eclipse.ProductAction;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestData;
-
-@SuppressWarnings({"unchecked"})
-/**
- * Tests the product action when run on a product file that has a corresponding
- * advice file (p2.inf).
- */
-public class ProductActionWithAdviceFileTest extends ActionTest {
-
-	File executablesFeatureLocation = null;
-	String productLocation = "";
-	String source = "";
-
-	public void setUp() throws Exception {
-		setupPublisherResult();
-	}
-
-	class IUQuery extends MatchQuery {
-		IInstallableUnit iu;
-
-		public IUQuery(String id, Version version) {
-			InstallableUnitDescription iuDescription = new InstallableUnitDescription();
-			iuDescription.setId(id);
-			iuDescription.setVersion(version);
-			iu = MetadataFactory.createInstallableUnit(iuDescription);
-		}
-
-		public boolean isMatch(Object candidate) {
-			if (iu.equals(candidate))
-				return true;
-			return false;
-		}
-	}
-
-	public void testProductFileWithRepoAdvice() throws Exception {
-		URI location;
-		try {
-			location = TestData.getFile("ProductActionTest", "contextRepos").toURI();
-		} catch (Exception e) {
-			fail("0.99", e);
-			return;
-		}
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest", "platform.product").toString());
-		IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager();
-		IMetadataRepository repository = metadataRepositoryManager.loadRepository(location, new NullProgressMonitor());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		PublisherInfo info = new PublisherInfo();
-		info.setContextMetadataRepository(repository);
-		info.addAdvice(new QueryableFilterAdvice(info.getContextMetadataRepository()));
-
-		testAction.perform(info, publisherResult, null);
-		Collector results = publisherResult.query(new IUQuery("org.eclipse.platform.ide", Version.create("3.5.0.I20081118")), null);
-		assertEquals("1.0", 1, results.size());
-		IInstallableUnit unit = (IInstallableUnit) results.iterator().next();
-		IRequirement[] requiredCapabilities = unit.getRequiredCapabilities();
-
-		IRequiredCapability capability = null;
-		for (int i = 0; i < requiredCapabilities.length; i++)
-			if ((((IRequiredCapability) requiredCapabilities[i]).getName().equals("org.eclipse.equinox.p2.user.ui.feature.group"))) {
-				capability = (IRequiredCapability) requiredCapabilities[i];
-				break;
-			}
-		assertTrue("1.1", capability != null);
-		assertEquals("1.2", "(org.eclipse.update.install.features=true)", ((LDAPQuery) capability.getFilter()).getFilter());
-	}
-
-	/**
-	 * Tests publishing a product that contains an advice file (p2.inf)
-	 */
-	public void testProductWithAdviceFile() throws Exception {
-		ProductFile productFile = new ProductFile(TestData.getFile("ProductActionTest/productWithAdvice", "productWithAdvice.product").toString());
-		testAction = new ProductAction(source, productFile, flavorArg, executablesFeatureLocation);
-		testAction.perform(new PublisherInfo(), publisherResult, null);
-
-		Collection productIUs = publisherResult.getIUs("productWithAdvice.product", IPublisherResult.NON_ROOT);
-		assertEquals("1.0", 1, productIUs.size());
-		IInstallableUnit product = (IInstallableUnit) productIUs.iterator().next();
-		ITouchpointData[] data = product.getTouchpointData();
-		assertEquals("1.1", 1, data.length);
-		String configure = data[0].getInstruction("configure").getBody();
-		assertEquals("1.2", "addRepository(type:0,location:http${#58}//download.eclipse.org/releases/fred);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/fred);", configure);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
deleted file mode 100644
index 1558ca1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileAdviceTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-*   IBM Corporation - on-going maintenance
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.io.File;
-import java.util.Properties;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * Tests the product file advice
- */
-public class ProductFileAdviceTest extends AbstractProvisioningTest {
-
-	String productFileLocation = null;
-	ProductFile productFile = null;
-	ProductFileAdvice productFileAdviceWin32 = null;
-
-	String productFileLocation2 = null;
-	ProductFile productFile2 = null;
-	ProductFileAdvice productFileAdvice2 = null;
-
-	String configFile = "/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini";
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		productFileLocation = TestData.getFile("ProductActionTest/productWithConfig", "sample.product").toString();
-		productFile = new ProductFile(productFileLocation);
-		productFileAdviceWin32 = new ProductFileAdvice(productFile, "x86.win32.*");
-
-		productFileLocation2 = TestData.getFile("ProductActionTest", "productFileActionTest.product").toString();
-		productFile2 = new ProductFile(productFileLocation2);
-		productFileAdvice2 = new ProductFileAdvice(productFile2, "x86.win32.*");
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getProgramArguments()}.
-	 */
-	public void testGetProgramArguments() {
-		String[] programArgumentsWin32 = productFileAdviceWin32.getProgramArguments();
-		assertEquals("1.0", 3, programArgumentsWin32.length);
-		assertEquals("1.1", "programArg", programArgumentsWin32[0]);
-		assertEquals("1.2", "-name", programArgumentsWin32[1]);
-		assertEquals("1.3", "My Name", programArgumentsWin32[2]);
-
-		String[] programArguments2 = productFileAdvice2.getProgramArguments();
-		assertEquals("2.0", 0, programArguments2.length);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getVMArguments()}.
-	 */
-	public void testGetVMArguments() {
-		String[] vmArgumentsWin32 = productFileAdviceWin32.getVMArguments();
-		assertEquals("1.0", 2, vmArgumentsWin32.length);
-		assertEquals("1.1", "vmArg", vmArgumentsWin32[0]);
-		assertEquals("1.2", "-Dfoo=b a r", vmArgumentsWin32[1]);
-
-		String[] vmArguments2 = productFileAdvice2.getVMArguments();
-		assertEquals("2.0", 0, vmArguments2.length);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getBundles()}.
-	 */
-	public void testGetBundles() {
-		BundleInfo[] bundles = productFileAdviceWin32.getBundles();
-		assertEquals("1.0", 4, bundles.length);
-		for (int i = 0; i < 4; i++) {
-			if (bundles[i].getSymbolicName().equals("org.eclipse.equinox.common")) {
-				assertEquals(2, bundles[i].getStartLevel());
-				assertEquals(true, bundles[i].isMarkedAsStarted());
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.update.configurator")) {
-				assertEquals(3, bundles[i].getStartLevel());
-				assertEquals(true, bundles[i].isMarkedAsStarted());
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.core.runtime")) {
-				// nothing yet
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.swt.win32.win32.x86")) {
-				assertEquals(-1, bundles[i].getStartLevel());
-				assertEquals(false, bundles[i].isMarkedAsStarted());
-			} else
-				fail("unknown bundle: " + bundles[i].getSymbolicName());
-		}
-
-		bundles = productFileAdvice2.getBundles();
-		assertEquals("2.0", 1, bundles.length);
-		for (int i = 0; i < 1; i++) {
-			if (bundles[i].getSymbolicName().equals("org.eclipse.core.commands")) {
-				assertTrue("2.1", bundles[i].getStartLevel() == 2);
-				assertTrue("2.2", bundles[i].isMarkedAsStarted() == false);
-			} else
-				fail("unknown bundle: " + bundles[i].getSymbolicName());
-		}
-	}
-
-	public void testBoundedVersionConfigurations() throws Exception {
-		String location = TestData.getFile("ProductActionTest", "boundedVersionConfigurations.product").toString();
-		ProductFile product = new ProductFile(location);
-		ProductFileAdvice advice = new ProductFileAdvice(product, "x86.win32.*");
-
-		BundleInfo[] bundles = advice.getBundles();
-		assertEquals("1.0", 2, bundles.length);
-		for (int i = 0; i < 2; i++) {
-			if (bundles[i].getSymbolicName().equals("org.eclipse.core.commands")) {
-				assertEquals(2, bundles[i].getStartLevel());
-				assertEquals(true, bundles[i].isMarkedAsStarted());
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.core.runtime")) {
-				assertTrue("1.1", bundles[i].getStartLevel() == 2);
-				assertTrue("1.2", bundles[i].isMarkedAsStarted() == true);
-			} else
-				fail("unknown bundle: " + bundles[i].getSymbolicName());
-		}
-	}
-
-	public void testUnboundedVersionConfigurations() throws Exception {
-		String location = TestData.getFile("ProductActionTest", "unboundedVersionConfigurations.product").toString();
-		ProductFile product = new ProductFile(location);
-		ProductFileAdvice advice = new ProductFileAdvice(product, "x86.win32.*");
-
-		BundleInfo[] bundles = advice.getBundles();
-		assertEquals("1.0", 2, bundles.length);
-		for (int i = 0; i < 2; i++) {
-			if (bundles[i].getSymbolicName().equals("org.eclipse.core.commands")) {
-				assertEquals(2, bundles[i].getStartLevel());
-				assertEquals(true, bundles[i].isMarkedAsStarted());
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.core.runtime")) {
-				assertTrue("1.1", bundles[i].getStartLevel() == 2);
-				assertTrue("1.2", bundles[i].isMarkedAsStarted() == true);
-			} else
-				fail("unknown bundle: " + bundles[i].getSymbolicName());
-		}
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getProperties()}.
-	 */
-	public void testGetProperties() {
-		Properties properties = productFileAdviceWin32.getProperties();
-		assertEquals("1.0", 7, properties.size());
-		assertEquals("1.2", "bar", properties.get("foo"));
-		assertEquals("1.3", "", properties.get("foo1"));
-		assertEquals("1.4", "true", properties.get("osgi.sharedConfiguration.area.readOnly"));
-		assertEquals("1.5", "/d/sw/java64/jdk1.6.0_03/bin/java", properties.get("eclipse.vm"));
-		assertEquals("1.6", "test.product", properties.get("eclipse.product"));
-		assertEquals("1.7", "test.app", properties.get("eclipse.application"));
-		assertEquals("1.1", "platform:/base/plugins/org.eclipse.equinox.p2.tests", properties.get("osgi.splashPath"));
-
-		properties = productFileAdvice2.getProperties();
-		assertEquals("2.0", 0, properties.size());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getExecutableName()}.
-	 */
-	public void testGetExecutableName() {
-		assertEquals("1.0", "sample", productFileAdviceWin32.getExecutableName());
-		assertEquals("2.0", null, productFileAdvice2.getExecutableName());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getProductFile()}.
-	 */
-	public void testGetProductFile() {
-		assertEquals("1.0", productFile, productFileAdviceWin32.getProductFile());
-		assertEquals("2.0", productFile2, productFileAdvice2.getProductFile());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.p2.publisher.eclipse.ProductFileAdvice#getIcons(java.lang.String)}.
-	 */
-	public void testGetIcons() {
-		String[] icons = productFileAdviceWin32.getIcons();
-		String absolutePath = new File(productFile.getLocation().getParentFile(), "test/icon.bmp").getAbsolutePath();
-		assertEquals("1.0", 1, icons.length);
-		assertEquals("1.1", absolutePath, icons[0]);
-
-		icons = productFileAdvice2.getIcons();
-		absolutePath = new File(productFile2.getLocation().getParentFile(), "icon.bmp").getAbsolutePath();
-		assertEquals("2.0", 1, icons.length);
-		assertEquals("2.1", absolutePath, icons[0]);
-	}
-
-	public void testSimpleConfiguratorConfigURL() throws Exception {
-		File rootFolder = getTestFolder("simpleConfiguratorConfigURL");
-		File sampleProduct = new File(rootFolder, "sample.product");
-		copy("Copying sample.product", TestData.getFile("ProductActionTest/productWithConfig", "sample.product"), sampleProduct);
-
-		Properties configProperties = new Properties();
-		configProperties.put("org.eclipse.equinox.simpleconfigurator.configUrl", "file:org.eclipse.equinox.simpleconfigurator/bundles.info");
-		configProperties.put("osgi.bundles", "org.eclipse.equinox.simpleconfigurator@1:start");
-		writeProperties(new File(rootFolder, "config.ini"), configProperties);
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("org.eclipse.equinox.common,3.5.100.v20090817,plugins/org.eclipse.equinox.common_3.5.100.v20090817.jar,2,true\n");
-		buffer.append("org.eclipse.update.configurator,3.3.100.v20090813,plugins/org.eclipse.update.configurator_3.3.100.v20090813.jar,4,false\n");
-		buffer.append("org.eclipse.equinox.simpleconfigurator,1.0.200.v20090729-1800,plugins/org.eclipse.equinox.simpleconfigurator_1.0.200.v20090729-1800.jar,1,true\n");
-		writeBuffer(new File(rootFolder, "org.eclipse.equinox.simpleconfigurator/bundles.info"), buffer);
-
-		ProductFile product = new ProductFile(sampleProduct.getCanonicalPath());
-		ProductFileAdvice advice = new ProductFileAdvice(product, "x86.win32.win32");
-
-		BundleInfo[] bundles = advice.getBundles();
-		for (int i = 0; i < 2; i++) {
-			if (bundles[i].getSymbolicName().equals("org.eclipse.equinox.common")) {
-				assertEquals("equinox.common start level", 2, bundles[i].getStartLevel());
-				assertEquals("equinox.common started", true, bundles[i].isMarkedAsStarted());
-			} else if (bundles[i].getSymbolicName().equals("org.eclipse.update.configurator")) {
-				assertEquals("update.configurator start level", 4, bundles[i].getStartLevel());
-				assertEquals("update.configurator started", false, bundles[i].isMarkedAsStarted());
-			}
-		}
-	}
-
-	public void testConfigNullLauncher() throws Exception {
-		File root = getTestFolder("configNullLauncher");
-		File testProduct = new File(root, "test.product");
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<product id=\"test.product\" version=\"1\" useFeatures=\"false\">	\n");
-		buffer.append("   <configIni use=\"default\">										\n");
-		buffer.append("      <win32>config.ini</win32>										\n");
-		buffer.append("   </configIni>														\n");
-		buffer.append("   <plugins>															\n");
-		buffer.append("      <plugin id=\"org.eclipse.core.runtime\" version=\"1.0.4\"/>	\n");
-		buffer.append("      <plugin id=\"org.eclipse.equinox.simpleconfigurator\" />		\n");
-		buffer.append("   </plugins>														\n");
-		buffer.append("</product>															\n");
-		writeBuffer(testProduct, buffer);
-
-		Properties configProperties = new Properties();
-		configProperties.put("osgi.bundles", "org.eclipse.equinox.simpleconfigurator@1:start");
-		configProperties.put("eclipse.application", "test.application");
-		configProperties.put("osgi.instance.area.default", "@user.home/workspace");
-		writeProperties(new File(root, "config.ini"), configProperties);
-
-		ProductFile product = new ProductFile(testProduct.getCanonicalPath());
-		ProductFileAdvice advice = new ProductFileAdvice(product, "x86.win32.win32");
-
-		BundleInfo[] bundles = advice.getBundles();
-		assertEquals("bundlers length", 2, bundles.length);
-
-		Properties adviceProperties = advice.getProperties();
-		assertEquals("instance.area.default", "@user.home/workspace", adviceProperties.get("osgi.instance.area.default"));
-		assertEquals("eclipse.application", "test.application", adviceProperties.get("eclipse.application"));
-		assertEquals("eclipse.product", "test.product", adviceProperties.get("eclipse.product"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileTest.java
deleted file mode 100644
index f9b79e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductFileTest.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import java.util.List;
-import java.util.Properties;
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * Tests the product file parser found in the publisher.
- */
-public class ProductFileTest extends TestCase {
-
-	String productFileLocation = null;
-	ProductFile productFile = null;
-
-	String configFile = "/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini";
-	private String uidProductFileLocation;
-	private ProductFile uidProductFile;
-
-	protected void setUp() throws Exception {
-		productFileLocation = TestData.getFile("ProductActionTest/productWithConfig", "sample.product").toString();
-		productFile = new ProductFile(productFileLocation);
-		uidProductFileLocation = TestData.getFile("ProductActionTest/productWithConfig", "uidproduct.product").toString();
-		uidProductFile = new ProductFile(uidProductFileLocation);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getLauncherName()}.
-	 */
-	public void testGetLauncherName() {
-		assertEquals("1.0", "sample", productFile.getLauncherName());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getLocation()}.
-	 */
-	public void testGetLocation() {
-		assertEquals("1.0", productFileLocation, productFile.getLocation().toString());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getProperties()}.
-	 */
-	public void testGetConfigurationProperties() {
-		Properties properties = productFile.getConfigurationProperties();
-		assertEquals("1.0", 4, properties.size());
-		assertEquals("1.1", "bar", properties.get("foo"));
-		assertEquals("1.2", "", properties.get("foo1"));
-		assertEquals("1.3", "test.product", properties.get("eclipse.product"));
-		assertEquals("1.4", "test.app", properties.get("eclipse.application"));
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getBundles(boolean)}.
-	 */
-	public void testGetBundles() {
-		List bundles = productFile.getBundles(false);
-		assertEquals("1.0", 1, bundles.size());
-		assertEquals("1.1", "org.eclipse.core.runtime", ((IVersionedId) bundles.get(0)).getId());
-		assertEquals("1.2", Version.createOSGi(1, 0, 4), ((IVersionedId) bundles.get(0)).getVersion());
-		bundles = productFile.getBundles(true);
-		assertEquals("1.3", 2, bundles.size());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getBundleInfos()}.
-	 */
-	public void testGetBundleInfos() {
-		List bundleInfos = productFile.getBundleInfos();
-		BundleInfo info = (BundleInfo) bundleInfos.iterator().next();
-		assertEquals("1.0", 1, bundleInfos.size());
-		assertEquals("1.1", "org.eclipse.core.runtime", info.getSymbolicName());
-		assertEquals("1.2", 2, info.getStartLevel());
-		assertEquals("1.3", true, info.isMarkedAsStarted());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getFragments()}.
-	 */
-	public void testGetFragments() {
-		List fragments = productFile.getFragments();
-		assertEquals("1.0", 1, fragments.size());
-		assertEquals("1.1", "org.eclipse.swt.win32.win32.x86", ((IVersionedId) fragments.get(0)).getId());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getFeatures()}.
-	 */
-	public void testGetFeatures() {
-		List features = productFile.getFeatures();
-		assertEquals("1.0", 1, features.size());
-		assertEquals("1.1", "org.eclipse.rcp", ((IVersionedId) features.get(0)).getId());
-		assertEquals("1.2", Version.create("3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t"), ((IVersionedId) features.get(0)).getVersion());
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getIcons(java.lang.String)}.
-	 */
-	//	public void testGetIcons() {
-	//		String[] icons = productFile.getIcons("win32");
-	//		String absolutePath = new File(productFile.getLocation().getParentFile(), "test/icon.bmp").getAbsolutePath();
-	//		assertEquals("1.0", 1, icons.length);
-	//		assertEquals("1.1", absolutePath, icons[0]);
-	//	}
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getConfigIniPath()}.
-	 */
-	public void testGetConfigIniPath() {
-		String configIni = productFile.getConfigIniPath("win32");
-		assertEquals("1.0", "config.ini", configIni);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getId()}.
-	 */
-	public void testGetId() {
-		String id = productFile.getId();
-		assertEquals("1.0", "test.product", id);
-	}
-
-	public void testGetUID() {
-		String id = uidProductFile.getId();
-		assertEquals("1.0", "UID.test.product", id);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getSplashLocation()}.
-	 */
-	public void testGetSplashLocation() {
-		String splashLocation = productFile.getSplashLocation();
-		assertEquals("1.0", "org.eclipse.equinox.p2.tests", splashLocation);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getProductName()}.
-	 */
-	public void testGetProductName() {
-		String productName = productFile.getProductName();
-		assertEquals("1.0", "aaTestProduct", productName);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getApplication()}.
-	 */
-	public void testGetApplication() {
-		String application = productFile.getApplication();
-		assertEquals("1.0", "test.app", application);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#useFeatures()}.
-	 */
-	public void testUseFeatures() {
-		boolean useFeatures = productFile.useFeatures();
-		assertTrue("1.0", !useFeatures);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getVersion()}.
-	 */
-	public void testGetVersion() {
-		String version = productFile.getVersion();
-		assertEquals("1.0", Version.create("1"), Version.create(version));
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getVMArguments(java.lang.String)}.
-	 */
-	public void testGetVMArguments() {
-		String vmArguments = productFile.getVMArguments("");
-		assertEquals("1.0", "vmArg -Dfoo=\"b a r\"", vmArguments);
-		vmArguments = productFile.getVMArguments(null);
-		assertEquals("1.1", "vmArg -Dfoo=\"b a r\"", vmArguments);
-	}
-
-	/**
-	 * Test method for {@link org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile#getProgramArguments(java.lang.String)}.
-	 */
-	public void testGetProgramArguments() {
-		String programArguments = productFile.getProgramArguments("");
-		assertEquals("1.0", "programArg -name \"My Name\"", programArguments);
-		programArguments = productFile.getProgramArguments(null);
-		assertEquals("1.1", "programArg -name \"My Name\"", programArguments);
-	}
-
-	public void testGetLicenseURL() throws Exception {
-		String productWithLicense = TestData.getFile("ProductActionTest", "productWithLicense.product").toString();
-		ProductFile product = new ProductFile(productWithLicense);
-		assertEquals("1.0", "http://www.example.com", product.getLicenseURL());
-	}
-
-	public void testGetLicenseText() throws Exception {
-		String productWithLicense = TestData.getFile("ProductActionTest", "productWithLicense.product").toString();
-		ProductFile product = new ProductFile(productWithLicense);
-		assertEquals("1.0", "This is the liCenSE.", product.getLicenseText().trim());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
deleted file mode 100644
index 2183c55..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootFilesActionTest.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.expect;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherAction;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.eclipse.equinox.p2.tests.publisher.TestArtifactRepository;
-
-@SuppressWarnings({"unchecked"})
-public class RootFilesActionTest extends ActionTest {
-	private static final int INCLUDES_ROOT = 1;
-	private static final int ARTIFACT_REPO = 2;
-	private static final int INCLUDES_FILES = 4;
-	private static final int EXCLUDE_INCLUDED = 8;
-	private static final int EXCLUDES_UNUSED = 16;
-	private static final int ALL = 31;
-
-	protected static String topArg = "sdk.rootfiles.win32.win32.x86"; //$NON-NLS-1$
-	protected String rootExclusions = null;
-	protected IArtifactRepository artifactRepository;
-	protected String idArg = "sdk"; //$NON-NLS-1$
-	protected Version versionArg = Version.create("3.4.0.i0305"); //$NON-NLS-1$
-	private File root = new File(TestActivator.getTestDataFolder(), "RootFilesActionTest/eclipse"); //$NON-NLS-1$
-	private File[] includedFiles;
-	private File[] excludedFiles;
-	private Collection<RootFilesAdvice> adviceCollection;
-	private String FILE1 = "level1/level2/file1.jar"; //$NON-NLS-1$
-	private String FILE2 = "level1/level2/level3/file1.jar"; //$NON-NLS-1$
-	private int testArg;
-
-	public void testAll() throws Exception {
-		for (int i = 0; i < ALL; i++) {
-			setupTestCase(i);
-			setupPublisherInfo();
-			setupPublisherResult();
-			testAction = new RootFilesAction(publisherInfo, idArg, versionArg, flavorArg);
-			assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-			verifyRepositoryContents(i);
-			cleanup();
-		}
-	}
-
-	public void insertPublisherInfoBehavior() {
-		expect(publisherInfo.getArtifactRepository()).andReturn(artifactRepository).anyTimes();
-		expect(publisherInfo.getArtifactOptions()).andReturn(IPublisherInfo.A_INDEX | IPublisherInfo.A_OVERWRITE | IPublisherInfo.A_PUBLISH).anyTimes();
-		expect(publisherInfo.getAdvice(configSpec, true, null, null, IRootFilesAdvice.class)).andReturn(adviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(configSpec, false, flavorArg + topArg, versionArg, ITouchpointAdvice.class)).andReturn(null).anyTimes();
-	}
-
-	private void setupTestCase(int testArg) throws Exception {
-		this.testArg = testArg;
-		adviceCollection = new ArrayList();
-		topLevel = AbstractPublisherAction.getArrayFromString(topArg, COMMA_SEPARATOR);
-
-		if ((testArg & ARTIFACT_REPO) > 0)
-			artifactRepository = new TestArtifactRepository();
-
-		if ((testArg & INCLUDES_FILES) > 0) {
-			adviceCollection.add(new RootFilesAdvice(null, root.listFiles(), null, configSpec));
-		}
-
-		if ((testArg & INCLUDES_ROOT) > 0) {
-			adviceCollection.add(new RootFilesAdvice(root, null, null, configSpec));
-		}
-
-		if (((testArg & EXCLUDE_INCLUDED) > 0) && includedFiles != null && includedFiles.length > 1) {
-			excludedFiles = new File[1];
-			excludedFiles[0] = includedFiles[0];
-			adviceCollection.add(new RootFilesAdvice(null, null, excludedFiles, configSpec));
-		}
-
-		if ((testArg & EXCLUDES_UNUSED) > 0) {
-			excludedFiles = new File[1];
-			excludedFiles[0] = new File(root, "/eclipse/notHere"); //$NON-NLS-1$
-			adviceCollection.add(new RootFilesAdvice(null, null, excludedFiles, configSpec));
-		}
-		setupPublisherInfo();
-	}
-
-	private void verifyRepositoryContents(int arg) throws Exception {
-		boolean artifactRepo = (arg & ARTIFACT_REPO) > 0;
-		boolean includeFiles = (arg & INCLUDES_FILES) > 0;
-		boolean includeRoot = (arg & INCLUDES_ROOT) > 0;
-		if (!(artifactRepo && (includeFiles)))
-			return;
-
-		IArtifactKey key = ArtifactKey.parse("binary,sdk.rootfiles.win32.win32.x86,3.4.0.i0305"); //$NON-NLS-1$
-		assertTrue(artifactRepository.contains(key));
-		// File [] repoFiles = getRepoFiles();
-		Map fileList = getRepoFiles(new HashMap());
-		ZipInputStream zis = ((TestArtifactRepository) artifactRepository).getZipInputStream(key);
-
-		TestData.assertContains(fileList, zis, !(!includeRoot && includeFiles && artifactRepo));
-	}
-
-	/**
-	 * 
-	 * @return a list of relative files to the rootPath.
-	 */
-	private Map getRepoFiles(Map map) {
-		if ((testArg & INCLUDES_FILES) > 0) {
-			map = addEntry(map, "simpleconfigurator.source.jar"); //$NON-NLS-1$
-			map = addEntry(map, FILE1);
-			map = addEntry(map, FILE2);
-		}
-		return map;
-	}
-
-	public void cleanup() {
-		super.cleanup();
-
-		if (artifactRepository != null)
-			artifactRepository.removeAll();
-		artifactRepository = null;
-
-		excludedFiles = null;
-
-		if (adviceCollection != null)
-			adviceCollection.clear();
-
-		if (includedFiles != null)
-			includedFiles = null;
-
-		adviceCollection = null;
-	}
-
-	protected String toArgString(int arg) {
-		String result = ""; //$NON-NLS-1$
-		if ((arg & INCLUDES_ROOT) > 0)
-			result += " INCLUDES_ROOT"; //$NON-NLS-1$
-		if ((arg & EXCLUDES_UNUSED) > 0)
-			result += " EXCLUDES_UNUSED"; //$NON-NLS-1$
-		if ((arg & ARTIFACT_REPO) > 0)
-			result += " ARTIFACT_REPO"; //$NON-NLS-1$
-		if ((arg & INCLUDES_FILES) > 0)
-			result += " INCLUDES_FILES"; //$NON-NLS-1$
-		if ((arg & EXCLUDE_INCLUDED) > 0)
-			result += " EXCLUDE_INCLUDED"; //$NON-NLS-1$
-		return result;
-	}
-
-	private Map addEntry(Map map, String fileEntry) {
-		try {
-			ByteArrayOutputStream content = new ByteArrayOutputStream();
-			File contentBytes = new File(root, fileEntry);
-			FileUtils.copyStream(new FileInputStream(contentBytes), false, content, true);
-			boolean includeRootInEntry = ((testArg & INCLUDES_ROOT) > 0);
-			String entry = includeRootInEntry ? new File(fileEntry).getPath() : new File(fileEntry).getName();
-			entry = new Path(entry).toString();
-			map.put(entry, new Object[] {contentBytes, content.toByteArray()});
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return map;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
deleted file mode 100644
index 94c85bd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import static org.easymock.EasyMock.expect;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IRequirement;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-import org.eclipse.equinox.p2.publisher.actions.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.TestMetadataRepository;
-
-@SuppressWarnings({"restriction", "unchecked"})
-public class RootIUActionTest extends ActionTest {
-	private static final int CONTAINS_A = 1;
-	private static final int CONTAINS_B = 2;
-	private static final int EMPTY = 0;
-	private static final int ALL = CONTAINS_A | CONTAINS_B;
-	private static final String ADVICE = "advice \t\t\t"; //$NON-NLS-1$
-	private static final String METADATA_REPOSITORY = "metadata repo \t\t"; //$NON-NLS-1$
-	private static final String PUBLISHER_RESULT = "publisher result \t"; //$NON-NLS-1$
-	protected static String iu_A = "iuA"; //$NON-NLS-1$
-	protected static String iu_B = "iuB"; //$NON-NLS-1$
-
-	private IMetadataRepository metadataRepository;
-	private String rootIU = "sdk"; //$NON-NLS-1$
-	private Version versionArg = Version.create("3.4.0.i0305"); //$NON-NLS-1$
-	private Collection<IRootIUAdvice> rootIUAdviceCollection;
-
-	public void testNullAdvice() throws Exception {
-		debug("\n**********************************"); //$NON-NLS-1$
-		debug(" null advice test"); //$NON-NLS-1$
-		setupMetadataRepository(EMPTY);
-		setupPublisherResult(EMPTY);
-		setupPublisherInfo();
-		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-		confirmResultRequired(EMPTY);
-		cleanup();
-	}
-
-	public void testNullRepo() throws Exception {
-		debug("\n**********************************"); //$NON-NLS-1$
-		debug(" null repo test"); //$NON-NLS-1$
-		setupAdvice(CONTAINS_A);
-		setupPublisherResult(EMPTY);
-		setupPublisherInfo();
-		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-		confirmResultRequired(EMPTY);
-		cleanup();
-	}
-
-	public void testIUAdviceAMetdataAResultB() throws Exception {
-		debug("\n**********************************"); //$NON-NLS-1$
-		debug(" advice (as iu) A"); //$NON-NLS-1$
-		setupAdvice(EMPTY);
-		Collection iuCollection = new ArrayList();
-		iuCollection.add(mockIU(iu_A, null));
-		rootIUAdviceCollection.add(new RootIUAdvice(iuCollection));
-		setupMetadataRepository(CONTAINS_A);
-		setupPublisherResult(EMPTY);
-		setupPublisherInfo();
-		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult, new NullProgressMonitor()));
-		confirmResultRequired(CONTAINS_A);
-		cleanup();
-	}
-
-	//	@Test
-	//	public void testIUAdviceAAdviceAMetadataAResultB() throws Exception {
-	//		debug("\n**********************************"); //$NON-NLS-1$
-	//		debug(" advice (as iu and String) A"); //$NON-NLS-1$
-	//		setupAdvice(CONTAINS_A);
-	//		Collection iuCollection = new ArrayList();
-	//		iuCollection.add(mockIU(iu_A, null));
-	//		rootIUAdviceCollection.add(new RootIUAdvice(iuCollection));
-	//		setupMetadataRepository(CONTAINS_A);
-	//		setupPublisherResult(EMPTY);
-	//		setupPublisherInfo();
-	//		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-	//
-	//		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, publisherResult));
-	//		confirmResultRequired(CONTAINS_A);
-	//		cleanup();
-	//	} //TODO: commented out while we determine bug: (bug not entered due to bug in reporting bugs)
-
-	public void testEmpty() throws Exception {
-		setupAndRunRootIUTest(EMPTY, EMPTY, EMPTY);
-	}
-
-	public void testAdviceA() throws Exception {
-		setupAndRunRootIUTest(CONTAINS_A, CONTAINS_A, EMPTY);
-	}
-
-	public void testAdviceAll() throws Exception {
-		setupAndRunRootIUTest(ALL, ALL, EMPTY);
-	}
-
-	public void testMetadataA() throws Exception {
-		setupAndRunRootIUTest(EMPTY, CONTAINS_A, EMPTY);
-	}
-
-	public void testMetadataAll() throws Exception {
-		setupAndRunRootIUTest(EMPTY, ALL, EMPTY);
-	}
-
-	public void testAdviceAMetadataB() throws Exception {
-		setupAndRunRootIUTest(CONTAINS_A, CONTAINS_B, EMPTY);
-	}
-
-	public void testResultA() throws Exception {
-		setupAndRunRootIUTest(EMPTY, EMPTY, CONTAINS_A);
-	}
-
-	public void testResultAll() throws Exception {
-		setupAndRunRootIUTest(EMPTY, EMPTY, ALL);
-	}
-
-	public void testAdviceAResultB() throws Exception {
-		setupAndRunRootIUTest(CONTAINS_A, EMPTY, CONTAINS_B);
-	}
-
-	public void testAdviceAllResultAll() throws Exception {
-		setupAndRunRootIUTest(ALL, EMPTY, ALL);
-	}
-
-	public void testAdviceAllMetadataAResultB() throws Exception {
-		setupAndRunRootIUTest(ALL, CONTAINS_A, CONTAINS_B);
-	}
-
-	public void testAdviceAllMetadataAllResultAll() throws Exception {
-		setupAndRunRootIUTest(ALL, ALL, ALL);
-	}
-
-	public void testResultFilterAdviceAllResultAll() throws Exception {
-		setupAndrunRootFilterIUTest(ALL, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceAResultAll() throws Exception {
-		setupAndrunRootFilterIUTest(CONTAINS_A, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceBResultAll() throws Exception {
-		setupAndrunRootFilterIUTest(CONTAINS_B, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceEmptyResultAll() throws Exception {
-		setupAndrunRootFilterIUTest(EMPTY, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceAllMetadataAll() throws Exception {
-		setupAndrunRootFilterIUTest(ALL, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceAMetadataAll() throws Exception {
-		setupAndrunRootFilterIUTest(CONTAINS_A, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceBMetadataAll() throws Exception {
-		setupAndrunRootFilterIUTest(CONTAINS_B, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceEmptyMetadataAll() throws Exception {
-		setupAndrunRootFilterIUTest(EMPTY, EMPTY, ALL);
-	}
-
-	public void testResultFilterAdviceAllMetadataBResultA() throws Exception {
-		setupAndrunRootFilterIUTest(ALL, CONTAINS_B, CONTAINS_A);
-	}
-
-	public void testResultFilterAdviceBMetadataAResultB() throws Exception {
-		setupAndrunRootFilterIUTest(ALL, CONTAINS_A, CONTAINS_B);
-	}
-
-	private void setupAndRunRootIUTest(int advice, int metadataRepository, int publisherResult) {
-		debug("\n**********************************"); //$NON-NLS-1$
-		debug("RootIUTest"); //$NON-NLS-1$
-		setupAdvice(advice);
-		setupMetadataRepository(metadataRepository);
-		setupPublisherResult(publisherResult);
-		setupPublisherInfo();
-		debug(toResultString(ADVICE, advice));
-		debug(toResultString(METADATA_REPOSITORY, metadataRepository));
-		debug(toResultString(PUBLISHER_RESULT, publisherResult));
-		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, this.publisherResult, new NullProgressMonitor()));
-		confirmResultRequired(advice & metadataRepository | advice & publisherResult);
-		cleanup();
-	}
-
-	private void setupAndrunRootFilterIUTest(int advice, int metadataRepository, int publisherResult) {
-		debug("\n**********************************"); //$NON-NLS-1$
-		debug("RootIUActionTest"); //$NON-NLS-1$
-		setupFilterAdvice(advice);
-		setupMetadataRepository(metadataRepository);
-		setupPublisherResult(publisherResult);
-		setupPublisherInfo();
-
-		debug(toResultString(ADVICE, advice));
-		debug(toResultString(METADATA_REPOSITORY, metadataRepository));
-		debug(toResultString(PUBLISHER_RESULT, publisherResult));
-		testAction = new RootIUAction(rootIU, versionArg, rootIU);
-
-		assertEquals(Status.OK_STATUS, testAction.perform(publisherInfo, this.publisherResult, new NullProgressMonitor()));
-		confirmResultRequired(advice & publisherResult);
-		cleanup();
-	}
-
-	private void setupFilterAdvice(int testSpec) {
-		IQuery query = null;
-		rootIUAdviceCollection = new ArrayList();
-		if ((testSpec & CONTAINS_A) > 0) {
-			query = new MatchQuery() {
-				public boolean isMatch(Object candidate) {
-					if (candidate instanceof IInstallableUnit)
-						if (((IInstallableUnit) candidate).getId().equals(iu_A))
-							return true;
-					return false;
-				}
-			};
-			rootIUAdviceCollection.add(new RootIUResultFilterAdvice(query));
-		}
-		if ((testSpec & CONTAINS_B) > 0) {
-			query = new MatchQuery() {
-				public boolean isMatch(Object candidate) {
-					if (candidate instanceof IInstallableUnit)
-						if (((IInstallableUnit) candidate).getId().equals(iu_B))
-							return true;
-					return false;
-				}
-			};
-			rootIUAdviceCollection.add(new RootIUResultFilterAdvice(query));
-		}
-		if ((testSpec & EMPTY) > 0) {
-			query = new MatchQuery() {
-				public boolean isMatch(Object candidate) {
-					return false;
-				}
-			};
-			rootIUAdviceCollection.add(new RootIUResultFilterAdvice(query));
-		}
-	}
-
-	private void confirmResultRequired(int testSpec) {
-		// checks that the results has a non root iu with required
-		// capabilities from the publisher result
-		ArrayList ius = new ArrayList(publisherResult.getIUs(rootIU, IPublisherResult.NON_ROOT));
-		assertTrue(ius.size() == 1);
-		IInstallableUnit iu = (IInstallableUnit) ius.get(0);
-		assertTrue(iu != null);
-		assertTrue(iu.getVersion().equals(versionArg));
-		IRequirement[] required = iu.getRequiredCapabilities();
-		if ((testSpec & EMPTY) > 0)
-			assertEquals(required.length, 0);
-		String confirmedIUs = ""; //$NON-NLS-1$
-		int numConfirmed = 0;
-
-		if ((testSpec & CONTAINS_A) > 0) {
-			assertTrue(contains(required, iu_A));
-			confirmedIUs += iu_A + ' ';
-			numConfirmed++;
-		}
-		if ((testSpec & CONTAINS_B) > 0) {
-			assertTrue(contains(required, iu_B));
-			confirmedIUs += iu_B;
-			numConfirmed++;
-		}
-		if (numConfirmed != required.length) {
-			debug("Not all required ius present / accounted for."); //$NON-NLS-1$
-			fail();
-		}
-		if (confirmedIUs.length() > 0)
-			debug("Confirmed \t\t " + confirmedIUs); //$NON-NLS-1$
-		else
-			debug("Confirmed \t\t  Empty"); //$NON-NLS-1$
-	}
-
-	private boolean contains(IRequirement[] required, String iu) {
-		for (int i = 0; i < required.length; i++)
-			if (((IRequiredCapability) required[i]).getName().equalsIgnoreCase(iu))
-				return true;
-		return false;
-	}
-
-	public void setupPublisherResult(int testSpec) {
-		super.setupPublisherResult();
-		Collection ius = new ArrayList();
-		if ((testSpec & CONTAINS_A) > 0) {
-			ius.add(mockIU(iu_A, null));
-		}
-		if ((testSpec & CONTAINS_B) > 0) {
-			ius.add(mockIU(iu_B, null));
-		}
-		publisherResult.addIUs(ius, IPublisherResult.ROOT);
-	}
-
-	private void setupMetadataRepository(int testSpec) {
-		ArrayList repoContents = new ArrayList();
-		if ((testSpec & CONTAINS_A) > 0) {
-			repoContents.add(mockIU(iu_A, null));
-		}
-		if ((testSpec & CONTAINS_B) > 0) {
-			repoContents.add(mockIU(iu_B, null));
-		}
-
-		IInstallableUnit[] ius = (IInstallableUnit[]) repoContents.toArray(new IInstallableUnit[repoContents.size()]);
-		metadataRepository = new TestMetadataRepository(ius);
-	}
-
-	public void setupAdvice(int testSpec) {
-		Collection publishIUs = new ArrayList();
-		if ((testSpec & CONTAINS_A) > 0)
-			publishIUs.add(iu_A);
-		if ((testSpec & CONTAINS_B) > 0)
-			publishIUs.add(iu_B);
-		rootIUAdviceCollection = new ArrayList();
-		rootIUAdviceCollection.add(new RootIUAdvice(publishIUs));
-	}
-
-	public void insertPublisherInfoBehavior() {
-		expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, ICapabilityAdvice.class)).andReturn(new ArrayList()).anyTimes();
-		expect(publisherInfo.getAdvice(null, true, null, null, IRootIUAdvice.class)).andReturn(rootIUAdviceCollection).anyTimes();
-		expect(publisherInfo.getAdvice(null, true, null, null, IVersionAdvice.class)).andReturn(null).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, ITouchpointAdvice.class)).andReturn(new ArrayList()).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, IPropertyAdvice.class)).andReturn(new ArrayList()).anyTimes();
-		expect(publisherInfo.getAdvice(null, false, rootIU, versionArg, IAdditionalInstallableUnitAdvice.class)).andReturn(new ArrayList()).anyTimes();
-		expect(publisherInfo.getAdvice(null, true, rootIU, versionArg, ILicenseAdvice.class)).andReturn(new ArrayList()).anyTimes();
-		expect(publisherInfo.getMetadataRepository()).andReturn(metadataRepository).anyTimes();
-		expect(publisherInfo.getContextMetadataRepository()).andReturn(null).anyTimes();
-	}
-
-	public void cleanup() {
-		super.cleanup();
-		rootIUAdviceCollection = null;
-		if (metadataRepository != null) {
-			metadataRepository.removeAll();
-			metadataRepository = null;
-		}
-	}
-
-	private String toResultString(String setup, int arg) {
-		return setup + toArgString(arg);
-	}
-
-	private String toArgString(int testSpec) {
-		if (testSpec == EMPTY)
-			return " Empty"; //$NON-NLS-1$
-		String result = " "; //$NON-NLS-1$
-		if ((testSpec & CONTAINS_A) > 0)
-			result += iu_A;
-		if ((testSpec & CONTAINS_B) > 0)
-			result += " " + iu_B; //$NON-NLS-1$
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/VersionAdviceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/VersionAdviceTest.java
deleted file mode 100644
index 41e128b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/VersionAdviceTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.publisher.actions;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.publisher.actions.VersionAdvice;
-import org.eclipse.equinox.p2.tests.TestData;
-
-/**
- * Test cases for VersionAdvice
- */
-public class VersionAdviceTest extends TestCase {
-
-	public void testBadVersionPropertyFile() {
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load(null, "some random string");
-	}
-
-	public void testLoadNullVersionAdvice() throws Exception {
-		String versionAdviceFoo = TestData.getFile("publisher", "versionadvicefoo.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load(null, versionAdviceFoo);
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.http"));
-		assertEquals("2.0", Version.create("1.3.1"), versionAdvice.getVersion("null", "org.eclipse.cdt"));
-		assertEquals("3.0", Version.create("1.4.0"), versionAdvice.getVersion(null, "org.eclipse.tptp"));
-	}
-
-	public void testLoadNullVersionAdvice2() throws Exception {
-		String versionAdviceFoo = TestData.getFile("publisher", "versionadvicefoo.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load("null", versionAdviceFoo);
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.http"));
-		assertEquals("2.0", Version.create("1.3.1"), versionAdvice.getVersion("null", "org.eclipse.cdt"));
-		assertEquals("3.0", Version.create("1.4.0"), versionAdvice.getVersion(null, "org.eclipse.tptp"));
-	}
-
-	public void testOverloadNull() throws Exception {
-		String versionAdviceFoo = TestData.getFile("publisher", "versionadvicefoo.prop").toString();
-		String versionAdviceBar = TestData.getFile("publisher", "versionadvicebar.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load(null, versionAdviceFoo);
-		versionAdvice.load(null, versionAdviceBar);
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.http"));
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.commons"));
-		assertEquals("2.0", Version.create("2.3.1"), versionAdvice.getVersion("null", "org.eclipse.cdt"));
-		assertEquals("3.0", Version.create("1.5.0"), versionAdvice.getVersion(null, "org.eclipse.tptp"));
-	}
-
-	public void testLoadVersionAdviceFoo() throws Exception {
-		String versionAdviceFoo = TestData.getFile("publisher", "versionadvicefoo.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load("foo", versionAdviceFoo);
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.http"));
-		assertEquals("2.0", Version.create("1.3.1"), versionAdvice.getVersion("foo", "org.eclipse.cdt"));
-		assertEquals("3.0", Version.create("1.4.0"), versionAdvice.getVersion("foo", "org.eclipse.tptp"));
-		assertEquals("4.0", null, versionAdvice.getVersion(null, "org.eclipse.tptp"));
-	}
-
-	public void testLoadVersionAdviceBar() throws Exception {
-		String versionAdviceBar = TestData.getFile("publisher", "versionadvicebar.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load("bar", versionAdviceBar);
-		assertEquals("1.0", null, versionAdvice.getVersion("bar", "org.apache.http"));
-		assertEquals("2.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("bar", "org.apache.commons"));
-		assertEquals("3.0", Version.create("2.3.1"), versionAdvice.getVersion("bar", "org.eclipse.cdt"));
-		assertEquals("4.0", Version.create("1.5.0"), versionAdvice.getVersion("bar", "org.eclipse.tptp"));
-	}
-
-	public void testLoadVersionAdviceFooBar() throws Exception {
-		String versionAdviceFoo = TestData.getFile("publisher", "versionadvicefoo.prop").toString();
-		String versionAdviceBar = TestData.getFile("publisher", "versionadvicebar.prop").toString();
-		VersionAdvice versionAdvice = new VersionAdvice();
-		versionAdvice.load("foo", versionAdviceFoo);
-		versionAdvice.load("bar", versionAdviceBar);
-		assertEquals("1.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("foo", "org.apache.http"));
-		assertEquals("2.0", Version.create("1.3.1"), versionAdvice.getVersion("foo", "org.eclipse.cdt"));
-		assertEquals("3.0", Version.create("1.4.0"), versionAdvice.getVersion("foo", "org.eclipse.tptp"));
-
-		assertEquals("4.0", null, versionAdvice.getVersion("bar", "org.apache.http"));
-		assertEquals("5.0", Version.create("1.6.4.thisisastring"), versionAdvice.getVersion("bar", "org.apache.commons"));
-		assertEquals("6.0", Version.create("2.3.1"), versionAdvice.getVersion("bar", "org.eclipse.cdt"));
-		assertEquals("7.0", Version.create("1.5.0"), versionAdvice.getVersion("bar", "org.eclipse.tptp"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/EvaluatorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/EvaluatorTest.java
deleted file mode 100644
index 758357d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/EvaluatorTest.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ql;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.QueryableArray;
-import org.eclipse.equinox.internal.p2.director.app.Activator;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.ql.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.PublisherResult;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.ql.ExpressionQuery;
-import org.eclipse.equinox.p2.ql.PredicateQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.Filter;
-
-public class EvaluatorTest extends AbstractProvisioningTest {
-	private static final ExpressionParser parser = new ExpressionParser();
-	private static final VariableScope dummyScope = VariableScope.ROOT;
-
-	public void testArguments() throws Exception {
-		Expression expr = parser.parsePredicate("'a' == $0 && 'b' == $1 && 'c' == $2");
-		assertEquals(Boolean.TRUE, expr.evaluate(new ExpressionContext(null, new Object[] {"a", "b", "c"}, null), dummyScope));
-	}
-
-	public void testAnonymousMember() throws Exception {
-		Expression expr = parser.parsePredicate("$0.class == $1");
-		assertEquals(Boolean.TRUE, expr.evaluate(new ExpressionContext(null, new Object[] {"a", String.class}, null), dummyScope));
-	}
-
-	public void testInstanceOf() throws Exception {
-		// Explicit instanceof when rhs is a class
-		Expression expr = parser.parsePredicate("$0 ~= $1");
-		assertEquals(Boolean.TRUE, expr.evaluate(new ExpressionContext(null, new Object[] {new Integer(4), Number.class}, null), dummyScope));
-	}
-
-	public void testArray() throws Exception {
-		ExpressionContext ctx = new ExpressionContext(null, null, null);
-		Expression expr = parser.parsePredicate("['a', 'b', 'c'].exists(x | x == 'b') && ['a', 'b', 'c'].all(x | 'd' > x)");
-		assertEquals(Boolean.TRUE, expr.evaluate(ctx, dummyScope));
-		expr = parser.parsePredicate("['d', 'e', 'f'].exists(x | ['a', 'b', 'c'].exists(y | x > y))");
-		assertEquals(Boolean.TRUE, expr.evaluate(ctx, dummyScope));
-		expr = parser.parsePredicate("[['d', 'e', 'f'], ['h', 'i', 'j']].exists(x | x.all(y | ['a', 'b', 'c'].all(z | y > z)))");
-		assertEquals(Boolean.TRUE, expr.evaluate(ctx, dummyScope));
-		expr = parser.parsePredicate("[['d', 'e', 'f'], ['h', '3', 'j']].exists(x | x.all(y | ['a', 'b', 'c'].exists(z | y > z)))");
-		assertEquals(Boolean.TRUE, expr.evaluate(ctx, dummyScope));
-		expr = parser.parsePredicate("[['d', 'e', 'f'], ['h', 'i', 'j']].all(x | x.all(y | ['a', 'b', 'c'].all(z | y > z)))");
-		assertEquals(Boolean.TRUE, expr.evaluate(ctx, dummyScope));
-		expr = parser.parsePredicate("[['d', 'e', 'f'], ['h', '3', 'j']].all(x | x.all(y | ['a', 'b', 'c'].all(z | y > z)))");
-		assertEquals(Boolean.FALSE, expr.evaluate(ctx, dummyScope)); // 3 < 'b'
-	}
-
-	public void testLatest() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/multipleversions1");
-		Collector result = repo.query(new ExpressionQuery("latest(x | x.id == $0)", "test.bundle"), new NullProgressMonitor());
-		assertTrue(result.size() == 1);
-	}
-
-	public void testRange() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/multipleversions1");
-		Collector result = repo.query(new PredicateQuery("version ~= $0", new VersionRange("2.0.0")), new NullProgressMonitor());
-		assertEquals(result.size(), 2);
-	}
-
-	public void testProperty() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/multipleversions1");
-
-		Collector result = repo.query(new PredicateQuery("properties.exists(p | p.value == $0)", "true"), new NullProgressMonitor());
-		assertEquals(result.size(), 3);
-
-		result = repo.query(new PredicateQuery("properties['org.eclipse.equinox.p2.type.group'] == $0", "true"), new NullProgressMonitor());
-		assertEquals(result.size(), 3);
-
-		Filter filter = TestActivator.context.createFilter("(org.eclipse.equinox.p2.type.group=true)");
-		result = repo.query(new PredicateQuery("properties ~= $0", filter), new NullProgressMonitor());
-		assertEquals(result.size(), 3);
-	}
-
-	public void testToString() throws Exception {
-		String exprString = "select(x | x.id == $0 && (x.version == $1 || x.version == $2)).traverse(set(), _, {requirementsCache, parent | select(" + //
-				"parent.requiredCapabilities.unique(requirementsCache).select(rc | rc.filter == null || $2 ~= filter(rc.filter)), _, " + //
-				"{rcs, child | rcs.exists(rc | child ~= rc)})}).limit(10)";
-
-		ContextExpression expr = parser.parseQuery(exprString);
-		System.out.println(expr.toString());
-		assertEquals(exprString, expr.toString());
-	}
-
-	public void testSomeAPI() throws Exception {
-		// Create some expressions. Note the use of identifiers instead of
-		// indexes for the parameters
-
-		Variable item = Variable.createEach("item");
-		Expression cmp1 = new Equals(Member.createDynamicMember(item, "id"), new KeyedParameter("id"));
-		Expression cmp2 = new Equals(new At(Member.createDynamicMember(item, "properties"), new KeyedParameter("propKey")), new KeyedParameter("propValue"));
-
-		Variable everything = Variable.EVERYTHING;
-		LambdaExpression lambda = new LambdaExpression(new And(new Expression[] {cmp1, cmp2}), item);
-		Expression latest = new Latest(new Select(everything, lambda));
-		ContextExpression e3 = new ContextExpression(everything, latest);
-
-		// Put the parameters in a map
-		Map args = new HashMap();
-		args.put("id", "test.bundle");
-		args.put("propKey", "org.eclipse.equinox.p2.type.group");
-		args.put("propValue", "true");
-
-		// Create the query
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/multipleversions1");
-		Collector result = repo.query(new ExpressionQuery(e3, args), new NullProgressMonitor());
-		assertEquals(result.size(), 1);
-	}
-
-	public void testMember() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		IProvidedCapability pc = MetadataFactory.createProvidedCapability("org.eclipse.equinox.p2.eclipse.type", "source", null);
-		Collector result = repo.query(new PredicateQuery("fragment && host.exists(h | $0 ~= h)", pc), new NullProgressMonitor());
-		assertEquals(result.size(), 1);
-	}
-
-	public void testPatch() throws Exception {
-		IRequiredCapability[][] applicability = new IRequiredCapability[2][2];
-		applicability[0][0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "javax.wsdl", null, null, false, false);
-		applicability[0][1] = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.eclipse.type", "bundle", null, null, false, false);
-		applicability[1][0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "tooling.source.default", null, null, false, false);
-		applicability[1][1] = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.flavor", "tooling", null, null, false, false);
-
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		Collector result = repo.query(new PredicateQuery("$0.exists(rcs | rcs.all(rc | item ~= rc))", applicability), new NullProgressMonitor());
-		assertEquals(result.size(), 3);
-	}
-
-	public void testPattern() throws Exception {
-		IProvidedCapability pc = MetadataFactory.createProvidedCapability("org.eclipse.equinox.p2.eclipse.type", "source", null);
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		Collector result = repo.query(new PredicateQuery("id ~= /tooling.*.default/", pc), new NullProgressMonitor());
-		assertEquals(result.size(), 3);
-	}
-
-	public void testLimit() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		Collector result = repo.query(new ExpressionQuery("select(x | x.id ~= /tooling.*/).limit(1)"), new NullProgressMonitor());
-		assertEquals(result.size(), 1);
-
-		result = repo.query(new ExpressionQuery("select(x | x.id ~= /tooling.*/).limit($0)", new Integer(2)), new NullProgressMonitor());
-		assertEquals(result.size(), 2);
-	}
-
-	public void testNot() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		Collector result = repo.query(new PredicateQuery("!(id ~= /tooling.*/)"), new NullProgressMonitor());
-		assertEquals(result.size(), 4);
-	}
-
-	public void testArtifactQuery() throws Exception {
-		URI artifactRepo = getTestData("1.1", "/testData/artifactRepo/simple").toURI();
-
-		IArtifactRepositoryManager artifactManager = getArtifactRepositoryManager();
-		assertNotNull(artifactManager);
-
-		IArtifactRepository repo = artifactManager.loadRepository(artifactRepo, new NullProgressMonitor());
-		Collector result = repo.query(new PredicateQuery(IArtifactKey.class, "classifier ~= /*/"), new NullProgressMonitor());
-		assertTrue(result.size() > 1);
-		Iterator itor = result.iterator();
-		while (itor.hasNext())
-			assertTrue(itor.next() instanceof IArtifactKey);
-
-		result = repo.query(new PredicateQuery(IArtifactDescriptor.class, "artifactKey.classifier ~= /*/"), new NullProgressMonitor());
-		assertTrue(result.size() > 1);
-		itor = result.iterator();
-		while (itor.hasNext())
-			assertTrue(itor.next() instanceof IArtifactDescriptor);
-	}
-
-	public void testClassConstructor() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/metadataRepo/wsdlTestRepo");
-		Collector result = repo.query(new ExpressionQuery(//
-				"select(x | x ~= class('org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment'))"), new NullProgressMonitor());
-		assertEquals(result.size(), 4);
-		repo = getMDR("/testData/galileoM7");
-	}
-
-	public void testTraverse() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		Collector result = repo.query(new ExpressionQuery( //
-				"select(x | x.id == $0 && x.version == $1).traverse(parent | select(" + //
-						"child | parent.requiredCapabilities.exists(rc | child ~= rc)))", //
-				"org.eclipse.sdk.feature.group", Version.create("3.5.0.v20090423-7Q7bA7DPR-wM38__Q4iRsmx9z0KOjbpx3AbyvXd-Uq7J2")), new NullProgressMonitor());
-		assertEquals(result.size(), 463);
-	}
-
-	public void testTraverseWithFilteredRequirements() throws Exception {
-		// Add some filtering of requirements
-		ContextExpression expr = parser.parseQuery(//
-				"select(x | x.id == $0 && x.version == $1).traverse(parent | select(" + //
-						"child | parent.requiredCapabilities.exists(rc | (rc.filter == null || $2 ~= filter(rc.filter)) && child ~= rc)))");
-
-		Map env = new Hashtable();
-		env.put("osgi.os", "linux");
-		env.put("osgi.ws", "gtk");
-		env.put("osgi.arch", "x86");
-		ExpressionQuery query = new ExpressionQuery(IInstallableUnit.class, expr, new Object[] {"org.eclipse.sdk.feature.group", Version.create("3.5.0.v20090423-7Q7bA7DPR-wM38__Q4iRsmx9z0KOjbpx3AbyvXd-Uq7J2"), env});
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		Collector result = repo.query(query, new NullProgressMonitor());
-		assertEquals(result.size(), 411);
-	}
-
-	public void testTraverseWithCurrying() throws Exception {
-		// Use currying to prevent that the filtering of requirements is done more then once
-		ContextExpression expr = parser.parseQuery(//
-				"select(x | x.id == $0 && x.version == $1).traverse({parent | select(" + //
-						"parent.requiredCapabilities.select(rc | rc.filter == null || $2 ~= filter(rc.filter)), _," + //
-						"{rcs, child | rcs.exists(rc | child ~= rc)})})");
-
-		Map env = new Hashtable();
-		env.put("osgi.os", "linux");
-		env.put("osgi.ws", "gtk");
-		env.put("osgi.arch", "x86");
-		ExpressionQuery query = new ExpressionQuery(IInstallableUnit.class, expr, new Object[] {"org.eclipse.sdk.feature.group", Version.create("3.5.0.v20090423-7Q7bA7DPR-wM38__Q4iRsmx9z0KOjbpx3AbyvXd-Uq7J2"), env});
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		Collector result = repo.query(query, new NullProgressMonitor());
-		assertEquals(result.size(), 411);
-	}
-
-	public void testTraverseWithCurryingAndCache() throws Exception {
-		// Add some filtering of requirements
-		ContextExpression expr = parser.parseQuery(//
-				"select(x | x.id == $0 && x.version == $1).traverse(set(), _, {requirementsCache, parent | select(" + //
-						"parent.requiredCapabilities.unique(requirementsCache).select(rc | rc.filter == null || $2 ~= filter(rc.filter)), _," + //
-						"{rcs, child | rcs.exists(rc | child ~= rc)})})");
-
-		Map env = new Hashtable();
-		env.put("osgi.os", "linux");
-		env.put("osgi.ws", "gtk");
-		env.put("osgi.arch", "x86");
-
-		ExpressionQuery query = new ExpressionQuery(IInstallableUnit.class, expr, new Object[] {"org.eclipse.sdk.feature.group", Version.create("3.5.0.v20090423-7Q7bA7DPR-wM38__Q4iRsmx9z0KOjbpx3AbyvXd-Uq7J2"), env});
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-
-		long startTime = System.currentTimeMillis();
-		Collector result = repo.query(query, new NullProgressMonitor());
-		System.out.print("testTraverseWithCurryingAndCache: ");
-		System.out.println(System.currentTimeMillis() - startTime);
-		assertEquals(result.size(), 411);
-	}
-
-	public void testCommonRequirements() throws Exception {
-		// Add some filtering of requirements
-		ContextExpression expr = parser.parseQuery(//
-				"" + //
-						"select(x | x.id == $0 && x.version == $1).traverse(set(), _, {requirementsCache, parent | select(" + //
-						"parent.requiredCapabilities.unique(requirementsCache).select(rc | rc.filter == null || $4 ~= filter(rc.filter)), _," + //
-						"{rcs, child | rcs.exists(rc | child ~= rc)})}) && " + //
-						"select(x | x.id == $2 && x.version == $3).traverse(set(), _, {requirementsCache, parent | select(" + //
-						"parent.requiredCapabilities.unique(requirementsCache).select(rc | rc.filter == null || $4 ~= filter(rc.filter)), _," + //
-						"{rcs, child | rcs.exists(rc | child ~= rc)})})");
-
-		Map env = new Hashtable();
-		env.put("osgi.os", "linux");
-		env.put("osgi.ws", "gtk");
-		env.put("osgi.arch", "x86");
-
-		ExpressionQuery query = new ExpressionQuery(IInstallableUnit.class, expr, new Object[] { //
-				"org.eclipse.pde.feature.group", //
-						Version.create("3.5.0.v20090123-7Z7YF8NFE-z0VXhWU26Hu8gY"), //
-						"org.eclipse.gmf.feature.group", //
-						Version.create("1.1.1.v20090114-0940-7d8B0FXwkKwFanGNHeHHq8ymBgZ"), //
-						env});
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		Collector result = repo.query(query, new NullProgressMonitor());
-		assertEquals(result.size(), 184);
-	}
-
-	public void testMatchQueryInjectionInPredicate() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		ItemExpression expr = parser.parsePredicate("iquery($0) || iquery($1)");
-		MatchQuery q1 = new MatchQuery() {
-			@Override
-			public boolean isMatch(Object candidate) {
-				return "true".equals(((IInstallableUnit) candidate).getProperty("org.eclipse.equinox.p2.type.category"));
-			}
-		};
-		MatchQuery q2 = new MatchQuery() {
-			@Override
-			public boolean isMatch(Object candidate) {
-				return "true".equals(((IInstallableUnit) candidate).getProperty("org.eclipse.equinox.p2.type.group"));
-			}
-		};
-		Collector result = repo.query(new PredicateQuery(expr, new Object[] {q1, q2}), new NullProgressMonitor());
-		assertEquals(result.size(), 497);
-	}
-
-	public void testMatchQueryInjectionInContext() throws Exception {
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		ContextExpression expr = parser.parseQuery("select(x | iquery($0, x) || iquery($1, x)).latest()");
-		MatchQuery q1 = new MatchQuery() {
-			@Override
-			public boolean isMatch(Object candidate) {
-				return "true".equals(((IInstallableUnit) candidate).getProperty("org.eclipse.equinox.p2.type.category"));
-			}
-		};
-		MatchQuery q2 = new MatchQuery() {
-			@Override
-			public boolean isMatch(Object candidate) {
-				return "true".equals(((IInstallableUnit) candidate).getProperty("org.eclipse.equinox.p2.type.group"));
-			}
-		};
-		Collector result = repo.query(new ExpressionQuery(expr, new Object[] {q1, q2}), new NullProgressMonitor());
-		assertEquals(result.size(), 497);
-	}
-
-	public void testTranslationFragment() {
-		File foo_fragment = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo.fragment");//$NON-NLS-1$
-		File foo = new File(TestActivator.getTestDataFolder(), "FragmentPublisherTest/foo");//$NON-NLS-1$
-		BundlesAction bundlesAction = new BundlesAction(new File[] {foo_fragment});
-		PublisherInfo info = new PublisherInfo();
-		PublisherResult results = new PublisherResult();
-
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-		Collection ius = results.getIUs(null, null);
-		assertEquals("1.0", 1, ius.size());
-
-		info = new PublisherInfo();
-		results = new PublisherResult();
-		bundlesAction = new BundlesAction(new File[] {foo});
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-
-		bundlesAction = new BundlesAction(new File[] {foo_fragment});
-		bundlesAction.perform(info, results, new NullProgressMonitor());
-		ius = results.getIUs(null, null);
-		assertEquals("2.0", 3, ius.size());
-		QueryableArray queryableArray = new QueryableArray((IInstallableUnit[]) ius.toArray(new IInstallableUnit[ius.size()]));
-		Collector result = queryableArray.query(new InstallableUnitQuery("foo"), null);
-		assertEquals("2.1", 1, result.size());
-		IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
-
-		ContextExpression localePropertyQuery = parser.parseQuery("" + //
-				"[[select(f | f ~= class('org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment') && f.host.exists(h | $0 ~= h) && f.providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.localization' && pc.name ~= $2))" + //
-				".collect(f | localizedKeys($2,$1).collect(lk | f.properties[lk])).flatten(), localizedKeys($2,$1).collect(lk | $0.properties[lk])].flatten().first(v | v != null)]");//
-
-		IQuery lq = new ExpressionQuery(localePropertyQuery, new Object[] {iu, "foo", Locale.getDefault()});
-		Collector c = queryableArray.query(lq, null);
-		Object[] pqr = c.toArray(Object.class);
-		assertTrue(pqr.length == 1);
-		assertEquals("3.2", "English Foo", pqr[0]);
-
-		ContextExpression cacheQuery = parser.parseQuery("select(f | f ~= class('org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment') && f.host.exists(h | $0 ~= h) && f.providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.localization' && pc.name ~= $1))");
-		IQuery fragsQuery = new ExpressionQuery(cacheQuery, new Object[] {iu, Locale.GERMAN});
-		Collector frags = queryableArray.query(fragsQuery, null);
-		assertEquals(frags.size(), 1);
-
-		localePropertyQuery = parser.parseQuery("[$0].collect(localizedKeys($2,$1), _, { lks, iu | " + //
-				"[$3.collect(f | lks.collect(lk | f.properties[lk])).flatten(), lks.collect(lk | iu.properties[lk])].flatten().first(v | v != null)})");//
-
-		lq = new ExpressionQuery(localePropertyQuery, new Object[] {iu, "foo", Locale.GERMAN, frags});
-		c = queryableArray.query(lq, null);
-		pqr = c.toArray(String.class);
-		assertTrue(pqr.length == 1);
-		assertEquals("2.2", "German Foo", pqr[0]);
-
-		lq = new ExpressionQuery("localizedMap($0, $1).select(e | localizedKeys($0, $2).exists(k | k == e.key)).collect(k | k.value)", Locale.GERMAN, iu, "foo");
-		c = queryableArray.query(lq, null);
-		pqr = c.toArray(String.class);
-		assertTrue(pqr.length == 2);
-		assertEquals("2.3", "German Foo", pqr[0]);
-		assertEquals("2.4", "English Foo", pqr[1]); // Default
-
-		lq = new ExpressionQuery("localizedMap($0, $1).select(e | localizedKeys($0, $2).exists(k | k == e.key)).collect(k | k.value).limit(1)", Locale.GERMAN, iu, "foo");
-		c = queryableArray.query(lq, null);
-		pqr = c.toArray(String.class);
-		assertTrue(pqr.length == 1);
-		assertEquals("2.5", "German Foo", pqr[0]);
-
-		lq = new ExpressionQuery("[localizedProperty($0, $1, $2)]", Locale.GERMAN, iu, "foo");
-		c = queryableArray.query(lq, null);
-		pqr = c.toArray(String.class);
-		assertTrue(pqr.length == 1);
-		assertEquals("2.6", "German Foo", pqr[0]);
-
-		lq = new ExpressionQuery("select(x | localizedProperty($0, x, 'foo') ~= /German*/)", Locale.GERMAN);
-		c = queryableArray.query(lq, null);
-		pqr = c.toArray(IInstallableUnit.class);
-		assertTrue(pqr.length == 1);
-		assertEquals("2.7", "foo", ((IInstallableUnit) pqr[0]).getId());
-	}
-
-	private IMetadataRepository getMDR(String uri) throws Exception {
-		URI metadataRepo = getTestData("1.1", uri).toURI();
-
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(metadataManager);
-
-		return metadataManager.loadRepository(metadataRepo, new NullProgressMonitor());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/PerformanceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/PerformanceTest.java
deleted file mode 100644
index 84eb779..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/PerformanceTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ql;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.director.QueryableArray;
-import org.eclipse.equinox.internal.p2.director.Slicer;
-import org.eclipse.equinox.internal.p2.director.app.Activator;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.ql.ExpressionQuery;
-import org.eclipse.equinox.p2.ql.PredicateQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.ql.TestQueryReimplementation.CapabilityQuery;
-
-public class PerformanceTest extends AbstractProvisioningTest {
-	public void testCapabilityQueryPerformance() throws Exception {
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-
-		IRequiredCapability capability = MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.eclipse.type", "feature", new VersionRange("[1.0.0,2.0.0)"), null, false, false);
-		PredicateQuery predicateQuery = new PredicateQuery("item ~= $0", capability);
-		Collector result;
-		long tradQueryMS = 0;
-		long exprQueryMS = 0;
-
-		for (int i = 0; i < 5; ++i) {
-			long start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(capability, new NullProgressMonitor());
-				assertEquals(result.size(), 487);
-			}
-			tradQueryMS += (System.currentTimeMillis() - start);
-
-			start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(predicateQuery, new NullProgressMonitor());
-				assertEquals(result.size(), 487);
-			}
-			exprQueryMS += (System.currentTimeMillis() - start);
-		}
-		System.out.println("CapabilityQuery took: " + tradQueryMS + " milliseconds");
-		System.out.println("PredicateQuery took: " + exprQueryMS + " milliseconds");
-		System.out.println();
-	}
-
-	public void testCapabilityQueryPerformance2() throws Exception {
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-
-		IRequiredCapability[] capabilities = new IRequiredCapability[] {//
-		MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.eclipse.type", "feature", new VersionRange("[1.0.0,2.0.0)"), null, false, false), //
-				MetadataFactory.createRequiredCapability("org.eclipse.equinox.p2.localization", "df_LT", new VersionRange("[1.0.0,2.0.0)"), null, false, false)//
-		};
-		CapabilityQuery capabilityQuery = new CapabilityQuery(capabilities);
-		PredicateQuery predicateQuery = new PredicateQuery("$0.all(rq | item ~= rq)", capabilities);
-		Collector result;
-		long tradQueryMS = 0;
-		long exprQueryMS = 0;
-
-		for (int i = 0; i < 5; ++i) {
-			long start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(capabilityQuery, new NullProgressMonitor());
-				assertEquals(result.size(), 446);
-			}
-			tradQueryMS += (System.currentTimeMillis() - start);
-
-			start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(predicateQuery, new NullProgressMonitor());
-				assertEquals(result.size(), 446);
-			}
-			exprQueryMS += (System.currentTimeMillis() - start);
-		}
-		System.out.println("CapabilityQuery took: " + tradQueryMS + " milliseconds");
-		System.out.println("PredicateQuery took: " + exprQueryMS + " milliseconds");
-		System.out.println();
-	}
-
-	public void testIUPropertyQueryPerformance() throws Exception {
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-
-		IUPropertyQuery propertyQuery = new IUPropertyQuery("df_LT.providerName", "Eclipse.org");
-		PredicateQuery predicateQuery = new PredicateQuery("properties[$0] == $1", "df_LT.providerName", "Eclipse.org");
-		Collector result;
-		long tradQueryMS = 0;
-		long exprQueryMS = 0;
-
-		for (int i = 0; i < 5; ++i) {
-			long start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(propertyQuery, new NullProgressMonitor());
-				assertEquals(result.size(), 965);
-			}
-			tradQueryMS += (System.currentTimeMillis() - start);
-
-			start = System.currentTimeMillis();
-			for (int idx = 0; idx < 80; ++idx) {
-				result = repo.query(predicateQuery, new NullProgressMonitor());
-				assertEquals(result.size(), 965);
-			}
-			exprQueryMS += (System.currentTimeMillis() - start);
-		}
-		System.out.println("IUPropertyQuery took: " + tradQueryMS + " milliseconds");
-		System.out.println("PredicateQuery took: " + exprQueryMS + " milliseconds");
-		System.out.println();
-	}
-
-	public void testSlicerPerformance() throws Exception {
-		Hashtable env = new Hashtable();
-		env.put("osgi.os", "linux");
-		env.put("osgi.ws", "gtk");
-		env.put("osgi.arch", "x86");
-
-		IMetadataRepository repo = getMDR("/testData/galileoM7");
-		Collector c = repo.query(new InstallableUnitQuery("org.eclipse.sdk.feature.group", Version.create("3.5.0.v20090423-7Q7bA7DPR-wM38__Q4iRsmx9z0KOjbpx3AbyvXd-Uq7J2")), new NullProgressMonitor());
-		Iterator itor = c.iterator();
-		assertTrue(itor.hasNext());
-		IInstallableUnit[] roots = new IInstallableUnit[] {(IInstallableUnit) itor.next()};
-
-		IQuery query = new ExpressionQuery("" + //
-				"$0.traverse(capabilityIndex(everything), _, {index, parent | " + //
-				"index.satisfiesAny(parent.requiredCapabilities.select(rc | rc.filter == null || $1 ~= filter(rc.filter)))})", roots, env);
-
-		long sliceTime = 0;
-		long traverseTime = 0;
-		IQueryable slice = null;
-		for (int idx = 0; idx < 20; ++idx) {
-			long startTime = System.currentTimeMillis();
-			c = repo.query(query, new NullProgressMonitor());
-			traverseTime += (System.currentTimeMillis() - startTime);
-			assertEquals(c.size(), 411);
-
-			startTime = System.currentTimeMillis();
-			Slicer slicer = new Slicer(new QueryableArray(gatherAvailableInstallableUnits(repo)), env, false);
-			slice = slicer.slice(roots, new NullProgressMonitor());
-			c = slice.query(new MatchQuery() {
-				public boolean isMatch(Object value) {
-					return true;
-				}
-			}, new NullProgressMonitor());
-			sliceTime += (System.currentTimeMillis() - startTime);
-			assertEquals(c.size(), 411);
-		}
-		System.out.print("20 * Slicing took: ");
-		System.out.println(sliceTime);
-		System.out.print("20 * Indexed Traverse expression took: ");
-		System.out.println(traverseTime);
-		System.out.println();
-	}
-
-	private IMetadataRepository getMDR(String uri) throws Exception {
-		URI metadataRepo = getTestData("1.1", uri).toURI();
-
-		IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(metadataManager);
-
-		return metadataManager.loadRepository(metadataRepo, new NullProgressMonitor());
-	}
-
-	private IInstallableUnit[] gatherAvailableInstallableUnits(IQueryable queryable) {
-		ArrayList list = new ArrayList();
-		Collector matches = queryable.query(InstallableUnitQuery.ANY, null);
-		for (Iterator it = matches.iterator(); it.hasNext();)
-			list.add(it.next());
-		return (IInstallableUnit[]) list.toArray(new IInstallableUnit[list.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/TestQueryReimplementation.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/TestQueryReimplementation.java
deleted file mode 100644
index 0a6c1aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ql/TestQueryReimplementation.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.ql;
-
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.ql.ExpressionParser;
-import org.eclipse.equinox.internal.p2.ql.ItemExpression;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.IVersionedId;
-import org.eclipse.equinox.p2.ql.PredicateQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class TestQueryReimplementation extends AbstractProvisioningTest {
-
-	public static class UpdateQuery extends PredicateQuery {
-		private static final ItemExpression expr1;
-		private static final ItemExpression expr2;
-
-		static {
-			ExpressionParser parser = new ExpressionParser();
-
-			// This expression is used in case the updateFrom is an IInstallableUnitPatch
-			//
-			expr1 = parser.parsePredicate("$0 ~= updateDescriptor && ($0.id != id || $0.version < version)");
-
-			// When updateFrom is not an IInstallableUnitPatch, we need to do one of two things depending
-			// on if the current item is an InstallableUnitPatch or not.
-			//
-			expr2 = parser.parsePredicate("item ~= class('org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch')" + //
-					"? $0 ~= lifeCycle" + //
-					": $0 ~= updateDescriptor && ($0.id != id || $0.version < version)");
-		}
-
-		public UpdateQuery(IInstallableUnit updateFrom) {
-			super(IInstallableUnit.class, updateFrom instanceof IInstallableUnitPatch ? expr1 : expr2, new Object[] {updateFrom, IInstallableUnitPatch.class});
-		}
-	}
-
-	public static class IUPropertyQuery extends PredicateQuery {
-		private static final ItemExpression expr = new ExpressionParser().parsePredicate("properties[$0] == $1");
-
-		public IUPropertyQuery(String propertyName, String propertyValue) {
-			super(IInstallableUnit.class, expr, new Object[] {propertyName, propertyValue});
-		}
-	}
-
-	public static class InstallableUnitQuery extends PredicateQuery {
-		/**
-		 * A convenience query that will match any {@link IInstallableUnit}
-		 * it encounters.
-		 */
-		public static final PredicateQuery ANY = new PredicateQuery("");
-
-		private static final ItemExpression idVersionQuery;
-		private static final ItemExpression idRangeQuery;
-
-		static {
-			ExpressionParser parser = new ExpressionParser();
-			idVersionQuery = parser.parsePredicate("($0 == null || $0 == id) && ($1 == null || $1 == version)");
-			idRangeQuery = parser.parsePredicate("($0 == null || $0 == id) && ($1 == null || version ~= $1)");
-		}
-
-		/**
-		 * Creates a query that will match any {@link IInstallableUnit} with the given
-		 * id, regardless of version.
-		 * 
-		 * @param id The installable unit id to match, or <code>null</code> to match any id
-		 */
-		public InstallableUnitQuery(String id) {
-			this(id, (Version) null);
-		}
-
-		/**
-		 * Creates a query that will match any {@link IInstallableUnit} with the given
-		 * id, and whose version falls in the provided range.
-		 * 
-		 * @param id The installable unit id to match, or <code>null</code> to match any id
-		 * @param range The version range to match
-		 */
-		public InstallableUnitQuery(String id, VersionRange range) {
-			super(IInstallableUnit.class, idRangeQuery, new Object[] {id, range});
-		}
-
-		/**
-		 * Creates a query that will match any {@link IInstallableUnit} with the given
-		 * id and version.
-		 * 
-		 * @param id The installable unit id to match, or <code>null</code> to match any id
-		 * @param version The precise version that a matching unit must have
-		 */
-		public InstallableUnitQuery(String id, Version version) {
-			super(IInstallableUnit.class, idVersionQuery, new Object[] {id, version});
-		}
-
-		/**
-		 * Creates a query that will match any {@link IInstallableUnit} with the given
-		 * id and version.
-		 * 
-		 * @param versionedId The precise id/version combination that a matching unit must have
-		 */
-		public InstallableUnitQuery(IVersionedId versionedId) {
-			this(versionedId.getId(), versionedId.getVersion());
-		}
-	}
-
-	/**
-	 * A query that searches for {@link IInstallableUnit} instances that provide
-	 * capabilities that match one or more required capabilities.
-	 */
-	public static class CapabilityQuery extends PredicateQuery {
-		private static final ItemExpression oneCapabilityQuery;
-		private static final ItemExpression anyCapabilityQuery;
-
-		static {
-			ExpressionParser parser = new ExpressionParser();
-			oneCapabilityQuery = parser.parsePredicate("item ~= $1");
-			anyCapabilityQuery = parser.parsePredicate("$1.exists(x | item ~= x)");
-		}
-
-		/**
-		 * Creates a new query on the given required capability.
-		 * @param required The required capability
-		 */
-		public CapabilityQuery(IRequiredCapability required) {
-			super(oneCapabilityQuery, new Object[] {required});
-		}
-
-		/**
-		 * Creates a new query on the given required capabilities. The installable
-		 * unit must provide capabilities that match all of the given required capabilities
-		 * for this query to be satisfied.
-		 * @param required The required capabilities
-		 */
-		public CapabilityQuery(IRequiredCapability[] required) {
-			super(anyCapabilityQuery, new Object[] {required});
-		}
-	}
-
-	private IInstallableUnit a1;
-	private IInstallableUnit updateOfA;
-	private IInstallableUnit a11;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		a1 = createIU("A", Version.create("2.0.0"));
-		IUpdateDescriptor update = MetadataFactory.createUpdateDescriptor("A", new VersionRange("[2.0.0, 2.0.0]"), 0, "update description");
-		updateOfA = createIU("UpdateA", Version.createOSGi(1, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, null, NO_TP_DATA, false, update, NO_REQUIRES);
-		a11 = createIUUpdate();
-	}
-
-	public void testUpdateWithDifferentId() {
-		IMetadataRepository repo = createTestMetdataRepository(new IInstallableUnit[] {a1, updateOfA});
-		Collector c = repo.query(new UpdateQuery(a1), null);
-		assertEquals(1, c.size());
-		assertEquals(updateOfA, c.iterator().next());
-	}
-
-	public void testWithSuperiorVersion() {
-		IMetadataRepository repo2 = createTestMetdataRepository(new IInstallableUnit[] {a11, a1});
-		Collector c2 = repo2.query(new UpdateQuery(a1), null);
-		assertEquals(1, c2.size());
-		assertEquals(a11, c2.iterator().next());
-	}
-
-	private IInstallableUnit createIUUpdate() {
-		return createIU("A", Version.create("2.1.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, MetadataFactory.createUpdateDescriptor("A", new VersionRange("[2.0.0, 2.1.0]"), 0, "update description"), null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
deleted file mode 100644
index 35ee2b3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
+++ /dev/null
@@ -1,665 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry;
-import org.eclipse.equinox.internal.p2.engine.SurrogateProfileHandler;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.p2.updatesite.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.Bundle;
-
-public class AbstractReconcilerTest extends AbstractProvisioningTest {
-	public static final String VERIFIER_BUNDLE_ID = "org.eclipse.equinox.p2.tests.verifier";
-	protected static File output;
-	protected static Set toRemove = new HashSet();
-	private static boolean initialized = false;
-	private static Properties archiveAndRepositoryProperties = null;
-
-	private String propertyToPlatformArchive;
-
-	static {
-		loadPlatformZipPropertiesFromFile();
-	}
-
-	/*
-			 * Constructor for the class.
-			 */
-	public AbstractReconcilerTest(String name) {
-		super(name);
-	}
-
-	public AbstractReconcilerTest(String name, String propertyToPlatformArchive) {
-		super(name);
-		this.propertyToPlatformArchive = propertyToPlatformArchive;
-	}
-
-	/*
-	 * Set up the platform binary download and get it ready to run the tests.
-	 * This method is not intended to be called by clients, it will be called
-	 * automatically when the clients use a ReconcilerTestSuite.
-	 */
-	public void initialize() throws Exception {
-		initialized = false;
-		File file = getPlatformZip();
-		output = getUniqueFolder();
-		toRemove.add(output);
-		// for now we will exec to un-tar archives to keep the executable bits
-		if (file.getName().toLowerCase().endsWith(".zip")) {
-			try {
-				FileUtils.unzipFile(file, output);
-			} catch (IOException e) {
-				fail("0.99", e);
-			}
-		} else {
-			untar("1.0", file);
-		}
-		initialized = true;
-	}
-
-	public void assertInitialized() {
-		assertTrue("Test suite not initialized, check log for previous errors.", initialized);
-	}
-
-	/*
-	 * Run the given command.
-	 */
-	protected static int run(String message, String[] commandArray) {
-		BufferedReader reader = null;
-		try {
-			Process process = Runtime.getRuntime().exec(commandArray, null, output);
-			reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
-			try {
-				String line;
-				while ((line = reader.readLine()) != null) {
-					System.err.println(line);
-				}
-			} finally {
-				reader.close();
-			}
-			process.waitFor();
-			return process.exitValue();
-		} catch (IOException e) {
-			fail(message, e);
-		} catch (InterruptedException e) {
-			fail(message, e);
-		}
-		return -1;
-	}
-
-	/*
-	 * Untar the given file in the output directory.
-	 */
-	private void untar(String message, File file) {
-		String name = file.getName();
-		File gzFile = new File(output, name);
-		output.mkdirs();
-		run(message, new String[] {"cp", file.getAbsolutePath(), gzFile.getAbsolutePath()});
-		run(message, new String[] {"tar", "-zpxf", gzFile.getAbsolutePath()});
-		gzFile.delete();
-	}
-
-	/*
-	 * Return a file object with a unique name in a temporary location.
-	 */
-	public static File getUniqueFolder() {
-		String tempDir = System.getProperty("java.io.tmpdir");
-		return new File(tempDir, getUniqueString());
-	}
-
-	/*
-	 * Helper method to return the install location. Return null if it is unavailable.
-	 */
-	public static File getInstallLocation() {
-		Location installLocation = (Location) ServiceHelper.getService(TestActivator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		if (installLocation == null || !installLocation.isSet())
-			return null;
-		URL url = installLocation.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	private String getValueFor(String property) {
-		if (property == null)
-			return null;
-		String result = TestActivator.getContext().getProperty(property);
-		if (result == null && archiveAndRepositoryProperties == null)
-			return null;
-		if (result == null)
-			archiveAndRepositoryProperties.getProperty(property);
-		if (result == null)
-			result = archiveAndRepositoryProperties.getProperty(property + '.' + Platform.getOS());
-		return result;
-	}
-
-	/*
-	 * Return a file handle pointing to the platform binary zip. Method never returns null because
-	 * it will fail an assert before that.
-	 */
-	private File getPlatformZip() {
-		String property = null;
-		File file = null;
-		if (propertyToPlatformArchive != null) {
-			property = getValueFor(propertyToPlatformArchive);
-			String message = "Need to set the " + "\"" + propertyToPlatformArchive + "\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder.";
-			if (property == null) {
-				fail(message);
-			}
-			file = new File(property);
-			assertNotNull(message, file);
-			assertTrue(message, file.exists());
-			return file;
-		}
-
-		property = getValueFor("org.eclipse.equinox.p2.reconciler.tests.platform.archive");
-		if (property == null) {
-			// the releng test framework copies the zip so let's look for it...
-			// it will be a sibling of the eclipse/ folder that we are running
-			File installLocation = getInstallLocation();
-			if (installLocation != null) {
-				// parent will be "eclipse" and the parent's parent will be "eclipse-testing"
-				File parent = installLocation.getParentFile();
-				if (parent != null) {
-					parent = parent.getParentFile();
-					if (parent != null) {
-						File[] children = parent.listFiles(new FileFilter() {
-							public boolean accept(File pathname) {
-								String name = pathname.getName();
-								return name.startsWith("eclipse-platform-");
-							}
-						});
-						if (children != null && children.length == 1)
-							file = children[0];
-					}
-				}
-			}
-		} else {
-			file = new File(property);
-		}
-		String message = "Need to set the \"org.eclipse.equinox.p2.reconciler.tests.platform.archive\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder.";
-		assertNotNull(message, file);
-		assertTrue(message, file.exists());
-		return file;
-	}
-
-	/*
-	 * Add the given bundle to the given folder (do a copy).
-	 * The folder can be one of dropins, plugins or features.
-	 * If the file handle points to a directory, then do a deep copy.
-	 */
-	public void add(String message, String target, File file) {
-		if (!(target.startsWith("dropins") || target.startsWith("plugins") || target.startsWith("features")))
-			fail("Destination folder for resource copying should be either dropins, plugins or features.");
-		File destinationParent = new File(output, "eclipse/" + target);
-		destinationParent.mkdirs();
-		copy(message, file, new File(destinationParent, file.getName()));
-	}
-
-	/*
-	 * Create a link file in the links folder. Point it to the given extension location.
-	 */
-	public void createLinkFile(String message, String filename, String extensionLocation) {
-		File file = new File(output, "eclipse/links/" + filename + ".link");
-		file.getParentFile().mkdirs();
-		Properties properties = new Properties();
-		properties.put("path", extensionLocation);
-		OutputStream stream = null;
-		try {
-			stream = new BufferedOutputStream(new FileOutputStream(file));
-			properties.store(stream, null);
-		} catch (IOException e) {
-			fail(message, e);
-		} finally {
-			try {
-				if (stream != null)
-					stream.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * Delete the link file with the given name from the links folder.
-	 */
-	public void removeLinkFile(String message, String filename) {
-		File file = new File(output, "eclipse/links/" + filename + ".link");
-		file.delete();
-	}
-
-	public void add(String message, String target, File[] files) {
-		assertNotNull(files);
-		for (int i = 0; i < files.length; i++)
-			add(message, target, files[i]);
-	}
-
-	/*
-	 * Remove the given filename from the given folder.
-	 */
-	public boolean remove(String message, String target, String filename) {
-		if (!(target.startsWith("dropins") || target.startsWith("plugins") || target.startsWith("features")))
-			fail("Target folder for resource deletion should be either dropins, plugins or features.");
-		File folder = new File(output, "eclipse/" + target);
-		File targetFile = new File(folder, filename);
-		if (!targetFile.exists())
-			return false;
-		return delete(targetFile);
-	}
-
-	/*
-	 * Remove the files with the given names from the target folder.
-	 */
-	public void remove(String message, String target, String[] names) {
-		assertNotNull(names);
-		for (int i = 0; i < names.length; i++)
-			remove(message, target, names[i]);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not a bundle with the given id
-	 * is listed in the bundles.info file. Ignore the version number and return true
-	 * if there are any matches in the file.
-	 */
-	public boolean isInBundlesInfo(String bundleId) throws IOException {
-		return isInBundlesInfo(bundleId, null);
-	}
-
-	public boolean isInBundlesInfo(String bundleId, String version) throws IOException {
-		File bundlesInfo = new File(output, "eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info");
-		return isInBundlesInfo(bundleId, version, bundlesInfo);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not a bundle with the given id
-	 * is listed in the bundles.info file. If the version is non-null, check to ensure the
-	 * version is the expected one.
-	 */
-	public boolean isInBundlesInfo(String bundleId, String version, File bundlesInfo) throws IOException {
-		if (!bundlesInfo.exists())
-			return false;
-		String line;
-		Exception exception = null;
-		BufferedReader reader = new BufferedReader(new FileReader(bundlesInfo));
-		try {
-			while ((line = reader.readLine()) != null) {
-				StringTokenizer tokenizer = new StringTokenizer(line, ",");
-				if (bundleId.equals(tokenizer.nextToken())) {
-					if (version == null)
-						return true;
-					if (version.equals(tokenizer.nextToken()))
-						return true;
-				}
-			}
-		} catch (IOException e) {
-			exception = e;
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException ex) {
-				if (exception == null)
-					throw ex;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * Run the reconciler to discover changes in the drop-ins folder and update the system state.
-	 */
-	public void reconcile(String message) {
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.reconciler.application", "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		// command-line if you want to run and allow a remote debugger to connect
-		// String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.reconciler.application", "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true", "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"};
-		run(message, command);
-	}
-
-	/*
-	 * If a bundle with the given id and version exists in the bundles.info file then
-	 * throw an AssertionFailedException.
-	 */
-	public void assertDoesNotExistInBundlesInfo(String message, String bundleId, String version) {
-		try {
-			assertTrue(message, !isInBundlesInfo(bundleId, version));
-		} catch (IOException e) {
-			fail(message, e);
-		}
-	}
-
-	/*
-	 * If a bundle with the given id in the bundles.info file then throw an AssertionFailedException.
-	 */
-	public void assertDoesNotExistInBundlesInfo(String message, String bundleId) {
-		assertDoesNotExistInBundlesInfo(message, bundleId, null);
-	}
-
-	/*
-	 * If a bundle with the given id and version does not exist in the bundles.info file then
-	 * throw an AssertionFailedException.
-	 */
-	public void assertExistsInBundlesInfo(String message, String bundleId, String version) {
-		try {
-			assertTrue(message, isInBundlesInfo(bundleId, version));
-		} catch (IOException e) {
-			fail(message, e);
-		}
-	}
-
-	/*
-	 * If a bundle with the given id does not exist in the bundles.info file then throw an AssertionFailedException.
-	 */
-	public void assertExistsInBundlesInfo(String message, String bundleId) {
-		assertExistsInBundlesInfo(message, bundleId, null);
-	}
-
-	/*
-	 * Clean up the temporary data used to run the tests.
-	 * This method is not intended to be called by clients, it will be called
-	 * automatically when the clients use a ReconcilerTestSuite.
-	 */
-	public void cleanup() throws Exception {
-		// rm -rf eclipse sub-dir
-		for (Iterator iter = toRemove.iterator(); iter.hasNext();) {
-			File next = (File) iter.next();
-			FileUtils.deleteAll(next);
-		}
-		output = null;
-		toRemove.clear();
-	}
-
-	/*
-	 * Read and return the configuration object. Will not return null.
-	 */
-	public Configuration getConfiguration() {
-		File configLocation = new File(output, "eclipse/configuration/org.eclipse.update/platform.xml");
-		File installLocation = new File(output, "eclipse");
-		if (installLocation == null)
-			fail("Unable to determine install location.");
-		try {
-			return Configuration.load(configLocation, installLocation.toURL());
-		} catch (ProvisionException e) {
-			fail("Error while reading configuration from " + configLocation);
-		} catch (MalformedURLException e) {
-			fail("Unable to convert install location to URL " + installLocation);
-		}
-		assertTrue("Unable to read configuration from " + configLocation, false);
-		// avoid compiler error
-		return null;
-	}
-
-	/*
-	 * Save the given configuration to disk.
-	 */
-	public void save(String message, Configuration configuration) {
-		File configLocation = new File(output, "eclipse/configuration/org.eclipse.update/platform.xml");
-		File installLocation = new File(output, "eclipse");
-		try {
-			configuration.save(configLocation, installLocation.toURL());
-		} catch (ProvisionException e) {
-			fail(message, e);
-		} catch (MalformedURLException e) {
-			fail(message, e);
-		}
-	}
-
-	/*
-	 * Iterate over the sites in the given configuration and remove the one which
-	 * has a url matching the given location.
-	 */
-	public boolean removeSite(Configuration configuration, String location) {
-		IPath path = new Path(location);
-		List sites = configuration.getSites();
-		for (Iterator iter = sites.iterator(); iter.hasNext();) {
-			Site tempSite = (Site) iter.next();
-			String siteURL = tempSite.getUrl();
-			if (path.equals(new Path(siteURL)))
-				return configuration.removeSite(tempSite);
-		}
-		return false;
-	}
-
-	/*
-	 * Create and return a new feature object with the given parameters.
-	 */
-	public Feature createFeature(Site site, String id, String version, String url) {
-		Feature result = new Feature(site);
-		result.setId(id);
-		result.setVersion(version);
-		result.setUrl(url);
-		return result;
-	}
-
-	/*
-	 * Create and return a new site object with the given parameters.
-	 */
-	public Site createSite(String policy, boolean enabled, boolean updateable, String uri, String[] plugins) {
-		Site result = new Site();
-		result.setPolicy(policy);
-		result.setEnabled(enabled);
-		result.setUpdateable(updateable);
-		result.setUrl(uri);
-		if (plugins != null)
-			for (int i = 0; i < plugins.length; i++)
-				result.addPlugin(plugins[i]);
-		return result;
-	}
-
-	/*
-	 * Copy the bundle with the given id to the specified location. (location
-	 * is parent directory)
-	 */
-	public void copyBundle(String bundlename, File source, File destination) throws IOException {
-		if (destination == null)
-			destination = output;
-		destination = new File(destination, "eclipse/plugins");
-		if (source == null) {
-			Bundle bundle = TestActivator.getBundle(bundlename);
-			if (bundle == null) {
-				throw new IOException("Could not find: " + bundlename);
-			}
-			String location = bundle.getLocation();
-			if (location.startsWith("reference:"))
-				location = location.substring("reference:".length());
-			source = new File(FileLocator.toFileURL(new URL(location)).getFile());
-		}
-		destination = new File(destination, source.getName());
-		if (destination.exists())
-			return;
-		FileUtils.copy(source, destination, new File(""), false);
-	}
-
-	/*
-	 * Assert that a feature with the given id exists in the configuration. If 
-	 * a version is specified then match the version, otherwise any version will
-	 * do.
-	 */
-	public void assertFeatureExists(String message, Configuration configuration, String id, String version) {
-		List sites = configuration.getSites();
-		assertNotNull(message, sites);
-		boolean found = false;
-		for (Iterator iter = sites.iterator(); iter.hasNext();) {
-			Site site = (Site) iter.next();
-			Feature[] features = site.getFeatures();
-			for (int i = 0; features != null && i < features.length; i++) {
-				if (id.equals(features[i].getId())) {
-					if (version == null)
-						found = true;
-					else if (version.equals(features[i].getVersion()))
-						found = true;
-				}
-			}
-		}
-		assertTrue(message, found);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the IU with the given ID and version
-	 * is installed. We do this by loading the profile registry and seeing if it is there.
-	 */
-	public boolean isInstalled(String id, String version) {
-		File location = new File(output, "eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry");
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(location, new SurrogateProfileHandler(), false);
-		IProfile[] profiles = registry.getProfiles();
-		assertEquals("1.0 Should only be one profile in registry.", 1, profiles.length);
-		Collector collector = profiles[0].query(new InstallableUnitQuery(id, Version.create(version)), null);
-		return !collector.isEmpty();
-	}
-
-	public IInstallableUnit getRemoteIU(String id, String version) {
-		File location = new File(output, "eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry");
-		SimpleProfileRegistry registry = new SimpleProfileRegistry(location, new SurrogateProfileHandler(), false);
-		IProfile[] profiles = registry.getProfiles();
-		assertEquals("1.0 Should only be one profile in registry.", 1, profiles.length);
-		Collector collector = profiles[0].query(new InstallableUnitQuery(id, Version.create(version)), null);
-		assertEquals("1.1 Should not have more than one IU wth the same ID and version.", 1, collector.size());
-		return (IInstallableUnit) collector.iterator().next();
-	}
-
-	public int runInitialize(String message) {
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-initialize", "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		// command-line if you want to run and allow a remote debugger to connect
-		//String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-installIU", iuToInstall, "-uninstallIU", iuToUninstall, "-vmArgs", "-Dosgi.checkConfiguration=true", "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787"};
-		return run(message, command);
-	}
-
-	public int runDirectorToUpdate(String message, String sourceRepo, String iuToInstall, String iuToUninstall) {
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-installIU", iuToInstall, "-uninstallIU", iuToUninstall, "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		// command-line if you want to run and allow a remote debugger to connect
-		//String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-installIU", iuToInstall, "-uninstallIU", iuToUninstall, "-vmArgs", "-Dosgi.checkConfiguration=true", "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787"};
-		return run(message, command);
-	}
-
-	public int runDirectorToRevert(String message, String sourceRepo, String timestampToRevertTo) {
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-revert", timestampToRevertTo, "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		// command-line if you want to run and allow a remote debugger to connect
-		//String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.director", "-vm", exe.getAbsolutePath(), "-repository", sourceRepo, "-revert", timestampToRevertTo, "-vmArgs", "-Dosgi.checkConfiguration=true", "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"};
-		return run(message, command);
-	}
-
-	public int runVerifierBundle(File destination) {
-		if (destination == null)
-			destination = output;
-		String message = "Running the verifier bundle at: " + destination;
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-		String[] command = new String[] {(new File(destination, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-dev", "bin", "-nosplash", "-application", "org.eclipse.equinox.p2.tests.verifier.application", "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		// command-line if you want to run and allow a remote debugger to connect
-		//String[] command = new String[] {(new File(destination, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.tests.verifier.application", "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true", "-Xdebug", "-Xnoagent", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787"};
-		return run(message, command);
-	}
-
-	public int installAndRunVerifierBundle(File destination) {
-		if (destination == null)
-			destination = output;
-		try {
-			copyBundle(VERIFIER_BUNDLE_ID, null, destination);
-		} catch (IOException e) {
-			fail("Could not find the verifier bundle");
-		}
-		int returnCode = runVerifierBundle(destination);
-		deleteVerifierBundle(destination);
-		return returnCode;
-	}
-
-	public int installAndRunVerifierBundle35(File destination) {
-		if (destination == null)
-			destination = output;
-		try {
-			copyBundle(VERIFIER_BUNDLE_ID, getTestData(VERIFIER_BUNDLE_ID + "3.5", "testData/VerifierBundle35/org.eclipse.equinox.p2.tests.verifier_1.0.0.jar"), destination);
-		} catch (IOException e) {
-			fail("Could not find the verifier bundle");
-		}
-		int returnCode = runVerifierBundle(destination);
-		deleteVerifierBundle(destination);
-		return returnCode;
-	}
-
-	private void deleteVerifierBundle(File destination) {
-		if (destination == null)
-			destination = output;
-		destination = new File(destination, "eclipse/plugins");
-		File[] verifierBundle = destination.listFiles(new FilenameFilter() {
-
-			public boolean accept(File dir, String name) {
-				if (name.startsWith(VERIFIER_BUNDLE_ID))
-					return true;
-				return false;
-			}
-		});
-		if (verifierBundle != null && verifierBundle.length > 0)
-			verifierBundle[0].delete();
-	}
-
-	private static void loadPlatformZipPropertiesFromFile() {
-		File installLocation = getInstallLocation();
-		if (installLocation != null) {
-			// parent will be "eclipse" and the parent's parent will be "eclipse-testing"
-			File parent = installLocation.getParentFile();
-			if (parent != null) {
-				parent = parent.getParentFile();
-				if (parent != null) {
-					File propertiesFile = new File(parent, "equinoxp2tests.properties");
-					if (!propertiesFile.exists())
-						return;
-					archiveAndRepositoryProperties = new Properties();
-					try {
-						InputStream is = null;
-						try {
-							is = new BufferedInputStream(new FileInputStream(propertiesFile));
-							archiveAndRepositoryProperties.load(is);
-						} finally {
-							is.close();
-						}
-					} catch (IOException e) {
-						return;
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AllTests.java
deleted file mode 100644
index 3a375ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import junit.framework.*;
-
-/**
- * To run the reconciler tests, you must perform some manual setup steps:
- * 1) Download the platform runtime binary zip (latest build or the one you want to test).
- * 2) Set the following system property to the file system path of the binary zip. For example:
- * 
- * -Dorg.eclipse.equinox.p2.reconciler.tests.platform.archive=c:/tmp/eclipse-platform-3.4-win32.zip
- */
-public class AllTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTest(BasicTests.suite());
-		suite.addTest(ConfigurationTests.suite());
-		suite.addTest(FeaturePatchTest.suite());
-		suite.addTest(SharedInstallTests.suite());
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/BasicTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/BasicTests.java
deleted file mode 100644
index a1e8785..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/BasicTests.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-//- add new
-//- remove only
-//- add higher
-//- remove higher
-//- add lower (no change)
-//- remove lower (no change)
-//
-//singleton behaviour vs non-singleton behaviour
-//
-// platform specific fragments
-//
-//dropins/*/eclipse/[features|plugins]/*
-//dropins/*/[features|plugins]/*
-//dropins/[features|plugins]/*
-//dropins/Foo   (Foo is a feature or bundle, in folder or jar shape)
-//dropins/some.link
-//
-//handle both dropins and plugins directory
-public class BasicTests extends AbstractReconcilerTest {
-
-	/*
-	 * Constructor for the class.
-	 */
-	public BasicTests(String name) {
-		super(name);
-	}
-
-	/*
-	 * The list of tests for this class. Order is important since some of them rely
-	 * on the state from the previous test run.
-	 */
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite();
-		suite.setName(BasicTests.class.getName());
-		suite.addTest(new BasicTests("testNonSingleton"));
-		suite.addTest(new BasicTests("testSingleton"));
-		suite.addTest(new BasicTests("testDirectoryBasedPlugin"));
-		suite.addTest(new BasicTests("testSimpleRepoWithSiteXMLPlaceHolder"));
-		suite.addTest(new BasicTests("testSimpleRepo"));
-
-		// suite.addTest(new BasicTests("test_251167"));
-		// suite.addTest(new BasicTests("test_p2Repo"));
-		suite.addTest(new BasicTests("testDisabledBundleInLink"));
-
-		return suite;
-	}
-
-	/*
-	 * Basic add and remove tests for directory-based bundles.
-	 */
-	public void testDirectoryBasedPlugin() {
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("1.0", "directoryBased");
-		File dir = getTestData("1.1", "testData/reconciler/plugins/directoryBased_1.0.0");
-		add("1.2", "dropins", dir);
-		reconcile("1.3");
-		assertExistsInBundlesInfo("1.4", "directoryBased", "1.0.0");
-
-		remove("2.0", "dropins", "directoryBased_1.0.0");
-		reconcile("2.1");
-		assertDoesNotExistInBundlesInfo("2.2", "directoryBased");
-	}
-
-	/*
-	 * Basic add and remove operations for non-singleton bundles.
-	 */
-	public void testNonSingleton() {
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "myBundle");
-		// copy bundle to dropins and reconcile
-		File jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("0.2", "dropins", jar);
-		reconcile("0.3");
-		// bundle should exist
-		assertExistsInBundlesInfo("0.4", "myBundle");
-
-		// remove the bundle from the dropins and reconcile
-		remove("1.0", "dropins", "myBundle_1.0.0.jar");
-		reconcile("1.1");
-		// bundle should not exist anymore
-		assertDoesNotExistInBundlesInfo("1.2", "myBundle");
-
-		// Add 2 versions of the same non-singleton bundle to the dropins folder and
-		// ensure that both of them exist after reconciliation. 
-		jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("2.1", "dropins", jar);
-		jar = getTestData("2.2", "testData/reconciler/plugins/myBundle_2.0.0.jar");
-		add("2.3", "dropins", jar);
-		reconcile("2.4");
-		// bundle should exist - both versions since we have non-singleton bundles
-		assertExistsInBundlesInfo("2.5", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("2.6", "myBundle", "2.0.0");
-
-		// start with 2 non-singleton versions of the same bundle and remove the lower
-		// version and reconcile. should have just the higher version left.
-		remove("3.0", "dropins", "myBundle_1.0.0.jar");
-		reconcile("3.1");
-		// only the higher version should exist
-		assertDoesNotExistInBundlesInfo("3.2", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("3.3", "myBundle", "2.0.0");
-
-		// cleanup
-		remove("99.0", "dropins", "myBundle_2.0.0.jar");
-		reconcile("99.1");
-		assertDoesNotExistInBundlesInfo("99.2", "myBundle", "2.0.0");
-	}
-
-	/*
-	 * Perform some add and remove operations with two different versions
-	 * of a singleton bundle.
-	 */
-	public void testSingleton() {
-		assertInitialized();
-		// empty state
-		assertDoesNotExistInBundlesInfo("1.0", "mySingletonBundle");
-
-		// add first version
-		File jar = getTestData("2.0", "testData/reconciler/plugins/mySingletonBundle_1.0.0.jar");
-		add("2.1", "dropins", jar);
-		reconcile("2.3");
-
-		// only lowest version of the bundle exists
-		assertExistsInBundlesInfo("3.0", "mySingletonBundle", "1.0.0");
-		assertDoesNotExistInBundlesInfo("3.1", "mySingletonBundle", "2.0.0");
-
-		// add higher version
-		jar = getTestData("4.0", "testData/reconciler/plugins/mySingletonBundle_2.0.0.jar");
-		add("4.1", "dropins", jar);
-		reconcile("4.3");
-
-		// highest version of the bundle has replaced the lower one
-		assertDoesNotExistInBundlesInfo("5.1", "mySingletonBundle", "1.0.0");
-		assertExistsInBundlesInfo("5.2", "mySingletonBundle", "2.0.0");
-
-		// re-add the lower version
-		jar = getTestData("6.0", "testData/reconciler/plugins/mySingletonBundle_1.0.0.jar");
-		add("6.1", "dropins", jar);
-		reconcile("6.3");
-
-		// nothing changes
-		assertDoesNotExistInBundlesInfo("7.1", "mySingletonBundle", "1.0.0");
-		assertExistsInBundlesInfo("7.2", "mySingletonBundle", "2.0.0");
-
-		// add back lower version
-		jar = getTestData("8.0", "testData/reconciler/plugins/mySingletonBundle_1.0.0.jar");
-		add("8.1", "dropins", jar);
-		reconcile("8.3");
-
-		// no change
-		assertDoesNotExistInBundlesInfo("9.1", "mySingletonBundle", "1.0.0");
-		assertExistsInBundlesInfo("9.2", "mySingletonBundle", "2.0.0");
-
-		// remove higher version
-		remove("10.1", "dropins", "mySingletonBundle_2.0.0.jar");
-		reconcile("10.2");
-
-		// lower should be there
-		assertExistsInBundlesInfo("11.0", "mySingletonBundle", "1.0.0");
-		assertDoesNotExistInBundlesInfo("11.1", "mySingletonBundle", "2.0.0");
-
-		// cleanup
-		remove("99.0", "dropins", "mySingletonBundle_1.0.0.jar");
-		remove("99.1", "dropins", "mySingletonBundle_2.0.0.jar");
-		reconcile("99.2");
-		assertDoesNotExistInBundlesInfo("99.3", "mySingletonBundle", "1.0.0");
-		assertDoesNotExistInBundlesInfo("99.4", "mySingletonBundle", "2.0.0");
-	}
-
-	/*
-	 * Tests adding a simplerepo to the dropins folder. Note we need a dummy site.mxl for now
-	 * We likely still need this tests for backwards compatability
-	 */
-	public void testSimpleRepoWithSiteXMLPlaceHolder() {
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "myBundle");
-
-		// copy bundles and repo files to dropins and reconcile
-		File jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("1.0", "dropins/simplerepo/plugins", jar);
-		jar = getTestData("2.2", "testData/reconciler/plugins/myBundle_2.0.0.jar");
-		add("1.1", "dropins/simplerepo/plugins", jar);
-
-		File artifactRepo = getTestData("2.0", "testData/reconciler/simplerepo/artifacts.xml");
-		add("1.1", "dropins/simplerepo", artifactRepo);
-		File metadataRepo = getTestData("2.0", "testData/reconciler/simplerepo/content.xml");
-		add("1.1", "dropins/simplerepo", metadataRepo);
-		File dummySiteXML = getTestData("2.0", "testData/reconciler/simplerepo/site.xml");
-		add("1.1", "dropins/simplerepo", dummySiteXML);
-
-		reconcile("2.0");
-
-		// bundle should exist - both versions since we have non-singleton bundles
-		assertDoesNotExistInBundlesInfo("2.1", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("2.2", "myBundle", "2.0.0");
-
-		// cleanup
-		remove("99.0", "dropins", "simplerepo");
-		reconcile("99.1");
-		assertDoesNotExistInBundlesInfo("99.2", "myBundle");
-	}
-
-	/*
-	 * Tests adding a simplerepo to the dropins folder. Note we need a dummy site.mxl for now
-	 * We likely still need this tests for backwards compatability
-	 */
-	public void testSimpleRepo() {
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "myBundle");
-
-		// copy bundles and repo files to dropins and reconcile
-		File jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("1.0", "dropins/simplerepo/plugins", jar);
-		jar = getTestData("2.2", "testData/reconciler/plugins/myBundle_2.0.0.jar");
-		add("1.1", "dropins/simplerepo/plugins", jar);
-
-		File artifactRepo = getTestData("2.0", "testData/reconciler/simplerepo/artifacts.xml");
-		add("1.1", "dropins/simplerepo", artifactRepo);
-		File metadataRepo = getTestData("2.0", "testData/reconciler/simplerepo/content.xml");
-		add("1.1", "dropins/simplerepo", metadataRepo);
-
-		reconcile("2.0");
-
-		// bundle should exist - both versions since we have non-singleton bundles
-		assertDoesNotExistInBundlesInfo("2.1", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("2.2", "myBundle", "2.0.0");
-
-		// cleanup
-		remove("99.0", "dropins", "simplerepo");
-		reconcile("99.1");
-		assertDoesNotExistInBundlesInfo("99.2", "myBundle");
-	}
-
-	/*
-	 * Add 2 bundles to the dropins and reconcile. A has an optional dependency on B.
-	 * Remove B and re-reconcile. The problem was that B was no longer installed or in
-	 *  the bundles.info but it was still in the profile.
-	 */
-	public void test_251167() {
-		assertInitialized();
-
-		// empty state
-		assertDoesNotExistInBundlesInfo("1.0", "A");
-		assertDoesNotExistInBundlesInfo("1.1", "B");
-
-		// setup the test data
-		File jar = getTestData("2.0", "testData/reconciler/251167/A_1.0.0.jar");
-		add("2.1", "dropins", jar);
-		jar = getTestData("2.2", "testData/reconciler/251167/B_1.0.0.jar");
-		add("2.3", "dropins", jar);
-		reconcile("2.4");
-
-		assertExistsInBundlesInfo("3.0", "A");
-		assertExistsInBundlesInfo("3.1", "B");
-		assertTrue("3.2", isInstalled("A", "1.0.0"));
-		assertTrue("3.3", isInstalled("B", "1.0.0"));
-
-		// remove B
-		remove("4.0", "dropins", "B_1.0.0.jar");
-		reconcile("4.1");
-
-		assertExistsInBundlesInfo("5.0", "A");
-		assertDoesNotExistInBundlesInfo("5.1", "B");
-		assertTrue("5.2", isInstalled("A", "1.0.0"));
-		assertFalse("5.3", isInstalled("B", "1.0.0"));
-	}
-
-	/*
-	 * - add content.jar
-	 * - add artifacts.jar
-	 * - add indexs + plugins/features/binary dir (bug 252752)
-	 */
-	public void test_p2Repo() {
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "zzz");
-		assertFalse("0.2", isInstalled("zFeature", "1.0.0"));
-
-		File source = getTestData("1.0", "testData/reconciler/basicRepo.jar");
-		add("1.1", "dropins", source);
-
-		reconcile("2.0");
-
-		assertExistsInBundlesInfo("3.0", "zzz");
-		assertTrue("3.1", isInstalled("zzz", "1.0.0"));
-		assertTrue("3.2", isInstalled("zFeature.feature.group", "1.0.0"));
-		IInstallableUnit unit = getRemoteIU("zzz", "1.0.0");
-		assertEquals("3.3", "foo", unit.getProperty("test"));
-	}
-
-	/*
-	 * See bug 265121.
-	 */
-	public void testDisabledBundleInLink() {
-		assertInitialized();
-		File link = getTestData("1.0", "testData/reconciler/link");
-		File temp = getTempFolder();
-		// add this to the "toRemove" set in case we fail, we still want it to be removed by the cleanup
-		toRemove.add(temp);
-		copy("1.1", link, temp);
-		String linkFilename = getUniqueString();
-		createLinkFile("1.2", linkFilename, temp.getAbsolutePath());
-
-		reconcile("2.0");
-
-		assertDoesNotExistInBundlesInfo("3.0", "bbb");
-		assertFalse("3.1", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("3.3", "ccc");
-		assertTrue("3.4", isInstalled("ccc", "1.0.0"));
-
-		removeLinkFile("4.0", linkFilename);
-		reconcile("4.1");
-		assertDoesNotExistInBundlesInfo("5.0", "bbb");
-		assertFalse("5.1", isInstalled("bbb", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("5.3", "ccc");
-		assertFalse("5.4", isInstalled("ccc", "1.0.0"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ConfigurationTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ConfigurationTests.java
deleted file mode 100644
index bf1cbfd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ConfigurationTests.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.io.File;
-import java.util.Iterator;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/*
- * Tests related to the platform configuration before and after reconciliation.
- * 
- * Tests to add and regression tests to add:
- * - ensure there is a platform:base: entry
- * - 222505 - IUs in the dropins only rely on each other and not on things already in the install
- * - ...
- */
-public class ConfigurationTests extends AbstractReconcilerTest {
-
-	/*
-	 * Constructor for the class.
-	 */
-	public ConfigurationTests(String name) {
-		super(name);
-	}
-
-	/*
-	 * The list of tests for this class. Order is important since some of them rely
-	 * on the state from the previous test run.
-	 */
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite();
-		suite.addTest(new ConfigurationTests("testDiscoverOne"));
-		suite.addTest(new ConfigurationTests("test_247095"));
-		suite.addTest(new ConfigurationTests("test_247095b"));
-		suite.addTest(new ConfigurationTests("test_249607"));
-		suite.addTest(new ConfigurationTests("test_249898"));
-		suite.addTest(new ConfigurationTests("testSiteEnabled"));
-		suite.addTest(new ConfigurationTests("test_232094a"));
-		suite.addTest(new ConfigurationTests("test_232094b"));
-		// suite.addTest(new ConfigurationTests("test_p2Site"));
-		return suite;
-	}
-
-	public void testDiscoverOne() {
-		// copy feature and bundle to dropins and reconcile
-		assertInitialized();
-		File featureFile = getTestData("2.0", "testData/reconciler/features/myFeature_1.0.0");
-		add("2.2", "dropins/features", featureFile);
-		File bundleFile = getTestData("2.3", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("2.4", "dropins/plugins", bundleFile);
-		assertDoesNotExistInBundlesInfo("2.5", "myBundle");
-		assertFalse("2.6", isInstalled("myBundle", "1.0.0"));
-		reconcile("2.7");
-
-		// make sure the feature is listed in a site in the configuration
-		Configuration config = getConfiguration();
-		assertFeatureExists("3.0", config, "myFeature", "1.0.0");
-		assertTrue("3.1", isInstalled("myFeature.feature.group", "1.0.0"));
-		assertTrue("3.2", isInstalled("myBundle", "1.0.0"));
-		assertExistsInBundlesInfo("3.3", "myBundle");
-
-		// cleanup
-		remove("99.0", "dropins/plugins", bundleFile.getName());
-		remove("99.1", "dropins/features", featureFile.getName());
-		reconcile("99.2");
-		config = getConfiguration();
-		assertFalse("99.4", isInstalled("myFeature.feature.group", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("99.5", "myBundle");
-		assertFalse("99.6", isInstalled("myBundle", "1.0.0"));
-	}
-
-	/*
-	 * Test discovering a site in a platform.xml file and installing the bundles from it.
-	 * Then change the site to be disabled and then re-reconcile.
-	 */
-	public void testSiteEnabled() {
-		assertInitialized();
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		Configuration configuration = getConfiguration();
-		String siteLocation = new File(temp, "eclipse").toURI().toString();
-
-		File source = getTestData("2.0", "testData/reconciler/ext.jar");
-		copy("2.1", source, temp);
-
-		/* this is the entry to add to the site.xml file
-		<site enabled="true" policy="USER-EXCLUDE" updateable="false" url="file:C:/share/1/">
-			<feature id="bbb.feature" version="1.0.0" />
-		</site>
-		*/
-		assertDoesNotExistInBundlesInfo("3.01", "bbb");
-		assertDoesNotExistInBundlesInfo("3.02", "ccc");
-		assertFalse("3.11", isInstalled("bbb", "1.0.0"));
-		assertFalse("3.12", isInstalled("ccc", "1.0.0"));
-		Site site = createSite(Site.POLICY_USER_EXCLUDE, true, false, siteLocation, null);
-		Feature feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("3.2", configuration);
-		reconcile("3.3");
-		assertExistsInBundlesInfo("3.41", "bbb");
-		assertExistsInBundlesInfo("3.42", "ccc");
-		assertTrue("3.51", isInstalled("bbb", "1.0.0"));
-		assertTrue("3.52", isInstalled("ccc", "1.0.0"));
-		// make sure the feature is listed in a site in the configuration
-		configuration = getConfiguration();
-		assertFeatureExists("3.6", configuration, "bbb.feature", "1.0.0");
-
-		// change the configuration so the site is disabled
-		assertTrue("4.0", removeSite(configuration, siteLocation));
-		site = createSite(Site.POLICY_USER_EXCLUDE, false, false, siteLocation, null);
-		feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("4.1", configuration);
-		reconcile("4.2");
-
-		// verify
-		assertDoesNotExistInBundlesInfo("5.01", "bbb");
-		assertDoesNotExistInBundlesInfo("5.02", "ccc");
-		assertFalse("5.11", isInstalled("bbb", "1.0.0"));
-		assertFalse("5.12", isInstalled("ccc", "1.0.0"));
-	}
-
-	/*
-	 * We have a user-include site which lists some plug-ins and has a feature as
-	 * a sub-element of the site. When the feature and its plug-ins are removed
-	 * from the site we need to ensure the plug-ins are removed from the install.
-	 */
-	public void test_247095() {
-		assertInitialized();
-		Configuration configuration = getConfiguration();
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		String siteLocation = null;
-		siteLocation = new File(temp, "eclipse").toURI().toString();
-
-		// copy the data to the temp folder
-		File source = getTestData("1.0", "testData/reconciler/247095");
-		copy("1.1", source, temp);
-
-		/* this is the entry to add to the site.xml file
-			<site enabled="true" policy="USER-INCLUDE" updateable="false"
-					url="file:C:/share/1/" list="plugins/hello_1.0.0.jar" >
-				<feature id="hello_feature" version="1.0.0" />
-			</site>
-		 */
-		Site site = createSite(Site.POLICY_USER_INCLUDE, true, false, siteLocation, new String[] {"plugins/bbb_1.0.0.jar,plugins/ccc_1.0.0.jar"});
-		Feature feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("5.0", configuration);
-		reconcile("6.0");
-		assertExistsInBundlesInfo("7.0", "bbb", "1.0.0");
-		assertTrue("7.1", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("7.2", "ccc", "1.0.0");
-		assertTrue("7.3", isInstalled("ccc", "1.0.0"));
-		configuration = getConfiguration();
-		assertFeatureExists("8.0", configuration, "bbb.feature", "1.0.0");
-
-		// remove the feature and its bundle from the platform.xml but leave the second bundle
-		configuration = getConfiguration();
-		assertTrue("9.0", removeSite(configuration, siteLocation));
-		site = createSite(Site.POLICY_USER_INCLUDE, true, false, siteLocation, new String[] {"plugins/ccc_1.0.0.jar"});
-		configuration.add(site);
-		save("9.1", configuration);
-		reconcile("10.0");
-		assertDoesNotExistInBundlesInfo("10.1", "bbb", "1.0.0");
-		assertFalse("10.2", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("10.3", "ccc", "1.0.0");
-		assertTrue("10.4", isInstalled("ccc", "1.0.0"));
-
-		// cleanup
-		configuration = getConfiguration();
-		removeSite(configuration, siteLocation);
-		save("99.2", configuration);
-		reconcile("99.3");
-		assertDoesNotExistInBundlesInfo("99.4", "ccc", "1.0.0");
-		assertFalse("99.5", isInstalled("ccc", "1.0.0"));
-	}
-
-	/*
-	 * Same but delete the files from disk. (other test cases doesn't delete the files... simulates
-	 * the use of a shared bundle pool)
-	 */
-	public void test_247095b() {
-		assertInitialized();
-		Configuration configuration = getConfiguration();
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		String siteLocation = null;
-		siteLocation = new File(temp, "eclipse").toURI().toString();
-
-		// copy the data to the temp folder
-		File source = getTestData("1.0", "testData/reconciler/247095");
-		copy("1.1", source, temp);
-
-		/* this is the entry to add to the site.xml file
-			<site enabled="true" policy="USER-INCLUDE" updateable="false"
-					url="file:C:/share/1/" list="plugins/hello_1.0.0.jar" >
-				<feature id="hello_feature" version="1.0.0" />
-			</site>
-		 */
-		Site site = createSite(Site.POLICY_USER_INCLUDE, true, false, siteLocation, new String[] {"plugins/bbb_1.0.0.jar,plugins/ccc_1.0.0.jar"});
-		Feature feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("5.0", configuration);
-		reconcile("6.0");
-		assertExistsInBundlesInfo("7.0", "bbb", "1.0.0");
-		assertTrue("7.1", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("7.2", "ccc", "1.0.0");
-		assertTrue("7.3", isInstalled("ccc", "1.0.0"));
-		configuration = getConfiguration();
-		assertFeatureExists("8.0", configuration, "bbb.feature", "1.0.0");
-
-		// remove the feature and its bundle from the platform.xml but leave the second bundle
-		configuration = getConfiguration();
-		assertTrue("9.0", removeSite(configuration, siteLocation));
-		site = createSite(Site.POLICY_USER_INCLUDE, true, false, siteLocation, new String[] {"plugins/ccc_1.0.0.jar"});
-		configuration.add(site);
-		save("9.1", configuration);
-		File parent = new File(temp, "eclipse");
-		assertTrue("9.2", delete(new File(parent, "plugins/bbb_1.0.0.jar")));
-		assertTrue("9.3", delete(new File(parent, "features/bbb.feature_1.0.0")));
-		reconcile("10.0");
-		assertDoesNotExistInBundlesInfo("10.1", "bbb", "1.0.0");
-		assertFalse("10.2", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("10.3", "ccc", "1.0.0");
-		assertTrue("10.4", isInstalled("ccc", "1.0.0"));
-
-		// cleanup
-		configuration = getConfiguration();
-		removeSite(configuration, siteLocation);
-		save("99.2", configuration);
-		reconcile("99.3");
-		assertDoesNotExistInBundlesInfo("99.4", "ccc", "1.0.0");
-		assertFalse("99.5", isInstalled("ccc", "1.0.0"));
-	}
-
-	/*
-	 * There was a problem if we had a user-exclude site policy and a list of
-	 * features, we were always adding the features to the excludes list and
-	 * therefore they were never installed.
-	 */
-	public void test_249607() {
-		assertInitialized();
-		Configuration configuration = getConfiguration();
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		String siteLocation = null;
-		siteLocation = new File(temp, "eclipse").toURI().toString();
-
-		// copy the data to the temp folder
-		File source = getTestData("1.0", "testData/reconciler/247095");
-		copy("1.1", source, temp);
-
-		Site site = createSite(Site.POLICY_USER_EXCLUDE, true, false, siteLocation, new String[] {"plugins/ccc_1.0.0.jar"});
-		Feature feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("2.0", configuration);
-		reconcile("2.1");
-		assertExistsInBundlesInfo("2.2", "bbb", "1.0.0");
-		assertTrue("2.3", isInstalled("bbb", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("2.4", "ccc");
-		assertFalse("2.4", isInstalled("ccc", "1.0.0"));
-		configuration = getConfiguration();
-		assertFeatureExists("3.0", configuration, "bbb.feature", "1.0.0");
-		assertTrue("3.1", isInstalled("bbb.feature.feature.group", "1.0.0"));
-
-		// cleanup
-		configuration = getConfiguration();
-		removeSite(configuration, siteLocation);
-		save("99.2", configuration);
-		reconcile("99.3");
-		assertDoesNotExistInBundlesInfo("99.4", "bbb", "1.0.0");
-		assertFalse("99.5", isInstalled("bbb", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("99.6", "ccc", "1.0.0");
-		assertFalse("99.7", isInstalled("ccc", "1.0.0"));
-	}
-
-	/*
-	 * Add a site to the platform.xml, reconcile, ensure its contents are installed, remove the site,
-	 * reconcile, ensure the contents are uninstalled.
-	 */
-	public void test_249898() {
-		assertInitialized();
-		Configuration configuration = getConfiguration();
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		String siteLocation = new File(temp, "eclipse").toURI().toString();
-
-		// copy the data to the temp folder
-		File source = getTestData("1.0", "testData/reconciler/247095");
-		copy("1.1", source, temp);
-
-		Site site = createSite(Site.POLICY_USER_INCLUDE, true, false, siteLocation, new String[] {"plugins/bbb_1.0.0.jar,plugins/ccc_1.0.0.jar"});
-		Feature feature = createFeature(site, "bbb.feature", "1.0.0", "features/bbb.feature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("5.0", configuration);
-		reconcile("6.0");
-		assertExistsInBundlesInfo("7.0", "bbb", "1.0.0");
-		assertTrue("7.1", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("7.2", "ccc", "1.0.0");
-		assertTrue("7.3", isInstalled("ccc", "1.0.0"));
-		configuration = getConfiguration();
-		assertFeatureExists("8.0", configuration, "bbb.feature", "1.0.0");
-
-		// remove the site from the platform.xml
-		configuration = getConfiguration();
-		assertTrue("9.0", removeSite(configuration, siteLocation));
-		save("9.1", configuration);
-		reconcile("10.0");
-		assertDoesNotExistInBundlesInfo("10.1", "bbb", "1.0.0");
-		assertFalse("10.2", isInstalled("bbb", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("10.3", "ccc", "1.0.0");
-		assertFalse("10.4", isInstalled("ccc", "1.0.0"));
-	}
-
-	/*
-	 * Test extension locations that have both JAR'd bundles and directory-based bundles.
-	 */
-	public void test_232094a() {
-		assertInitialized();
-		internal_test_232094(getTestData("1.0", "testData/reconciler/ext.dir"));
-	}
-
-	public void test_232094b() {
-		assertInitialized();
-		internal_test_232094(getTestData("1.0", "testData/reconciler/ext.jar"));
-	}
-
-	/*
-	 * Test the case where we have a new site in the platform.xml file which was added
-	 * by the user putting a .link file in the links/ folder. Then they delete the link file
-	 * and the features and plug-ins should be uninstalled.
-	 */
-	private void internal_test_232094(File source) {
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		// copy the data to an extension location
-		copy("1.1", source, temp);
-
-		// create the file in the links/ folder
-		createLinkFile("2.0", "myLink", temp.getAbsolutePath());
-
-		// reconcile
-		reconcile("3.0");
-
-		// ensure everything was added ok
-		assertExistsInBundlesInfo("4.0", "bbb");
-		assertTrue("4.1", isInstalled("bbb", "1.0.0"));
-		assertExistsInBundlesInfo("4.2", "ccc");
-		assertTrue("4.3", isInstalled("ccc", "1.0.0"));
-		assertTrue("4.4", isInstalled("bbb.feature.feature.group", "1.0.0"));
-		assertFeatureExists("4.5", getConfiguration(), "bbb.feature", "1.0.0");
-
-		// delete the link file from the links/ folder
-		removeLinkFile("5.0", "myLink");
-
-		// reconcile
-		reconcile("6.0");
-
-		// ensure things were uninstalled
-		assertDoesNotExistInBundlesInfo("7.0", "bbb");
-		assertFalse("7.1", isInstalled("bbb", "1.0.0"));
-		assertDoesNotExistInBundlesInfo("7.2", "ccc");
-		assertFalse("7.3", isInstalled("ccc", "1.0.0"));
-		assertFalse("7.4", isInstalled("bbb.feature.feature.group", "1.0.0"));
-		boolean found = false;
-		for (Iterator iter = getConfiguration().getSites().iterator(); iter.hasNext();) {
-			Site site = (Site) iter.next();
-			String link = site.getLinkFile();
-			if (link != null && link.contains("myLink"))
-				found = true;
-		}
-		assertFalse("7.5", found);
-	}
-
-	/*
-	 * Add a new site to the platform.xml file which points to a location that contains
-	 * a p2 repository. (content.jar and artifacts.jar + bundles)
-	 */
-	public void test_p2Site() {
-		assertInitialized();
-
-		// initial reconciliation to create platform.xml
-		reconcile("0.1");
-
-		File temp = getTempFolder();
-		toRemove.add(temp);
-		File source = getTestData("1.0", "testData/reconciler/basicRepo");
-		copy("1.1", source, temp);
-
-		String siteLocation = temp.toURI().toString();
-		Configuration configuration = getConfiguration();
-		Site site = createSite(Site.POLICY_USER_EXCLUDE, true, false, siteLocation, null);
-		Feature feature = createFeature(site, "zFeature", "1.0.0", "features/zFeature_1.0.0/");
-		site.addFeature(feature);
-		configuration.add(site);
-		save("2.0", configuration);
-		reconcile("2.1");
-
-		assertExistsInBundlesInfo("3.0", "zzz");
-		assertTrue("3.1", isInstalled("zzz", "1.0.0"));
-		assertTrue("3.2", isInstalled("zFeature.feature.group", "1.0.0"));
-		IInstallableUnit unit = getRemoteIU("zzz", "1.0.0");
-		assertEquals("3.3", "foo", unit.getProperty("test"));
-
-		// cleanup
-		configuration = getConfiguration();
-		assertTrue("99.0", removeSite(configuration, siteLocation));
-		save("99.1", configuration);
-		reconcile("99.2");
-		assertDoesNotExistInBundlesInfo("99.3", "zzz", "1.0.0");
-		assertFalse("99.4", isInstalled("zzz", "1.0.0"));
-		assertFalse("99.5", isInstalled("zFeature.feature.group", "1.0.0"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/FeaturePatchTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/FeaturePatchTest.java
deleted file mode 100644
index 75ac679..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/FeaturePatchTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.io.File;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/*
- * Test suite for feature patches.
- */
-public class FeaturePatchTest extends AbstractReconcilerTest {
-
-	public FeaturePatchTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * The list of tests for this class. Order is important since some of them rely
-	 * on the state from the previous test run.
-	 */
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite();
-		suite.addTest(new FeaturePatchTest("testPatchingDroppedInFeature"));
-		suite.addTest(new FeaturePatchTest("testAddBundle"));
-		return suite;
-	}
-
-	/*
-	 * Test the case where we have a feature in the drop-ins folder and then
-	 * we try and apply a feature patch to it.
-	 */
-	public void testPatchingDroppedInFeature() {
-		// TODO enable once we fix being able to patch a feature from the drop-ins
-		if (DISABLED)
-			return;
-		assertInitialized();
-		// copy the feature into the dropins folder
-		File file = getTestData("1.0", "testData/reconciler/features/myFeature_1.0.0");
-		add("1.1", "dropins/features", file);
-		file = getTestData("1.2", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("1.3", "dropins/plugins", file);
-		// reconcile
-		reconcile("1.4");
-		// check all is good
-		assertExistsInBundlesInfo("1.5", "myBundle", "1.0.0");
-
-		// copy the patch into the dropins folder
-		file = getTestData("2.0", "testData/reconciler/features/myFeaturePatch_2.0.0");
-		add("2.1", "dropins/features", file);
-		file = getTestData("2.2", "testData/reconciler/plugins/myBundle_2.0.0.jar");
-		add("2.3", "dropins/plugins", file);
-		// reconcile
-		reconcile("2.4");
-		// check all is good
-		assertExistsInBundlesInfo("2.5", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("2.6", "myBundle", "2.0.0");
-
-		// cleanup
-		remove("3.0", "dropins/features", "myFeature_1.0.0");
-		remove("3.1", "dropins/plugins", "myBundle_1.0.0.jar");
-		remove("3.2", "dropins/features", "myFeaturePatch_2.0.0");
-		remove("3.3", "dropins/plugins", "myBundle_2.0.0.jar");
-		assertDoesNotExistInBundlesInfo("3.4", "myBundle");
-	}
-
-	/*
-	 * Test the case where the feature patch adds a new bundle (with a new id) to the system.
-	 * For more information see bug 240370.
-	 */
-	public void testAddBundle() {
-		// TODO enable this test when bug 240370 is fixed.
-		if (DISABLED)
-			return;
-		assertInitialized();
-		File file = getTestData("1.0", "testData/reconciler/features/myFeature_1.0.0");
-		add("1.1", "dropins/features", file);
-		file = getTestData("1.2", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("1.3", "dropins/plugins", file);
-		reconcile("1.4");
-		assertExistsInBundlesInfo("1.5", "myBundle", "1.0.0");
-
-		file = getTestData("2.0", "testData/reconciler/features/myFeaturePatch_1.0.0");
-		add("2.1", "dropins/features", file);
-		file = getTestData("2.2", "testData/reconciler/plugins/mySingletonBundle_1.0.0.jar");
-		add("2.3", "dropins/plugins", file);
-		reconcile("2.4");
-		assertExistsInBundlesInfo("2.5", "myBundle", "1.0.0");
-		assertExistsInBundlesInfo("2.6", "mySingletonBundle", "1.0.0");
-
-		remove("3.0", "dropins/features", "myFeature_1.0.0");
-		remove("3.1", "dropins/plugins", "myBundle_1.0.0.jar");
-		remove("3.2", "dropins/features", "myFeaturePatch_1.0.0");
-		remove("3.3", "dropins/plugins", "mySingletonBundle_1.0.0.jar");
-		assertDoesNotExistInBundlesInfo("3.4", "myBundle");
-		assertDoesNotExistInBundlesInfo("3.5", "mySingletonBundle");
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ReconcilerTestSuite.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ReconcilerTestSuite.java
deleted file mode 100644
index c60ddf6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/ReconcilerTestSuite.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.util.Enumeration;
-import java.util.Vector;
-import junit.framework.*;
-
-public class ReconcilerTestSuite extends TestSuite {
-
-	private Test INITIALIZE;
-	private Test CLEANUP;
-	private String propertyToPlatformArchive;
-
-	public ReconcilerTestSuite() {
-		super();
-		INITIALIZE = getInitializationTest();
-		CLEANUP = getCleanUpTest();
-	}
-
-	public ReconcilerTestSuite(String propertyToPlatformArchive) {
-		super();
-		this.propertyToPlatformArchive = propertyToPlatformArchive;
-		INITIALIZE = getInitializationTest();
-		CLEANUP = getCleanUpTest();
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestSuite#tests()
-	 */
-	public Enumeration tests() {
-		Vector result = new Vector();
-		result.add(INITIALIZE);
-		for (Enumeration e = super.tests(); e.hasMoreElements();)
-			result.add(e.nextElement());
-		result.add(CLEANUP);
-		return result.elements();
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestSuite#testCount()
-	 */
-	public int testCount() {
-		return super.testCount() + 2;
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestSuite#testAt(int)
-	 */
-	public Test testAt(int index) {
-		if (index == 0)
-			return INITIALIZE;
-		if (index == testCount() - 1)
-			return CLEANUP;
-		return super.testAt(index - 1);
-	}
-
-	public Test getInitializationTest() {
-		return new AbstractReconcilerTest("initialize", propertyToPlatformArchive);
-	}
-
-	public Test getCleanUpTest() {
-		return new AbstractReconcilerTest("cleanup");
-	}
-
-	/**
-	 * Runs the tests and collects their result in a TestResult.
-	 * 
-	 * We must override this method in order to run against JUnit4 which doesn't
-	 * invoke tests().
-	 */
-	public void run(TestResult result) {
-		for (Enumeration e = tests(); e.hasMoreElements();) {
-			Test each = (Test) e.nextElement();
-			if (result.shouldStop())
-				break;
-			runTest(each, result);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/SharedInstallTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/SharedInstallTests.java
deleted file mode 100644
index fa9acd5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/SharedInstallTests.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.reconciler.dropins;
-
-import java.io.*;
-import java.util.Properties;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.p2.updatesite.Activator;
-
-public class SharedInstallTests extends AbstractReconcilerTest {
-
-	private static final boolean WINDOWS = java.io.File.separatorChar == '\\';
-	private static File readOnlyBase;
-	private static File userBase;
-
-	public static Test suite() {
-		TestSuite suite = new ReconcilerTestSuite();
-		suite.setName(SharedInstallTests.class.getName());
-		suite.addTest(new SharedInstallTests("testBasicStartup"));
-		suite.addTest(new SharedInstallTests("testReadOnlyDropinsStartup"));
-		suite.addTest(new SharedInstallTests("testUserDropinsStartup"));
-		return suite;
-	}
-
-	/*
-	 * Constructor for the class.
-	 */
-	public SharedInstallTests(String name) {
-		super(name);
-	}
-
-	public static void reconcileReadOnly(String message) {
-		File root = new File(Activator.getBundleContext().getProperty("java.home"));
-		root = new File(root, "bin");
-		File exe = new File(root, "javaw.exe");
-		if (!exe.exists())
-			exe = new File(root, "java");
-
-		String configuration = new File(userBase, "configuration").getAbsolutePath();
-		String[] command = new String[] {(new File(output, "eclipse/eclipse")).getAbsolutePath(), "--launcher.suppressErrors", "-nosplash", "-application", "org.eclipse.equinox.p2.reconciler.application", "-configuration", configuration, "-vm", exe.getAbsolutePath(), "-vmArgs", "-Dosgi.checkConfiguration=true"};
-		run(message, command);
-	}
-
-	public static void setReadOnly(File target, boolean readOnly) {
-		if (WINDOWS) {
-			String targetPath = target.getAbsolutePath();
-			String[] command = new String[] {"attrib", readOnly ? "+r" : "-r", targetPath, "/s", "/d"};
-			run("setReadOnly " + readOnly + " failed on" + target.getAbsolutePath(), command);
-			if (target.isDirectory()) {
-				targetPath += "\\*.*";
-				command = new String[] {"attrib", readOnly ? "+r" : "-r", targetPath, "/s", "/d"};
-				run("setReadOnly " + readOnly + " failed on" + target.getAbsolutePath(), command);
-			}
-		} else {
-			String[] command = new String[] {"chmod", "-R", readOnly ? "-w" : "+w", target.getAbsolutePath()};
-			run("setReadOnly " + readOnly + " failed on" + target.getAbsolutePath(), command);
-		}
-	}
-
-	private static void cleanupReadOnlyInstall() {
-		delete(userBase);
-		setReadOnly(readOnlyBase, false);
-		assertTrue("0.7", readOnlyBase.canWrite());
-	}
-
-	private static void setupReadOnlyInstall() {
-		readOnlyBase = new File(output, "eclipse");
-		assertTrue(readOnlyBase.canWrite());
-		setReadOnly(readOnlyBase, true);
-		assertFalse(readOnlyBase.canWrite());
-		userBase = new File(output, "user");
-		userBase.mkdir();
-	}
-
-	public void testBasicStartup() throws IOException {
-		assertInitialized();
-		setupReadOnlyInstall();
-		try {
-			File userBundlesInfo = new File(userBase, "configuration/org.eclipse.equinox.simpleconfigurator/bundles.info");
-			File userConfigIni = new File(userBase, "configuration/config.ini");
-			assertFalse("0.1", userBundlesInfo.exists());
-			assertFalse("0.2", userConfigIni.exists());
-			reconcileReadOnly("0.21");
-			assertFalse("0.3", userBundlesInfo.exists());
-			assertTrue("0.4", userConfigIni.exists());
-
-			Properties props = new Properties();
-			InputStream is = new BufferedInputStream(new FileInputStream(userConfigIni));
-			try {
-				props.load(is);
-			} finally {
-				is.close();
-			}
-			assertTrue("0.5", props.containsKey("osgi.sharedConfiguration.area"));
-			assertTrue("0.6", props.size() == 1);
-		} finally {
-			cleanupReadOnlyInstall();
-		}
-	}
-
-	public void testReadOnlyDropinsStartup() throws IOException {
-		if (Platform.getOS().equals(Platform.OS_MACOSX))
-			return;
-
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "myBundle");
-		File jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		add("0.2", "dropins", jar);
-		setupReadOnlyInstall();
-		try {
-			File userBundlesInfo = new File(userBase, "configuration/org.eclipse.equinox.simpleconfigurator/bundles.info");
-			File userConfigIni = new File(userBase, "configuration/config.ini");
-			assertFalse("0.1", userBundlesInfo.exists());
-			assertFalse("0.2", userConfigIni.exists());
-
-			reconcileReadOnly("0.21");
-
-			assertTrue("0.3", userBundlesInfo.exists());
-			assertTrue("0.4", userConfigIni.exists());
-
-			assertTrue(isInBundlesInfo("myBundle", null, userBundlesInfo));
-
-			// remove the bundle from the dropins and reconcile
-			setReadOnly(readOnlyBase, false);
-			assertTrue("0.7", readOnlyBase.canWrite());
-			remove("1.0", "dropins", "myBundle_1.0.0.jar");
-			setReadOnly(readOnlyBase, true);
-			assertFalse("0.7", readOnlyBase.canWrite());
-
-			reconcileReadOnly("0.21");
-			assertFalse(isInBundlesInfo("myBundle", null, userBundlesInfo));
-		} finally {
-			cleanupReadOnlyInstall();
-			// try to remove it in case an exception was thrown
-			remove("1.0", "dropins", "myBundle_1.0.0.jar");
-		}
-	}
-
-	public void testUserDropinsStartup() throws IOException {
-		if (Platform.getOS().equals(Platform.OS_MACOSX))
-			return;
-
-		assertInitialized();
-		assertDoesNotExistInBundlesInfo("0.1", "myBundle");
-		File jar = getTestData("2.0", "testData/reconciler/plugins/myBundle_1.0.0.jar");
-		File dropins = new File(userBase, "dropins");
-		setupReadOnlyInstall();
-		try {
-			dropins.mkdir();
-
-			copy("copying to dropins", jar, new File(dropins, jar.getName()));
-
-			File userBundlesInfo = new File(userBase, "configuration/org.eclipse.equinox.simpleconfigurator/bundles.info");
-			File userConfigIni = new File(userBase, "configuration/config.ini");
-			assertFalse("0.1", userBundlesInfo.exists());
-			assertFalse("0.2", userConfigIni.exists());
-
-			reconcileReadOnly("0.21");
-
-			assertTrue("0.3", userBundlesInfo.exists());
-			assertTrue("0.4", userConfigIni.exists());
-
-			assertTrue(isInBundlesInfo("myBundle", null, userBundlesInfo));
-
-			// remove the bundle from the dropins and reconcile
-			delete(dropins);
-
-			reconcileReadOnly("0.21");
-			assertFalse(isInBundlesInfo("myBundle", null, userBundlesInfo));
-		} finally {
-			delete(dropins);
-			cleanupReadOnlyInstall();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTestServerTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTestServerTests.java
deleted file mode 100644
index ecb0a26..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTestServerTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.p2.tests.testserver.helper.AbstractTestServerSuite;
-
-public class AllTestServerTests extends AbstractTestServerSuite {
-
-	public AllTestServerTests(String testName) {
-		super(testName);
-	}
-
-	public static Test suite() throws Exception {
-		final TestSuite suite = new TestSuite("AllTestServerTests");
-		addToSuite(suite);
-		return suite;
-	}
-
-	public static void addToSuite(TestSuite suite) {
-		suite.addTest(new AbstractTestServerSuite("startServer"));
-
-		suite.addTestSuite(FileInfoReaderTest.class);
-		suite.addTestSuite(FileReaderTest.class);
-		suite.addTestSuite(NTLMTest.class);
-
-		suite.addTest(new AbstractTestServerSuite("stopServer"));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTests.java
deleted file mode 100644
index e67cb15..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.repository;
-
-import junit.framework.*;
-
-/**
- * Performs all automated repository bundle tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(RepositoryHelperTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileInfoReaderTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileInfoReaderTest.java
deleted file mode 100644
index cbaeb7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileInfoReaderTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import java.net.ConnectException;
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.AuthenticationFailedException;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.p2.tests.testserver.helper.AbstractTestServerClientCase;
-
-/**
- * Tests FileInfoReader.
- */
-public class FileInfoReaderTest extends AbstractTestServerClientCase {
-
-	public void testUnknownHost() throws Exception {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://bogus.nowhere/nothing.xml");
-		IStatus status = null;
-		try {
-			transport.getLastModified(toDownload, new NullProgressMonitor());
-		} catch (CoreException e) {
-			status = e.getStatus();
-		}
-		assertEquals("Should be an error", status.getSeverity(), IStatus.ERROR);
-		assertTrue("Should begin with 'Unknown Host'", status.getMessage().startsWith("Unknown Host"));
-	}
-
-	public void testBadPort() throws Exception {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://localhost:1/nothing.xml");
-		IStatus status = null;
-		try {
-			transport.getLastModified(toDownload, new NullProgressMonitor());
-		} catch (CoreException e) {
-			status = e.getStatus();
-		}
-
-		assertEquals("Should be an error", status.getSeverity(), IStatus.ERROR);
-		assertTrue("Should be a connect exception", status.getException() instanceof ConnectException);
-		assertTrue("Should begin with 'Connection refused'", status.getException().getMessage().startsWith("Connection refused"));
-	}
-
-	public void testRedirect() throws Exception {
-		this.setAladdinLoginService();
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		// apache http client accepts 100 redirects
-		URI toDownload = new URI(getBaseURL() + "/redirect/101/public/index.html");
-		boolean caught = false;
-		try {
-			transport.getLastModified(toDownload, new NullProgressMonitor());
-		} catch (AuthenticationFailedException e) {
-			caught = true;
-		} catch (Throwable t) {
-			failNotEquals("Wrong exception on 'redirected too many times'", AuthenticationFailedException.class, t.getClass());
-			t.printStackTrace();
-		}
-		assertTrue("Should have caught AuthenticationFailedException", caught);
-	}
-	// TODO: test
-	// timeout, cancel of timeout (TimeoutTest)
-	// bad date returned, very old, and in the future
-	// redirected many times = login
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileReaderTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileReaderTest.java
deleted file mode 100644
index b0d2080..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/FileReaderTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.p2.tests.testserver.helper.AbstractTestServerClientCase;
-
-/**
- * Tests FileReader.
- */
-public class FileReaderTest extends AbstractTestServerClientCase {
-
-	public void testUnknownHost() throws URISyntaxException {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://bogus.nowhere/nothing.xml");
-		OutputStream target = new ByteArrayOutputStream();
-		IStatus status = transport.download(toDownload, target, new NullProgressMonitor());
-
-		assertEquals("Should be an error", status.getSeverity(), IStatus.ERROR);
-		assertTrue("Should begin with 'Unknown Host'", status.getMessage().startsWith("Unknown Host"));
-	}
-
-	public void testBadPort() throws URISyntaxException {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://localhost:1/nothing.xml");
-		OutputStream target = new ByteArrayOutputStream();
-		IStatus status = transport.download(toDownload, target, new NullProgressMonitor());
-
-		assertEquals("Should be an error", status.getSeverity(), IStatus.ERROR);
-		assertTrue("Should be a connect exception", status.getException() instanceof ConnectException);
-		assertTrue("Should begin with 'Connection refused'", status.getException().getMessage().startsWith("Connection refused"));
-	}
-
-	/**
-	 * Tests a successful read.
-	 */
-	public void testReadStream() throws URISyntaxException, CoreException, IOException {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://localhost:8080/public/index.html");
-		final NullProgressMonitor monitor = new NullProgressMonitor();
-		InputStream stream = transport.stream(toDownload, monitor);
-		stream.close();
-		assertFalse("1.0", monitor.isCanceled());
-	}
-
-	/**
-	 * Tests a successful read.
-	 */
-	public void testRead() throws URISyntaxException, CoreException, IOException {
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI("http://localhost:8080/public/index.html");
-		OutputStream target = new ByteArrayOutputStream();
-		final NullProgressMonitor monitor = new NullProgressMonitor();
-		IStatus result = transport.download(toDownload, target, monitor);
-		assertTrue("1.0", result.isOK());
-	}
-	// TODO: test
-	// timeout, cancel of timeout (TimeoutTest)
-	// bad date returned, very old, and in the future
-	// redirected many times = login
-
-	// handling of incorrect file size
-	// 
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/NTLMTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/NTLMTest.java
deleted file mode 100644
index 35e8617..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/NTLMTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.testserver.helper.AbstractTestServerClientCase;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Test response to various HTTP status codes.
- */
-public class NTLMTest extends AbstractTestServerClientCase {
-	private IMetadataRepositoryManager mgr;
-	private URI repoLoc;
-	protected String authTestFailMessage;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		ServiceReference sr2 = TestActivator.context.getServiceReference(IMetadataRepositoryManager.SERVICE_NAME);
-		mgr = (IMetadataRepositoryManager) TestActivator.context.getService(sr2);
-		if (mgr == null) {
-			throw new RuntimeException("Repository manager could not be loaded");
-		}
-	}
-
-	private void setUpRepo(String repo) throws Exception {
-		repoLoc = new URI(repo);
-		mgr.removeRepository(repoLoc);
-		if (mgr.contains(repoLoc))
-			throw new RuntimeException("Error - An earlier test did not leave a clean state - could not remove repo");
-
-	}
-
-	@Override
-	public void tearDown() throws Exception {
-		super.tearDown();
-		if (repoLoc != null)
-			mgr.removeRepository(repoLoc);
-	}
-
-	/**
-	 * Test that a repeated status of 477 switches to JRE Http Client once.
-	 * TODO - test is incomplete, there is no test that switch has taken place yet.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void test477Status() throws ProvisionException, Exception {
-		setUpRepo(super.getBaseURL() + "/status/477");
-
-		try {
-			mgr.loadRepository(repoLoc, null);
-		} catch (OperationCanceledException e) {
-			fail("The repository load was canceled - the UI auth service is probably not running");
-		} catch (ProvisionException e) {
-
-			IStatus status = e.getStatus();
-			String msg = e.getMessage();
-
-			// Print for human inspection - should be "REPOSITORY FAILED AUTHENTICATION
-			// in this simple test (i.e. too many attempts)
-			System.out.print(String.format("HTTP 477 => %s e-message: [%s]\n", //
-					provisionCodeToText(status.getCode()), msg));
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-
-	}
-
-	private static String provisionCodeToText(int code) {
-		String msg = "REPOSITORY_";
-		switch (code) {
-			case ProvisionException.REPOSITORY_EXISTS :
-				return msg + "EXISTS";
-			case ProvisionException.REPOSITORY_FAILED_AUTHENTICATION :
-				return msg + "FAILED_AUTHENTICATION";
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				return msg + "FAILED_READ";
-			case ProvisionException.REPOSITORY_FAILED_WRITE :
-				return msg + "FAILED_WRITE";
-			case ProvisionException.REPOSITORY_INVALID_LOCATION :
-				return msg + "INVALID_LOCATION";
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				return msg + "NOT_FOUND";
-			case ProvisionException.REPOSITORY_READ_ONLY :
-				return msg + "READ_ONLY";
-			case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
-				return msg + "UNKNOWN_TYPE";
-			default :
-				return msg + String.format("<unrecognized error code: %d >", code);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/RepositoryHelperTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/RepositoryHelperTest.java
deleted file mode 100644
index 9f19f8d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/RepositoryHelperTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc 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:
- *     Cloudsmith Inc - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
-
-/**
- * Tests RepositoryHandler
- */
-public class RepositoryHelperTest extends TestCase {
-
-	public void testURISyntaxChecker() throws URISyntaxException {
-		URI location = new URI("http://somwhere.com/path");
-		IStatus result = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		assertTrue("1.0 Valid URI should be ok", result.isOK());
-
-		location = new URI("ftp://somwhere.com/path");
-		result = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		assertTrue("2.0 Valid URI should be ok", result.isOK());
-
-		location = new URI("https://somwhere.com/path");
-		result = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		assertTrue("3.0 Valid URI should be ok", result.isOK());
-
-		location = new URI("htp://somwhere.com/path");
-		result = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		assertFalse("4.0 Invalid URI should not be ok", result.isOK());
-
-		location = new URI("/somwhere.com/path");
-		result = RepositoryHelper.checkRepositoryLocationSyntax(location);
-		assertFalse("5.0 Invalid URI should not be ok", result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/TimeoutTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/TimeoutTest.java
deleted file mode 100644
index b7a98d8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/repository/TimeoutTest.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.repository;
-
-import java.io.ByteArrayOutputStream;
-import java.net.URI;
-import java.security.cert.Certificate;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.tests.metadata.repository.AllServerTests;
-import org.eclipse.equinox.p2.tests.testserver.helper.AbstractTestServerClientCase;
-
-/**
- * Test handling of timeout in FileInfoReader and FileReader
- */
-public class TimeoutTest extends AbstractTestServerClientCase {
-	private static final int MODIFIED = 1;
-	private static final int DOWNLOAD = 2;
-	private static final int STREAM = 3;
-
-	protected String authTestFailMessage;
-
-	public void setUp() throws Exception {
-		super.setUp();
-	}
-
-	@Override
-	public void tearDown() throws Exception {
-		AllServerTests.setServiceUI(null); // cleanup hook
-		super.tearDown();
-	}
-
-	/**
-	 * Test that timeout occurs, that the expected exception is thrown, and with correct detail
-	 * and message.
-	 * Note that test takes at least 120 seconds to complete due to length of timeout.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void doTimeout(int type) throws Exception {
-		System.out.print("Note that test takes at least 120 seconds before timing out\n");
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI(getBaseURL() + "/timeout/whatever.txt");
-		long startTime = System.currentTimeMillis();
-		boolean caught = false;
-		try {
-			switch (type) {
-				case DOWNLOAD :
-					IStatus status = transport.download(toDownload, new ByteArrayOutputStream(), null);
-					assertSocketTimeout(status, null);
-					caught = true;
-					break;
-				case MODIFIED :
-					transport.getLastModified(toDownload, null);
-					break;
-				case STREAM :
-					transport.stream(toDownload, null);
-					break;
-			}
-		} catch (OperationCanceledException e) {
-			fail("The getLastModified was canceled - the UI auth service is probably not running");
-		} catch (CoreException e) {
-
-			IStatus status = e.getStatus();
-			assertSocketTimeout(status, e);
-			caught = true;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		long endTime = System.currentTimeMillis();
-		System.out.print("The timeout took:" + Long.valueOf((endTime - startTime) / 1000).toString() + "\n");
-		assertTrue("timeout should have been caught", caught);
-	}
-
-	private void assertSocketTimeout(IStatus status, Exception e) {
-		Throwable ex = status.getException();
-		String msg = e == null ? "" : e.getMessage();
-		if (ex instanceof CoreException)
-			msg = ((CoreException) ex).getStatus().getMessage();
-
-		// Print for human inspection
-		System.out.print(String.format("%s e-message: [%s], detail:[%s]\n", //
-				provisionCodeToText(status.getCode()), msg, ex != null ? ex.getMessage() : "<no detailed message>"));
-		assertEquals("Socket timeout exception should be found as detail", ex.getClass(), java.net.SocketTimeoutException.class);
-
-	}
-
-	/**
-	 * Test that timeout occurs, that the expected exception is thrown, and with correct detail
-	 * and message.
-	 * Note that test takes at least 120 seconds to complete due to length of timeout.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void testInfoTimeout() throws Exception {
-		doTimeout(MODIFIED);
-	}
-
-	/**
-	 * Test that it is possible to cancel a repository load that hangs on a HEAD request.
-	 * Note that test takes at least 10 seconds (the cancel delay time). The real timeout is
-	 * 120 seconds.
-	 * @throws ProvisionException
-	 * @throws Exception
-	 */
-	public void testInfoTimeoutCancelation() throws Exception {
-		doTimeoutCancelation(MODIFIED);
-	}
-
-	public void testDownloadTimeout() throws Exception {
-		doTimeout(DOWNLOAD);
-	}
-
-	public void testDownloadTimeoutCancelation() throws Exception {
-		doTimeoutCancelation(DOWNLOAD);
-	}
-
-	public void testStreamTimeout() throws Exception {
-		doTimeout(STREAM);
-	}
-
-	public void testStreamTimeoutCancelation() throws Exception {
-		doTimeoutCancelation(STREAM);
-	}
-
-	public void doTimeoutCancelation(int type) throws Exception {
-		System.out.print("Note that test takes at least 10 seconds before timing out (and >120 if it fails)\n");
-
-		AllServerTests.setServiceUI(new AladdinNotSavedService());
-		RepositoryTransport transport = RepositoryTransport.getInstance();
-		URI toDownload = new URI(getBaseURL() + "/timeout/whatever.txt");
-
-		IProgressMonitor monitor = new NullProgressMonitor();
-		MonitorCancelation cancelHandler = new MonitorCancelation(monitor, 10000);
-		Thread proc = new Thread(cancelHandler, "cancelHandler");
-		proc.start();
-		boolean caught = false;
-		long startTime = System.currentTimeMillis();
-		try {
-			switch (type) {
-				case DOWNLOAD :
-					transport.download(toDownload, new ByteArrayOutputStream(), monitor);
-					break;
-				case MODIFIED :
-					transport.getLastModified(toDownload, monitor);
-					break;
-				case STREAM :
-					transport.stream(toDownload, monitor);
-					break;
-			}
-		} catch (OperationCanceledException e) {
-			caught = true;
-		} catch (CoreException e) {
-
-			IStatus status = e.getStatus();
-			Throwable ex = status.getException();
-			String msg = e.getMessage();
-			if (ex instanceof CoreException)
-				msg = ((CoreException) ex).getStatus().getMessage();
-
-			// Print for human inspection
-			System.out.print(String.format("%s e-message: [%s], detail:[%s]\n", //
-					provisionCodeToText(status.getCode()), msg, ex != null ? ex.getMessage() : "<no detailed message>"));
-			assertEquals("Socket exception (socket closed) should be found as detail", ex.getClass(), java.net.SocketException.class);
-			assertEquals("Exception message from SocketException", "Socket closed", ex.getMessage());
-			caught = true;
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		long endTime = System.currentTimeMillis();
-		assertTrue("The timeout should have been canceled", caught);
-		assertTrue("The cancel should happen before the timeout", endTime - startTime < 50000);
-
-		// ignore testing if repo was loaded - it may or may not, depending on where the cancellation took place.
-		// commented code kept, in case there is a change in API - should cancellation of load keep the repository.
-		// assertFalse("Repository should not have been added", mgr.contains(repoLoc));
-	}
-
-	private static String provisionCodeToText(int code) {
-		String msg = "REPOSITORY_";
-		switch (code) {
-			case ProvisionException.REPOSITORY_EXISTS :
-				return msg + "EXISTS";
-			case ProvisionException.REPOSITORY_FAILED_AUTHENTICATION :
-				return msg + "FAILED_AUTHENTICATION";
-			case ProvisionException.REPOSITORY_FAILED_READ :
-				return msg + "FAILED_READ";
-			case ProvisionException.REPOSITORY_FAILED_WRITE :
-				return msg + "FAILED_WRITE";
-			case ProvisionException.REPOSITORY_INVALID_LOCATION :
-				return msg + "INVALID_LOCATION";
-			case ProvisionException.REPOSITORY_NOT_FOUND :
-				return msg + "NOT_FOUND";
-			case ProvisionException.REPOSITORY_READ_ONLY :
-				return msg + "READ_ONLY";
-			case ProvisionException.REPOSITORY_UNKNOWN_TYPE :
-				return msg + "UNKNOWN_TYPE";
-			default :
-				return msg + String.format("<unrecognized error code: %d >", code);
-		}
-	}
-
-	public class AladdinNotSavedService implements IServiceUI {
-		public int counter = 0;
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			counter++;
-			return new AuthenticationInfo("Aladdin", "open sesame", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			counter++;
-			assertEquals("Aladdin", previousInfo.getUserName());
-			assertEquals("open sesame", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-
-	public static class MonitorCancelation implements Runnable {
-		private IProgressMonitor theMonitor;
-		private long theDelay;
-
-		MonitorCancelation(IProgressMonitor monitor, long delay) {
-			theMonitor = monitor;
-			theDelay = delay;
-		}
-
-		public void run() {
-			try {
-				Thread.sleep(theDelay);
-			} catch (InterruptedException e) {
-				/* ignore */
-			}
-			System.out.print("TimeoutTest: Cancelling monitor\n");
-			theMonitor.setCanceled(true);
-
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/AllTests.java
deleted file mode 100644
index 7c1fdb8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/AllTests.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sat4j.smoke;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(SmokeTestSAT4J.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/SmokeTestSAT4J.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/SmokeTestSAT4J.java
deleted file mode 100644
index a3810a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sat4j/smoke/SmokeTestSAT4J.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.sat4j.smoke;
-
-import java.io.*;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.sat4j.pb.IPBSolver;
-import org.sat4j.pb.SolverFactory;
-import org.sat4j.pb.reader.OPBEclipseReader2007;
-import org.sat4j.reader.ParseFormatException;
-import org.sat4j.specs.*;
-
-public class SmokeTestSAT4J extends AbstractProvisioningTest {
-
-	private IProblem invokeSolver(File problemFile) throws FileNotFoundException, ParseFormatException, ContradictionException, TimeoutException {
-		IPBSolver solver = SolverFactory.newEclipseP2();
-		solver.setTimeoutOnConflicts(1000);
-		OPBEclipseReader2007 reader = new OPBEclipseReader2007(solver);
-		// CNF filename is given on the command line 
-		FileReader fr = null;
-		fr = new FileReader(problemFile);
-		IProblem problem = reader.parseInstance(fr);
-		if (problem.isSatisfiable())
-			return problem;
-		return null;
-	}
-
-	public void testBogusFile() {
-		File data = getTestData("Opb file 247638", "testData/sat4j/Bug247638.opb");
-		Exception raised = null;
-		try {
-			invokeSolver(data);
-		} catch (FileNotFoundException e) {
-			//Ignore
-		} catch (ParseFormatException e) {
-			raised = e;
-		} catch (ContradictionException e) {
-			fail("Contradiction exception", e);
-		} catch (TimeoutException e) {
-			fail("Timeout exception", e);
-		}
-		assertNotNull(raised);
-	}
-
-	public void testBug247567() {
-		File data = getTestData("Opb file 247567", "testData/sat4j/Bug247567.opb");
-		Exception raised = null;
-		try {
-			IProblem pb = invokeSolver(data);
-			assertNotNull(pb);
-			for (int i = 1; i <= 6; i++) {
-				pb.model(i);
-			}
-		} catch (ArrayIndexOutOfBoundsException e) {
-			raised = e;
-		} catch (FileNotFoundException e) {
-			//Ignore
-		} catch (ParseFormatException e) {
-			raised = e;
-		} catch (ContradictionException e) {
-			fail("Contradiction exception", e);
-		} catch (TimeoutException e) {
-			fail("Timeout exception", e);
-		}
-		assertNull(raised);
-
-	}
-
-	//	private void backToIU(IProblem problem) {
-	//		solution = new ArrayList();
-	//		for (Iterator allIUs = variables.entrySet().iterator(); allIUs.hasNext();) {
-	//			Entry entry = (Entry) allIUs.next();
-	//			int match = Integer.parseInt(((String) entry.getValue()).substring(1));
-	//			if (problem.model(match)) {
-	//				solution.add(((IInstallableUnit) entry.getKey()).unresolved());
-	//			}
-	//		}
-	//	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/AbstractSimpleConfiguratorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/AbstractSimpleConfiguratorTest.java
deleted file mode 100644
index 736bbd6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/AbstractSimpleConfiguratorTest.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *     Red Hat, Inc. - tests
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.p2.tests.embeddedequinox.EmbeddedEquinox;
-import org.osgi.framework.*;
-
-public abstract class AbstractSimpleConfiguratorTest extends AbstractProvisioningTest {
-	static String BUNDLE_JAR_DIRECTORY = "simpleConfiguratorTest/bundlesTxt2";
-	private EmbeddedEquinox equinox = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (equinox != null)
-			equinox.shutdown();
-	}
-
-	//Assert that all files are in the bundles
-	protected void assertJarsInstalled(File[] jars, Bundle[] bundles) {
-		for (int i = 0; i < jars.length; i++) {
-			boolean found = false;
-			String jarName = getManifestEntry(jars[i], Constants.BUNDLE_SYMBOLICNAME);
-			for (int j = 0; j < bundles.length; j++) {
-				String bundleName = bundles[j].getSymbolicName();
-				if (bundleName.equalsIgnoreCase(jarName))
-					found = true;
-			}
-			if (!found)
-				fail("Bundle should not be present:  " + jarName);
-		}
-	}
-
-	private File getLocation(String bundleId) {
-		try {
-			URL u = FileLocator.resolve(Platform.getBundle(bundleId).getEntry(""));
-			String urlString = u.toExternalForm();
-			if (urlString.startsWith("file:")) {
-				return new File(urlString.substring(5));
-			}
-			if (urlString.startsWith("jar:")) {
-				return new File(urlString.substring(9, urlString.length() - 2));
-			}
-			return null;
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	protected BundleContext startFramework(File bundleInfo, File[] additionalBundle) {
-		try {
-			File simpleConfiguratorBundle = getLocation("org.eclipse.equinox.simpleconfigurator");
-			File osgiBundleLoc = getLocation("org.eclipse.osgi");
-
-			// for test purposes create an install.area and configuration.area located in the local bundle data area.
-			File installarea = TestActivator.context.getDataFile(getName() + "/eclipse");
-			File configarea = new File(installarea, "configuration");
-			URL osgiBundle = osgiBundleLoc.toURI().toURL();
-
-			Map frameworkProperties = new HashMap();
-			// note that any properties you do not want to be inherited from the hosting Equinox will need
-			// to be nulled out.  Otherwise you will pick them up from the hosting env.
-			frameworkProperties.put("osgi.framework", null);
-			frameworkProperties.put("osgi.install.area", installarea.toURL().toExternalForm());
-			frameworkProperties.put("osgi.configuration.area", configarea.toURL().toExternalForm());
-			StringBuffer osgiBundles = new StringBuffer();
-			for (int i = 0; additionalBundle != null && i < additionalBundle.length; i++) {
-				osgiBundles.append("reference:").append(additionalBundle[i].toURL().toExternalForm()).append(",");
-			}
-			osgiBundles.append("reference:").append(simpleConfiguratorBundle.toURL().toExternalForm()).append("@1:start");
-			frameworkProperties.put("osgi.bundles", osgiBundles.toString());
-
-			frameworkProperties.put("org.eclipse.equinox.simpleconfigurator.configUrl", bundleInfo.toURL().toExternalForm());
-			frameworkProperties.put("osgi.dev", "bin/");
-
-			equinox = new EmbeddedEquinox(frameworkProperties, new String[] {}, new URL[] {osgiBundle});
-			return equinox.startFramework();
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	//Create a bundles.info with all the jars listed plus OSGi and SimpleConfigurator
-	protected File createBundlesTxt(File[] jars) throws IOException {
-		File bundlesTxt = File.createTempFile("bundles", ".txt");
-		bundlesTxt.deleteOnExit();
-
-		BufferedWriter bundlesTxtOut = new BufferedWriter(new FileWriter(bundlesTxt));
-
-		for (int i = 0; i < jars.length; i++) {
-			File bundleJar = jars[i];
-			bundlesTxtOut.write(getBundlesTxtEntry(bundleJar) + "\n");
-		}
-		bundlesTxtOut.write(getBundlesTxtEntry(getLocation("org.eclipse.equinox.simpleconfigurator")) + "\n");
-		bundlesTxtOut.write(getBundlesTxtEntry(getLocation("org.eclipse.osgi")) + "\n");
-
-		bundlesTxtOut.close();
-
-		return bundlesTxt;
-	}
-
-	private String getBundlesTxtEntry(File bundleJar) {
-		String name = getManifestEntry(bundleJar, Constants.BUNDLE_SYMBOLICNAME);
-		String version = getManifestEntry(bundleJar, Constants.BUNDLE_VERSION);
-		// <name>,<version>,file:<file>,<startlevel>,true
-		return name + "," + version + "," + bundleJar.toURI() + "," + getStartLevel(name) + ",true";
-	}
-
-	private String getManifestEntry(File bundleFile, String entry) {
-		try {
-			String value = null;
-			if (bundleFile.isDirectory()) {
-				File m = new File(bundleFile, "META-INF/MANIFEST.MF");
-				InputStream os;
-				os = new FileInputStream(m);
-				Manifest mf;
-				mf = new Manifest(os);
-				value = mf.getMainAttributes().getValue(entry);
-				os.close();
-			} else {
-				JarFile bundleJar = new JarFile(bundleFile);
-				value = bundleJar.getManifest().getMainAttributes().getValue(entry);
-			}
-			if (value.indexOf(";") > -1) {
-				String[] valueElements = value.split(";");
-				return valueElements[0];
-			}
-			return value;
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	private int getStartLevel(String bundleName) {
-		int startLevel = 4;
-		// some special case start levels
-		if (bundleName.matches("org.eclipse.osgi")) {
-			startLevel = -1;
-		} else if (bundleName.matches("org.eclipse.equinox.common")) {
-			startLevel = 2;
-		} else if (bundleName.matches("org.eclipse.equinox.simpleconfigurator")) {
-			startLevel = 1;
-		}
-		return startLevel;
-	}
-
-	protected File[] getBundleJars(File directory) {
-		FilenameFilter bundleFilter = new FilenameFilter() {
-			public boolean accept(File directoryName, String filename) {
-				return !filename.startsWith(".") && !filename.equals("CVS");
-			}
-		};
-		return directory.listFiles(bundleFilter);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
deleted file mode 100644
index 5c40972..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/BundlesTxtTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Red Hat, Inc. - tests
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import java.io.File;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.osgi.framework.BundleContext;
-
-public class BundlesTxtTest extends AbstractSimpleConfiguratorTest {
-	@SuppressWarnings("hiding")
-	private static String BUNDLE_JAR_DIRECTORY = "simpleConfiguratorTest/bundlesTxt";
-
-	private File[] jars = null;
-	private File bundleInfo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		jars = getBundleJars(TestData.getFile(BUNDLE_JAR_DIRECTORY, ""));
-		// Create a bundles.info containing all the jars passed
-		bundleInfo = createBundlesTxt(jars);
-	}
-
-	public void testBundlesTxt() throws Exception {
-		BundleContext equinoxContext = startFramework(bundleInfo, null);
-		assertJarsInstalled(jars, equinoxContext.getBundles());
-		assertEquals(jars.length + 2, equinoxContext.getBundles().length);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/NonExclusiveMode.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/NonExclusiveMode.java
deleted file mode 100644
index 5e093c8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/NonExclusiveMode.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Red Hat, Inc. - tests
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import java.io.File;
-import org.eclipse.equinox.p2.tests.TestData;
-import org.osgi.framework.BundleContext;
-
-public class NonExclusiveMode extends AbstractSimpleConfiguratorTest {
-	private static String BUNDLE_JAR_DIRECTORY = "simpleConfiguratorTest/bundlesTxt";
-	private File[] jars = null;
-	private File bundleInfo = null;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		jars = getBundleJars(TestData.getFile(BUNDLE_JAR_DIRECTORY, ""));
-		bundleInfo = createBundlesTxt(jars);
-	}
-
-	public void testBundlesTxt() throws Exception {
-
-		File otherBundle = getTestData("myBundle", "testData/simpleConfiguratorTest/myBundle_1.0.0.jar");
-
-		BundleContext equinoxContext = startFramework(bundleInfo, new File[] {otherBundle});
-
-		assertJarsInstalled(jars, equinoxContext.getBundles());
-		assertJarsInstalled(new File[] {otherBundle}, equinoxContext.getBundles());
-		assertEquals(4, equinoxContext.getBundles().length);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
deleted file mode 100644
index a3b448f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Red Hat, Inc. 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: Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class SimpleConfiguratorTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Tests for org.eclipse.equinox.simpleconfigurator");
-		//$JUnit-BEGIN$
-		suite.addTestSuite(SimpleConfiguratorUtilsTest.class);
-		suite.addTestSuite(BundlesTxtTest.class);
-		suite.addTestSuite(NonExclusiveMode.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorUtilsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorUtilsTest.java
deleted file mode 100644
index 38a7d7d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/SimpleConfiguratorUtilsTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import java.util.List;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorUtils;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleConfiguratorUtilsTest extends AbstractProvisioningTest {
-
-	private static final boolean WINDOWS = java.io.File.separatorChar == '\\';
-
-	public void testParseBundleInfoUNC() throws MalformedURLException, URISyntaxException {
-
-		File baseFile = new File("//SERVER/some/path/");
-		URI baseURI = new URI("file:////SERVER/some/path/");
-
-		String canonicalForm = "javax.servlet,2.4.0.v200806031604,plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo canonicalInfo = SimpleConfiguratorUtils.parseBundleInfoLine(canonicalForm, baseURI);
-		File canonicalFile = new File(baseFile, "plugins/javax.servlet_2.4.0.v200806031604.jar");
-		final String canonicalFileURLString = canonicalFile.toURL().toExternalForm();
-
-		String line[] = new String[6];
-		line[0] = "javax.servlet,2.4.0.v200806031604,file:plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[1] = "javax.servlet,2.4.0.v200806031604,plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[2] = "javax.servlet,2.4.0.v200806031604,file:plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[3] = "javax.servlet,2.4.0.v200806031604,file:" + canonicalFile.toString() + ",4,false";
-		line[4] = "javax.servlet,2.4.0.v200806031604," + canonicalFileURLString + ",4,false";
-		line[5] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURI().toString() + ",4,false";
-
-		String relativeBundleLocation = "reference:file:plugins/javax.servlet_2.4.0.v200806031604.jar";
-		String absoluteBundleLocation = "reference:" + canonicalFileURLString;
-
-		for (int i = 0; i < line.length; i++) {
-			if (line[i].indexOf('\\') != -1 && !WINDOWS)
-				continue;
-			BundleInfo info = SimpleConfiguratorUtils.parseBundleInfoLine(line[i], baseURI);
-			assertEquals("[" + i + "]", canonicalInfo, info);
-			if (info.getLocation().isAbsolute())
-				assertEquals("[" + i + "]", absoluteBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-			else
-				assertEquals("[" + i + "]", relativeBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-		}
-	}
-
-	public void testParseBundleInfo() throws MalformedURLException {
-
-		File baseFile = getTempFolder();
-		URI baseURI = baseFile.toURI();
-
-		String canonicalForm = "javax.servlet,2.4.0.v200806031604,plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo canonicalInfo = SimpleConfiguratorUtils.parseBundleInfoLine(canonicalForm, baseURI);
-		File canonicalFile = new File(baseFile, "plugins/javax.servlet_2.4.0.v200806031604.jar");
-
-		String line[] = new String[6];
-		line[0] = "javax.servlet,2.4.0.v200806031604,file:plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[1] = "javax.servlet,2.4.0.v200806031604,plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[2] = "javax.servlet,2.4.0.v200806031604,file:plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[3] = "javax.servlet,2.4.0.v200806031604,file:" + canonicalFile.toString() + ",4,false";
-		line[4] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURL().toExternalForm() + ",4,false";
-		line[5] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURI().toString() + ",4,false";
-
-		String relativeBundleLocation = "reference:file:plugins/javax.servlet_2.4.0.v200806031604.jar";
-		String absoluteBundleLocation = "reference:" + canonicalFile.toURL().toExternalForm();
-
-		for (int i = 0; i < line.length; i++) {
-			if (line[i].indexOf('\\') != -1 && !WINDOWS)
-				continue;
-			BundleInfo info = SimpleConfiguratorUtils.parseBundleInfoLine(line[i], baseURI);
-			assertEquals("[" + i + "]", canonicalInfo, info);
-			if (info.getLocation().isAbsolute())
-				assertEquals("[" + i + "]", absoluteBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-			else
-				assertEquals("[" + i + "]", relativeBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-		}
-	}
-
-	public void testParseBundleInfoWithSpaces() throws MalformedURLException {
-
-		File baseFile = getTempFolder();
-		URI baseURI = baseFile.toURI();
-
-		String canonicalForm = "javax.servlet,2.4.0.v200806031604,plugin%20s/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo canonicalInfo = SimpleConfiguratorUtils.parseBundleInfoLine(canonicalForm, baseURI);
-		File canonicalFile = new File(baseFile, "plugin s/javax.servlet_2.4.0.v200806031604.jar");
-
-		String line[] = new String[6];
-		line[0] = "javax.servlet,2.4.0.v200806031604,file:plugin s/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[1] = "javax.servlet,2.4.0.v200806031604,plugin s\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[2] = "javax.servlet,2.4.0.v200806031604,file:plugin s\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[3] = "javax.servlet,2.4.0.v200806031604,file:" + canonicalFile.toString() + ",4,false";
-		line[4] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURL().toExternalForm() + ",4,false";
-		line[5] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURI().toString() + ",4,false";
-
-		String relativeBundleLocation = "reference:file:plugin s/javax.servlet_2.4.0.v200806031604.jar";
-		String absoluteBundleLocation = "reference:" + canonicalFile.toURL().toExternalForm();
-
-		for (int i = 0; i < line.length; i++) {
-			if (line[i].indexOf('\\') != -1 && !WINDOWS)
-				continue;
-			BundleInfo info = SimpleConfiguratorUtils.parseBundleInfoLine(line[i], baseURI);
-			assertEquals("[" + i + "]", canonicalInfo, info);
-			if (info.getLocation().isAbsolute())
-				assertEquals("[" + i + "]", absoluteBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-			else
-				assertEquals("[" + i + "]", relativeBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-		}
-	}
-
-	public void testParseUNCBundleInfo() throws MalformedURLException {
-
-		if (!WINDOWS)
-			return;
-
-		File baseFile = new File("\\\\127.0.0.1\\somefolder\\");
-		URI baseURI = baseFile.toURI();
-
-		String canonicalForm = "javax.servlet,2.4.0.v200806031604,plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo canonicalInfo = SimpleConfiguratorUtils.parseBundleInfoLine(canonicalForm, baseURI);
-		File canonicalFile = new File(baseFile, "plugins/javax.servlet_2.4.0.v200806031604.jar");
-
-		String line[] = new String[3];
-		line[0] = "javax.servlet,2.4.0.v200806031604,file:plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[1] = "javax.servlet,2.4.0.v200806031604,plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-		line[2] = "javax.servlet,2.4.0.v200806031604,file:plugins\\javax.servlet_2.4.0.v200806031604.jar,4,false";
-
-		//TODO: we need to fix URI.resolve for UNC paths
-		//line[3] = "javax.servlet,2.4.0.v200806031604," + canonicalFile.toURI().toString() + ",4,false";
-
-		String relativeBundleLocation = "reference:file:plugins/javax.servlet_2.4.0.v200806031604.jar";
-		String absoluteBundleLocation = "reference:" + canonicalFile.toURL().toExternalForm();
-
-		for (int i = 0; i < line.length; i++) {
-			BundleInfo info = SimpleConfiguratorUtils.parseBundleInfoLine(line[i], baseURI);
-			assertEquals("[" + i + "]", canonicalInfo, info);
-			if (info.getLocation().isAbsolute())
-				assertEquals("[" + i + "]", absoluteBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-			else
-				assertEquals("[" + i + "]", relativeBundleLocation, SimpleConfiguratorUtils.getBundleLocation(info, true));
-		}
-	}
-
-	public void testRead34BundlesInfo() {
-
-		File data = getTestData("1.0", "testData/simpleConfiguratorTest/3.4.bundles.info");
-		File baseFile = getTempFolder();
-		URI baseURI = baseFile.toURI();
-		try {
-			List infos = SimpleConfiguratorUtils.readConfiguration(data.toURL(), baseURI);
-			assertEquals("1.1", 2, infos.size());
-
-			BundleInfo a = new BundleInfo("a", "1.0.0", new URI("plugins/a_1.0.0.jar"), 4, false);
-			a.setBaseLocation(baseURI);
-			BundleInfo b = new BundleInfo("b", "1.0.0", new URI("plugins/b_1.0.0.jar"), -1, true);
-			b.setBaseLocation(baseURI);
-
-			assertEquals("1.2", a, infos.get(0));
-			assertEquals("1.3", b, infos.get(1));
-
-		} catch (URISyntaxException e) {
-			fail("1.97", e);
-		} catch (MalformedURLException e) {
-			fail("1.98", e);
-		} catch (IOException e) {
-			fail("1.99", e);
-		}
-	}
-
-	public void testReadVersionLine() {
-		String versionPrefix = "#version=";
-
-		SimpleConfiguratorUtils.parseCommentLine(versionPrefix + "1");
-		try {
-			SimpleConfiguratorUtils.parseCommentLine(versionPrefix + "999");
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail("improper version error not caught");
-	}
-
-	public void testReadMissingBundleInfo() {
-
-		File bundleInfoFile = new File(getTempFolder(), "bundle.info");
-		assertFalse(bundleInfoFile.exists());
-		try {
-			assertEquals(0, SimpleConfiguratorUtils.readConfiguration(bundleInfoFile.toURL(), null).size());
-		} catch (IOException e) {
-			fail();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/AllTests.java
deleted file mode 100644
index a1ef60f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/AllTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator.manipulator;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(SimpleConfiguratorManipulatorUtilsTest.class);
-		suite.addTestSuite(SimpleConfiguratorManipulatorTests.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorTests.java
deleted file mode 100644
index a247c88..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorTests.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.simpleconfigurator.manipulator;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator;
-import org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorImpl;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleConfiguratorManipulatorTests extends AbstractProvisioningTest {
-
-	public void testSaveConfiguration() throws Exception {
-		File folder = getTestFolder("saveConfiguration");
-		File infoFile = new File(folder, "bundle.info");
-
-		File baseFile = getTempFolder();
-
-		//absolute location written with base
-		BundleInfo[] bundles = new BundleInfo[] {new BundleInfo("a", "1.0.0", new File(folder, "plugins/a_1.0.0.jar").toURI(), BundleInfo.NO_LEVEL, false)};
-		SimpleConfiguratorManipulator manipulator = new SimpleConfiguratorManipulatorImpl();
-		manipulator.saveConfiguration(bundles, infoFile, folder);
-		bundles = manipulator.loadConfiguration(infoFile.toURL(), baseFile);
-		assertEquals(bundles[0].getLocation(), new File(baseFile, "plugins/a_1.0.0.jar").toURI());
-
-		//relative location written with null base
-		bundles = new BundleInfo[] {new BundleInfo("b", "1.0.0", new URI("plugins/b_1.0.0.jar"), BundleInfo.NO_LEVEL, false)};
-		manipulator.saveConfiguration(bundles, infoFile, null);
-		bundles = manipulator.loadConfiguration(infoFile.toURL(), baseFile);
-		assertEquals(bundles[0].getLocation(), new File(baseFile, "plugins/b_1.0.0.jar").toURI());
-
-		//absolute location written with null base
-		URI absolute = new File(folder, "plugins/c_1.0.0.jar").toURI();
-		bundles = new BundleInfo[] {new BundleInfo("c", "1.0.0", absolute, BundleInfo.NO_LEVEL, false)};
-		manipulator.saveConfiguration(bundles, infoFile, null);
-		bundles = manipulator.loadConfiguration(infoFile.toURL(), baseFile);
-		assertEquals(bundles[0].getLocation(), absolute);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtilsTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtilsTest.java
deleted file mode 100644
index f4631fc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtilsTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.simpleconfigurator.manipulator;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorUtils;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorUtils;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SimpleConfiguratorManipulatorUtilsTest extends AbstractProvisioningTest {
-
-	public void testWriteBundleInfoLine() throws URISyntaxException {
-		String expectedLine = "javax.servlet,2.4.0.v200806031604,plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugins/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
-		String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
-		assertEquals(expectedLine, line);
-		assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
-	}
-
-	public void testWriteBundleInfoLineWithComma() throws URISyntaxException {
-		String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin%2Cs/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin,s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
-		String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
-		assertEquals(expectedLine, line);
-		assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
-	}
-
-	public void testWriteBundleInfoLineWithSpace() throws URISyntaxException {
-		String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin%20s/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin%20s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
-		String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
-		assertEquals(expectedLine, line);
-		assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
-	}
-
-	public void testWriteBundleInfoLineWithAtSymbol() throws URISyntaxException {
-		String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin@s/javax.servlet_2.4.0.v200806031604.jar,4,false";
-		BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin@s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
-		String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
-		assertEquals(expectedLine, line);
-		assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
-	}
-
-	public void testWriteVersionLine() {
-		String expectedVersionPrefix = "#version=";
-		String versionLine = SimpleConfiguratorManipulatorUtils.createVersionLine();
-		assertTrue(versionLine.startsWith(expectedVersionPrefix));
-
-		SimpleConfiguratorUtils.parseCommentLine(versionLine);
-		try {
-			SimpleConfiguratorUtils.parseCommentLine(expectedVersionPrefix + "999");
-		} catch (IllegalArgumentException e) {
-			return;
-		}
-		fail("improper version error not caught");
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerClientCase.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerClientCase.java
deleted file mode 100644
index e1f59af..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerClientCase.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 Cloudsmith 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:
- *      Cloudsmith - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.testserver.helper;
-
-import java.security.cert.Certificate;
-import junit.framework.*;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-
-public class AbstractTestServerClientCase extends TestCase {
-
-	public AbstractTestServerClientCase() {
-		super();
-	}
-
-	public AbstractTestServerClientCase(String name) {
-		super(name);
-	}
-
-	public void run(TestResult result) {
-		Protectable p = new ProtectedRunner(result);
-		result.runProtected(this, p);
-	}
-
-	/**
-	 * Returns a URL string part consisting of http://localhost:<port>
-	 * @return String with first part of URL
-	 */
-	protected String getBaseURL() {
-		return "http://localhost:" + System.getProperty(TestServerController.PROP_TESTSERVER_PORT, "8080");
-	}
-
-	protected void basicRun(TestResult result) {
-		super.run(result);
-	}
-
-	public static void oneTimeSetUp() throws Exception {
-		TestServerController.checkSetUp();
-	}
-
-	public static void oneTimeTearDown() throws Exception {
-		TestServerController.checkTearDown();
-	}
-
-	public void tearDown() throws Exception {
-		// if a test is run out or order - this must be done
-		TestServerController.checkTearDown();
-	}
-
-	public void setUp() throws Exception {
-		// if a test is run out or order - this must be done
-		TestServerController.checkSetUp();
-	}
-
-	private class ProtectedRunner implements Protectable {
-		private TestResult result;
-
-		ProtectedRunner(TestResult result) {
-			this.result = result;
-		}
-
-		public void protect() throws Exception {
-			oneTimeSetUp();
-			basicRun(result);
-			oneTimeTearDown();
-		}
-	}
-
-	private int counter = 0;
-
-	public int getLoginCount() {
-		return counter;
-	}
-
-	/**
-	 * Makes the controller use a login service that will succeed in logging in to the test server.
-	 * The login counter is reset. See {@link #getLoginCount}.
-	 */
-	public void setAladdinLoginService() {
-		counter = 0;
-		TestServerController.setServiceUI(new AladdinNotSavedService());
-	}
-
-	/**
-	 * Makes the controller use a login service that will not succeed in logging in to the test server.
-	 * The login counter is reset. See {@link #getLoginCount}.
-	 */
-	public void setBadLoginService() {
-		counter = 0;
-		TestServerController.setServiceUI(new AladdinNotSavedService());
-	}
-
-	public void clearLoginService() {
-		counter = 0;
-		TestServerController.setServiceUI(null);
-	}
-
-	public class AladdinNotSavedService implements IServiceUI {
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			return new AuthenticationInfo("Aladdin", "open sesame", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			assertEquals("Aladdin", previousInfo.getUserName());
-			assertEquals("open sesame", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-
-	/**
-	 * Service that tries to login with the wrong password.
-	 * @author henrik
-	 *
-	 */
-	public class BadLoginService implements IServiceUI {
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			return new AuthenticationInfo("moria", "friend", false);
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			assertEquals("moria", previousInfo.getUserName());
-			assertEquals("friend", previousInfo.getPassword());
-			assertEquals(false, previousInfo.saveResult());
-			return previousInfo;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerSuite.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerSuite.java
deleted file mode 100644
index 7d35711..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/AbstractTestServerSuite.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 Cloudsmith 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:
- *      Cloudsmith - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.testserver.helper;
-
-import junit.framework.TestCase;
-
-/**
- * Testsuite that manages the start and stop of the testserver for a suite of tests.
- * 
- * A derived class should implement the following:<br/><br/>
- * <code>
- *	public static Test suite() throws Exception { <br/>
- *		&nbsp;&nbsp;&nbsp;&nbsp;final TestSuite suite = new TestSuite("...name of suite..."); <br/>
- *		&nbsp;&nbsp;&nbsp;&nbsp;suite.addTest(new AbstractTestServerSuite("startServer"));<br/>
- * <br/>
- *		&nbsp;&nbsp;&nbsp;&nbsp;// Add tests in the suite - here is an example:<br/>
- *		&nbsp;&nbsp;&nbsp;&nbsp;suite.addTestSuite(ExampleTest.class);<br/>
- * <br/>
- *		&nbsp;&nbsp;&nbsp;&nbsp;suite.addTest(new AbstractTestServerSuite("startServer"));<br/>
- *      &nbsp;&nbsp;&nbsp;&nbsp;return suite;<br/>
- *  }<br/>
- * </code>
- * The tests in the suite should call {@link TestServerLauncher} to make sure the server is
- * running either started by this suite, or directly when test is run individually. This is
- * handled by the class {@link AbstractTestServerClientCase} which serves as the base for
- * tests requiring access to a running server.
- */
-public class AbstractTestServerSuite extends TestCase {
-
-	// TEMPLATE CODE: do not remove - it is useful to copy this when creating a new class.
-	//	public static Test suite() throws Exception {
-	//		final TestSuite suite = new TestSuite("AllServerBasedTestSuite");
-	//		addToSuite(suite);
-	//		return suite;
-	//	}
-	//
-	//	public static void addToSuite(TestSuite suite) {
-	//		suite.addTest(new AbstractTestServerSuite("startServer"));
-	//		// AuthTest *should* run twice to make sure that second attempt produces the same result.
-	//		suite.addTestSuite(AuthTest.class);
-	//		suite.addTestSuite(AuthTest.class);
-	//		suite.addTestSuite(HttpStatusTest.class);
-	//		suite.addTestSuite(TimeoutTest.class);
-	//		suite.addTest(new AbstractTestServerSuite("stopServer"));
-	//	}
-
-	public void startServer() throws Exception {
-		TestServerController.oneTimeSetUp();
-	}
-
-	public void stopServer() throws Exception {
-		TestServerController.oneTimeTearDown();
-	}
-
-	public AbstractTestServerSuite(String testName) {
-		super(testName);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/TestServerController.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/TestServerController.java
deleted file mode 100644
index 6217167..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/testserver/helper/TestServerController.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 Cloudsmith 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:
- *      Cloudsmith - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.testserver.helper;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.security.cert.Certificate;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.p2.core.IServiceUI;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * A controller that manages the start and stop of the test server for a suite of tests.
- * See {@link AbstractTestServerSuite} for information regarding setting up a suite of tests
- * that require the test server to be running.
- * Also see {@link AbstractTestServerClientCase} for a base class for test in such a suite.
- */
-public class TestServerController {
-
-	private static final String BUNDLE_TESTSERVER = "org.eclipse.equinox.p2.testserver";
-	private static final String BUNDLE_EQUINOX_HTTP = "org.eclipse.equinox.http";
-	public static final String PROP_TESTSERVER_PORT = "org.osgi.service.http.port";
-
-	static IServiceUI hookedAuthDialog;
-	private static ServiceRegistration certificateUIRegistration;
-	private static int setUpCounter = 0;
-	private static ServiceReference packageAdminRef;
-
-	private static Bundle getBundle(PackageAdmin packageAdmin, String symbolicName) {
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		for (int i = 0; i < bundles.length; i++) {
-			Bundle bundle = bundles[i];
-			if ((bundle.getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0)
-				return bundle;
-		}
-		return null;
-	}
-
-	private static boolean startTransient(PackageAdmin packageAdmin, String bundleName) throws BundleException {
-		Bundle bundle = getBundle(packageAdmin, bundleName);
-		if (bundle == null)
-			return false;
-		bundle.start(Bundle.START_TRANSIENT);
-		return true;
-	}
-
-	private static void stopTransient(PackageAdmin packageAdmin, String bundleName) throws BundleException {
-		Bundle bundle = getBundle(packageAdmin, bundleName);
-		if (bundle != null)
-			bundle.stop(Bundle.STOP_TRANSIENT);
-	}
-
-	private static int obtainFreePort() throws IOException {
-		ServerSocket socket = null;
-		try {
-			socket = new ServerSocket(0);
-			return socket.getLocalPort();
-		} finally {
-			if (socket != null)
-				socket.close();
-		}
-	}
-
-	public static void oneTimeSetUp() throws Exception {
-		BundleContext context = TestActivator.getContext();
-		packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin pkgAdmin = (PackageAdmin) context.getService(packageAdminRef);
-
-		// Make sure these are not running
-		stopTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP);
-		stopTransient(pkgAdmin, BUNDLE_TESTSERVER);
-
-		// Get an available port and assign it the "org.osgi.service.http.port" property. The
-		// server will listen to this port and all tests use it to connect.
-		System.setProperty(PROP_TESTSERVER_PORT, Integer.toString(obtainFreePort()));
-
-		// Now start them again (with our property settings)
-		if (!startTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP))
-			throw new IllegalStateException("Unable to start bundle " + BUNDLE_EQUINOX_HTTP);
-		if (!startTransient(pkgAdmin, BUNDLE_TESTSERVER))
-			throw new IllegalStateException("Unable to start bundle " + BUNDLE_TESTSERVER);
-		// We must ensure that our IServiceUI service wins because the SDK registers one declaratively
-		Hashtable properties = new Hashtable(1);
-		properties.put(org.osgi.framework.Constants.SERVICE_RANKING, new Integer(Integer.MAX_VALUE));
-
-		certificateUIRegistration = context.registerService(IServiceUI.class.getName(), new DelegatingAuthService(), properties);
-		setUpCounter = 1;
-	}
-
-	public static void oneTimeTearDown() throws Exception {
-		BundleContext context = TestActivator.getContext();
-		certificateUIRegistration.unregister();
-		PackageAdmin pkgAdmin = (PackageAdmin) context.getService(packageAdminRef);
-		stopTransient(pkgAdmin, BUNDLE_TESTSERVER);
-		stopTransient(pkgAdmin, BUNDLE_EQUINOX_HTTP);
-		context.ungetService(packageAdminRef);
-		setUpCounter = 0;
-	}
-
-	/**
-	 * Used by tests in the suite to enable that they run individually
-	 * @throws Exception
-	 */
-	public static synchronized void checkSetUp() throws Exception {
-		if (setUpCounter == 0) {
-			oneTimeSetUp();
-			return;
-		}
-		setUpCounter++;
-	}
-
-	/**
-	 * Used by tests in the suite to enable that they run individually
-	 * @throws Exception
-	 */
-	public static synchronized void checkTearDown() throws Exception {
-		setUpCounter--;
-		if (setUpCounter < 0)
-			throw new IllegalStateException("Unbalanced setup/teardown");
-
-		if (setUpCounter == 0)
-			oneTimeTearDown();
-		return;
-	}
-
-	static public void setServiceUI(IServiceUI hook) {
-		hookedAuthDialog = hook;
-	}
-
-	public static class DelegatingAuthService implements IServiceUI {
-
-		public AuthenticationInfo getUsernamePassword(String location) {
-			if (hookedAuthDialog != null)
-				return hookedAuthDialog.getUsernamePassword(location);
-			return null;
-		}
-
-		public AuthenticationInfo getUsernamePassword(String location, AuthenticationInfo previousInfo) {
-			if (hookedAuthDialog != null)
-				return hookedAuthDialog.getUsernamePassword(location, previousInfo);
-			return null;
-		}
-
-		/**
-		 * Not used
-		 */
-		public TrustInfo getTrustInfo(Certificate[][] untrustedChain, String[] unsignedDetail) {
-			return new TrustInfo(null, false, true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddJVMArgumentActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddJVMArgumentActionTest.java
deleted file mode 100644
index 6e51a03..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddJVMArgumentActionTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddJVMArgumentAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class AddJVMArgumentActionTest extends AbstractProvisioningTest {
-
-	private static File tempDir;
-	private LauncherData launcherData;
-	private Map parameters;
-
-	public AddJVMArgumentActionTest(String name) {
-		super(name);
-	}
-
-	public AddJVMArgumentActionTest() {
-		super("");
-	}
-
-	public void setUp() throws Exception {
-		super.setUp();
-		tempDir = new File(System.getProperty("java.io.tmpdir"), "JVMArgs");
-		tempDir.mkdirs();
-
-		parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		parameters.put(ActionConstants.PARM_PROFILE_DATA_DIRECTORY, tempDir);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-		launcherData = manipulator.getLauncherData();
-	}
-
-	public void tearDown() throws Exception {
-		delete(tempDir);
-		super.tearDown();
-	}
-
-	public void testExecuteUndo() {
-		String jvmArg = "-Dtest=true";
-
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(jvmArg));
-		parameters.put(ActionConstants.PARM_JVM_ARG, jvmArg);
-
-		AddJVMArgumentAction action = new AddJVMArgumentAction();
-		action.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(jvmArg));
-		action.undo(Collections.unmodifiableMap(parameters));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(jvmArg));
-
-		// Test using byte argument
-		String byteArg = "-Xmx256M";
-		parameters.put(ActionConstants.PARM_JVM_ARG, byteArg);
-		action.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(byteArg));
-		action.undo(Collections.unmodifiableMap(parameters));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(byteArg));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddProgramArgumentActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddProgramArgumentActionTest.java
deleted file mode 100644
index e3d0d64..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddProgramArgumentActionTest.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddProgramArgumentAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class AddProgramArgumentActionTest extends AbstractProvisioningTest {
-
-	public AddProgramArgumentActionTest(String name) {
-		super(name);
-	}
-
-	public AddProgramArgumentActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-test";
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		AddProgramArgumentAction action = new AddProgramArgumentAction();
-		action.execute(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-		action.undo(parameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-	}
-
-	public void testExecuteUndoWithArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-
-		programArg = "@artifact";
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		AddProgramArgumentAction artifactAction = new AddProgramArgumentAction();
-		AddProgramArgumentAction keyAction = new AddProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-	public void testExecuteUndoWithArtifactByProgramArgValue() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		String programArgValue = "@artifact";
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG_VALUE, programArgValue);
-
-		programArg = "@artifact";
-		programArgValue = "@ignore";
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG_VALUE, programArgValue);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		AddProgramArgumentAction artifactAction = new AddProgramArgumentAction();
-		AddProgramArgumentAction keyAction = new AddProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		assertEquals(2, Arrays.asList(manipulator.getLauncherData().getProgramArgs()).size());
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-	public void testExecuteUndoWithArtifactLocation() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-
-		programArg = (String) parameters.get("artifact.location");
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		AddProgramArgumentAction artifactAction = new AddProgramArgumentAction();
-		AddProgramArgumentAction keyAction = new AddProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-	public void testExecuteUndoWithArtifactLocationByProgramArgValue() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		String programArgValue = (String) parameters.get("artifact.location");
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG_VALUE, programArgValue);
-
-		programArg = "@artifact";
-		programArgValue = "@ignore";
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG_VALUE, programArgValue);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		AddProgramArgumentAction artifactAction = new AddProgramArgumentAction();
-		AddProgramArgumentAction keyAction = new AddProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		assertEquals(2, Arrays.asList(manipulator.getLauncherData().getProgramArgs()).size());
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java
deleted file mode 100644
index 5e06b69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.TouchpointInstruction;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddRepositoryAction;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Tests for {@link org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddRepositoryAction}.
- */
-public class AddRepositoryActionTest extends AbstractProvisioningTest {
-	private static final String TEST_LOCATION = "http://eclipse.org/eclipse/updates/AddRepositoryActionTest";
-	private static final String KEY_URI = "uri";
-	AddRepositoryAction action;
-	private URI locationURI;
-
-	/**
-	 * Returns a map containing valid arguments for this action.
-	 */
-	private Map getValidArguments() {
-		Map args = new HashMap();
-		args.put("location", TEST_LOCATION);
-		args.put("type", Integer.toString(IRepository.TYPE_ARTIFACT));
-		args.put("enabled", "true");
-		return args;
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		action = new AddRepositoryAction();
-		locationURI = new URI(TEST_LOCATION);
-		getArtifactRepositoryManager().removeRepository(locationURI);
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		getArtifactRepositoryManager().removeRepository(locationURI);
-	}
-
-	public void testInvalidEnablement() {
-		Map args = getValidArguments();
-		addAgent(args);
-		args.put("enabled", "bogus enablement");
-		IStatus result = action.execute(args);
-		//Any value other than "true" for enablement results in a disabled repository
-		assertTrue("1.0", result.isOK());
-		assertTrue("1.1", !getArtifactRepositoryManager().isEnabled(locationURI));
-	}
-
-	private void addAgent(Map args) {
-		args.put(ActionConstants.PARM_AGENT, getAgent());
-	}
-
-	public void testInvalidLocation() {
-		Map args = getValidArguments();
-		addAgent(args);
-		args.put("location", "bogus location");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", !result.isOK());
-	}
-
-	public void testInvalidType() {
-		Map args = getValidArguments();
-		addAgent(args);
-		args.put("type", "bogus type");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", !result.isOK());
-	}
-
-	public void testMissingEnablement() {
-		//note enablement is optional, defaults to true
-		Map args = getValidArguments();
-		addAgent(args);
-		args.remove("enabled");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-	}
-
-	public void testMissingType() {
-		Map args = getValidArguments();
-		addAgent(args);
-		args.remove("type");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", !result.isOK());
-	}
-
-	public void testNoArguments() {
-		IStatus result = action.execute(new HashMap());
-		assertTrue("1.0", !result.isOK());
-	}
-
-	public void testUndo() {
-		Map args = getValidArguments();
-		addAgent(args);
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-
-		result = action.undo(args);
-		assertTrue("1.1", result.isOK());
-	}
-
-	public void testMultipleActionAdd() {
-		Map args = getValidArguments();
-		addAgent(args);
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-
-		result = action.execute(args);
-		assertTrue("1.1", result.isOK());
-
-		result = action.undo(args);
-		assertTrue("1.2", result.isOK());
-
-		assertTrue("2.0", locationExists(null, TEST_LOCATION));
-	}
-
-	public void testUserWins() {
-		try {
-			getArtifactRepositoryManager().addRepository(new URI(TEST_LOCATION));
-			assertTrue("0.1", locationExists(null, TEST_LOCATION));
-		} catch (URISyntaxException e) {
-			// Should not occur
-		}
-
-		Map args = getValidArguments();
-		addAgent(args);
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-
-		result = action.undo(args);
-		assertTrue("1.1", result.isOK());
-
-		assertTrue("2.0", locationExists(null, TEST_LOCATION));
-	}
-
-	/**
-	 * Tests for install of an IU that adds a repository.
-	 */
-	public void testFullInstall() {
-		String id = "AddRepositoryActionTest.testFullInstall";
-		Version version = Version.createOSGi(1, 0, 0);
-		Map instructions = new HashMap();
-		instructions.put("configure", TouchpointInstruction.encodeAction("addRepository", getValidArguments()));
-		ITouchpointData tpData = MetadataFactory.createTouchpointData(instructions);
-		IInstallableUnit iu = createIU(id, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TOUCHPOINT_OSGI, tpData, true, createUpdateDescriptor(id, version), null);
-		IProfile profile = createProfile(id);
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(new IInstallableUnit[] {iu});
-
-		assertTrue("0.1", !getArtifactRepositoryManager().contains(locationURI));
-
-		IStatus result = createDirector().provision(request, new ProvisioningContext(), getMonitor());
-		assertTrue("1.0", result.isOK());
-
-		//check that profile property is set
-		profile = getProfile(id);
-		// Get Preference node associated with the profile
-		Preferences pref = new ProfileScope(getAgentLocation(), profile.getProfileId()).getNode("org.eclipse.equinox.p2.artifact.repository/repositories/" + getKey(TEST_LOCATION));
-		String value = pref.get(KEY_URI, null);
-		assertEquals("2.0", value, TEST_LOCATION);
-	}
-
-	/**
-	 * Tests adding a repository during an update (bug 266881).
-	 */
-	public void testBug266881() throws ProvisionException {
-		//need to install a real bundle with an artifact to check for GC bug
-		URI site = getTestData("0.1", "/testData/testRepos/simple.1").toURI();
-		getMetadataRepositoryManager().addRepository(site);
-		getArtifactRepositoryManager().addRepository(site);
-
-		//install the old IU
-		String id = "AddRepositoryActionTest.testUpdate";
-		Version version = Version.createOSGi(1, 0, 0);
-		IInstallableUnit oldIU = createIU(id, version);
-		IProfile profile = createProfile(id);
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		final IInstallableUnit[] oldIUs = new IInstallableUnit[] {oldIU};
-		request.addInstallableUnits(oldIUs);
-		IStatus result = createDirector().provision(request, new ProvisioningContext(), getMonitor());
-		assertTrue("1.0", result.isOK());
-
-		assertTrue("1.1", !getArtifactRepositoryManager().contains(locationURI));
-
-		//define new IU
-		version = Version.createOSGi(1, 1, 0);
-		Map instructions = new HashMap();
-		instructions.put("configure", TouchpointInstruction.encodeAction("addRepository", getValidArguments()));
-		ITouchpointData tpData = MetadataFactory.createTouchpointData(instructions);
-		IInstallableUnit newIU = createIU(id, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TOUCHPOINT_OSGI, tpData, true, createUpdateDescriptor(id, version), null);
-
-		//perform the update and install an ordinary bundle
-		IMetadataRepository repo = getMetadataRepositoryManager().loadRepository(site, getMonitor());
-		IInstallableUnit bundle = (IInstallableUnit) repo.query(new InstallableUnitQuery("aBundle"), getMonitor()).iterator().next();
-		request = new ProfileChangeRequest(profile);
-		final IInstallableUnit[] newIUs = new IInstallableUnit[] {newIU, bundle};
-		request.addInstallableUnits(newIUs);
-		request.removeInstallableUnits(oldIUs);
-		result = createDirector().provision(request, new ProvisioningContext(), getMonitor());
-		if (!result.isOK())
-			LogHelper.log(result);
-		assertTrue("2.0", result.isOK());
-
-		//check that the artifact is still there
-		profile = getProfile(id);
-		IArtifactRepository artifacts = getArtifactRepositoryManager().loadRepository(Util.getBundlePoolLocation(getAgent(), profile), getMonitor());
-		assertEquals("3.0", 1, getArtifactKeyCount(artifacts));
-
-		//check that profile property is set
-		assertProfileContains("3.1", profile, newIUs);
-		// Get Preference node associated with the profile
-		Preferences pref = new ProfileScope(getAgentLocation(), profile.getProfileId()).getNode("org.eclipse.equinox.p2.artifact.repository/repositories/" + getKey(TEST_LOCATION));
-		String value = pref.get(KEY_URI, null);
-
-		assertEquals("3.2", value, TEST_LOCATION);
-	}
-
-	/*
-	 * Modified from AbstractRepositoryManager
-	 */
-	private String getKey(String location) {
-		String key = location.replace('/', '_');
-		//remove trailing slash
-		if (key.endsWith("_")) //$NON-NLS-1$
-			key = key.substring(0, key.length() - 1);
-		return key;
-	}
-
-	private boolean locationExists(IProfile profile, String location) {
-		final String profileId = profile != null ? profile.getProfileId() : IProfileRegistry.SELF;
-		Preferences pref = new ProfileScope(getAgentLocation(), profileId).getNode("org.eclipse.equinox.p2.artifact.repository/repositories/" + getKey(location));
-		if (location.equals(pref.get(KEY_URI, null)))
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddSourceBundleActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddSourceBundleActionTest.java
deleted file mode 100644
index 98b36bb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddSourceBundleActionTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddSourceBundleAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class AddSourceBundleActionTest extends AbstractProvisioningTest {
-
-	public AddSourceBundleActionTest(String name) {
-		super(name);
-	}
-
-	public AddSourceBundleActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() throws IOException {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_BUNDLE, key.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
-		assertNotNull(manipulator);
-
-		assertFalse(inBundles(manipulator, osgiTarget));
-		AddSourceBundleAction action = new AddSourceBundleAction();
-		action.execute(parameters);
-		assertTrue(inBundles(manipulator, osgiTarget));
-		action.undo(parameters);
-		assertFalse(inBundles(manipulator, osgiTarget));
-	}
-
-	private boolean inBundles(SourceManipulator manipulator, File osgiTarget) throws IOException {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
deleted file mode 100644
index c2edb99..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AllTests.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import junit.framework.*;
-
-/**
- * Performs all automated touchpoint tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(EclipseTouchpointTest.class);
-		suite.addTestSuite(AddJVMArgumentActionTest.class);
-		suite.addTestSuite(AddProgramArgumentActionTest.class);
-		suite.addTestSuite(AddRepositoryActionTest.class);
-		suite.addTestSuite(AddSourceBundleActionTest.class);
-		suite.addTestSuite(CheckTrustActionTest.class);
-		suite.addTestSuite(ChmodActionTest.class);
-		suite.addTestSuite(CollectActionTest.class);
-		suite.addTestSuite(InstallBundleActionTest.class);
-		suite.addTestSuite(InstallFeatureActionTest.class);
-		suite.addTestSuite(JVMArgumentActionLogicTest.class);
-		suite.addTestSuite(LinkActionTest.class);
-		suite.addTestSuite(MarkStartedActionTest.class);
-		suite.addTestSuite(RemoveJVMArgumentActionTest.class);
-		suite.addTestSuite(RemoveProgramArgumentActionTest.class);
-		suite.addTestSuite(RemoveRepositoryActionTest.class);
-		suite.addTestSuite(RemoveSourceBundleActionTest.class);
-		suite.addTestSuite(SetFrameworkDependentPropertyActionTest.class);
-		suite.addTestSuite(SetFrameworkIndependentPropertyActionTest.class);
-		suite.addTestSuite(SetLauncherNameActionTest.class);
-		suite.addTestSuite(SetProgramPropertyActionTest.class);
-		suite.addTestSuite(SetStartLevelActionTest.class);
-		suite.addTestSuite(UninstallBundleActionTest.class);
-		suite.addTestSuite(UninstallFeatureActionTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CheckTrustActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CheckTrustActionTest.java
deleted file mode 100644
index a348992..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CheckTrustActionTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.engine.phases.CheckTrust;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.CheckTrustAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class CheckTrustActionTest extends AbstractProvisioningTest {
-
-	public CheckTrustActionTest(String name) {
-		super(name);
-	}
-
-	public CheckTrustActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put(CheckTrust.PARM_ARTIFACT_FILES, new ArrayList());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		assertFalse(((List) parameters.get(CheckTrust.PARM_ARTIFACT_FILES)).contains(osgiTarget));
-		CheckTrustAction action = new CheckTrustAction();
-		action.execute(parameters);
-		assertTrue(((List) parameters.get(CheckTrust.PARM_ARTIFACT_FILES)).contains(osgiTarget));
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertTrue(((List) parameters.get(CheckTrust.PARM_ARTIFACT_FILES)).contains(osgiTarget));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/ChmodActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/ChmodActionTest.java
deleted file mode 100644
index e2473ff..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/ChmodActionTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *      Cloudsmith Inc - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ChmodAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class ChmodActionTest extends AbstractProvisioningTest {
-
-	public ChmodActionTest(String name) {
-		super(name);
-	}
-
-	public ChmodActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndo", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-		File subDir = new File(installFolder, "subfolder");
-		subDir.mkdir();
-		File zipTarget2 = new File(subDir, "a.zip");
-		copy("3.0", zipSource, zipTarget2);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndo", parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, installFolder.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "a.zip");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "+x");
-		Map xparameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here (or chmod with -w, -r and then test that files are unreadable
-		// and unwriteable. But, that would make this test fail on non UN*X.
-		// This is currently just going through the paces to check for any runtime exceptions
-		ChmodAction action = new ChmodAction();
-		action.execute(xparameters);
-		// does nothing so should not alter parameters
-		action.undo(xparameters);
-
-		// make a recursive run as well...
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R"); // recursive
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "subfolder");
-		xparameters = Collections.unmodifiableMap(parameters);
-
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and one with two parameters
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R -H"); // recursive, modify symlinks (follow link).
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "subfolder");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and check one that should fail
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "JimmyHoffa");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		IStatus result = action.execute(xparameters);
-		assertFalse("Missing file should result in error", result.isOK());
-		action.undo(xparameters);
-
-	}
-
-	public void testExecuteUndoWithArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File dirBundleSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File dirBundleTarget = new File(targetPlugins, "directoryBased_1.0.0");
-		copy("2.0", dirBundleSource, dirBundleTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(dirBundleTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, dirBundleTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, dirBundleTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, "@artifact");
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "plugin.xml");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "+x");
-		Map xparameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here (or chmod with -w, -r and then test that files are unreadable
-		// and unwriteable. But, that would make this test fail on non UN*X.
-		// This is currently just going through the paces to check for any runtime exceptions
-		ChmodAction action = new ChmodAction();
-		action.execute(xparameters);
-		// does nothing so should not alter parameters
-		action.undo(xparameters);
-
-		// make a recursive run as well...
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R"); // recursive
-		parameters.put(ActionConstants.PARM_TARGET_DIR, "@artifact");
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "..");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and one with two parameters
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R -H"); // recursive, modify symlinks (follow link).
-		parameters.put(ActionConstants.PARM_TARGET_DIR, "@artifact");
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "..");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and check one that should fail
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_TARGET_DIR, "@artifact");
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "JimmyHoffa");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		IStatus result = action.execute(xparameters);
-		assertFalse("Missing file should result in error", result.isOK());
-		action.undo(xparameters);
-	}
-
-	public void testExecuteUndoWithArtifactLocation() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File dirBundleSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File dirBundleTarget = new File(targetPlugins, "directoryBased_1.0.0");
-		copy("2.0", dirBundleSource, dirBundleTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(dirBundleTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, dirBundleTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, dirBundleTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, parameters.get("artifact.location"));
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "plugin.xml");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "+x");
-		Map xparameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here (or chmod with -w, -r and then test that files are unreadable
-		// and unwriteable. But, that would make this test fail on non UN*X.
-		// This is currently just going through the paces to check for any runtime exceptions
-		ChmodAction action = new ChmodAction();
-		action.execute(xparameters);
-		// does nothing so should not alter parameters
-		action.undo(xparameters);
-
-		// make a recursive run as well...
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R"); // recursive
-		parameters.put(ActionConstants.PARM_TARGET_DIR, parameters.get("artifact.location"));
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "..");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and one with two parameters
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R -H"); // recursive, modify symlinks (follow link).
-		parameters.put(ActionConstants.PARM_TARGET_DIR, parameters.get("artifact.location"));
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "..");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and check one that should fail
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_TARGET_DIR, parameters.get("artifact.location"));
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "JimmyHoffa");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		IStatus result = action.execute(xparameters);
-		assertFalse("Missing file should result in error", result.isOK());
-		action.undo(xparameters);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CollectActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CollectActionTest.java
deleted file mode 100644
index b35ed0c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/CollectActionTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.engine.phases.Collect;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.CollectAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class CollectActionTest extends AbstractProvisioningTest {
-
-	public CollectActionTest(String name) {
-		super(name);
-	}
-
-	public CollectActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		// still want side-effect
-		Util.getBundlePoolRepository(getAgent(), profile);
-
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		//IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		//bundlePool.addDescriptor(descriptor);
-
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put(Collect.PARM_ARTIFACT_REQUESTS, new ArrayList());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		List requests = (List) parameters.get(Collect.PARM_ARTIFACT_REQUESTS);
-		assertFalse(hasRequest(requests, key));
-		CollectAction action = new CollectAction();
-		action.execute(parameters);
-		assertTrue(hasRequest(requests, key));
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertTrue(hasRequest(requests, key));
-	}
-
-	private boolean hasRequest(List requests, IArtifactKey key) {
-		for (Iterator iterator = requests.iterator(); iterator.hasNext();) {
-			IArtifactRequest[] request = (IArtifactRequest[]) iterator.next();
-			for (int i = 0; i < request.length; i++) {
-				if (key.equals(request[i].getArtifactKey()))
-					return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/EclipseTouchpointTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/EclipseTouchpointTest.java
deleted file mode 100644
index b73f7b7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/EclipseTouchpointTest.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.osgi.framework.ServiceReference;
-
-public class EclipseTouchpointTest extends AbstractProvisioningTest {
-
-	public EclipseTouchpointTest(String name) {
-		super(name);
-	}
-
-	public EclipseTouchpointTest() {
-		super("");
-	}
-
-	public void testInitializeCompletePhaseCommit() {
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-
-		Map parameters = new HashMap();
-		IProfile profile = createProfile("test");
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		Object manipulator = parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-		assertNotNull(parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES));
-		assertNotNull(parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION));
-		touchpoint.completePhase(null, profile, "test", parameters);
-
-		// checking that the manipulator is carried from phases to phase
-		parameters.clear();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		touchpoint.initializePhase(null, profile, "test2", parameters);
-		Object testManipulator = parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertEquals(manipulator, testManipulator);
-		touchpoint.completePhase(null, profile, "test2", parameters);
-
-		// re: "uninstall" this is necessary for now for coverage until we have formal commit and rollback events
-		// this test should be revisited then
-		parameters.clear();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		touchpoint.initializePhase(null, profile, "uninstall", parameters);
-		testManipulator = parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertEquals(manipulator, testManipulator);
-		touchpoint.completePhase(null, profile, "uninstall", parameters);
-
-		// this will save the manipulator and remove it from the set of tracked manipulators
-		touchpoint.commit(profile);
-
-		touchpoint.initializePhase(null, profile, "test2", parameters);
-		testManipulator = parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotSame(manipulator, testManipulator);
-	}
-
-	public void testQualifyAction() {
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		assertEquals("org.eclipse.equinox.p2.touchpoint.eclipse.installBundle", touchpoint.qualifyAction("installBundle"));
-	}
-
-	/**
-	 * Tests loading cache extensions from a profile whose install directory contains spaces
-	 */
-	public void testBug262073() throws MalformedURLException {
-		Map properties = new HashMap();
-		File site = getTestData("Repository", "/testData/artifactRepo/simple with spaces/");
-		//use URL here so spaces are not encoded
-		URL spacesLocation = site.toURL();
-		site = getTestData("Repositoy", "/testData/artifactRepo/simple/");
-		URL location = site.toURL();
-
-		properties.put("org.eclipse.equinox.p2.cache.extensions", location.toString() + "|" + spacesLocation.toString());
-		IProfile profile = createProfile("testBug262073", properties);
-		AggregatedBundleRepository repo = (AggregatedBundleRepository) Util.getAggregatedBundleRepository(getAgent(), profile);
-		Collection repos = repo.testGetBundleRepositories();
-		assertEquals("1.0", 3, repos.size());
-	}
-
-	public void testInitializeCompleteOperand() {
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Map parameters = new HashMap();
-		IProfile profile = createProfile("test");
-		Operand operand = new InstallableUnitOperand(null, createIU("test"));
-
-		// need a partial iu test here
-		touchpoint.initializeOperand(profile, operand, parameters);
-		touchpoint.completeOperand(profile, operand, parameters);
-	}
-
-	public void testPrepareIU() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		bundlePool.addDescriptor(descriptor);
-
-		Properties extraProperties = new Properties();
-		extraProperties.put(IInstallableUnit.PROP_PARTIAL_IU, Boolean.TRUE.toString());
-
-		Dictionary mockManifest = new Properties();
-		mockManifest.put("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$
-		mockManifest.put("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$
-		mockManifest.put("Bundle-SymbolicName", key.getId()); //$NON-NLS-1$
-		mockManifest.put("Bundle-Version", key.getVersion().toString()); //$NON-NLS-1$
-
-		BundleDescription partialIUBundleDescription = BundlesAction.createBundleDescription(mockManifest, null);
-		IInstallableUnit[] bundleIUs = PublisherHelper.createEclipseIU(partialIUBundleDescription, false, key, extraProperties);
-		assertTrue(bundleIUs != null && bundleIUs.length != 0);
-		IInstallableUnit iu = bundleIUs[0];
-		assertTrue(Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		IInstallableUnit fullIU = touchpoint.prepareIU(getAgent(), profile, iu, key);
-		assertFalse(Boolean.valueOf(fullIU.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue());
-	}
-
-	public void testInstallPartialIU() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		bundlePool.addDescriptor(descriptor);
-
-		Properties extraProperties = new Properties();
-		extraProperties.put(IInstallableUnit.PROP_PARTIAL_IU, Boolean.TRUE.toString());
-
-		Dictionary mockManifest = new Properties();
-		mockManifest.put("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$
-		mockManifest.put("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$
-		mockManifest.put("Bundle-SymbolicName", key.getId()); //$NON-NLS-1$
-		mockManifest.put("Bundle-Version", key.getVersion().toString()); //$NON-NLS-1$
-
-		BundleDescription partialIUBundleDescription = BundlesAction.createBundleDescription(mockManifest, null);
-		IInstallableUnit[] bundleIUs = PublisherHelper.createEclipseIU(partialIUBundleDescription, false, key, extraProperties);
-		assertTrue(bundleIUs != null && bundleIUs.length != 0);
-		IInstallableUnit iu = bundleIUs[0];
-		assertTrue(Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue());
-
-		Iterator iterator = profile.query(new InstallableUnitQuery(iu.getId()), null).iterator();
-		assertFalse(iterator.hasNext());
-
-		InstallableUnitOperand op = new InstallableUnitOperand(null, iu);
-		InstallableUnitOperand[] operands = new InstallableUnitOperand[] {op};
-		ServiceReference engineRef = TestActivator.getContext().getServiceReference(IEngine.SERVICE_NAME);
-		IEngine engine = (IEngine) TestActivator.getContext().getService(engineRef);
-
-		IStatus result = engine.perform(engine.createCustomPlan(profile, operands, null), new NullProgressMonitor());
-		assertTrue(result.isOK());
-		engine = null;
-		TestActivator.getContext().ungetService(engineRef);
-
-		iterator = profile.query(new InstallableUnitQuery(iu.getId()), null).iterator();
-		assertTrue(iterator.hasNext());
-		IInstallableUnit installedIU = (IInstallableUnit) iterator.next();
-		assertTrue(installedIU.getId().equals(iu.getId()));
-		assertFalse(Boolean.valueOf(installedIU.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue());
-	}
-
-	public void testInstallPartialIUValidationFailure() throws ProvisionException {
-
-		File installFolder = getTempFolder();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		URI site = getTestData("0.1", "/testData/updatesite/site").toURI();
-		getMetadataRepositoryManager().addRepository(site);
-		getArtifactRepositoryManager().addRepository(site);
-
-		IMetadataRepository repo = getMetadataRepositoryManager().loadRepository(site, getMonitor());
-		IInstallableUnit iu = (IInstallableUnit) repo.query(new InstallableUnitQuery("test.bundle"), getMonitor()).iterator().next();
-		assertNotNull(iu);
-		profile = createProfile("test", profileProperties);
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-
-		final IInstallableUnit[] newIUs = new IInstallableUnit[] {iu};
-		request.addInstallableUnits(newIUs);
-
-		IPlanner planner = createPlanner();
-		IProvisioningPlan plan = planner.getProvisioningPlan(request, new ProvisioningContext(), new NullProgressMonitor());
-		assertTrue("1.0", plan.getStatus().isOK());
-		IStatus result = createEngine().perform(plan, getMonitor());
-		assertFalse("2.0", result.isOK());
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallBundleActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallBundleActionTest.java
deleted file mode 100644
index 82039e1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallBundleActionTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class InstallBundleActionTest extends AbstractProvisioningTest {
-
-	public InstallBundleActionTest(String name) {
-		super(name);
-	}
-
-	public InstallBundleActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_BUNDLE, key.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		assertFalse(inBundles(manipulator, osgiTarget));
-		InstallBundleAction action = new InstallBundleAction();
-		action.execute(parameters);
-		assertTrue(inBundles(manipulator, osgiTarget));
-		action.undo(parameters);
-		assertFalse(inBundles(manipulator, osgiTarget));
-	}
-
-	private boolean inBundles(Manipulator manipulator, File osgiTarget) {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()))
-				return true;
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallFeatureActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallFeatureActionTest.java
deleted file mode 100644
index 9e8df53..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/InstallFeatureActionTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallFeatureAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.Feature;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class InstallFeatureActionTest extends AbstractProvisioningTest {
-
-	public InstallFeatureActionTest(String name) {
-		super(name);
-	}
-
-	public InstallFeatureActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File featureSource = getTestData("1.0", "/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		File targetPlugins = new File(installFolder, "features");
-		assertTrue(targetPlugins.mkdir());
-		File featureTarget = new File(targetPlugins, "org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		copy("2.0", featureSource, featureTarget);
-
-		FeatureParser parser = new FeatureParser();
-		Feature feature = parser.parse(featureTarget);
-
-		IArtifactKey key = FeaturesAction.createFeatureArtifactKey(feature.getId(), feature.getVersion());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(bundlePool, key, featureTarget);
-		((SimpleArtifactDescriptor) descriptor).setRepositoryProperty("artifact.folder", Boolean.TRUE.toString());
-		IInstallableUnit iu = FeaturesAction.createFeatureJarIU(feature, new PublisherInfo());
-
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_FEATURE, key.toString());
-		parameters.put(ActionConstants.PARM_FEATURE_ID, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters.put(ActionConstants.PARM_FEATURE_VERSION, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
-		assertNotNull(configuration);
-
-		URI siteURI = featureTarget.getParentFile().getParentFile().toURI();
-		assertFalse(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		InstallFeatureAction action = new InstallFeatureAction();
-		IStatus status = action.execute(parameters);
-		status.isOK();
-		assertTrue(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		action.undo(parameters);
-		assertFalse(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-	}
-
-	public void testInstallFolderWithSpaces() {
-		Properties profileProperties = new Properties();
-		File installFolder = new File(getTempFolder(), "with space");
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File featureSource = getTestData("1.0", "/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		File targetPlugins = new File(installFolder, "features");
-		assertTrue(targetPlugins.mkdir());
-		File featureTarget = new File(targetPlugins, "org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		copy("2.0", featureSource, featureTarget);
-
-		FeatureParser parser = new FeatureParser();
-		Feature feature = parser.parse(featureTarget);
-
-		IArtifactKey key = FeaturesAction.createFeatureArtifactKey(feature.getId(), feature.getVersion());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(bundlePool, key, featureTarget);
-		((SimpleArtifactDescriptor) descriptor).setRepositoryProperty("artifact.folder", Boolean.TRUE.toString());
-		IInstallableUnit iu = FeaturesAction.createFeatureJarIU(feature, new PublisherInfo());
-
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_FEATURE, key.toString());
-		parameters.put(ActionConstants.PARM_FEATURE_ID, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters.put(ActionConstants.PARM_FEATURE_VERSION, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
-		assertNotNull(configuration);
-
-		URI siteURI = featureTarget.getParentFile().getParentFile().toURI();
-		assertFalse(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		InstallFeatureAction action = new InstallFeatureAction();
-		IStatus status = action.execute(parameters);
-		status.isOK();
-		assertTrue(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		action.undo(parameters);
-		assertFalse(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/JVMArgumentActionLogicTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/JVMArgumentActionLogicTest.java
deleted file mode 100644
index 570d3c6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/JVMArgumentActionLogicTest.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class JVMArgumentActionLogicTest extends AbstractProvisioningTest {
-
-	private static File tempDir;
-	private Map parameters;
-	private LauncherData launcherData;
-
-	public void setUp() throws Exception {
-		super.setUp();
-		tempDir = new File(System.getProperty("java.io.tmpdir"), "JVMArgs");
-		tempDir.mkdirs();
-
-		parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		parameters.put(ActionConstants.PARM_PROFILE_DATA_DIRECTORY, tempDir);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-		launcherData = manipulator.getLauncherData();
-	}
-
-	public void tearDown() throws Exception {
-		AbstractProvisioningTest.delete(tempDir);
-		super.tearDown();
-	}
-
-	public void testStandardUse() {
-		AddJVMArgumentAction addAction = new AddJVMArgumentAction();
-		RemoveJVMArgumentAction rmAction = new RemoveJVMArgumentAction();
-
-		String maxJvmArg = "-Xmx512M";
-		String minJvmArg = "-Xmx256M";
-		String diffJvmArg = "-Xms50M";
-
-		// Add a value then undo
-		parameters.put(ActionConstants.PARM_JVM_ARG, maxJvmArg);
-		addAction.execute(parameters);
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(maxJvmArg));
-		addAction.undo(parameters);
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(maxJvmArg));
-
-		// Add value
-		parameters.put(ActionConstants.PARM_JVM_ARG, minJvmArg);
-		addAction = new AddJVMArgumentAction();
-		addAction.execute(parameters);
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(minJvmArg));
-
-		// Add a different type of argument
-		parameters.put(ActionConstants.PARM_JVM_ARG, diffJvmArg);
-		addAction.execute(parameters);
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(minJvmArg));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(diffJvmArg));
-		rmAction.execute(parameters);
-
-		// Add a larger value
-		parameters.put(ActionConstants.PARM_JVM_ARG, maxJvmArg);
-		addAction.execute(parameters);
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(maxJvmArg));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(minJvmArg));
-
-		// Remove large value
-		rmAction.execute(parameters);
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(minJvmArg));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(maxJvmArg));
-
-		// Remove first value
-		parameters.put(ActionConstants.PARM_JVM_ARG, minJvmArg);
-		rmAction.execute(parameters);
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(minJvmArg));
-	}
-
-	public void testPrefixEvaluation() {
-		String gigabyteArg = "-XX:MaxPermSize=1G";
-		String megabyteArg = "-XX:MaxPermSize=1M";
-		String kilobyteArg = "-XX:MaxPermSize=1K";
-		String byteArg = "-XX:MaxPermSize=1";
-		AddJVMArgumentAction addAction = new AddJVMArgumentAction();
-		RemoveJVMArgumentAction rmAction = new RemoveJVMArgumentAction();
-
-		// Standard prefix evaluation
-		parameters.put(ActionConstants.PARM_JVM_ARG, byteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(byteArg));
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, kilobyteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(kilobyteArg));
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, megabyteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(megabyteArg));
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, gigabyteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(gigabyteArg));
-
-		// Remove values
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		parameters.put(ActionConstants.PARM_JVM_ARG, megabyteArg);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		parameters.put(ActionConstants.PARM_JVM_ARG, kilobyteArg);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		parameters.put(ActionConstants.PARM_JVM_ARG, byteArg);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-
-		// Non-standard prefix evaluation
-		gigabyteArg = "-Xmx1G";
-		megabyteArg = "-Xmx2048M";
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, gigabyteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(gigabyteArg));
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, megabyteArg);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(megabyteArg));
-
-		// Clear state
-		parameters.put(ActionConstants.PARM_JVM_ARG, megabyteArg);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		parameters.put(ActionConstants.PARM_JVM_ARG, gigabyteArg);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).size() == 0);
-	}
-
-	public void testInvalidValues() {
-		AddJVMArgumentAction action = new AddJVMArgumentAction();
-
-		String invalid = "-Xms25F";
-		String valid = "-Xms256M";
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, invalid);
-
-		IStatus result = action.execute(Collections.unmodifiableMap(parameters));
-		if (!result.matches(IStatus.ERROR) && !(result.getException() instanceof IllegalArgumentException))
-			fail("Invalid Action value not caught!");
-
-		// User has injected an invalid value
-		launcherData.addJvmArg(invalid);
-		parameters.put(ActionConstants.PARM_JVM_ARG, valid);
-
-		result = action.execute(Collections.unmodifiableMap(parameters));
-		if (!result.matches(IStatus.ERROR) && !(result.getException() instanceof IllegalArgumentException))
-			fail("Invalid injected value not caught!");
-
-		launcherData.removeJvmArg(invalid);
-	}
-
-	public void testUserInjectsInitialValue() {
-		String userValue = "-Xmx400M";
-		String largeValue = "-Xmx512M";
-		AddJVMArgumentAction addAction = new AddJVMArgumentAction();
-		RemoveJVMArgumentAction rmAction = new RemoveJVMArgumentAction();
-
-		// Simulate a user injected value
-		launcherData.addJvmArg(userValue);
-
-		// Add a larger value 
-		parameters.put(ActionConstants.PARM_JVM_ARG, largeValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(largeValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-
-		// Remove added value
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(largeValue));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-
-		// Clear state
-		launcherData.removeJvmArg(userValue);
-		parameters.put(ActionConstants.PARM_JVM_ARG, "-Xmx300M");
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).size() == 0);
-	}
-
-	public void testUserInjectsLargerValue() {
-		AddJVMArgumentAction addAction = new AddJVMArgumentAction();
-		RemoveJVMArgumentAction rmAction = new RemoveJVMArgumentAction();
-		String userValue = "-Xmx400M";
-		String initialValue = "-Xmx256M";
-		String smallValue = "-Xmx100M";
-
-		// Initial value
-		parameters.put(ActionConstants.PARM_JVM_ARG, initialValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(initialValue));
-
-		// Inject value
-		launcherData.removeJvmArg(initialValue);
-		launcherData.addJvmArg(userValue);
-
-		// Smaller value added
-		parameters.put(ActionConstants.PARM_JVM_ARG, smallValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(initialValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(smallValue));
-
-		// Value equal to User's added & removed
-		parameters.put(ActionConstants.PARM_JVM_ARG, userValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(initialValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(smallValue));
-
-		// Clear state
-		launcherData.removeJvmArg(userValue);
-		parameters.put(ActionConstants.PARM_JVM_ARG, initialValue);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).size() == 0);
-	}
-
-	public void testUserInjectsSmallerValue() {
-		AddJVMArgumentAction addAction = new AddJVMArgumentAction();
-		RemoveJVMArgumentAction rmAction = new RemoveJVMArgumentAction();
-		String userValue = "-Xmx100M";
-		String initialValue = "-Xmx256M";
-		String largeValue = "-Xmx512M";
-
-		// Initial value
-		parameters.put(ActionConstants.PARM_JVM_ARG, initialValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(initialValue));
-
-		// Inject value
-		launcherData.removeJvmArg(initialValue);
-		launcherData.addJvmArg(userValue);
-
-		// Add new value
-		parameters.put(ActionConstants.PARM_JVM_ARG, largeValue);
-		addAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(largeValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(initialValue));
-		assertFalse(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-
-		// Remove values
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		parameters.put(ActionConstants.PARM_JVM_ARG, initialValue);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).contains(userValue));
-
-		// Clear state
-		launcherData.removeJvmArg(userValue);
-		parameters.put(ActionConstants.PARM_JVM_ARG, initialValue);
-		rmAction.execute(Collections.unmodifiableMap(parameters));
-		assertTrue(Arrays.asList(launcherData.getJvmArgs()).size() == 0);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/LinkActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/LinkActionTest.java
deleted file mode 100644
index 374def6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/LinkActionTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.LinkAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class LinkActionTest extends AbstractProvisioningTest {
-
-	public LinkActionTest(String name) {
-		super(name);
-	}
-
-	public LinkActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, installFolder.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_LINK_NAME, "b.zip");
-		parameters.put(ActionConstants.PARM_LINK_TARGET, zipTarget.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here
-		// This is currently just going through the paces to check for any runtime exceptions
-		LinkAction action = new LinkAction();
-		action.execute(parameters);
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-	}
-
-	public void testExecuteUndoWithArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File dirBundleSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File dirBundleTarget = new File(targetPlugins, "directoryBased_1.0.0");
-		copy("2.0", dirBundleSource, dirBundleTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(dirBundleTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		ArtifactDescriptor descriptor = (ArtifactDescriptor) PublisherHelper.createArtifactDescriptor(key, dirBundleTarget);
-		descriptor.setProperty("artifact.folder", Boolean.TRUE.toString());
-		IInstallableUnit iu = createBundleIU(bundleDescription, dirBundleTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, "@artifact");
-		parameters.put(ActionConstants.PARM_LINK_NAME, "plugin.xml.link");
-		parameters.put(ActionConstants.PARM_LINK_TARGET, "plugin.xml");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here
-		// This is currently just going through the paces to check for any runtime exceptions
-		LinkAction action = new LinkAction();
-		action.execute(parameters);
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-	}
-
-	public void testExecuteUndoWithArtifactLocation() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File dirBundleSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File dirBundleTarget = new File(targetPlugins, "directoryBased_1.0.0");
-		copy("2.0", dirBundleSource, dirBundleTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(dirBundleTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		ArtifactDescriptor descriptor = (ArtifactDescriptor) PublisherHelper.createArtifactDescriptor(key, dirBundleTarget);
-		descriptor.setProperty("artifact.folder", Boolean.TRUE.toString());
-		IInstallableUnit iu = createBundleIU(bundleDescription, dirBundleTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, parameters.get("artifact.location"));
-		parameters.put(ActionConstants.PARM_LINK_NAME, "plugin.xml.link");
-		parameters.put(ActionConstants.PARM_LINK_TARGET, "plugin.xml");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here
-		// This is currently just going through the paces to check for any runtime exceptions
-		LinkAction action = new LinkAction();
-		action.execute(parameters);
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/MarkStartedActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/MarkStartedActionTest.java
deleted file mode 100644
index 01affcd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/MarkStartedActionTest.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.MarkStartedAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class MarkStartedActionTest extends AbstractProvisioningTest {
-
-	public MarkStartedActionTest(String name) {
-		super(name);
-	}
-
-	public MarkStartedActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_STARTED, Boolean.TRUE.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-
-		MarkStartedAction action = new MarkStartedAction();
-		action.execute(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, true));
-		action.undo(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-	}
-
-	public void testExecuteUndoWithMissingArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_STARTED, Boolean.TRUE.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-
-		// let's remove the artifact now
-		bundlePool.removeDescriptor(descriptor);
-
-		MarkStartedAction action = new MarkStartedAction();
-		action.execute(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, true));
-		action.undo(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-	}
-
-	public void testExecuteOnFragmentBundleResultsInBundleNotBeingMarkedStarted() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi.fragment_1.0.0.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_STARTED, Boolean.TRUE.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-
-		MarkStartedAction action = new MarkStartedAction();
-		action.execute(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-		action.undo(parameters);
-		assertTrue(isMarkedStarted(manipulator, osgiTarget, false));
-	}
-
-	private boolean isMarkedStarted(Manipulator manipulator, File osgiTarget, boolean started) {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()) && (started == bundles[i].isMarkedAsStarted()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveJVMArgumentActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveJVMArgumentActionTest.java
deleted file mode 100644
index b4ade84..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveJVMArgumentActionTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveJVMArgumentAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class RemoveJVMArgumentActionTest extends AbstractProvisioningTest {
-
-	public RemoveJVMArgumentActionTest(String name) {
-		super(name);
-	}
-
-	public RemoveJVMArgumentActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-		String jvmArg = "-Dtest=true";
-		manipulator.getLauncherData().addJvmArg(jvmArg);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getJvmArgs()).contains(jvmArg));
-
-		parameters.put(ActionConstants.PARM_JVM_ARG, jvmArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		RemoveJVMArgumentAction action = new RemoveJVMArgumentAction();
-		action.execute(parameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getJvmArgs()).contains(jvmArg));
-		action.undo(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getJvmArgs()).contains(jvmArg));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveProgramArgumentActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveProgramArgumentActionTest.java
deleted file mode 100644
index d8741c2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveProgramArgumentActionTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveProgramArgumentAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class RemoveProgramArgumentActionTest extends AbstractProvisioningTest {
-
-	public RemoveProgramArgumentActionTest(String name) {
-		super(name);
-	}
-
-	public RemoveProgramArgumentActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-test";
-		manipulator.getLauncherData().addProgramArg(programArg);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		RemoveProgramArgumentAction action = new RemoveProgramArgumentAction();
-		action.execute(parameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-		action.undo(parameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(programArg));
-	}
-
-	public void testExecuteUndoWithArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		manipulator.getLauncherData().addProgramArg(programArg);
-
-		programArg = "@artifact";
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-
-		manipulator.getLauncherData().addProgramArg(resolvedArtifact);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		RemoveProgramArgumentAction artifactAction = new RemoveProgramArgumentAction();
-		RemoveProgramArgumentAction keyAction = new RemoveProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-	public void testExecuteUndoWithArtifactLocation() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String programArg = "-somekey";
-		Map keyParameters = new HashMap(parameters);
-		keyParameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		manipulator.getLauncherData().addProgramArg(programArg);
-
-		programArg = (String) parameters.get("artifact.location");
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-
-		manipulator.getLauncherData().addProgramArg(resolvedArtifact);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROGRAM_ARG, programArg);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		RemoveProgramArgumentAction artifactAction = new RemoveProgramArgumentAction();
-		RemoveProgramArgumentAction keyAction = new RemoveProgramArgumentAction();
-
-		keyAction.execute(keyParameters);
-		artifactAction.execute(parameters);
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		artifactAction.undo(parameters);
-		keyAction.undo(keyParameters);
-		assertTrue(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveRepositoryActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveRepositoryActionTest.java
deleted file mode 100644
index bf11c9b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveRepositoryActionTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveRepositoryAction;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * Tests for {@link org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveRepositoryAction}.
- */
-public class RemoveRepositoryActionTest extends AbstractProvisioningTest {
-	private static final String TEST_LOCATION = "http://eclipse.org/eclipse/updates/RemoveRepositoryActionTest";
-	RemoveRepositoryAction action;
-	private URI locationURI;
-
-	/**
-	 * Returns a map containing valid arguments for this action.
-	 */
-	private Map getValidArguments() {
-		Map args = new HashMap();
-		args.put(ActionConstants.PARM_AGENT, getAgent());
-		args.put("location", TEST_LOCATION);
-		args.put("type", Integer.toString(IRepository.TYPE_ARTIFACT));
-		args.put("enabled", "true");
-		return args;
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		locationURI = new URI(TEST_LOCATION);
-		action = new RemoveRepositoryAction();
-		getArtifactRepositoryManager().addRepository(locationURI);
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		getArtifactRepositoryManager().removeRepository(locationURI);
-	}
-
-	public void testInvalidEnablement() {
-		Map args = getValidArguments();
-		args.put("enabled", "bogus enablement");
-		IStatus result = action.execute(args);
-		//enablement is not relevant for remove repository action
-		assertTrue("1.0", result.isOK());
-		assertTrue("1.1", !getArtifactRepositoryManager().isEnabled(locationURI));
-	}
-
-	public void testInvalidLocation() {
-		Map args = getValidArguments();
-		args.put("location", "bogus location");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", !result.isOK());
-		assertTrue("1.1", getArtifactRepositoryManager().isEnabled(locationURI));
-	}
-
-	public void testInvalidType() {
-		Map args = getValidArguments();
-		args.put("type", "bogus type");
-		IStatus result = action.execute(args);
-		assertTrue("1.0", !result.isOK());
-		assertTrue("1.1", getArtifactRepositoryManager().isEnabled(locationURI));
-	}
-
-	public void testNoArguments() {
-		IStatus result = action.execute(new HashMap());
-		assertTrue("1.0", !result.isOK());
-		assertTrue("1.1", getArtifactRepositoryManager().isEnabled(locationURI));
-	}
-
-	public void testRemoveMetadataRepository() {
-		Map args = getValidArguments();
-		args.put("type", Integer.toString(IRepository.TYPE_METADATA));
-		getMetadataRepositoryManager().addRepository(locationURI);
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-		assertTrue("1.1", !getMetadataRepositoryManager().isEnabled(locationURI));
-	}
-
-	public void testUndo() {
-		Map args = getValidArguments();
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-		assertTrue("1.1", !getArtifactRepositoryManager().isEnabled(locationURI));
-
-		result = action.undo(args);
-		assertTrue("2.0", result.isOK());
-	}
-
-	public void testUndoInvalidArgument() {
-		Map args = getValidArguments();
-		IStatus result = action.execute(args);
-		assertTrue("1.0", result.isOK());
-		assertTrue("1.1", !getArtifactRepositoryManager().isEnabled(locationURI));
-
-		args.put("type", "bogus type");
-		result = action.undo(args);
-		assertTrue("2.0", !result.isOK());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveSourceBundleActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveSourceBundleActionTest.java
deleted file mode 100644
index e62dde8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/RemoveSourceBundleActionTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveSourceBundleAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class RemoveSourceBundleActionTest extends AbstractProvisioningTest {
-
-	public RemoveSourceBundleActionTest(String name) {
-		super(name);
-	}
-
-	public RemoveSourceBundleActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() throws IOException {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_BUNDLE, key.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
-		assertNotNull(manipulator);
-
-		manipulator.addBundle(osgiTarget, key.getId(), key.getVersion());
-		assertTrue(inBundles(manipulator, osgiTarget));
-		RemoveSourceBundleAction action = new RemoveSourceBundleAction();
-		action.execute(parameters);
-		assertFalse(inBundles(manipulator, osgiTarget));
-		action.undo(parameters);
-		assertTrue(inBundles(manipulator, osgiTarget));
-	}
-
-	private boolean inBundles(SourceManipulator manipulator, File osgiTarget) throws IOException {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()))
-				return true;
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkDependentPropertyActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkDependentPropertyActionTest.java
deleted file mode 100644
index fd3f3a0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkDependentPropertyActionTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SetFrameworkDependentPropertyActionTest extends AbstractProvisioningTest {
-
-	public SetFrameworkDependentPropertyActionTest(String name) {
-		super(name);
-	}
-
-	public SetFrameworkDependentPropertyActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String frameworkDependentPropertyName = "test";
-		String frameworkDependentPropertyValue = "true";
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-		parameters.put(ActionConstants.PARM_PROP_NAME, frameworkDependentPropertyName);
-		parameters.put(ActionConstants.PARM_PROP_VALUE, frameworkDependentPropertyValue);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetProgramPropertyAction action = new SetProgramPropertyAction();
-		action.execute(parameters);
-		assertEquals("true", manipulator.getConfigData().getProperty(frameworkDependentPropertyName));
-		action.undo(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkIndependentPropertyActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkIndependentPropertyActionTest.java
deleted file mode 100644
index 81def3f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetFrameworkIndependentPropertyActionTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SetFrameworkIndependentPropertyActionTest extends AbstractProvisioningTest {
-
-	public SetFrameworkIndependentPropertyActionTest(String name) {
-		super(name);
-	}
-
-	public SetFrameworkIndependentPropertyActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String frameworkDependentPropertyName = "test";
-		String frameworkDependentPropertyValue = "true";
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-		parameters.put(ActionConstants.PARM_PROP_NAME, frameworkDependentPropertyName);
-		parameters.put(ActionConstants.PARM_PROP_VALUE, frameworkDependentPropertyValue);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetProgramPropertyAction action = new SetProgramPropertyAction();
-		action.execute(parameters);
-		assertEquals("true", manipulator.getConfigData().getProperty(frameworkDependentPropertyName));
-		action.undo(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
deleted file mode 100644
index 8e7c562..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetLauncherNameActionTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetLauncherNameAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class SetLauncherNameActionTest extends AbstractProvisioningTest {
-
-	public SetLauncherNameActionTest(String name) {
-		super(name);
-	}
-
-	public SetLauncherNameActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String launcherName = "test";
-		assertNotSame(launcherName, profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME));
-		parameters.put(ActionConstants.PARM_LAUNCHERNAME, launcherName);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetLauncherNameAction action = new SetLauncherNameAction();
-		action.execute(parameters);
-		assertEquals(launcherName, profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME));
-		action.undo(parameters);
-		assertNotSame(launcherName, profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME));
-	}
-
-	public void testEmptyName() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-
-		File tempFolder = getTempFolder();
-		Properties profileProperties = new Properties();
-		profileProperties.put(IProfile.PROP_INSTALL_FOLDER, tempFolder.toString());
-		profileProperties.put(IProfile.PROP_ENVIRONMENTS, "osgi.ws=cocoa,osgi.os=macosx,osgi.arch=x86");
-		IProfile profile = createProfile("launcherNameProfile", profileProperties);
-
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		parameters.put(ActionConstants.PARM_LAUNCHERNAME, "");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetLauncherNameAction action = new SetLauncherNameAction();
-		action.execute(parameters);
-	}
-
-	public void testChangeName() throws Exception {
-		File tempFolder = getTempFolder();
-
-		Properties profileProperties = new Properties();
-		profileProperties.put(IProfile.PROP_INSTALL_FOLDER, tempFolder.toString());
-		profileProperties.put(IProfile.PROP_ENVIRONMENTS, "osgi.ws=win32,osgi.os=win32,osgi.arch=x86");
-		IProfile profile = createProfile("changeNameProfile", profileProperties);
-
-		//profile will start using "eclipse" by default, give it some content and see if it 
-		//survives a name change.
-		File eclipseIni = new File(tempFolder, "eclipse.ini");
-		StringBuffer ini = new StringBuffer();
-		ini.append("-startup\n");
-		ini.append("plugins/org.eclipse.equinox.launcher_1.2.4.v1234.jar\n");
-		writeBuffer(eclipseIni, ini);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_LAUNCHERNAME, "foo");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetLauncherNameAction action = new SetLauncherNameAction();
-		action.execute(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		File bundle = new File(tempFolder, "plugins/aBundle_1.0.0.jar");
-		bundle.getParentFile().mkdirs();
-		copy("1.0", getTestData("1.1", "/testData/testRepos/simple.1/plugins/aBundle_1.0.0.jar"), bundle);
-		manipulator.getConfigData().addBundle(new BundleInfo(bundle.toURI()));
-		manipulator.save(false);
-
-		assertLogContainsLines(new File(tempFolder, "foo.ini"), new String[] {"-startup", "plugins/org.eclipse.equinox.launcher_1.2.4.v1234.jar"});
-		assertFalse(eclipseIni.exists());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetProgramPropertyActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetProgramPropertyActionTest.java
deleted file mode 100644
index b7b1a71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetProgramPropertyActionTest.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class SetProgramPropertyActionTest extends AbstractProvisioningTest {
-
-	public SetProgramPropertyActionTest(String name) {
-		super(name);
-	}
-
-	public SetProgramPropertyActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		Properties profileProperties = new Properties();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, getTempFolder().toString());
-		IProfile profile = createProfile("test", profileProperties);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, createIU("test"));
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String frameworkDependentPropertyName = "test";
-		String frameworkDependentPropertyValue = "true";
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-		parameters.put(ActionConstants.PARM_PROP_NAME, frameworkDependentPropertyName);
-		parameters.put(ActionConstants.PARM_PROP_VALUE, frameworkDependentPropertyValue);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetProgramPropertyAction action = new SetProgramPropertyAction();
-		action.execute(parameters);
-		assertEquals("true", manipulator.getConfigData().getProperty(frameworkDependentPropertyName));
-		action.undo(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey(frameworkDependentPropertyName));
-	}
-
-	public void testExecuteUndoWithArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROP_NAME, "test");
-		parameters.put(ActionConstants.PARM_PROP_VALUE, "@artifact");
-
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetProgramPropertyAction action = new SetProgramPropertyAction();
-
-		action.execute(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-		action.undo(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey("test"));
-
-		action.execute(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-		parameters = new HashMap(parameters);
-		parameters.remove(ActionConstants.PARM_PROP_VALUE);
-		parameters = Collections.unmodifiableMap(parameters);
-		action.execute(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey("test"));
-		action.undo(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-	}
-
-	public void testExecuteUndoWithArtifactLocation() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put("artifact", key);
-		touchpoint.initializeOperand(profile, operand, parameters);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		String resolvedArtifact = osgiTarget.getAbsolutePath();
-		assertFalse(Arrays.asList(manipulator.getLauncherData().getProgramArgs()).contains(resolvedArtifact));
-		parameters.put(ActionConstants.PARM_PROP_NAME, "test");
-		parameters.put(ActionConstants.PARM_PROP_VALUE, parameters.get("artifact.location"));
-
-		parameters = Collections.unmodifiableMap(parameters);
-
-		SetProgramPropertyAction action = new SetProgramPropertyAction();
-
-		action.execute(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-		action.undo(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey("test"));
-
-		action.execute(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-		parameters = new HashMap(parameters);
-		parameters.remove(ActionConstants.PARM_PROP_VALUE);
-		parameters = Collections.unmodifiableMap(parameters);
-		action.execute(parameters);
-		assertFalse(manipulator.getConfigData().getProperties().containsKey("test"));
-		action.undo(parameters);
-		assertTrue(manipulator.getConfigData().getProperty("test").equals(resolvedArtifact));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetStartLevelActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetStartLevelActionTest.java
deleted file mode 100644
index a86555e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/SetStartLevelActionTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetStartLevelAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class SetStartLevelActionTest extends AbstractProvisioningTest {
-
-	public SetStartLevelActionTest(String name) {
-		super(name);
-	}
-
-	public SetStartLevelActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_START_LEVEL, "0");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-
-		SetStartLevelAction action = new SetStartLevelAction();
-		action.execute(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, 0));
-		action.undo(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-	}
-
-	public void testExecuteUndoWithMissingArtifact() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_START_LEVEL, "0");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-
-		// let's remove the artifact now
-		bundlePool.removeDescriptor(descriptor);
-
-		SetStartLevelAction action = new SetStartLevelAction();
-		action.execute(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, 0));
-		action.undo(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-	}
-
-	public void testExecuteOnFragmentBundleResultsInBundleNotBeingMarkedStarted() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi.fragment_1.0.0.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_START_LEVEL, "0");
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-
-		SetStartLevelAction action = new SetStartLevelAction();
-		action.execute(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-		action.undo(parameters);
-		assertTrue(isStartLevel(manipulator, osgiTarget, -1));
-	}
-
-	private boolean isStartLevel(Manipulator manipulator, File osgiTarget, int startLevel) {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()) && (startLevel == bundles[i].getStartLevel()))
-				return true;
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallBundleActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallBundleActionTest.java
deleted file mode 100644
index 14c380d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallBundleActionTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.UninstallBundleAction;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class UninstallBundleActionTest extends AbstractProvisioningTest {
-
-	public UninstallBundleActionTest(String name) {
-		super(name);
-	}
-
-	public UninstallBundleActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File osgiSource = getTestData("1.0", "/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		File targetPlugins = new File(installFolder, "plugins");
-		assertTrue(targetPlugins.mkdir());
-		File osgiTarget = new File(targetPlugins, "org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar");
-		copy("2.0", osgiSource, osgiTarget);
-
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(osgiTarget);
-		IArtifactKey key = BundlesAction.createBundleArtifactKey(bundleDescription.getSymbolicName(), bundleDescription.getVersion().toString());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(key, osgiTarget);
-		IInstallableUnit iu = createBundleIU(bundleDescription, osgiTarget.isDirectory(), key);
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_BUNDLE, key.toString());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		assertNotNull(manipulator);
-
-		BundleInfo bundleInfo = Util.createBundleInfo(osgiTarget, Util.getManifest(iu.getTouchpointData()));
-		manipulator.getConfigData().addBundle(bundleInfo);
-		assertTrue(inBundles(manipulator, osgiTarget));
-		UninstallBundleAction action = new UninstallBundleAction();
-		action.execute(parameters);
-		assertFalse(inBundles(manipulator, osgiTarget));
-		action.undo(parameters);
-		assertTrue(inBundles(manipulator, osgiTarget));
-	}
-
-	private boolean inBundles(Manipulator manipulator, File osgiTarget) {
-		URI location = osgiTarget.toURI();
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (location.equals(bundles[i].getLocation()))
-				return true;
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallFeatureActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallFeatureActionTest.java
deleted file mode 100644
index 51a182a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UninstallFeatureActionTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.UninstallFeatureAction;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.Feature;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class UninstallFeatureActionTest extends AbstractProvisioningTest {
-
-	private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
-	public UninstallFeatureActionTest(String name) {
-		super(name);
-	}
-
-	public UninstallFeatureActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profileProperties.setProperty(IProfile.PROP_CACHE, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(getAgent(), profile);
-		File featureSource = getTestData("1.0", "/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		File targetPlugins = new File(installFolder, "features");
-		assertTrue(targetPlugins.mkdir());
-		File featureTarget = new File(targetPlugins, "org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
-		copy("2.0", featureSource, featureTarget);
-
-		FeatureParser parser = new FeatureParser();
-		Feature feature = parser.parse(featureTarget);
-
-		IArtifactKey key = FeaturesAction.createFeatureArtifactKey(feature.getId(), feature.getVersion());
-		IArtifactDescriptor descriptor = PublisherHelper.createArtifactDescriptor(bundlePool, key, featureTarget);
-		((SimpleArtifactDescriptor) descriptor).setRepositoryProperty("artifact.folder", Boolean.TRUE.toString());
-		IInstallableUnit iu = FeaturesAction.createFeatureJarIU(feature, new PublisherInfo());
-
-		bundlePool.addDescriptor(descriptor);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		EclipseTouchpoint touchpoint = new EclipseTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-
-		parameters.put(ActionConstants.PARM_FEATURE, key.toString());
-		parameters.put(ActionConstants.PARM_FEATURE_ID, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters.put(ActionConstants.PARM_FEATURE_VERSION, ActionConstants.PARM_DEFAULT_VALUE);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
-		assertNotNull(configuration);
-
-		// Note: This is from code in InstallFeatureAction
-		String pluginId = iu.getProperty(UPDATE_FEATURE_PLUGIN_PROP);
-		boolean isPrimary = Boolean.valueOf(iu.getProperty(UPDATE_FEATURE_PRIMARY_PROP)).booleanValue();
-		String application = iu.getProperty(UPDATE_FEATURE_APPLICATION_PROP);
-		// TODO this isn't right... but we will leave it for now because we don't actually use the value in the install
-		String pluginVersion = key.getVersion().toString();
-		configuration.addFeatureEntry(featureTarget, feature.getId(), feature.getVersion(), pluginId, pluginVersion, isPrimary, application, /*root*/null, iu.getProperty(Site.PROP_LINK_FILE));
-
-		URI siteURI = featureTarget.getParentFile().getParentFile().toURI();
-		assertTrue(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		UninstallFeatureAction action = new UninstallFeatureAction();
-		action.execute(parameters);
-		assertFalse(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-		action.undo(parameters);
-		assertTrue(configuration.containsFeature(siteURI, feature.getId(), feature.getVersion()));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
deleted file mode 100644
index 0338508..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.Collections;
-import java.util.Properties;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-/**
- * @since 1.0
- */
-public class UtilTest extends AbstractProvisioningTest {
-	/*
-	 * Constructor for the class.
-	 */
-	public UtilTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * Run all the tests in this class.
-	 */
-	public static Test suite() {
-		return new TestSuite(UtilTest.class);
-	}
-
-	public void testDefaultBundlePool() {
-		IProfile profile = createProfile("test");
-		IAgentLocation agentLocation = (IAgentLocation) ServiceHelper.getService(Activator.getContext(), IAgentLocation.class.getName());
-		assertEquals(agentLocation.getDataArea("org.eclipse.equinox.p2.touchpoint.eclipse"), Util.getBundlePoolLocation(getAgent(), profile));
-	}
-
-	public void testExplicitBundlePool() throws MalformedURLException {
-		Properties props = new Properties();
-		File cacheDir = new File(System.getProperty("java.io.tmpdir"), "cache");
-		props.put(IProfile.PROP_CACHE, cacheDir.toString());
-		IProfile profile = createProfile("test", props);
-		assertEquals(cacheDir.toURL().toExternalForm(), Util.getBundlePoolLocation(getAgent(), profile).toString());
-	}
-
-	public void testMissingManifest() {
-		ITouchpointData emptyData = MetadataFactory.createTouchpointData(Collections.EMPTY_MAP);
-		assertNull(Util.getManifest(new ITouchpointData[] {emptyData}));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/AllTests.java
deleted file mode 100644
index e66d400..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(ChmodActionTest.class);
-		suite.addTestSuite(CleanupzipActionTest.class);
-		suite.addTestSuite(CollectActionTest.class);
-		suite.addTestSuite(LinkActionTest.class);
-		suite.addTestSuite(MkdirActionTest.class);
-		suite.addTestSuite(NativeTouchpointTest.class);
-		suite.addTestSuite(RmdirActionTest.class);
-		suite.addTestSuite(UnzipActionTest.class);
-		suite.addTestSuite(CopyActionTest.class);
-		suite.addTestSuite(RemoveActionTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/ChmodActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/ChmodActionTest.java
deleted file mode 100644
index f567c88..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/ChmodActionTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *      Cloudsmith Inc - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ChmodAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class ChmodActionTest extends AbstractProvisioningTest {
-
-	public ChmodActionTest(String name) {
-		super(name);
-	}
-
-	public ChmodActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndo", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-		File subDir = new File(installFolder, "subfolder");
-		subDir.mkdir();
-		File zipTarget2 = new File(subDir, "a.zip");
-		copy("3.0", zipSource, zipTarget2);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndo", parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, installFolder.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "a.zip");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "+x");
-		Map xparameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify
-		// one idea is to run an executable here (or chmod with -w, -r and then test that files are unreadable
-		// and unwriteable. But, that would make this test fail on non UN*X.
-		// This is currently just going through the paces to check for any runtime exceptions
-		ChmodAction action = new ChmodAction();
-		action.execute(xparameters);
-		// does nothing so should not alter parameters
-		action.undo(xparameters);
-
-		// make a recursive run as well...
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R"); // recursive
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "subfolder");
-		xparameters = Collections.unmodifiableMap(parameters);
-
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and one with two parameters
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_OPTIONS, "-R -H"); // recursive, modify symlinks (follow link).
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "subfolder");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		action.execute(xparameters);
-		action.undo(xparameters);
-
-		// and check one that should fail
-		action = new ChmodAction();
-		parameters.put(ActionConstants.PARM_TARGET_FILE, "JimmyHoffa");
-		parameters.put(ActionConstants.PARM_PERMISSIONS, "700");
-
-		xparameters = Collections.unmodifiableMap(parameters);
-		IStatus result = action.execute(xparameters);
-		assertFalse("Missing file should result in error", result.isOK());
-		action.undo(xparameters);
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CleanupzipActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CleanupzipActionTest.java
deleted file mode 100644
index 403013a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CleanupzipActionTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.IBackupStore;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class CleanupzipActionTest extends AbstractProvisioningTest {
-
-	public CleanupzipActionTest(String name) {
-		super(name);
-	}
-
-	public CleanupzipActionTest() {
-		super("");
-	}
-
-	IBackupStore store;
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		if (store != null)
-			store.discard();
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndo", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("test");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testExecuteUndo", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndo", parameters);
-		store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-
-		parameters.put(ActionConstants.PARM_SOURCE, zipTarget.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET, installFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		File aTxt = new File(installFolder, "a.txt");
-		new UnzipAction().execute(parameters);
-		assertTrue(aTxt.exists());
-		assertEquals(1, profile.getInstallableUnitProperties(iu).size());
-
-		CleanupzipAction action = new CleanupzipAction();
-		action.execute(parameters);
-		assertFalse(aTxt.exists());
-		assertEquals(0, profile.getInstallableUnitProperties(iu).size());
-
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertTrue(aTxt.exists());
-		assertEquals(1, profile.getInstallableUnitProperties(iu).size());
-	}
-
-	public void testExecuteUndoWhereInstallFolderIsDifferent() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndoWhereInstallFolderIsDifferent", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("test");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("test", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-
-		parameters.put(ActionConstants.PARM_SOURCE, zipTarget.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET, installFolder.getAbsolutePath());
-
-		File aTxt = new File(installFolder, "a.txt");
-		new UnzipAction().execute(parameters);
-		assertTrue(aTxt.exists());
-		assertEquals(1, profile.getInstallableUnitProperties(iu).size());
-
-		File installFolder2 = getTempFolder();
-		copy("", installFolder, installFolder2);
-		parameters.put(ActionConstants.PARM_TARGET, installFolder2.getAbsolutePath());
-
-		CleanupzipAction action = new CleanupzipAction();
-		action.execute(parameters);
-		File aTxt2 = new File(installFolder2, "a.txt");
-		assertFalse(aTxt2.exists());
-		assertEquals(0, profile.getInstallableUnitProperties(iu).size());
-
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertTrue(aTxt2.exists());
-		assertEquals(1, profile.getInstallableUnitProperties(iu).size());
-
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CollectActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CollectActionTest.java
deleted file mode 100644
index ef9b68d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CollectActionTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.engine.phases.Collect;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CollectAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class CollectActionTest extends AbstractProvisioningTest {
-
-	public CollectActionTest(String name) {
-		super(name);
-	}
-
-	public CollectActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		//		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		//		File zipTarget = new File(installFolder, "a.zip");
-		//		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("test");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("test", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_AGENT, getAgent());
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		parameters.put(Collect.PARM_ARTIFACT_REQUESTS, new ArrayList());
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		touchpoint.initializeOperand(profile, operand, parameters);
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters = Collections.unmodifiableMap(parameters);
-
-		List requests = (List) parameters.get(Collect.PARM_ARTIFACT_REQUESTS);
-		assertFalse(hasRequest(requests, key));
-		CollectAction action = new CollectAction();
-		action.execute(parameters);
-		assertTrue(hasRequest(requests, key));
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertTrue(hasRequest(requests, key));
-	}
-
-	private boolean hasRequest(List requests, IArtifactKey key) {
-		for (Iterator iterator = requests.iterator(); iterator.hasNext();) {
-			IArtifactRequest[] request = (IArtifactRequest[]) iterator.next();
-			for (int i = 0; i < request.length; i++) {
-				if (key.equals(request[i].getArtifactKey()))
-					return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CopyActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CopyActionTest.java
deleted file mode 100644
index 09f20a9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/CopyActionTest.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class CopyActionTest extends AbstractProvisioningTest {
-
-	public CopyActionTest(String name) {
-		super(name);
-	}
-
-	public CopyActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Map parameters = createParameters("/testData/nativeTouchpoint/aFolder/a.txt", "a.txt", false);
-		Map safeParameters = Collections.unmodifiableMap(parameters);
-
-		CopyAction action = new CopyAction();
-		action.execute(safeParameters);
-
-		// Verify that the right file was copied
-		File target = new File((String) parameters.get(ActionConstants.PARM_COPY_TARGET));
-		assertFileContent("copied content", target, "A");
-
-		// does nothing so should not alter parameters
-		action.undo(safeParameters);
-		assertFalse("Target should be removed after undo", target.exists());
-	}
-
-	public void testCopyDirectory() {
-		Map parameters = createParameters("/testData/nativeTouchpoint/aFolder/", "aFolder", false);
-		Map safeParameters = Collections.unmodifiableMap(parameters);
-
-		CopyAction action = new CopyAction();
-		action.execute(safeParameters);
-
-		// Verify that the right files was copied
-		File target = new File((String) parameters.get(ActionConstants.PARM_COPY_TARGET));
-		assertFileContent("copied content A", new File(target, "a.txt"), "A");
-		assertFileContent("copied content B", new File(target, "b.txt"), "B");
-
-		// does nothing so should not alter parameters
-		action.undo(safeParameters);
-		assertFalse("Target should be removed after undo", target.exists());
-	}
-
-	public void testMergeDirectory() {
-		Map parameters1 = createParameters("/testData/nativeTouchpoint/xFolder/", "aFolder", true);
-		Map safeParameters1 = Collections.unmodifiableMap(parameters1);
-
-		CopyAction action1 = new CopyAction();
-		action1.execute(safeParameters1);
-
-		// Verify that the right files was copied
-		File target = new File((String) parameters1.get(ActionConstants.PARM_COPY_TARGET));
-		assertFileContent("copied content X", new File(target, "x.txt"), "X");
-		assertFileContent("copied content Y", new File(target, "y.txt"), "Y");
-
-		Map parameters2 = new HashMap();
-		parameters2.putAll(parameters1);
-		parameters2.put(ActionConstants.PARM_COPY_SOURCE, getTestData("get folder A", "/testData/nativeTouchpoint/aFolder/").getAbsolutePath());
-		Map safeParameters2 = Collections.unmodifiableMap(parameters2);
-
-		CopyAction action2 = new CopyAction();
-		action2.execute(safeParameters2);
-		assertFileContent("copied content A", new File(target, "a.txt"), "A");
-		assertFileContent("copied content B", new File(target, "b.txt"), "B");
-
-		// undo copy of x and y
-		action1.undo(safeParameters1);
-		assertTrue("Target should exist after undo", target.exists());
-		File tmp = new File(target, "x.txt");
-		assertFalse("File x should not exist", tmp.exists());
-		tmp = new File(target, "y.txt");
-		assertFalse("File y should not exist", tmp.exists());
-		assertFileContent("copied content A", new File(target, "a.txt"), "A");
-		assertFileContent("copied content B", new File(target, "b.txt"), "B");
-
-		// undo copy of a and b
-		action2.undo(safeParameters2);
-		assertFalse("Target should not exist after undo", target.exists());
-	}
-
-	public void testMergeOverwrite() {
-		Map parameters1 = createParameters("/testData/nativeTouchpoint/bcFolder/", "aFolder", true);
-		Map safeParameters1 = Collections.unmodifiableMap(parameters1);
-
-		CopyAction action1 = new CopyAction();
-		action1.execute(safeParameters1);
-
-		// Verify that the right file was copied (a b.txt with a C in it [sic])
-		File target = new File((String) parameters1.get(ActionConstants.PARM_COPY_TARGET));
-		assertFileContent("copied content C", new File(target, "b.txt"), "C"); // [sic]
-
-		Map parameters2 = new HashMap();
-		parameters2.putAll(parameters1);
-		parameters2.put(ActionConstants.PARM_COPY_SOURCE, getTestData("get folder A", "/testData/nativeTouchpoint/aFolder/").getAbsolutePath());
-		Map safeParameters2 = Collections.unmodifiableMap(parameters2);
-
-		CopyAction action2 = new CopyAction();
-		action2.execute(safeParameters2);
-		assertFileContent("copied content A", new File(target, "a.txt"), "A");
-		assertFileContent("copied content B", new File(target, "b.txt"), "B");
-
-		// undo copy of a and b
-		action2.undo(safeParameters2);
-		assertFalse("Target should not exist after undo", target.exists());
-	}
-
-	public void testBlockedMergeOverwrite() {
-		Map parameters1 = createParameters("/testData/nativeTouchpoint/bcFolder/", "aFolder", false);
-		Map safeParameters1 = Collections.unmodifiableMap(parameters1);
-
-		CopyAction action1 = new CopyAction();
-		action1.execute(safeParameters1);
-
-		// Verify that the right file was copied (a b.txt with a C in it [sic])
-		File target = new File((String) parameters1.get(ActionConstants.PARM_COPY_TARGET));
-		assertFileContent("copied content B", new File(target, "b.txt"), "C"); // [sic]
-
-		Map parameters2 = new HashMap();
-		parameters2.putAll(parameters1);
-		parameters2.put(ActionConstants.PARM_COPY_SOURCE, getTestData("get folder A", "/testData/nativeTouchpoint/aFolder/").getAbsolutePath());
-		Map safeParameters2 = Collections.unmodifiableMap(parameters2);
-
-		CopyAction action2 = new CopyAction();
-		assertFalse("Overwrite of b.txt should not succeed", action2.execute(safeParameters2).isOK());
-		assertFileContent("copied content B", new File(target, "b.txt"), "C"); // [sic]
-
-	}
-
-	public void testOverwrite() {
-		Map parameters = createParameters("/testData/nativeTouchpoint/aFolder/a.txt", "a.txt", true);
-		Map safeParameters = Collections.unmodifiableMap(parameters);
-
-		File source = new File((String) parameters.get(ActionConstants.PARM_COPY_SOURCE));
-		File target = new File((String) parameters.get(ActionConstants.PARM_COPY_TARGET));
-
-		// test an overwrite - by first copying the b file
-		copy("2.0", getTestData("1.0", "/testData/nativeTouchpoint/aFolder/b.txt"), target);
-
-		CopyAction action = new CopyAction();
-		action.execute(safeParameters);
-		// Verify that the right file was copied
-		assertFileContent("copied content", target, "A");
-		// and that we did nothing bad to the source
-		assertFileContent("source content", source, "A");
-
-		assertTrue("copy action status", action.undo(safeParameters).isOK());
-		assertFalse("Target should be removed after undo", target.exists());
-	}
-
-	public void testBlockedOverwrite() {
-		Map parameters = createParameters("/testData/nativeTouchpoint/aFolder/a.txt", "a.txt", false);
-		Map safeParameters = Collections.unmodifiableMap(parameters);
-
-		File source = new File((String) parameters.get(ActionConstants.PARM_COPY_SOURCE));
-		File target = new File((String) parameters.get(ActionConstants.PARM_COPY_TARGET));
-
-		// test an overwrite - by first copying the b file
-		copy("2.0", getTestData("1.0", "/testData/nativeTouchpoint/aFolder/b.txt"), target);
-
-		CopyAction action = new CopyAction();
-		assertFalse("copy action status", action.execute(safeParameters).isOK());
-
-		// Verify that nothing was copied
-		assertFileContent("original content", target, "B");
-		// and that we did nothing bad to the source
-		assertFileContent("source content", source, "A");
-
-		// there is nothing to undo - the B file should still be there
-		action.undo(safeParameters);
-		assertTrue("Target should remain after undo", target.exists());
-		assertFileContent("original content", target, "B");
-	}
-
-	/*
-	 * TODO: testing of the following
-	 * - copy of directory - check that it merges
-	 * - copy of directory with overwrite false/true
-	 */
-	private Map createParameters(String sourceName, String targetName, boolean overwrite) {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		File source = getTestData("1.0", sourceName);
-		File target = new File(installFolder, targetName);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("test");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("test", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-
-		parameters.put(ActionConstants.PARM_COPY_SOURCE, source.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_COPY_TARGET, target.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_COPY_OVERWRITE, Boolean.toString(overwrite));
-		return parameters;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/LinkActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/LinkActionTest.java
deleted file mode 100644
index c194ad1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/LinkActionTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.LinkAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class LinkActionTest extends AbstractProvisioningTest {
-
-	public LinkActionTest(String name) {
-		super(name);
-	}
-
-	public LinkActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-
-		parameters.put(ActionConstants.PARM_TARGET_DIR, installFolder.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_LINK_NAME, "b.zip");
-		parameters.put(ActionConstants.PARM_LINK_TARGET, zipTarget.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		// TODO: We need a way to verify success
-		// one idea is to run an executable here
-		// This is currently just going through the paces to check for any runtime exceptions
-		LinkAction action = new LinkAction();
-		assertOK("3.0", action.execute(parameters));
-		// does nothing so should not alter parameters
-		assertOK("3.1", action.undo(parameters));
-		File linkFile = new File((String) parameters.get(ActionConstants.PARM_TARGET_DIR));
-		linkFile = new File(linkFile, (String) parameters.get(ActionConstants.PARM_LINK_NAME));
-		assertFalse("3.2", linkFile.exists());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/MkdirActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/MkdirActionTest.java
deleted file mode 100644
index f69301c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/MkdirActionTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.MkdirAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class MkdirActionTest extends AbstractProvisioningTest {
-
-	public MkdirActionTest(String name) {
-		super(name);
-	}
-
-	public MkdirActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-
-		File testFolder = new File(installFolder, "test");
-
-		parameters.put(ActionConstants.PARM_PATH, testFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		assertFalse(testFolder.exists());
-
-		MkdirAction action = new MkdirAction();
-		action.execute(parameters);
-		assertTrue(testFolder.exists());
-
-		action.undo(parameters);
-		assertFalse(testFolder.exists());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/NativeTouchpointTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/NativeTouchpointTest.java
deleted file mode 100644
index f91d357..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/NativeTouchpointTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class NativeTouchpointTest extends AbstractProvisioningTest {
-
-	public NativeTouchpointTest(String name) {
-		super(name);
-	}
-
-	public NativeTouchpointTest() {
-		super("");
-	}
-
-	public void testInitializeCompletePhase() {
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-
-		Map parameters = new HashMap();
-		IProfile profile = createProfile("test");
-
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		touchpoint.completePhase(null, profile, "test", parameters);
-
-		parameters.clear();
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		profile = createProfile("test", profileProperties);
-
-		touchpoint.initializePhase(null, profile, "test", parameters);
-		touchpoint.completePhase(null, profile, "test", parameters);
-	}
-
-	public void testQualifyAction() {
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		assertEquals("org.eclipse.equinox.p2.touchpoint.natives.chmod", touchpoint.qualifyAction("chmod"));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RemoveActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RemoveActionTest.java
deleted file mode 100644
index b3a96ca..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RemoveActionTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.IBackupStore;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.RemoveAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class RemoveActionTest extends AbstractProvisioningTest {
-
-	public RemoveActionTest(String name) {
-		super(name);
-	}
-
-	public RemoveActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndo", profileProperties);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndo", parameters);
-
-		File testFolder = new File(installFolder, "testExecuteUndo");
-		File testFile = new File(testFolder, "data.txt");
-
-		parameters.put(ActionConstants.PARM_PATH, testFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		testFolder.mkdir();
-		assertTrue(testFolder.exists());
-		try {
-			writeToFile(testFile, "AA\nTestfile with AA on first line.");
-		} catch (IOException e1) {
-			fail("Could not write test data to test file");
-		}
-		assertFileContent("Should contain AA", testFile, "AA");
-
-		RemoveAction action = new RemoveAction();
-		action.execute(parameters);
-		assertFalse(testFolder.exists());
-		assertFalse(testFile.exists());
-
-		action.undo(parameters);
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		if (store != null)
-			try {
-				store.restore();
-			} catch (IOException e) {
-				fail("Restore of backup failed");
-			}
-		assertTrue(testFolder.exists());
-		assertFileContent("Should contain AA", testFile, "AA");
-		if (store != null)
-			store.discard();
-	}
-
-	private static void writeToFile(File file, String content) throws IOException {
-		file.getParentFile().mkdirs();
-		file.createNewFile();
-		FileWriter writer = new FileWriter(file);
-		BufferedWriter out = new BufferedWriter(writer);
-		out.write(content);
-		out.close();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RmdirActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RmdirActionTest.java
deleted file mode 100644
index be31d0c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/RmdirActionTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.IBackupStore;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.RmdirAction;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class RmdirActionTest extends AbstractProvisioningTest {
-
-	public RmdirActionTest(String name) {
-		super(name);
-	}
-
-	public RmdirActionTest() {
-		super("");
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndo", profileProperties);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndo", parameters);
-
-		File testFolder = new File(installFolder, "testExecuteUndo");
-
-		parameters.put(ActionConstants.PARM_PATH, testFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		testFolder.mkdir();
-		assertTrue(testFolder.exists());
-
-		RmdirAction action = new RmdirAction();
-		action.execute(parameters);
-		assertFalse(testFolder.exists());
-
-		action.undo(parameters);
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		if (store != null)
-			try {
-				store.restore();
-			} catch (IOException e) {
-				fail("Restore of backup failed");
-			}
-		assertTrue(testFolder.exists());
-		if (store != null)
-			store.discard();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/UnzipActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/UnzipActionTest.java
deleted file mode 100644
index 4e2411e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/natives/UnzipActionTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.p2.tests.touchpoint.natives;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.IBackupStore;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.UnzipAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-public class UnzipActionTest extends AbstractProvisioningTest {
-
-	private static void writeToFile(File file, String content) throws IOException {
-		file.getParentFile().mkdirs();
-		file.createNewFile();
-		FileWriter writer = new FileWriter(file);
-		BufferedWriter out = new BufferedWriter(writer);
-		out.write(content);
-		out.close();
-	}
-
-	public UnzipActionTest() {
-		super("");
-	}
-
-	public UnzipActionTest(String name) {
-		super(name);
-	}
-
-	public void testExecuteUndo() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("test", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("test");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("test", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "test", parameters);
-
-		parameters.put(ActionConstants.PARM_SOURCE, zipTarget.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET, installFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		File aTxt = new File(installFolder, "a.txt");
-		assertFalse(aTxt.exists());
-
-		UnzipAction action = new UnzipAction();
-		action.execute(parameters);
-		assertTrue(aTxt.exists());
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		assertFalse(aTxt.exists());
-	}
-
-	public void testExecuteUndoBackup() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		IProfile profile = createProfile("testExecuteUndoBackup", profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId("testExecuteUndoBackup");
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey("testExecuteUndoBackup", DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, "testExecuteUndoBackup", parameters);
-
-		parameters.put(ActionConstants.PARM_SOURCE, zipTarget.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET, installFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		File aTxt = new File(installFolder, "a.txt");
-		try {
-			writeToFile(aTxt, "ORIGINAL-A");
-		} catch (IOException e) {
-			fail("Can not write to aTxt");
-		}
-		assertTrue(aTxt.exists());
-
-		UnzipAction action = new UnzipAction();
-		action.execute(parameters);
-		assertTrue(aTxt.exists());
-		assertFileContent("Should contain text 'nothing'", aTxt, "nothing");
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		IBackupStore backup = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		try {
-			backup.restore();
-		} catch (IOException e) {
-			fail("Restore of backup failed", e);
-		}
-		assertFileContent("Should contain text 'ORIGINAL-A'", aTxt, "ORIGINAL-A");
-
-		backup.discard();
-	}
-
-	/**
-	 * Tests executing and undoing an unzip action when the profile
-	 * id contains characters that are not valid in file names. See bug 274182.
-	 */
-	public void testUndoBackUpWithSymbolsInProfileId() {
-		Properties profileProperties = new Properties();
-		File installFolder = getTempFolder();
-		profileProperties.setProperty(IProfile.PROP_INSTALL_FOLDER, installFolder.toString());
-		final String profileId = "Test:With\\Sym/bols";
-		IProfile profile = createProfile(profileId, profileProperties);
-
-		File zipSource = getTestData("1.0", "/testData/nativeTouchpoint/a.zip");
-		File zipTarget = new File(installFolder, "a.zip");
-		copy("2.0", zipSource, zipTarget);
-
-		InstallableUnitDescription iuDesc = new MetadataFactory.InstallableUnitDescription();
-		iuDesc.setId(profileId);
-		iuDesc.setVersion(DEFAULT_VERSION);
-		IArtifactKey key = PublisherHelper.createBinaryArtifactKey(profileId, DEFAULT_VERSION);
-		iuDesc.setArtifacts(new IArtifactKey[] {key});
-		iuDesc.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
-		IInstallableUnit iu = MetadataFactory.createInstallableUnit(iuDesc);
-
-		Map parameters = new HashMap();
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		InstallableUnitOperand operand = new InstallableUnitOperand(null, iu);
-		parameters.put("iu", operand.second());
-		parameters.put(ActionConstants.PARM_OPERAND, operand);
-		parameters.put(ActionConstants.PARM_PROFILE, profile);
-		NativeTouchpoint touchpoint = new NativeTouchpoint();
-		touchpoint.initializePhase(null, profile, profileId, parameters);
-
-		parameters.put(ActionConstants.PARM_SOURCE, zipTarget.getAbsolutePath());
-		parameters.put(ActionConstants.PARM_TARGET, installFolder.getAbsolutePath());
-		parameters = Collections.unmodifiableMap(parameters);
-
-		File aTxt = new File(installFolder, "a.txt");
-		try {
-			writeToFile(aTxt, "ORIGINAL-A");
-		} catch (IOException e) {
-			fail("Can not write to aTxt");
-		}
-		assertTrue(aTxt.exists());
-
-		UnzipAction action = new UnzipAction();
-		action.execute(parameters);
-		// does nothing so should not alter parameters
-		action.undo(parameters);
-		IBackupStore backup = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		try {
-			backup.restore();
-		} catch (IOException e) {
-			fail("Restore of backup failed", e);
-		}
-		assertFileContent("Should contain text 'ORIGINAL-A'", aTxt, "ORIGINAL-A");
-
-		backup.discard();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/AllTests.java
deleted file mode 100644
index 1716fd2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/AllTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatechecker;
-
-import junit.framework.*;
-
-/**
- * All automated tests for the org.eclipse.equinox.p2.updatechecker bundle
- */
-public class AllTests extends TestCase {
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(UpdateCheckerTest.class);
-		return suite;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/TestUpdateListener.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/TestUpdateListener.java
deleted file mode 100644
index 605b77a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/TestUpdateListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatechecker;
-
-import java.util.Arrays;
-import junit.framework.Assert;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateEvent;
-
-/**
- * Test implementation of {@link IUpdateListener}.
- */
-public class TestUpdateListener implements IUpdateListener {
-	private static final long MAX_WAIT = 5000;
-
-	private UpdateEvent expectedEvent;
-
-	int expectedCount = 0;
-	int unexpectedCount = 0;
-
-	public TestUpdateListener(UpdateEvent event) {
-		this.expectedEvent = event;
-	}
-
-	public boolean matches(Object o) {
-		if (!(o instanceof UpdateEvent))
-			return false;
-		UpdateEvent actual = (UpdateEvent) o;
-		return Arrays.equals(expectedEvent.getIUs(), actual.getIUs()) && expectedEvent.getProfileId().equals(actual.getProfileId());
-	}
-
-	public void updatesAvailable(UpdateEvent event) {
-		if (matches(event))
-			expectedCount++;
-		else
-			unexpectedCount++;
-	}
-
-	/**
-	 * Verifies that the given number of matching events occurred, and that no
-	 * unmatching events occurred.
-	 */
-	public void verify(int expected) {
-		Assert.assertEquals(expected, expectedCount);
-		Assert.assertEquals(0, unexpectedCount);
-	}
-
-	public void waitForEvent() {
-		long waitStart = System.currentTimeMillis();
-		while (expectedCount == 0 && unexpectedCount == 0 && ((System.currentTimeMillis() - waitStart) < MAX_WAIT)) {
-			try {
-				Thread.sleep(100);
-			} catch (InterruptedException e) {
-				//ignore
-			}
-		}
-	}
-
-	public void reset() {
-		expectedCount = unexpectedCount = 0;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java
deleted file mode 100644
index f877271..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatechecker;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.publisher.Activator;
-import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateEvent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-
-/**
- * Tests for API of {@link IUpdateChecker}.
- */
-public class UpdateCheckerTest extends AbstractProvisioningTest {
-	IProfile profile;
-	IInstallableUnit toInstallIU, update;
-
-	protected IUpdateChecker getChecker() {
-		IUpdateChecker checker = (IUpdateChecker) ServiceHelper.getService(Activator.context, IUpdateChecker.SERVICE_NAME);
-		assertNotNull(checker);
-		return checker;
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		startBundle(TestActivator.getBundle("org.eclipse.equinox.p2.updatechecker"));
-		String id = "toInstall." + getName();
-		toInstallIU = createIU(id, Version.createOSGi(1, 0, 0));
-		IUpdateDescriptor updateDescriptor = createUpdateDescriptor(id, Version.createOSGi(2, 0, 0));
-		update = createIU(id, Version.createOSGi(2, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, updateDescriptor, null);
-
-		IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, update};
-		IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU};
-		createTestMetdataRepository(allUnits);
-
-		profile = createProfile("TestProfile." + getName());
-
-		IDirector director = createDirector();
-		ProfileChangeRequest request = new ProfileChangeRequest(profile);
-		request.addInstallableUnits(toInstallArray);
-		IStatus result = director.provision(request, null, null);
-		assertTrue("setup.1", result.isOK());
-	}
-
-	public void testAddListener() {
-		IUpdateChecker checker = getChecker();
-		TestUpdateListener listener = new TestUpdateListener(new UpdateEvent(profile.getProfileId(), new IInstallableUnit[] {toInstallIU}));
-		checker.addUpdateCheck(profile.getProfileId(), InstallableUnitQuery.ANY, IUpdateChecker.ONE_TIME_CHECK, 0, listener);
-		listener.waitForEvent();
-		listener.verify(1);
-
-		//adding the listener again should not result in an event
-		listener.reset();
-		checker.addUpdateCheck(profile.getProfileId(), InstallableUnitQuery.ANY, IUpdateChecker.ONE_TIME_CHECK, 0, listener);
-		listener.waitForEvent();
-		listener.verify(0);
-
-		//removing and re-adding the listener should result in an event
-		listener.reset();
-		checker.removeUpdateCheck(listener);
-		checker.addUpdateCheck(profile.getProfileId(), InstallableUnitQuery.ANY, IUpdateChecker.ONE_TIME_CHECK, 0, listener);
-		listener.waitForEvent();
-		listener.verify(1);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
deleted file mode 100644
index 3b4608f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/AllTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import junit.framework.*;
-
-/**
- * Performs all automated director tests.
- */
-public class AllTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		suite.addTestSuite(CategoryXMLActionTest.class);
-		suite.addTestSuite(DoesNotCacheStaleData.class);
-		suite.addTestSuite(SiteXMLActionTest.class);
-		suite.addTestSuite(UpdateSiteTest.class);
-		suite.addTestSuite(LocalUpdatesiteTest.class);
-		return suite;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
deleted file mode 100644
index f903e00..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Collection;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.updatesite.CategoryXMLAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.CategoryQuery;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.tests.*;
-
-/**
- *
- */
-public class CategoryXMLActionTest extends AbstractProvisioningTest {
-
-	private TestMetadataRepository metadataRepository;
-	private IPublisherResult actionResult;
-	private URI siteLocation;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		actionResult = new PublisherResult();
-		PublisherInfo info = new PublisherInfo();
-		metadataRepository = new TestMetadataRepository(new IInstallableUnit[0]);
-		info.setMetadataRepository(metadataRepository);
-		siteLocation = TestData.getFile("updatesite", "CategoryXMLActionTest/category.xml").toURI();
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {TestData.getFile("updatesite", "CategoryXMLActionTest")});
-		featuresAction.perform(info, actionResult, new NullProgressMonitor());
-
-		CategoryXMLAction action = new CategoryXMLAction(siteLocation, null);
-		action.perform(info, actionResult, getMonitor());
-	}
-
-	public void testCategoryCreation() throws Exception {
-		Collection result = actionResult.query(new CategoryQuery(), new NullProgressMonitor()).toCollection();
-		assertEquals("1.0", 1, result.size());
-		IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
-		assertEquals("1.1", "Test Category Label", iu.getProperty(IInstallableUnit.PROP_NAME));
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/DoesNotCacheStaleData.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/DoesNotCacheStaleData.java
deleted file mode 100644
index 4fab1db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/DoesNotCacheStaleData.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-
-public class DoesNotCacheStaleData extends AbstractProvisioningTest {
-
-	public void testLoadBadSiteForMetadata() {
-		URI siteURI = getTestData("badUpdateSite", "testData/updatesite/badSiteXML/site.xml").toURI();
-		File f = URIUtil.toFile(UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(siteURI));
-		File contentXml = new File(f, "content.xml");
-		contentXml.delete();
-		Exception e = null;
-		try {
-			new UpdateSiteMetadataRepositoryFactory().load(siteURI, 0, new NullProgressMonitor());
-		} catch (ProvisionException e1) {
-			e = e1;
-		}
-		assertNotNull(e);
-		assertTrue(new File(URIUtil.toFile(UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(siteURI)), "content.xml").exists());
-		try {
-			IMetadataRepository repo = new SimpleMetadataRepositoryFactory().load(f.toURI(), 0, new NullProgressMonitor());
-			assertEquals("0", repo.getProperties().get("site.checksum"));
-		} catch (ProvisionException e1) {
-			fail("3.0", e1);
-		}
-	}
-
-	public void testLoadBadSiteForArtifact() {
-		URI siteURI = getTestData("badUpdateSite", "testData/updatesite/badSiteXML/site.xml").toURI();
-		File f = URIUtil.toFile(UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(siteURI));
-		File contentXml = new File(f, "artifacts.xml");
-		contentXml.delete();
-		Exception e = null;
-		try {
-			new UpdateSiteArtifactRepositoryFactory().load(siteURI, 0, new NullProgressMonitor());
-		} catch (ProvisionException e1) {
-			e = e1;
-		}
-		assertNotNull(e);
-		assertTrue(new File(URIUtil.toFile(UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(siteURI)), "artifacts.xml").exists());
-		try {
-			IArtifactRepository repo = new SimpleArtifactRepositoryFactory().load(f.toURI(), 0, new NullProgressMonitor());
-			assertEquals("0", repo.getProperties().get("site.checksum"));
-		} catch (ProvisionException e1) {
-			fail("3.0", e1);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/LocalUpdatesiteTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/LocalUpdatesiteTest.java
deleted file mode 100644
index 28793a6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/LocalUpdatesiteTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.internal.p2.updatesite.UpdateSitePublisherApplication;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.CategoryQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestData;
-
-public class LocalUpdatesiteTest extends AbstractProvisioningTest {
-	protected File repoLocation;
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		String tempDir = System.getProperty("java.io.tmpdir");
-		repoLocation = new File(tempDir, "LocalMetadataRepositoryTest");
-		AbstractProvisioningTest.delete(repoLocation);
-		repoLocation.mkdir();
-	}
-
-	protected void tearDown() throws Exception {
-		getMetadataRepositoryManager().removeRepository(repoLocation.toURI());
-		delete(repoLocation);
-		super.tearDown();
-	}
-
-	public void testCategoryQualifier() throws IOException, ProvisionException {
-		File siteSource = TestData.getFile("updatesite", "SiteXMLActionTest");
-		UpdateSitePublisherApplication application = new UpdateSitePublisherApplication();
-		try {
-			application.run(new String[] {"-metadataRepository", repoLocation.toURI().toString(), "-source", siteSource.toString(), "-categoryQualifier", "fooQualifier"});
-		} catch (Exception e) {
-			fail("0.99");
-		}
-		IMetadataRepository repository = getMetadataRepositoryManager().loadRepository(repoLocation.toURI(), new NullProgressMonitor());
-		Collector results = repository.query(new CategoryQuery(), new NullProgressMonitor());
-		assertEquals("1.0", 1, results.size());
-		Iterator iter = results.iterator();
-		while (iter.hasNext()) {
-			IInstallableUnit unit = (IInstallableUnit) iter.next();
-			assertTrue("2.0", unit.getId().startsWith("fooQualifier"));
-			assertEquals("3.0", "Test Category Label", unit.getProperty(IInstallableUnit.PROP_NAME));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/SiteXMLActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/SiteXMLActionTest.java
deleted file mode 100644
index b655fb0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/SiteXMLActionTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.File;
-import java.net.URI;
-import java.util.Collection;
-import java.util.Iterator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.p2.updatesite.SiteXMLAction;
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.CategoryQuery;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.tests.*;
-
-/**
- * Tests for {@link org.eclipse.equinox.internal.p2.updatesite.SiteXMLAction}.
- */
-public class SiteXMLActionTest extends AbstractProvisioningTest {
-	private TestMetadataRepository metadataRepository;
-	private IPublisherResult actionResult;
-	private URI siteLocation;
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		actionResult = new PublisherResult();
-		PublisherInfo info = new PublisherInfo();
-		metadataRepository = new TestMetadataRepository(new IInstallableUnit[0]);
-		info.setMetadataRepository(metadataRepository);
-		siteLocation = TestData.getFile("updatesite", "SiteXMLActionTest/site.xml").toURI();
-		FeaturesAction featuresAction = new FeaturesAction(new File[] {TestData.getFile("updatesite", "SiteXMLActionTest")});
-		featuresAction.perform(info, actionResult, new NullProgressMonitor());
-
-		SiteXMLAction action = new SiteXMLAction(siteLocation, null);
-		action.perform(info, actionResult, getMonitor());
-	}
-
-	public void testQualifier() {
-		Collector results = actionResult.query(new CategoryQuery(), new NullProgressMonitor());
-		Iterator iter = results.iterator();
-		while (iter.hasNext()) {
-			IInstallableUnit unit = (IInstallableUnit) iter.next();
-			String sitelocation = URIUtil.toUnencodedString(siteLocation);
-			assertTrue("1.0", unit.getId().startsWith(sitelocation));
-			assertEquals("2.0", "Test Category Label", unit.getProperty(IInstallableUnit.PROP_NAME));
-
-			IProvidedCapability[] provided = unit.getProvidedCapabilities();
-			assertEquals(1, provided.length);
-			assertTrue(provided[0].getName().startsWith(sitelocation));
-			assertEquals(provided[0].getVersion(), unit.getVersion());
-		}
-	}
-
-	/**
-	 * Tests that associate sites are generated correctly.
-	 */
-	public void testAssociateSite() {
-		Collection references = metadataRepository.getReferences();
-		assertEquals("1.0", 2, references.size());
-		boolean metadataFound = false, artifactFound = false;
-		for (Iterator it = references.iterator(); it.hasNext();) {
-			RepositoryReference ref = (RepositoryReference) it.next();
-			assertEquals("1.1", "http://download.eclipse.org/eclipse/updates/3.5", ref.Location.toString());
-			assertEquals("1.2", IRepository.ENABLED, ref.Options);
-			assertEquals("1.3", "Eclipse Project Update Site", ref.Nickname);
-
-			if (ref.Type == IRepository.TYPE_METADATA)
-				metadataFound = true;
-			else if (ref.Type == IRepository.TYPE_ARTIFACT)
-				artifactFound = true;
-		}
-		assertTrue("1.3", metadataFound);
-		assertTrue("1.4", artifactFound);
-	}
-
-	public void testMirrorsURL() {
-		String mirrorsURL = (String) metadataRepository.getProperties().get(IRepository.PROP_MIRRORS_URL);
-		assertEquals("1.0", "http://www.eclipse.org/downloads/download.php?file=/eclipse/updates/3.4&format=xml", mirrorsURL);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
deleted file mode 100644
index 44e903c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
+++ /dev/null
@@ -1,928 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.tests.updatesite;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector;
-import org.eclipse.equinox.internal.p2.artifact.repository.RawMirrorRequest;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
-import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
-import org.eclipse.equinox.internal.p2.updatesite.SiteFeature;
-import org.eclipse.equinox.internal.p2.updatesite.UpdateSite;
-import org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepository;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.spi.p2.repository.AbstractRepository;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.TestActivator;
-import org.w3c.dom.*;
-
-/**
- * @since 1.0
- */
-public class UpdateSiteTest extends AbstractProvisioningTest {
-	/*
-	 * Constructor for the class.
-	 */
-	public UpdateSiteTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * Run all the tests in this class.
-	 */
-	public static Test suite() {
-		return new TestSuite(UpdateSiteTest.class);
-	}
-
-	public void testRelativeSiteURL() {
-		File site = getTestData("0.1", "/testData/updatesite/siteurl");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testAbsoluteSiteURL() {
-		File site = getTestData("0.1", "/testData/updatesite/siteurl2");
-		File siteDirectory = getTestData("0.1", "/testData/updatesite/siteurl2/siteurl/");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-			updatesite.getSite().setLocationURIString(siteDirectory.toURI().toString());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testDefaultDigestURL() {
-		File site = getTestData("0.1", "/testData/updatesite/digest");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testZippedDefaultDigestURL() throws URISyntaxException {
-		File site = getTestData("0.1", "/testData/updatesite/digest/site.zip");
-		URI siteURI = new URI("jar:" + site.toURI() + "!/");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(siteURI, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testRelativeDigestURL() {
-		File site = getTestData("0.1", "/testData/updatesite/digesturl");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testAbsoluteDigestURL() {
-		File site = getTestData("0.1", "/testData/updatesite/digesturl2");
-		File digestDirectory = getTestData("0.1", "/testData/updatesite/digesturl2/digesturl/");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-			updatesite.getSite().setDigestURIString(digestDirectory.toURI().toString());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	/*
-	 * Test in which we load an update site from a valid site.xml file. Handle
-	 * all the variations in the file.
-	 */
-	public void testNoDigestGoodSite() {
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testNoEndingSlashURL() {
-		File base = getTestData("0.1", "/testData/updatesite");
-		UpdateSite updatesite = null;
-		try {
-			URI siteURL = base.toURI().resolve("site");
-			updatesite = UpdateSite.load(siteURL, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testSiteXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/site/site.xml");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(getMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testSiteWithSpaces() {
-		File site = getTestData("0.1", "/testData/updatesite/site with spaces/");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testXXXSiteXXXXMLURL() {
-		File site = getTestData("0.1", "/testData/updatesite/xxxsitexxx/xxxsitexxx.xml");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testBadXXXSiteXXXXMLURL() {
-		File siteDir = getTestData("0.1", "/testData/updatesite/xxxsitexxx");
-		File site = new File(siteDir, "site.xml");
-		try {
-			UpdateSite.load(site.toURI(), getMonitor());
-			fail("0.2");
-		} catch (ProvisionException e) {
-			// expected
-		}
-	}
-
-	public void testBadDigestGoodSite() {
-		File site = getTestData("0.1", "/testData/updatesite/baddigestgoodsite");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			updatesite.loadFeatures(new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testCorruptDigestGoodSite() {
-		File site = getTestData("0.1", "/testData/updatesite/corruptdigestgoodsite");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			updatesite.loadFeatures(new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			fail("0.4", e);
-		}
-	}
-
-	public void testBadDigestBadSite() {
-		File site = getTestData("0.1", "/testData/updatesite/baddigestbadsite");
-		try {
-			UpdateSite.load(site.toURI(), getMonitor());
-			fail("0.2");
-		} catch (ProvisionException e) {
-			// expected
-		}
-	}
-
-	public void testBadSiteXML() {
-		// handle the case where the site.xml doesn't parse correctly
-		File site = getTestData("0.1", "/testData/updatesite/badSiteXML");
-		try {
-			UpdateSite.load(site.toURI(), getMonitor());
-			fail("0.2");
-		} catch (ProvisionException e) {
-			// expected exception
-		}
-	}
-
-	/*
-	 * Test the case where we don't have a digest or site.xml.
-	 */
-	public void testNoSite() {
-		// ensure we have a validate, empty location
-		File temp = getTempFolder();
-		temp.mkdirs();
-		try {
-			UpdateSite.load(temp.toURI(), getMonitor());
-			fail("0.2");
-		} catch (ProvisionException e) {
-			// we expect an exception
-		}
-	}
-
-	public void testNullSite() {
-		try {
-			assertNull("1.0", UpdateSite.load(null, getMonitor()));
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-		}
-	}
-
-	public void testBadFeatureURL() {
-		File site = getTestData("0.1", "/testData/updatesite/badfeatureurl");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(0, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testGoodFeatureURL() {
-		File site = getTestData("0.1", "/testData/updatesite/goodfeatureurl");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testZippedGoodFeatureURL() throws URISyntaxException {
-
-		File site = getTestData("0.1", "/testData/updatesite/goodfeatureurl/site.zip");
-		URI siteURI = new URI("jar:" + site.toURI() + "!/");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(siteURI, getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testIncludedFeature() {
-		File site = getTestData("0.1", "/testData/updatesite/includedfeature");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(2, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testIncludedFeatureArchive() {
-		File site = getTestData("0.1", "/testData/updatesite/includedfeaturearchive");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(2, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testBadIncludedFeatureArchive() {
-		File site = getTestData("0.1", "/testData/updatesite/badincludedfeaturearchive");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(1, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testNoFeatureIdAndVersion() {
-		File site = getTestData("0.1", "/testData/updatesite/nofeatureidandversion");
-		UpdateSite updatesite = null;
-		try {
-			updatesite = UpdateSite.load(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		try {
-			int featureCount = updatesite.loadFeatures(new NullProgressMonitor()).length;
-			assertEquals(2, featureCount);
-		} catch (ProvisionException e) {
-			fail("0.5");
-		}
-	}
-
-	public void testSiteFeatureVersionEquals() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		b.setFeatureVersion("1.0.0");
-		a.setFeatureVersion("1.0.0");
-		b.setFeatureVersion("1.0.0");
-		assertEquals("1.1", a, b);
-		b.setFeatureVersion("2.0.0");
-		assertFalse("1.2", a.equals(b));
-		b.setFeatureVersion(null);
-		assertFalse("1.3", a.equals(b));
-		assertFalse("1.4", b.equals(a));
-	}
-
-	public void testSiteFeatureLabelEquals() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		a.setLabel("foo");
-		b.setLabel("foo");
-		assertEquals("1.1", a, b);
-		b.setLabel("bar");
-		assertFalse("1.2", a.equals(b));
-		b.setLabel(null);
-		assertFalse("1.3", a.equals(b));
-		assertFalse("1.4", b.equals(a));
-	}
-
-	public void testSiteFeatureIDEquals() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		a.setFeatureIdentifier("org.foo");
-		b.setFeatureIdentifier("org.foo");
-		assertEquals("1.1", a, b);
-		b.setFeatureIdentifier("org.bar");
-		assertFalse("1.2", a.equals(b));
-		b.setFeatureIdentifier(null);
-		assertFalse("1.3", a.equals(b));
-		assertFalse("1.4", b.equals(a));
-	}
-
-	public void testSiteFeatureEquals() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		a.setURLString("http://foo");
-		assertFalse("1.1", a.equals(b));
-		b.setURLString("http://foo");
-		assertEquals("1.2", a, b);
-		a.setURLString("http://FOO");
-		assertEquals("1.3", a, b);
-		a.setURLString("file://FOO");
-		assertFalse("1.4", a.equals(b));
-		a.setURLString(null);
-		assertFalse("1.5", a.equals(b));
-		assertFalse("1.6", b.equals(a));
-	}
-
-	public void testSiteFeatureHash() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a.hashCode(), b.hashCode());
-		a.setURLString("http://foo");
-		b.setURLString("http://foo");
-		assertEquals("1.1", a.hashCode(), b.hashCode());
-		a.setURLString("http://FOO/");
-		assertEquals("1.2", a.hashCode(), b.hashCode());
-		a.setURLString("foo");
-		b.setURLString("FoO");
-		assertEquals("1.3", a.hashCode(), b.hashCode());
-	}
-
-	public void testSiteFeatureNotEquals() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		a.setURLString("file:/c:/foo");
-		assertFalse("1.1", a.equals(b));
-		b.setURLString("file:/c:/bar");
-		assertFalse("1.2", a.equals(b));
-		assertFalse("1.3", b.equals(a));
-		a.setURLString("http://foo");
-		b.setURLString("http://bar/");
-		assertFalse("1.4", b.equals(a));
-	}
-
-	public void testSiteFeatureFileURL() {
-		SiteFeature a = new SiteFeature();
-		SiteFeature b = new SiteFeature();
-		assertEquals("1.0", a, b);
-		a.setURLString("file:/c:/foo");
-		b.setURLString("file:/c:/FOO");
-		if (a.equals(b))
-			assertEquals("1.1", a.hashCode(), b.hashCode());
-		a.setURLString("FILE:/c:/foo");
-		b.setURLString("file:/c:/FOO");
-		if (a.equals(b))
-			assertEquals("1.2", a.hashCode(), b.hashCode());
-		a.setURLString("HTTP://example.com");
-		b.setURLString("HTtP://example.com");
-		if (a.equals(b))
-			assertEquals("1.3", a.hashCode(), b.hashCode());
-		a.setURLString("HTTP://eXaMpLe.com");
-		b.setURLString("HTtP://example.com");
-		if (a.equals(b))
-			assertEquals("1.4", a.hashCode(), b.hashCode());
-		a.setURLString("HTTP://eXaMpLe.com/");
-		b.setURLString("HTtP://example.com");
-		assertEquals(a, b);
-		if (a.equals(b))
-			assertEquals("1.5", a.hashCode(), b.hashCode());
-		a.setURLString("http://localhost");
-		b.setURLString("http://127.0.0.1");
-		if (a.equals(b))
-			assertEquals("1.6", a.hashCode(), b.hashCode());
-	}
-
-	public void testRepoWithFeatureWithNullUpdateURL() {
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(repoMan);
-		File site = getTestData("Update site", "/testData/updatesite/missingUpdateURLFeature/");
-		IMetadataRepository metadataRepo = null;
-		try {
-			metadataRepo = repoMan.loadRepository(site.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Can't load repository missingUpdateURLFeature");
-		}
-		InstallableUnitQuery query = new InstallableUnitQuery("test.featurewithmissingupdateurl.feature.group", Version.create("1.0.0"));
-		Collector result = metadataRepo.query(query, null);
-		assertEquals("1.0", 1, result.size());
-	}
-
-	/**
-	 * Tests that a feature requiring a bundle with no range is converted correctly.
-	 */
-	public void testBug243422() {
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(repoMan);
-		File site = getTestData("Update site", "/testData/updatesite/UpdateSite243422/");
-		IMetadataRepository metadataRepo = null;
-		try {
-			metadataRepo = repoMan.loadRepository(site.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Can't load repository UpdateSite243422");
-		}
-		InstallableUnitQuery query = new InstallableUnitQuery("org.eclipse.jdt.astview.feature.feature.group", Version.create("1.0.1"));
-		Collector result = metadataRepo.query(query, null);
-		assertEquals("1.0", 1, result.size());
-		IInstallableUnit featureIU = (IInstallableUnit) result.iterator().next();
-		IRequirement[] required = featureIU.getRequiredCapabilities();
-		for (int i = 0; i < required.length; i++) {
-			if (((IRequiredCapability) required[i]).getName().equals("org.eclipse.ui.ide")) {
-				assertEquals("2.0", VersionRange.emptyRange, ((IRequiredCapability) required[i]).getRange());
-			}
-		}
-	}
-
-	public void testShortenVersionNumberInFeature() {
-		IArtifactRepositoryManager repoMan = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		assertNotNull(repoMan);
-		File site = getTestData("Update site", "/testData/updatesite/240121/UpdateSite240121/");
-		IArtifactRepository artifactRepo = null;
-		try {
-			artifactRepo = repoMan.loadRepository(site.toURI(), null);
-		} catch (ProvisionException e) {
-			fail("Can't load repository UpdateSite240121");
-		}
-		Collector keys = artifactRepo.query(new ArtifactKeyQuery(null, "Plugin240121", null), null);
-		assertEquals(1, keys.size());
-		IArtifactKey key = (IArtifactKey) keys.iterator().next();
-		IStatus status = artifactRepo.getArtifact(artifactRepo.getArtifactDescriptors(key)[0], new ByteArrayOutputStream(500), new NullProgressMonitor());
-		if (!status.isOK())
-			fail("Can't get the expected artifact:" + key);
-	}
-
-	/**
-	 * Tests that the feature jar IU has the appropriate touchpoint instruction for
-	 * unzipping the feature on install.
-	 */
-	public void testFeatureJarUnzipInstruction() {
-		IMetadataRepositoryManager repoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		URI location = null;
-		location = site.toURI();
-		IMetadataRepository repository;
-		try {
-			repository = repoMan.loadRepository(location, getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.99", e);
-			return;
-		}
-		Collector result = repository.query(new InstallableUnitQuery("test.feature.feature.jar"), getMonitor());
-		assertTrue("1.0", !result.isEmpty());
-		IInstallableUnit unit = (IInstallableUnit) result.iterator().next();
-		ITouchpointData[] data = unit.getTouchpointData();
-		assertEquals("1.1", 1, data.length);
-		Map instructions = data[0].getInstructions();
-		assertEquals("1.2", 1, instructions.size());
-		assertEquals("1.3", "true", ((ITouchpointInstruction) instructions.get("zipped")).getBody());
-	}
-
-	/**
-	 * TODO Failing test, see bug 265528.
-	 */
-	public void _testFeatureSiteReferences() throws ProvisionException, URISyntaxException {
-		File site = getTestData("0.1", "/testData/updatesite/siteFeatureReferences");
-		URI siteURI = site.toURI();
-		URI testUpdateSite = new URI("http://download.eclipse.org/test/updatesite/");
-		URI testDiscoverySite = new URI("http://download.eclipse.org/test/discoverysite");
-
-		IMetadataRepositoryManager manager = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(manager);
-		manager.removeRepository(testUpdateSite);
-		manager.removeRepository(testDiscoverySite);
-		IMetadataRepository repository = manager.loadRepository(siteURI, 0, getMonitor());
-		try {
-			//wait for site references to be published asynchronously
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			fail("4.99", e);
-		}
-		assertNotNull(repository);
-		assertTrue("1.0", manager.contains(testUpdateSite));
-		assertTrue("1.1", manager.contains(testDiscoverySite));
-		assertFalse("1.2", manager.isEnabled(testUpdateSite));
-		assertFalse("1.3", manager.isEnabled(testDiscoverySite));
-	}
-
-	public void testMetadataRepoCount() {
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		URI siteURI = site.toURI();
-
-		IMetadataRepositoryManager metadataRepoMan = (IMetadataRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		assertNotNull(metadataRepoMan);
-
-		URI[] knownRepos = metadataRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < knownRepos.length; i++) {
-			if (siteURI.equals(knownRepos[i])) {
-				metadataRepoMan.removeRepository(siteURI);
-				knownRepos = metadataRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-				break;
-			}
-		}
-
-		try {
-			metadataRepoMan.loadRepository(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.0", e);
-			return;
-		}
-		URI[] afterKnownRepos = metadataRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		assertTrue("1.1", afterKnownRepos.length == knownRepos.length + 1);
-	}
-
-	public void testArtifactRepoCount() {
-		File site = getTestData("0.1", "/testData/updatesite/site");
-		URI siteURI = site.toURI();
-
-		IArtifactRepositoryManager artifactRepoMan = (IArtifactRepositoryManager) ServiceHelper.getService(TestActivator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		assertNotNull(artifactRepoMan);
-
-		URI[] knownRepos = artifactRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		for (int i = 0; i < knownRepos.length; i++) {
-			if (siteURI.equals(knownRepos[i])) {
-				artifactRepoMan.removeRepository(siteURI);
-				knownRepos = artifactRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-				break;
-			}
-		}
-
-		try {
-			artifactRepoMan.loadRepository(site.toURI(), getMonitor());
-		} catch (ProvisionException e) {
-			fail("1.0", e);
-			return;
-		}
-		URI[] afterKnownRepos = artifactRepoMan.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		assertTrue("1.1", afterKnownRepos.length == knownRepos.length + 1);
-	}
-
-	public void testPack200() {
-		File output = new File(getTempFolder(), getUniqueString());
-		File site = getTestData("0.1", "/testData/updatesite/packedSiteWithMirror");
-		URI siteURI = site.toURI();
-
-		IArtifactRepository repo = null;
-		try {
-			repo = getArtifactRepositoryManager().loadRepository(siteURI, new NullProgressMonitor());
-		} catch (ProvisionException e) {
-			fail("0.2", e);
-		}
-		IArtifactKey key = new ArtifactKey("org.eclipse.update.feature", "test.feature", Version.create("1.0.0"));
-		IArtifactDescriptor[] descriptors = repo.getArtifactDescriptors(key);
-
-		// Should have a packed & canonical version
-		assertEquals(2, descriptors.length);
-		IArtifactDescriptor desc = "packed".equals(descriptors[0].getProperty("format")) ? descriptors[0] : descriptors[1];
-		OutputStream out = null;
-		try {
-			out = new FileOutputStream(output);
-			IStatus status = repo.getRawArtifact(desc, out, new NullProgressMonitor());
-			out.close();
-			// Transfer should succeed
-			assertTrue(status.isOK());
-			// Length should be as expected
-			assertEquals(480, output.length());
-		} catch (IOException e) {
-			fail("Failed", e);
-		} finally {
-			getArtifactRepositoryManager().removeRepository(siteURI);
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e) {
-					// Don't care
-				}
-		}
-	}
-
-	public void testMirrors() {
-		String testDataLocation = "/testData/updatesite/packedSiteWithMirror";
-		File targetLocation = null;
-		URI siteURI = getTestData("0.1", testDataLocation).toURI();
-		try {
-			IArtifactKey key = new ArtifactKey("osgi.bundle", "test.fragment", Version.create("1.0.0"));
-			// Load source repository
-			IArtifactRepository sourceRepo = getArtifactRepositoryManager().loadRepository(siteURI, getMonitor());
-
-			// Hijack source repository's mirror selector
-			new OrderedMirrorSelector(sourceRepo, testDataLocation);
-
-			// Create target repository
-			targetLocation = File.createTempFile("target", ".repo");
-			targetLocation.delete();
-			targetLocation.mkdirs();
-			IArtifactRepository targetRepository = new SimpleArtifactRepository("TargetRepo", targetLocation.toURI(), null);
-
-			// Load the packed descriptor
-			IArtifactDescriptor[] descriptors = sourceRepo.getArtifactDescriptors(key);
-			IArtifactDescriptor descriptor = null;
-			for (int i = 0; i < descriptors.length && descriptor == null; i++)
-				if ("packed".equals(descriptors[i].getProperty("format")))
-					descriptor = descriptors[i];
-
-			if (descriptor == null)
-				fail("0.3");
-
-			RawMirrorRequest mirror = new RawMirrorRequest(descriptor, new ArtifactDescriptor(descriptor), targetRepository);
-			mirror.setSourceRepository(sourceRepo);
-			mirror.perform(getMonitor());
-
-			assertTrue(mirror.getResult().isOK());
-			assertTrue(targetRepository.contains(key));
-		} catch (Exception e) {
-			fail("0.2", e);
-		} finally {
-			if (targetLocation != null)
-				delete(targetLocation);
-			getArtifactRepositoryManager().removeRepository(siteURI);
-		}
-	}
-
-	/*
-	 * Special mirror selector for testing which chooses mirrors in order
-	 */
-	protected class OrderedMirrorSelector extends MirrorSelector {
-		private URI repoLocation;
-		int index = 0;
-		MirrorInfo[] mirrors;
-		IArtifactRepository repo;
-
-		OrderedMirrorSelector(IArtifactRepository repo, String testDataLocation) throws Exception {
-			super(repo);
-			this.repo = repo;
-			// Alternatively we could use reflect to change "location" of the repo
-			setRepoSelector();
-			getRepoLocation();
-			mirrors = computeMirrors("file:///" + getTestData("Mirror Location", testDataLocation + '/' + repo.getProperties().get(IRepository.PROP_MIRRORS_URL)).toString().replace('\\', '/'));
-		}
-
-		private void setRepoSelector() throws Exception {
-			Field delegate = UpdateSiteArtifactRepository.class.getDeclaredField("delegate");
-			delegate.setAccessible(true);
-			// Hijack the source repository's MirrorSelector with ours which provides mirrors in order.
-			Field mirrorsField = SimpleArtifactRepository.class.getDeclaredField("mirrors");
-			mirrorsField.setAccessible(true);
-			mirrorsField.set(delegate.get(repo), this);
-
-			// Setting this property forces SimpleArtifactRepository to use mirrors despite being a local repo
-			Field properties = AbstractRepository.class.getDeclaredField("properties");
-			properties.setAccessible(true);
-			((Map) properties.get(delegate.get(repo))).put(SimpleArtifactRepository.PROP_FORCE_THREADING, String.valueOf(true));
-		}
-
-		// Overridden to prevent mirror sorting
-		@Override
-		public synchronized void reportResult(String toDownload, IStatus result) {
-			return;
-		}
-
-		// We want to test each mirror once.
-		@Override
-		public synchronized boolean hasValidMirror() {
-			return mirrors != null && index < mirrors.length;
-		}
-
-		@Override
-		public synchronized URI getMirrorLocation(URI inputLocation, IProgressMonitor monitor) {
-			return URIUtil.append(nextMirror(), repoLocation.relativize(inputLocation).getPath());
-		}
-
-		private URI nextMirror() {
-			Field mirrorLocation = null;
-			try {
-				mirrorLocation = MirrorInfo.class.getDeclaredField("locationString");
-				mirrorLocation.setAccessible(true);
-
-				if (index < mirrors.length)
-					return URIUtil.makeAbsolute(new URI((String) mirrorLocation.get(mirrors[index++])), repoLocation);
-				return repoLocation;
-			} catch (Exception e) {
-				fail(Double.toString(0.4 + index), e);
-				return null;
-			}
-		}
-
-		private synchronized void getRepoLocation() {
-			Field locationField = null;
-			try {
-				locationField = UpdateSiteArtifactRepository.class.getDeclaredField("location");
-				locationField.setAccessible(true);
-				repoLocation = (URI) locationField.get(repo);
-			} catch (Exception e) {
-				fail("0.3", e);
-			}
-		}
-
-		private MirrorInfo[] computeMirrors(String mirrorsURL) {
-			// Copied & modified from MirrorSelector
-			try {
-				DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
-				DocumentBuilder builder = domFactory.newDocumentBuilder();
-				Document document = builder.parse(mirrorsURL);
-				if (document == null)
-					return null;
-				NodeList mirrorNodes = document.getElementsByTagName("mirror"); //$NON-NLS-1$
-				int mirrorCount = mirrorNodes.getLength();
-				MirrorInfo[] infos = new MirrorInfo[mirrorCount + 1];
-				for (int i = 0; i < mirrorCount; i++) {
-					Element mirrorNode = (Element) mirrorNodes.item(i);
-					String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
-					infos[i] = new MirrorInfo(infoURL, i);
-				}
-				//p2: add the base site as the last resort mirror so we can track download speed and failure rate
-				infos[mirrorCount] = new MirrorInfo(repoLocation.toString(), mirrorCount);
-				return infos;
-			} catch (Exception e) {
-				// log if absolute url
-				if (mirrorsURL != null && (mirrorsURL.startsWith("http://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("https://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("file://") //$NON-NLS-1$
-						|| mirrorsURL.startsWith("ftp://") //$NON-NLS-1$
-				|| mirrorsURL.startsWith("jar://"))) //$NON-NLS-1$
-					fail("Error processing mirrors URL: " + mirrorsURL, e); //$NON-NLS-1$
-				return null;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/test.xml b/bundles/org.eclipse.equinox.p2.tests/test.xml
deleted file mode 100644
index a6ba7ca..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/test.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-<project name="p2 Automated Tests" default="run" basedir=".">
-
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- sets the properties eclipse-home, and library-file -->
-	<property name="eclipse-home" value="${basedir}/../../" />
-	<property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml" />
-	<property name="p2_location" value="${eclipse-home}/p2_sniff_folder" />
-	<property name="plugin-name" value="org.eclipse.equinox.p2.tests" />
-
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp />
-	</target>
-
-	<!-- This target holds code to cleanup the testing environment after the tests -->
-	<!-- have been run. You can use this to delete temporary files that are created. -->
-	<target name="cleanup">
-		<delete dir="${p2_location}" quiet="true" />
-	</target>
-
-	<!-- This target runs the test suite. Any actions that need to happen after all -->
-	<!-- the tests have been run should go here. -->
-	<target name="run" depends="init,suite,cleanup">
-		<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="includes" value="org*.xml" />
-			<property name="output-file" value="${plugin-name}.xml" />
-		</ant>
-	</target>
-
-	<!-- This target runs the performance test suites. Any actions that need to happen after all -->
-	<!-- the tests have been run should go here. -->
-	<!--
-	<target name="performance" depends="init,performance-suite,cleanup">
-		<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="includes" value="org*.xml" />
-			<property name="output-file" value="${plugin-name}.xml" />
-		</ant>
-	</target>
-	-->
-
-	<target name="p2Tests" depends="init,cleanup">
-		<ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="data-dir" value="${p2_location}" />
-			<property name="plugin-name" value="org.eclipse.equinox.p2.tests" />
-			<property name="classname" value="org.eclipse.equinox.p2.tests.AutomatedTests" />
-		</ant>
-	</target>
-
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite" depends="p2Tests" />
-
-	<!-- This target defines the performance tests that need to be run. -->
-	<!-- Commented out as per Bug 270771
-	<target name="performance-suite" depends="p2PerformanceTests" />
-	-->
-
-	<target name="p2PerformanceTests">
-		<!-- TODO -->
-	</target>
-</project>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/level2/config.ini b/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/level2/config.ini
deleted file mode 100644
index 71fedcf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/level2/config.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-org.eclipse.update.reconcile=false
-eclipse.p2.profile=PlatformProfile
-osgi.bundles.defaultStartLevel=4
-eclipse.product=org.eclipse.platform.ide
-eclipse.buildId=TEST-ID
-osgi.bundles=org.eclipse.swt,\
-	org.eclipse.swt.win32.win32.x86,\
-	org.eclipse.swt.gtk.linux.x86,\
-	org.eclipse.swt.carbon.macosx
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.exe b/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.exe
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.exe
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.ini b/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.ini
deleted file mode 100644
index 32c4a6d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/AccumulateConfigDataActionTest/level1/run.ini
+++ /dev/null
@@ -1,4 +0,0 @@
--startup
-plugins/foo_1.0.100.v20080509-1800.jar
---launcher.library
-plugins/bar_1.0.100.v20080509-1800
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/BundleMeUp.txt b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/BundleMeUp.txt
deleted file mode 100644
index ad961ff..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/BundleMeUp.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-12345
-12345
-12345
-12345
-12345
-
-12345
-12345
-12345
-12345
-12345
-
-12345
-12345
-12345
-12345
-12345
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/MANIFEST.MF
deleted file mode 100644
index 4c21a4c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: test1
-Bundle-SymbolicName: test1;singleton:=true
-Bundle-Version: 0.1.0
-Import-Package: iud;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Export-Package: iuz;x-friends:="friend1,friend2"
-Eclipse-SourceBundle: test2;version="1.0.0.qualifier"
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/p2.inf b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/p2.inf
deleted file mode 100644
index df6d10e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/META-INF/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//download.eclipse.org/releases/ganymede);\
-  addRepository(type:1,location:http${#58}//download.eclipse.org/releases/ganymede);
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/subFolder/BundleMeUpToo.txt b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/subFolder/BundleMeUpToo.txt
deleted file mode 100644
index eee8bcc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test1/subFolder/BundleMeUpToo.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-54321
-54321
-54321
-54321
-54321
-54321
-54321
-54321
-54321
-54321
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar
deleted file mode 100644
index 44b5fa5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar.pack.gz
deleted file mode 100644
index 7c11297..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/BundlesActionTest/test2.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/CertificateChecker/unsigned.jar b/bundles/org.eclipse.equinox.p2.tests/testData/CertificateChecker/unsigned.jar
deleted file mode 100644
index 6fbd83b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/CertificateChecker/unsigned.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/level2/config.ini b/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/level2/config.ini
deleted file mode 100644
index 71fedcf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/level2/config.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-org.eclipse.update.reconcile=false
-eclipse.p2.profile=PlatformProfile
-osgi.bundles.defaultStartLevel=4
-eclipse.product=org.eclipse.platform.ide
-eclipse.buildId=TEST-ID
-osgi.bundles=org.eclipse.swt,\
-	org.eclipse.swt.win32.win32.x86,\
-	org.eclipse.swt.gtk.linux.x86,\
-	org.eclipse.swt.carbon.macosx
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/run.ini b/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/run.ini
deleted file mode 100644
index dce209f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ConfigCUsActionTest/level1/run.ini
+++ /dev/null
@@ -1,5 +0,0 @@
--startup
-plugins/foo_1.0.100.v20080509-1800.jar
---launcher.library
-plugins/bar_1.0.100.v20080509-1800
--foo bar
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse
deleted file mode 100644
index 54f1cc6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse.ini b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse.ini
deleted file mode 100644
index 7f7281a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/linux/eclipse.ini
+++ /dev/null
@@ -1,11 +0,0 @@
--startup
-plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar
---launcher.library
-plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.100.v20080606
--showsplash
-org.eclipse.platform
---launcher.XXMaxPermSize
-256m
--vmargs
--Xms40m
--Xmx256m
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Info.plist b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Info.plist
deleted file mode 100644
index 6f5caa9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Info.plist
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

-<plist version="1.0">

-

-<dict>

-	<key>CFBundleExecutable</key>

-		<string>eclipse</string>

-	<key>CFBundleGetInfoString</key>

-		<string>Eclipse 3.4 for Mac OS X, Copyright IBM Corp. and others 2002, 2008. All rights reserved.</string>

-	<key>CFBundleIconFile</key>

-		<string>Eclipse.icns</string>

-	<key>CFBundleIdentifier</key>

-		<string>org.eclipse.eclipse</string>

-	<key>CFBundleInfoDictionaryVersion</key>

-		<string>6.0</string>

-	<key>CFBundleName</key>

-		<string>Eclipse</string>

-	<key>CFBundlePackageType</key>

-		<string>APPL</string>

-	<key>CFBundleShortVersionString</key>

-		<string>3.4</string>

-	<key>CFBundleSignature</key>

-		<string>????</string>

-	<key>CFBundleVersion</key>

-		<string>3.4</string>

-		

-	<key>Eclipse</key>

-		<array>

-			<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:

-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>

-				<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>

-			-->

-			<string>-keyring</string><string>~/.eclipse_keyring</string>

-			<string>-consoleLog</string>

-			<string>-showlocation</string>

-			<!-- WARNING:

-				If you try to add a single VM argument (-vmargs) here,

-				*all* vmargs specified in eclipse.ini will be ignored.

-				We recommend to add all arguments in eclipse.ini

-			 -->

-		</array>

-</dict>

-

-</plist>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse
deleted file mode 100644
index 36247a0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse.ini b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse.ini
deleted file mode 100644
index b5adf8e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/MacOS/eclipse.ini
+++ /dev/null
@@ -1,14 +0,0 @@
--showsplash
-org.eclipse.platform
--startup
-../../../plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar
---launcher.library
-../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.100.v20080509-1800
--vmargs
--Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx512m
--XX:MaxPermSize=256m
--Dosgi.requiredJavaVersion=1.5
--Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Resources/eclipse.icns b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Resources/eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/macosx/eclipse.app/Contents/Resources/eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/win/eclipse.exe b/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/win/eclipse.exe
deleted file mode 100644
index dedb1db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/EquinoxExecutableActionTest/win/eclipse.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/a.txt
deleted file mode 100644
index 2e65efe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/a.txt
+++ /dev/null
@@ -1 +0,0 @@
-a
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/b.txt b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/b.txt
deleted file mode 100644
index 1e8d648..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/b.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-bar is a feature with 3 files:
-b.txt
-build.properties
-feature.xml
-
-bar has 1 required capability coming from the build.properties "root.permissions.755=eclipse"
-bar has 3 provided capabilities: 
-"org.eclipse.equinox.p2.iu/bar.feature.jar/1.1.1",
- "org.eclipse.equinox.p2.eclipse.type/feature/1.0.0", 
- "org.eclipse.update.feature/bar/1.1.1"
- 
-TODO:
-1bar needs install handlers
-2version testing
-3os: macosx win32
-windows system: carbon, win32
-languages: en
-arch: ppc, x86
-
-Note:
-1
-if (extraProperties != null) {
-			Enumeration e = extraProperties.propertyNames();
-			while (e.hasMoreElements()) {
-				String name = (String) e.nextElement();
-				iu.setProperty(name, extraProperties.getProperty(name));
-			}
-is currently dead code because the 2 callers (RemoteFeaturesAction and FeaturesAction) use extraProperties=null.
-
-2updatesite when inspecting the LocalMetadataRepository the reference sites are stored but not read.
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/build.properties
deleted file mode 100644
index ac7b2eb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               src/,\
-               lib/,\
-               META-INF/
-jars.compile.order = 
-root.permissions.755=eclipse
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/feature.xml
deleted file mode 100644
index 1236142..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/bar/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="bar"
-      label="Bar Feature"
-      version="1.1.1"
-      os="macosx,win32"
-      ws="carbon,win32"
-      nl="en"
-      arch="ppc,x86"
-      exclusive="true"
-      colocation-affinity="bar">
-   <install-handler handler="bar handler"/>
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <url>
-      <update label="Bar Site" url="file:/tmp/barsite/"/>
-   </url>
-
-   <includes
-         id="org.bar.feature"
-         version="0.0.0" nl="de,en,fr"/>
-
-   <requires>
-      <import plugin="org.bar.iu" />
-   </requires>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"
-         nl="de,en,fr"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/feature.xml
deleted file mode 100644
index f005b96..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/feature.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="foo"
-      label="Foo Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      Foo Description
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      Foo Copyright
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      Foo License
-   </license>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/p2.inf b/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/p2.inf
deleted file mode 100644
index 740fb63..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FeaturesActionTest/foo/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.install = \
-    ln(targetDir:@artifact,linkTarget:foo/lib.1.so,linkName:lib.so);\
-    chmod(targetDir:@artifact,targetFile:lib/lib.so,permissions:755);
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/META-INF/MANIFEST.MF
deleted file mode 100644
index c8f2196..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Fragment
-Bundle-SymbolicName: foo.fragment
-Bundle-Version: 1.0.0.qualifier
-Fragment-Host: foo;bundle-version="1.0.0"
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/build.properties
deleted file mode 100644
index e3630ae..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin_de.properties
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/plugin_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/plugin_de.properties
deleted file mode 100644
index ec42be5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo.fragment/plugin_de.properties
+++ /dev/null
@@ -1 +0,0 @@
-foo=German Foo
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/META-INF/MANIFEST.MF
deleted file mode 100644
index 7b5016a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %foo
-Bundle-SymbolicName: foo
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/build.properties
deleted file mode 100644
index aa1a008..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/plugin.properties
deleted file mode 100644
index 2a9b19a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/FragmentPublisherTest/foo/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-foo=English Foo
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.4/J2SE-1.4.profile b/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.4/J2SE-1.4.profile
deleted file mode 100644
index b307c97..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.4/J2SE-1.4.profile
+++ /dev/null
@@ -1,118 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4
-osgi.java.profile.name = J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.5/J2SE-1.5.profile b/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.5/J2SE-1.5.profile
deleted file mode 100644
index d23d6ca..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.5/J2SE-1.5.profile
+++ /dev/null
@@ -1,146 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.servlet,\
- javax.servlet.http,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.events,\
- org.w3c.dom.ls,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5
-osgi.java.profile.name = J2SE-1.5
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.6/JavaSE-1.6.profile b/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.6/JavaSE-1.6.profile
deleted file mode 100644
index 1c7abcb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/JREActionTest/1.6/JavaSE-1.6.profile
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 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
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.events,\
- org.w3c.dom.ls,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5,\
- JavaSE-1.6
-osgi.java.profile.name = JavaSE-1.6
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/boundedVersionConfigurations.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/boundedVersionConfigurations.product
deleted file mode 100644
index 8aa1b4b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/boundedVersionConfigurations.product
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="SampleProduct" uid="bounded.product" version="1.0.0" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="">
-   </configIni>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp
-            winSmallLow="icon.bmp"/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands" version="5.0.0"/>
-      <plugin id="org.eclipse.core.runtime" version="4.0.0"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.eclipse.core.commands" autoStart="true" startLevel="2" />
-      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/about.gif b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/about.gif
deleted file mode 100644
index 1d2d89d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/about.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/branded.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/branded.product
deleted file mode 100644
index 57dd91f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/branded.product
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Branded Product" id="branded.product" application="org.eclipse.ui.ide.workbench" version="3.5.0.I20081118" useFeatures="true">
-
-   <aboutInfo>
-      <image path="/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/about.gif"/>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <programArgsMac>-showsplash
-org.eclipse.platform</programArgsMac>
-      <vmArgsMac>-Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/brando.gif"/>
-
-   <splash
-      startupProgressRect="5,275,445,15"
-      startupMessageRect="7,252,445,20"
-      startupForegroundColor="000000" />
-   <launcher name="brando">
-      <solaris/>
-      <win useIco="true">
-         <ico path="/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/eclipse.ico"/>
-         <bmp/>
-      </win>
-   </launcher>
-
-
-   <vm>
-   </vm>
-
-   <license>
-        <url>http://license.location.com/license/</url>
-        <text>
-   License text
-         </text>
-   </license>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.platform"/>
-      <feature id="org.eclipse.equinox.p2.user.ui" version="1.0.0.qualifier"/>
-   </features>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/brando.gif b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/brando.gif
deleted file mode 100644
index 830be0e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/brando.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/eclipse.ico b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/eclipse.ico
deleted file mode 100644
index 5b2f132..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/brandedProduct/eclipse.ico
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/contextRepos/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/contextRepos/content.xml
deleted file mode 100644
index b9c4415..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/contextRepos/content.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='1'>
-    <unit id='org.eclipse.equinox.p2.user.ui.feature.group' version='1.0.0.qualifier'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoText.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoText.product
deleted file mode 100644
index 5ba1e3d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoText.product
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Product With License" uid="licenseIU.product" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <license>
-        <url>http://www.example.com</url>
-   </license>
-
-   <plugins>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoURL.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoURL.product
deleted file mode 100644
index 6589ed1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/licenseNoURL.product
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Product With License" uid="licenseIU.product" useFeatures="false" includeLaunchers="true">
-
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-
-   <vm>
-   </vm>
-
-   <license>
-        <text>
-   This is the liCenSE.
-         </text>
-   </license>
-
-   <plugins>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/platform.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/platform.product
deleted file mode 100644
index 72fb126..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/platform.product
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.4"?>
-
-<product name="Eclipse Platform" id="org.eclipse.platform.ide" application="org.eclipse.ui.ide.workbench" version="3.5.0.I20081118" useFeatures="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <programArgsMac>-showsplash
-org.eclipse.platform</programArgsMac>
-      <vmArgsMac>-Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread
--Xms40m
--Xmx256m
--XX:MaxPermSize=256m
--Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <launcher name="eclipse">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.platform" version="0.0.0"/>
-      <feature id="org.eclipse.equinox.p2.user.ui" version="1.0.0.qualifier"/>
-   </features>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productFileActionTest.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productFileActionTest.product
deleted file mode 100644
index 863e14c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productFileActionTest.product
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="SampleProduct" version="1.0.0" useFeatures="false">
-
-
-   <configIni>
-   </configIni>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp
-            winSmallLow="icon.bmp"/>
-      </win>
-   </launcher>
-
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands" version="5.0.0"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.eclipse.core.commands" autoStart="false" startLevel="2" />
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/p2.inf b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/p2.inf
deleted file mode 100644
index 2eec7c9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//download.eclipse.org/releases/fred);\
-  addRepository(type:1,location:http${#58}//download.eclipse.org/releases/fred);
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/productWithAdvice.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/productWithAdvice.product
deleted file mode 100644
index 6513692..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithAdvice/productWithAdvice.product
+++ /dev/null
@@ -1,12 +0,0 @@
-<product name="aaTestProduct" id="productWithAdvice.product" application="test.app" version="1" useFeatures="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.rcp" version="3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t"/>
-   </features>
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini
deleted file mode 100644
index 6bd3c88..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/config.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-osgi.sharedConfiguration.area.readOnly=true
-eclipse.vm=/d/sw/java64/jdk1.6.0_03/bin/java
-osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/sample.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/sample.product
deleted file mode 100644
index b402524..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/sample.product
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="aaTestProduct" id="test.product" application="test.app" version="1" useFeatures="false">
-
-   <configIni use="default">
-      <win32>config.ini</win32>
-   </configIni>
-
-   <launcherArgs>
-      <programArgs>programArg -name "My Name"</programArgs>
-      <vmArgs>vmArg  -Dfoo="b a r"</vmArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <splash
-      location="org.eclipse.equinox.p2.tests"
-      startupProgressRect="5,275,445,15"
-      startupMessageRect="7,252,445,20"
-      startupForegroundColor="000000" />
-   <launcher name="sample">
-      <solaris/>
-      <win useIco="false">
-         <bmp
-            winSmallLow="test/icon.bmp"/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.runtime" version="1.0.4"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.rcp" version="3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t"/>
-   </features>
-
-   <configurations>
-      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
-      <property name = "foo" value="bar"/>
-      <property name = "foo1" />
-      <property value="bar1"/>
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/uidproduct.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/uidproduct.product
deleted file mode 100644
index b62a7af..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithConfig/uidproduct.product
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="aaTestProduct" id="UID.test.product" application="test.app" version="1" useFeatures="false">
-
-   <configIni use="default">
-      <win32>config.ini</win32>
-   </configIni>
-
-   <launcherArgs>
-      <programArgs>programArg</programArgs>
-      <vmArgs>vmArg</vmArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <splash
-      location="org.eclipse.equinox.p2.tests"
-      startupProgressRect="5,275,445,15"
-      startupMessageRect="7,252,445,20"
-      startupForegroundColor="000000" />
-   <launcher name="sample">
-      <solaris/>
-      <win useIco="false">
-         <bmp
-            winSmallLow="test/icon.bmp"/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.runtime" version="1.0.4"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.rcp" version="3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t"/>
-   </features>
-
-   <configurations>
-      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
-      <property name = "foo" value="bar"/>
-      <property name = "foo1" />
-      <property value="bar1"/>
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithLicense.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithLicense.product
deleted file mode 100644
index f853001..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithLicense.product
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Product With License" uid="licenseIU.product" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <license>
-        <url>http://www.example.com</url>
-        <text>
-   This is the liCenSE.
-         </text>
-   </license>
-
-   <plugins>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithNoLicense.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithNoLicense.product
deleted file mode 100644
index 48a5dd7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/productWithNoLicense.product
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Product With License" uid="licenseIU.product" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-    <plugins>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/startLevel.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/startLevel.product
deleted file mode 100644
index 38d0c5d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/startLevel.product
+++ /dev/null
@@ -1,22 +0,0 @@
-<product name="aaTestProduct" id="test.product" application="test.app" version="1" useFeatures="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="org.eclipse.rcp" version="3.5.0.v20081110-9C9tEvNEla71LZ2jFz-RFB-t"/>
-   </features>
-
-   <configurations>
-      <plugin id="org.eclipse.equinox.common" version = "1.0.0" autoStart="false" startLevel="13" />
-      <plugin id="org.eclipse.core.runtime" version = "2.0.0" autoStart="true" startLevel="6" />
-   </configurations>
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/unboundedVersionConfigurations.product b/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/unboundedVersionConfigurations.product
deleted file mode 100644
index d0ee899..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/ProductActionTest/unboundedVersionConfigurations.product
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="SampleProduct" uid="unbounded.product" version="1.0.0" useFeatures="false" includeLaunchers="true">
-
-   <configIni use="">
-   </configIni>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp
-            winSmallLow="icon.bmp"/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.runtime"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.eclipse.core.commands" autoStart="true" startLevel="2" />
-      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
-   </configurations>
-
-</product>
diff --git "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.prefs" "b/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.prefs"
deleted file mode 100644
index 06a13d3..0000000
--- "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.prefs"
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Apr 21 09:30:49 EDT 2009
-eclipse.preferences.version=1
-showLatestVersion=false
-allowNonOKPlan=always
diff --git "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz" "b/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz"
deleted file mode 100644
index e69de29..0000000
--- "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz"
+++ /dev/null
diff --git "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/p2/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz" "b/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/p2/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz"
deleted file mode 100644
index e69de29..0000000
--- "a/bundles/org.eclipse.equinox.p2.tests/testData/ProfilePreferencesTest/with\050invalid\051chars/p2/org.eclipse.equinox.p2.engine/profileRegistry/TestProfile.profile/1345.profile.gz"
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/.eclipseproduct b/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/.eclipseproduct
deleted file mode 100644
index 9726390..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/.eclipseproduct
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Eclipse Platform

-eclipse.product=org.eclipse.platform.ide

-version=3.3.0
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/file1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/file1.jar
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/file1.jar
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/level3/file1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/level3/file1.jar
deleted file mode 100644
index 02e8937..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/level1/level2/level3/file1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/simpleconfigurator.source.jar b/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/simpleconfigurator.source.jar
deleted file mode 100644
index c27ee85..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/RootFilesActionTest/eclipse/simpleconfigurator.source.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/VerifierBundle35/org.eclipse.equinox.p2.tests.verifier_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/VerifierBundle35/org.eclipse.equinox.p2.tests.verifier_1.0.0.jar
deleted file mode 100644
index cd0687b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/VerifierBundle35/org.eclipse.equinox.p2.tests.verifier_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/broken/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/broken/artifacts.xml
deleted file mode 100644
index 7751f02..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/broken/artifacts.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<object-array>
-  <set>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-        <id>org.apache.jasper</id>
-        <classifier>plugin</classifier>
-        <version>5.5.17.200706211608</version>
-
-      </key>
-      <downloadSize>
-        <size>1701914</size>
-      </downloadSize>
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-
-        <id>org.apache.commons.el</id>
-        <classifier>plugin</classifier>
-        <version>1.0.0.200706211608</version>
-      </key>
-      <downloadSize>
-        <size>119656</size>
-      </downloadSize>
-
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-        <id>javax.servlet.jsp</id>
-        <classifier>plugin</classifier>
-        <version>2.0.0.200706211608</version>
-
-      </key>
-      <downloadSize>
-        <size>55820</size>
-      </downloadSize>
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-
-        <id>org.apache.commons.logging</id>
-        <classifier>plugin</classifier>
-        <version>1.0.4.200706211608</version>
-      </key>
-      <downloadSize>
-        <size>39087</size>
-      </downloadSize>
-
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-        <id>org.eclipse.equinox.jsp.jasper</id>
-        <classifier>plugin</classifier>
-        <version>1.0.0.200706211605</version>
-
-      </key>
-      <downloadSize>
-        <size>17894</size>
-      </downloadSize>
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-
-        <id>org.eclipse.equinox.simpleconfigurator</id>
-        <classifier>plugin</classifier>
-        <version>1.2.3</version>
-      </key>
-      <downloadSize>
-        <size>30534</size>
-      </downloadSize>
-
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-    <org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-      <key class="org.eclipse.equinox.internal.prov.metadata.ArtifactKey">
-        <namespace>eclipse</namespace>
-        <id>sample.jsp</id>
-        <classifier>plugin</classifier>
-        <version>1.0.0</version>
-
-      </key>
-      <downloadSize>
-        <size>2774</size>
-      </downloadSize>
-    </org.eclipse.equinox.prov.artifact.repository.ArtifactDescriptor>
-  </set>
-  <string-array-array>
-    <string-array>
-
-      <string>(&amp; (namespace=eclipse) (classifier=feature))</string>
-      <string>${repoUrl}/feature/${id}_${version}</string>
-    </string-array>
-    <string-array>
-      <string>(&amp; (namespace=eclipse) (classifier=plugin))</string>
-
-      <string>${repoUrl}/plugin/${id}_${version}</string>
-    </string-array>
-    <string-array>
-      <string>(&amp; (namespace=eclipse) (classifier=native))</string>
-      <string>${repoUrl}/native/${id}_${version}</string>
-    </string-array>
-
-  </string-array-array>
-</object-array>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/missingRequiredAttribute/compositeArtifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/missingRequiredAttribute/compositeArtifacts.xml
deleted file mode 100644
index af008b2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/missingRequiredAttribute/compositeArtifacts.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeArtifactRepository version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1237472710130'/>
-  </properties>
-  <children size='1'>
-    <child location='http://www.eclipse.org/bar'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/syntaxError/compositeArtifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/syntaxError/compositeArtifacts.xml
deleted file mode 100644
index 5ee6adb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/Bad/syntaxError/compositeArtifacts.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.provisional.p2.core.repository.ICompositeRepository' version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1226685461796'/>
-  </properties>
-  <children size='2'>
-    <child locotion='http://www.eclipse.org/foo'/>
-    <child location='http://www.eclipse.org/bar'/>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/compositeArtifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/compositeArtifacts.xml
deleted file mode 100644
index 26105ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/compositeArtifacts.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeArtifactRepository version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1234'/>
-  </properties>
-  <children size='2'>
-    <child location='one'/>
-    <child location='two'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/artifacts.xml
deleted file mode 100644
index 19e55d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/artifacts.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='p2.system' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/one/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/artifacts.xml
deleted file mode 100644
index 6c73323..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.local/two/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.remote/compositeArtifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.remote/compositeArtifacts.xml
deleted file mode 100644
index aabbcfe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/composite/good.remote/compositeArtifacts.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeArtifactRepository version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1234'/>
-  </properties>
-  <children size='2'>
-    <child location='http://www.eclipse.org/foo'/>
-    <child location='http://www.eclipse.org/bar'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
deleted file mode 100644
index 3093c3d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='publishPackFilesAsSiblings' value='true'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.jar.pack.gz'/>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.5.0.corrupted'>
-      <properties size='4'>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
deleted file mode 100644
index 0606c14..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Test Repository for corrupted jar' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Test Repository for corrupted jar'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='1'>
-    <unit id='testBundle' version='3.5.0.corrupted'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='testBundle' version='3.5.0.corrupted'/>
-      </provides>
-       <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.5.0.corrupted'/>
-      </artifacts>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar
deleted file mode 100644
index 7fdbb53..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/duplicateElement/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/duplicateElement/artifacts.xml
deleted file mode 100644
index 140d881..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/duplicateElement/artifacts.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/artifacts.xml
deleted file mode 100644
index 9143624..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/artifacts.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='HelloWorld Artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>
-  <properties size='5'>
-    <property name='publishPackFilesAsSiblings' value='true'/>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1222368069078'/>
-    <property name='eclipse.p2.force.threading' value='true'/>
-    <property name='p2.mirrorsURL' value='mirrors.xml'/>
-  </properties>
-  <mappings size='6'>
-    <rule filter='(&amp; (classifier=osgi.bundle) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.jar.pack.gz'/>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=test.txt) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.txt.pack.gz'/>
-    <rule filter='(&amp; (classifier=test.txt))' output='${repoUrl}/plugins/${id}_${version}.txt'/>
-  </mappings>
-  <artifacts size='4'>
-    <artifact classifier='org.eclipse.update.feature' id='HelloWorldFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='0'/>
-        <property name='download.size' value='0'/>
-      </properties>
-    </artifact>
-    <artifact classifier='test.txt' id='HelloWorldText' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='12'/>
-        <property name='download.size' value='12'/>
-        <property name='download.md5' value='ed076287532e86365e841e92bfc50d8c'/>
-      </properties>
-    </artifact>
-    <artifact classifier='test.txt' id='fail_to_canonical' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='12'/>
-        <property name='download.size' value='12'/>
-        <property name='download.md5' value='ed076287532e86365e841e92bfc50d8c'/>
-      </properties>
-    </artifact>
-    <artifact classifier='test.txt' id='fail_to_canonical' version='1.0.0'>
-       <processing size='1'>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-      </processing>
-      <properties size='4'>
-        <property name='artifact.size' value='12'/>
-        <property name='download.size' value='12'/>
-        <property name='download.md5' value='ed076287532e86365e841e92bfc50d8c'/>
-        <property name='format' value='packed'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/features/HelloWorldFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/features/HelloWorldFeature_1.0.0.jar
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/features/HelloWorldFeature_1.0.0.jar
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirror-two/plugins/HelloWorldText_1.0.0.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirror-two/plugins/HelloWorldText_1.0.0.txt
deleted file mode 100644
index 078c7e9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirror-two/plugins/HelloWorldText_1.0.0.txt
+++ /dev/null
@@ -1 +0,0 @@
-Good-bye World!
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirrors.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirrors.xml
deleted file mode 100644
index 9faec8f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/mirrors.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<mirrors>
-	<mirror url="mirror-one" label="MirrorOne" />
-	<mirror url="mirror-two" label="MirrorTwo" />
-</mirrors>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/HelloWorldText_1.0.0.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/HelloWorldText_1.0.0.txt
deleted file mode 100644
index c57eff5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/HelloWorldText_1.0.0.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello World!
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt
deleted file mode 100644
index c57eff5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello World!
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt.pack.gz
deleted file mode 100644
index c57eff5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/plugins/fail_to_canonical_1.0.0.txt.pack.gz
+++ /dev/null
@@ -1 +0,0 @@
-Hello World!
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/readme.txt
deleted file mode 100644
index b1f0870..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/emptyJarRepo/readme.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-Artifact: test.txt,failtoCanonical,1.0.0
-	Used by MirrorRequestTest#testFailToCanonical()
-		Main: missing packed file, canonical present 
-		
-Artifact: test.txt,HelloWorldText,1.0.0
-	Used by MirrorRequestTest#testMirrorFailOver()
-		Mirror one: missing file
-		Mirror two: fails verification
-		Main: proper file
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/artifacts.xml
deleted file mode 100644
index 82df9ea..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/artifacts.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='p2.system' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='3'>
-    <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='missingSize.asdf' version='1.5.1.v200803061910'>
-      <properties size='1'>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/content.xml
deleted file mode 100644
index 53d9d76..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingArtifact/content.xml
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='WSDL REPO' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
-  <properties size='1'>
-    <property name='p2.timestamp' value='1208626797360'/>
-  </properties>
-  <units size='7'>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
-        <artifact classifier='osgi.bundle' id='missingSize.asdf' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='22'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='2'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
-        <artifact classifier='osgi.bundle' id='javax.asdf' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/artifacts.xml
deleted file mode 100644
index 50d5364..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/artifacts.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='p2.system' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/content.xml
deleted file mode 100644
index 53d9d76..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/missingSingleArtifact/content.xml
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='WSDL REPO' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
-  <properties size='1'>
-    <property name='p2.timestamp' value='1208626797360'/>
-  </properties>
-  <units size='7'>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
-        <artifact classifier='osgi.bundle' id='missingSize.asdf' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='22'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='2'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
-        <artifact classifier='osgi.bundle' id='javax.asdf' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/artifacts.xml
deleted file mode 100644
index 6c73323..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple with spaces/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/artifacts.xml
deleted file mode 100644
index 19e55d7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/artifacts.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='p2.system' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simple/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/artifacts.xml
deleted file mode 100644
index ddd4914..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/artifacts.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='publishPackFilesAsSiblings' value='true'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.jar.pack.gz'/>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-        <property name='download.md5' value='50d4ea58b02706ab373a908338877e02'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-        <property name='download.md5' value='8eb801058775b83c00ca37082ce57b47'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='bogusbbPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-        <property name='download.md5' value='bogusMD5'/>
-      </properties>
-    </artifact>
-        <artifact classifier='osgi.bundle' id='bogusccPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-        <property name='download.md5' value='50d4ea58b02706ab373a908338877e01'/>
-      </properties>
-    </artifact>
-    
-    <artifact classifier='osgi.bundle' id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'>
-      <processing size='2'>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='download.md5'/>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='artifact.md5'/> 
-      </processing>
-      <properties size='3'>
-        <property name='artifact.size' value='83200'/>
-        <property name='download.size' value='47275'/>
-        <property name='format' value='packed'/>
-        <property name='download.md5' value='80eefca900b225ba9821f9b2362f9ead'/>
-        <property name='artifact.md5' value='48b39605d3e8325bdeb92c61d036ee61'/>
-      </properties>
-    </artifact>
-    
-    <artifact classifier='osgi.bundle' id='bogusorg.eclipse.core.filebuffers1' version='3.4.0.v20080603-2000'>
-      <processing size='2'>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='artifact.md5'/>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='download.md5'/> 
-      </processing>
-      <properties size='3'>
-        <property name='artifact.size' value='83200'/>
-        <property name='download.size' value='47275'/>
-        <property name='format' value='packed'/>
-        <property name='download.md5' value='80eefca900b225ba9821f9b2362f9ead'/>
-        <property name='artifact.md5' value='48b39605d3e8325bdeb92c61d036ee61'/>
-      </properties>
-    </artifact>
-    
-    <artifact classifier='osgi.bundle' id='bogusorg.eclipse.core.filebuffers2' version='3.4.0.v20080603-2000'>
-      <processing size='2'>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='download.md5'/>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='download.md5'/> 
-      </processing>
-      <properties size='3'>
-        <property name='artifact.size' value='83200'/>
-        <property name='download.size' value='47275'/>
-        <property name='format' value='packed'/>
-        <property name='download.md5' value='80eefca900b225ba9821f9b2362f9ead'/>
-        <property name='artifact.md5' value='48b39605d3e8325bdeb92c61d036ee61'/>
-      </properties>
-    </artifact>
-    
-    <artifact classifier='osgi.bundle' id='bogusorg.eclipse.core.filebuffers3' version='3.4.0.v20080603-2000'>
-      <processing size='2'>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='artifact.md5'/>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='artifact.md5'/> 
-      </processing>
-      <properties size='3'>
-        <property name='artifact.size' value='83200'/>
-        <property name='download.size' value='47275'/>
-        <property name='format' value='packed'/>
-        <property name='download.md5' value='80eefca900b225ba9821f9b2362f9ead'/>
-        <property name='artifact.md5' value='48b39605d3e8325bdeb92c61d036ee61'/>
-      </properties>
-    </artifact>
-    
-    <artifact classifier='osgi.bundle' id='org.eclipse.core.filebuffers4' version='3.4.0.v20080603-2000'>
-      <processing size='2'>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='80eefca900b225ba9821f9b2362f9ead'/>
-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
-        <step id='org.eclipse.equinox.p2.processing.MD5Verifier' required='true' data='48b39605d3e8325bdeb92c61d036ee61'/> 
-      </processing>
-      <properties size='3'>
-        <property name='artifact.size' value='83200'/>
-        <property name='download.size' value='47275'/>
-        <property name='format' value='packed'/>
-      </properties>
-    </artifact>
-    
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusbbPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusbbPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusbbPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusccPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusccPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/bogusccPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers2_3.4.0.v20080603-2000.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers2_3.4.0.v20080603-2000.jar.pack.gz
deleted file mode 100644
index 5b34405..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers2_3.4.0.v20080603-2000.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers3_3.4.0.v20080603-2000.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers3_3.4.0.v20080603-2000.jar.pack.gz
deleted file mode 100644
index 5b34405..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers3_3.4.0.v20080603-2000.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers4_3.4.0.v20080603-2000.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers4_3.4.0.v20080603-2000.jar.pack.gz
deleted file mode 100644
index 5b34405..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers4_3.4.0.v20080603-2000.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
deleted file mode 100644
index 5b34405..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/simpleWithMD5/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/artifacts.xml
deleted file mode 100644
index 977bbf9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/artifacts.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/aaTestSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-  <artifact classifier='osgi.bundle' id='missingFromFileSystem' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/transferTestRepo/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug252682/Bug252682.profile/1225298886572.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug252682/Bug252682.profile/1225298886572.profile.gz
deleted file mode 100644
index 434317f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug252682/Bug252682.profile/1225298886572.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/profileRegistry/bootprofile.profile/1225902890582.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/profileRegistry/bootprofile.profile/1225902890582.profile.gz
deleted file mode 100644
index eda3a75..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/profileRegistry/bootprofile.profile/1225902890582.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/artifacts.xml
deleted file mode 100644
index 5e9d376..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/artifacts.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>

-<repository name='file:/D:/devnotes/featurepatch19/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>

-  <properties size='2'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1225821683500'/>

-  </properties>

-  <mappings size='3'>

-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>

-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>

-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>

-  </mappings>

-  <artifacts size='4'>

-    <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.arm' version='7.0.300.200811041300'>

-      <properties size='3'>

-        <property name='artifact.size' value='9531'/>

-        <property name='download.size' value='9531'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-    <artifact classifier='org.eclipse.update.feature' id='RPT_ARM_TEST' version='1.0.0'>

-      <properties size='2'>

-        <property name='artifact.size' value='813'/>

-        <property name='download.size' value='813'/>

-      </properties>

-    </artifact>

-    <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.kernel' version='7.2.200.200811041300'>

-      <properties size='3'>

-        <property name='artifact.size' value='592763'/>

-        <property name='download.size' value='592763'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-    <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.armbroker' version='7.0.300.200811041300'>

-      <properties size='3'>

-        <property name='artifact.size' value='13449'/>

-        <property name='download.size' value='13449'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-  </artifacts>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/content.xml
deleted file mode 100644
index e52f941..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet1/repo/content.xml
+++ /dev/null
@@ -1,473 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>

-<repository name='file:/D:/devnotes/featurepatch19/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>

-  <properties size='2'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1225821683531'/>

-  </properties>

-  <units size='10'>

-    <unit id='a.jre' version='1.6.0' singleton='false'>

-      <provides size='117'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>

-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>

-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>

-      </provides>

-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>

-    </unit>

-    <unit id='com.ibm.rational.test.lt.arm' version='7.0.300.200811041300'>

-      <update id='com.ibm.rational.test.lt.arm' range='[0.0.0,7.0.300.200811041300)' severity='0'/>

-      <properties size='4'>

-        <property name='df_LT.providerName' value='IBM Rational'/>

-        <property name='df_LT.pluginName' value='Test ARM Support'/>

-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-      </properties>

-      <provides size='5'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.arm' version='7.0.300.200811041300'/>

-        <provided namespace='osgi.bundle' name='com.ibm.rational.test.lt.arm' version='7.0.300.200811041300'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.arm' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='6'>

-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.core' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.kernel' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.tivoli.transperf.lib' range='[8.0.0,9.0.0)' optional='true'/>

-        <required namespace='osgi.bundle' name='com.ibm.cic.licensing.common' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.performance.tester' range='[7.0.0,8.0.0)'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.arm' version='7.0.300.200811041300'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='manifest'>

-            Bundle-ManifestVersion: 2&#xA;Export-Package: com.ibm.rational.test.lt.arm&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,com.ibm.rational.test.lt.core;bundle-version=&quot;[7.0.0,8.0.0)&quot;,com.ibm.rational.test.lt.kernel;bundle-version=&quot;[7.0.0,8.0.0)&quot;,com.ibm.tivoli.transperf.lib;bundle-version=&quot;[8.0.0,9.0.0)&quot;;resolution:=optional,com.ibm.cic.licensing.common;bundle-version=&quot;[7.0.0,8.0.0)&quot;,com.ibm.rational.performance.tester;bundle-version=&quot;[7.0.0,8.0.0)&quot;&#xA;Bundle-Activator: com.ibm.rational.test.lt.arm.LTArmActivator&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 7.0.300.200811041300&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: com.ibm.rational.test.lt.arm;singleton:=true&#xA;Manifest-Version: 1.0&#xA;

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='4'>

-          <instruction key='uninstall'>

-            uninstallBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='configure'>

-            setStartLevel(startLevel:4);

-          </instruction>

-          <instruction key='install'>

-            installBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='unconfigure'>

-

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </requires>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='uninstall'>

-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)

-          </instruction>

-          <instruction key='install'>

-            installFeature(feature:${artifact},featureId:default,featureVersion:default)

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='RPT_ARM_TEST.feature.group' version='1.0.0' singleton='false'>

-      <patchScope>

-        <scope>

-          <requires size='1'>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.core.feature.feature.group' range='[7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_,7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_]'/>

-          </requires>

-        </scope>

-      </patchScope>

-      <changes>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.arm' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.arm' range='[7.0.300.200811041300,7.0.300.200811041300]'/>

-          </to>

-        </change>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.armbroker' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.armbroker' range='[7.0.300.200811041300,7.0.300.200811041300]'/>

-          </to>

-        </change>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.kernel' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.kernel' range='[7.2.200.200811041300,7.2.200.200811041300]'/>

-          </to>

-        </change>

-      </changes>

-      <lifeCycle>

-        <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.core.feature.feature.group' range='[7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_,7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_]' greedy='false'/>

-      </lifeCycle>

-      <update id='RPT_ARM_TEST.feature.group' range='[0.0.0,1.0.0)' severity='0'/>

-      <properties size='5'>

-        <property name='org.eclipse.equinox.p2.name' value='RPT_ARM_TEST Feature'/>

-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>

-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>

-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>

-      </properties>

-      <provides size='1'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='RPT_ARM_TEST.feature.group' version='1.0.0'/>

-      </provides>

-      <requires size='2'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='RPT_ARM_TEST.feature.jar' range='[1.0.0,1.0.0]'>

-          <filter>

-            (org.eclipse.update.install.features=true)

-          </filter>

-        </required>

-        <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.core.feature.feature.group' range='[7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_,7.5.100.v200807301745-BD83EhrEhz1WcZ3HkbN-O_]' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <licenses size='1'>

-        <license url='http://www.example.com/license'>

-          [Enter License Description here.]

-        </license>

-      </licenses>

-      <copyright url='http://www.example.com/copyright'>

-        [Enter Copyright Description here.]

-      </copyright>

-    </unit>

-    <unit id='com.ibm.rational.test.lt.armbroker' version='7.0.300.200811041300'>

-      <update id='com.ibm.rational.test.lt.armbroker' range='[0.0.0,7.0.300.200811041300)' severity='0'/>

-      <properties size='4'>

-        <property name='df_LT.providerName' value='IBM Rational'/>

-        <property name='df_LT.pluginName' value='Test ARM Broker'/>

-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-      </properties>

-      <provides size='7'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.armbroker' version='7.0.300.200811041300'/>

-        <provided namespace='osgi.bundle' name='com.ibm.rational.test.lt.armbroker' version='7.0.300.200811041300'/>

-        <provided namespace='java.package' name='.' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.armbroker' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.armbroker.impl' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='4'>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.arm' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.core' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.kernel' range='[7.0.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.tivoli.transperf.lib' range='[8.0.0,9.0.0)' optional='true'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.armbroker' version='7.0.300.200811041300'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='manifest'>

-            Require-Bundle: com.ibm.rational.test.lt.arm;bundle-version=&quot;[7.0.0,8.0.0)&quot;;visibility:=reexport,com.ibm.rational.test.lt.core;bundle-version=&quot;[7.0.0,8.0.0)&quot;,com.ibm.rational.test.lt.kernel;bundle-version=&quot;[7.0.0,8.0.0)&quot;,com.ibm.tivoli.transperf.lib;bundle-version=&quot;[8.0.0,9.0.0)&quot;;resolution:=optional&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %pluginName&#xA;Export-Package: .,com.ibm.rational.test.lt.armbroker,com.ibm.rational.test.lt.armbroker.impl&#xA;Bundle-Version: 7.0.300.200811041300&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-SymbolicName: com.ibm.rational.test.lt.armbroker;singleton:=true&#xA;

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='com.ibm.rational.test.lt.kernel' version='7.2.200.200811041300'>

-      <update id='com.ibm.rational.test.lt.kernel' range='[0.0.0,7.2.200.200811041300)' severity='0'/>

-      <properties size='4'>

-        <property name='df_LT.PROVIDER_NAME' value='IBM Rational'/>

-        <property name='df_LT.PLUGIN_NAME' value='Test Execution Engine'/>

-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%PROVIDER_NAME'/>

-      </properties>

-      <provides size='31'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.rational.test.lt.kernel' version='7.2.200.200811041300'/>

-        <provided namespace='osgi.bundle' name='com.ibm.rational.test.lt.kernel' version='7.2.200.200811041300'/>

-        <provided namespace='java.package' name='.' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.action' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.action.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.arbitrary' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.custom' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.custom.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.engine' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.engine.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.io' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.io.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.library' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.logging' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.logging.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.runner' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.runner.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.services' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.services.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.statistics' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.statistics.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='com.ibm.rational.test.lt.kernel.util' version='0.0.0'/>

-        <provided namespace='java.package' name='resmon' version='0.0.0'/>

-        <provided namespace='java.package' name='resmon.sqa71res' version='0.0.0'/>

-        <provided namespace='java.package' name='resmon.sqa71res.ja_JP' version='0.0.0'/>

-        <provided namespace='java.package' name='resmon.sqa71res.ja_JP.res' version='0.0.0'/>

-        <provided namespace='java.package' name='resmon.sqa71res.res' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='6'>

-        <required namespace='osgi.bundle' name='org.eclipse.hyades.logging.core' range='[4.1.1,5.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.hyades.test.tools.core' range='[4.1.1,5.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.rational.test.lt.core' range='[7.1.0,8.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.icu' range='[3.4.2,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.tptp.platform.models' range='4.5.9'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='com.ibm.rational.test.lt.kernel' version='7.2.200.200811041300'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='manifest'>

-            Bundle-ManifestVersion: 2&#xA;Export-Package: .,com.ibm.rational.test.lt.kernel,com.ibm.rational.test.lt.kernel.action,com.ibm.rational.test.lt.kernel.action.impl,com.ibm.rational.test.lt.kernel.arbitrary,com.ibm.rational.test.lt.kernel.custom,com.ibm.rational.test.lt.kernel.custom.impl,com.ibm.rational.test.lt.kernel.engine,com.ibm.rational.test.lt.kernel.engine.impl,com.ibm.rational.test.lt.kernel.impl,com.ibm.rational.test.lt.kernel.io,com.ibm.rational.test.lt.kernel.io.impl,com.ibm.rational.test.lt.kernel.library,com.ibm.rational.test.lt.kernel.logging,com.ibm.rational.test.lt.kernel.logging.impl,com.ibm.rational.test.lt.kernel.runner,com.ibm.rational.test.lt.kernel.runner.impl,com.ibm.rational.test.lt.kernel.services,com.ibm.rational.test.lt.kernel.services.impl,com.ibm.rational.test.lt.kernel.statistics,com.ibm.rational.test.lt.kernel.statistics.impl,com.ibm.rational.test.lt.kernel.util,resmon,resmon.sqa71res,resmon.sqa71res.ja_JP,resmon.sqa71res.ja_JP.res,resmon.sqa71res.res&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.hyades.logging.core;bundle-version=&quot;[4.1.1,5.0.0)&quot;,org.eclipse.hyades.test.tools.core;bundle-version=&quot;[4.1.1,5.0.0)&quot;,com.ibm.rational.test.lt.core;bundle-version=&quot;[7.1.0,8.0.0)&quot;,com.ibm.icu;bundle-version=&quot;[3.4.2,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.tptp.platform.models;bundle-version=&quot;4.5.9&quot;&#xA;Bundle-Name: %PLUGIN_NAME&#xA;Bundle-Version: 7.2.200.200811041300&#xA;Bundle-Vendor: %PROVIDER_NAME&#xA;Bundle-SymbolicName: com.ibm.rational.test.lt.kernel; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='config.a.jre' version='1.6.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='1'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>

-      </requires>

-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='install'>

-

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='RPT_ARM_TEST.feature.jar' version='1.0.0'>

-      <update id='RPT_ARM_TEST.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>

-      <properties size='3'>

-        <property name='org.eclipse.equinox.p2.name' value='RPT_ARM_TEST Feature'/>

-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>

-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

-      </properties>

-      <provides size='3'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='RPT_ARM_TEST.feature.jar' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>

-        <provided namespace='org.eclipse.update.feature' name='RPT_ARM_TEST' version='1.0.0'/>

-      </provides>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <artifacts size='1'>

-        <artifact classifier='org.eclipse.update.feature' id='RPT_ARM_TEST' version='1.0.0'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-      <licenses size='1'>

-        <license url='http://www.example.com/license'>

-          [Enter License Description here.]

-        </license>

-      </licenses>

-      <copyright url='http://www.example.com/copyright'>

-        [Enter Copyright Description here.]

-      </copyright>

-    </unit>

-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='uninstall'>

-            removeSourceBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='install'>

-            addSourceBundle(bundle:${artifact})

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-  </units>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/profileRegistry/bootProfile.profile/1225995122953.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/profileRegistry/bootProfile.profile/1225995122953.profile.gz
deleted file mode 100644
index 81b3470..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/profileRegistry/bootProfile.profile/1225995122953.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/artifacts.xml
deleted file mode 100644
index b7201f5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/artifacts.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>

-<repository name='file:/D:/IBM/Eclipse Project SDK/workspace/JDT_Update/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>

-  <properties size='2'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1225856418796'/>

-  </properties>

-  <mappings size='3'>

-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>

-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>

-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>

-  </mappings>

-  <artifacts size='3'>

-    <artifact classifier='org.eclipse.update.feature' id='org.eclipse.jdt.feature.patch' version='1.0.0'>

-      <properties size='2'>

-        <property name='artifact.size' value='820'/>

-        <property name='download.size' value='820'/>

-      </properties>

-    </artifact>

-    <artifact classifier='osgi.bundle' id='org.eclipse.jdt.core.manipulation' version='1.2.0.v20081108'>

-      <properties size='3'>

-        <property name='artifact.size' value='155820'/>

-        <property name='download.size' value='155820'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-    <artifact classifier='osgi.bundle' id='org.eclipse.jdt.core' version='3.4.2.v_883_R34x_20081108'>

-      <properties size='3'>

-        <property name='artifact.size' value='7748767'/>

-        <property name='download.size' value='7748767'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-  </artifacts>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/content.xml
deleted file mode 100644
index 02ea716..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug254481/dataSet2/repo/content.xml
+++ /dev/null
@@ -1,457 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>

-<repository name='file:/D:/IBM/Eclipse Project SDK/workspace/JDT_Update/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>

-  <properties size='2'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1225856418812'/>

-  </properties>

-  <units size='9'>

-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='install'>

-            addSourceBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='uninstall'>

-            removeSourceBundle(bundle:${artifact})

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='org.eclipse.jdt.feature.patch.feature.group' version='1.0.0' singleton='false'>

-      <patchScope>

-        <scope>

-          <requires size='1'>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.group' range='[3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97,3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97]'/>

-          </requires>

-        </scope>

-      </patchScope>

-      <changes>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core' range='[3.4.2.v_883_R34x_20081108,3.4.2.v_883_R34x_20081108]'/>

-          </to>

-        </change>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core.manipulation' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core.manipulation' range='[1.2.0.v20081108,1.2.0.v20081108]'/>

-          </to>

-        </change>

-      </changes>

-      <lifeCycle>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.group' range='[3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97,3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97]' greedy='false'/>

-      </lifeCycle>

-      <update id='org.eclipse.jdt.feature.patch.feature.group' range='[0.0.0,1.0.0)' severity='0'/>

-      <properties size='5'>

-        <property name='org.eclipse.equinox.p2.name' value='JDT Patch Feature'/>

-        <property name='org.eclipse.equinox.p2.description' value='My Test Feature Patch'/>

-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>

-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>

-      </properties>

-      <provides size='1'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.patch.feature.group' version='1.0.0'/>

-      </provides>

-      <requires size='2'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.patch.feature.jar' range='[1.0.0,1.0.0]'>

-          <filter>

-            (org.eclipse.update.install.features=true)

-          </filter>

-        </required>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.group' range='[3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97,3.4.1.r341_v20080709-0800-7o7tEAfEF_U5qyUgrb2HAp539P97]' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <licenses size='1'>

-        <license url='http://www.example.com/license'>

-          [Enter License Description here.]

-        </license>

-      </licenses>

-      <copyright url='http://www.example.com/copyright'>

-        [Enter Copyright Description here.]

-      </copyright>

-    </unit>

-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='4'>

-          <instruction key='install'>

-            installBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='uninstall'>

-            uninstallBundle(bundle:${artifact})

-          </instruction>

-          <instruction key='unconfigure'>

-

-          </instruction>

-          <instruction key='configure'>

-            setStartLevel(startLevel:4);

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>

-      </requires>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <touchpoint id='null' version='0.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='install'>

-            installFeature(feature:${artifact},featureId:default,featureVersion:default)

-          </instruction>

-          <instruction key='uninstall'>

-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='config.a.jre' version='1.6.0' singleton='false'>

-      <hostRequirements size='1'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>

-      </hostRequirements>

-      <properties size='1'>

-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>

-      </properties>

-      <provides size='1'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>

-      </provides>

-      <requires size='1'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>

-      </requires>

-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='install'>

-

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='org.eclipse.jdt.feature.patch.feature.jar' version='1.0.0'>

-      <update id='org.eclipse.jdt.feature.patch.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>

-      <properties size='3'>

-        <property name='org.eclipse.equinox.p2.name' value='JDT Patch Feature'/>

-        <property name='org.eclipse.equinox.p2.description' value='My Test Feature Patch'/>

-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>

-      </properties>

-      <provides size='3'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.feature.patch.feature.jar' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>

-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.jdt.feature.patch' version='1.0.0'/>

-      </provides>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <artifacts size='1'>

-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.jdt.feature.patch' version='1.0.0'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-      <licenses size='1'>

-        <license url='http://www.example.com/license'>

-          [Enter License Description here.]

-        </license>

-      </licenses>

-      <copyright url='http://www.example.com/copyright'>

-        [Enter Copyright Description here.]

-      </copyright>

-    </unit>

-    <unit id='a.jre' version='1.6.0' singleton='false'>

-      <provides size='117'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>

-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>

-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>

-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>

-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>

-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>

-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>

-      </provides>

-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>

-    </unit>

-    <unit id='org.eclipse.jdt.core.manipulation' version='1.2.0.v20081108'>

-      <update id='org.eclipse.jdt.core.manipulation' range='[0.0.0,1.2.0.v20081108)' severity='0'/>

-      <properties size='4'>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.pluginName' value='Java Code Manipulation Functionality'/>

-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-      </properties>

-      <provides size='10'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core.manipulation' version='1.2.0.v20081108'/>

-        <provided namespace='osgi.bundle' name='org.eclipse.jdt.core.manipulation' version='1.2.0.v20081108'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.manipulation' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.refactoring' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.refactoring.descriptors' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.refactoring.participants' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.manipulation' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.refactoring.descriptors' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='5'>

-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.ltk.core.refactoring' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.jdt.core' range='[3.3.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='org.eclipse.jdt.core.manipulation' version='1.2.0.v20081108'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='manifest'>

-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ClassPath: org.eclipse.jdt.core.manipulation_1.2.0.v20080603-2000.jar&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.jdt.core.manipulation; singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.2.0.v20081108&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.jdt.core.manipulation,org.eclipse.jdt.core.refactoring,org.eclipse.jdt.core.refactoring.descriptors,org.eclipse.jdt.core.refactoring.participants,org.eclipse.jdt.internal.core.manipulation;x-internal:=true,org.eclipse.jdt.internal.core.refactoring.descriptors;x-internal:=true&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ltk.core.refactoring;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jdt.core;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;

-          </instruction>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='org.eclipse.jdt.core' version='3.4.2.v_883_R34x_20081108'>

-      <update id='org.eclipse.jdt.core' range='[0.0.0,3.4.2.v_883_R34x_20081108)' severity='0'/>

-      <properties size='4'>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.pluginName' value='Java Development Tools Core'/>

-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-      </properties>

-      <provides size='49'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core' version='3.4.2.v_883_R34x_20081108'/>

-        <provided namespace='osgi.bundle' name='org.eclipse.jdt.core' version='3.4.2.v_883_R34x_20081108'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.compiler' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.compiler.batch' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.dom.rewrite' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.eval' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.formatter' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.jdom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.search' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.core.util' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.codeassist' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.codeassist.complete' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.codeassist.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.codeassist.select' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.ast' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.batch' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.classfmt' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.codegen' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.env' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.flow' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.impl' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.lookup' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.parser' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.parser.diagnose' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.problem' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.compiler.util' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.builder' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.dom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.dom.rewrite' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.eval' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.hierarchy' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.index' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.jdom' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.search' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.search.indexing' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.search.matching' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.search.processing' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.core.util' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.eval' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.formatter' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.formatter.align' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.formatter.comment' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jdt.internal.formatter.old' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='5'>

-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.0.0,2.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.text' range='[3.1.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.team.core' range='[3.1.0,4.0.0)' optional='true'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='org.eclipse.jdt.core' version='3.4.2.v_883_R34x_20081108'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='2'>

-          <instruction key='manifest'>

-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %pluginName&#xA;Bundle-ClassPath: org.eclipse.jdt.core_3.4.2.v_883_R34x.jar&#xA;Require-Bundle: org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.text;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.team.core;bundle-version=&quot;[3.1.0,4.0.0)&quot;;resolution:=optional&#xA;Bundle-Activator: org.eclipse.jdt.core.JavaCore&#xA;Bundle-Vendor: %providerName&#xA;Main-Class: org.eclipse.jdt.internal.compiler.batch.Main&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.4.2.v_883_R34x_20081108&#xA;Eclipse-ExtensibleAPI: true&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.jdt.core,org.eclipse.jdt.core.compiler,org.eclipse.jdt.core.compiler.batch,org.eclipse.jdt.core.dom,org.eclipse.jdt.core.dom.rewrite,org.eclipse.jdt.core.eval,org.eclipse.jdt.core.formatter,org.eclipse.jdt.core.jdom,org.eclipse.jdt.core.search,org.eclipse.jdt.core.util,org.eclipse.jdt.internal.codeassist;x-internal:=true,org.eclipse.jdt.internal.codeassist.complete;x-internal:=true,org.eclipse.jdt.internal.codeassist.impl;x-internal:=true,org.eclipse.jdt.internal.codeassist.select;x-internal:=true,org.eclipse.jdt.internal.compiler;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.ast;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.batch;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.classfmt;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.codegen;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.env;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.flow;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.impl;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.lookup;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.parser;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.parser.diagnose;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.problem;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.compiler.util;x-friends:=&quot;org.eclipse.jdt.compiler.tool,org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.core;x-friends:=&quot;org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.core.builder;x-friends:=&quot;org.eclipse.jdt.apt.pluggable.core&quot;,org.eclipse.jdt.internal.core.dom;x-internal:=true,org.eclipse.jdt.internal.core.dom.rewrite;x-internal:=true,org.eclipse.jdt.internal.core.eval;x-internal:=true,org.eclipse.jdt.internal.core.hierarchy;x-internal:=true,org.eclipse.jdt.internal.core.index;x-internal:=true,org.eclipse.jdt.internal.core.jdom;x-internal:=true,org.eclipse.jdt.internal.core.search;x-internal:=true,org.eclipse.jdt.internal.core.search.indexing;x-internal:=true,org.eclipse.jdt.internal.core.search.matching;x-internal:=true,org.eclipse.jdt.internal.core.search.processing;x-internal:=true,org.eclipse.jdt.internal.core.util;x-internal:=true,org.eclipse.jdt.internal.eval;x-internal:=true,org.eclipse.jdt.internal.formatter;x-internal:=true,org.eclipse.jdt.internal.formatter.align;x-internal:=true,org.eclipse.jdt.internal.formatter.comment;x-internal:=true,org.eclipse.jdt.internal.formatter.old;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.jdt.core; singleton:=true&#xA;

-          </instruction>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-  </units>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233157854281.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233157854281.profile.gz
deleted file mode 100644
index d965dbc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233157854281.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233246815484.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233246815484.profile.gz
deleted file mode 100644
index 6146897..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug262580/Bug262580.profile/1233246815484.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug265577/zipRepo.zip b/bundles/org.eclipse.equinox.p2.tests/testData/bug265577/zipRepo.zip
deleted file mode 100644
index 31799be..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug265577/zipRepo.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/content.xml
deleted file mode 100644
index e2935b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/content.xml
+++ /dev/null
@@ -1,226 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository version='1.1.0'?>
-<repository name='file:/Users/Pascal/Downloads/hello.feature.2/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1239642015050'/>
-  </properties>
-  <units size='11'>
-    <unit id='hello' version='1.0.0.1' singleton='true'>
-      <update id='hello' range='[0.0.0,1.0.0.1)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Hello Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello' version='1.0.0.1'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-    </unit>
-    <unit id='hello.feature.1.feature.group' version='1.0.0' singleton='false'>
-      <update id='hello.feature.1.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='1 Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='hello.patch.feature.jar' version='1.0.0'>
-      <update id='hello.patch.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Patch Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.patch.feature.jar' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='hello.feature.2.feature.group' version='1.0.0' singleton='false'>
-      <update id='hello.feature.2.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='2 Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.feature.2.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello' range='[1.0.2,1.0.2]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello.feature.2.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='hello.feature.1.feature.jar' version='1.0.0'>
-      <update id='hello.feature.1.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='1 Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='hello.feature.1' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='hello' version='1.0.2' singleton='true'>
-      <update id='hello' range='[0.0.0,1.0.2)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Hello Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello' version='1.0.2'/>
-        <provided namespace='osgi.bundle' name='hello' version='1.0.2'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-    </unit>
-    <unit id='hello' version='1.0.0' singleton='true'>
-      <update id='hello' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Hello Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='hello' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-    </unit>
-    <unit id='hello.patch.feature.group' version='1.0.0' singleton='false'>
-      <patchScope>
-        <scope>
-          <requires size='1'>
-            <required namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.group' range='[1.0.0,1.0.0]'/>
-          </requires>
-        </scope>
-      </patchScope>
-      <changes>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='hello' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='hello' range='[1.0.0.1,1.0.0.1]'/>
-          </to>
-        </change>
-      </changes>
-      <lifeCycle>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.group' range='[1.0.0,1.0.0]' greedy='false'/>
-      </lifeCycle>
-      <update id='hello.patch.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>
-        <property name='org.eclipse.equinox.p2.name' value='Patch Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.patch.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello.patch.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='hello.feature.1.feature.group' range='[1.0.0,1.0.0]' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='hello.feature.2.feature.jar' version='1.0.0'>
-      <update id='hello.feature.2.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='2 Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='hello.feature.2.feature.jar' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license' url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright' url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/profileRegistry/bootProfile.profile/1239159926745.profile b/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/profileRegistry/bootProfile.profile/1239159926745.profile
deleted file mode 100644
index 1a449b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug271067/profileRegistry/bootProfile.profile/1239159926745.profile
+++ /dev/null
@@ -1,8161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?profile class='org.eclipse.equinox.internal.p2.engine.Profile' version='0.0.2'?>
-<profile id='bootProfile' timestamp='1239159926745'>
-  <properties size='7'>
-    <property name='org.eclipse.equinox.p2.environments' value='osgi.ws=win32,osgi.os=win32,osgi.arch=x86'/>
-    <property name='org.eclipse.equinox.p2.flavor' value='tooling'/>
-    <property name='org.eclipse.update.install.features' value='true'/>
-    <property name='org.eclipse.equinox.p2.installFolder' value='C:\Program Files\IBM\Hello1'/>
-    <property name='eclipse.touchpoint.launcherName' value='eclipse'/>
-  </properties>
-  <units size='165'>
-    <unit id='org.eclipse.equinox.jsp.jasper' version='1.0.100.v20080427-0830' singleton='false'>
-      <update id='org.eclipse.equinox.jsp.jasper' range='[0.0.0,1.0.100.v20080427-0830)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Jasper Jsp Support Bundle'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.jsp.jasper_1.0.100.v20080427-0830.jar'/>
-        <property name='file.lastModified' value='1239159893792'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.jsp.jasper' version='1.0.100.v20080427-0830'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.jsp.jasper' version='1.0.100.v20080427-0830'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.jsp.jasper' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
-        <required namespace='java.package' name='org.apache.jasper.servlet' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.http' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.1'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.jsp.jasper' version='1.0.100.v20080427-0830'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.100.v20080427-0830&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.jsp;version=&quot;2.0&quot;,org.apache.jasper.servlet,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.http;version=&quot;1.2.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.util.tracker;version=&quot;1.3.1&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.jsp.jasper.Activator&#xA;Bundle-Vendor: %providerName&#xA;Export-Package: org.eclipse.equinox.jsp.jasper;version=&quot;1.0.0&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.osgi.util' version='3.1.300.v20080303' singleton='false'>
-      <update id='org.eclipse.osgi.util' range='[0.0.0,3.1.300.v20080303)' severity='0'/>
-      <properties size='9'>
-        <property name='df_LT.osgiUtilDes' value='OSGi Service Platform Release 4.0.1 Utility Classes'/>
-        <property name='df_LT.eclipse.org' value='Eclipse.org'/>
-        <property name='df_LT.osgiUtil' value='OSGi Release 4.0.1 Utility Classes'/>
-        <property name='org.eclipse.equinox.p2.name' value='%osgiUtil'/>
-        <property name='org.eclipse.equinox.p2.description' value='%osgiUtilDes'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.contact' value='www.eclipse.org'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.osgi.util_3.1.300.v20080303.jar'/>
-        <property name='file.lastModified' value='1239159885339'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi.util' version='3.1.300.v20080303'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.osgi.util' version='3.1.300.v20080303'/>
-        <provided namespace='java.package' name='org.osgi.util.measurement' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.util.position' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.util.xml' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='java.package' name='org.osgi.framework' range='1.1.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.osgi.util' version='3.1.300.v20080303'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %osgiUtil&#xA;Bundle-DocUrl: http://www.eclipse.org&#xA;Bundle-Version: 3.1.300.v20080303&#xA;Import-Package: org.osgi.framework; version=1.1,javax.xml.parsers; resolution:=optional&#xA;Bundle-Vendor: %eclipse.org&#xA;Export-Package: org.osgi.util.measurement; version=&quot;1.0&quot;,org.osgi.util.position; version=&quot;1.0&quot;,org.osgi.util.xml; version=&quot;1.0&quot;&#xA;Bundle-Copyright: %copyright&#xA;Bundle-SymbolicName: org.eclipse.osgi.util&#xA;Manifest-Version: 1.0&#xA;Bundle-Description: %osgiUtilDes&#xA;Bundle-ContactAddress: www.eclipse.org&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.0&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.simpleconfigurator' range='1.0.0.v20080604'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.simpleconfigurator' range='1.0.0.v20080604'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:1);markStarted(started: true);
-          </instruction>
-          <instruction key='unconfigure'>
-            setStartLevel(startLevel:-1);markStarted(started: false);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.launcher_eclipse.exe' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe' range='1.0.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.launcher_eclipse.exe' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe' range='1.0.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            cleanupzip(source:@artifact, target:${installFolder});
-          </instruction>
-          <instruction key='install'>
-            unzip(source:@artifact, target:${installFolder});
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.runtime' version='3.4.0.v20080512'>
-      <update id='org.eclipse.core.runtime' range='[0.0.0,3.4.0.v20080512)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core Runtime'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime' version='3.4.0.v20080512'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.runtime' version='3.4.0.v20080512'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.preferences.legacy' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime' version='3.4.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.jobs' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.preferences' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.contenttype' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime.compatibility.auth' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.app' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.core.internal.runtime.auth' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.runtime' version='3.4.0.v20080512'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 3.4.0.v20080512&#xA;DynamicImport-Package: org.eclipse.core.internal.runtime.auth&#xA;Bundle-Activator: org.eclipse.core.internal.runtime.PlatformActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.osgi;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.jobs;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.equinox.registry;bundle-version=&quot;[3.4.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.equinox.preferences;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.contenttype;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.runtime.compatibility.auth;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.equinox.app;bundle-version=&quot;[1.0.0,2.0.0)&quot;;visibility:=reexport&#xA;Export-Package: org.eclipse.core.internal.preferences.legacy;x-internal:=true,org.eclipse.core.internal.runtime;x-friends:=&quot;org.eclipse.core.runtime.compatibility&quot;,org.eclipse.core.runtime;version=&quot;3.4.0&quot;&#xA;Bundle-SymbolicName: org.eclipse.core.runtime; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0.v20080427-0830' singleton='false'>
-      <update id='org.eclipse.equinox.jsp.jasper.registry' range='[0.0.0,1.0.0.v20080427-0830)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Jasper Jsp Registry Support Plug-in'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20080427-0830.jar'/>
-        <property name='file.lastModified' value='1239159893870'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0.v20080427-0830'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0.v20080427-0830'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.jsp.jasper' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.0'/>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0.v20080427-0830'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %bundleName&#xA;Require-Bundle: org.eclipse.equinox.registry,org.eclipse.equinox.common&#xA;Bundle-Activator: org.eclipse.equinox.internal.jsp.jasper.registry.Activator&#xA;Bundle-Vendor: %providerName&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 1.0.0.v20080427-0830&#xA;Bundle-Localization: plugin&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Export-Package: org.eclipse.equinox.jsp.jasper.registry;version=&quot;1.0.0&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper.registry&#xA;Import-Package: org.eclipse.equinox.jsp.jasper,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.util.tracker;version=&quot;1.3.0&quot;,javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.net' version='1.1.0.I20080604'>
-      <update id='org.eclipse.core.net' range='[0.0.0,1.1.0.I20080604)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.PLUGIN_NAME' value='Internet Connection Management'/>
-        <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net' version='1.1.0.I20080604'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.net' version='1.1.0.I20080604'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.net.proxy' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.security' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.preferences' range='3.2.200'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='3.4.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='3.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.net' version='1.1.0.I20080604'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Export-Package: org.eclipse.core.internal.net;x-internal:=true,org.eclipse.core.net.proxy&#xA;Bundle-Activator: org.eclipse.core.internal.net.Activator&#xA;Bundle-SymbolicName: org.eclipse.core.net;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %PLUGIN_PROVIDER&#xA;Bundle-Name: %PLUGIN_NAME&#xA;Bundle-Version: 1.1.0.I20080604&#xA;Require-Bundle: org.eclipse.equinox.security;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;3.4.0&quot;,org.eclipse.equinox.preferences;bundle-version=&quot;3.2.200&quot;,org.eclipse.osgi;bundle-version=&quot;3.4.0&quot;,org.eclipse.equinox.registry;bundle-version=&quot;3.4.0&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ltk.core.refactoring' version='3.4.2.r342_v20081028-0800'>
-      <update id='org.eclipse.ltk.core.refactoring' range='[0.0.0,3.4.2.r342_v20081028-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Refactoring Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ltk.core.refactoring_3.4.2.r342_v20081028-0800.jar'/>
-        <property name='file.lastModified' value='1239159885026'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ltk.core.refactoring' version='3.4.2.r342_v20081028-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ltk.core.refactoring' version='3.4.2.r342_v20081028-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.core.refactoring' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.core.refactoring.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.core.refactoring.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.core.refactoring.participants' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.core.refactoring.resource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.core.refactoring' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.core.refactoring.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.core.refactoring.resource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.core.refactoring.resource.undostates' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filebuffers' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.commands' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ltk.core.refactoring' version='3.4.2.r342_v20081028-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ltk.core.refactoring; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.2.r342_v20081028-0800&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ltk.core.refactoring,org.eclipse.ltk.core.refactoring.history,org.eclipse.ltk.core.refactoring.model,org.eclipse.ltk.core.refactoring.participants,org.eclipse.ltk.core.refactoring.resource,org.eclipse.ltk.internal.core.refactoring;x-friends:=&quot;org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.core.refactoring.tests&quot;,org.eclipse.ltk.internal.core.refactoring.history;x-friends:=&quot;org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.core.refactoring.tests&quot;,org.eclipse.ltk.internal.core.refactoring.resource;x-friends:=&quot;org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.core.refactoring.tests&quot;,org.eclipse.ltk.internal.core.refactoring.resource.undostates;x-internal:=true&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.core.filebuffers;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.commands;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604'>
-      <update id='org.eclipse.equinox.simpleconfigurator' range='[0.0.0,1.0.0.v20080604)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Simple Configurator'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.configurator' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.console' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.2.0' optional='true'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.service.startlevel' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.simpleconfigurator' version='1.0.0.v20080604'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Export-Package: org.eclipse.equinox.internal.provisional.configurator;x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.ui&quot;&#xA;Eclipse-LazyStart: true&#xA;Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.Activator&#xA;Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.0.v20080604&#xA;Import-Package: org.eclipse.osgi.framework.console;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.service.resolver;version=&quot;1.2.0&quot;;resolution:=optional,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.service.startlevel;version=&quot;1.0.0&quot;,org.osgi.util.tracker;version=&quot;1.3.0&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.rcp.feature.jar' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'>
-      <update id='org.eclipse.rcp.feature.jar' range='[0.0.0,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.update.feature.plugin' value='org.eclipse.rcp'/>
-        <property name='df_LT.featureName' value='Eclipse RCP'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2000, 2007 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Rich Client Platform'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.rcp_3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-        <property name='file.lastModified' value='1239159915714'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.jar' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.rcp' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.rcp' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.core.expressions' version='3.4.2.r342_v20090313'>
-      <update id='org.eclipse.core.expressions' range='[0.0.0,3.4.2.r342_v20090313)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Expression Language'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.expressions_3.4.2.r342_v20090313.jar'/>
-        <property name='file.lastModified' value='1239159900714'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.expressions' version='3.4.2.r342_v20090313'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.expressions' version='3.4.2.r342_v20090313'/>
-        <provided namespace='java.package' name='org.eclipse.core.expressions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.expressions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.expressions.propertytester' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.expressions.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.expressions' version='3.4.2.r342_v20090313'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.4.2.r342_v20090313&#xA;Import-Package: org.w3c.dom&#xA;Bundle-Activator: org.eclipse.core.internal.expressions.ExpressionPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.core.expressions,org.eclipse.core.internal.expressions;x-internal:=true,org.eclipse.core.internal.expressions.propertytester;x-internal:=true,org.eclipse.core.internal.expressions.util;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.core.expressions; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.update.core.win32' version='3.2.100.v20080107' singleton='false'>
-      <update id='org.eclipse.update.core.win32' range='[0.0.0,3.2.100.v20080107)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentNameWin'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.update.core.win32_3.2.100.v20080107.jar'/>
-        <property name='file.lastModified' value='1239159890870'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.core.win32' version='3.2.100.v20080107'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.update.core.win32' version='3.2.100.v20080107'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.update.core' version='3.2.100.v20080107'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.update.core' range='[3.0.0,4.0.0)'/>
-      </requires>
-      <filter>
-        (osgi.os=win32)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.update.core.win32' version='3.2.100.v20080107'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %fragmentNameWin&#xA;Bundle-Version: 3.2.100.v20080107&#xA;Fragment-Host: org.eclipse.update.core;bundle-version=&quot;[3.0.0,4.0.0)&quot;&#xA;Eclipse-PlatformFilter: (osgi.os=win32)&#xA;Bundle-SymbolicName: org.eclipse.update.core.win32&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.databinding' version='1.1.1.M20080827-0800b' singleton='false'>
-      <update id='org.eclipse.core.databinding' range='[0.0.0,1.1.1.M20080827-0800b)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JFace Data Binding'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.databinding_1.1.1.M20080827-0800b.jar'/>
-        <property name='file.lastModified' value='1239159900386'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.databinding' version='1.1.1.M20080827-0800b'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.databinding' version='1.1.1.M20080827-0800b'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.conversion' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable.list' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable.map' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable.masterdetail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable.set' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.observable.value' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.conversion' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.observable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.observable.masterdetail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.observable.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.validation' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='[1.4.0,2.0.0)' optional='true'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='[1.3.3,2.0.0)' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='[1.0.0,2.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.databinding' version='1.1.1.M20080827-0800b'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.core.internal.databinding.Activator&#xA;Bundle-Vendor: %providerName&#xA;Import-Package-Comment: see http://wiki.eclipse.org/&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 1.1.1.M20080827-0800b&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.core.databinding,org.eclipse.core.databinding.conversion;x-internal:=false,org.eclipse.core.databinding.observable,org.eclipse.core.databinding.observable.list;x-internal:=false,org.eclipse.core.databinding.observable.map,org.eclipse.core.databinding.observable.masterdetail,org.eclipse.core.databinding.observable.set;x-internal:=false,org.eclipse.core.databinding.observable.value;x-internal:=false,org.eclipse.core.databinding.util,org.eclipse.core.databinding.validation;x-internal:=false,org.eclipse.core.internal.databinding;x-friends:=&quot;org.eclipse.core.databinding.beans&quot;,org.eclipse.core.internal.databinding.conversion;x-friends:=&quot;org.eclipse.jface.tests.databinding&quot;,org.eclipse.core.internal.databinding.observable;x-internal:=true,org.eclipse.core.internal.databinding.observable.masterdetail;x-friends:=&quot;org.eclipse.jface.tests.databinding&quot;,org.eclipse.core.internal.databinding.observable.tree;x-friends:=&quot;org.eclipse.jface.databinding,org.eclipse.jface.tests.databinding&quot;,org.eclipse.core.internal.databinding.validation;x-friends:=&quot;org.eclipse.jface.tests.databinding&quot;&#xA;Bundle-SymbolicName: org.eclipse.core.databinding&#xA;Import-Package: com.ibm.icu.text,org.osgi.framework;version=&quot;[1.4.0,2.0.0)&quot;;resolution:=optional,org.osgi.util.tracker;version=&quot;[1.3.3,2.0.0)&quot;;resolution:=optional,org.eclipse.osgi.framework.log;version=&quot;[1.0.0,2.0.0)&quot;;resolution:=optional&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.filesystem.win32.x86' version='1.1.0.v20080604-1400'>
-      <update id='org.eclipse.core.filesystem.win32.x86' range='[0.0.0,1.1.0.v20080604-1400)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.fragmentName' value='Core File System for Windows'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400.jar'/>
-        <property name='file.lastModified' value='1239159882589'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.win32.x86' version='1.1.0.v20080604-1400'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.filesystem.win32.x86' version='1.1.0.v20080604-1400'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.core.filesystem' version='1.1.0.v20080604-1400'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.filesystem.win32.x86' version='1.1.0.v20080604-1400'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Version: 1.1.0.v20080604-1400&#xA;Fragment-Host: org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;&#xA;Eclipse-PlatformFilter: (&amp; (osgi.os=win32) (osgi.arch=x86))&#xA;Bundle-SymbolicName: org.eclipse.core.filesystem.win32.x86; singleton:=true&#xA;Bundle-Localization: fragment&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.filesystem' version='1.2.0.v20080604-1400'>
-      <update id='org.eclipse.core.filesystem' range='[0.0.0,1.2.0.v20080604-1400)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core File Systems'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.filesystem_1.2.0.v20080604-1400.jar'/>
-        <property name='file.lastModified' value='1239159882495'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem' version='1.2.0.v20080604-1400'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.filesystem' version='1.2.0.v20080604-1400'/>
-        <provided namespace='java.package' name='org.eclipse.core.filesystem' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.filesystem.provider' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.filesystem' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.filesystem.local' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.filesystem' version='1.2.0.v20080604-1400'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.core.filesystem,org.eclipse.core.filesystem.provider,org.eclipse.core.internal.filesystem;x-internal:=true,org.eclipse.core.internal.filesystem.local;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.osgi&#xA;Bundle-Activator: org.eclipse.core.internal.filesystem.Activator&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.2.0.v20080604-1400&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.filesystem; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.console' version='1.0.0.v20080514-1900'>
-      <update id='org.eclipse.equinox.p2.console' range='[0.0.0,1.0.0.v20080514-1900)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Console'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.console_1.0.0.v20080514-1900.jar'/>
-        <property name='file.lastModified' value='1239159896370'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.console' version='1.0.0.v20080514-1900'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.console' version='1.0.0.v20080514-1900'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.console' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='17'>
-        <required namespace='java.package' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.configurator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.console' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.4.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.console' version='1.0.0.v20080514-1900'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.equinox.internal.p2.console;x-friends:=&quot;org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.tools&quot;&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.console.Activator&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.0.v20080514-1900&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.console;singleton:=true&#xA;Import-Package: org.eclipse.core.runtime;common=split,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.provisional.configurator,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.osgi.framework.console;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.service.environment;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.4.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.user.ui.feature.group' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267' singleton='false'>
-      <update id='org.eclipse.equinox.p2.user.ui.feature.group' range='[0.0.0,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Equinox p2 Provisioning'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Eclipse Provisioning Platform'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.equinox.p2.user.ui_1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-        <property name='file.lastModified' value='1239159909870'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='35'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director' range='[1.0.4.v20081112-1019,1.0.4.v20081112-1019]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.core' range='[1.0.4.v20081112-1019,1.0.4.v20081112-1019]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.engine' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.jarprocessor' range='[1.0.0.v20080514-1900,1.0.0.v20080514-1900]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata' range='[1.0.0.v20080514-1900,1.0.0.v20080514-1900]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.repository' range='[1.0.0.v20080604,1.0.0.v20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.artifact.repository' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.filetransfer' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.identity' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.exemplarysetup' range='[1.0.0.v20080427-2136,1.0.0.v20080427-2136]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.eclipse' range='[1.0.2.v20081119-1055,1.0.2.v20081119-1055]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.natives' range='[1.0.0.v20080505-1850,1.0.0.v20080505-1850]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin' range='[1.0.2.R34x_v20081007,1.0.2.R34x_v20081007]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin.equinox' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.console' range='[1.0.0.v20080514-1900,1.0.0.v20080514-1900]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator.manipulator' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.ui' range='[1.0.4.R34x_v20090123,1.0.4.R34x_v20090123]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.ui.sdk' range='[1.0.1.R34x_v20081029,1.0.1.R34x_v20081029]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.updatechecker' range='[1.0.0.v20080427-2136,1.0.0.v20080427-2136]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.garbagecollector' range='[1.0.1.R34x_v20080818,1.0.1.R34x_v20080818]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.directorywatcher' range='[1.0.2.v20080806-1619,1.0.2.v20080806-1619]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.reconciler.dropins' range='[1.0.4.v20081027-2115,1.0.4.v20081027-2115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.generator' range='[1.0.4.v20081217,1.0.4.v20081217]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.updatesite' range='[1.0.1.R34x_v20080808-1156,1.0.1.R34x_v20080808-1156]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.core' range='[2.0.3.v20081021,2.0.3.v20081021]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.pb' range='[2.0.3.v20081021,2.0.3.v20081021]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security' range='[1.0.1.R34x_v20080721,1.0.1.R34x_v20080721]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.ui' range='[1.0.0.v20080603-1810,1.0.0.v20080603-1810]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.extensionlocation' range='[1.0.4.v20081027-2115,1.0.4.v20081027-2115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer.ssl' range='[1.0.0.v20080611-1715,1.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.ssl' range='[1.0.0.v20080611-1715,1.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director.app' range='[1.0.1.R34x_v20080729,1.0.1.R34x_v20080729]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.jar' range='[1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.sat4j.core' version='2.0.3.v20081021' singleton='false'>
-      <update id='org.sat4j.core' range='[0.0.0,2.0.3.v20081021)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='SAT4J Core'/>
-        <property name='df_LT.providerName' value='CRIL CNRS UMR 8188 - Universite d&apos;Artois'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='19'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.core' version='2.0.3.v20081021'/>
-        <provided namespace='osgi.bundle' name='org.sat4j.core' version='2.0.3.v20081021'/>
-        <provided namespace='java.package' name='org.sat4j' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints.card' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints.cnf' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.learning' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.orders' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.restarts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.uip' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.opt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.reader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.specs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.tools' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.sat4j.core' version='2.0.3.v20081021'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Built-By: Daniel Le Berre&#xA;Main-Class: org.sat4j.BasicLauncher&#xA;Created-By: 10.0-b22 (Sun Microsystems Inc.)&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Implementation-Title: SAT4J&#xA;Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d&apos;Artois&#xA;Specification-Vendor: Daniel Le Berre&#xA;Bundle-Name: %bundleName&#xA;Bundle-Version: 2.0.3.v20081021&#xA;Specification-Version: NA&#xA;Export-Package: org.sat4j,org.sat4j.core,org.sat4j.minisat,org.sat4j.minisat.constraints,org.sat4j.minisat.constraints.card,org.sat4j.minisat.constraints.cnf,org.sat4j.minisat.core,org.sat4j.minisat.learning,org.sat4j.minisat.orders,org.sat4j.minisat.restarts,org.sat4j.minisat.uip,org.sat4j.opt,org.sat4j.reader,org.sat4j.specs,org.sat4j.tools&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Bundle-SymbolicName: org.sat4j.core&#xA;Specification-Title: SAT4J&#xA;Ant-Version: Apache Ant 1.7.1&#xA;Implementation-Version: 2.0
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.base' version='3.3.103.v20090128_34x'>
-      <update id='org.eclipse.help.base' range='[0.0.0,3.3.103.v20090128_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.help_base_plugin_name' value='Help System Base'/>
-        <property name='org.eclipse.equinox.p2.name' value='%help_base_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.help.base_3.3.103.v20090128_34x.jar'/>
-        <property name='file.lastModified' value='1239159893964'/>
-      </properties>
-      <provides size='21'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.base' version='3.3.103.v20090128_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.help.base' version='3.3.103.v20090128_34x'/>
-        <provided namespace='java.package' name='org.apache.lucene.demo.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.base' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.base.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.base.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.browser.macosx' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.protocols' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.search.federated' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.server' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.standalone' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.workingset' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.xhtml' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.standalone' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.apache.lucene' range='[1.9.1,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.lucene.analysis' range='[1.9.1,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ant.core' range='3.1.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='3.3.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.http.jetty' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.help.base' version='3.3.103.v20090128_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %help_base_plugin_name&#xA;Bundle-Activator: org.eclipse.help.internal.base.HelpBasePlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.help.base; singleton:=true&#xA;Import-Package: com.ibm.icu.text,org.eclipse.equinox.http.jetty;resolution:=optional&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.3.103.v20090128_34x&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.apache.lucene.demo.html;x-internal:=true,org.eclipse.help.browser,org.eclipse.help.internal.base;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.base.remote;x-friends:=&quot;org.eclipse.ua.tests,org.eclipse.help.webapp,org.eclipse.help.ui&quot;,org.eclipse.help.internal.base.util;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.browser;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.browser.macosx;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.protocols;x-friends:=&quot;org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.search;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.search.federated;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.server;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.standalone;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.validation;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.workingset;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.xhtml;x-friends:=&quot;org.eclipse.help.ui,org.eclipse.ua.tests,org.eclipse.ui.intro,org.eclipse.help.webapp&quot;,org.eclipse.help.search,org.eclipse.help.standalone&#xA;Require-Bundle: org.apache.lucene;bundle-version=&quot;[1.9.1,2.0.0)&quot;;visibility:=reexport,org.apache.lucene.analysis;bundle-version=&quot;[1.9.1,2.0.0)&quot;;visibility:=reexport,org.eclipse.ant.core;bundle-version=&quot;3.1.0&quot;;resolution:=optional,org.eclipse.core.runtime;bundle-version=&quot;3.3.0&quot;,org.eclipse.help;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.security' version='1.0.1.R34x_v20080721'>
-      <update id='org.eclipse.equinox.security' range='[0.0.0,1.0.1.R34x_v20080721)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Java Authentication and Authorization Service (JAAS)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security' version='1.0.1.R34x_v20080721'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.security' version='1.0.1.R34x_v20080721'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.auth.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.auth.ext.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.auth.nls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.credentials' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.storage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.storage.friends' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.security.auth' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.security.auth.credentials' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.security.auth.module' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.security.storage' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.security.storage.provider' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='java.package' name='javax.crypto' range='0.0.0'/>
-        <required namespace='java.package' name='javax.crypto.spec' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.auth' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.auth.callback' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.auth.login' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.auth.spi' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.internal.runtime' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.preferences' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='org.osgi.framework' range='[1.4.0,2.0.0)'/>
-        <required namespace='java.package' name='org.osgi.service.prefs' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='[1.3.3,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.security' version='1.0.1.R34x_v20080721'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Export-Package: org.eclipse.equinox.internal.security.auth;x-internal:=true,org.eclipse.equinox.internal.security.auth.events;x-internal:=true,org.eclipse.equinox.internal.security.auth.ext.loader;x-internal:=true,org.eclipse.equinox.internal.security.auth.nls;x-internal:=true,org.eclipse.equinox.internal.security.credentials;x-internal:=true,org.eclipse.equinox.internal.security.storage;x-internal:=true,org.eclipse.equinox.internal.security.storage.friends;version=&quot;1.0.0&quot;;x-friends:=&quot;org.eclipse.equinox.security.ui&quot;,org.eclipse.equinox.security.auth;version=&quot;1.0.0&quot;,org.eclipse.equinox.security.auth.credentials;version=&quot;1.0.0&quot;,org.eclipse.equinox.security.auth.module;version=&quot;1.0.0&quot;,org.eclipse.equinox.security.storage;version=&quot;1.0.0&quot;,org.eclipse.equinox.security.storage.provider;version=&quot;1.0.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.security.auth.AuthPlugin&#xA;Bundle-SymbolicName: org.eclipse.equinox.security;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.1.R34x_v20080721&#xA;Import-Package: javax.crypto,javax.crypto.spec,javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.eclipse.core.internal.runtime;common=split,org.eclipse.core.runtime;registry=split,org.eclipse.core.runtime.jobs,org.eclipse.core.runtime.preferences,org.eclipse.osgi.framework.log;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.service.datalocation;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.service.debug;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.service.environment;version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.osgi.util;version=&quot;[1.1.0,2.0.0)&quot;,org.osgi.framework;version=&quot;[1.4.0,2.0.0)&quot;,org.osgi.service.prefs;version=&quot;[1.1.0,2.0.0)&quot;,org.osgi.util.tracker;version=&quot;[1.3.3,2.0.0)&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.databinding.beans' version='1.1.1.M20080827-0800a' singleton='false'>
-      <update id='org.eclipse.core.databinding.beans' range='[0.0.0,1.1.1.M20080827-0800a)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JFace Data Binding for JavaBeans'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.databinding.beans_1.1.1.M20080827-0800a.jar'/>
-        <property name='file.lastModified' value='1239159900542'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.databinding.beans' version='1.1.1.M20080827-0800a'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.databinding.beans' version='1.1.1.M20080827-0800a'/>
-        <provided namespace='java.package' name='org.eclipse.core.databinding.beans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.databinding.beans' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.databinding' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.databinding.beans' version='1.1.1.M20080827-0800a'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-ClassPath: .&#xA;Require-Bundle: org.eclipse.core.databinding;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.core.databinding.beans&#xA;Bundle-Version: 1.1.1.M20080827-0800a&#xA;Export-Package: org.eclipse.core.databinding.beans,org.eclipse.core.internal.databinding.beans;x-internal:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.user.ui.feature.jar' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'>
-      <update id='org.eclipse.equinox.p2.user.ui.feature.jar' range='[0.0.0,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267)' severity='0'/>
-      <properties size='10'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='Equinox p2 Provisioning'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Eclipse Provisioning Platform'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.equinox.p2.user.ui_1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-        <property name='file.lastModified' value='1239159909870'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.jar' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.equinox.p2.user.ui' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.equinox.p2.user.ui' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.user.ui.R342patch.feature.group' version='1.0.1' singleton='false'>
-      <patchScope>
-        <scope>
-          <requires size='1'>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' range='[1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267]'/>
-          </requires>
-        </scope>
-      </patchScope>
-      <changes>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator.manipulator' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator.manipulator' range='[1.0.4.v20090218,1.0.4.v20090218]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director' range='[1.0.5.v20090309-0952,1.0.5.v20090309-0952]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.reconciler.dropins' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.reconciler.dropins' range='[1.0.5.v20090307-1115,1.0.5.v20090307-1115]'/>
-          </to>
-        </change>
-      </changes>
-      <lifeCycle>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' range='[1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267]' greedy='false'/>
-      </lifeCycle>
-      <update id='org.eclipse.equinox.p2.user.ui.R342patch.feature.group' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>
-        <property name='df_LT.featureName' value='Equinox P2 User UI Patch (bugzillas 265340, 267141 and 267518)'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='This patch contains the fix for bugzillas 265340, 267141 and 267518.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.equinox.p2.user.ui.R342patch_1.0.1'/>
-        <property name='file.lastModified' value='1239159909776'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.R342patch.feature.group' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.R342patch.feature.jar' range='[1.0.1,1.0.1]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' range='[1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267]' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        Copyright (c) 2000, 2008 IBM Corporation and others.
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.workbench.compatibility' version='3.2.0.I20080509-2000' singleton='false'>
-      <update id='org.eclipse.ui.workbench.compatibility' range='[0.0.0,3.2.0.I20080509-2000)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.fragmentName' value='Workbench Compatibility'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.workbench.compatibility_3.2.0.I20080509-2000'/>
-        <property name='file.lastModified' value='1239159908839'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench.compatibility' version='3.2.0.I20080509-2000'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.workbench.compatibility' version='3.2.0.I20080509-2000'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.ui.workbench' version='3.2.0.I20080509-2000'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench' range='[3.0.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.workbench.compatibility' version='3.2.0.I20080509-2000'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-ClassPath: compatibility.jar&#xA;Require-Bundle: org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Localization: fragment-compatibility&#xA;Manifest-Version: 1.0&#xA;Fragment-Host: org.eclipse.ui.workbench;bundle-version=&quot;[3.0.0,4.0.0)&quot;&#xA;Bundle-SymbolicName: org.eclipse.ui.workbench.compatibility&#xA;Bundle-Version: 3.2.0.I20080509-2000&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.runtime.compatibility' version='3.2.0.v20071008'>
-      <update id='org.eclipse.core.runtime.compatibility' range='[0.0.0,3.2.0.v20071008)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core Runtime Plug-in Compatibility'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.runtime.compatibility_3.2.0.v20071008.jar'/>
-        <property name='file.lastModified' value='1239159893292'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility' version='3.2.0.v20071008'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.runtime.compatibility' version='3.2.0.v20071008'/>
-        <provided namespace='java.package' name='org.eclipse.core.boot' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.boot' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.compatibility' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.plugins' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.model' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.100,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.runtime.compatibility' version='3.2.0.v20071008'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.core.internal.plugins.CompatibilityActivator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.runtime.compatibility; singleton:=true&#xA;Import-Package: javax.xml.parsers,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.2.0.v20071008&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.core.boot,org.eclipse.core.internal.boot;x-internal:=true,org.eclipse.core.internal.compatibility;x-internal:=true,org.eclipse.core.internal.model;x-internal:=true,org.eclipse.core.internal.plugins;x-internal:=true,org.eclipse.core.runtime.model&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.update.configurator;bundle-version=&quot;[3.1.100,4.0.0)&quot;;visibility:=reexport&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.swt' version='3.4.2.v3452b'>
-      <update id='org.eclipse.swt' range='[0.0.0,3.4.2.v3452b)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Standard Widget Toolkit'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.swt_3.4.2.v3452b.jar'/>
-        <property name='file.lastModified' value='1239159903855'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt' version='3.4.2.v3452b'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.swt' version='3.4.2.v3452b'/>
-        <provided namespace='java.package' name='org.eclipse.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.awt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.custom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.dnd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.graphics' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.layout' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.opengl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.printing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.program' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.widgets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.theme' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='java.package' name='org.mozilla.xpcom' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.swt' version='3.4.2.v3452b'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Eclipse-ExtensibleAPI: true&#xA;Manifest-Version: 1.0&#xA;DynamicImport-Package: org.mozilla.xpcom&#xA;Bundle-SymbolicName: org.eclipse.swt; singleton:=true&#xA;Bundle-Version: 3.4.2.v3452b&#xA;Export-Package: org.eclipse.swt,org.eclipse.swt.accessibility,org.eclipse.swt.awt,org.eclipse.swt.browser,org.eclipse.swt.custom,org.eclipse.swt.dnd,org.eclipse.swt.events,org.eclipse.swt.graphics,org.eclipse.swt.layout,org.eclipse.swt.opengl,org.eclipse.swt.printing,org.eclipse.swt.program,org.eclipse.swt.widgets,org.eclipse.swt.internal; x-internal:=true,org.eclipse.swt.internal.image; x-internal:=true,org.eclipse.swt.internal.theme; x-internal:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.launcher' range='1.0.101.R34x_v20081125'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.launcher' range='1.0.101.R34x_v20081125'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);
-          </instruction>
-          <instruction key='unconfigure'>
-            removeProgramArg(programArg:-startup);removeProgramArg(programArg:@artifact);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf.provider.filetransfer.ssl' version='1.0.0.v20080611-1715' singleton='false'>
-      <update id='org.eclipse.ecf.provider.filetransfer.ssl' range='[0.0.0,1.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='ECF Filetransfer SSL Fragment'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer.ssl' version='1.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf.provider.filetransfer.ssl' version='1.0.0.v20080611-1715'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.ecf.provider.filetransfer' version='1.0.0.v20080611-1715'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.provider.filetransfer' range='2.0.0'/>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf.provider.filetransfer.ssl' version='1.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Fragment-Host: org.eclipse.ecf.provider.filetransfer;bundle-version=&quot;2.0.0&quot;&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.ssl&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %plugin.provider&#xA;Bundle-Name: %plugin.name&#xA;Bundle-Version: 1.0.0.v20080611-1715&#xA;Import-Package: javax.net.ssl
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.rcp.R342patch.feature.group' version='1.0.0' singleton='false'>
-      <patchScope>
-        <scope>
-          <requires size='1'>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.group' range='[3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63]'/>
-          </requires>
-        </scope>
-      </patchScope>
-      <changes>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.expressions' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.expressions' range='[3.4.2.r342_v20090313,3.4.2.r342_v20090313]'/>
-          </to>
-        </change>
-      </changes>
-      <lifeCycle>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.group' range='[3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63]' greedy='false'/>
-      </lifeCycle>
-      <update id='org.eclipse.rcp.R342patch.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>
-        <property name='df_LT.featureName' value='RCP Patch (bugzilla 266538)'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='This patch contains fixes for bugzilla 266538.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.rcp.R342patch_1.0.0'/>
-        <property name='file.lastModified' value='1239159915667'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.R342patch.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.R342patch.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.group' range='[3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63]' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        Copyright (c) 2000, 2009 IBM Corporation and others.
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.director.app' version='1.0.1.R34x_v20080729'>
-      <update id='org.eclipse.equinox.p2.director.app' range='[0.0.0,1.0.1.R34x_v20080729)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Director Application'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.director.app_1.0.1.R34x_v20080729.jar'/>
-        <property name='file.lastModified' value='1239159896651'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director.app' version='1.0.1.R34x_v20080729'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.director.app' version='1.0.1.R34x_v20080729'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.director.app' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='3.4.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.app' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.console' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine.phases' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.director.app' version='1.0.1.R34x_v20080729'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.director.app.Activator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true&#xA;Import-Package: org.eclipse.equinox.app,org.eclipse.equinox.internal.p2.console,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.engine,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.engine.phases,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.osgi.service.environment,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.osgi.framework&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 1.0.1.R34x_v20080729&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.equinox.internal.p2.director.app;x-internal:=true&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.osgi;bundle-version=&quot;3.4.0&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.views.properties.tabbed' version='3.4.2.M20090127-1700'>
-      <update id='org.eclipse.ui.views.properties.tabbed' range='[0.0.0,3.4.2.M20090127-1700)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Tabbed Properties View'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.views.properties.tabbed_3.4.2.M20090127-1700.jar'/>
-        <property name='file.lastModified' value='1239159890058'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views.properties.tabbed' version='3.4.2.M20090127-1700'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.views.properties.tabbed' version='3.4.2.M20090127-1700'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.properties.tabbed' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.properties.tabbed.l10n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.properties.tabbed.view' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.properties.tabbed' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.views' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.views.properties.tabbed' version='3.4.2.M20090127-1700'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Activator: org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.views.properties.tabbed;singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.2.M20090127-1700&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.internal.views.properties.tabbed;x-internal:=true,org.eclipse.ui.internal.views.properties.tabbed.l10n;x-internal:=true,org.eclipse.ui.internal.views.properties.tabbed.view;x-friends:=&quot;org.eclipse.ui.tests.views.properties.tabbed&quot;,org.eclipse.ui.views.properties.tabbed&#xA;Require-Bundle: org.eclipse.ui.forms;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.ui.views;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='bootstrap.categoryIU' version='0.0.0'>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='bootstrap'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='bootstrap.categoryIU' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='bootstrap' range='0.0.0'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-    <unit id='org.apache.lucene.analysis' version='1.9.1.v20080530-1600' singleton='false'>
-      <update id='org.apache.lucene.analysis' range='[0.0.0,1.9.1.v20080530-1600)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene Analysis'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.lucene.analysis_1.9.1.v20080530-1600.jar'/>
-        <property name='file.lastModified' value='1239159892917'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis' version='1.9.1.v20080530-1600'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene.analysis' version='1.9.1.v20080530-1600'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.br' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cjk' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cn' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cz' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.el' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.fr' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.nl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.ru' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.lucene' range='[1.9.1,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene.analysis' version='1.9.1.v20080530-1600'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.9.1.v20080530-1600&#xA;Require-Bundle: org.apache.lucene;bundle-version=&quot;[1.9.1,2.0.0)&quot;;visibility:=reexport&#xA;Export-Package: org.apache.lucene.analysis.br,org.apache.lucene.analysis.cjk,org.apache.lucene.analysis.cn,org.apache.lucene.analysis.cz,org.apache.lucene.analysis.de,org.apache.lucene.analysis.el,org.apache.lucene.analysis.fr,org.apache.lucene.analysis.nl,org.apache.lucene.analysis.ru&#xA;Bundle-SymbolicName: org.apache.lucene.analysis&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.security.ui' version='1.0.0.v20080603-1810'>
-      <update id='org.eclipse.equinox.security.ui' range='[0.0.0,1.0.0.v20080603-1810)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Security Default UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.security.ui_1.0.0.v20080603-1810.jar'/>
-        <property name='file.lastModified' value='1239159884136'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.ui' version='1.0.0.v20080603-1810'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.security.ui' version='1.0.0.v20080603-1810'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.security.ui' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui.nls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui.storage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui.storage.view' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.ui.wizard' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='14'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.security' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.preferences' range='[3.2.200,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.crypto.spec' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.auth.x500' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.internal.provisional.service.security' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.internal.service.security' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.security' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='[1.3.3,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.security.ui' version='1.0.0.v20080603-1810'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.equinox.internal.security.ui.Activator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.equinox.security.ui;singleton:=true&#xA;Import-Package: javax.crypto.spec,javax.security.auth.x500,org.eclipse.osgi.internal.provisional.service.security;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.internal.service.security,org.eclipse.osgi.service.debug;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.service.resolver;version=&quot;[1.2.0,2.0.0)&quot;,org.eclipse.osgi.service.security;version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.osgi.util;version=&quot;[1.1.0,2.0.0)&quot;,org.osgi.framework,org.osgi.util.tracker;version=&quot;[1.3.3,2.0.0)&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.0.0.v20080603-1810&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.equinox.internal.provisional.security.ui;version=&quot;1.0.0&quot;;x-friends:=&quot;org.eclipse.equinox.p2.ui&quot;,org.eclipse.equinox.internal.security.ui;x-internal:=true,org.eclipse.equinox.internal.security.ui.nls;x-internal:=true,org.eclipse.equinox.internal.security.ui.preferences;x-internal:=true,org.eclipse.equinox.internal.security.ui.storage;x-internal:=true,org.eclipse.equinox.internal.security.ui.storage.view;x-internal:=true,org.eclipse.equinox.internal.security.ui.wizard;x-internal:=true&#xA;Require-Bundle: org.eclipse.equinox.security;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.equinox.preferences;bundle-version=&quot;[3.2.200,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.runtime; bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.touchpoint.eclipse' version='1.0.2.v20081119-1055'>
-      <update id='org.eclipse.equinox.p2.touchpoint.eclipse' range='[0.0.0,1.0.2.v20081119-1055)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Eclipse Touchpoint'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.eclipse' version='1.0.2.v20081119-1055'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.touchpoint.eclipse' version='1.0.2.v20081119-1055'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.touchpoint.eclipse' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.update' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='25'>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.garbagecollector' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.frameworkadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.simpleconfigurator.manipulator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.2.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.touchpoint.eclipse' version='1.0.2.v20081119-1055'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Export-Package: org.eclipse.equinox.internal.p2.touchpoint.eclipse;x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation&quot;,org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;x-internal:=true,org.eclipse.equinox.internal.p2.update;x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.eclipse;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.2.v20081119-1055&#xA;Import-Package: javax.xml.parsers,org.eclipse.core.runtime;common=split,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.engine,org.eclipse.equinox.internal.p2.garbagecollector,org.eclipse.equinox.internal.provisional.frameworkadmin,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.generator;resolution:=optional,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,org.eclipse.equinox.internal.simpleconfigurator.manipulator,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.environment;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.2.0&quot;;resolution:=optional,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;,org.w3c.dom,org.xml.sax
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.forms' version='3.3.103.v20081027_34x' singleton='false'>
-      <update id='org.eclipse.ui.forms' range='[0.0.0,3.3.103.v20081027_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.provider-name' value='Eclipse.org'/>
-        <property name='df_LT.name' value='Eclipse Forms'/>
-        <property name='org.eclipse.equinox.p2.name' value='%name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%provider-name'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.forms_3.3.103.v20081027_34x.jar'/>
-        <property name='file.lastModified' value='1239159894839'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.forms' version='3.3.103.v20081027_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.forms' version='3.3.103.v20081027_34x'/>
-        <provided namespace='java.package' name='org.eclipse.ui.forms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.forms.editor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.forms.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.forms.widgets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.forms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.forms.widgets' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.forms' version='3.3.103.v20081027_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %name&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %provider-name&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.forms&#xA;Import-Package: com.ibm.icu.text,javax.xml.parsers,org.w3c.dom,org.xml.sax&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.3.103.v20081027_34x&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.forms,org.eclipse.ui.forms.editor,org.eclipse.ui.forms.events,org.eclipse.ui.forms.widgets,org.eclipse.ui.internal.forms;x-internal:=true,org.eclipse.ui.internal.forms.widgets;x-friends:=&quot;org.eclipse.ui.tests.forms&quot;&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.jface;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.externaltools' version='3.2.0.v20080514-1542'>
-      <update id='org.eclipse.ui.externaltools' range='[0.0.0,3.2.0.v20080514-1542)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='External Tools'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.externaltools_3.2.0.v20080514-1542.jar'/>
-        <property name='file.lastModified' value='1239159888214'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.externaltools' version='3.2.0.v20080514-1542'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.externaltools' version='3.2.0.v20080514-1542'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.launchConfigurations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.menu' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.program.launchConfigurations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.externaltools.internal.variables' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.variables' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.debug.core' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.debug.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.externaltools' version='3.2.0.v20080514-1542'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.externaltools.internal.launchConfigurations;x-friends:=&quot;org.eclipse.ant.ui&quot;,org.eclipse.ui.externaltools.internal.menu;x-internal:=true,org.eclipse.ui.externaltools.internal.model;x-friends:=&quot;org.eclipse.ant.ui&quot;,org.eclipse.ui.externaltools.internal.program.launchConfigurations;x-friends:=&quot;org.eclipse.ant.ui&quot;,org.eclipse.ui.externaltools.internal.registry;x-internal:=true,org.eclipse.ui.externaltools.internal.ui;x-friends:=&quot;org.eclipse.ant.ui&quot;,org.eclipse.ui.externaltools.internal.variables;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui.ide;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.variables;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.debug.core;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.debug.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.2.0.v20080514-1542&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.externaltools; singleton:=true&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty' version='5.1.14.v200806031611' singleton='false'>
-      <update id='org.mortbay.jetty' range='[0.0.0,5.1.14.v200806031611)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Jetty WebServer'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.mortbay.jetty_5.1.14.v200806031611.jar'/>
-        <property name='file.lastModified' value='1239159895151'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty' version='5.1.14.v200806031611'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty' version='5.1.14.v200806031611'/>
-        <provided namespace='java.package' name='org.mortbay.html' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.http' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.http.ajp' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.http.handler' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.http.nio' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.jetty' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.servlet' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.win32' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.log' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.servlet' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.util' version='5.1.14'/>
-        <provided namespace='java.package' name='org.mortbay.xml' version='5.1.14'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.cert' range='0.0.0'/>
-        <required namespace='java.package' name='javax.servlet' range='[2.4.0,2.6.0)'/>
-        <required namespace='java.package' name='javax.servlet.http' range='[2.4.0,2.6.0)'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='[2.4.0,2.6.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty' version='5.1.14.v200806031611'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 5.1.14.v200806031611&#xA;Export-Package: org.mortbay.html;version=&quot;5.1.14&quot;,org.mortbay.http;version=&quot;5.1.14&quot;,org.mortbay.http.ajp;version=&quot;5.1.14&quot;,org.mortbay.http.handler;version=&quot;5.1.14&quot;,org.mortbay.http.nio;version=&quot;5.1.14&quot;,org.mortbay.jetty;version=&quot;5.1.14&quot;,org.mortbay.jetty.servlet;version=&quot;5.1.14&quot;,org.mortbay.jetty.win32;version=&quot;5.1.14&quot;,org.mortbay.log;version=&quot;5.1.14&quot;,org.mortbay.servlet;version=&quot;5.1.14&quot;,org.mortbay.util;version=&quot;5.1.14&quot;,org.mortbay.xml;version=&quot;5.1.14&quot;&#xA;Bundle-SymbolicName: org.mortbay.jetty&#xA;Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;version=&quot;[2.4.0,2.6.0)&quot;,javax.servlet.http;version=&quot;[2.4.0,2.6.0)&quot;,javax.servlet.resources;version=&quot;[2.4.0,2.6.0)&quot;,javax.xml.parsers,org.apache.commons.logging;version=&quot;[1.0.0,2.0.0)&quot;,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %bundleName&#xA;Bundle-Vendor: %bundleProvider&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf.filetransfer' version='2.0.0.v20080611-1715'>
-      <update id='org.eclipse.ecf.filetransfer' range='[0.0.0,2.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='ECF Filetransfer API'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.filetransfer' version='2.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf.filetransfer' version='2.0.0.v20080611-1715'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.filetransfer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.filetransfer.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.filetransfer.identity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.filetransfer.service' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.internal.filetransfer' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.log' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.url' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf.filetransfer' version='2.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Import-Package: org.eclipse.core.runtime.jobs,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.log;version=&quot;1.3.0&quot;,org.osgi.service.url;version=&quot;1.0.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Manifest-Version: 1.0&#xA;Bundle-Name: %plugin.name&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Vendor: %plugin.provider&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Export-Package: org.eclipse.ecf.filetransfer,org.eclipse.ecf.filetransfer.events,org.eclipse.ecf.filetransfer.identity,org.eclipse.ecf.filetransfer.service,org.eclipse.ecf.internal.filetransfer;x-internal:=true&#xA;Bundle-Version: 2.0.0.v20080611-1715&#xA;Bundle-Activator: org.eclipse.ecf.internal.filetransfer.Activator&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.ecf&#xA;Eclipse-LazyStart: true&#xA;Bundle-SymbolicName: org.eclipse.ecf.filetransfer;singleton:=true&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.editors' version='3.4.0.v20080603-2000'>
-      <update id='org.eclipse.ui.editors' range='[0.0.0,3.4.0.v20080603-2000)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Default Text Editor'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.editors_3.4.0.v20080603-2000.jar'/>
-        <property name='file.lastModified' value='1239159888011'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.editors' version='3.4.0.v20080603-2000'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.editors' version='3.4.0.v20080603-2000'/>
-        <provided namespace='java.package' name='org.eclipse.ui.editors.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.editors.text.templates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.editors.quickdiff' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.editors.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filebuffers' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.editors' version='3.4.0.v20080603-2000'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ui.internal.editors.text.EditorsPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.editors; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.0.v20080603-2000&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.editors.text,org.eclipse.ui.editors.text.templates,org.eclipse.ui.internal.editors.quickdiff;x-internal:=true,org.eclipse.ui.internal.editors.text;x-internal:=true,org.eclipse.ui.internal.texteditor;x-internal:=true,org.eclipse.ui.texteditor&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.ide;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filebuffers;visibility:=reexport;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.launcher_eclipse.exe.eclipse' version='1.0.0' singleton='false'>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe.eclipse' version='1.0.0'/>
-      </provides>
-      <filter>
-        (&amp; (osgi.os=win32))
-      </filter>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='configure'>
-            setLauncherName(name:eclipse)
-          </instruction>
-          <instruction key='unconfigure'>
-            setLauncherName()
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='bootstrap' version='1.0.2.342I20090225i'>
-      <update id='bootstrap' range='0.0.0' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='bootstrap'/>
-        <property name='lineUp' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='bootstrap' version='1.0.2.342I20090225i'/>
-      </provides>
-      <requires size='57'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.core.runtime' range='[3.4.0.v20080512,3.4.0.v20080512]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin' range='[1.0.2.R34x_v20081007,1.0.2.R34x_v20081007]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.repository' range='[1.0.0.v20080604,1.0.0.v20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.reconciler.dropins' range='[1.0.5.v20090307-1115,1.0.5.v20090307-1115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.registry' range='[3.4.0.v20080516-0950,3.4.0.v20080516-0950]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator.manipulator' range='[1.0.4.v20090218,1.0.4.v20090218]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.p2.reconciler.dropins' range='[1.0.5.v20090307-1115,1.0.5.v20090307-1115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.artifact.repository' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='[1.6.0,1.6.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.pb' range='[2.0.3.v20081021,2.0.3.v20081021]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director' range='[1.0.5.v20090309-0952,1.0.5.v20090309-0952]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin.equinox' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.win32.win32.x86' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.garbagecollector' range='[1.0.1.R34x_v20080818,1.0.1.R34x_v20080818]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.contenttype' range='[3.3.0.v20080604-1400,3.3.0.v20080604-1400]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.jarprocessor' range='[1.0.0.v20080514-1900,1.0.0.v20080514-1900]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi.services' range='[3.1.200.v20071203,3.1.200.v20071203]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi' range='[3.4.3.R34x_v20081215-1030,3.4.3.R34x_v20081215-1030]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.extensionlocation' range='[1.0.4.v20081027-2115,1.0.4.v20081027-2115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility.registry' range='[3.2.200.v20080610,3.2.200.v20080610]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.generator' range='[1.0.4.v20081217,1.0.4.v20081217]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.common' range='[3.4.0.v20080421-2006,3.4.0.v20080421-2006]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.engine' range='[1.0.4.v20080930,1.0.4.v20080930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.core' range='[1.0.4.v20081112-1019,1.0.4.v20081112-1019]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.identity' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe.eclipse' range='[1.0.0,1.0.0]'>
-          <filter>
-            (&amp; (osgi.os=win32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.jobs' range='[3.4.1.R34x_v20081128,3.4.1.R34x_v20081128]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.filetransfer' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher' range='[1.0.101.R34x_v20081125,1.0.101.R34x_v20081125]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer' range='[2.0.0.v20080611-1715,2.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.win32.x86' range='[1.0.0.v20080529-1600,1.0.0.v20080529-1600]'>
-          <filter>
-            (&amp; (osgi.os=win32) (osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' range='[1.6.0,1.6.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.eclipse' range='[1.0.2.v20081119-1055,1.0.2.v20081119-1055]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net.win32.x86' range='[1.0.0.I20080521,1.0.0.I20080521]'>
-          <filter>
-            (&amp; (osgi.os=win32) (osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer.ssl' range='[1.0.0.v20080611-1715,1.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.exemplarysetup' range='[1.0.0.v20080427-2136,1.0.0.v20080427-2136]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.launcher' range='[1.0.101.R34x_v20081125,1.0.101.R34x_v20081125]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.preferences' range='[3.2.201.R34x_v20080709,3.2.201.R34x_v20080709]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.launcher.win32.win32.x86' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.ssl' range='[1.0.0.v20080611-1715,1.0.0.v20080611-1715]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.natives' range='[1.0.0.v20080505-1850,1.0.0.v20080505-1850]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security' range='[1.0.1.R34x_v20080721,1.0.1.R34x_v20080721]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.common' range='[3.4.0.v20080421-2006,3.4.0.v20080421-2006]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.app' range='[1.1.0.v20080421-2006,1.1.0.v20080421-2006]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.core' range='[2.0.3.v20081021,2.0.3.v20081021]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.directorywatcher' range='[1.0.2.v20080806-1619,1.0.2.v20080806-1619]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata' range='[1.0.0.v20080514-1900,1.0.0.v20080514-1900]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator' range='[1.0.0.v20080604,1.0.0.v20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net' range='[1.1.0.I20080604,1.1.0.I20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime' range='[3.4.0.v20080512,3.4.0.v20080512]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.launcher_eclipse.exe' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.simpleconfigurator' range='[1.0.0.v20080604,1.0.0.v20080604]'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='configure'>
-            setProgramProperty(propName:osgi.splashPath, propValue:platform:/base/plugins/org.eclipse.platform);setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);setProgramProperty(propName:eclipse.application, propValue:org.eclipse.equinox.p2.reconciler.application);addJvmArg(jvmArg:-Dorg.eclipse.equinox.p2.reconciler.noConfig=true);
-          </instruction>
-          <instruction key='unconfigure'>
-            setProgramProperty(propName:osgi.splashPath, propValue:);setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);setProgramProperty(propName:eclipse.application, propValue:);removeJvmArg(jvmArg:-Dorg.eclipse.equinox.p2.reconciler.noConfig=true);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.core' version='1.0.4.v20081112-1019'>
-      <update id='org.eclipse.equinox.p2.core' range='[0.0.0,1.0.4.v20081112-1019)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.core' version='1.0.4.v20081112-1019'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.core' version='1.0.4.v20081112-1019'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.persistence' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='12'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.adaptor' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.eventmgr' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.internal.resolver' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.core' version='1.0.4.v20081112-1019'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-Version: 1.0.4.v20081112-1019&#xA;Bundle-ClassPath: .&#xA;Import-Package: org.eclipse.core.runtime.adaptor,org.eclipse.osgi.framework.eventmgr;version=&quot;1.0.0&quot;,org.eclipse.osgi.framework.log;version=&quot;1.0.0&quot;,org.eclipse.osgi.internal.resolver,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.debug;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;,org.xml.sax&#xA;Require-Bundle: org.eclipse.equinox.common&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Eclipse-LazyStart: true&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true&#xA;Export-Package: org.eclipse.equinox.internal.p2.core;x-friends:=&quot;org.eclipse.equinox.p2.metadata.generator&quot;,org.eclipse.equinox.internal.p2.core.helpers; x-friends:=&quot;org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.download,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.frameworkadmin.test,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.repositoryoptimizer,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.updatechecker.app,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.extensionlocation&quot;,org.eclipse.equinox.internal.p2.persistence;x-friends:=&quot;org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata.repository&quot;,org.eclipse.equinox.internal.provisional.p2.core; x-friends:=&quot;org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.core.eventbus; x-friends:=&quot;org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives&quot;,org.eclipse.equinox.internal.provisional.p2.core.location; x-friends:=&quot;org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.touchpoint.eclipse&quot;,org.eclipse.equinox.internal.provisional.p2.core.repository; x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.core,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.exemplarysetup,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.jarprocessor,  org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.directorywatcher&quot;,org.eclipse.equinox.internal.provisional.p2.query; x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.exemplarysetup,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.jarprocessor,  org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.console&quot;,org.eclipse.equinox.internal.provisional.spi.p2.core.repository; x-friends:=&quot;org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.updatesite&quot;&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.core.Activator&#xA;Bundle-Name: %pluginName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.metadata.generator' version='1.0.4.v20081217'>
-      <update id='org.eclipse.equinox.p2.metadata.generator' range='[0.0.0,1.0.4.v20081217)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Metadata Generator'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.generator' version='1.0.4.v20081217'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.metadata.generator' version='1.0.4.v20081217'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.generator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.generator.features' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='19'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.core' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.app' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.equinox' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.utils' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.frameworkadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.metadata.generator' version='1.0.4.v20081217'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.4.v20081217&#xA;Import-Package: javax.xml.parsers,org.eclipse.equinox.app;version=&quot;1.0.0&quot;,org.eclipse.equinox.internal.frameworkadmin.equinox,org.eclipse.equinox.internal.frameworkadmin.utils,org.eclipse.equinox.internal.p2.artifact.repository,org.eclipse.equinox.internal.p2.metadata,org.eclipse.equinox.internal.p2.metadata.repository,org.eclipse.equinox.internal.provisional.frameworkadmin,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.w3c.dom,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.generator.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.p2.core,org.eclipse.osgi,org.eclipse.equinox.common&#xA;Export-Package: org.eclipse.equinox.internal.p2.metadata.generator;x-internal:=true,org.eclipse.equinox.internal.p2.metadata.generator.features;x-friends:=&quot;org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.extensionlocation&quot;,org.eclipse.equinox.internal.provisional.p2.metadata.generator; x-friends:=&quot;org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.updatesite&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.generator;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.osgi.services' version='3.1.200.v20071203' singleton='false'>
-      <update id='org.eclipse.osgi.services' range='[0.0.0,3.1.200.v20071203)' severity='0'/>
-      <properties size='7'>
-        <property name='df_LT.osgiServices' value='OSGi Release 4.0.1 Services'/>
-        <property name='df_LT.osgiServicesDes' value='OSGi Service Platform Release 4.0.1 Service Interfaces and Classes'/>
-        <property name='df_LT.eclipse.org' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%osgiServices'/>
-        <property name='org.eclipse.equinox.p2.description' value='%osgiServicesDes'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.contact' value='www.eclipse.org'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi.services' version='3.1.200.v20071203'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.osgi.services' version='3.1.200.v20071203'/>
-        <provided namespace='java.package' name='org.osgi.service.cm' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.component' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.service.device' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.event' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.http' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.io' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.service.log' version='1.3.0'/>
-        <provided namespace='java.package' name='org.osgi.service.metatype' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.provisioning' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.upnp' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.useradmin' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.wireadmin' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='java.package' name='javax.servlet' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.servlet.http' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.2.0'/>
-        <required namespace='java.package' name='javax.servlet' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.servlet.http' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.osgi.services' version='3.1.200.v20071203'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ContactAddress: www.eclipse.org&#xA;Bundle-Localization: plugin&#xA;Bundle-DocUrl: http://www.eclipse.org&#xA;Bundle-SymbolicName: org.eclipse.osgi.services&#xA;Export-Package: org.osgi.service.cm; version=&quot;1.2&quot;,org.osgi.service.component; version=&quot;1.0&quot;,org.osgi.service.device; version=&quot;1.1&quot;,org.osgi.service.event; version=&quot;1.1&quot;,org.osgi.service.http; version=&quot;1.2&quot;,org.osgi.service.io; version=&quot;1.0&quot;,org.osgi.service.log; version=&quot;1.3&quot;,org.osgi.service.metatype; version=&quot;1.1&quot;,org.osgi.service.provisioning; version=&quot;1.1&quot;,org.osgi.service.upnp; version=&quot;1.1&quot;,org.osgi.service.useradmin; version=&quot;1.1&quot;,org.osgi.service.wireadmin; version=&quot;1.0&quot;&#xA;Bundle-Copyright: %copyright&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.1.200.v20071203&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.0&#xA;Bundle-Description: %osgiServicesDes&#xA;Bundle-Name: %osgiServices&#xA;Import-Package: org.osgi.framework; version=1.2,javax.servlet; resolution:=&quot;optional&quot;,javax.servlet.http; resolution:=&quot;optional&quot;&#xA;DynamicImport-Package: javax.servlet,javax.servlet.http&#xA;Bundle-Vendor: %eclipse.org
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.jarprocessor' version='1.0.0.v20080514-1900'>
-      <update id='org.eclipse.equinox.p2.jarprocessor' range='[0.0.0,1.0.0.v20080514-1900)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning JAR Processor'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.jarprocessor' version='1.0.0.v20080514-1900'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.jarprocessor' version='1.0.0.v20080514-1900'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.jarprocessor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.jarprocessor.verifier' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.internal.provisional.equinox.p2.jarprocessor' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.jarprocessor' version='1.0.0.v20080514-1900'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Export-Package: org.eclipse.equinox.internal.p2.jarprocessor;x-friends:=&quot;org.eclipse.equinox.p2.artifact.repository&quot;,org.eclipse.equinox.internal.p2.jarprocessor.verifier;x-internal:=true,org.eclipse.internal.provisional.equinox.p2.jarprocessor;x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.repository&quot;&#xA;Bundle-Version: 1.0.0.v20080514-1900&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor;singleton:=true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.updatesite' version='1.0.1.R34x_v20080808-1156'>
-      <update id='org.eclipse.equinox.p2.updatesite' range='[0.0.0,1.0.1.R34x_v20080808-1156)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Update site repository adapter bundle (Incubation)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.updatesite_1.0.1.R34x_v20080808-1156.jar'/>
-        <property name='file.lastModified' value='1239159898855'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.updatesite' version='1.0.1.R34x_v20080808-1156'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.updatesite' version='1.0.1.R34x_v20080808-1156'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.updatesite' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.updatesite.artifact' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.updatesite.metadata' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='27'>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.filetransfer' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.metadata.repository' range='0.1.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.artifact.repository' range='0.1.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.jobs' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.generator.features' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.security.storage' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.2.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.signedcontent' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.updatesite' version='1.0.1.R34x_v20080808-1156'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata.generator.features,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.generator,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,org.eclipse.equinox.security.storage,org.eclipse.osgi.service.resolver;version=&quot;1.2.0&quot;,org.eclipse.osgi.signedcontent;version=&quot;1.0.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.0&quot;,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 1.0.1.R34x_v20080808-1156&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.equinox.internal.p2.updatesite;x-internal:=true,org.eclipse.equinox.internal.p2.updatesite.artifact;x-internal:=true,org.eclipse.equinox.internal.p2.updatesite.metadata;x-internal:=true&#xA;Require-Bundle: org.eclipse.ecf.filetransfer,org.eclipse.ecf,org.eclipse.equinox.common;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.equinox.p2.metadata.repository;bundle-version=&quot;0.1.0&quot;,org.eclipse.equinox.p2.artifact.repository;bundle-version=&quot;0.1.0&quot;,org.eclipse.core.jobs;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.contenttype' version='3.3.0.v20080604-1400'>
-      <update id='org.eclipse.core.contenttype' range='[0.0.0,3.3.0.v20080604-1400)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse Content Mechanism'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.contenttype' version='3.3.0.v20080604-1400'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.contenttype' version='3.3.0.v20080604-1400'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.content' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.content' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.preferences' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.contenttype' version='3.3.0.v20080604-1400'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 3.3.0.v20080604-1400&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.xml.parsers,org.eclipse.osgi.service.debug,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework,org.osgi.util.tracker,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers&#xA;Bundle-Activator: org.eclipse.core.internal.content.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.preferences;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.equinox.registry;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.core.internal.content;x-internal:=true,org.eclipse.core.runtime.content&#xA;Bundle-SymbolicName: org.eclipse.core.contenttype; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.runtime.compatibility.auth' version='3.2.100.v20070502' singleton='false'>
-      <update id='org.eclipse.core.runtime.compatibility.auth' range='[0.0.0,3.2.100.v20070502)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Authorization Compatibility Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502.jar'/>
-        <property name='file.lastModified' value='1239159900995'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility.auth' version='3.2.100.v20070502'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.runtime.compatibility.auth' version='3.2.100.v20070502'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.runtime.auth' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.runtime.compatibility.auth' version='3.2.100.v20070502'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.core.internal.runtime.auth.Activator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.runtime.compatibility.auth&#xA;Import-Package: org.eclipse.osgi.framework.log,org.eclipse.osgi.service.datalocation,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework,org.osgi.util.tracker&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.2.100.v20070502&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.core.internal.runtime.auth;x-friends:=&quot;org.eclipse.core.runtime&quot;&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.platform.feature.group' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL' singleton='false'>
-      <update id='org.eclipse.platform.feature.group' range='[0.0.0,3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Eclipse Platform'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2000, 2007 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.platform_3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-        <property name='file.lastModified' value='1239159906698'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform.feature.group' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='67'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.feature.group' range='[1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK,1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.feature.group' range='[1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267,1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267]' optional='true'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' range='[0.1.37.v200803061811,0.1.37.v200803061811]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.compare' range='[3.4.1.r34x_20090121,3.4.1.r34x_20090121]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.boot' range='[3.1.100.v20080218,3.1.100.v20080218]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filebuffers' range='[3.4.0.v20080603-2000,3.4.0.v20080603-2000]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem' range='[1.2.0.v20080604-1400,1.2.0.v20080604-1400]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net' range='[1.1.0.I20080604,1.1.0.I20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net.win32.x86' range='[1.0.0.I20080521,1.0.0.I20080521]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net.linux.x86' range='[1.0.0.I20080521,1.0.0.I20080521]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources' range='[3.4.2.R34x_v20090126,3.4.2.R34x_v20090126]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources.compatibility' range='[3.4.0.v20080604-1400,3.4.0.v20080604-1400]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi.util' range='[3.1.300.v20080303,3.1.300.v20080303]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.debug.core' range='[3.4.1.v20090106_r342,3.4.1.v20090106_r342]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.debug.ui' range='[3.4.2.v20090110_r342,3.4.2.v20090110_r342]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.appserver' range='[3.1.300.v20080507,3.1.300.v20080507]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ltk.core.refactoring' range='[3.4.2.r342_v20081028-0800,3.4.2.r342_v20081028-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ltk.ui.refactoring' range='[3.4.1.r341_v20080716-0800,3.4.1.r341_v20080716-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform' range='[3.3.101.v200902111700,3.3.101.v200902111700]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform.doc.user' range='[3.4.2.r342_v20081031-0800,3.4.2.r342_v20081031-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.search' range='[3.4.1.r341_v20080813-0800,3.4.1.r341_v20080813-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.team.core' range='[3.4.2.r34x_20080115,3.4.2.r34x_20080115]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.team.ui' range='[3.4.1.r34x_20080827,3.4.1.r34x_20080827]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.text' range='[3.4.0.v20080605-1800,3.4.0.v20080605-1800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.text' range='[3.4.2.r342_v20081119-0800,3.4.2.r342_v20081119-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jsch.core' range='[1.1.100.I20080604,1.1.100.I20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jsch.ui' range='[1.1.100.I20080415,1.1.100.I20080415]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.console' range='[3.3.1.v20090128_r342,3.3.1.v20090128_r342]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.presentations.r21' range='[3.2.100.I20080512-2000,3.2.100.I20080512-2000]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.intro' range='[3.2.201.v20080702_34x,3.2.201.v20080702_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.intro.universal' range='[3.2.200.v20080508,3.2.200.v20080508]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.cheatsheets' range='[3.3.101.v20080702_34x,3.3.101.v20080702_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.browser' range='[3.2.201.v20080708_34x,3.2.201.v20080708_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator' range='[3.3.102.M20090127-1700,3.3.102.M20090127-1700]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator.resources' range='[3.3.101.M20080910-0800,3.3.101.M20080910-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.net' range='[1.0.0.I20080605,1.0.0.I20080605]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench.texteditor' range='[3.4.1.r341_v20080827-1100,3.4.1.r341_v20080827-1100]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views' range='[3.3.1.M20081112-0800,3.3.1.M20081112-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.editors' range='[3.4.0.v20080603-2000,3.4.0.v20080603-2000]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.externaltools' range='[3.2.0.v20080514-1542,3.2.0.v20080514-1542]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide' range='[3.4.2.M20090127-1700,3.4.2.M20090127-1700]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide.application' range='[1.0.1.M20090204-0800,1.0.1.M20090204-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.win32' range='[3.2.100.v20080408-0800,3.2.100.v20080408-0800]'>
-          <filter>
-            (&amp;(osgi.ws=win32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.core' range='[3.2.202.R34x_v20081128,3.2.202.R34x_v20081128]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.scheduler' range='[3.2.100.v20080404,3.2.100.v20080404]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.ui' range='[3.2.101.R34x_v20081128,3.2.101.R34x_v20081128]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench.compatibility' range='[3.2.0.I20080509-2000,3.2.0.I20080509-2000]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.hpux.ia64_32' range='[1.0.0.v20080604-1400,1.0.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.arch=ia64_32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.hpux.PA_RISC' range='[1.0.0.v20080604-1400,1.0.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.arch=PA_RISC))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.linux.ppc' range='[1.0.100.v20080604-1400,1.0.100.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.arch=ppc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.linux.x86' range='[1.2.0.v20080604-1400,1.2.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.linux.x86_64' range='[1.0.100.v20080604-1400,1.0.100.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.arch=x86_64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.solaris.sparc' range='[1.0.100.v20080604-1400,1.0.100.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=solaris)(osgi.arch=sparc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.macosx' range='[1.0.0.v20080604-1400,1.0.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=macosx))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.qnx.x86' range='[1.0.0.v20080604-1400,1.0.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=qnx)(osgi.ws=photon)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.win32.x86' range='[1.1.0.v20080604-1400,1.1.0.v20080604-1400]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filesystem.win32.ia64' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=ia64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources.win32.x86' range='[3.4.0.v20071204,3.4.0.v20071204]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources.win32.ia64' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=ia64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.core.linux' range='[3.2.1.R34x_v20081024,3.2.1.R34x_v20081024]'>
-          <filter>
-            (&amp;(osgi.os=linux))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.core.win32' range='[3.2.100.v20080107,3.2.100.v20080107]'>
-          <filter>
-            (&amp;(osgi.os=win32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views.properties.tabbed' range='[3.4.2.M20090127-1700,3.4.2.M20090127-1700]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security' range='[1.0.1.R34x_v20080721,1.0.1.R34x_v20080721]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.ui' range='[1.0.0.v20080603-1810,1.0.0.v20080603-1810]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.win32.x86' range='[1.0.0.v20080529-1600,1.0.0.v20080529-1600]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.macosx' range='[1.0.0.v20080602-2000,1.0.0.v20080602-2000]'>
-          <filter>
-            (&amp;(osgi.os=macosx))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform.feature.jar' range='[3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL,3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.update.ui' version='3.2.101.R34x_v20081128'>
-      <update id='org.eclipse.update.ui' range='[0.0.0,3.2.101.R34x_v20081128)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Install/Update UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.update.ui_3.2.101.R34x_v20081128.jar'/>
-        <property name='file.lastModified' value='1239159891183'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.ui' version='3.2.101.R34x_v20081128'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.update.ui' version='3.2.101.R34x_v20081128'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.parts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.ui.wizards' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.ui' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.core' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.update.ui' version='3.2.101.R34x_v20081128'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.update.internal.ui.UpdateUI&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.update.ui; singleton:=true&#xA;Import-Package: javax.xml.parsers,org.w3c.dom,org.xml.sax&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.2.101.R34x_v20081128&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.update.internal.ui;x-friends:=&quot;org.eclipse.update.scheduler&quot;,org.eclipse.update.internal.ui.model;x-internal:=true,org.eclipse.update.internal.ui.parts;x-internal:=true,org.eclipse.update.internal.ui.preferences;x-internal:=true,org.eclipse.update.internal.ui.properties;x-internal:=true,org.eclipse.update.internal.ui.security;x-internal:=true,org.eclipse.update.internal.ui.views;x-internal:=true,org.eclipse.update.internal.ui.wizards;x-friends:=&quot;org.eclipse.update.scheduler&quot;,org.eclipse.update.ui&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.update.core;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.update.configurator;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731'>
-      <update id='org.eclipse.equinox.launcher.win32.win32.x86' range='[0.0.0,1.0.101.R34x_v20080731)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Launcher Win32 X86 Fragment'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.equinox.launcher' version='1.0.101.R34x_v20080731'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.launcher' range='[1.0.0,1.1.0)'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Fragment-Host: org.eclipse.equinox.launcher;bundle-version=&quot;[1.0.0,1.1.0)&quot;&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.101.R34x_v20080731&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-PlatformFilter: (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))&#xA;Bundle-Localization: launcher.win32.win32.x86&#xA;Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86; singleton:=true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.rcp.feature.group' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63' singleton='false'>
-      <update id='org.eclipse.rcp.feature.group' range='[0.0.0,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Eclipse RCP'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2000, 2007 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Rich Client Platform'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.rcp_3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-        <property name='file.lastModified' value='1239159915714'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.group' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='60'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' range='[3.8.1.v20080530,3.8.1.v20080530]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.commands' range='[3.4.0.I20080509-2000,3.4.0.I20080509-2000]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.databinding' range='[1.1.1.M20080827-0800b,1.1.1.M20080827-0800b]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.databinding.beans' range='[1.1.1.M20080827-0800a,1.1.1.M20080827-0800a]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.jobs' range='[3.4.1.R34x_v20081128,3.4.1.R34x_v20081128]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.expressions' range='[3.4.1.r342_v20081203-0800,3.4.1.r342_v20081203-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime' range='[3.4.0.v20080512,3.4.0.v20080512]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility.auth' range='[3.2.100.v20070502,3.2.100.v20070502]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi' range='[3.4.3.R34x_v20081215-1030,3.4.3.R34x_v20081215-1030]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help' range='[3.3.102.v20081014_34x,3.3.102.v20081014_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt' range='[3.4.2.v3452b,3.4.2.v3452b]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface' range='[3.4.2.M20090107-0800,3.4.2.M20090107-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.databinding' range='[1.2.1.M20080827-0800a,1.2.1.M20080827-0800a]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui' range='[3.4.2.M20090204-0800,3.4.2.M20090204-0800]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench' range='[3.4.2.M20090127-1700,3.4.2.M20090127-1700]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.carbon' range='[4.0.0.I20080610-1200,4.0.0.I20080610-1200]'>
-          <filter>
-            (&amp;(osgi.os=macosx)(osgi.ws=carbon))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.configurator' range='[3.2.201.R34x_v20080819,3.2.201.R34x_v20080819]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator' range='[1.0.0.v20080604,1.0.0.v20080604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.win32.win32.x86' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.win32.win32.x86_64' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=win32)(osgi.arch=x86_64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.wpf.win32.x86' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=wpf)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.win32.win32.ia64' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.arch=ia64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.x86' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.s390' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.s390x' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390x))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.solaris.sparc' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=solaris)(osgi.ws=gtk)(osgi.arch=sparc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.solaris.x86' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=solaris)(osgi.ws=gtk)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.ppc' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.x86_64' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86_64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.carbon.macosx' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=macosx)(osgi.ws=carbon))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.motif.aix.ppc' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=aix)(osgi.ws=motif)(osgi.arch=ppc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.motif.hpux.PA_RISC' range='[3.4.1.R3_4_1_b,3.4.1.R3_4_1_b]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.ws=motif)(osgi.arch=PA_RISC))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.motif.hpux.ia64_32' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.ws=motif)(osgi.arch=ia64_32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.motif.linux.x86' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=motif)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.gtk.linux.ia64' range='[3.4.0.HEAD,3.4.0.HEAD]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ia64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.motif.solaris.sparc' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=solaris)(osgi.ws=motif)(osgi.arch=sparc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.photon.qnx.x86' range='[3.4.1.v3452b,3.4.1.v3452b]'>
-          <filter>
-            (&amp;(osgi.os=qnx)(osgi.ws=photon)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp' range='[3.4.1.R342_v20090205,3.4.1.R342_v20090205]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.contenttype' range='[3.3.0.v20080604-1400,3.3.0.v20080604-1400]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.app' range='[1.1.0.v20080421-2006,1.1.0.v20080421-2006]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.common' range='[3.4.0.v20080421-2006,3.4.0.v20080421-2006]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.preferences' range='[3.2.201.R34x_v20080709,3.2.201.R34x_v20080709]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.registry' range='[3.4.0.v20080516-0950,3.4.0.v20080516-0950]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher' range='[1.0.101.R34x_v20081125,1.0.101.R34x_v20081125]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.solaris.sparc' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=solaris)(osgi.ws=gtk)(osgi.arch=sparc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.carbon.macosx' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=macosx)(osgi.ws=carbon))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.linux.ppc' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.linux.x86' range='[1.0.101.R34x_v20080805,1.0.101.R34x_v20080805]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.linux.s390' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.linux.s390x' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=s390x))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.motif.linux.x86' range='[1.0.101.R34x_v20080805,1.0.101.R34x_v20080805]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=motif)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.gtk.linux.x86_64' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86_64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.motif.aix.ppc' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=aix)(osgi.ws=motif)(osgi.arch=ppc))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.motif.hpux.ia64_32' range='[1.0.2.R34x_v20081125,1.0.2.R34x_v20081125]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.ws=motif)(osgi.arch=ia64_32))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.motif.hpux.PA_RISC' range='[1.0.100.v20080303,1.0.100.v20080303]'>
-          <filter>
-            (&amp;(osgi.os=hpux)(osgi.ws=motif)(osgi.arch=PA_RISC))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.wpf.win32.x86' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=wpf)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.win32.win32.x86' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=win32)(osgi.arch=x86))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.win32.win32.x86_64' range='[1.0.101.R34x_v20080731,1.0.101.R34x_v20080731]'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=win32)(osgi.arch=x86_64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher.win32.win32.ia64' range='0.0.0'>
-          <filter>
-            (&amp;(osgi.os=win32)(osgi.ws=win32)(osgi.arch=ia64))
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.jar' range='[3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.equinox.frameworkadmin.equinox' version='1.0.4.v20080930'>
-      <update id='org.eclipse.equinox.frameworkadmin.equinox' range='[0.0.0,1.0.4.v20080930)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Framework Admin for Equinox'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin.equinox' version='1.0.4.v20080930'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.frameworkadmin.equinox' version='1.0.4.v20080930'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.equinox' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.equinox.utils' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.adaptor' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.internal.adaptor' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.utils' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.configuratormanipulator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.frameworkadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.adaptor' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.debug' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.internal.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.storagemanager' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.log' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.startlevel' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.frameworkadmin.equinox' version='1.0.4.v20080930'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.4&#xA;Export-Package: org.eclipse.equinox.internal.frameworkadmin.equinox;x-friends:=org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.internal.frameworkadmin.equinox.utils;x-internal:=true&#xA;Bundle-Activator: org.eclipse.equinox.internal.frameworkadmin.equinox.Activator&#xA;Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.4.v20080930&#xA;Require-Bundle: org.eclipse.equinox.common&#xA;Import-Package: org.eclipse.core.runtime.adaptor,org.eclipse.core.runtime.internal.adaptor,org.eclipse.equinox.internal.frameworkadmin.utils,org.eclipse.equinox.internal.provisional.configuratormanipulator,org.eclipse.equinox.internal.provisional.frameworkadmin,org.eclipse.osgi.framework.adaptor;resolution:=optional,org.eclipse.osgi.framework.debug;resolution:=optional,org.eclipse.osgi.framework.internal.core,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.service.environment;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;;resolution:=optional,org.eclipse.osgi.storagemanager;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.log;version=&quot;1.3.0&quot;,org.osgi.service.startlevel;version=&quot;1.0.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.director' version='1.0.5.v20090309-0952'>
-      <update id='org.eclipse.equinox.p2.director' range='[0.0.0,1.0.5.v20090309-0952)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Director'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.director' version='1.0.5.v20090309-0952'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.director' version='1.0.5.v20090309-0952'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.director' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.resolution' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.rollback' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='17'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.sat4j.core' range='2.0.0'/>
-        <required namespace='osgi.bundle' name='org.sat4j.pb' range='2.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.director' version='1.0.5.v20090309-0952'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.5.v20090309-0952&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.director.DirectorActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common,org.sat4j.core;bundle-version=&quot;2.0.0&quot;,org.sat4j.pb;bundle-version=&quot;2.0.0&quot;&#xA;Export-Package: org.eclipse.equinox.internal.p2.director;x-friends:=&quot;org.eclipse.equinox.p2.exemplarysetup&quot;,org.eclipse.equinox.internal.p2.resolution;x-internal:=true,org.eclipse.equinox.internal.p2.rollback;x-friends:=&quot;org.eclipse.equinox.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.director; x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.pde.p2.ui&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.debug.ui' version='3.4.2.v20090110_r342'>
-      <update id='org.eclipse.debug.ui' range='[0.0.0,3.4.2.v20090110_r342)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Debug UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.debug.ui_3.4.2.v20090110_r342.jar'/>
-        <property name='file.lastModified' value='1239159883683'/>
-      </properties>
-      <provides size='47'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.debug.ui' version='3.4.2.v20090110_r342'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.debug.ui' version='3.4.2.v20090110_r342'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions.breakpointGroups' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions.breakpoints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions.expressions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions.variables' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.actions.variables.details' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.commands.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.contextlaunching' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.elements.adapters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.importexport.breakpoints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.importexport.launchconfigurations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.launchConfigurations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.memory' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.memory.provisional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.model.elements' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.sourcelookup' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.sourcelookup.browsers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.stringsubstitution' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.viewers.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.viewers.model.provisional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.viewers.provisional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.viewers.update' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.breakpoints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.console' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.expression' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.launch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.memory' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.memory.renderings' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.modules' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.registers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.variables' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.ui.views.variables.details' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui.console' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui.memory' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.ui.sourcelookup' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.variables' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.console' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.debug.core' range='[3.4.1,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.debug.ui' version='3.4.2.v20090110_r342'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.4.2.v20090110_r342&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.debug.internal.ui.DebugUIPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.variables;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui.console;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.debug.core;bundle-version=&quot;[3.4.1,4.0.0)&quot;;visibility:=reexport,org.eclipse.jface.text;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.ide;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.editors;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;&#xA;Export-Package: org.eclipse.debug.internal.ui;x-internal:=true,org.eclipse.debug.internal.ui.actions;x-internal:=true,org.eclipse.debug.internal.ui.actions.breakpointGroups;x-internal:=true,org.eclipse.debug.internal.ui.actions.breakpoints;x-internal:=true,org.eclipse.debug.internal.ui.actions.expressions;x-internal:=true,org.eclipse.debug.internal.ui.actions.variables;x-internal:=true,org.eclipse.debug.internal.ui.actions.variables.details;x-internal:=true,org.eclipse.debug.internal.ui.commands.actions;x-internal:=true,org.eclipse.debug.internal.ui.contextlaunching;x-internal:=true,org.eclipse.debug.internal.ui.contexts;x-internal:=true,org.eclipse.debug.internal.ui.elements.adapters;x-internal:=true,org.eclipse.debug.internal.ui.importexport.breakpoints;x-internal:=true,org.eclipse.debug.internal.ui.importexport.launchconfigurations;x-internal:=true,org.eclipse.debug.internal.ui.launchConfigurations;x-internal:=true,org.eclipse.debug.internal.ui.memory;x-internal:=true,org.eclipse.debug.internal.ui.memory.provisional;x-internal:=true,org.eclipse.debug.internal.ui.model.elements;x-internal:=true,org.eclipse.debug.internal.ui.preferences;x-internal:=true,org.eclipse.debug.internal.ui.sourcelookup;x-internal:=true,org.eclipse.debug.internal.ui.sourcelookup.browsers;x-internal:=true,org.eclipse.debug.internal.ui.stringsubstitution;x-internal:=true,org.eclipse.debug.internal.ui.viewers;x-internal:=true,org.eclipse.debug.internal.ui.viewers.model;x-internal:=true,org.eclipse.debug.internal.ui.viewers.model.provisional;x-internal:=true,org.eclipse.debug.internal.ui.viewers.provisional;x-internal:=true,org.eclipse.debug.internal.ui.viewers.update;x-internal:=true,org.eclipse.debug.internal.ui.views;x-internal:=true,org.eclipse.debug.internal.ui.views.breakpoints;x-internal:=true,org.eclipse.debug.internal.ui.views.console;x-internal:=true,org.eclipse.debug.internal.ui.views.expression;x-internal:=true,org.eclipse.debug.internal.ui.views.launch;x-internal:=true,org.eclipse.debug.internal.ui.views.memory;x-internal:=true,org.eclipse.debug.internal.ui.views.memory.renderings;x-internal:=true,org.eclipse.debug.internal.ui.views.modules;x-internal:=true,org.eclipse.debug.internal.ui.views.registers;x-internal:=true,org.eclipse.debug.internal.ui.views.variables;x-internal:=true,org.eclipse.debug.internal.ui.views.variables.details;x-internal:=true,org.eclipse.debug.ui,org.eclipse.debug.ui.actions,org.eclipse.debug.ui.console,org.eclipse.debug.ui.contexts,org.eclipse.debug.ui.memory,org.eclipse.debug.ui.sourcelookup&#xA;Bundle-SymbolicName: org.eclipse.debug.ui; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.sat4j.pb' version='2.0.3.v20081021' singleton='false'>
-      <update id='org.sat4j.pb' range='[0.0.0,2.0.3.v20081021)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='SAT4J Pseudo'/>
-        <property name='df_LT.providerName' value='CRIL CNRS UMR 8188 - Universite d&apos;Artois'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.pb' version='2.0.3.v20081021'/>
-        <provided namespace='osgi.bundle' name='org.sat4j.pb' version='2.0.3.v20081021'/>
-        <provided namespace='java.package' name='org.sat4j.pb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.constraints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.constraints.pb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.orders' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.reader' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.sat4j.core' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.sat4j.pb' version='2.0.3.v20081021'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Class-Path: org.sat4j.core.jar&#xA;Bundle-Name: %bundleName&#xA;Built-By: Daniel Le Berre&#xA;Specification-Title: SAT4J&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.sat4j.pb&#xA;Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d&apos;Artois&#xA;Specification-Vendor: Daniel Le Berre&#xA;Bundle-Version: 2.0.3.v20081021&#xA;Created-By: 10.0-b22 (Sun Microsystems Inc.)&#xA;Manifest-Version: 1.0&#xA;Main-Class: org.sat4j.pb.LanceurPseudo2007&#xA;Require-Bundle: org.sat4j.core&#xA;Implementation-Version: 2.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Ant-Version: Apache Ant 1.7.1&#xA;Implementation-Title: SAT4J&#xA;Bundle-Localization: plugin&#xA;Specification-Version: NA&#xA;Export-Package: org.sat4j.pb,org.sat4j.pb.constraints,org.sat4j.pb.constraints.pb,org.sat4j.pb.core,org.sat4j.pb.orders,org.sat4j.pb.reader&#xA;Bundle-ManifestVersion: 2
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.updatechecker' version='1.0.0.v20080427-2136'>
-      <update id='org.eclipse.equinox.p2.updatechecker' range='[0.0.0,1.0.0.v20080427-2136)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Update Checker'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.updatechecker_1.0.0.v20080427-2136.jar'/>
-        <property name='file.lastModified' value='1239159898808'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.updatechecker' version='1.0.0.v20080427-2136'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.updatechecker' version='1.0.0.v20080427-2136'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.updatechecker' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.updatechecker' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='12'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.updatechecker' version='1.0.0.v20080427-2136'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.equinox.internal.p2.updatechecker;x-internal:=true,org.eclipse.equinox.internal.provisional.p2.updatechecker;x-friends:=&quot;org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.ui.admin&quot;&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.3.0,4.0)&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.updatechecker.Activator&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.0.v20080427-2136&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker;singleton:=true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.osgi.framework;version=&quot;1.4.0&quot;&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene' version='1.9.1.v20080530-1600' singleton='false'>
-      <update id='org.apache.lucene' range='[0.0.0,1.9.1.v20080530-1600)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.lucene_1.9.1.v20080530-1600.jar'/>
-        <property name='file.lastModified' value='1239159892792'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' version='1.9.1.v20080530-1600'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene' version='1.9.1.v20080530-1600'/>
-        <provided namespace='java.package' name='org.apache.lucene' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.document' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.index' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.queryParser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search.spans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.store' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene' version='1.9.1.v20080530-1600'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.9.1.v20080530-1600&#xA;Export-Package: org.apache.lucene,org.apache.lucene.analysis,org.apache.lucene.analysis.de,org.apache.lucene.analysis.standard,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.apache.lucene&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.ui' version='3.3.102.v20081014_34x'>
-      <update id='org.eclipse.help.ui' range='[0.0.0,3.3.102.v20081014_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.help_system_plugin_name' value='Help System UI'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%help_system_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.help.ui_3.3.102.v20081014_34x.jar'/>
-        <property name='file.lastModified' value='1239159894355'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.ui' version='3.3.102.v20081014_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.help.ui' version='3.3.102.v20081014_34x'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal.browser.embedded' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.ui.internal.views' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.help.base' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.help.ui' version='3.3.102.v20081014_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %help_system_plugin_name&#xA;Bundle-Version: 3.3.102.v20081014_34x&#xA;Eclipse-LazyStart: true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.help.ui.internal.HelpUIPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.help.base;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.help.ui,org.eclipse.help.ui.browser,org.eclipse.help.ui.internal;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.ui.internal.browser;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.ui.internal.browser.embedded;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.ui.internal.search;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.ui.internal.util;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.ui.internal.views;x-friends:=&quot;org.eclipse.ui.cheatsheets,org.eclipse.ua.tests&quot;&#xA;Bundle-SymbolicName: org.eclipse.help.ui; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui' version='3.4.2.M20090204-0800'>
-      <update id='org.eclipse.ui' range='[0.0.0,3.4.2.M20090204-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Eclipse UI'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui_3.4.2.M20090204-0800.jar'/>
-        <property name='file.lastModified' value='1239159904448'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui' version='3.4.2.M20090204-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui' version='3.4.2.M20090204-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench' range='[3.4.2,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui' version='3.4.2.M20090204-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Activator: org.eclipse.ui.internal.UIPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-ClassPath: .&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui; singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.2.M20090204-0800&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.internal;x-internal:=true&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.swt;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.jface;bundle-version=&quot;[3.4.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.ui.workbench;bundle-version=&quot;[3.4.2,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.team.core' version='3.4.2.r34x_20080115'>
-      <update id='org.eclipse.team.core' range='[0.0.0,3.4.2.r34x_20080115)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Team Support Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.team.core_3.4.2.r34x_20080115.jar'/>
-        <property name='file.lastModified' value='1239159886651'/>
-      </properties>
-      <provides size='19'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.team.core' version='3.4.2.r34x_20080115'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.team.core' version='3.4.2.r34x_20080115'/>
-        <provided namespace='java.package' name='org.eclipse.team.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.diff' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.diff.provider' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.history.provider' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.mapping.provider' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.subscribers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.synchronize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.core.variants' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.core.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.core.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.core.streams' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.core.subscribers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.team.core' version='3.4.2.r34x_20080115'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.team.core,org.eclipse.team.core.diff,org.eclipse.team.core.diff.provider,org.eclipse.team.core.history,org.eclipse.team.core.history.provider,org.eclipse.team.core.mapping,org.eclipse.team.core.mapping.provider,org.eclipse.team.core.subscribers,org.eclipse.team.core.synchronize,org.eclipse.team.core.variants,org.eclipse.team.internal.core;x-friends:=&quot;org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui&quot;,org.eclipse.team.internal.core.history;x-friends:=&quot;org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui&quot;,org.eclipse.team.internal.core.mapping;x-friends:=&quot;org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui&quot;,org.eclipse.team.internal.core.streams;x-friends:=&quot;org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui&quot;,org.eclipse.team.internal.core.subscribers;x-friends:=&quot;org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui&quot;&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.team.internal.core.TeamPlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.4.2.r34x_20080115&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.team.core; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='javax.servlet' version='2.4.0.v200806031604' singleton='false'>
-      <update id='javax.servlet' range='[0.0.0,2.4.0.v200806031604)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Servlet API Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\javax.servlet_2.4.0.v200806031604.jar'/>
-        <property name='file.lastModified' value='1239159891339'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.4.0.v200806031604'/>
-        <provided namespace='osgi.bundle' name='javax.servlet' version='2.4.0.v200806031604'/>
-        <provided namespace='java.package' name='javax.servlet' version='2.4.0'/>
-        <provided namespace='java.package' name='javax.servlet.http' version='2.4.0'/>
-        <provided namespace='java.package' name='javax.servlet.resources' version='2.4.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet' version='2.4.0.v200806031604'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %bundleName&#xA;Bundle-Version: 2.4.0.v200806031604&#xA;Export-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.resources;version=&quot;2.4&quot;&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-SymbolicName: javax.servlet&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %bundleProvider&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.commands' version='3.4.0.I20080509-2000' singleton='false'>
-      <update id='org.eclipse.core.commands' range='[0.0.0,3.4.0.I20080509-2000)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Commands'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.commands_3.4.0.I20080509-2000.jar'/>
-        <property name='file.lastModified' value='1239159900198'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.commands' version='3.4.0.I20080509-2000'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.commands' version='3.4.0.I20080509-2000'/>
-        <provided namespace='java.package' name='org.eclipse.core.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.commands.common' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.commands.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.commands.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.commands.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.commands.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.commands.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.commands' version='3.4.0.I20080509-2000'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-ClassPath: .&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.core.commands&#xA;Bundle-Version: 3.4.0.I20080509-2000&#xA;Export-Package: org.eclipse.core.commands,org.eclipse.core.commands.common,org.eclipse.core.commands.contexts,org.eclipse.core.commands.operations,org.eclipse.core.commands.util,org.eclipse.core.internal.commands.operations;x-internal:=true,org.eclipse.core.internal.commands.util;x-internal:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.simpleconfigurator.manipulator' version='1.0.4.v20090218'>
-      <update id='org.eclipse.equinox.simpleconfigurator.manipulator' range='[0.0.0,1.0.4.v20090218)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Simple Configurator Manipulator'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.simpleconfigurator.manipulator' version='1.0.4.v20090218'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.simpleconfigurator.manipulator' version='1.0.4.v20090218'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.simpleconfigurator.manipulator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.simpleconfigurator.utils' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.equinox' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.utils' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.configuratormanipulator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.frameworkadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.service.startlevel' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.simpleconfigurator.manipulator' version='1.0.4.v20090218'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.4.v20090218&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.equinox.internal.frameworkadmin.equinox,org.eclipse.equinox.internal.frameworkadmin.utils,org.eclipse.equinox.internal.provisional.configuratormanipulator,org.eclipse.equinox.internal.provisional.frameworkadmin,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.service.startlevel;version=&quot;1.0.0&quot;,org.osgi.util.tracker&#xA;Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.manipulator.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;3.4.0&quot;&#xA;Export-Package: org.eclipse.equinox.internal.simpleconfigurator.manipulator;x-friends:=&quot;org.eclipse.equinox.p2.touchpoint.eclipse&quot;,org.eclipse.equinox.internal.simpleconfigurator.utils;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.frameworkadmin' version='1.0.2.R34x_v20081007'>
-      <update id='org.eclipse.equinox.frameworkadmin' range='[0.0.0,1.0.2.R34x_v20081007)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Framework Admin'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.frameworkadmin' version='1.0.2.R34x_v20081007'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.frameworkadmin' version='1.0.2.R34x_v20081007'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.frameworkadmin.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.configuratormanipulator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.frameworkadmin' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.pluginconversion' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.startlevel' range='1.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.frameworkadmin' version='1.0.2.R34x_v20081007'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.2.R34x_v20081007&#xA;Import-Package: org.eclipse.osgi.service.pluginconversion;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.startlevel;version=&quot;1.0.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.frameworkadmin.utils.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;3.4.0&quot;&#xA;Export-Package: org.eclipse.equinox.internal.frameworkadmin.utils;x-friends:=&quot;org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.p2.metadata.generator&quot;,org.eclipse.equinox.internal.provisional.configuratormanipulator;x-internal:=true,org.eclipse.equinox.internal.provisional.frameworkadmin;x-friends:=&quot;org.eclipse.pde.p2.ui,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.metadata.generator&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.metadata.repository' version='1.0.0.v20080604'>
-      <update id='org.eclipse.equinox.p2.metadata.repository' range='[0.0.0,1.0.0.v20080604)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Metadata Repository'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata.repository' version='1.0.0.v20080604'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.metadata.repository' version='1.0.0.v20080604'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='26'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='1.2.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.filetransfer' range='2.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='3.4.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.jobs' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.preferences' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.app' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.persistence' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.security.storage' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.prefs' range='1.1.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.metadata.repository' version='1.0.0.v20080604'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-Version: 1.0.0.v20080604&#xA;Import-Package: org.eclipse.core.runtime.preferences,org.eclipse.equinox.app;resolution:=optional,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata,org.eclipse.equinox.internal.p2.persistence,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.security.storage,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.prefs;version=&quot;1.1.0&quot;,org.xml.sax&#xA;Eclipse-BuddyPolicy: registered&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.ecf;bundle-version=&quot;1.2.0&quot;,org.eclipse.ecf.filetransfer;bundle-version=&quot;2.0.0&quot;,org.eclipse.osgi;bundle-version=&quot;3.4.0&quot;,org.eclipse.core.jobs;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Eclipse-LazyStart: true&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository;singleton:=true&#xA;Export-Package: org.eclipse.equinox.internal.p2.metadata.repository;x-friends:=&quot;org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.reconciler.dropins, org.eclipse.equinox.p2.ui&quot;,org.eclipse.equinox.internal.p2.metadata.repository.io;x-friends:=&quot;org.eclipse.equinox.p2.engine&quot;,org.eclipse.equinox.internal.provisional.p2.metadata.repository; x-friends:=&quot;org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository;x-friends:=&quot;org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.updatesite&quot;&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.repository.Activator&#xA;Bundle-Name: %pluginName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu' version='3.8.1.v20080530'>
-      <update id='com.ibm.icu' range='[0.0.0,3.8.1.v20080530)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\com.ibm.icu_3.8.1.v20080530.jar'/>
-        <property name='file.lastModified' value='1239159899901'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.8.1.v20080530'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.8.1.v20080530'/>
-        <provided namespace='java.package' name='com.ibm.icu.lang' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.math' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.brkitr' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.coll' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.rbnf' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.translit' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.8.1.v20080530'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.&#xA;Bundle-SymbolicName: com.ibm.icu; singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.8.1.v20080530&#xA;Bundle-Localization: plugin&#xA;Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.&#xA;Eclipse-ExtensibleAPI: true&#xA;Export-Package: com.ibm.icu.lang;version=&quot;3.8.1&quot;,com.ibm.icu.math;version=&quot;3.8.1&quot;,com.ibm.icu.text;version=&quot;3.8.1&quot;,com.ibm.icu.util;version=&quot;3.8.1&quot;,com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt38b;x-internal:=true,com.ibm.icu.impl.data.icudt38b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt38b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt38b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt38b.translit;x-internal:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf' version='2.0.0.v20080611-1715'>
-      <update id='org.eclipse.ecf' range='[0.0.0,2.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='Eclipse Communication Framework (ECF)'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf' version='2.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf' version='2.0.0.v20080611-1715'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.provider' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.start' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.user' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.internal.core' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.identity' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.log' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf' version='2.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Import-Package: org.eclipse.core.runtime.jobs,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.log;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Manifest-Version: 1.0&#xA;Bundle-Name: %plugin.name&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Vendor: %plugin.provider&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Export-Package: org.eclipse.ecf.core,org.eclipse.ecf.core.events,org.eclipse.ecf.core.provider,org.eclipse.ecf.core.security,org.eclipse.ecf.core.start,org.eclipse.ecf.core.user,org.eclipse.ecf.core.util,org.eclipse.ecf.internal.core;x-internal:=true&#xA;Bundle-Version: 2.0.0.v20080611-1715&#xA;Bundle-Activator: org.eclipse.ecf.internal.core.ECFPlugin&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.ecf.identity;visibility:=reexport&#xA;Eclipse-LazyStart: true&#xA;Bundle-SymbolicName: org.eclipse.ecf;singleton:=true&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.el' version='1.0.0.v200806031608' singleton='false'>
-      <update id='org.apache.commons.el' range='[0.0.0,1.0.0.v200806031608)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Apache Commons JSP 2.0 Expression Language Interpreter'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.commons.el_1.0.0.v200806031608.jar'/>
-        <property name='file.lastModified' value='1239159891855'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el' version='1.0.0.v200806031608'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.el' version='1.0.0.v200806031608'/>
-        <provided namespace='java.package' name='org.apache.commons.el' version='1.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.el.parser' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.el' version='1.0.0.v200806031608'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 1.0.0.v200806031608&#xA;Export-Package: org.apache.commons.el;version=&quot;1.0.0&quot;,org.apache.commons.el.parser;version=&quot;1.0.0&quot;&#xA;Bundle-SymbolicName: org.apache.commons.el&#xA;Import-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.jsp;version=&quot;2.0&quot;,javax.servlet.jsp.el;version=&quot;2.0&quot;,javax.servlet.jsp.resources;version=&quot;2.0&quot;,javax.servlet.jsp.tagext;version=&quot;2.0&quot;,javax.servlet.resources;version=&quot;2.4&quot;&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %bundleName&#xA;Bundle-Vendor: %bundleProvider&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-       <unit id='org.eclipse.jface.text' version='3.4.2.r342_v20081119-0800' singleton='false'>
-      <update id='org.eclipse.jface.text' range='[0.0.0,3.4.2.r342_v20081119-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JFace Text'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.jface.text_3.4.2.r342_v20081119-0800.jar'/>
-        <property name='file.lastModified' value='1239159884589'/>
-      </properties>
-      <provides size='27'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.text' version='3.4.2.r342_v20081119-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.jface.text' version='3.4.2.r342_v20081119-0800'/>
-        <provided namespace='java.package' name='org.eclipse.jface.contentassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.contentassist.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.text.link.contentassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.text.revisions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.text.source' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.contentassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.formatter' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.hyperlink' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.information' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.link' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.presentation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.quickassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.reconciler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.revisions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.rules' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.source' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.source.projection' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.source.projection.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.templates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.templates.persistence' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.jface.text' version='3.4.2.r342_v20081119-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.jface;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.jface.text&#xA;Bundle-Version: 3.4.2.r342_v20081119-0800&#xA;Export-Package: org.eclipse.jface.contentassist,org.eclipse.jface.contentassist.images,org.eclipse.jface.internal.text;x-internal:=true,org.eclipse.jface.internal.text.html;x-friends:=&quot;org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editors, org.eclipse.jdt.debug.ui, org.eclipse.jdt.ui, org.eclipse.ant.ui, org.eclipse.ltk.ui.refactoring&quot;,org.eclipse.jface.internal.text.link.contentassist;x-internal:=true,org.eclipse.jface.internal.text.revisions;x-internal:=true,org.eclipse.jface.internal.text.source;x-internal:=true,org.eclipse.jface.text,org.eclipse.jface.text.contentassist,org.eclipse.jface.text.formatter,org.eclipse.jface.text.hyperlink,org.eclipse.jface.text.information,org.eclipse.jface.text.link,org.eclipse.jface.text.presentation,org.eclipse.jface.text.quickassist,org.eclipse.jface.text.reconciler,org.eclipse.jface.text.revisions,org.eclipse.jface.text.rules,org.eclipse.jface.text.source,org.eclipse.jface.text.source.projection,org.eclipse.jface.text.source.projection.images,org.eclipse.jface.text.templates,org.eclipse.jface.text.templates.persistence&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.update.scheduler' version='3.2.100.v20080404'>
-      <update id='org.eclipse.update.scheduler' range='[0.0.0,3.2.100.v20080404)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Automatic Updates Scheduler'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.update.scheduler_3.2.100.v20080404.jar'/>
-        <property name='file.lastModified' value='1239159890980'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.scheduler' version='3.2.100.v20080404'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.update.scheduler' version='3.2.100.v20080404'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.scheduler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.scheduler.preferences' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.core' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.ui' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.100,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.update.scheduler' version='3.2.100.v20080404'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.update.internal.scheduler;x-internal:=true,org.eclipse.update.internal.scheduler.preferences;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.update.core;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.update.ui;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.update.configurator;bundle-version=&quot;[3.1.100,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.update.internal.scheduler.UpdateSchedulerPlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.2.100.v20080404&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.update.scheduler; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.intro' version='3.2.201.v20080702_34x'>
-      <update id='org.eclipse.ui.intro' range='[0.0.0,3.2.201.v20080702_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.plugin_name' value='Welcome Framework'/>
-        <property name='df_LT.provider_name' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%provider_name'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.intro_3.2.201.v20080702_34x.jar'/>
-        <property name='file.lastModified' value='1239159888792'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.intro' version='3.2.201.v20080702_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.intro' version='3.2.201.v20080702_34x'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.model.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.model.url' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.model.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.model.viewer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.parts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.presentations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.impl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.intro.config' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help.base' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform.dom' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform.stream' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.intro' version='3.2.201.v20080702_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %plugin_name&#xA;Bundle-Version: 3.2.201.v20080702_34x&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.stream,org.w3c.dom,org.xml.sax&#xA;Bundle-Activator: org.eclipse.ui.internal.intro.impl.IntroPlugin&#xA;Bundle-Vendor: %provider_name&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.help.base;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.ui.internal.intro.impl;x-friends:=&quot;org.eclipse.ui.intro.universal,org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.intro.impl.html;x-internal:=true,org.eclipse.ui.internal.intro.impl.model;x-friends:=&quot;org.eclipse.ua.tests,org.eclipse.ui.intro.universal&quot;,org.eclipse.ui.internal.intro.impl.model.loader;x-friends:=&quot;org.eclipse.ua.tests,org.eclipse.ui.intro.universal&quot;,org.eclipse.ui.internal.intro.impl.model.url;x-internal:=true,org.eclipse.ui.internal.intro.impl.model.util;x-internal:=true,org.eclipse.ui.internal.intro.impl.model.viewer;x-internal:=true,org.eclipse.ui.internal.intro.impl.parts;x-internal:=true,org.eclipse.ui.internal.intro.impl.presentations;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.intro.impl.swt;x-internal:=true,org.eclipse.ui.internal.intro.impl.util;x-internal:=true,org.eclipse.ui.intro.config&#xA;Bundle-SymbolicName: org.eclipse.ui.intro; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.resources' version='3.4.2.R34x_v20090126'>
-      <update id='org.eclipse.core.resources' range='[0.0.0,3.4.2.R34x_v20090126)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core Resource Management'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.resources_3.4.2.R34x_v20090126.jar'/>
-        <property name='file.lastModified' value='1239159883073'/>
-      </properties>
-      <provides size='19'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources' version='3.4.2.R34x_v20090126'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.resources' version='3.4.2.R34x_v20090126'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.dtree' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.localstore' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.propertytester' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.refresh' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.resources.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.resources.refresh.win32' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.watson' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.resources.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.resources.refresh' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.resources.team' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.ant.core' range='[3.1.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.resources' version='3.4.2.R34x_v20090126'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.core.internal.dtree;x-internal:=true,org.eclipse.core.internal.events;x-internal:=true,org.eclipse.core.internal.localstore;x-internal:=true,org.eclipse.core.internal.properties;x-internal:=true,org.eclipse.core.internal.propertytester;x-internal:=true,org.eclipse.core.internal.refresh;x-internal:=true,org.eclipse.core.internal.resources;x-internal:=true,org.eclipse.core.internal.resources.mapping;x-internal:=true,org.eclipse.core.internal.resources.refresh.win32;x-internal:=true,org.eclipse.core.internal.utils;x-internal:=true,org.eclipse.core.internal.watson;x-internal:=true,org.eclipse.core.resources,org.eclipse.core.resources.mapping,org.eclipse.core.resources.refresh,org.eclipse.core.resources.team&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ant.core;bundle-version=&quot;[3.1.0,4.0.0)&quot;;resolution:=optional,org.eclipse.core.expressions;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.core.resources.ResourcesPlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.4.2.R34x_v20090126&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.resources; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.update.core' version='3.2.202.R34x_v20081128'>
-      <update id='org.eclipse.update.core' range='[0.0.0,3.2.202.R34x_v20081128)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Install/Update Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.update.core_3.2.202.R34x_v20081128.jar'/>
-        <property name='file.lastModified' value='1239159890745'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.core' version='3.2.202.R34x_v20081128'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.update.core' version='3.2.202.R34x_v20081128'/>
-        <provided namespace='java.package' name='org.eclipse.update.configuration' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.core.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.core.connection' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.jarprocessor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.mirror' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.provisional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.verifier' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.standalone' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.net' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.update.core' version='3.2.202.R34x_v20081128'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.update.internal.core.UpdateCore&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.update.core; singleton:=true&#xA;Import-Package: javax.xml.parsers,org.w3c.dom,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.2.202.R34x_v20081128&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.update.configuration,org.eclipse.update.core,org.eclipse.update.core.model,org.eclipse.update.internal.core;x-friends:=&quot;org.eclipse.update.ui,org.eclipse.update.scheduler,org.eclipse.pde.build&quot;,org.eclipse.update.internal.core.connection;x-internal:=true,org.eclipse.update.internal.jarprocessor;x-friends:=&quot;org.eclipse.pde.build&quot;,org.eclipse.update.internal.mirror;x-internal:=true,org.eclipse.update.internal.model;x-friends:=&quot;org.eclipse.update.ui&quot;,org.eclipse.update.internal.operations;x-friends:=&quot;org.eclipse.update.ui,org.eclipse.update.scheduler&quot;,org.eclipse.update.internal.provisional;x-internal:=true,org.eclipse.update.internal.search;x-friends:=&quot;org.eclipse.update.ui&quot;,org.eclipse.update.internal.security;x-internal:=true,org.eclipse.update.internal.verifier;x-internal:=true,org.eclipse.update.operations,org.eclipse.update.search,org.eclipse.update.standalone&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.update.configurator;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.net;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.platform.feature.jar' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'>
-      <update id='org.eclipse.platform.feature.jar' range='[0.0.0,3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL)' severity='0'/>
-      <properties size='10'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='Eclipse Platform'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2000, 2007 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.platform_3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-        <property name='file.lastModified' value='1239159906698'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform.feature.jar' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.platform' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.platform' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.apache.jasper' version='5.5.17.v200806031609' singleton='false'>
-      <update id='org.apache.jasper' range='[0.0.0,5.5.17.v200806031609)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Apache Jasper 2 Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.jasper_5.5.17.v200806031609.jar'/>
-        <property name='file.lastModified' value='1239159892620'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper' version='5.5.17.v200806031609'/>
-        <provided namespace='osgi.bundle' name='org.apache.jasper' version='5.5.17.v200806031609'/>
-        <provided namespace='java.package' name='org.apache.jasper' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.compiler.tagplugin' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.servlet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.xmlparser' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.el' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.tools.ant' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.taskdefs' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.types' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.util' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.jasper' version='5.5.17.v200806031609'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %bundleProvider&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-ClassPath: .&#xA;Import-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.jsp;version=&quot;2.0&quot;,javax.servlet.jsp.el;version=&quot;2.0&quot;,javax.servlet.jsp.resources;version=&quot;2.0&quot;,javax.servlet.jsp.tagext;version=&quot;2.0&quot;,javax.servlet.resources;version=&quot;2.4&quot;,javax.xml.parsers,org.apache.commons.el;version=&quot;[1.0.0,2.0.0)&quot;,org.apache.commons.logging;version=&quot;[1.0.0,2.0.0)&quot;,org.apache.tools.ant;resolution:=optional,org.apache.tools.ant.taskdefs;resolution:=optional,org.apache.tools.ant.types;resolution:=optional,org.apache.tools.ant.util;resolution:=optional,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers&#xA;Bundle-Name: %bundleName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.apache.jasper&#xA;Bundle-Version: 5.5.17.v200806031609&#xA;Export-Package: org.apache.jasper,org.apache.jasper.compiler,org.apache.jasper.compiler.tagplugin,org.apache.jasper.resources,org.apache.jasper.runtime,org.apache.jasper.security,org.apache.jasper.servlet,org.apache.jasper.tagplugins.jstl,org.apache.jasper.tagplugins.jstl.core,org.apache.jasper.util,org.apache.jasper.xmlparser&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.workbench.texteditor' version='3.4.1.r341_v20080827-1100'>
-      <update id='org.eclipse.ui.workbench.texteditor' range='[0.0.0,3.4.1.r341_v20080827-1100)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Text Editor Framework'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.workbench.texteditor_3.4.1.r341_v20080827-1100.jar'/>
-        <property name='file.lastModified' value='1239159890448'/>
-      </properties>
-      <provides size='17'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench.texteditor' version='3.4.1.r341_v20080827-1100'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' version='3.4.1.r341_v20080827-1100'/>
-        <provided namespace='java.package' name='org.eclipse.ui.contentassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor.quickdiff' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor.quickdiff.compare.equivalence' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor.rulers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.texteditor.spelling' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor.link' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor.quickdiff' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor.rulers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor.spelling' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.texteditor.templates' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.workbench.texteditor' version='3.4.1.r341_v20080827-1100'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ui.internal.texteditor.TextEditorPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.workbench.texteditor; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.1.r341_v20080827-1100&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.contentassist,org.eclipse.ui.internal.texteditor;x-internal:=true; texteditor=&quot;split&quot;; mandatory:=&quot;texteditor&quot;,org.eclipse.ui.internal.texteditor.quickdiff;x-internal:=true,org.eclipse.ui.internal.texteditor.quickdiff.compare.equivalence;x-internal:=true,org.eclipse.ui.internal.texteditor.quickdiff.compare.rangedifferencer;x-internal:=true,org.eclipse.ui.internal.texteditor.rulers;x-internal:=true,org.eclipse.ui.internal.texteditor.spelling;x-internal:=true,org.eclipse.ui.texteditor; texteditor=&quot;split&quot;; mandatory:=&quot;texteditor&quot;,org.eclipse.ui.texteditor.link,org.eclipse.ui.texteditor.quickdiff,org.eclipse.ui.texteditor.rulers,org.eclipse.ui.texteditor.spelling,org.eclipse.ui.texteditor.templates&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.intro.universal' version='3.2.200.v20080508'>
-      <update id='org.eclipse.ui.intro.universal' range='[0.0.0,3.2.200.v20080508)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.plugin_name' value='Universal Welcome'/>
-        <property name='df_LT.provider_name' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%provider_name'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.intro.universal_3.2.200.v20080508'/>
-        <property name='file.lastModified' value='1239159908761'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.intro.universal' version='3.2.200.v20080508'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.intro.universal' version='3.2.200.v20080508'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.universal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.universal.contentdetect' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro.universal.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.intro.universal' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.intro' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.intro.universal' version='3.2.200.v20080508'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-ActivationPolicy: lazy;exclude:=&quot;org.eclipse.ui.internal.intro.universal.contentdetect&quot;&#xA;Bundle-Name: %plugin_name&#xA;Bundle-ClassPath: universal.jar&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.intro;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ui.internal.intro.universal.UniversalIntroPlugin&#xA;Bundle-Vendor: %provider_name&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.2.200.v20080508&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.internal.intro.universal;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.intro.universal.contentdetect;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.intro.universal.util;x-internal:=true,org.eclipse.ui.intro.universal&#xA;Bundle-SymbolicName: org.eclipse.ui.intro.universal;singleton:=true&#xA;Import-Package: javax.xml.parsers,org.w3c.dom,org.xml.sax&#xA;Eclipse-LazyStart: true; exceptions=&quot;org.eclipse.ui.internal.intro.universal.contentdetect&quot;&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.swt.win32.win32.x86' version='3.4.1.v3452b'>
-      <update id='org.eclipse.swt.win32.win32.x86' range='[0.0.0,3.4.1.v3452b)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.fragmentName' value='Standard Widget Toolkit for Windows'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.swt.win32.win32.x86_3.4.1.v3452b.jar'/>
-        <property name='file.lastModified' value='1239159904073'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt.win32.win32.x86' version='3.4.1.v3452b'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.swt.win32.win32.x86' version='3.4.1.v3452b'/>
-        <provided namespace='java.package' name='org.eclipse.swt.ole.win32' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.gdip' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.ole.win32' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.win32' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.swt.internal.opengl.win32' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.swt' version='3.4.1.v3452b'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.0.0,4.0.0)'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.swt.win32.win32.x86' version='3.4.1.v3452b'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Localization: fragment&#xA;Manifest-Version: 1.0&#xA;Fragment-Host: org.eclipse.swt; bundle-version=&quot;[3.0.0,4.0.0)&quot;&#xA;Bundle-SymbolicName: org.eclipse.swt.win32.win32.x86; singleton:=true&#xA;Bundle-Version: 3.4.1.v3452b&#xA;Export-Package: org.eclipse.swt.ole.win32,org.eclipse.swt.internal.gdip; x-internal:=true,org.eclipse.swt.internal.ole.win32; x-internal:=true,org.eclipse.swt.internal.win32; x-internal:=true,org.eclipse.swt.internal.opengl.win32; x-internal:=true&#xA;Eclipse-PlatformFilter: (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-        <unit id='org.eclipse.ui.ide' version='3.4.2.M20090127-1700'>
-      <update id='org.eclipse.ui.ide' range='[0.0.0,3.4.2.M20090127-1700)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Eclipse IDE UI'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.ide_3.4.2.M20090127-1700.jar'/>
-        <property name='file.lastModified' value='1239159888386'/>
-      </properties>
-      <provides size='41'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide' version='3.4.2.M20090127-1700'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.ide' version='3.4.2.M20090127-1700'/>
-        <provided namespace='java.package' name='org.eclipse.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.ide' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.ide.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.ide.fileSystem' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.ide.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.filesystem' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.misc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.update' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.bookmarkexplorer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.framelist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.markers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.navigator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.tasklist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.wizards.datatransfer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.wizards.newresource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.part' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.bookmarkexplorer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.framelist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.markers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.markers.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.navigator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.tasklist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.wizards.datatransfer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.wizards.newresource' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='12'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.views' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.100,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.core' range='[3.1.100,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.ui' range='[3.1.100,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.3.0,4.0.0)' optional='true'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.ide' version='3.4.2.M20090127-1700'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %Plugin.name&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.4.2.M20090127-1700&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.ui.internal.ide.IDEWorkbenchPlugin&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Require-Bundle: org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui.views;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.update.configurator;bundle-version=&quot;[3.1.100,4.0.0)&quot;;resolution:=optional,org.eclipse.update.core;bundle-version=&quot;[3.1.100,4.0.0)&quot;;resolution:=optional,org.eclipse.update.ui;bundle-version=&quot;[3.1.100,4.0.0)&quot;;resolution:=optional,org.eclipse.jface.text;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.3.0,4.0.0)&quot;;resolution:=optional&#xA;Export-Package: org.eclipse.ui,org.eclipse.ui.actions,org.eclipse.ui.dialogs,org.eclipse.ui.ide,org.eclipse.ui.ide.dialogs,org.eclipse.ui.ide.fileSystem,org.eclipse.ui.ide.undo,org.eclipse.ui.internal.ide;x-friends:=&quot;org.eclipse.ui.ide.application&quot;,org.eclipse.ui.internal.ide.actions;x-internal:=true,org.eclipse.ui.internal.ide.commands;x-internal:=true,org.eclipse.ui.internal.ide.dialogs;x-friends:=&quot;org.eclipse.ui.ide.application&quot;,org.eclipse.ui.internal.ide.filesystem;x-internal:=true,org.eclipse.ui.internal.ide.handlers;x-internal:=true,org.eclipse.ui.internal.ide.misc;x-internal:=true,org.eclipse.ui.internal.ide.model;x-friends:=&quot;org.eclipse.ui.ide.application&quot;,org.eclipse.ui.internal.ide.registry;x-internal:=true,org.eclipse.ui.internal.ide.undo;x-friends:=&quot;org.eclipse.ui.ide.application&quot;,org.eclipse.ui.internal.ide.update;x-internal:=true,org.eclipse.ui.internal.views.bookmarkexplorer;x-internal:=true,org.eclipse.ui.internal.views.framelist;x-internal:=true,org.eclipse.ui.internal.views.markers;x-internal:=true,org.eclipse.ui.internal.views.navigator;x-internal:=true,org.eclipse.ui.internal.views.properties;x-internal:=true,org.eclipse.ui.internal.views.tasklist;x-internal:=true,org.eclipse.ui.internal.wizards.datatransfer;x-internal:=true,org.eclipse.ui.internal.wizards.newresource;x-internal:=true,org.eclipse.ui.model,org.eclipse.ui.part,org.eclipse.ui.views.bookmarkexplorer,org.eclipse.ui.views.framelist,org.eclipse.ui.views.markers,org.eclipse.ui.views.markers.internal;x-internal:=true,org.eclipse.ui.views.navigator,org.eclipse.ui.views.properties,org.eclipse.ui.views.tasklist,org.eclipse.ui.wizards.datatransfer,org.eclipse.ui.wizards.newresource&#xA;Bundle-SymbolicName: org.eclipse.ui.ide; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.metadata' version='1.0.0.v20080514-1900'>
-      <update id='org.eclipse.equinox.p2.metadata' range='[0.0.0,1.0.0.v20080514-1900)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Metadata'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.metadata' version='1.0.0.v20080514-1900'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.metadata' version='1.0.0.v20080514-1900'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.metadata' version='1.0.0.v20080514-1900'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.0.v20080514-1900&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.metadata.MetadataActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.p2.core&#xA;Export-Package: org.eclipse.equinox.internal.p2.metadata; x-friends:=&quot;org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.metadata; x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.core,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.exemplarysetup,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.jarprocessor,  org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.metadata.query; x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.core,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.exemplarysetup,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.jarprocessor,  org.eclipse.equinox.p2.metadata,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.metadata.repository,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.console&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.metadata;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.directorywatcher' version='1.0.2.v20080806-1619'>
-      <update id='org.eclipse.equinox.p2.directorywatcher' range='[0.0.0,1.0.2.v20080806-1619)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Directory Watcher'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.directorywatcher' version='1.0.2.v20080806-1619'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.directorywatcher' version='1.0.2.v20080806-1619'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.directorywatcher' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.generator.features' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.4.0'/>
-        <required namespace='java.package' name='org.osgi.service.cm' range='1.2.0' optional='true'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.directorywatcher' version='1.0.2.v20080806-1619'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.2.v20080806-1619&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata.generator.features,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.generator,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util,org.osgi.framework;version=&quot;1.4.0&quot;,org.osgi.service.cm;version=&quot;1.2.0&quot;;resolution:=optional,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.util.tracker;version=&quot;1.3.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.provisional.p2.directorywatcher.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.3.0,4.0)&quot;&#xA;Export-Package: org.eclipse.equinox.internal.provisional.p2.directorywatcher;x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.jsp' version='2.0.0.v200806031607' singleton='false'>
-      <update id='javax.servlet.jsp' range='[0.0.0,2.0.0.v200806031607)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Java Server Pages API Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\javax.servlet.jsp_2.0.0.v200806031607.jar'/>
-        <property name='file.lastModified' value='1239159891480'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' version='2.0.0.v200806031607'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.jsp' version='2.0.0.v200806031607'/>
-        <provided namespace='java.package' name='javax.servlet.jsp' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.el' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.resources' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.tagext' version='2.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.jsp' version='2.0.0.v200806031607'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 2.0.0.v200806031607&#xA;Export-Package: javax.servlet.jsp; version=2.0,javax.servlet.jsp.el; version=2.0,javax.servlet.jsp.resources; version=2.0,javax.servlet.jsp.tagext; version=2.0&#xA;Bundle-SymbolicName: javax.servlet.jsp&#xA;Import-Package: javax.servlet; version=2.4,javax.servlet.http; version=2.4,javax.servlet.resources; version=2.4&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %bundleName&#xA;Bundle-Vendor: %bundleProvider&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.update.configurator' version='3.2.201.R34x_v20080819'>
-      <update id='org.eclipse.update.configurator' range='[0.0.0,3.2.201.R34x_v20080819)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Install/Update Configurator'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.update.configurator_3.2.201.R34x_v20080819.jar'/>
-        <property name='file.lastModified' value='1239159904980'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.update.configurator' version='3.2.201.R34x_v20080819'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.update.configurator' version='3.2.201.R34x_v20080819'/>
-        <provided namespace='java.package' name='org.eclipse.update.configurator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.configurator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.update.internal.configurator.branding' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.update.configurator' version='3.2.201.R34x_v20080819'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.update.internal.configurator.ConfigurationActivator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.update.configurator; singleton:=true&#xA;Import-Package: javax.xml.parsers,org.w3c.dom,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.2.201.R34x_v20080819&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.update.configurator,org.eclipse.update.internal.configurator;x-friends:=&quot;org.eclipse.update.core&quot;,org.eclipse.update.internal.configurator.branding;x-friends:=&quot;org.eclipse.update.core&quot;&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.osgi;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.browser' version='3.2.201.v20080708_34x'>
-      <update id='org.eclipse.ui.browser' range='[0.0.0,3.2.201.v20080708_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Browser Support'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.browser_3.2.201.v20080708_34x.jar'/>
-        <property name='file.lastModified' value='1239159887495'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.browser' version='3.2.201.v20080708_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.browser' version='3.2.201.v20080708_34x'/>
-        <provided namespace='java.package' name='org.eclipse.ui.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.browser.browsers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.browser.macosx' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.browser' version='3.2.201.v20080708_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.2.201.v20080708_34x&#xA;Eclipse-LazyStart: true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.ui.internal.browser.WebBrowserUIPlugin&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.ui.browser,org.eclipse.ui.internal.browser;x-internal:=true,org.eclipse.ui.internal.browser.browsers;x-internal:=true,org.eclipse.ui.internal.browser.macosx;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.ui.browser; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.net' version='1.0.0.I20080605'>
-      <update id='org.eclipse.ui.net' range='[0.0.0,1.0.0.I20080605)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.PLUGIN_NAME' value='Internet Connection Management UI'/>
-        <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.net_1.0.0.I20080605.jar'/>
-        <property name='file.lastModified' value='1239159889698'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.net' version='1.0.0.I20080605'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.net' version='1.0.0.I20080605'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.net.auth' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.net' range='[1.0.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.net' version='1.0.0.I20080605'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.internal.net;x-internal:=true,org.eclipse.ui.internal.net.auth;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.net;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ui.internal.net.Activator&#xA;Bundle-Name: %PLUGIN_NAME&#xA;Bundle-Version: 1.0.0.I20080605&#xA;Bundle-Vendor: %PLUGIN_PROVIDER&#xA;Bundle-SymbolicName: org.eclipse.ui.net; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.launcher_eclipse.exe' version='1.0.0'>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.launcher_eclipse.exe' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='binary' id='org.eclipse.launcher_eclipse.exe' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='com.jcraft.jsch' version='0.1.37.v200803061811' singleton='false'>
-      <update id='com.jcraft.jsch' range='[0.0.0,0.1.37.v200803061811)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='JSch'/>
-        <property name='df_LT.venderName' value='JCraft, Inc.'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\com.jcraft.jsch_0.1.37.v200803061811.jar'/>
-        <property name='file.lastModified' value='1239159881667'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-        <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-        <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jgss' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 0.1.37.v200803061811&#xA;Export-Package: com.jcraft.jsch,com.jcraft.jsch.jce;x-internal:=true,com.jcraft.jsch.jcraft;x-internal:=true,com.jcraft.jsch.jgss;x-internal:=true&#xA;Bundle-SymbolicName: com.jcraft.jsch&#xA;Bundle-Localization: plugin&#xA;Bundle-ClassPath: .&#xA;Bundle-Name: %bundleName&#xA;Bundle-Vendor: %venderName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.resources.compatibility' version='3.4.0.v20080604-1400' singleton='false'>
-      <update id='org.eclipse.core.resources.compatibility' range='[0.0.0,3.4.0.v20080604-1400)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='%compatibilityFragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.resources.compatibility_3.4.0.v20080604-1400.jar'/>
-        <property name='file.lastModified' value='1239159883261'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources.compatibility' version='3.4.0.v20080604-1400'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.resources.compatibility' version='3.4.0.v20080604-1400'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.indexing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.localstore' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.resources' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.core.resources' version='3.4.0.v20080604-1400'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.4.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.resources.compatibility' version='3.4.0.v20080604-1400'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Fragment-Host: org.eclipse.core.resources;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.4.0.v20080604-1400&#xA;Export-Package: org.eclipse.core.internal.indexing;x-internal:=true,org.eclipse.core.internal.localstore;x-internal:=true,org.eclipse.core.internal.properties;x-internal:=true,org.eclipse.core.internal.resources;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.core.resources.compatibility&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %compatibilityFragmentName&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ltk.ui.refactoring' version='3.4.1.r341_v20080716-0800'>
-      <update id='org.eclipse.ltk.ui.refactoring' range='[0.0.0,3.4.1.r341_v20080716-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Refactoring UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ltk.ui.refactoring_3.4.1.r341_v20080716-0800.jar'/>
-        <property name='file.lastModified' value='1239159885167'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ltk.ui.refactoring' version='3.4.1.r341_v20080716-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ltk.ui.refactoring' version='3.4.1.r341_v20080716-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring.scripting' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.internal.ui.refactoring.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.ui.refactoring' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.ui.refactoring.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.ui.refactoring.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.ui.refactoring.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ltk.ui.refactoring.resource' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filebuffers' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ltk.core.refactoring' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.navigator' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.compare' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.team.core' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.team.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ltk.ui.refactoring' version='3.4.1.r341_v20080716-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ltk.internal.ui.refactoring.RefactoringUIPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ltk.ui.refactoring; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.1.r341_v20080716-0800&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ltk.internal.ui.refactoring;x-internal:=true,org.eclipse.ltk.internal.ui.refactoring.actions;x-internal:=true,org.eclipse.ltk.internal.ui.refactoring.history;x-internal:=true,org.eclipse.ltk.internal.ui.refactoring.model;x-internal:=true,org.eclipse.ltk.internal.ui.refactoring.scripting;x-internal:=true,org.eclipse.ltk.internal.ui.refactoring.util;x-internal:=true,org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.ui.refactoring.actions,org.eclipse.ltk.ui.refactoring.history,org.eclipse.ltk.ui.refactoring.model,org.eclipse.ltk.ui.refactoring.resource&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filebuffers;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ltk.core.refactoring;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.navigator;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.compare;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.team.core;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.team.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.compare' version='3.4.1.r34x_20090121'>
-      <update id='org.eclipse.compare' range='[0.0.0,3.4.1.r34x_20090121)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Compare Support'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.compare_3.4.1.r34x_20090121.jar'/>
-        <property name='file.lastModified' value='1239159882042'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.compare' version='3.4.1.r34x_20090121'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.compare' version='3.4.1.r34x_20090121'/>
-        <provided namespace='java.package' name='org.eclipse.compare' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.contentmergeviewer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.internal.merge' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.internal.patch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.patch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.rangedifferencer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.compare.structuremergeviewer' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='12'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.views' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.util' range='0.0.0'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.compare' version='3.4.1.r34x_20090121'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.compare.internal.CompareUIPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.compare; singleton:=true&#xA;Import-Package: com.ibm.icu.util,com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.1.r34x_20090121&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.compare,org.eclipse.compare.contentmergeviewer,org.eclipse.compare.internal;x-internal:=true,org.eclipse.compare.internal.merge;x-internal:=true,org.eclipse.compare.internal.patch;x-internal:=true,org.eclipse.compare.patch,org.eclipse.compare.rangedifferencer,org.eclipse.compare.structuremergeviewer&#xA;Require-Bundle: org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.ide;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.views;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.editors;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.app' version='1.1.0.v20080421-2006'>
-      <update id='org.eclipse.equinox.app' range='[0.0.0,1.1.0.v20080421-2006)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Application Container'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.app' version='1.1.0.v20080421-2006'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.app' version='1.1.0.v20080421-2006'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.app' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.app' version='0.0.0'/>
-        <provided namespace='java.package' name='org.osgi.service.application' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='16'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='org.osgi.service.event' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.console' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.runnable' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.storagemanager' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.condpermadmin' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.osgi.service.event' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.app' version='1.1.0.v20080421-2006'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.app; singleton:=true&#xA;Bundle-Version: 1.1.0.v20080421-2006&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.1&#xA;Comment-DynamicImport: this is only used to allow late binding of the package&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.equinox.internal.app.Activator&#xA;Eclipse-LazyStart: true&#xA;Export-Package: org.eclipse.equinox.app;version=&quot;1.0&quot;,org.eclipse.equinox.internal.app;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.osgi.service.application;version=&quot;1.0&quot;&#xA;Import-Package: org.eclipse.osgi.framework.console;resolution:=optional,org.eclipse.osgi.framework.log,org.eclipse.osgi.service.datalocation,org.eclipse.osgi.service.debug,org.eclipse.osgi.service.environment; version=&quot;1.1&quot;,org.eclipse.osgi.service.runnable,org.eclipse.osgi.storagemanager,org.eclipse.osgi.util,org.osgi.framework;version=&quot;1.3&quot;,org.osgi.service.condpermadmin; resolution:=optional,org.osgi.service.event;version=&quot;1.0.0&quot;;resolution:=optional,org.osgi.service.packageadmin;version=&quot;1.2&quot;,org.osgi.util.tracker&#xA;Require-Bundle: org.eclipse.equinox.registry;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;DynamicImport-Package: org.osgi.service.event;version=&quot;1.0.0&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.common' version='3.4.0.v20080421-2006'>
-      <update id='org.eclipse.equinox.common' range='[0.0.0,3.4.0.v20080421-2006)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Common Eclipse Runtime'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.common' version='3.4.0.v20080421-2006'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.common' version='3.4.0.v20080421-2006'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.boot' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime' version='3.4.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='10'>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.localization' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.urlconversion' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.service.url' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.4.0.v20080421-2006'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-Version: 3.4.0.v20080421-2006&#xA;Import-Package: org.eclipse.osgi.framework.log,org.eclipse.osgi.service.datalocation,org.eclipse.osgi.service.debug,org.eclipse.osgi.service.localization,org.eclipse.osgi.service.urlconversion,org.osgi.service.url,org.eclipse.osgi.util,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.util.tracker&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Eclipse-LazyStart: true&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.equinox.common; singleton:=true&#xA;Export-Package: org.eclipse.core.internal.boot;x-friends:=&quot;org.eclipse.core.resources,org.eclipse.core.runtime.compatibility,org.eclipse.pde.build&quot;,org.eclipse.core.internal.runtime;common=split;mandatory:=common; x-friends:=&quot;org.eclipse.core.contenttype,  org.eclipse.core.jobs,  org.eclipse.equinox.preferences,  org.eclipse.equinox.registry,  org.eclipse.core.runtime,  org.eclipse.core.runtime.compatibility,  org.eclipse.core.filesystem,  org.eclipse.equinox.security&quot;,org.eclipse.core.runtime;common=split;version=&quot;3.4.0&quot;;mandatory:=common&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Activator: org.eclipse.core.internal.runtime.Activator&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %pluginName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.variables' version='3.2.100.v20080529-1300'>
-      <update id='org.eclipse.core.variables' range='[0.0.0,3.2.100.v20080529-1300)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core Variables'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.variables_3.2.100.v20080529-1300.jar'/>
-        <property name='file.lastModified' value='1239159893448'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.variables' version='3.2.100.v20080529-1300'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.variables' version='3.2.100.v20080529-1300'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.variables' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.variables' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.variables' version='3.2.100.v20080529-1300'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.core.internal.variables;x-internal:=true,org.eclipse.core.variables&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.core.variables.VariablesPlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.2.100.v20080529-1300&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.jsch.ui' version='1.1.100.I20080415'>
-      <update id='org.eclipse.jsch.ui' range='[0.0.0,1.1.100.I20080415)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JSch UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.jsch.ui_1.1.100.I20080415.jar'/>
-        <property name='file.lastModified' value='1239159884792'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jsch.ui' version='1.1.100.I20080415'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.jsch.ui' version='1.1.100.I20080415'/>
-        <provided namespace='java.package' name='org.eclipse.jsch.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jsch.internal.ui.preference' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jsch.ui' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jsch.core' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='com.jcraft.jsch' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.jsch.ui' version='1.1.100.I20080415'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.jsch.internal.ui;x-internal:=true,org.eclipse.jsch.internal.ui.preference;x-internal:=true,org.eclipse.jsch.ui&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jsch.core,com.jcraft.jsch&#xA;Bundle-Activator: org.eclipse.jsch.internal.ui.JSchUIPlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.1.100.I20080415&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.jsch.ui;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.console' version='3.3.1.v20090128_r342'>
-      <update id='org.eclipse.ui.console' range='[0.0.0,3.3.1.v20090128_r342)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Console'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.console_3.3.1.v20090128_r342.jar'/>
-        <property name='file.lastModified' value='1239159887792'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.console' version='3.3.1.v20090128_r342'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.console' version='3.3.1.v20090128_r342'/>
-        <provided namespace='java.package' name='org.eclipse.ui.console' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.console.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.console' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.variables' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.console' version='3.3.1.v20090128_r342'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ui.console.ConsolePlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.console; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.3.1.v20090128_r342&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.console,org.eclipse.ui.console.actions,org.eclipse.ui.internal.console;x-internal:=true&#xA;Require-Bundle: org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.variables;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.feature.jar' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'>
-      <update id='org.eclipse.help.feature.jar' range='[0.0.0,1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.update.feature.plugin' value='org.eclipse.help.base'/>
-        <property name='df_LT.featureName' value='Eclipse Help System'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Eclipse help system.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.help_1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-        <property name='file.lastModified' value='1239159909730'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.feature.jar' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.help' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.help' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.touchpoint.natives' version='1.0.0.v20080505-1850'>
-      <update id='org.eclipse.equinox.p2.touchpoint.natives' range='[0.0.0,1.0.0.v20080505-1850)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Native Touchpoint'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.touchpoint.natives' version='1.0.0.v20080505-1850'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.touchpoint.natives' version='1.0.0.v20080505-1850'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.touchpoint.natives' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.touchpoint.natives' version='1.0.0.v20080505-1850'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.0.v20080505-1850&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.engine,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.natives.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common&#xA;Export-Package: org.eclipse.equinox.internal.p2.touchpoint.natives;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.natives;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf.ssl' version='1.0.0.v20080611-1715' singleton='false'>
-      <update id='org.eclipse.ecf.ssl' range='[0.0.0,1.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='ECF SSL Fragment'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.ssl' version='1.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf.ssl' version='1.0.0.v20080611-1715'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.internal.ssl' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.ecf' version='1.0.0.v20080611-1715'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='2.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.security' range='1.0.0'/>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf.ssl' version='1.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %plugin.name&#xA;Bundle-Version: 1.0.0.v20080611-1715&#xA;Import-Package: org.eclipse.osgi.service.security;version=&quot;1.0.0&quot;,javax.net.ssl&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Bundle-Vendor: %plugin.provider&#xA;Export-Package: org.eclipse.ecf.internal.ssl;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.ecf.ssl&#xA;Manifest-Version: 1.0&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Fragment-Host: org.eclipse.ecf;bundle-version=&quot;2.0.0&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.presentations.r21' version='3.2.100.I20080512-2000'>
-      <update id='org.eclipse.ui.presentations.r21' range='[0.0.0,3.2.100.I20080512-2000)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='R21 Presentation Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.presentations.r21_3.2.100.I20080512-2000.jar'/>
-        <property name='file.lastModified' value='1239159889808'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.presentations.r21' version='3.2.100.I20080512-2000'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.presentations.r21' version='3.2.100.I20080512-2000'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations.r21' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations.r21.widgets' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.presentations.r21' version='3.2.100.I20080512-2000'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.2.100.I20080512-2000&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.ui.internal.presentations.r21.R21PresentationPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.ui.internal.presentations;x-internal:=true,org.eclipse.ui.internal.presentations.r21;x-internal:=true,org.eclipse.ui.internal.presentations.r21.widgets;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.ui.presentations.r21; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ant.core' version='3.2.0.v20080529'>
-      <update id='org.eclipse.ant.core' range='[0.0.0,3.2.0.v20080529)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Ant Build Tool Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ant.core_3.2.0.v20080529.jar'/>
-        <property name='file.lastModified' value='1239159893183'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ant.core' version='3.2.0.v20080529'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ant.core' version='3.2.0.v20080529'/>
-        <provided namespace='java.package' name='org.eclipse.ant.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ant.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ant.internal.core.contentDescriber' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.variables' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ant.core' version='3.2.0.v20080529'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ant.core,org.eclipse.ant.internal.core;x-friends:=&quot;org.eclipse.ant.ui&quot;,org.eclipse.ant.internal.core.contentDescriber;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.variables;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ant.core.AntCorePlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.2.0.v20080529&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.ant.core; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true; exceptions=&quot;org.eclipse.ant.internal.core.contentDescriber&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.launcher.win32.win32.x86' range='1.0.101.R34x_v20080731'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.launcher.win32.win32.x86' version='1.0.101.R34x_v20080731'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.launcher.win32.win32.x86' range='1.0.101.R34x_v20080731'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
-          </instruction>
-          <instruction key='unconfigure'>
-            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-      <unit id='org.eclipse.equinox.preferences' version='3.2.201.R34x_v20080709'>
-      <update id='org.eclipse.equinox.preferences' range='[0.0.0,3.2.201.R34x_v20080709)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse Preferences Mechanism'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.preferences' version='3.2.201.R34x_v20080709'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.preferences' version='3.2.201.R34x_v20080709'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.preferences.exchange' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.preferences' version='3.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.prefs' version='1.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='10'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.log' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.preferences' version='3.2.201.R34x_v20080709'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy; exclude:=&quot;org.eclipse.core.internal.preferences.exchange&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.preferences; singleton:=true&#xA;Bundle-Activator: org.eclipse.core.internal.preferences.Activator&#xA;Export-Package: org.eclipse.core.internal.preferences;x-friends:=&quot;org.eclipse.core.resources,org.eclipse.core.runtime&quot;,org.eclipse.core.internal.preferences.exchange;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.core.runtime.preferences;version=&quot;3.2.0&quot;,org.osgi.service.prefs;version=&quot;1.1&quot;&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true; exceptions=&quot;org.eclipse.core.internal.preferences.exchange&quot;&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Bundle-Version: 3.2.201.R34x_v20080709&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %pluginName&#xA;Import-Package: org.eclipse.osgi.framework.log,org.eclipse.osgi.service.datalocation,org.eclipse.osgi.service.debug,org.eclipse.osgi.service.environment,org.eclipse.osgi.util,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.util.tracker&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.equinox.registry;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional&#xA;Bundle-Vendor: %providerName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.navigator' version='3.3.102.M20090127-1700'>
-      <update id='org.eclipse.ui.navigator' range='[0.0.0,3.3.102.M20090127-1700)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Common Navigator View'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.navigator_3.3.102.M20090127-1700.jar'/>
-        <property name='file.lastModified' value='1239159889433'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator' version='3.3.102.M20090127-1700'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.navigator' version='3.3.102.M20090127-1700'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.dnd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.filters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.sorters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.wizards' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.navigator' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench' range='[3.2.1,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.1,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.navigator' version='3.3.102.M20090127-1700'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.internal.navigator;x-friends:=&quot;org.eclipse.ui.navigator.ide,org.eclipse.ui.navigator.resources&quot;,org.eclipse.ui.internal.navigator.actions;x-friends:=&quot;org.eclipse.ui.navigator.ide,org.eclipse.ui.navigator.resources&quot;,org.eclipse.ui.internal.navigator.dnd;x-friends:=&quot;org.eclipse.ui.navigator.ide,org.eclipse.ui.navigator.resources&quot;,org.eclipse.ui.internal.navigator.extensions;x-friends:=&quot;org.eclipse.ui.navigator.ide,org.eclipse.ui.navigator.resources&quot;,org.eclipse.ui.internal.navigator.filters;x-friends:=&quot;org.eclipse.ui.navigator.ide,org.eclipse.ui.navigator.resources,org.eclipse.ui.tests.navigator&quot;,org.eclipse.ui.internal.navigator.sorters;x-internal:=true,org.eclipse.ui.internal.navigator.wizards;x-internal:=true,org.eclipse.ui.navigator&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.jface;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.workbench;bundle-version=&quot;[3.2.1,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.1,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ui.internal.navigator.NavigatorPlugin&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.3.102.M20090127-1700&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.navigator; singleton:=true&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.ide.application' version='1.0.1.M20090204-0800'>
-      <update id='org.eclipse.ui.ide.application' range='[0.0.0,1.0.1.M20090204-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Eclipse IDE UI Application'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.ide.application_1.0.1.M20090204-0800.jar'/>
-        <property name='file.lastModified' value='1239159888620'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide.application' version='1.0.1.M20090204-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.ide.application' version='1.0.1.M20090204-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.application' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.ide.application.dialogs' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.configurator' range='[3.1.100,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.navigator.resources' range='[3.2.100,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.net' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.core' range='[3.1.100,4.0.0)'/>
-        <required namespace='osgi.bundle' name='com.ibm.icu' range='3.8.1'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.ide.application' version='1.0.1.M20090204-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Require-Bundle: org.eclipse.ui.ide;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.update.configurator;bundle-version=&quot;[3.1.100,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.navigator.resources;bundle-version=&quot;[3.2.100,4.0.0)&quot;,org.eclipse.core.net;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.update.core;bundle-version=&quot;[3.1.100,4.0.0)&quot;,com.ibm.icu;bundle-version=&quot;3.8.1&quot;&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 1.0.1.M20090204-0800&#xA;Export-Package: org.eclipse.ui.internal.ide.application;x-internal:=true,org.eclipse.ui.internal.ide.application.dialogs;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.ui.ide.application;singleton:=true&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Vendor: %Plugin.providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.exemplarysetup' version='1.0.0.v20080427-2136'>
-      <update id='org.eclipse.equinox.p2.exemplarysetup' range='[0.0.0,1.0.0.v20080427-2136)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Exemplary Setup'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.exemplarysetup' version='1.0.0.v20080427-2136'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.exemplarysetup' version='1.0.0.v20080427-2136'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.exemplarysetup' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.garbagecollector' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.exemplarysetup' version='1.0.0.v20080427-2136'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.0.v20080427-2136&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core,org.eclipse.equinox.internal.p2.director,org.eclipse.equinox.internal.p2.engine,org.eclipse.equinox.internal.p2.garbagecollector,org.eclipse.equinox.internal.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.osgi.framework;version=&quot;1.3.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.exemplarysetup.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common&#xA;Export-Package: org.eclipse.equinox.internal.p2.exemplarysetup;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.exemplarysetup;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.rcp' version='3.4.1.R342_v20090205'>
-      <update id='org.eclipse.rcp' range='[0.0.0,3.4.1.R342_v20090205)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse RCP'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.rcp_3.4.1.R342_v20090205.jar'/>
-        <property name='file.lastModified' value='1239159903589'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp' version='3.4.1.R342_v20090205'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.rcp' version='3.4.1.R342_v20090205'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.rcp' version='3.4.1.R342_v20090205'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Eclipse-AutoStart: true&#xA;Bundle-Version: 3.4.1.R342_v20090205&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.rcp; singleton:=true&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.jface' version='3.4.2.M20090107-0800' singleton='false'>
-      <update id='org.eclipse.jface' range='[0.0.0,3.4.2.M20090107-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JFace'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.jface_3.4.2.M20090107-0800.jar'/>
-        <property name='file.lastModified' value='1239159902917'/>
-      </properties>
-      <provides size='31'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface' version='3.4.2.M20090107-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.jface' version='3.4.2.M20090107-0800'/>
-        <provided namespace='java.package' name='org.eclipse.jface' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.action' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.action.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.bindings' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.bindings.keys' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.bindings.keys.formatting' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.dialogs.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.fieldassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.fieldassist.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.provisional.action' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.layout' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.menus' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.operation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.preference' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.preference.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.resource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.viewers.deferred' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.window' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.wizard' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.wizard.images' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.commands' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.jface' version='3.4.2.M20090107-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.4.2.M20090107-0800&#xA;Import-Package: javax.xml.parsers,org.osgi.framework,org.w3c.dom,org.xml.sax&#xA;Bundle-Activator: org.eclipse.jface.internal.JFaceActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.swt;bundle-version=&quot;[3.4.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.commands;bundle-version=&quot;[3.4.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.jface,org.eclipse.jface.action,org.eclipse.jface.action.images,org.eclipse.jface.bindings,org.eclipse.jface.bindings.keys,org.eclipse.jface.bindings.keys.formatting,org.eclipse.jface.commands,org.eclipse.jface.contexts,org.eclipse.jface.dialogs,org.eclipse.jface.dialogs.images,org.eclipse.jface.fieldassist,org.eclipse.jface.fieldassist.images,org.eclipse.jface.images,org.eclipse.jface.internal;x-friends:=&quot;org.eclipse.ui.workbench&quot;,org.eclipse.jface.internal.provisional.action;x-friends:=&quot;org.eclipse.ui.workbench&quot;,org.eclipse.jface.layout,org.eclipse.jface.menus,org.eclipse.jface.operation,org.eclipse.jface.preference,org.eclipse.jface.preference.images,org.eclipse.jface.resource,org.eclipse.jface.util,org.eclipse.jface.viewers,org.eclipse.jface.viewers.deferred,org.eclipse.jface.window,org.eclipse.jface.wizard,org.eclipse.jface.wizard.images&#xA;Bundle-SymbolicName: org.eclipse.jface&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.net.win32.x86' version='1.0.0.I20080521'>
-      <update id='org.eclipse.core.net.win32.x86' range='[0.0.0,1.0.0.I20080521)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.fragmentName' value='Proxy for Windows'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.net.win32.x86' version='1.0.0.I20080521'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.net.win32.x86' version='1.0.0.I20080521'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.core.net' version='1.0.0.I20080521'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.net' range='1.1.0'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.net.win32.x86' version='1.0.0.I20080521'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: fragment&#xA;Eclipse-PlatformFilter: (&amp; (osgi.os=win32) (osgi.arch=x86))&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Version: 1.0.0.I20080521&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.core.net.win32.x86;singleton:=true&#xA;Fragment-Host: org.eclipse.core.net;bundle-version=&quot;1.1.0&quot;&#xA;Manifest-Version: 1.0
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.feature.group' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK' singleton='false'>
-      <update id='org.eclipse.help.feature.group' range='[0.0.0,1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK)' severity='0'/>
-      <properties size='11'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Eclipse Help System'/>
-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='Eclipse help system.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.help_1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-        <property name='file.lastModified' value='1239159909730'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.feature.group' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='25'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.feature.group' range='[3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63,3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' range='[2.4.0.v200806031604,2.4.0.v200806031604]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' range='[2.0.0.v200806031607,2.0.0.v200806031607]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' range='[1.7.0.v200803061910,1.7.0.v200803061910]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el' range='[1.0.0.v200806031608,1.0.0.v200806031608]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' range='[1.0.4.v20080605-1930,1.0.4.v20080605-1930]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper' range='[5.5.17.v200806031609,5.5.17.v200806031609]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' range='[1.9.1.v20080530-1600,1.9.1.v20080530-1600]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis' range='[1.9.1.v20080530-1600,1.9.1.v20080530-1600]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.jetty' range='[1.1.0.v20080425,1.1.0.v20080425]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.registry' range='[1.0.100.v20080427-0830,1.0.100.v20080427-0830]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.servlet' range='[1.0.100.v20080427-0830,1.0.100.v20080427-0830]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.jsp.jasper' range='[1.0.100.v20080427-0830,1.0.100.v20080427-0830]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.jsp.jasper.registry' range='[1.0.0.v20080427-0830,1.0.0.v20080427-0830]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.base' range='[3.3.103.v20090128_34x,3.3.103.v20090128_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.ui' range='[3.3.102.v20081014_34x,3.3.102.v20081014_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.webapp' range='[3.3.101.M20080805_34x,3.3.101.M20080805_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty' range='[5.1.14.v200806031611,5.1.14.v200806031611]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.forms' range='[3.3.103.v20081027_34x,3.3.103.v20081027_34x]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi.services' range='[3.1.200.v20071203,3.1.200.v20071203]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.variables' range='[3.2.100.v20080529-1300,3.2.100.v20080529-1300]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ant.core' range='[3.2.0.v20080529,3.2.0.v20080529]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility' range='[3.2.0.v20071008,3.2.0.v20071008]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility.registry' range='[3.2.200.v20080610,3.2.200.v20080610]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.feature.jar' range='[1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK,1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.views' version='3.3.1.M20081112-0800'>
-      <update id='org.eclipse.ui.views' range='[0.0.0,3.3.1.M20081112-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Views'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.views_3.3.1.M20081112-0800.jar'/>
-        <property name='file.lastModified' value='1239159889901'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views' version='3.3.1.M20081112-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.views' version='3.3.1.M20081112-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.contentoutline' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.views.properties' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.contentoutline' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views.properties' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.views' version='3.3.1.M20081112-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.ui.internal.views.ViewsPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ClassPath: .&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.ui.views; singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.3.1.M20081112-0800&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.ui.internal.views;x-internal:=true,org.eclipse.ui.internal.views.contentoutline;x-internal:=true,org.eclipse.ui.internal.views.properties; ui.views=&quot;split&quot;; mandatory:=&quot;ui.views&quot;; x-internal:=true,org.eclipse.ui.views.contentoutline,org.eclipse.ui.views.properties; ui.views=&quot;split&quot;; mandatory:=&quot;ui.views&quot;&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.security.win32.x86' version='1.0.0.v20080529-1600'>
-      <update id='org.eclipse.equinox.security.win32.x86' range='[0.0.0,1.0.0.v20080529-1600)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.fragmentName' value='Windows Data Protection services integration'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.security.win32.x86' version='1.0.0.v20080529-1600'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.security.win32.x86' version='1.0.0.v20080529-1600'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.security.win32' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.equinox.security' version='1.0.0.v20080529-1600'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.security' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.4.0,4.0.0)' optional='true'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.security.win32.x86' version='1.0.0.v20080529-1600'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: fragment&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Export-Package: org.eclipse.equinox.internal.security.win32;x-internal:=true&#xA;Eclipse-PlatformFilter: (&amp; (osgi.os=win32) (osgi.arch=x86))&#xA;Fragment-Host: org.eclipse.equinox.security;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.security.win32.x86;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Version: 1.0.0.v20080529-1600&#xA;Require-Bundle: org.eclipse.swt;bundle-version=&quot;[3.4.0,4.0.0)&quot;;resolution:=optional
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf.provider.filetransfer' version='2.0.0.v20080611-1715'>
-      <update id='org.eclipse.ecf.provider.filetransfer' range='[0.0.0,2.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='ECF Filetransfer Provider'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.provider.filetransfer' version='2.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf.provider.filetransfer' version='2.0.0.v20080611-1715'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.internal.provider.filetransfer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.provider.filetransfer.browse' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.provider.filetransfer.identity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.provider.filetransfer.outgoing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.provider.filetransfer.retrieve' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.provider.filetransfer.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.filetransfer' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.net.proxy' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.log' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.url' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf.provider.filetransfer' version='2.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %plugin.provider&#xA;Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer;singleton:=true&#xA;Bundle-Version: 2.0.0.v20080611-1715&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-ClassPath: .&#xA;Bundle-Name: %plugin.name&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Bundle-Activator: org.eclipse.ecf.internal.provider.filetransfer.Activator&#xA;Eclipse-LazyStart: true&#xA;Export-Package: org.eclipse.ecf.internal.provider.filetransfer;x-internal:=true,org.eclipse.ecf.provider.filetransfer.browse,org.eclipse.ecf.provider.filetransfer.identity;x-internal:=false,org.eclipse.ecf.provider.filetransfer.outgoing,org.eclipse.ecf.provider.filetransfer.retrieve;x-internal:=false,org.eclipse.ecf.provider.filetransfer.util&#xA;Import-Package: org.eclipse.core.net.proxy;resolution:=optional,org.eclipse.core.runtime.jobs,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.log;version=&quot;1.3.0&quot;,org.osgi.service.url;version=&quot;1.0.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.ecf,org.eclipse.ecf.filetransfer,org.eclipse.equinox.registry
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.user.ui.R342patch.feature.jar' version='1.0.1'>
-      <update id='org.eclipse.equinox.p2.user.ui.R342patch.feature.jar' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='9'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='Equinox P2 User UI Patch (bugzillas 265340, 267141 and 267518)'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='This patch contains the fix for bugzillas 265340, 267141 and 267518.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.equinox.p2.user.ui.R342patch_1.0.1'/>
-        <property name='file.lastModified' value='1239159909776'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.user.ui.R342patch.feature.jar' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.equinox.p2.user.ui.R342patch' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.equinox.p2.user.ui.R342patch' version='1.0.1'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        Copyright (c) 2000, 2008 IBM Corporation and others.
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125' singleton='false'>
-      <update id='org.eclipse.equinox.launcher' range='[0.0.0,1.0.101.R34x_v20081125)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Launcher'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125'/>
-        <provided namespace='java.package' name='org.eclipse.core.launcher' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.launcher' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.launcher' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.launcher' version='1.0.101.R34x_v20081125'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Localization: launcher&#xA;Bundle-Version: 1.0.101.R34x_v20081125&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-SymbolicName: org.eclipse.equinox.launcher&#xA;Bundle-Vendor: %providerName&#xA;Manifest-Version: 1.0&#xA;Export-Package: org.eclipse.core.launcher;x-internal:=true,org.eclipse.equinox.internal.launcher;x-internal:=true,org.eclipse.equinox.launcher;x-internal:=true&#xA;Bundle-ManifestVersion: 2&#xA;Main-Class: org.eclipse.equinox.launcher.Main
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.jobs' version='3.4.1.R34x_v20081128'>
-      <update id='org.eclipse.core.jobs' range='[0.0.0,3.4.1.R34x_v20081128)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse Jobs Mechanism'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.jobs' version='3.4.1.R34x_v20081128'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.jobs' version='3.4.1.R34x_v20081128'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.jobs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.jobs' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.jobs' version='3.4.1.R34x_v20081128'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 3.4.1.R34x_v20081128&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.osgi.service.debug,org.eclipse.osgi.util,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin,org.osgi.util.tracker&#xA;Bundle-Activator: org.eclipse.core.internal.jobs.JobActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.core.internal.jobs;x-internal:=true,org.eclipse.core.runtime.jobs&#xA;Bundle-SymbolicName: org.eclipse.core.jobs; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.debug.core' version='3.4.1.v20090106_r342'>
-      <update id='org.eclipse.debug.core' range='[0.0.0,3.4.1.v20090106_r342)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Debug Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.debug.core_3.4.1.v20090106_r342.jar'/>
-        <property name='file.lastModified' value='1239159883480'/>
-      </properties>
-      <provides size='14'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.debug.core' version='3.4.1.v20090106_r342'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.debug.core' version='3.4.1.v20090106_r342'/>
-        <provided namespace='java.package' name='org.eclipse.debug.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.core.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.core.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.core.sourcelookup' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.core.sourcelookup.containers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.core.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.core.sourcelookup' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.core.sourcelookup.containers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.debug.internal.core.variables' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.variables' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.debug.core' version='3.4.1.v20090106_r342'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: .&#xA;Bundle-Version: 3.4.1.v20090106_r342&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-Activator: org.eclipse.debug.core.DebugPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport,org.eclipse.core.variables;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.debug.core,org.eclipse.debug.core.commands,org.eclipse.debug.core.model,org.eclipse.debug.core.sourcelookup,org.eclipse.debug.core.sourcelookup.containers,org.eclipse.debug.internal.core;x-friends:=&quot;org.eclipse.debug.ui&quot;,org.eclipse.debug.internal.core.commands;x-friends:=&quot;org.eclipse.debug.ui&quot;,org.eclipse.debug.internal.core.sourcelookup;x-friends:=&quot;org.eclipse.debug.ui&quot;,org.eclipse.debug.internal.core.sourcelookup.containers;x-friends:=&quot;org.eclipse.debug.ui&quot;,org.eclipse.debug.internal.core.variables;x-internal:=true&#xA;Bundle-SymbolicName: org.eclipse.debug.core; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.jface.databinding' version='1.2.1.M20080827-0800a' singleton='false'>
-      <update id='org.eclipse.jface.databinding' range='[0.0.0,1.2.1.M20080827-0800a)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JFace Data Binding for SWT and JFace'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.jface.databinding_1.2.1.M20080827-0800a.jar'/>
-        <property name='file.lastModified' value='1239159903105'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.databinding' version='1.2.1.M20080827-0800a'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.jface.databinding' version='1.2.1.M20080827-0800a'/>
-        <provided namespace='java.package' name='org.eclipse.jface.databinding.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.databinding.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.databinding.wizard' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.databinding.provisional.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.databinding.provisional.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.databinding.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.internal.databinding.viewers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.databinding' range='[1.0.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.jface.databinding' version='1.2.1.M20080827-0800a'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.jface.databinding.swt,org.eclipse.jface.databinding.viewers,org.eclipse.jface.databinding.wizard,org.eclipse.jface.internal.databinding.provisional.swt;x-internal:=true,org.eclipse.jface.internal.databinding.provisional.viewers;x-internal:=true,org.eclipse.jface.internal.databinding.swt;x-internal:=true,org.eclipse.jface.internal.databinding.viewers;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.databinding;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.swt;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.jface;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.2.1.M20080827-0800a&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.jface.databinding&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ClassPath: .&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ant' version='1.7.0.v200803061910' singleton='false'>
-      <update id='org.apache.ant' range='[0.0.0,1.7.0.v200803061910)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Ant'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.ant_1.7.0.v200803061910'/>
-        <property name='file.lastModified' value='1239159909605'/>
-      </properties>
-      <provides size='78'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' version='1.7.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.ant' version='1.7.0.v200803061910'/>
-        <provided namespace='java.package' name='images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.dispatch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.helper' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.input' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.launch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.listener' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.condition' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.cvslib' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.email' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ccm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.clearcase' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend.constantpool' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.dotnet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ejb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension.resolvers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.j2ee' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javacc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javah' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jdepend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jlink' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit.xsl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.native2ascii' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.perforce' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.pvcs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.scm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.script' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sos' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sound' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.splash' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ssh' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.starteam' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.unix' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.vss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.windows' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.rmic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.conditions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.mappers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources.comparators' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources.selectors' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors.modifiedselector' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend.bcel' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.facade' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.java15' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.bzip2' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.mail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.tar' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.zip' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ant' version='1.7.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.2&#xA;Bundle-ClassPath: lib/ant.jar,lib/ant-antlr.jar,lib/ant-apache-bcel.jar,lib/ant-apache-bsf.jar,lib/ant-apache-log4j.jar,lib/ant-apache-oro.jar,lib/ant-apache-regexp.jar,lib/ant-apache-resolver.jar,lib/ant-commons-logging.jar,lib/ant-commons-net.jar,lib/ant-jai.jar,lib/ant-javamail.jar,lib/ant-jdepend.jar,lib/ant-jmf.jar,lib/ant-jsch.jar,lib/ant-junit.jar,lib/ant-launcher.jar,lib/ant-netrexx.jar,lib/ant-nodeps.jar,lib/ant-starteam.jar,lib/ant-stylebook.jar,lib/ant-swing.jar,lib/ant-trax.jar,lib/ant-weblogic.jar&#xA;Require-Bundle: org.eclipse.osgi&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.apache.ant&#xA;Bundle-Version: 1.7.0.v200803061910&#xA;Export-Package: images,org.apache.tools.ant,org.apache.tools.ant.dispatch,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.launch,org.apache.tools.ant.listener,org.apache.tools.ant.loader,org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.conditions,org.apache.tools.ant.types.mappers,org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.resources,org.apache.tools.ant.types.resources.comparators,org.apache.tools.ant.types.resources.selectors,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,org.apache.tools.ant.types.spi,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,org.apache.tools.ant.util.facade,org.apache.tools.ant.util.java15,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ecf.identity' version='2.0.0.v20080611-1715'>
-      <update id='org.eclipse.ecf.identity' range='[0.0.0,2.0.0.v20080611-1715)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.plugin.name' value='ECF Identity API'/>
-        <property name='df_LT.plugin.provider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%plugin.provider'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ecf.identity' version='2.0.0.v20080611-1715'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ecf.identity' version='2.0.0.v20080611-1715'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.identity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.core.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ecf.internal.core.identity' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.log' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.2'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ecf.identity' version='2.0.0.v20080611-1715'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Import-Package: org.eclipse.osgi.service.debug;version=&quot;1.0.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.log;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.2&quot;&#xA;Created-By: 10.0-b19 (Sun Microsystems Inc.)&#xA;Manifest-Version: 1.0&#xA;Bundle-Name: %plugin.name&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Vendor: %plugin.provider&#xA;Ant-Version: Apache Ant 1.7.0&#xA;Export-Package: org.eclipse.ecf.core.identity,org.eclipse.ecf.core.util,org.eclipse.ecf.internal.core.identity;x-internal:=true&#xA;Bundle-Version: 2.0.0.v20080611-1715&#xA;Bundle-Activator: org.eclipse.ecf.internal.core.identity.Activator&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry&#xA;Eclipse-LazyStart: true&#xA;Bundle-SymbolicName: org.eclipse.ecf.identity;singleton:=true&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.engine' version='1.0.4.v20080930'>
-      <update id='org.eclipse.equinox.p2.engine' range='[0.0.0,1.0.4.v20080930)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Engine'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.engine' version='1.0.4.v20080930'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.engine' version='1.0.4.v20080930'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.engine' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine.phases' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='27'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository.io' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.persistence' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.signedcontent' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.engine' version='1.0.4.v20080930'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-Version: 1.0.4.v20080930&#xA;Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository&#xA;Import-Package: javax.xml.parsers,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata,org.eclipse.equinox.internal.p2.metadata.repository,org.eclipse.equinox.internal.p2.metadata.repository.io,org.eclipse.equinox.internal.p2.persistence,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.signedcontent;version=&quot;1.0.0&quot;,org.eclipse.osgi.util;version=&quot;1.0.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;,org.xml.sax&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.osgi&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Eclipse-LazyStart: true&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true&#xA;Export-Package: org.eclipse.equinox.internal.p2.engine;x-friends:=&quot;org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.natives&quot;,org.eclipse.equinox.internal.provisional.p2.engine; x-friends:=&quot;org.eclipse.equinox.p2.director.app,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.director,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.updatechecker,  org.eclipse.equinox.p2.installer,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.engine.phases;x-friends:=&quot;org.eclipse.equinox.p2.ui&quot;&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator&#xA;Bundle-Name: %pluginName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.equinox.common' version='3.4.0.v20080421-2006' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0.v20080421-2006'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.common' version='3.4.0.v20080421-2006'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0.v20080421-2006'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:2);markStarted(started: true);
-          </instruction>
-          <instruction key='unconfigure'>
-            setStartLevel(startLevel:-1);markStarted(started: false);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.http.jetty' version='1.1.0.v20080425' singleton='false'>
-      <update id='org.eclipse.equinox.http.jetty' range='[0.0.0,1.1.0.v20080425)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Jetty Http Service'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.http.jetty_1.1.0.v20080425.jar'/>
-        <property name='file.lastModified' value='1239159893558'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.jetty' version='1.1.0.v20080425'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.http.jetty' version='1.1.0.v20080425'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.http.jetty' version='1.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='java.package' name='javax.servlet' range='[2.4.0,2.6.0)'/>
-        <required namespace='java.package' name='javax.servlet.http' range='[2.4.0,2.6.0)'/>
-        <required namespace='java.package' name='org.eclipse.equinox.http.servlet' range='1.0.0'/>
-        <required namespace='java.package' name='org.mortbay.http' range='[5.1.0,6.0.0)'/>
-        <required namespace='java.package' name='org.mortbay.jetty.servlet' range='[5.1.0,6.0.0)'/>
-        <required namespace='java.package' name='org.mortbay.util' range='[5.1.0,6.0.0)'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.cm' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.service.startlevel' range='1.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.http.jetty' version='1.1.0.v20080425'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %bundleName&#xA;Bundle-Version: 1.1.0.v20080425&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.servlet;version=&quot;[2.4.0,2.6.0)&quot;,javax.servlet.http;version=&quot;[2.4.0,2.6.0)&quot;,org.eclipse.equinox.http.servlet;version=&quot;1.0.0&quot;,org.mortbay.http;version=&quot;[5.1.0,6.0.0)&quot;,org.mortbay.jetty.servlet;version=&quot;[5.1.0,6.0.0)&quot;,org.mortbay.util;version=&quot;[5.1.0,6.0.0)&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.cm;version=&quot;1.2.0&quot;,org.osgi.service.startlevel;version=&quot;1.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.http.jetty.internal.Activator&#xA;Bundle-Vendor: %providerName&#xA;Export-Package: org.eclipse.equinox.http.jetty;version=&quot;1.1.0&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.http.jetty&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.runtime.compatibility.registry' version='3.2.200.v20080610' singleton='false'>
-      <update id='org.eclipse.core.runtime.compatibility.registry' range='[0.0.0,3.2.200.v20080610)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.fragmentName' value='Eclipse Registry Compatibility Fragment'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime.compatibility.registry' version='3.2.200.v20080610'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.runtime.compatibility.registry' version='3.2.200.v20080610'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.equinox.registry' version='3.2.200.v20080610'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.3.0,3.5.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.runtime.compatibility.registry' version='3.2.200.v20080610'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-          <instruction key='manifest'>
-            Fragment-Host: org.eclipse.equinox.registry;bundle-version=&quot;[3.3.0,3.5.0)&quot;&#xA;Bundle-Name: %fragmentName&#xA;Bundle-ClassPath: runtime_registry_compatibility.jar&#xA;Bundle-Localization: fragment&#xA;Bundle-Version: 3.2.200.v20080610&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-SymbolicName: org.eclipse.core.runtime.compatibility.registry&#xA;Eclipse-PatchFragment: true&#xA;Bundle-Vendor: %providerName&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.extensionlocation' version='1.0.4.v20081027-2115'>
-      <update id='org.eclipse.equinox.p2.extensionlocation' range='[0.0.0,1.0.4.v20081027-2115)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Extension Location Repository Support'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.extensionlocation' version='1.0.4.v20081027-2115'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.extensionlocation' version='1.0.4.v20081027-2115'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.extensionlocation' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='21'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='3.4.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.generator.features' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.touchpoint.eclipse' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.update' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.directorywatcher' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.2.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.extensionlocation' version='1.0.4.v20081027-2115'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.4.v20081027-2115&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata.generator.features,org.eclipse.equinox.internal.p2.touchpoint.eclipse,org.eclipse.equinox.internal.p2.update,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.directorywatcher,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.generator,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,org.eclipse.osgi.service.datalocation;version=&quot;1.1.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.2.0&quot;,org.eclipse.osgi.util,org.osgi.framework&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;3.4.0&quot;&#xA;Export-Package: org.eclipse.equinox.internal.p2.extensionlocation;x-friends:=&quot;org.eclipse.equinox.p2.reconciler.dropins&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'>
-      <update id='org.eclipse.osgi' range='[0.0.0,3.4.3.R34x_v20081215-1030)' severity='0'/>
-      <properties size='5'>
-        <property name='df_LT.systemBundle' value='OSGi System Bundle'/>
-        <property name='df_LT.eclipse.org' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%systemBundle'/>
-        <property name='org.eclipse.equinox.p2.description' value='%systemBundle'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%eclipse.org'/>
-      </properties>
-      <provides size='52'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.event' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.console' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.eventmgr' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.log' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.datalocation' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.debug' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.environment' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.localization' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.pluginconversion' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.resolver' version='1.2.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.runnable' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.security' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.urlconversion' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.signedcontent' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.storagemanager' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.util' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.framework' version='1.4.0'/>
-        <provided namespace='java.package' name='org.osgi.service.condpermadmin' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.service.packageadmin' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.permissionadmin' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.startlevel' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.url' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.util.tracker' version='1.3.3'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.internal.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.internal.stats' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.bundlefile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.hooks' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.debug' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleentry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleresource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.reference' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.reliablefile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.launcher' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.baseadaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.module' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.profile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.service.security' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.verifier' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.service.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.signedcontent' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %eclipse.org&#xA;Bundle-SymbolicName: org.eclipse.osgi; singleton:=true&#xA;Bundle-Version: 3.4.3.R34x_v20081215-1030&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5,OSGi/Minimum-1.1&#xA;Eclipse-SystemBundle: true&#xA;Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.service.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.StartLevel,org.eclipse.osgi.service.debug.DebugOptions&#xA;Bundle-DocUrl: http://www.eclipse.org&#xA;Eclipse-ExtensibleAPI: true&#xA;Manifest-Version: 1.0&#xA;Bundle-Copyright: %copyright&#xA;Bundle-Description: %systemBundle&#xA;Bundle-Localization: systembundle&#xA;Bundle-Name: %systemBundle&#xA;Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundleActivator&#xA;Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter&#xA;Export-Package: org.eclipse.osgi.event;version=&quot;1.0&quot;,org.eclipse.osgi.framework.console;version=&quot;1.0&quot;,org.eclipse.osgi.framework.eventmgr;version=&quot;1.1&quot;,org.eclipse.osgi.framework.log;version=&quot;1.0&quot;,org.eclipse.osgi.service.datalocation;version=&quot;1.1&quot;,org.eclipse.osgi.service.debug;version=&quot;1.0&quot;,org.eclipse.osgi.service.environment;version=&quot;1.1&quot;,org.eclipse.osgi.service.localization;version=&quot;1.0&quot;,org.eclipse.osgi.service.pluginconversion;version=&quot;1.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.2&quot;,org.eclipse.osgi.service.runnable;version=&quot;1.1&quot;,org.eclipse.osgi.service.security; version=&quot;1.0&quot;,org.eclipse.osgi.service.urlconversion;version=&quot;1.0&quot;,org.eclipse.osgi.signedcontent; version=&quot;1.0&quot;,org.eclipse.osgi.storagemanager;version=&quot;1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1&quot;,org.osgi.framework;version=&quot;1.4&quot;,org.osgi.service.condpermadmin;version=&quot;1.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2&quot;,org.osgi.service.permissionadmin;version=&quot;1.2&quot;,org.osgi.service.startlevel;version=&quot;1.1&quot;,org.osgi.service.url;version=&quot;1.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;,org.eclipse.core.runtime.adaptor;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.eclipse.core.runtime.internal.stats;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.baseadaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hooks;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=true,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.osgi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.internal.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleentry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleresource;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal.reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.eclipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.internal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-internal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.eclipse.osgi.internal.provisional.service.security; x-friends:=&quot;org.eclipse.equinox.security.ui&quot;;version=&quot;1.0.0&quot;,org.eclipse.osgi.internal.provisional.verifier;x-friends:=&quot;org.eclipse.update.core,org.eclipse.ui.workbench,org.eclipse.equinox.p2.artifact.repository&quot;,org.eclipse.osgi.internal.service.security;x-friends:=&quot;org.eclipse.equinox.security.ui&quot;,org.eclipse.osgi.internal.signedcontent; x-internal:=true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.logging' version='1.0.4.v20080605-1930' singleton='false'>
-      <update id='org.apache.commons.logging' range='[0.0.0,1.0.4.v20080605-1930)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.apache.commons.logging_1.0.4.v20080605-1930.jar'/>
-        <property name='file.lastModified' value='1239159892011'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' version='1.0.4.v20080605-1930'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.logging' version='1.0.4.v20080605-1930'/>
-        <provided namespace='java.package' name='org.apache.commons.logging' version='1.0.4'/>
-        <provided namespace='java.package' name='org.apache.commons.logging.impl' version='1.0.4'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.logging' version='1.0.4.v20080605-1930'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.4.v20080605-1930&#xA;Export-Package: org.apache.commons.logging;version=&quot;1.0.4&quot;,org.apache.commons.logging.impl;version=&quot;1.0.4&quot;&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-SymbolicName: org.apache.commons.logging&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %bundleProvider&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.garbagecollector' version='1.0.1.R34x_v20080818'>
-      <update id='org.eclipse.equinox.p2.garbagecollector' range='[0.0.0,1.0.1.R34x_v20080818)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Provisioning Garbage Collector'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.garbagecollector' version='1.0.1.R34x_v20080818'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.garbagecollector' version='1.0.1.R34x_v20080818'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.garbagecollector' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='14'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.engine' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.preferences' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.4.0'/>
-        <required namespace='java.package' name='org.osgi.service.prefs' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.garbagecollector' version='1.0.1.R34x_v20080818'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.1.R34x_v20080818&#xA;Eclipse-LazyStart: true&#xA;Import-Package: org.eclipse.core.runtime.preferences,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.4.0&quot;,org.osgi.service.prefs;version=&quot;1.1.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.garbagecollector.GCActivator&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.equinox.p2.engine,org.eclipse.osgi;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.equinox.registry;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;Export-Package: org.eclipse.equinox.internal.p2.garbagecollector;x-friends:=&quot;org.eclipse.equinox.p2.touchpoint.eclipse&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4&#xA;Bundle-Localization: plugin
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.appserver' version='3.1.300.v20080507'>
-      <update id='org.eclipse.help.appserver' range='[0.0.0,3.1.300.v20080507)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.appserver_plugin_name' value='Help Application Server'/>
-        <property name='org.eclipse.equinox.p2.name' value='%appserver_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.help.appserver_3.1.300.v20080507.jar'/>
-        <property name='file.lastModified' value='1239159884339'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.appserver' version='3.1.300.v20080507'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.help.appserver' version='3.1.300.v20080507'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.appserver' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.help.appserver' version='3.1.300.v20080507'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Name: %appserver_plugin_name&#xA;Bundle-Activator: org.eclipse.help.internal.appserver.AppserverPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ClassPath: .&#xA;Bundle-SymbolicName: org.eclipse.help.appserver; singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.1.300.v20080507&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.help.internal.appserver;x-friends:=&quot;org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.ua.tests,org.eclipse.tomcat&quot;&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.win32' version='3.2.100.v20080408-0800' singleton='false'>
-      <update id='org.eclipse.ui.win32' range='[0.0.0,3.2.100.v20080408-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.fragmentName' value='Eclipse UI Win32 Enhancements'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%fragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.win32_3.2.100.v20080408-0800.jar'/>
-        <property name='file.lastModified' value='1239159890167'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.win32' version='3.2.100.v20080408-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.win32' version='3.2.100.v20080408-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.editorsupport.win32' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.ui.ide' version='3.2.100.v20080408-0800'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <filter>
-        (osgi.ws=win32)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.win32' version='3.2.100.v20080408-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.internal.editorsupport.win32;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: fragment-win32&#xA;Eclipse-PlatformFilter: (osgi.ws=win32)&#xA;Bundle-Name: %fragmentName&#xA;Bundle-Version: 3.2.100.v20080408-0800&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.win32&#xA;Fragment-Host: org.eclipse.ui.ide;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-ClassPath: .&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.team.ui' version='3.4.1.r34x_20080827'>
-      <update id='org.eclipse.team.ui' range='[0.0.0,3.4.1.r34x_20080827)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Team Support UI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.team.ui_3.4.1.r34x_20080827.jar'/>
-        <property name='file.lastModified' value='1239159887073'/>
-      </properties>
-      <provides size='18'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.team.ui' version='3.4.1.r34x_20080827'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.team.ui' version='3.4.1.r34x_20080827'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.synchronize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.synchronize.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.internal.ui.wizards' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.ui.history' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.ui.mapping' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.team.ui.synchronize' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.team.core' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.compare' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.navigator' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.navigator.resources' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='com.ibm.icu.util' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.team.ui' version='3.4.1.r34x_20080827'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.team.internal.ui.TeamUIPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.team.ui; singleton:=true&#xA;Import-Package: com.ibm.icu.text,com.ibm.icu.util&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 3.4.1.r34x_20080827&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.team.internal.ui;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.actions;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.dialogs;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.history;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.mapping;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.preferences;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.registry;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.synchronize;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.synchronize.actions;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.internal.ui.wizards;x-friends:=&quot;org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui&quot;,org.eclipse.team.ui,org.eclipse.team.ui.history,org.eclipse.team.ui.mapping,org.eclipse.team.ui.synchronize&#xA;Require-Bundle: org.eclipse.ui.ide;bundle-version=&quot;[3.3.0,4.0.0)&quot;;resolution:=optional,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.team.core;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.compare;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.navigator;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.navigator.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.editors;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.cheatsheets' version='3.3.101.v20080702_34x'>
-      <update id='org.eclipse.ui.cheatsheets' range='[0.0.0,3.3.101.v20080702_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.PROVIDER_NAME' value='Eclipse.org'/>
-        <property name='df_LT.PLUGIN_NAME' value='Cheat Sheets'/>
-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%PROVIDER_NAME'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.cheatsheets_3.3.101.v20080702_34x.jar'/>
-        <property name='file.lastModified' value='1239159887620'/>
-      </properties>
-      <provides size='18'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.cheatsheets' version='3.3.101.v20080702_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.cheatsheets' version='3.3.101.v20080702_34x'/>
-        <provided namespace='java.package' name='org.eclipse.ui.cheatsheets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.composite.explorer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.composite.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.composite.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.composite.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.data' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.state' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.cheatsheets.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.provisional.cheatsheets' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help.base' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help.ui' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.lucene.document' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.cheatsheets' version='3.3.101.v20080702_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %PLUGIN_NAME&#xA;Bundle-Version: 3.3.101.v20080702_34x&#xA;Eclipse-LazyStart: true&#xA;Import-Package: com.ibm.icu.text,javax.xml.parsers,org.apache.lucene.document,org.w3c.dom,org.xml.sax&#xA;Bundle-Activator: org.eclipse.ui.internal.cheatsheets.CheatSheetPlugin&#xA;Bundle-Vendor: %PROVIDER_NAME&#xA;Require-Bundle: org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.help.base;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.help.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional&#xA;Export-Package: org.eclipse.ui.cheatsheets,org.eclipse.ui.internal.cheatsheets;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.actions;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.composite.explorer;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.composite.model;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.composite.parser;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.composite.views;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.data;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.dialogs;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.handlers;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.registry;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.state;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.cheatsheets.views;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.ui.internal.provisional.cheatsheets;x-friends:=&quot;org.eclipse.ua.tests&quot;&#xA;Bundle-SymbolicName: org.eclipse.ui.cheatsheets; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.resources.win32.x86' version='3.4.0.v20071204'>
-      <update id='org.eclipse.core.resources.win32.x86' range='[0.0.0,3.4.0.v20071204)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='%win32FragmentName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.resources.win32.x86_3.4.0.v20071204.jar'/>
-        <property name='file.lastModified' value='1239159883355'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources.win32.x86' version='3.4.0.v20071204'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.resources.win32.x86' version='3.4.0.v20071204'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='org.eclipse.core.resources' version='3.4.0.v20071204'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.4.0,3.5.0)'/>
-      </requires>
-      <filter>
-        (&amp; (osgi.os=win32) (osgi.arch=x86))
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.resources.win32.x86' version='3.4.0.v20071204'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Name: %win32FragmentName&#xA;Bundle-Version: 3.4.0.v20071204&#xA;Fragment-Host: org.eclipse.core.resources;bundle-version=&quot;[3.4.0,3.5.0)&quot;&#xA;Eclipse-PlatformFilter: (&amp; (osgi.os=win32) (osgi.arch=x86))&#xA;Bundle-SymbolicName: org.eclipse.core.resources.win32.x86;singleton:=true&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.search' version='3.4.1.r341_v20080813-0800'>
-      <update id='org.eclipse.search' range='[0.0.0,3.4.1.r341_v20080813-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Search Support'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.search_3.4.1.r341_v20080813-0800.jar'/>
-        <property name='file.lastModified' value='1239159886511'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.search' version='3.4.1.r341_v20080813-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.search' version='3.4.1.r341_v20080813-0800'/>
-        <provided namespace='java.package' name='org.eclipse.search.core.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.internal.core.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.internal.ui.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.internal.ui.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search.ui.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search2.internal.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search2.internal.ui.basic.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search2.internal.ui.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.search2.internal.ui.text2' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filebuffers' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ltk.core.refactoring' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ltk.ui.refactoring' range='[3.4.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.search' version='3.4.1.r341_v20080813-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.search.internal.ui.SearchPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.search; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.1.r341_v20080813-0800&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.search.core.text,org.eclipse.search.internal.core.text;x-internal:=true,org.eclipse.search.internal.ui;x-internal:=true,org.eclipse.search.internal.ui.text;x-internal:=true,org.eclipse.search.internal.ui.util;x-internal:=true,org.eclipse.search.ui,org.eclipse.search.ui.actions,org.eclipse.search.ui.text,org.eclipse.search2.internal.ui;x-internal:=true,org.eclipse.search2.internal.ui.basic.views;x-internal:=true,org.eclipse.search2.internal.ui.text;x-internal:=true,org.eclipse.search2.internal.ui.text2;x-internal:=true&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.filebuffers;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.ide;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui.forms;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.ltk.core.refactoring;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ltk.ui.refactoring;bundle-version=&quot;[3.4.0,4.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help' version='3.3.102.v20081014_34x'>
-      <update id='org.eclipse.help' range='[0.0.0,3.3.102.v20081014_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.help_plugin_name' value='Help System Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%help_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.help_3.3.102.v20081014_34x.jar'/>
-        <property name='file.lastModified' value='1239159902573'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help' version='3.3.102.v20081014_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.help' version='3.3.102.v20081014_34x'/>
-        <provided namespace='java.package' name='org.eclipse.help' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.context' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.entityresolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.index' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.toc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform.dom' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform.stream' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.help' version='3.3.102.v20081014_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %help_plugin_name&#xA;Bundle-Version: 3.3.102.v20081014_34x&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.stream,org.w3c.dom,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-Activator: org.eclipse.help.internal.HelpPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.3.0,4.0.0)&quot;;visibility:=reexport&#xA;Export-Package: org.eclipse.help,org.eclipse.help.internal; x-friends:=&quot;org.eclipse.help.base,  org.eclipse.help.ui,  org.eclipse.help.webapp,  org.eclipse.ui.intro,  org.eclipse.ua.tests,  org.eclipse.ui.cheatsheets&quot;,org.eclipse.help.internal.context; x-friends:=&quot;org.eclipse.help.base,  org.eclipse.help.ui,  org.eclipse.ua.tests,  org.eclipse.help.webapp&quot;,org.eclipse.help.internal.dynamic; x-friends:=&quot;org.eclipse.ua.tests,  org.eclipse.help.ui,  org.eclipse.help.base,  org.eclipse.ui.intro,  org.eclipse.help.webapp,  org.eclipse.ui.cheatsheets&quot;,org.eclipse.help.internal.entityresolver; x-friends:=&quot;org.eclipse.help.base,  org.eclipse.help.ui,  org.eclipse.ui.cheatsheets,  org.eclipse.ua.tests&quot;,org.eclipse.help.internal.extension;x-friends:=&quot;org.eclipse.help.webapp,org.eclipse.help.base,org.eclipse.ua.tests&quot;,org.eclipse.help.internal.index; x-friends:=&quot;org.eclipse.help.webapp,  org.eclipse.ua.tests,  org.eclipse.help.ui,  org.eclipse.help.base&quot;,org.eclipse.help.internal.toc; x-friends:=&quot;org.eclipse.help.base,  org.eclipse.help.ui,  org.eclipse.help.webapp,  org.eclipse.ua.tests&quot;,org.eclipse.help.internal.util; x-friends:=&quot;org.eclipse.help.base,  org.eclipse.help.ui,  org.eclipse.help.webapp,  org.eclipse.ua.tests,  org.eclipse.ui.intro.universal&quot;&#xA;Bundle-SymbolicName: org.eclipse.help; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.text' version='3.4.0.v20080605-1800' singleton='false'>
-      <update id='org.eclipse.text' range='[0.0.0,3.4.0.v20080605-1800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Text'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.text_3.4.0.v20080605-1800.jar'/>
-        <property name='file.lastModified' value='1239159887323'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.text' version='3.4.0.v20080605-1800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.text' version='3.4.0.v20080605-1800'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.link' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.projection' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.source' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jface.text.templates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.text.edits' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.text.undo' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.commands' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.3.0,4.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='com.ibm.icu.util' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.text' version='3.4.0.v20080605-1800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Require-Bundle: org.eclipse.core.commands;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.equinox.common;bundle-version=&quot;[3.3.0,4.0.0)&quot;&#xA;Import-Package: com.ibm.icu.text,com.ibm.icu.util&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.text&#xA;Bundle-Version: 3.4.0.v20080605-1800&#xA;Export-Package: org.eclipse.jface.text; text=&quot;split&quot;; mandatory:=&quot;text&quot;,org.eclipse.jface.text.link; text=&quot;split&quot;; mandatory:=&quot;text&quot;,org.eclipse.jface.text.projection,org.eclipse.jface.text.source; text=&quot;split&quot;; mandatory:=&quot;text&quot;,org.eclipse.jface.text.templates; text=&quot;split&quot;; mandatory:=&quot;text&quot;,org.eclipse.text.edits,org.eclipse.text.undo&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.http.servlet' version='1.0.100.v20080427-0830' singleton='false'>
-      <update id='org.eclipse.equinox.http.servlet' range='[0.0.0,1.0.100.v20080427-0830)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Http Services Servlet'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.http.servlet_1.0.100.v20080427-0830.jar'/>
-        <property name='file.lastModified' value='1239159893698'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.servlet' version='1.0.100.v20080427-0830'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.http.servlet' version='1.0.100.v20080427-0830'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.http.servlet' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.http' range='1.2.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.http.servlet' version='1.0.100.v20080427-0830'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.100.v20080427-0830&#xA;Eclipse-LazyStart: true&#xA;Import-Package: javax.servlet;version=&quot;2.3&quot;,javax.servlet.http;version=&quot;2.3&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.http;version=&quot;1.2.0&quot;&#xA;Bundle-Activator: org.eclipse.equinox.http.servlet.internal.Activator&#xA;Bundle-Vendor: %providerName&#xA;Export-Package: org.eclipse.equinox.http.servlet;version=&quot;1.0.0&quot;&#xA;Bundle-SymbolicName: org.eclipse.equinox.http.servlet&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.ui.sdk' version='1.0.1.R34x_v20081029'>
-      <update id='org.eclipse.equinox.p2.ui.sdk' range='[0.0.0,1.0.1.R34x_v20081029)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Equinox Provisioning Platform Update Support'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.ui.sdk_1.0.1.R34x_v20081029.jar'/>
-        <property name='file.lastModified' value='1239159898698'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.ui.sdk' version='1.0.1.R34x_v20081029'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.ui.sdk' version='1.0.1.R34x_v20081029'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.sdk' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.sdk.prefs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.sdk.updates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.sdk' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='27'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.generator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.actions' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.dialogs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.model' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.operations' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.policy' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.viewers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.updatechecker' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.ui.sdk' version='1.0.1.R34x_v20081029'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Bundle-Name: %bundleName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.ui.sdk.ProvSDKUIActivator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk;singleton:=true&#xA;Import-Package: org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.generator,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.p2.ui,org.eclipse.equinox.internal.provisional.p2.ui.actions,org.eclipse.equinox.internal.provisional.p2.ui.dialogs,org.eclipse.equinox.internal.provisional.p2.ui.model,org.eclipse.equinox.internal.provisional.p2.ui.operations,org.eclipse.equinox.internal.provisional.p2.ui.policy,org.eclipse.equinox.internal.provisional.p2.ui.query,org.eclipse.equinox.internal.provisional.p2.ui.viewers,org.eclipse.equinox.internal.provisional.p2.updatechecker,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 1.0.1.R34x_v20081029&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.equinox.internal.p2.ui.sdk;x-internal:=true,org.eclipse.equinox.internal.p2.ui.sdk.prefs;x-internal:=true,org.eclipse.equinox.internal.p2.ui.sdk.updates;x-internal:=true,org.eclipse.equinox.internal.provisional.p2.ui.sdk;x-friends:=&quot;org.eclipse.pde.p2.ui&quot;&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.rcp.R342patch.feature.jar' version='1.0.0'>
-      <update id='org.eclipse.rcp.R342patch.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='9'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='RCP Patch (bugzilla 266538)'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.description' value='This patch contains fixes for bugzilla 266538.'/>
-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;March 17, 2005&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\features\org.eclipse.rcp.R342patch_1.0.0'/>
-        <property name='file.lastModified' value='1239159915667'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.rcp.R342patch.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.rcp.R342patch' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.rcp.R342patch' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        Copyright (c) 2000, 2009 IBM Corporation and others.
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'>
-      <update id='org.eclipse.core.filebuffers' range='[0.0.0,3.4.0.v20080603-2000)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='File Buffers'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar'/>
-        <property name='file.lastModified' value='1239159882370'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'/>
-        <provided namespace='java.package' name='org.eclipse.core.filebuffers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.filebuffers.manipulation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.filebuffers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.text' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.filesystem' range='[1.1.0,2.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.core.internal.filebuffers.FileBuffersPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.core.filebuffers; singleton:=true&#xA;Import-Package: com.ibm.icu.text&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.0.v20080603-2000&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.core.filebuffers,org.eclipse.core.filebuffers.manipulation,org.eclipse.core.internal.filebuffers;x-internal:=true&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filesystem;bundle-version=&quot;[1.1.0,2.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.http.registry' version='1.0.100.v20080427-0830'>
-      <update id='org.eclipse.equinox.http.registry' range='[0.0.0,1.0.100.v20080427-0830)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Http Service Registry Extensions'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.http.registry_1.0.100.v20080427-0830.jar'/>
-        <property name='file.lastModified' value='1239159893620'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.http.registry' version='1.0.100.v20080427-0830'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.http.registry' version='1.0.100.v20080427-0830'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.http.registry' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.http' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.1'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.http.registry' version='1.0.100.v20080427-0830'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.equinox.http.registry;version=&quot;1.0.0&quot;&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry&#xA;Bundle-Activator: org.eclipse.equinox.http.registry.internal.Activator&#xA;Bundle-Name: %bundleName&#xA;Bundle-Version: 1.0.100.v20080427-0830&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.http.registry;singleton:=true&#xA;Import-Package: javax.servlet;version=&quot;2.3&quot;,javax.servlet.http;version=&quot;2.3&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.http;version=&quot;1.2.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.util.tracker;version=&quot;1.3.1&quot;&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.core.boot' version='3.1.100.v20080218' singleton='false'>
-      <update id='org.eclipse.core.boot' range='[0.0.0,3.1.100.v20080218)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Core Boot'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.core.boot_3.1.100.v20080218.jar'/>
-        <property name='file.lastModified' value='1239159882245'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.boot' version='3.1.100.v20080218'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.core.boot' version='3.1.100.v20080218'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.core.boot' version='3.1.100.v20080218'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Eclipse-AutoStart: true&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.1.100.v20080218&#xA;Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-SymbolicName: org.eclipse.core.boot&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.artifact.repository' version='1.0.4.v20080930'>
-      <update id='org.eclipse.equinox.p2.artifact.repository' range='[0.0.0,1.0.4.v20080930)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Equinox Provisioning Artifact Repository Support'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.artifact.repository' version='1.0.4.v20080930'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.artifact.repository' version='1.0.4.v20080930'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.mirror' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.processing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.processors.pack200' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.repository' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.repository.simple' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='28'>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf.filetransfer' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ecf' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.registry' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.preferences' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.equinox.app' range='1.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.jarprocessor' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.persistence' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.location' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.security.storage' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.internal.provisional.equinox.p2.jarprocessor' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.signedcontent' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.prefs' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.artifact.repository' version='1.0.4.v20080930'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Localization: plugin&#xA;Bundle-Version: 1.0.4.v20080930&#xA;Import-Package: javax.xml.parsers,org.eclipse.core.runtime.jobs,org.eclipse.core.runtime.preferences;resolution:=optional,org.eclipse.equinox.app;version=&quot;1.0.0&quot;;resolution:=optional,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.jarprocessor,org.eclipse.equinox.internal.p2.metadata,org.eclipse.equinox.internal.p2.persistence,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.location,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.security.storage,org.eclipse.internal.provisional.equinox.p2.jarprocessor;resolution:=optional,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.signedcontent;version=&quot;1.0.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.prefs;version=&quot;1.1.0&quot;,org.osgi.util.tracker;version=&quot;1.3.0&quot;,org.w3c.dom,org.xml.sax;resolution:=optional&#xA;Eclipse-BuddyPolicy: registered&#xA;Require-Bundle: org.eclipse.ecf.filetransfer,org.eclipse.ecf,org.eclipse.equinox.common,org.eclipse.equinox.registry&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Eclipse-LazyStart: true&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true&#xA;Export-Package: org.eclipse.equinox.internal.p2.artifact.mirror;x-internal:=true,org.eclipse.equinox.internal.p2.artifact.processing;x-friends:=&quot;org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers&quot;,org.eclipse.equinox.internal.p2.artifact.processors.pack200;x-friends:=&quot;org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers&quot;,org.eclipse.equinox.internal.p2.artifact.repository;x-friends:=&quot;org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.reconciler.dropins&quot;,org.eclipse.equinox.internal.p2.artifact.repository.simple;x-friends:=&quot;org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.tests&quot;,org.eclipse.equinox.internal.provisional.p2.artifact.repository; x-friends:=&quot;org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.directorywatcher,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.updatesite,  org.eclipse.equinox.p2.engine,  org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.console,  org.eclipse.equinox.p2.ui,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.garbagecollector,  org.eclipse.equinox.p2.reconciler.dropins,  org.eclipse.equinox.p2.installer&quot;,org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing; x-friends:=&quot;org.eclipse.equinox.p2.artifact.processors,  org.eclipse.equinox.p2.artifact.optimizers,  org.eclipse.equinox.p2.artifact.repository,  org.eclipse.equinox.p2.metadata.generator,  org.eclipse.equinox.p2.ui&quot;,org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository; x-friends:=&quot;org.eclipse.equinox.p2.touchpoint.eclipse,  org.eclipse.equinox.p2.touchpoint.natives,  org.eclipse.equinox.p2.extensionlocation,  org.eclipse.equinox.p2.updatesite&quot;&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.repository.Activator&#xA;Bundle-Name: %pluginName
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.reconciler.dropins' range='1.0.5.v20090307-1115'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.reconciler.dropins' range='1.0.5.v20090307-1115'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);markStarted(started: true);
-          </instruction>
-          <instruction key='unconfigure'>
-            setStartLevel(startLevel:-1);markStarted(started: false);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.workbench' version='3.4.2.M20090127-1700'>
-      <update id='org.eclipse.ui.workbench' range='[0.0.0,3.4.2.M20090127-1700)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Workbench'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.workbench_3.4.2.M20090127-1700.jar'/>
-        <property name='file.lastModified' value='1239159904698'/>
-      </properties>
-      <provides size='80'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench' version='3.4.2.M20090127-1700'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.workbench' version='3.4.2.M20090127-1700'/>
-        <provided namespace='java.package' name='org.eclipse.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.about' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.activities' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.application' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.branding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.dnd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.fieldassist' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.help' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.about' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.activities' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.activities.ws' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.application' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.browser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.commands' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.contexts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.decorators' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.dnd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.editorsupport' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.expressions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.help' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.intro' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.keys' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.keys.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.layout' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.menus' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.misc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.part' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations.classic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations.defaultpresentation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.presentations.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.progress' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.provisional.application' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.provisional.presentations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.quickaccess' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.services' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.splash' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.statushandlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.testing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.themes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.tweaklets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.wizards' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.wizards.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.intro' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.keys' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.menus' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.part' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.plugin' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.preferences' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.presentations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.progress' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.services' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.splash' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.statushandlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.swt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.testing' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.themes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.wizards' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.4.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.swt' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.expressions' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.databinding' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.databinding' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.workbench' version='3.4.2.M20090127-1700'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName&#xA;Bundle-ClassPath: compatibility.jar,.&#xA;Bundle-Version: 3.4.2.M20090127-1700&#xA;Import-Package: com.ibm.icu.text,javax.xml.parsers,org.w3c.dom,org.xml.sax&#xA;Bundle-Activator: org.eclipse.ui.internal.WorkbenchPlugin&#xA;Bundle-Vendor: %providerName&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.help;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.jface;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.swt;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.expressions;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.jface.databinding;bundle-version=&quot;[1.1.0,2.0.0)&quot;,org.eclipse.core.databinding;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;Export-Package: org.eclipse.ui;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.about,org.eclipse.ui.actions;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.activities,org.eclipse.ui.application,org.eclipse.ui.branding,org.eclipse.ui.browser;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.commands,org.eclipse.ui.contexts,org.eclipse.ui.dialogs;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.dnd,org.eclipse.ui.fieldassist,org.eclipse.ui.handlers,org.eclipse.ui.help,org.eclipse.ui.internal;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;; x-friends:=&quot;org.eclipse.ui,  org.eclipse.ui.intro,  org.eclipse.ui.ide,  org.eclipse.ui.presentations.r21&quot;,org.eclipse.ui.internal.about;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.actions;x-internal:=true,org.eclipse.ui.internal.activities;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.activities.ws;x-internal:=true,org.eclipse.ui.internal.application;x-internal:=true,org.eclipse.ui.internal.browser;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;;x-internal:=true,org.eclipse.ui.internal.commands;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.contexts;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.decorators;x-friends:=&quot;org.eclipse.ui.ide&quot;,org.eclipse.ui.internal.dialogs;x-internal:=true,org.eclipse.ui.internal.dnd;x-friends:=&quot;org.eclipse.ui.intro,org.eclipse.ui.presentations.r21&quot;,org.eclipse.ui.internal.editorsupport;x-internal:=true,org.eclipse.ui.internal.expressions;x-internal:=true,org.eclipse.ui.internal.handlers;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.help;x-internal:=true,org.eclipse.ui.internal.intro;x-internal:=true,org.eclipse.ui.internal.keys;x-internal:=true,org.eclipse.ui.internal.keys.model;x-internal:=true,org.eclipse.ui.internal.layout;x-friends:=&quot;org.eclipse.ui.presentations.r21,org.eclipse.ui.intro&quot;,org.eclipse.ui.internal.menus;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.misc;x-internal:=true,org.eclipse.ui.internal.model;x-internal:=true,org.eclipse.ui.internal.operations;x-internal:=true,org.eclipse.ui.internal.part;x-internal:=true,org.eclipse.ui.internal.preferences;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.presentations;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;;x-friends:=&quot;org.eclipse.ui.presentations.r21&quot;,org.eclipse.ui.internal.presentations.classic;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.presentations.defaultpresentation;x-internal:=true,org.eclipse.ui.internal.presentations.util;x-friends:=&quot;org.eclipse.ui.presentations.r21&quot;,org.eclipse.ui.internal.progress;x-internal:=true,org.eclipse.ui.internal.provisional.application;x-internal:=true,org.eclipse.ui.internal.provisional.presentations;x-internal:=true,org.eclipse.ui.internal.quickaccess;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.registry;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.services;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.splash;x-internal:=true,org.eclipse.ui.internal.statushandlers;x-internal:=true,org.eclipse.ui.internal.testing;x-internal:=true,org.eclipse.ui.internal.themes;x-friends:=&quot;org.eclipse.ui&quot;,org.eclipse.ui.internal.tweaklets;x-internal:=true,org.eclipse.ui.internal.util;x-friends:=&quot;org.eclipse.ui,org.eclipse.ui.presentations.r21,org.eclipse.ui.ide&quot;,org.eclipse.ui.internal.wizards;x-internal:=true,org.eclipse.ui.internal.wizards.preferences;x-internal:=true,org.eclipse.ui.intro,org.eclipse.ui.keys,org.eclipse.ui.menus,org.eclipse.ui.model;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.operations,org.eclipse.ui.part;ui.workbench=split;mandatory:=&quot;ui.workbench&quot;,org.eclipse.ui.plugin,org.eclipse.ui.preferences,org.eclipse.ui.presentations,org.eclipse.ui.progress,org.eclipse.ui.services,org.eclipse.ui.splash,org.eclipse.ui.statushandlers,org.eclipse.ui.swt,org.eclipse.ui.testing,org.eclipse.ui.themes,org.eclipse.ui.views,org.eclipse.ui.wizards&#xA;Bundle-SymbolicName: org.eclipse.ui.workbench; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.ui' version='1.0.4.R34x_v20090123'>
-      <update id='org.eclipse.equinox.p2.ui' range='[0.0.0,1.0.4.R34x_v20090123)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.bundleName' value='Equinox Provisioning UI Support'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.equinox.p2.ui_1.0.4.R34x_v20090123.jar'/>
-        <property name='file.lastModified' value='1239159898558'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.ui' version='1.0.4.R34x_v20090123'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.ui' version='1.0.4.R34x_v20090123'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.ui.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.dialogs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.policy' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.query' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.ui.viewers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='28'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.simpleconfigurator' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.security.ui' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='com.ibm.icu.text' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.rollback' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.configurator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.eventbus' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine.phases' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.updatechecker' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.ui' version='1.0.4.R34x_v20090123'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Bundle-Name: %bundleName&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.ui.ProvUIActivator&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.ui;singleton:=true&#xA;Import-Package: com.ibm.icu.text,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.metadata,org.eclipse.equinox.internal.p2.metadata.repository,org.eclipse.equinox.internal.p2.rollback,org.eclipse.equinox.internal.provisional.configurator,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.eventbus,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.engine.phases,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.p2.updatechecker,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.osgi.service.resolver;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 1.0.4.R34x_v20090123&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.equinox.internal.p2.ui;x-internal:=true,org.eclipse.equinox.internal.p2.ui.dialogs;x-internal:=true,org.eclipse.equinox.internal.p2.ui.model;x-internal:=true,org.eclipse.equinox.internal.p2.ui.viewers;x-internal:=true,org.eclipse.equinox.internal.provisional.p2.ui; x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.ui.actions; x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.ui.dialogs; x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.ui.model;x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk&quot;,org.eclipse.equinox.internal.provisional.p2.ui.operations; x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,  org.eclipse.equinox.p2.ui.admin.rcp,  org.eclipse.equinox.p2.ui.sdk,  org.eclipse.pde.p2.ui&quot;,org.eclipse.equinox.internal.provisional.p2.ui.policy;x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk&quot;,org.eclipse.equinox.internal.provisional.p2.ui.query;x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk&quot;,org.eclipse.equinox.internal.provisional.p2.ui.viewers;x-friends:=&quot;org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.sdk&quot;&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.security.ui;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.registry' version='3.4.0.v20080516-0950'>
-      <update id='org.eclipse.equinox.registry' range='[0.0.0,3.4.0.v20080516-0950)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Extension Registry Support'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.registry' version='3.4.0.v20080516-0950'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.registry' version='3.4.0.v20080516-0950'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.adapter' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.registry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.registry.osgi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.internal.registry.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime' version='3.4.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.dynamichelpers' version='3.4.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.spi' version='3.4.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='15'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='[3.2.0,4.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.core.runtime.jobs' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.framework.console' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.debug' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.resolver' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.eclipse.osgi.storagemanager' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='0.0.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.registry' version='3.4.0.v20080516-0950'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.equinox.registry;singleton:=true&#xA;Bundle-Version: 3.4.0.v20080516-0950&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Eclipse-ExtensibleAPI: true&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2&#xA;Bundle-Localization: plugin&#xA;Bundle-ClassPath: runtime_registry_compatibility.jar, .&#xA;Bundle-Name: %pluginName&#xA;Bundle-Activator: org.eclipse.core.internal.registry.osgi.Activator&#xA;Eclipse-LazyStart: true&#xA;Export-Package: org.eclipse.core.internal.adapter;x-internal:=true,org.eclipse.core.internal.registry;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.core.internal.registry.osgi;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.core.internal.registry.spi;x-internal:=true,org.eclipse.core.runtime;registry=split;version=&quot;3.4.0&quot;;mandatory:=registry,org.eclipse.core.runtime.dynamichelpers;version=&quot;3.4.0&quot;,org.eclipse.core.runtime.spi;version=&quot;3.4.0&quot;&#xA;Import-Package: javax.xml.parsers,org.eclipse.core.runtime.jobs;resolution:=optional,org.eclipse.osgi.framework.console;resolution:=optional,org.eclipse.osgi.service.datalocation,org.eclipse.osgi.service.debug,org.eclipse.osgi.service.environment;resolution:=optional,org.eclipse.osgi.service.resolver;resolution:=optional,org.eclipse.osgi.storagemanager,org.eclipse.osgi.util,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.util.tracker,org.xml.sax,org.xml.sax.helpers&#xA;Require-Bundle: org.eclipse.equinox.common;bundle-version=&quot;[3.2.0,4.0.0)&quot;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115'>
-      <update id='org.eclipse.equinox.p2.reconciler.dropins' range='[0.0.0,1.0.5.v20090307-1115)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Dropin Reconciler Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115'/>
-        <provided namespace='java.package' name='org.eclipse.equinox.internal.p2.reconciler.dropins' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='29'>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.common' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.p2.touchpoint.eclipse' range='0.1.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.app' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.core.helpers' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.extensionlocation' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.p2.update' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.configurator' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.director' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.directorywatcher' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.engine' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.p2.query' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.core.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository' range='0.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.datalocation' range='1.0.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.service.environment' range='1.1.0'/>
-        <required namespace='java.package' name='org.eclipse.osgi.util' range='1.1.0'/>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-        <required namespace='java.package' name='org.osgi.service.packageadmin' range='1.2.0'/>
-        <required namespace='java.package' name='org.osgi.util.tracker' range='1.3.3'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.equinox.p2.reconciler.dropins' version='1.0.5.v20090307-1115'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0&#xA;Bundle-Localization: plugin&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.1/Foundation-1.1&#xA;Export-Package: org.eclipse.equinox.internal.p2.reconciler.dropins;x-internal:=true&#xA;Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator&#xA;Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Vendor: %providerName&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.0.5.v20090307-1115&#xA;Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.p2.touchpoint.eclipse;bundle-version=&quot;0.1.0&quot;&#xA;Import-Package: org.eclipse.equinox.app;version=&quot;1.0.0&quot;,org.eclipse.equinox.internal.p2.core.helpers,org.eclipse.equinox.internal.p2.extensionlocation,org.eclipse.equinox.internal.p2.artifact.repository,org.eclipse.equinox.internal.p2.metadata.repository,org.eclipse.equinox.internal.p2.update,org.eclipse.equinox.internal.provisional.configurator,org.eclipse.equinox.internal.provisional.p2.artifact.repository,org.eclipse.equinox.internal.provisional.p2.core,org.eclipse.equinox.internal.provisional.p2.core.repository,org.eclipse.equinox.internal.provisional.p2.director,org.eclipse.equinox.internal.provisional.p2.directorywatcher,org.eclipse.equinox.internal.provisional.p2.engine,org.eclipse.equinox.internal.provisional.p2.metadata,org.eclipse.equinox.internal.provisional.p2.metadata.query,org.eclipse.equinox.internal.provisional.p2.metadata.repository,org.eclipse.equinox.internal.provisional.p2.query,org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,org.eclipse.equinox.internal.provisional.spi.p2.core.repository,org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,org.eclipse.osgi.service.datalocation;version=&quot;1.0.0&quot;,org.eclipse.osgi.service.environment;version=&quot;1.1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1.0&quot;,org.osgi.framework;version=&quot;1.3.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;,org.xml.sax
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.help.webapp' version='3.3.101.M20080805_34x'>
-      <update id='org.eclipse.help.webapp' range='[0.0.0,3.3.101.M20080805_34x)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.help_webapp_plugin_name' value='Help System Webapp'/>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%help_webapp_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.help.webapp_3.3.101.M20080805_34x.jar'/>
-        <property name='file.lastModified' value='1239159894511'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.help.webapp' version='3.3.101.M20080805_34x'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.help.webapp' version='3.3.101.M20080805_34x'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.webapp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.webapp.data' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.help.internal.webapp.servlet' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.help.base' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.1.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.jasper' range='5.5.17'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.jsp.jasper.registry' range='1.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.equinox.http.registry' range='1.0.0'/>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='org.osgi.service.http' range='1.2.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.help.webapp' version='3.3.101.M20080805_34x'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %help_webapp_plugin_name&#xA;Bundle-Activator: org.eclipse.help.internal.webapp.HelpWebappPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %providerName&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: org.eclipse.help.webapp;singleton:=true&#xA;Import-Package: javax.servlet;version=&quot;2.4.0&quot;,javax.servlet.http;version=&quot;2.4.0&quot;,org.osgi.service.http;version=&quot;1.2.0&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.3.101.M20080805_34x&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.help.internal.webapp;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.webapp.data;x-friends:=&quot;org.eclipse.ua.tests&quot;,org.eclipse.help.internal.webapp.servlet;x-friends:=&quot;org.eclipse.ua.tests&quot;&#xA;Require-Bundle: org.eclipse.help.base;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.1.0,4.0.0)&quot;,org.apache.jasper;bundle-version=&quot;5.5.17&quot;,org.eclipse.equinox.jsp.jasper.registry;bundle-version=&quot;1.0.0&quot;,org.eclipse.equinox.http.registry;bundle-version=&quot;1.0.0&quot;&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='toolingorg.eclipse.core.runtime' version='3.4.0.v20080512' singleton='false'>
-      <hostRequirements size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='3.4.0.v20080512'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='toolingorg.eclipse.core.runtime' version='3.4.0.v20080512'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='3.4.0.v20080512'/>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='[1.0.0,2.0.0)' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);markStarted(started: true);
-          </instruction>
-          <instruction key='unconfigure'>
-            setStartLevel(startLevel:-1);markStarted(started: false);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.jsch.core' version='1.1.100.I20080604'>
-      <update id='org.eclipse.jsch.core' range='[0.0.0,1.1.100.I20080604)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JSch Core'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.jsch.core_1.1.100.I20080604.jar'/>
-        <property name='file.lastModified' value='1239159884714'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jsch.core' version='1.1.100.I20080604'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.jsch.core' version='1.1.100.I20080604'/>
-        <provided namespace='java.package' name='org.eclipse.jsch.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.jsch.internal.core' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='com.jcraft.jsch' range='[0.1.28,1.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.net' range='[1.0.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.jsch.core' version='1.1.100.I20080604'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.jsch.core,org.eclipse.jsch.internal.core;x-friends:=&quot;org.eclipse.jsch.ui&quot;&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.3.0,4.0.0)&quot;,com.jcraft.jsch;bundle-version=&quot;[0.1.28,1.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.3.0,4.0.0)&quot;,org.eclipse.core.net;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.jsch.internal.core.JSchCorePlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.1.100.I20080604&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.jsch.core;singleton:=true&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.navigator.resources' version='3.3.101.M20080910-0800'>
-      <update id='org.eclipse.ui.navigator.resources' range='[0.0.0,3.3.101.M20080910-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.Plugin.name' value='Navigator Workbench Components'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org '/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.ui.navigator.resources_3.3.101.M20080910-0800.jar'/>
-        <property name='file.lastModified' value='1239159889589'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator.resources' version='3.3.101.M20080910-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.navigator.resources' version='3.3.101.M20080910-0800'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.resources.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.resources.plugin' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.resources.workbench' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.internal.navigator.workingsets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.navigator.resources' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.navigator' range='[3.2.1,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.views.properties.tabbed' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.navigator.resources' version='3.3.101.M20080910-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.internal.navigator.resources.actions;x-internal:=true,org.eclipse.ui.internal.navigator.resources.plugin;x-internal:=true,org.eclipse.ui.internal.navigator.resources.workbench;x-internal:=true,org.eclipse.ui.internal.navigator.workingsets;x-internal:=true,org.eclipse.ui.navigator.resources&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui.ide;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.jface;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.navigator;bundle-version=&quot;[3.2.1,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.views.properties.tabbed;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Bundle-Activator: org.eclipse.ui.internal.navigator.resources.plugin.WorkbenchNavigatorPlugin&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.3.101.M20080910-0800&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.navigator.resources; singleton:=true&#xA;Bundle-ActivationPolicy: lazy&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.platform.doc.user' version='3.4.2.r342_v20081031-0800'>
-      <update id='org.eclipse.platform.doc.user' range='[0.0.0,3.4.2.r342_v20081031-0800)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse Workbench User Guide'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.platform.doc.user_3.4.2.r342_v20081031-0800.jar'/>
-        <property name='file.lastModified' value='1239159886026'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform.doc.user' version='3.4.2.r342_v20081031-0800'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.platform.doc.user' version='3.4.2.r342_v20081031-0800'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.help' range='[3.2.0,4.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.platform.doc.user' version='3.4.2.r342_v20081031-0800'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-Version: 3.4.2.r342_v20081031-0800&#xA;Require-Bundle: org.eclipse.help;bundle-version=&quot;[3.2.0,4.0.0)&quot;&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.platform.doc.user; singleton:=true&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.platform' version='3.3.101.v200902111700'>
-      <update id='org.eclipse.platform' range='[0.0.0,3.3.101.v200902111700)' severity='0'/>
-      <properties size='6'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Eclipse Platform'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='file.name' value='C:\Program Files\IBM\SDP70Shared\plugins\org.eclipse.platform_3.3.101.v200902111700'/>
-        <property name='file.lastModified' value='1239159906605'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.platform' version='3.3.101.v200902111700'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.platform' version='3.3.101.v200902111700'/>
-        <provided namespace='java.package' name='org.eclipse.platform.internal' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='11'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.intro' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.cheatsheets' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.forms' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.2.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.update.ui' range='[3.1.0,4.0.0)' optional='true'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.intro.universal' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide.application' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.platform' version='3.3.101.v200902111700'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.platform.internal;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui.intro;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.cheatsheets;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.ui.forms;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.ui;bundle-version=&quot;[3.2.0,4.0.0)&quot;;resolution:=optional,org.eclipse.update.ui;bundle-version=&quot;[3.1.0,4.0.0)&quot;;resolution:=optional,org.eclipse.ui.intro.universal;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;,org.eclipse.ui.ide.application;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 3.3.101.v200902111700&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.platform; singleton:=true&#xA;Import-Package: javax.xml.parsers,org.xml.sax,org.xml.sax.helpers&#xA;Bundle-ClassPath: platform.jar&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-  <iusProperties size='165'>
-    <iuProperties id='org.eclipse.equinox.jsp.jasper' version='1.0.100.v20080427-0830'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.osgi.util' version='3.1.300.v20080303'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.jsp.jasper.registry' version='1.0.0.v20080427-0830'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ltk.core.refactoring' version='3.4.2.r342_v20081028-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.rcp.feature.jar' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.expressions' version='3.4.2.r342_v20090313'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.update.core.win32' version='3.2.100.v20080107'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.databinding' version='1.1.1.M20080827-0800b'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.filesystem.win32.x86' version='1.1.0.v20080604-1400'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.filesystem' version='1.2.0.v20080604-1400'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.console' version='1.0.0.v20080514-1900'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.user.ui.feature.group' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.base' version='3.3.103.v20090128_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.databinding.beans' version='1.1.1.M20080827-0800a'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.user.ui.feature.jar' version='1.0.2.r34x_v20090120-7d-7tEQcCaaYSBeNOClOn02267'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.user.ui.R342patch.feature.group' version='1.0.1'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.workbench.compatibility' version='3.2.0.I20080509-2000'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.runtime.compatibility' version='3.2.0.v20071008'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.swt' version='3.4.2.v3452b'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.rcp.R342patch.feature.group' version='1.0.0'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.director.app' version='1.0.1.R34x_v20080729'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.views.properties.tabbed' version='3.4.2.M20090127-1700'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='bootstrap.categoryIU' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.lucene.analysis' version='1.9.1.v20080530-1600'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.security.ui' version='1.0.0.v20080603-1810'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.forms' version='3.3.103.v20081027_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.externaltools' version='3.2.0.v20080514-1542'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.mortbay.jetty' version='5.1.14.v200806031611'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.editors' version='3.4.0.v20080603-2000'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='bootstrap' version='1.0.2.342I20090225i'>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.updatesite' version='1.0.1.R34x_v20080808-1156'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.runtime.compatibility.auth' version='3.2.100.v20070502'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.platform.feature.group' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.update.ui' version='3.2.101.R34x_v20081128'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.rcp.feature.group' version='3.4.200.R342_v20090122-989JESTEbig-SVaL8UJHcYBr4A63'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.debug.ui' version='3.4.2.v20090110_r342'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.updatechecker' version='1.0.0.v20080427-2136'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.lucene' version='1.9.1.v20080530-1600'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.ui' version='3.3.102.v20081014_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui' version='3.4.2.M20090204-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.team.core' version='3.4.2.r34x_20080115'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='javax.servlet' version='2.4.0.v200806031604'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.commands' version='3.4.0.I20080509-2000'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='com.ibm.icu' version='3.8.1.v20080530'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.commons.el' version='1.0.0.v200806031608'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.jface.text' version='3.4.2.r342_v20081119-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.update.scheduler' version='3.2.100.v20080404'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.intro' version='3.2.201.v20080702_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.resources' version='3.4.2.R34x_v20090126'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.update.core' version='3.2.202.R34x_v20081128'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.platform.feature.jar' version='3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.jasper' version='5.5.17.v200806031609'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.workbench.texteditor' version='3.4.1.r341_v20080827-1100'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.intro.universal' version='3.2.200.v20080508'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.swt.win32.win32.x86' version='3.4.1.v3452b'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.ide' version='3.4.2.M20090127-1700'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='javax.servlet.jsp' version='2.0.0.v200806031607'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.update.configurator' version='3.2.201.R34x_v20080819'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.browser' version='3.2.201.v20080708_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.net' version='1.0.0.I20080605'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.launcher_eclipse.exe' version='1.0.0'>
-      <properties size='1'>
-        <property name='unzipped|@artifact|C:\342I20090225i\p2\bootstrap.win32.win32.x86' value='C:\342I20090225i\p2\bootstrap.win32.win32.x86\eclipse.exe|'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='com.jcraft.jsch' version='0.1.37.v200803061811'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.resources.compatibility' version='3.4.0.v20080604-1400'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ltk.ui.refactoring' version='3.4.1.r341_v20080716-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.compare' version='3.4.1.r34x_20090121'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.variables' version='3.2.100.v20080529-1300'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.jsch.ui' version='1.1.100.I20080415'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.console' version='3.3.1.v20090128_r342'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.feature.jar' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.presentations.r21' version='3.2.100.I20080512-2000'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ant.core' version='3.2.0.v20080529'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.navigator' version='3.3.102.M20090127-1700'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.ide.application' version='1.0.1.M20090204-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.rcp' version='3.4.1.R342_v20090205'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.jface' version='3.4.2.M20090107-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.feature.group' version='1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK'>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.root' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.views' version='3.3.1.M20081112-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.user.ui.R342patch.feature.jar' version='1.0.1'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.debug.core' version='3.4.1.v20090106_r342'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.jface.databinding' version='1.2.1.M20080827-0800a'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.ant' version='1.7.0.v200803061910'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.http.jetty' version='1.1.0.v20080425'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.apache.commons.logging' version='1.0.4.v20080605-1930'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.appserver' version='3.1.300.v20080507'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.win32' version='3.2.100.v20080408-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.team.ui' version='3.4.1.r34x_20080827'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.cheatsheets' version='3.3.101.v20080702_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.resources.win32.x86' version='3.4.0.v20071204'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.search' version='3.4.1.r341_v20080813-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help' version='3.3.102.v20081014_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.text' version='3.4.0.v20080605-1800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.http.servlet' version='1.0.100.v20080427-0830'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.ui.sdk' version='1.0.1.R34x_v20081029'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.rcp.R342patch.feature.jar' version='1.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.http.registry' version='1.0.100.v20080427-0830'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.core.boot' version='3.1.100.v20080218'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.workbench' version='3.4.2.M20090127-1700'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.equinox.p2.ui' version='1.0.4.R34x_v20090123'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.help.webapp' version='3.3.101.M20080805_34x'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.jsch.core' version='1.1.100.I20080604'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.ui.navigator.resources' version='3.3.101.M20080910-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.platform.doc.user' version='3.4.2.r342_v20081031-0800'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-    <iuProperties id='org.eclipse.platform' version='3.3.101.v200902111700'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.type.lock' value='1'/>
-        <property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='OPTIONAL'/>
-        <property name='org.eclipse.equinox.p2.reconciler.dropins' value='true'/>
-      </properties>
-    </iuProperties>
-  </iusProperties>
-</profile>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug271954/SDKProfile.profile/1239721066843.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug271954/SDKProfile.profile/1239721066843.profile.gz
deleted file mode 100644
index 576ac31..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug271954/SDKProfile.profile/1239721066843.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/profileRegistry/PlatformProfile.profile/1239828520733.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/profileRegistry/PlatformProfile.profile/1239828520733.profile.gz
deleted file mode 100644
index cf022cf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/profileRegistry/PlatformProfile.profile/1239828520733.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/repo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/repo/content.xml
deleted file mode 100644
index 1ee264e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug272251/repo/content.xml
+++ /dev/null
@@ -1,362 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>

-<repository name='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>

-  <properties size='1'>

-    <property name='p2.timestamp' value='1239824993421'/>

-  </properties>

-  <units size='6'>

-    <unit id='org.eclipse.jst.jsp.core' version='1.2.122.v200902270508'>

-      <update id='org.eclipse.jst.jsp.core' range='[0.0.0,1.2.122.v200902270508)' severity='0'/>

-      <properties size='6'>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.pluginName' value='Structured Source JSP Model'/>

-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\plugins\org.eclipse.jst.jsp.core_1.2.122.v200902270508.jar'/>

-        <property name='file.lastModified' value='1239219566000'/>

-      </properties>

-      <provides size='40'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.jsp.core' version='1.2.122.v200902270508'/>

-        <provided namespace='osgi.bundle' name='org.eclipse.jst.jsp.core' version='1.2.122.v200902270508'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.contentmodel' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.contentmodel.tld' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.contentproperties' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.contenttype' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.document' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.domdocument' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.encoding' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.java' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.java.jspel' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.java.search' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.modelhandler' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.modelquery' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.parser' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.parser.internal' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.preferences' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.provisional' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.provisional.contenttype' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.provisional.text' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.regions' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.taglib' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.tasks' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.text' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.util' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.internal.validation' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.jspel' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.taglib' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.core.text' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.contentmodel' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.contenttype' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.document' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.encoding' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.modelhandler' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.parser' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.jst.jsp.css.core.internal.parserz' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='14'>

-        <required namespace='osgi.bundle' name='com.ibm.icu' range='[3.8.1,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.filebuffers' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.jdt.core' range='[3.4.0,3.5.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.common.uriresolver' range='[1.1.301,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.sse.core' range='[1.1.300,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.xml.core' range='[1.1.300,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.css.core' range='[1.1.200,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.html.core' range='[1.1.200,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.validation' range='[1.2.0,1.3.0)'/>

-        <required namespace='osgi.bundle' name='javax.servlet.jsp' range='[2.0.0,3.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.common.project.facet.core' range='[1.3.0,2.0.0)' optional='true'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.common.modulecore' range='[1.1.200,2.0.0)' optional='true'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='org.eclipse.jst.jsp.core' version='1.2.122.v200902270508'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='manifest'>

-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.jst.jsp.core.internal;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.contentmodel;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.contentmodel.tld;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.contentproperties;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.contenttype;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.document;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.domdocument;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.encoding;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.java;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.java.jspel;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.java.search;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.modelhandler;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.modelquery;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.parser;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.parser.internal;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.preferences;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.provisional;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.provisional.contenttype;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.provisional.text;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.regions;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.taglib;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.tasks;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.text;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.util;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.internal.validation;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.core.jspel,org.eclipse.jst.jsp.core.taglib,org.eclipse.jst.jsp.core.text,org.eclipse.jst.jsp.css.core.internal.contentmodel;x-internal:=true,org.eclipse.jst.jsp.css.core.internal.contenttype;x-internal:=true,org.eclipse.jst.jsp.css.core.internal.document;x-internal:=true,org.eclipse.jst.jsp.css.core.internal.encoding;x-internal:=true,org.eclipse.jst.jsp.css.core.internal.modelhandler;x-friends:=&quot;org.eclipse.jst.jsp.ui&quot;,org.eclipse.jst.jsp.css.core.internal.parser;x-internal:=true,org.eclipse.jst.jsp.css.core.internal.parserz;x-internal:=true&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: com.ibm.icu;bundle-version=&quot;[3.8.1,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.resources;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.filebuffers;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jdt.core;bundle-version=&quot;[3.4.0,3.5.0)&quot;,org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.301,1.2.0)&quot;,org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.300,1.2.0)&quot;,org.eclipse.wst.xml.core;bundle-version=&quot;[1.1.300,1.2.0)&quot;,org.eclipse.wst.css.core;bundle-version=&quot;[1.1.200,1.2.0)&quot;,org.eclipse.wst.html.core;bundle-version=&quot;[1.1.200,1.2.0)&quot;,org.eclipse.wst.validation;bundle-version=&quot;[1.2.0,1.3.0)&quot;,javax.servlet.jsp;bundle-version=&quot;[2.0.0,3.0.0)&quot;,org.eclipse.wst.common.project.facet.core;bundle-version=&quot;[1.3.0,2.0.0)&quot;;resolution:=optional,org.eclipse.wst.common.modulecore;bundle-version=&quot;[1.1.200,2.0.0)&quot;;resolution:=optional&#xA;Bundle-Activator: org.eclipse.jst.jsp.core.internal.JSPCorePlugin&#xA;Bundle-Name: %pluginName&#xA;Bundle-Version: 1.2.122.v200902270508&#xA;Bundle-Vendor: %providerName&#xA;Bundle-SymbolicName: org.eclipse.jst.jsp.core; singleton:=true&#xA;Bundle-ActivationPolicy: lazy; exclude:=&quot;org.eclipse.jst.jsp.core.internal.contenttype&quot;&#xA;Manifest-Version: 1.0&#xA;

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='org.eclipse.wst.jsdt.web.ui' version='1.0.105.v200904020304'>

-      <update id='org.eclipse.wst.jsdt.web.ui' range='[0.0.0,1.0.105.v200904020304)' severity='0'/>

-      <properties size='6'>

-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>

-        <property name='df_LT.Bundle-Name.0' value='JSDT Web Support UI'/>

-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\plugins\org.eclipse.wst.jsdt.web.ui_1.0.105.v200904020304.jar'/>

-        <property name='file.lastModified' value='1239219556000'/>

-      </properties>

-      <provides size='21'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.web.ui' version='1.0.105.v200904020304'/>

-        <provided namespace='osgi.bundle' name='org.eclipse.wst.jsdt.web.ui' version='1.0.105.v200904020304'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.autoedit' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.contentassist' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.derived' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.editor' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.format' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.hyperlink' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.java.refactoring' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.java.search' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.java.search.ui' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.registry' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.style' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.style.java' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.taginfo' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.internal.text' version='0.0.0'/>

-        <provided namespace='java.package' name='org.eclipse.wst.jsdt.web.ui.views.contentoutline' version='0.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='24'>

-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.sse.ui' range='[1.1.0,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.xml.ui' range='[1.0.400,1.1.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.jsdt.web.core' range='[1.0.0,2.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.css.core' range='[1.1.0,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.xml.core' range='[1.1.0,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.sse.core' range='[1.1.0,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.debug.core' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.search' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.ltk.core.refactoring' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.common.uriresolver' range='[1.1.0,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='[3.4.0,4.0.0)'/>

-        <required namespace='osgi.bundle' name='com.ibm.icu' range='[3.8.1,4.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.jsdt.core' range='[1.0.0,2.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.jsdt.ui' range='[1.0.0,2.0.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.html.ui' range='[1.0.300,1.1.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.html.core' range='[1.1.200,1.2.0)'/>

-        <required namespace='osgi.bundle' name='org.eclipse.wst.jsdt.manipulation' range='[1.0.0,2.0.0)'/>

-        <required namespace='java.package' name='org.eclipse.core.filesystem' range='0.0.0'/>

-        <required namespace='java.package' name='org.eclipse.ui.views.contentoutline' range='0.0.0'/>

-      </requires>

-      <artifacts size='1'>

-        <artifact classifier='osgi.bundle' id='org.eclipse.wst.jsdt.web.ui' version='1.0.105.v200904020304'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='manifest'>

-            Bundle-RequiredExecutionEnvironment: J2SE-1.4&#xA;Bundle-Name: %Bundle-Name.0&#xA;Bundle-Activator: org.eclipse.wst.jsdt.web.ui.internal.JsUIPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Vendor: %Bundle-Vendor.0&#xA;Bundle-SymbolicName: org.eclipse.wst.jsdt.web.ui; singleton:=true&#xA;Import-Package: org.eclipse.core.filesystem,org.eclipse.ui.views.contentoutline&#xA;Bundle-ManifestVersion: 2&#xA;Eclipse-LazyStart: true&#xA;Bundle-Version: 1.0.105.v200904020304&#xA;Bundle-Localization: plugin&#xA;Export-Package: org.eclipse.wst.jsdt.web.ui,org.eclipse.wst.jsdt.web.ui.internal;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.autoedit;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.contentassist;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.derived;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.editor;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.format;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.hyperlink;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.java.refactoring;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.java.search;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.java.search.ui;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.registry;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.style;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.style.java;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.taginfo;x-internal:=true,org.eclipse.wst.jsdt.web.ui.internal.text;x-internal:=true,org.eclipse.wst.jsdt.web.ui.views.contentoutline&#xA;Require-Bundle: org.eclipse.ui.ide;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.jface.text;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui.workbench.texteditor;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ui;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.wst.sse.ui;bundle-version=&quot;[1.1.0,1.2.0)&quot;,org.eclipse.wst.xml.ui;bundle-version=&quot;[1.0.400,1.1.0)&quot;,org.eclipse.wst.jsdt.web.core;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.wst.css.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,org.eclipse.wst.xml.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,org.eclipse.debug.core;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.core.runtime;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.search;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.ltk.core.refactoring;bundle-version=&quot;[3.4.0,4.0.0)&quot;,org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.0,1.2.0)&quot;,org.eclipse.ui.ide;bundle-version=&quot;[3.4.0,4.0.0)&quot;,com.ibm.icu;bundle-version=&quot;[3.8.1,4.0.0)&quot;,org.eclipse.wst.jsdt.core;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.wst.jsdt.ui;bundle-version=&quot;[1.0.0,2.0.0)&quot;,org.eclipse.wst.html.ui;bundle-version=&quot;[1.0.300,1.1.0)&quot;,org.eclipse.wst.html.core;bundle-version=&quot;[1.1.200,1.2.0)&quot;,org.eclipse.wst.jsdt.manipulation;bundle-version=&quot;[1.0.0,2.0.0)&quot;&#xA;

-          </instruction>

-        </instructions>

-      </touchpointData>

-    </unit>

-    <unit id='org.eclipse.jst.web_core.feature.patch.feature.jar' version='3.0.4.v200904080413-118u7w311_13381619'>

-      <update id='org.eclipse.jst.web_core.feature.patch.feature.jar' range='[0.0.0,3.0.4.v200904080413-118u7w311_13381619)' severity='0'/>

-      <properties size='10'>

-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>

-        <property name='org.eclipse.equinox.p2.description' value='%description'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-        <property name='df_LT.featureName' value='WTP Patches for org.eclipse.jst.web_core.feature'/>

-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.description' value='The bugs and fixes are described in the following bugzilla entries:&#xA;&#xA;Bug https://bugs.eclipse.org/266414 JSPTokenizer encounters stack overflows frequently when typing&#xA;&#xA;# &quot;copyright&quot; property - text of the &quot;Feature Update Copyright&quot;'/>

-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;August, 2008&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\features\org.eclipse.jst.web_core.feature.patch_3.0.4.v200904080413-118u7w311_13381619'/>

-        <property name='file.lastModified' value='1239824303229'/>

-      </properties>

-      <provides size='4'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.patch.feature.jar' version='3.0.4.v200904080413-118u7w311_13381619'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>

-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.jst.web_core.feature.patch' version='3.0.4.v200904080413-118u7w311_13381619'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <artifacts size='1'>

-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.jst.web_core.feature.patch' version='3.0.4.v200904080413-118u7w311_13381619'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-      <licenses size='1'>

-        <license>

-          %license

-        </license>

-      </licenses>

-      <copyright>

-        %copyright

-      </copyright>

-    </unit>

-    <unit id='org.eclipse.jst.web_core.feature.patch.feature.group' version='3.0.4.v200904080413-118u7w311_13381619' singleton='false'>

-      <patchScope>

-        <scope>

-          <requires size='1'>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.feature.group' range='[3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t,3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t]'/>

-          </requires>

-        </scope>

-      </patchScope>

-      <changes>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.jsp.core' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.jsp.core' range='[1.2.122.v200902270508,1.2.122.v200902270508]'/>

-          </to>

-        </change>

-      </changes>

-      <lifeCycle>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.feature.group' range='[3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t,3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t]' greedy='false'/>

-      </lifeCycle>

-      <update id='org.eclipse.jst.web_core.feature.patch.feature.group' range='[0.0.0,3.0.4.v200904080413-118u7w311_13381619)' severity='0'/>

-      <properties size='12'>

-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>

-        <property name='org.eclipse.equinox.p2.description' value='%description'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>

-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>

-        <property name='df_LT.featureName' value='WTP Patches for org.eclipse.jst.web_core.feature'/>

-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.description' value='The bugs and fixes are described in the following bugzilla entries:&#xA;&#xA;Bug https://bugs.eclipse.org/266414 JSPTokenizer encounters stack overflows frequently when typing&#xA;&#xA;# &quot;copyright&quot; property - text of the &quot;Feature Update Copyright&quot;'/>

-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;August, 2008&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\features\org.eclipse.jst.web_core.feature.patch_3.0.4.v200904080413-118u7w311_13381619'/>

-        <property name='file.lastModified' value='1239824303229'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.patch.feature.group' version='3.0.4.v200904080413-118u7w311_13381619'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='2'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.patch.feature.jar' range='[3.0.4.v200904080413-118u7w311_13381619,3.0.4.v200904080413-118u7w311_13381619]'>

-          <filter>

-            (org.eclipse.update.install.features=true)

-          </filter>

-        </required>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jst.web_core.feature.feature.group' range='[3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t,3.0.4.v200811260650-7Q7AEf1EHhHehNmEARhS7t]' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <licenses size='1'>

-        <license>

-          %license

-        </license>

-      </licenses>

-      <copyright>

-        %copyright

-      </copyright>

-    </unit>

-    <unit id='org.eclipse.wst.jsdt.feature.patch.feature.jar' version='3.0.4.v200904020304-1-8d7w311_15131415'>

-      <update id='org.eclipse.wst.jsdt.feature.patch.feature.jar' range='[0.0.0,3.0.4.v200904020304-1-8d7w311_15131415)' severity='0'/>

-      <properties size='10'>

-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>

-        <property name='org.eclipse.equinox.p2.description' value='%description'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-        <property name='df_LT.featureName' value='WTP Patches for org.eclipse.wst.jsdt.feature'/>

-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.description' value='&#xA;&#xA;The fixes are described in the following bugzilla entries:&#xA;&#xA;Bug https://bugs.eclipse.org/270407 org.eclipse.ui.workbench.texteditor.hyperlinkDetectors&apos; extension point will be ignored&#xA;&#xA;'/>

-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;August, 2008&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\features\org.eclipse.wst.jsdt.feature.patch_3.0.4.v200904020304-1-8d7w311_15131415'/>

-        <property name='file.lastModified' value='1239824303289'/>

-      </properties>

-      <provides size='4'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.patch.feature.jar' version='3.0.4.v200904020304-1-8d7w311_15131415'/>

-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>

-        <provided namespace='org.eclipse.update.feature' name='org.eclipse.wst.jsdt.feature.patch' version='3.0.4.v200904020304-1-8d7w311_15131415'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <filter>

-        (org.eclipse.update.install.features=true)

-      </filter>

-      <artifacts size='1'>

-        <artifact classifier='org.eclipse.update.feature' id='org.eclipse.wst.jsdt.feature.patch' version='3.0.4.v200904020304-1-8d7w311_15131415'/>

-      </artifacts>

-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>

-      <touchpointData size='1'>

-        <instructions size='1'>

-          <instruction key='zipped'>

-            true

-          </instruction>

-        </instructions>

-      </touchpointData>

-      <licenses size='1'>

-        <license>

-          %license

-        </license>

-      </licenses>

-      <copyright>

-        %copyright

-      </copyright>

-    </unit>

-    <unit id='org.eclipse.wst.jsdt.feature.patch.feature.group' version='3.0.4.v200904020304-1-8d7w311_15131415' singleton='false'>

-      <patchScope>

-        <scope>

-          <requires size='1'>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.feature.group' range='[1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN,1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN]'/>

-          </requires>

-        </scope>

-      </patchScope>

-      <changes>

-        <change>

-          <from>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.web.ui' range='0.0.0'/>

-          </from>

-          <to>

-            <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.web.ui' range='[1.0.105.v200904020304,1.0.105.v200904020304]'/>

-          </to>

-        </change>

-      </changes>

-      <lifeCycle>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.feature.group' range='[1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN,1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN]' greedy='false'/>

-      </lifeCycle>

-      <update id='org.eclipse.wst.jsdt.feature.patch.feature.group' range='[0.0.0,3.0.4.v200904020304-1-8d7w311_15131415)' severity='0'/>

-      <properties size='12'>

-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>

-        <property name='org.eclipse.equinox.p2.description' value='%description'/>

-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>

-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>

-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>

-        <property name='df_LT.featureName' value='WTP Patches for org.eclipse.wst.jsdt.feature'/>

-        <property name='df_LT.copyright' value='Copyright (c) 2008 IBM Corporation and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;IBM Corporation - initial API and implementation&#xA;'/>

-        <property name='df_LT.providerName' value='Eclipse.org'/>

-        <property name='df_LT.description' value='&#xA;&#xA;The fixes are described in the following bugzilla entries:&#xA;&#xA;Bug https://bugs.eclipse.org/270407 org.eclipse.ui.workbench.texteditor.hyperlinkDetectors&apos; extension point will be ignored&#xA;&#xA;'/>

-        <property name='df_LT.license' value='ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT&#xA;August, 2008&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the Eclipse Foundation&#xA;is provided to you under the terms and conditions of the Eclipse Public&#xA;License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this&#xA;Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse.org CVS&#xA;repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;Features may also include other Features (&quot;Included Features&quot;). Files named&#xA;&quot;feature.xml&quot; may contain a list of the names and version numbers of&#xA;Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Eclipse Update Manager, you must agree to a license (&quot;Feature Update&#xA;License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,&#xA;Feature Licenses and Feature Update Licenses contain the terms and&#xA;conditions (or references to such terms and conditions) that govern your&#xA;use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use,&#xA;and re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.&#xA;'/>

-        <property name='file.name' value='D:\downloads\wtp-U-U20090408193533-20090408193533\eclipse\features\org.eclipse.wst.jsdt.feature.patch_3.0.4.v200904020304-1-8d7w311_15131415'/>

-        <property name='file.lastModified' value='1239824303289'/>

-      </properties>

-      <provides size='2'>

-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.patch.feature.group' version='3.0.4.v200904020304-1-8d7w311_15131415'/>

-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>

-      </provides>

-      <requires size='2'>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.patch.feature.jar' range='[3.0.4.v200904020304-1-8d7w311_15131415,3.0.4.v200904020304-1-8d7w311_15131415]'>

-          <filter>

-            (org.eclipse.update.install.features=true)

-          </filter>

-        </required>

-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.wst.jsdt.feature.feature.group' range='[1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN,1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN]' greedy='false'/>

-      </requires>

-      <touchpoint id='null' version='0.0.0'/>

-      <licenses size='1'>

-        <license>

-          %license

-        </license>

-      </licenses>

-      <copyright>

-        %copyright

-      </copyright>

-    </unit>

-  </units>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/bug278668/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/bug278668/content.xml
deleted file mode 100644
index e1c9302..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/bug278668/content.xml
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository version='1.1.0'?>
-<repository name='file:/Users/Pascal/Downloads/borland/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1255466515699'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <units size='4'>
-    <unit id='com.borland.tg.modeling.8.2.0.nl.patch.feature.jar' version='1.0.0.v20090326-1800-781-7w311_143702911'>
-      <properties size='8'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='Generic Modeling, i18n patch'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.nl.patch.feature.jar' version='1.0.0.v20090326-1800-781-7w311_143702911'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='com.borland.tg.modeling.8.2.0.nl.patch' version='1.0.0.v20090326-1800-781-7w311_143702911'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='com.borland.tg.modeling.8.2.0.nl.patch' version='1.0.0.v20090326-1800-781-7w311_143702911'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='%25licenseURL' url='%25licenseURL'>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.group' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA' singleton='false'>
-      <patchScope>
-        <scope>
-          <requires size='1'>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]'/>
-          </requires>
-        </scope>
-      </patchScope>
-      <changes>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modelrenaming' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modelrenaming' range='[8.1.2.v20090422-1800,8.1.2.v20090422-1800]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.xmldesign' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.xmldesign' range='[8.2.0.v20090422-1800,8.2.0.v20090422-1800]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.dom' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.dom' range='[8.2.0.v20090422-1800,8.2.0.v20090422-1800]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model.providers.rc' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model.providers.rc' range='[8.2.0.v20090422-1800,8.2.0.v20090422-1800]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model.providers.resources' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model.providers.resources' range='[8.1.2.v20090422-1800,8.1.2.v20090422-1800]'/>
-          </to>
-        </change>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.model' range='[8.1.5.v20090422-1800,8.1.5.v20090422-1800]'/>
-          </to>
-        </change>
-      </changes>
-      <lifeCycle>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]' greedy='false'/>
-      </lifeCycle>
-      <update id='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.group' range='[0.0.0,1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA)' severity='0'/>
-      <properties size='10'>
-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Together Modeling Performance HotFix: Generic Modeling'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.group' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.jar' range='[1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA,1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='%25licenseURL' url='%25licenseURL'>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.jar' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA'>
-      <properties size='8'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='df_LT.featureName' value='Together Modeling Performance HotFix: Generic Modeling'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.hotfixexp.patch.feature.jar' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='com.borland.tg.modeling.8.2.0.hotfixexp.patch' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='com.borland.tg.modeling.8.2.0.hotfixexp.patch' version='1.0.0.v20090422-1800-7l7878BcMAB0AYMM5GwAA'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='%25licenseURL' url='%25licenseURL'>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='com.borland.tg.modeling.8.2.0.nl.patch.feature.group' version='1.0.0.v20090326-1800-781-7w311_143702911' singleton='false'>
-      <patchScope>
-        <scope>
-          <requires size='1'>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]'/>
-          </requires>
-        </scope>
-      </patchScope>
-      <changes>
-        <change>
-          <from>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.dom' range='0.0.0'/>
-          </from>
-          <to>
-            <required namespace='org.eclipse.equinox.p2.iu' name='com.tssap.selena.dom' range='[8.2.0.v20090326-1800,8.2.0.v20090326-1800]'/>
-          </to>
-        </change>
-      </changes>
-      <lifeCycle>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]' greedy='false'/>
-      </lifeCycle>
-      <update id='com.borland.tg.modeling.8.2.0.nl.patch.feature.group' range='[0.0.0,1.0.0.v20090326-1800-781-7w311_143702911)' severity='0'/>
-      <properties size='10'>
-        <property name='org.eclipse.equinox.p2.type.patch' value='true'/>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Generic Modeling, i18n patch'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.nl.patch.feature.group' version='1.0.0.v20090326-1800-781-7w311_143702911'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.8.2.0.nl.patch.feature.jar' range='[1.0.0.v20090326-1800-781-7w311_143702911,1.0.0.v20090326-1800-781-7w311_143702911]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-        <required namespace='org.eclipse.equinox.p2.iu' name='com.borland.tg.modeling.feature.group' range='[8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm,8.2.0.v20081113-0500-_87S7nELRXmpf6G0dO3emm]' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='%25licenseURL' url='%25licenseURL'>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a.tar.gz b/bundles/org.eclipse.equinox.p2.tests/testData/core/a.tar.gz
deleted file mode 100644
index 3e6885c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a.tar.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a.zip b/bundles/org.eclipse.equinox.p2.tests/testData/core/a.zip
deleted file mode 100644
index 0412cb2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/core/a/a.txt
deleted file mode 100644
index e720fc7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a/a.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-hi
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.tar.gz b/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.tar.gz
deleted file mode 100644
index 81ca7d6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.tar.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.zip b/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.zip
deleted file mode 100644
index 1053558..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/a.txt
deleted file mode 100644
index e720fc7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/a.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-hi
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/b/b.txt b/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/b/b.txt
deleted file mode 100644
index 45b983b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/a2/b/b.txt
+++ /dev/null
@@ -1 +0,0 @@
-hi
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/x/y/plugins/bundle.txt b/bundles/org.eclipse.equinox.p2.tests/testData/core/x/y/plugins/bundle.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/x/y/plugins/bundle.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/core/z/features/feature.txt b/bundles/org.eclipse.equinox.p2.tests/testData/core/z/features/feature.txt
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/core/z/features/feature.txt
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
deleted file mode 100644
index 0e6fd7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
deleted file mode 100644
index 02e74aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
+++ /dev/null
@@ -1,20 +0,0 @@
-Signature-Version: 1.0

-SHA1-Digest-Manifest-Main-Attributes: tPSlRd6sUMu8HGBrZzryEi7xoAI=

-Created-By: 1.5.0 (IBM Corporation)

-SHA1-Digest-Manifest: 7C3Xo2E7YjnnV3TxHcX11i4c5BA=

-

-Name: plugin.properties

-SHA1-Digest: 5XC7EdM8EOCa1VASp4M/bgut2mk=

-

-Name: about.html

-SHA1-Digest: 3FGlljWZwXaprsAxNVJWNShkOiQ=

-

-Name: about_files/cpl-v10.html

-SHA1-Digest: YZUV+BFnw6XLRdU0eCv1FYdy8cQ=

-

-Name: junit.jar

-SHA1-Digest: aNKD7gKxpBEj5sDv4cwzWeXRifQ=

-

-Name: META-INF/eclipse.inf

-SHA1-Digest: SAqY+5ITAL0mkdYeijlSRhyIaZk=

-

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
deleted file mode 100644
index 7d16c7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200706111738
-Export-Package: junit.awtui;version="3.8.2",junit.extensions;version="
- 3.8.2",junit.framework;version="3.8.2",junit.runner;version="3.8.2",j
- unit.swingui;version="3.8.2",junit.swingui.icons;version="3.8.2",juni
- t.textui;version="3.8.2"
-Created-By: 2.3 (IBM Corporation)
-Bundle-SymbolicName: org.junit
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-Bundle-ClassPath: junit.jar
-Ant-Version: Apache Ant 1.7.0
-
-Name: plugin.properties
-SHA1-Digest: mL9yvXBmAAJi7G1tls7akuyPG+A=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: o0b19ceZ+HQHVX0Ops751AQVdwM=
-
-Name: about.html
-SHA1-Digest: iPsyJPEYGTQ+luOJhiJgUtDVYkE=
-
-Name: junit.jar
-SHA1-Digest: Y+KaCRbbBcmThxDeHAxhrzYGkyg=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
deleted file mode 100644
index 7864d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-#Processed using Jarprocessor
-pack200.args = -E4
-pack200.conditioned = true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
deleted file mode 100644
index 70913ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>September 28, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<h4>JUnit 3.8.2</h4>
-
-<p>The plug-in is accompanied by software developed by JUnit.org.  The JUnit 3.8.2 code included with the plug-in includes no modifications.
-Your use of JUnit 3.8.2 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the 
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-The binary code is located in junit.jar and the source code is located in src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-
-<p>iii) IBM states that any provisions which differ from the CPL are offered by that IBM alone and not by any other party.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
deleted file mode 100644
index 455e7b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
deleted file mode 100644
index 7a21fc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/junit.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
deleted file mode 100644
index edfb96b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher1/org.junit_3.8.2.v200706111738/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=JUnit Testing Framework
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
deleted file mode 100644
index fb110a7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.equinox.jsp.jasper.registry_1.0.0.v20070827.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
deleted file mode 100644
index 0e6fd7e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.RSA
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
deleted file mode 100644
index 02e74aa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/ECLIPSE.SF
+++ /dev/null
@@ -1,20 +0,0 @@
-Signature-Version: 1.0

-SHA1-Digest-Manifest-Main-Attributes: tPSlRd6sUMu8HGBrZzryEi7xoAI=

-Created-By: 1.5.0 (IBM Corporation)

-SHA1-Digest-Manifest: 7C3Xo2E7YjnnV3TxHcX11i4c5BA=

-

-Name: plugin.properties

-SHA1-Digest: 5XC7EdM8EOCa1VASp4M/bgut2mk=

-

-Name: about.html

-SHA1-Digest: 3FGlljWZwXaprsAxNVJWNShkOiQ=

-

-Name: about_files/cpl-v10.html

-SHA1-Digest: YZUV+BFnw6XLRdU0eCv1FYdy8cQ=

-

-Name: junit.jar

-SHA1-Digest: aNKD7gKxpBEj5sDv4cwzWeXRifQ=

-

-Name: META-INF/eclipse.inf

-SHA1-Digest: SAqY+5ITAL0mkdYeijlSRhyIaZk=

-

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
deleted file mode 100644
index 7d16c7f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200706111738
-Export-Package: junit.awtui;version="3.8.2",junit.extensions;version="
- 3.8.2",junit.framework;version="3.8.2",junit.runner;version="3.8.2",j
- unit.swingui;version="3.8.2",junit.swingui.icons;version="3.8.2",juni
- t.textui;version="3.8.2"
-Created-By: 2.3 (IBM Corporation)
-Bundle-SymbolicName: org.junit
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-Bundle-ClassPath: junit.jar
-Ant-Version: Apache Ant 1.7.0
-
-Name: plugin.properties
-SHA1-Digest: mL9yvXBmAAJi7G1tls7akuyPG+A=
-
-Name: about_files/cpl-v10.html
-SHA1-Digest: o0b19ceZ+HQHVX0Ops751AQVdwM=
-
-Name: about.html
-SHA1-Digest: iPsyJPEYGTQ+luOJhiJgUtDVYkE=
-
-Name: junit.jar
-SHA1-Digest: Y+KaCRbbBcmThxDeHAxhrzYGkyg=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
deleted file mode 100644
index 7864d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/META-INF/eclipse.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-#Processed using Jarprocessor
-pack200.args = -E4
-pack200.conditioned = true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
deleted file mode 100644
index 70913ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>September 28, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<h4>JUnit 3.8.2</h4>
-
-<p>The plug-in is accompanied by software developed by JUnit.org.  The JUnit 3.8.2 code included with the plug-in includes no modifications.
-Your use of JUnit 3.8.2 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the 
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-The binary code is located in junit.jar and the source code is located in src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-
-<p>iii) IBM states that any provisions which differ from the CPL are offered by that IBM alone and not by any other party.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
deleted file mode 100644
index 455e7b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/about_files/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
deleted file mode 100644
index 7a21fc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/junit.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
deleted file mode 100644
index edfb96b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/directorywatcher2/org.junit_3.8.2.v200706111738/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=JUnit Testing Framework
-providerName=Eclipse.org
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/directoryBased.jar b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/directoryBased.jar
deleted file mode 100644
index 5f5e802..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/directoryBased.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/plugin.xml
deleted file mode 100644
index 8139c6a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/directoryBased_1.0.0/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="directoryBased"
-   name="directoryBased"
-   version="1.0.0">
-
-   <runtime>
-      <library name="directoryBased.jar"/>
-   </runtime>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar
deleted file mode 100644
index f1ec9e9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar
deleted file mode 100644
index 2b02abb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar
deleted file mode 100644
index b8f3916..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi.source_3.4.2.R34x_v20080826-1230.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
deleted file mode 100644
index 673f3f5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/bundles/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index eda0417..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: YVpG2yV+fCKpxjgnc2P7scwrcNU=
-
-Name: feature.properties
-SHA1-Digest: UzM1MZnaZBzb5JHPQZE7wbydJWA=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index 203a722..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Rich Client Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index 11ef188..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/eclipseTouchpoint/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.rcp"
-      label="%featureName"
-      version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"
-      provider-name="%providerName"
-      plugin="org.eclipse.rcp"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <plugin
-         id="com.ibm.icu"
-         download-size="0"
-         install-size="0"
-         version="3.6.1.v20070417"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.commands"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.core.databinding.beans"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>         
-
-   <plugin
-         id="org.eclipse.core.jobs"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070423"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.expressions"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.100.v20070530"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.auth"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070502"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070524"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070614-0800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070608-1100"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.ui.carbon"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070605-0010"
-         fragment="true"
-         unpack="false"/>     
-         
-   <plugin
-         id="org.eclipse.update.configurator"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-    <plugin
-         id="org.eclipse.swt.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>         
-         
-	 <plugin
-         id="org.eclipse.swt.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-         <plugin
-         id="org.eclipse.swt.gtk.solaris.x86"
-         os="solaris"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3345a"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ia64"
-         os="linux"
-         ws="gtk"
-         arch="ia64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.solaris.sparc"
-         os="solaris"
-         ws="motif"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.photon.qnx.x86"
-         os="qnx"
-         ws="photon"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.ia64_32"
-         os="hpux"
-         ws="motif"
-         arch="ia64_32"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rcp"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070612"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.contenttype"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070319"
-         unpack="false"/>           
-
-	<plugin
-         id="org.eclipse.equinox.app"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070426"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.preferences"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070522"
-         unpack="false"/>        
-         
-
-   <plugin
-         id="org.eclipse.equinox.registry"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070522"
-         unpack="false"/>
-
-	<plugin
-         id="org.eclipse.equinox.launcher"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>         
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-         
-    <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/> 
-           
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070219"
-         fragment="true"
-         unpack="true"/>         
-                  
-         <plugin
-         id="org.eclipse.equinox.launcher.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleFileLockerApp.jar b/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleFileLockerApp.jar
deleted file mode 100644
index bad4a12..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleFileLockerApp.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleRegistry/Simple.profile/1221176498721.profile b/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleRegistry/Simple.profile/1221176498721.profile
deleted file mode 100644
index 3e8d4b1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/SimpleRegistry/Simple.profile/1221176498721.profile
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?profile class='org.eclipse.equinox.internal.p2.engine.Profile' version='0.0.2'?>
-<profile id='Simple' timestamp='1221176498721'>
-  <properties size='6'>
-    <property name='org.eclipse.equinox.p2.cache' value='/builds/M200809111700/src/M20080911-1700/p2temp/equinox.p2.build/sdk.install.macosx.carbon.x86/eclipse'/>
-    <property name='org.eclipse.equinox.p2.flavor' value='tooling'/>
-    <property name='org.eclipse.equinox.p2.roaming' value='true'/>
-    <property name='org.eclipse.update.install.features' value='true'/>
-    <property name='org.eclipse.equinox.p2.environments' value='osgi.ws=carbon,osgi.os=macosx,osgi.arch=ppc'/>
-    <property name='org.eclipse.equinox.p2.installFolder' value='/builds/M200809111700/src/M20080911-1700/p2temp/equinox.p2.build/sdk.install.macosx.carbon.x86/eclipse'/>
-  </properties>
-</profile>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/1221176498721.profile b/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/1221176498721.profile
deleted file mode 100644
index 2d15c18..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/1221176498721.profile
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?profile class='org.eclipse.equinox.internal.p2.engine.Profile' version='0.0.2'?>
-<profile id='SDKProfile' timestamp='1221176498721'>
-  <properties size='6'>
-    <property name='org.eclipse.equinox.p2.cache' value='/builds/M200809111700/src/M20080911-1700/p2temp/equinox.p2.build/sdk.install.macosx.carbon.x86/eclipse'/>
-    <property name='org.eclipse.equinox.p2.flavor' value='tooling'/>
-    <property name='org.eclipse.equinox.p2.roaming' value='true'/>
-    <property name='org.eclipse.update.install.features' value='true'/>
-    <property name='org.eclipse.equinox.p2.environments' value='osgi.ws=carbon,osgi.os=macosx,osgi.arch=ppc'/>
-    <property name='org.eclipse.equinox.p2.installFolder' value='/builds/M200809111700/src/M20080911-1700/p2temp/equinox.p2.build/sdk.install.macosx.carbon.x86/eclipse'/>
-  </properties>
-</profile>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/foo.bar b/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/foo.bar
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/bogusRegistryContent/Foo.profile/foo.bar
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar
deleted file mode 100644
index 6fbd83b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/engineTest/dummy.touchpointAndAction_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar b/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
deleted file mode 100644
index d625d7b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/enginerepo.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index eda0417..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: YVpG2yV+fCKpxjgnc2P7scwrcNU=
-
-Name: feature.properties
-SHA1-Digest: UzM1MZnaZBzb5JHPQZE7wbydJWA=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index 203a722..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Rich Client Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index 11ef188..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.rcp"
-      label="%featureName"
-      version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"
-      provider-name="%providerName"
-      plugin="org.eclipse.rcp"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <plugin
-         id="com.ibm.icu"
-         download-size="0"
-         install-size="0"
-         version="3.6.1.v20070417"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.commands"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.core.databinding.beans"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>         
-
-   <plugin
-         id="org.eclipse.core.jobs"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070423"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.expressions"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.100.v20070530"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.auth"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070502"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070524"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070614-0800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070608-1100"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.ui.carbon"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070605-0010"
-         fragment="true"
-         unpack="false"/>     
-         
-   <plugin
-         id="org.eclipse.update.configurator"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-    <plugin
-         id="org.eclipse.swt.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>         
-         
-	 <plugin
-         id="org.eclipse.swt.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-         <plugin
-         id="org.eclipse.swt.gtk.solaris.x86"
-         os="solaris"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3345a"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ia64"
-         os="linux"
-         ws="gtk"
-         arch="ia64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.solaris.sparc"
-         os="solaris"
-         ws="motif"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.photon.qnx.x86"
-         os="qnx"
-         ws="photon"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.ia64_32"
-         os="hpux"
-         ws="motif"
-         arch="ia64_32"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rcp"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070612"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.contenttype"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070319"
-         unpack="false"/>           
-
-	<plugin
-         id="org.eclipse.equinox.app"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070426"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.preferences"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070522"
-         unpack="false"/>        
-         
-
-   <plugin
-         id="org.eclipse.equinox.registry"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070522"
-         unpack="false"/>
-
-	<plugin
-         id="org.eclipse.equinox.launcher"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>         
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-         
-    <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/> 
-           
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070219"
-         fragment="true"
-         unpack="true"/>         
-                  
-         <plugin
-         id="org.eclipse.equinox.launcher.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar b/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
deleted file mode 100644
index f160614..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/extensionlocation/plugins/org.eclipse.osgi.services_3.1.200.v20070605.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
deleted file mode 100644
index af1943d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
deleted file mode 100644
index 4702105..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar b/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
deleted file mode 100644
index 5f94986..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/featureToIU/feature3.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/galileoM7/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/galileoM7/content.jar
deleted file mode 100644
index 0be1888..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/galileoM7/content.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
deleted file mode 100644
index a9bf017..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/Europa/site.xml
+++ /dev/null
@@ -1,483 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site digestURL="http://download.eclipse.org/releases/europa/" mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/releases/europa/site.xml&amp;format=xml&amp;protocol=http" pack200="true">
-
-    <description url="http://www.eclipse.org/europa/">
-        This Europa Discovery Site contains a number of Eclipse based projects 
-        released simultaneously, June 2007.
-    </description>
-
-    <category-def label="C and C++ Developement" name="C and C++ Developement">
-        <description>Integrated Developement for C and C++ programs.</description>
-    </category-def>
-    <category-def label="Charting and Reporting" name="Charting and Reporting">
-        <description>Business Intelligence and Reporting Tools</description>
-    </category-def>
-    <category-def label="Collaboration Tools" name="Collaboration Tools">
-        <description>
-            Collaboration and integration tools for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def label="Communications" name="Communications">
-        <description>
-            Real-time communications for Eclipse.  To use applications (e.g. IM, real-time collab, etc.), both the Core API and Application features are required.
-        </description>
-    </category-def>
-    <category-def label="Database Development" name="Database Development">
-        <description>Tools to allow integration with and easy use of Databases.</description>
-    </category-def>
-    <category-def label="Graphical Editors and Frameworks" name="Graphical Editors and Frameworks">
-        <description>A framework to create graphical editors.</description>
-    </category-def>
-    <category-def label="Java Development" name="Java Development">
-        <description>
-            Integrated development tools for Java Development, including plugin developement with Java, and J2EE applications.
-        </description>
-    </category-def>
-    <category-def label="Models and Model Development" name="Models and Model Development">
-        <description>
-            Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
-        </description>
-    </category-def>
-    <category-def label="Remote Access and Device Development" name="Remote Access and Device Development">
-        <description>Tools and Frameworks for accessing and managing remote computers or embedded devices</description>
-    </category-def>
-    <category-def label="SOA Development" name="SOA Development">
-        <description>A platform and tools for developing
-        Service-Oriented Component-based  Applications.</description>
-    </category-def>
-    <category-def label="Testing and Performance" name="Testing and Performance">
-        <description>Tools and Frameworks to improve performance and automatic testing.</description>
-    </category-def>
-    <category-def label="Web and JEE Development" name="Web and JEE Development">
-        <description>A platform and tools for developing XML, WebServices, and JEE Applications.</description>
-    </category-def>
-    <category-def label="Programming Languages" name="Programming Languages">
-        <description>
-            Tools and Frameworks supporting programming languages for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def label="Other Tools" name="Other Tools">
-        <description>
-            Other tools for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def label="Enabling Features" name="Enabling Features">
-        <description>
-            These features provide functionality required by one or more projects, but do not provide end-user functionality by
-            themselves.
-        </description>
-    </category-def>
-
-    <feature id="org.eclipse.eclipsemonkey" patch="false" url="features/org.eclipse.eclipsemonkey_1.0.0.200706060947.jar" version="1.0.0.200706060947">
-        <category name="Other Tools"/>
-    </feature>
-    <feature id="org.apache.batik" patch="false" url="features/org.apache.batik_1.6.0.v20061222-1222-0842283444-3444.jar" version="1.6.0.v20061222-1222-0842283444-3444">
-        <category name="Enabling Features"/>
-    </feature>
-
-
-
-    <feature id="org.eclipse.platform" patch="false" url="features/org.eclipse.platform_3.3.2.R33x_v20071022-_19UEksF-G8Yc6bUv3Dz.jar" version="3.3.2.R33x_v20071022-_19UEksF-G8Yc6bUv3Dz">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.cvs" patch="false" url="features/org.eclipse.cvs_1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D.jar" version="1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D">
-        <category name="Collaboration Tools"/>
-    </feature>
-
-
-    <feature id="org.eclipse.equinox" patch="false" url="features/org.eclipse.equinox_3.3.1.R33x_r20070918-7n7LECgEKVsLIM1aGBO4b00.jar" version="3.3.1.R33x_r20070918-7n7LECgEKVsLIM1aGBO4b00">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.birt" patch="false" url="features/org.eclipse.birt_2.2.1.v20070709-7M7M7A3OP2Mz-yAItil64r9z0tw0.jar" version="2.2.1.v20070709-7M7M7A3OP2Mz-yAItil64r9z0tw0">
-        <category name="Charting and Reporting"/>
-    </feature>
-    <feature id="org.eclipse.birt.doc" patch="false" url="features/org.eclipse.birt.doc_2.2.1.v20070709-110-s332Aw31181_2_.jar" version="2.2.1.v20070709-110-s332Aw31181_2_">
-        <category name="Charting and Reporting"/>
-    </feature>
-    
-    <feature id="org.apache.derby.core" url="features/org.apache.derby.core_10.1.2.1.jar" version="10.1.2.1">
-        <category name="Enabling Features"/>
-    </feature>
-
-    <feature id="com.lowagie.itext" url="features/com.lowagie.itext_1.5.2.v20070608-041-w31181821.jar" version="1.5.2.v20070608-041-w31181821">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.apache.commons.codec" url="features/org.apache.commons.codec_1.3.0.v20070907-02--w311817222849.jar" version="1.3.0.v20070907-02--w311817222849">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.mozilla.rhino" url="features/org.mozilla.rhino_1.6.0.v20070406-05--w31181821.jar" version="1.6.0.v20070406-05--w31181821">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.w3c.sac" url="features/org.w3c.sac_1.3.0.v20070406-02--w31181821.jar" version="1.3.0.v20070406-02--w31181821">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.cdt" patch="false" url="features/org.eclipse.cdt_4.0.1.200709241202.jar" version="4.0.1.200709241202">
-        <category name="C and C++ Developement"/>
-    </feature>
-    <feature id="org.eclipse.jdt" patch="false" url="features/org.eclipse.jdt_3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL.jar" version="3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL">
-        <category name="Java Development"/>
-    </feature>
-    <feature id="org.eclipse.pde" patch="false" url="features/org.eclipse.pde_3.3.2.R33x_r20071022-7N7M4CYWLBCz-yHkMIuHN.jar" version="3.3.2.R33x_r20071022-7N7M4CYWLBCz-yHkMIuHN">
-        <category name="Java Development"/>
-    </feature>
-
-    <feature id="org.eclipse.emf" patch="false" url="features/org.eclipse.emf_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.emf.sdk" patch="false" url="features/org.eclipse.emf.sdk_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.emf.ecore.sdo" patch="false" url="features/org.eclipse.emf.ecore.sdo_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.emf.ecore.sdo.sdk" patch="false" url="features/org.eclipse.emf.ecore.sdo.sdk_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.xsd" patch="false" url="features/org.eclipse.xsd_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.xsd.sdk" patch="false" url="features/org.eclipse.xsd.sdk_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Models and Model Development"/>
-    </feature>
-
-    <feature id="org.eclipse.emf.common" patch="false" url="features/org.eclipse.emf.common_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.common.ui" patch="false" url="features/org.eclipse.emf.common.ui_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.ecore" patch="false" url="features/org.eclipse.emf.ecore_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.ecore.edit" patch="false" url="features/org.eclipse.emf.ecore.edit_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.edit" patch="false" url="features/org.eclipse.emf.edit_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.edit.ui" patch="false" url="features/org.eclipse.emf.edit.ui_2.3.1.v200709252135.jar" version="2.3.1.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.xsd.edit" patch="false" url="features/org.eclipse.xsd.edit_2.3.0.v200709252135.jar" version="2.3.0.v200709252135">
-        <category name="Enabling Features"/>
-    </feature>
-
-    <feature id="org.eclipse.emf.emfqtv.all" patch="false" url="features/org.eclipse.emf.emfqtv.all_1.1.1.v200707252036-652_sIRHttoHhmdpTYReXV-2KEZZ.jar" version="1.1.1.v200707252036-652_sIRHttoHhmdpTYReXV-2KEZZ">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.emf.emfqtv.all.sdk" patch="false" url="features/org.eclipse.emf.emfqtv.all.sdk_1.1.1.v200707252036-7A7_3DjfUA5Xin8dz-9aGNVIHYlK.jar" version="1.1.1.v200707252036-7A7_3DjfUA5Xin8dz-9aGNVIHYlK">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.emf.query" patch="false" url="features/org.eclipse.emf.query_1.1.0.v200706071712-10-7w311817182823.jar" version="1.1.0.v200706071712-10-7w311817182823">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.query.ocl" patch="false" url="features/org.eclipse.emf.query.ocl_1.1.0.v200706071712-10-7w311817182823.jar" version="1.1.0.v200706071712-10-7w311817182823">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.validation" patch="false" url="features/org.eclipse.emf.validation_1.1.1.v200708161445-318Z9oA55P5O6O8IC_.jar" version="1.1.1.v200708161445-318Z9oA55P5O6O8IC_">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.validation.ocl" patch="false" url="features/org.eclipse.emf.validation.ocl_1.1.0.v200706071520-10-7w311817182631.jar" version="1.1.0.v200706071520-10-7w311817182631">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.transaction" patch="false" url="features/org.eclipse.emf.transaction_1.1.1.v200708231948-208Z8s733G3G5C5I9D.jar" version="1.1.1.v200708231948-208Z8s733G3G5C5I9D">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.workspace" patch="false" url="features/org.eclipse.emf.workspace_1.1.1.v200707252036-208Z8s733G3F5E6_8B.jar" version="1.1.1.v200707252036-208Z8s733G3F5E6_8B">
-        <category name="Enabling Features"/>
-    </feature>
-    
-    <feature id="org.eclipse.jet" patch="false" url="features/org.eclipse.jet_0.8.1.v20070913-17E19oA55P5V_8.jar" version="0.8.1.v20070913-17E19oA55P5V_8">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.jet.sdk" patch="false" url="features/org.eclipse.jet.sdk_0.8.1.v20070913-07U182TZ7cjWEGkBuJH.jar" version="0.8.1.v20070913-07U182TZ7cjWEGkBuJH">
-        <category name="Models and Model Development"/>
-    </feature>
-
-    <feature id="org.eclipse.gmf.europa" patch="false" url="features/org.eclipse.gmf.europa_2.0.1.v20070809-0000-7X77__EIn-hz0YSfRy8HJNAMTFfk.jar" version="2.0.1.v20070809-0000-7X77__EIn-hz0YSfRy8HJNAMTFfk">
-        <category name="Models and Model Development"/>
-    </feature>
-
-	<feature id="org.eclipse.eodm" patch="false" url="features/org.eclipse.eodm_0.9.1.v200710090302.jar" version="0.9.1.v200710090302">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.eodm.sdk" patch="false" url="features/org.eclipse.eodm.sdk_0.9.1.v200710090302.jar" version="0.9.1.v200710090302">
-        <category name="Models and Model Development"/>
-    </feature>
-	<feature id="org.eclipse.ocl.all" patch="false" url="features/org.eclipse.ocl.all_1.1.1.v200707131415-3227_75ThLBBkBkFRGdQZ.jar" version="1.1.1.v200707131415-3227_75ThLBBkBkFRGdQZ">
-		<category name="Models and Model Development"/>
-	</feature>
-	<feature id="org.eclipse.ocl.all.sdk" patch="false" url="features/org.eclipse.ocl.all.sdk_1.1.1.v200707131415-653_-JAYPRgmMdz-YXRDlgnKonBk.jar" version="1.1.1.v200707131415-653_-JAYPRgmMdz-YXRDlgnKonBk">
-		<category name="Models and Model Development"/>
-	</feature>
-    <feature id="org.eclipse.ocl" patch="false" url="features/org.eclipse.ocl_1.1.1.v200707131415-3209oA55P5N7F8JDH.jar" version="1.1.1.v200707131415-3209oA55P5N7F8JDH">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.ocl.uml" patch="false" url="features/org.eclipse.ocl.uml_1.1.1.v200707131415-1007w311818242526.jar" version="1.1.1.v200707131415-1007w311818242526">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.emf.ocl" patch="false" url="features/org.eclipse.emf.ocl_1.1.1.v200709121956-1007w31181_232_67.jar" version="1.1.1.v200709121956-1007w31181_232_67">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.uml2" patch="false" url="features/org.eclipse.uml2_2.1.1.v200708301222.jar" version="2.1.1.v200708301222">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.uml2.sdk" patch="false" url="features/org.eclipse.uml2.sdk_2.1.1.v200708301222.jar" version="2.1.1.v200708301222">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.uml2tools" patch="false" url="features/org.eclipse.uml2tools_0.7.1.v200710010534.jar" version="0.7.1.v200710010534">
-        <category name="Models and Model Development"/>
-    </feature>
-    <feature id="org.eclipse.uml2tools.sdk" patch="false" url="features/org.eclipse.uml2tools.sdk_0.7.1.v200710010534.jar" version="0.7.1.v200710010534">
-        <category name="Models and Model Development"/>
-    </feature>
-
-    <feature id="org.eclipse.tptp.birt" patch="false" url="features/org.eclipse.tptp.birt_4.4.1.v200706132116-7I7G_B-hthrMpLSZUYptCTz-cV-E.jar" version="4.4.1.v200706132116-7I7G_B-hthrMpLSZUYptCTz-cV-E">
-        <category name="Testing and Performance"/>
-    </feature>
-    <feature id="org.eclipse.tptp.wtp" patch="false" url="features/org.eclipse.tptp.wtp_4.4.1.v200709261752-7748a-CIHlAZ8lIHAlCqJfJeRF.jar" version="4.4.1.v200709261752-7748a-CIHlAZ8lIHAlCqJfJeRF">
-        <category name="Testing and Performance"/>
-    </feature>
-    <feature id="org.eclipse.tptp.monitoring.runtime" patch="false" url="features/org.eclipse.tptp.monitoring.runtime_4.4.1.v200706132116-7U7R_E-wavnIGH7KFhrm5z08Zs8T.jar" version="4.4.1.v200706132116-7U7R_E-wavnIGH7KFhrm5z08Zs8T">
-        <category name="Testing and Performance"/>
-    </feature>
-    <feature id="org.eclipse.tptp.platform.runtime" patch="false" url="features/org.eclipse.tptp.platform.runtime_4.4.1.v200706132116-8I83EIX1JNK7dwt7tHntrj6xnH84.jar" version="4.4.1.v200706132116-8I83EIX1JNK7dwt7tHntrj6xnH84">
-        <category name="Testing and Performance"/>
-    </feature>
-    <feature id="org.eclipse.tptp.test.runtime" patch="false" url="features/org.eclipse.tptp.test.runtime_4.3.101.v200709261752-7E7_Ak-QhKUAY67ta21mO89G_GXO.jar" version="4.3.101.v200709261752-7E7_Ak-QhKUAY67ta21mO89G_GXO">
-        <category name="Testing and Performance"/>
-    </feature>
-    <feature id="org.eclipse.tptp.trace.runtime" patch="false" url="features/org.eclipse.tptp.trace.runtime_4.3.1.v200709261752-7E783-UUENBmM3RiQ4UxVz-eZD8.jar" version="4.3.1.v200709261752-7E783-UUENBmM3RiQ4UxVz-eZD8">
-        <category name="Testing and Performance"/>
-    </feature>
-
-    <feature id="org.eclipse.wst.xml_ui.feature" url="features/org.eclipse.wst.xml_ui.feature_2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR.jar" version="2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR">
-        <category name="Web and JEE Development"/>
-    </feature>
-    <feature id="org.eclipse.wst" patch="false" url="features/org.eclipse.wst_2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel.jar" version="2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel">
-        <category name="Web and JEE Development"/>
-    </feature>
-    <feature id="org.eclipse.jst" patch="false" url="features/org.eclipse.jst_2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe.jar" version="2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe">
-        <category name="Web and JEE Development"/>
-        <category name="Java Development"/>
-    </feature>
-    <feature id="org.eclipse.jpt.feature" patch="false" url="features/org.eclipse.jpt.feature_1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD.jar" version="1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD">
-        <category name="Web and JEE Development"/>
-        <category name="Java Development"/>
-    </feature>
-
-    <feature id="org.eclipse.wst.common_ui.feature" url="features/org.eclipse.wst.common_ui.feature_2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-.jar" version="2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-">
-        <category name="Enabling Features"/>
-    </feature>        
-    
-    
-    <feature id="org.eclipse.gef" patch="false" url="features/org.eclipse.gef_3.3.1.v20070814.jar" version="3.3.1.v20070814">
-        <category name="Graphical Editors and Frameworks"/>
-    </feature>
-    
-    <feature id="org.eclipse.gef.sdk" patch="false" url="features/org.eclipse.gef.sdk_3.3.1.v20070814.jar" version="3.3.1.v20070814">
-        <category name="Graphical Editors and Frameworks"/>
-    </feature>
-    
-    <feature id="org.eclipse.datatools.connectivity.feature" patch="false" url="features/org.eclipse.datatools.connectivity.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.connectivity.oda.designer.feature" patch="false" url="features/org.eclipse.datatools.connectivity.oda.designer.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.connectivity.oda.feature" patch="false" url="features/org.eclipse.datatools.connectivity.oda.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.doc.user" patch="false" url="features/org.eclipse.datatools.doc.user_1.5.1.200710161.jar" version="1.5.1.200710161">
-        <category name="Database Development"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.apache.derby.feature" patch="false" url="features/org.eclipse.datatools.enablement.apache.derby.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.feature" patch="false" url="features/org.eclipse.datatools.enablement.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Database Development"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.hsqldb.feature" patch="false" url="features/org.eclipse.datatools.enablement.hsqldb.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.ibm.feature" patch="false" url="features/org.eclipse.datatools.enablement.ibm.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.jdbc.feature" patch="false" url="features/org.eclipse.datatools.enablement.jdbc.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.jdt.feature" patch="false" url="features/org.eclipse.datatools.enablement.jdt.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.msft.feature" patch="false" url="features/org.eclipse.datatools.enablement.msft.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.mysql.feature" patch="false" url="features/org.eclipse.datatools.enablement.mysql.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.oda.designer.feature" patch="false" url="features/org.eclipse.datatools.enablement.oda.designer.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.oda.feature" patch="false" url="features/org.eclipse.datatools.enablement.oda.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.oracle.feature" patch="false" url="features/org.eclipse.datatools.enablement.oracle.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.postgresql.feature" patch="false" url="features/org.eclipse.datatools.enablement.postgresql.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.enablement.sybase.feature" patch="false" url="features/org.eclipse.datatools.enablement.sybase.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.intro" patch="false" url="features/org.eclipse.datatools.intro_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Database Development"/>
-    </feature>
-    <feature id="org.eclipse.datatools.modelbase.feature" patch="false" url="features/org.eclipse.datatools.modelbase.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sdk.feature" patch="false" url="features/org.eclipse.datatools.sdk.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Database Development"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sqldevtools.data.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.data.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sqldevtools.ddl.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.ddl.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sqldevtools.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Database Development"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sqldevtools.parsers.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.parsers.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    <feature id="org.eclipse.datatools.sqldevtools.results.feature" patch="false" url="features/org.eclipse.datatools.sqldevtools.results.feature_1.5.1.200709261.jar" version="1.5.1.200709261">
-        <category name="Enabling Features"/>
-    </feature>
-    
-    <feature id="org.eclipse.rse" patch="false" url="features/org.eclipse.rse_2.0.2.v20071030-7D-68mJIkR9WAviqV8z0U9vz-C.jar" version="2.0.2.v20071030-7D-68mJIkR9WAviqV8z0U9vz-C">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.rse.sdk" patch="false" url="features/org.eclipse.rse.sdk_2.0.2.v20071030-7J-79E7ZoHPP5ZoeZ-oUe1z-wJnl.jar" version="2.0.2.v20071030-7J-79E7ZoHPP5ZoeZ-oUe1z-wJnl">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.rse.remotecdt" patch="false" url="features/org.eclipse.rse.remotecdt_2.0.1.v20070926-4-18s733G3K5H.jar" version="2.0.1.v20070926-4-18s733G3K5H">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.tm.terminal.sdk" patch="false" url="features/org.eclipse.tm.terminal.sdk_1.0.2.v20071030-7_-7CAvNKwNabWDLhQglhNDDmGSL.jar" version="1.0.2.v20071030-7_-7CAvNKwNabWDLhQglhNDDmGSL">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.tm.discovery" patch="false" url="features/org.eclipse.tm.discovery_2.0.0.v20070611-7J--E8McIJNJCPr.jar" version="2.0.0.v20070611-7J--E8McIJNJCPr">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-
-    <feature id="org.eclipse.dd.dsf.sdk" patch="false" url="features/org.eclipse.dd.dsf.sdk_0.9.0.v20070615.jar" version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.dd.dsf.gdb" patch="false" url="features/org.eclipse.dd.dsf.gdb_0.9.0.v20070615.jar" version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.dd.debug.memory.renderings" patch="false" url="features/org.eclipse.dd.debug.memory.renderings_0.9.0.v20070615.jar" version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-    <feature id="org.eclipse.dd.ipxact" patch="false" url="features/org.eclipse.dd.ipxact_0.2.0.v20070615.jar" version="0.2.0.v20070615">
-        <category name="Remote Access and Device Development"/>
-    </feature>
-
-    <feature id="org.eclipse.ecf.core" patch="false" url="features/org.eclipse.ecf.core_1.2.0.v20071019-1300.jar" version="1.2.0.v20071019-1300">
-        <category name="Communications"/>
-    </feature>
-    <feature id="org.eclipse.ecf.examples" patch="false" url="features/org.eclipse.ecf.examples_1.2.0.v20071019-1300.jar" version="1.2.0.v20071019-1300">
-        <category name="Communications"/>
-    </feature>
-
-    <feature id="org.eclipse.ajdt" patch="false" url="features/org.eclipse.ajdt_1.5.0.200706070619.jar" version="1.5.0.200706070619">
-        <category name="Java Development"/>
-        <category name="Programming Languages"/>
-    </feature>
-    
-    <feature id="org.eclipse.dltk.core" patch="false" url="features/org.eclipse.dltk.core_0.9.1.r09_v20070920-08O2E8AWjpkOySy5VAPB.jar" version="0.9.1.r09_v20070920-08O2E8AWjpkOySy5VAPB">
-        <category name="Enabling Features"/>
-    </feature>
-
-    <feature id="org.eclipse.dltk.ruby" patch="false" url="features/org.eclipse.dltk.ruby_0.9.1.r09_v20070920-07q2BMEkrz-IMCd7gEK.jar" version="0.9.1.r09_v20070920-07q2BMEkrz-IMCd7gEK">
-        <category name="Programming Languages"/>
-    </feature>
-
-    <feature id="org.eclipse.dltk.tcl" patch="false" url="features/org.eclipse.dltk.tcl_0.9.1.r09_v20070920-07z1CQMUYXGgJt3K73.jar" version="0.9.1.r09_v20070920-07z1CQMUYXGgJt3K73">
-        <category name="Programming Languages"/>
-    </feature>
-
-
-	   <feature id="org.eclipse.buckminster.core.feature" url="features/org.eclipse.buckminster.core.feature_0.2.0.r3636.jar" version="0.2.0.r3636">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature id="org.eclipse.buckminster.cvs.feature" url="features/org.eclipse.buckminster.cvs.feature_0.2.0.r3383.jar" version="0.2.0.r3383">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature id="org.eclipse.buckminster.maven.feature" url="features/org.eclipse.buckminster.maven.feature_0.2.0.r3388.jar" version="0.2.0.r3388">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature id="org.eclipse.buckminster.p4.feature" url="features/org.eclipse.buckminster.p4.feature_0.2.0.r3381.jar" version="0.2.0.r3381">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature id="org.eclipse.buckminster.pde.feature" url="features/org.eclipse.buckminster.pde.feature_0.2.0.r3636.jar" version="0.2.0.r3636">
-	      <category name="Other Tools"/>
-	   </feature>
-
-        <category-def label="Mylyn" name="Mylyn"/>
-   <feature id="org.eclipse.mylyn_feature" url="features/org.eclipse.mylyn_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.context_feature" url="features/org.eclipse.mylyn.context_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.ide_feature" url="features/org.eclipse.mylyn.ide_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.java_feature" url="features/org.eclipse.mylyn.java_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.pde_feature" url="features/org.eclipse.mylyn.pde_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.bugzilla_feature" url="features/org.eclipse.mylyn.bugzilla_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-   <feature id="org.eclipse.mylyn.trac_feature" url="features/org.eclipse.mylyn.trac_feature_2.1.0.v20070927-0900.jar" version="2.1.0.v20070927-0900">
-      <category name="Mylyn"/>
-   </feature>
-
-   <!-- SOA Tools -->
-   <feature id="org.eclipse.stp.b2j.feature" url="features/org.eclipse.stp.b2j.feature_0.7.0.200710161054-07C-7733G535E53CA.jar" version="0.7.0.200710161054-07C-7733G535E53CA">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.bpmn.feature" url="features/org.eclipse.stp.bpmn.feature_0.7.0.200710161054-07Q-7E77YA7AUA7QM.jar" version="0.7.0.200710161054-07Q-7E77YA7AUA7QM">
-     <category name="SOA Development"/>
-   </feature>
-
-   <feature id="org.eclipse.stp.core.feature" url="features/org.eclipse.stp.core.feature_0.7.0.200710161054-07Q-7E77YA7AUA7QM.jar" version="0.7.0.200710161054-07Q-7E77YA7AUA7QM">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.servicecreation" url="features/org.eclipse.stp.servicecreation_0.7.0.200710161054-07l-7MAAqGAGkGAeY.jar" version="0.7.0.200710161054-07l-7MAAqGAGkGAeY">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.sc.jaxws.feature" url="features/org.eclipse.stp.sc.jaxws.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.sc.sca.feature" url="features/org.eclipse.stp.sc.sca.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.soas.feature" url="features/org.eclipse.stp.soas.feature_0.7.0.200710161054-07e-7MAAqGAGkGAeY.jar" version="0.7.0.200710161054-07e-7MAAqGAGkGAeY">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature id="org.eclipse.stp.soas.runtime.feature" url="features/org.eclipse.stp.soas.runtime.feature_0.7.0.200710161054-07J-7A55P858M85JG.jar" version="0.7.0.200710161054-07J-7A55P858M85JG">
-     <category name="SOA Development"/>
-   </feature>
-</site>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
deleted file mode 100644
index 1656b60..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: jNfTwAoM/D29dXQF2y5jNhnCRnc=
-
-Name: feature.properties
-SHA1-Digest: AeJcMJTpQBNlc00T8CYlF7/2Gl4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
deleted file mode 100644
index 9159541..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse CVS client.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
deleted file mode 100644
index b9937fe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs.source_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"   id="org.eclipse.cvs.source"  version="1.0.0.v20070606-7C79_79EI99g_Y9e">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.cvs.source" version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
deleted file mode 100644
index c192bdf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: HacQ9t3v2nLMCisoGsHFULdyjDg=
-
-Name: feature.properties
-SHA1-Digest: CfVxgAGMGJAnX3DvtIsAPqWtiM4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
deleted file mode 100644
index f1c380c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.properties
+++ /dev/null
@@ -1,148 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-
-# "description" property - description of the feature
-description=Eclipse CVS Client. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
deleted file mode 100644
index d7c4aa4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.cvs_1.0.0.v20070606-7C79_79EI99g_Y9e/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.cvs"
-      label="%featureName"
-      version="1.0.0.v20070606-7C79_79EI99g_Y9e"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
-   </requires>
-
-<plugin
-         id="org.eclipse.cvs"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20061208"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh2"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070604"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070607"
-         unpack="false"/>   
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
deleted file mode 100644
index bc6d67c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: AXF/1J+iSme4RKHA38MoEv+kqRQ=
-
-Name: feature.properties
-SHA1-Digest: yG0wfR7PWf4zKrRioc1dIsXY92U=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
deleted file mode 100644
index db9de92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse JDT Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
deleted file mode 100644
index a7222d2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt.source_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.jdt.source"  version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-	</url>
-	<plugin    fragment="false" unpack="false"  download-size="0" install-size="0" id="org.eclipse.jdt.doc.isv" version="3.3.0.v20070613"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.junit.source" version="3.8.2.v200706111738"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.jdt.source" version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.jdt.source.macosx.carbon.ppc" version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
deleted file mode 100644
index e59d2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: nXlHWli0KZJRZizcYFLHWw/+jeA=
-
-Name: feature.properties
-SHA1-Digest: MdMRGhhyadZIpIZkxilXSqzI98w=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
deleted file mode 100644
index 53f4366..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Java Development Tools
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse Java development tools. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
deleted file mode 100644
index a49d23b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.jdt_3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR/feature.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jdt"
-      label="%featureName"
-      version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jdt"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ant.ui"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070511"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.apt.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607-1200"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.apt.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070430-1135"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.jdt.apt.pluggable.core"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070529-2100"         
-         unpack="false"/>         
-
-   <plugin
-         id="org.eclipse.jdt.compiler.apt"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070510-2000"
-         fragment="true"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.jdt.compiler.tool"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v_771"
-         fragment="true"
-         unpack="false"/> 
-
-   <plugin
-         id="org.eclipse.jdt.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v_771"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.core.manipulation"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070531-1800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.debug"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070530a"/>
-
-   <plugin
-         id="org.eclipse.jdt.junit"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.junit4.runtime"
-         download-size="0"
-         install-size="0"
-         version="1.0.100.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.launching"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070510"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.junit"
-         download-size="0"
-         install-size="0"
-         version="3.8.2.v200706111738"/>
-
-   <plugin
-         id="org.junit4"
-         download-size="0"
-         install-size="0"
-         version="4.3.1"/>
-
-   <plugin
-         id="org.eclipse.jdt.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jdt.launching.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.1.100.v20061211"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
deleted file mode 100644
index 6ec5143..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: 3KKAoILB34QVFP8/VfC1N1OmGC8=
-
-Name: feature.properties
-SHA1-Digest: H9A6CtSbU7bFLlFgIF54D20Yj0I=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: IydL3lnQQQF8OVmO7CZ6uea8T0k=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
deleted file mode 100644
index 89826a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse PDE Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment, including documentation and source code zips.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
deleted file mode 100644
index f1fd323..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde.source_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.pde.source"  version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC">
-	<description >
-		%description
-	</description>
-	<copyright >
-		%copyright
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.pde.source" version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
deleted file mode 100644
index 7c6de8d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: gdScGRP5X6iOSj5R7T4jyW4qINc=
-
-Name: feature.properties
-SHA1-Digest: WDvaOoc0vATm/ntJgm3qdUUzvm0=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
deleted file mode 100644
index 62b4565..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Plug-in Development Environment
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
deleted file mode 100644
index f629090..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.pde_3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC/feature.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.pde"
-      label="%featureName"
-      version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.jdt" version="3.0.0" match="compatible"/>
-      <import feature="org.eclipse.platform" version="3.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.pde"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.build"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070612"/>
-
-   <plugin
-         id="org.eclipse.pde.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070614-0800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.pde.ui.templates"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070608-1300"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
deleted file mode 100644
index 47dc2e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: C31+vKjmfB39AnTSeXsBXJrQ3e4=
-
-Name: feature.properties
-SHA1-Digest: u/t85joISmy0pWpWcJquHr9VsyU=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
deleted file mode 100644
index 210ebe9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Common OS-independent API documentation and source code zips for the Eclipse Platform.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
deleted file mode 100644
index b9cb4db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform.source_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.platform.source"  version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G">
-	<description >
-		%description
-	</description>
-	<copyright >
-		%copyright
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-		<discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>
-	</url>
-	<includes id="org.eclipse.rcp.source" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin    fragment="false" unpack="false"  download-size="0" install-size="0" id="org.eclipse.platform.doc.isv" version="3.3.0.v20070621"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="javax.servlet.source" version="2.4.0.v200706111738"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="javax.servlet.jsp.source" version="2.0.0.v200706191603"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.jasper.source" version="5.5.17.v200706111724"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.commons.el.source" version="1.0.0.v200706111724"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.commons.logging.source" version="1.0.4.v200706111724"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.ant.source" version="1.7.0.v200706080842"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.lucene.source" version="1.9.1.v200706111724"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.apache.lucene.analysis.source" version="1.9.1.v200706181610"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.mortbay.jetty.source" version="5.1.11.v200706111724"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.platform.source" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="ia64_32" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.ia64_32" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ia64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="photon"  os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.qnx.photon.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.PA_RISC" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="wpf"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.wpf.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86_64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86_64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc64" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.gtk.sparc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.macosx.carbon.ppc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.win32.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="motif"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.motif.sparc" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="win32"  os="wce_ppc" fragment="true" arch="arm" download-size="0" install-size="0" id="org.eclipse.platform.source.wce_ppc.win32.arm" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.motif.x86" version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
deleted file mode 100644
index 1d895af..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: bLMaytG2itbdKJsTtWtK+WGhl0Y=
-
-Name: feature.properties
-SHA1-Digest: kEWi4G+dRRHUR8dqFbGh93hzlxo=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
deleted file mode 100644
index 5ebf403..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.properties
+++ /dev/null
@@ -1,148 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-
-# "description" property - description of the feature
-description=Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
deleted file mode 100644
index e4974b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.platform_3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G/feature.xml
+++ /dev/null
@@ -1,623 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.platform"
-      label="%featureName"
-      version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>
-   </url>
-
-   <plugin
-         id="com.jcraft.jsch"
-         download-size="0"
-         install-size="0"
-         version="0.1.31"
-         unpack="false"/>
-
-   <includes
-         id="org.eclipse.rcp"
-         version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-         
-   <plugin
-         id="javax.servlet"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.v200706111738"
-         unpack="false"/>
-
-   <plugin
-         id="javax.servlet.jsp"
-         download-size="0"
-         install-size="0"
-         version="2.0.0.v200706191603"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.jasper"
-         download-size="0"
-         install-size="0"
-         version="5.5.17.v200706111724"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.el"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v200706111724"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging"
-         download-size="0"
-         install-size="0"
-         version="1.0.4.v200706111724"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.ant"
-         download-size="0"
-         install-size="0"
-         version="1.7.0.v200706080842"/>
-
-   <plugin
-         id="org.apache.lucene"
-         download-size="0"
-         install-size="0"
-         version="1.9.1.v200706111724"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.lucene.analysis"
-         download-size="0"
-         install-size="0"
-         version="1.9.1.v200706181610"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ant.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070522"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.compare"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.boot"
-         download-size="0"
-         install-size="0"
-         version="3.1.100.v20060603"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filebuffers"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.net"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070531"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.resources"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070604"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.resources.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070502"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070502"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.services"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070605"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.util"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070605"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.variables"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070426"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.debug.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607-1800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607-1800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.http.registry"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070608"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.http.jetty"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.http.servlet"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.jsp.jasper"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.jsp.jasper.registry"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help.webapp"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help.base"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help.appserver"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070510"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ltk.core.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ltk.ui.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.platform"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070613"/>
-
-   <plugin
-         id="org.eclipse.platform.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070615-1300"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.search"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.core"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070607"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.tomcat"
-         download-size="0"
-         install-size="0"
-         version="4.1.230.v20070531"/>
-
-   <plugin
-         id="org.eclipse.text"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.text"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jsch.core"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070426"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jsch.ui"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070525"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.console"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.presentations.r21"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.intro"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.intro.universal"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070530A"/>
-
-   <plugin
-         id="org.eclipse.ui.cheatsheets"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070507"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.browser"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070524A"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.navigator"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.navigator.resources"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.net"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070516"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.texteditor"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070319-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.editors"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.forms"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070511"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.externaltools"
-         download-size="0"
-         install-size="0"
-         version="3.1.200.v20070416"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.ide"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070620"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.ide.application"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070530-0100"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.win32"
-         ws="win32"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070319-0010"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.update.core"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.update.scheduler"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.update.ui"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.I20070319-0010"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.hpux.ia64_32"
-         os="hpux"
-         arch="ia64_32"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20060603"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.hpux.PA_RISC"
-         os="hpux"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20060603"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.linux.ppc"
-         os="linux"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.100.v20070430"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.linux.x86"
-         os="linux"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.v20070416"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.linux.x86_64"
-         os="linux"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="1.0.100.v20070510"
-         fragment="true"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.core.filesystem.solaris.sparc"
-         os="solaris"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="1.0.100.v20070425"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.macosx"
-         os="macosx"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20060603"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.qnx.x86"
-         os="qnx"
-         ws="photon"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20060603"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.win32.x86"
-         os="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.v20070510"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.resources.win32"
-         os="win32"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070226"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.update.core.linux"
-         os="linux"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070615"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.update.core.win32"
-         os="win32"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views.properties.tabbed"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.registry"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070316"
-         fragment="true"/>
-
-   <plugin
-         id="org.mortbay.jetty"
-         download-size="0"
-         install-size="0"
-         version="5.1.11.v200706111724"
-         unpack="false"/>  
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index afcfc44..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: dMnOhvxphWIcTVxNLsFdJ54Hjfw=
-
-Name: feature.properties
-SHA1-Digest: KQG7LxAsbSfFR0LTrTuU3xt9jN4=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index effbb22..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Source code zips for the Eclipse RCP.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index a569d5a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.rcp.source"  version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG">
-	<description >
-		%description
-	</description>
-	<copyright >
-		%copyright
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="com.ibm.icu.source" version="3.6.1.v20070417"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.rcp.source" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="ia64_32" download-size="0" install-size="0" id="org.eclipse.rcp.source.hpux.motif.ia64_32" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.ia64" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="photon"  os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.qnx.photon.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.rcp.source.hpux.motif.PA_RISC" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="wpf"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.win32.wpf.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86_64" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.x86_64" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="gtk"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.solaris.gtk.sparc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.macosx.carbon.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.gtk.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="motif"  os="aix" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.rcp.source.aix.motif.ppc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.win32.win32.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="motif"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.rcp.source.solaris.motif.sparc" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.rcp.source.linux.motif.x86" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
deleted file mode 100644
index eda0417..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: YVpG2yV+fCKpxjgnc2P7scwrcNU=
-
-Name: feature.properties
-SHA1-Digest: UzM1MZnaZBzb5JHPQZE7wbydJWA=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
deleted file mode 100644
index 203a722..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse RCP
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Rich Client Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
deleted file mode 100644
index 11ef188..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.rcp_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/feature.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.rcp"
-      label="%featureName"
-      version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG"
-      provider-name="%providerName"
-      plugin="org.eclipse.rcp"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-   </url>
-
-   <plugin
-         id="com.ibm.icu"
-         download-size="0"
-         install-size="0"
-         version="3.6.1.v20070417"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.commands"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070605-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.core.databinding.beans"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.I20070606-0010"
-         unpack="false"/>         
-
-   <plugin
-         id="org.eclipse.core.jobs"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070423"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.expressions"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.3.100.v20070530"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.auth"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070502"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070530"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070524"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.databinding"
-         download-size="0"
-         install-size="0"
-         version="1.1.0.I20070606-0010"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070614-0800"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.I20070608-1100"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.ui.carbon"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.I20070605-0010"
-         fragment="true"
-         unpack="false"/>     
-         
-   <plugin
-         id="org.eclipse.update.configurator"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070615"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-    <plugin
-         id="org.eclipse.swt.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-         
-  <plugin
-         id="org.eclipse.swt.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>         
-         
-	 <plugin
-         id="org.eclipse.swt.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-         
-         <plugin
-         id="org.eclipse.swt.gtk.solaris.x86"
-         os="solaris"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3345a"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.gtk.linux.ia64"
-         os="linux"
-         ws="gtk"
-         arch="ia64"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.solaris.sparc"
-         os="solaris"
-         ws="motif"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.photon.qnx.x86"
-         os="qnx"
-         ws="photon"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v3346"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.motif.hpux.ia64_32"
-         os="hpux"
-         ws="motif"
-         arch="ia64_32"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.HEAD"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rcp"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.v20070612"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.contenttype"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070319"
-         unpack="false"/>           
-
-	<plugin
-         id="org.eclipse.equinox.app"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070426"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.preferences"
-         download-size="0"
-         install-size="0"
-         version="3.2.100.v20070522"
-         unpack="false"/>        
-         
-
-   <plugin
-         id="org.eclipse.equinox.registry"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070522"
-         unpack="false"/>
-
-	<plugin
-         id="org.eclipse.equinox.launcher"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         unpack="false"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.solaris.sparc"
-         os="solaris"
-         ws="gtk"
-         arch="sparc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.carbon.macosx"
-         os="macosx"
-         ws="carbon"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc"
-         os="linux"
-         ws="gtk"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>         
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86"
-         os="linux"
-         ws="gtk"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-         
-    <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390"
-         os="linux"
-         ws="gtk"
-         arch="s390"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.s390x"
-         os="linux"
-         ws="gtk"
-         arch="s390x"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="true"/>
-         
-   <plugin
-         id="org.eclipse.equinox.launcher.motif.linux.x86"
-         os="linux"
-         ws="motif"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/> 
-           
-	<plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
-         os="linux"
-         ws="gtk"
-         arch="x86_64"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070606"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.aix.ppc"
-         os="aix"
-         ws="motif"
-         arch="ppc"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070524"
-         fragment="true"
-         unpack="true"/>
-	<plugin
-         id="org.eclipse.equinox.launcher.motif.hpux.PA_RISC"
-         os="hpux"
-         ws="motif"
-         arch="PA_RISC"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070219"
-         fragment="true"
-         unpack="true"/>         
-                  
-         <plugin
-         id="org.eclipse.equinox.launcher.wpf.win32.x86"
-         os="win32"
-         ws="wpf"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-         
-	<plugin
-         id="org.eclipse.equinox.launcher.win32.win32.x86"
-         os="win32"
-         ws="win32"
-         arch="x86"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.v20070523"
-         fragment="true"
-         unpack="true"/>
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
deleted file mode 100644
index 60298d0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Created-By: 1.4.2 (IBM Corporation)
-Ant-Version: Apache Ant 1.7.0
-
-Name: feature.xml
-SHA1-Digest: yfpclAxxbeokoXDe3q4t80WiNZg=
-
-Name: feature.properties
-SHA1-Digest: +TwjcsSBAHZ9hST7XaeMtRWImGM=
-
-Name: license.html
-SHA1-Digest: YXfaVLayE8gaE0VWfKzUHsp6IyM=
-
-Name: META-INF/eclipse.inf
-SHA1-Digest: KyT9FF7C7t86NoBoa2kZT3ZJBfw=
-
-Name: eclipse_update_120.jpg
-SHA1-Digest: xstAqMgs/a5AsQXQZSdDQ79veOA=
-
-Name: epl-v10.html
-SHA1-Digest: pTOyybcpEe+Y8lkSVUtarMleXqE=
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
deleted file mode 100644
index 8d9a17d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.properties
+++ /dev/null
@@ -1,147 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Project SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "secondarySiteName" property - label for the secondary update site
-secondaryUpdateSiteName=Europa Discovery Site
-
-# "description" property - description of the feature
-description=SDK for Eclipse.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
deleted file mode 100644
index 0b59abb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/features/org.eclipse.sdk_3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO/feature.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.sdk"
-      label="%featureName"
-      version="3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-   
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>  
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/releases/europa"/>  
-   </url>
-
-   <includes
-         id="org.eclipse.platform"
-         version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-
-   <includes
-         id="org.eclipse.platform.source"
-         version="3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G"/>
-         
-   <includes
-         id="org.eclipse.cvs"
-         version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-
-   <includes
-         id="org.eclipse.cvs.source"
-         version="1.0.0.v20070606-7C79_79EI99g_Y9e"/>
-
-   <includes
-         id="org.eclipse.jdt"
-         version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-
-   <includes
-         id="org.eclipse.jdt.source"
-         version="3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR"/>
-
-   <includes
-         id="org.eclipse.pde"
-         version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-
-   <includes
-         id="org.eclipse.pde.source"
-         version="3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC"/>
-
-   <plugin
-         id="org.eclipse.sdk"
-         download-size="0"
-         install-size="0"
-         version="3.3.0.v20070613"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
deleted file mode 100644
index f293dc3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/generator/eclipse3.3/readme.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains data for automated testing of the generator. Specifically,
-this directory contains the feature data from version 3.3.0 of the Eclipse SDK.
-The corresponding generator test ensures that correct metadata is generated
-for these features.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/installer/bad.properties b/bundles/org.eclipse.equinox.p2.tests/testData/installer/bad.properties
deleted file mode 100644
index b6e407f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/installer/bad.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.p2.roots=This is supposed to be name/version pairs but it isn't
-eclipse.p2.autoStart=46 is not a boolean
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/installer/empty.properties b/bundles/org.eclipse.equinox.p2.tests/testData/installer/empty.properties
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/installer/empty.properties
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/installer/good.properties b/bundles/org.eclipse.equinox.p2.tests/testData/installer/good.properties
deleted file mode 100644
index 0858e00..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/installer/good.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-eclipse.p2.metadata=http://update.eclipse.org/eclipse/someUpdateSite/,http://update.eclipse.org/eclipse/someMetadata/
-eclipse.p2.artifacts=http://update.eclipse.org/eclipse/someUpdateSite/,http://update.eclipse.org/eclipse/someArtifacts/
-eclipse.p2.flavor=testFlavor
-eclipse.p2.profileName=Test Profile Name
-eclipse.p2.launcherName=testLauncherName
-eclipse.p2.roots=testRoot/2.0,anotherRoot/1.0.1
-eclipse.p2.autoStart=false
-eclipse.p2.agentLocation=/tmp/agent/
-eclipse.p2.bundleLocation=/tmp/bundles/
-eclipse.p2.installLocation=/tmp/install/
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/installer/sdk-installer.properties b/bundles/org.eclipse.equinox.p2.tests/testData/installer/sdk-installer.properties
deleted file mode 100644
index 7430422..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/installer/sdk-installer.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.p2.metadata=http://update.eclipse.org/eclipse/testUpdates/
-eclipse.p2.artifacts=http://update.eclipse.org/eclipse/testUpdates/
-eclipse.p2.flavor=tooling
-eclipse.p2.profileName=Eclipse SDK
-eclipse.p2.launcherName=eclipse
-eclipse.p2.rootId=sdk
-eclipse.p2.autoStart=true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
deleted file mode 100644
index f2df489..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/jarprocessor.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/META-INF/MANIFEST.MF
deleted file mode 100644
index 337f4db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: barbundle
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %provider
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: bar
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar.properties
deleted file mode 100644
index acabad1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Bar English Bundle
-provider=Bar English Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar_de.properties
deleted file mode 100644
index 3cb05b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle/bar_de.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Bar German Bundle
-provider=Bar German Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle2/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle2/META-INF/MANIFEST.MF
deleted file mode 100644
index f737c6a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barbundle2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: barbundle2
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %provider
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: bar
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/META-INF/MANIFEST.MF
deleted file mode 100644
index 7e4b66e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: barfragment2
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %fragmentProvider
-Fragment-Host: barbundle2;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar.properties
deleted file mode 100644
index 4f5d776..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Bar English Bundle - Translated in the Fragment
-provider=Bar English Provider - Translated in the Fragment
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar_de.properties
deleted file mode 100644
index 63b1204..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/bar_de.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Bar German Bundle - Translated in the Fragment
-provider=Bar German Provider - Translated in the Fragment
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin.properties
deleted file mode 100644
index a351f49..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-fragmentName = English Fragment Name
-fragmentProvider = English Fragment Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin_de.properties
deleted file mode 100644
index 1fe5253..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/barfragment2/plugin_de.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-fragmentName = German Fragment Name
-fragmentProvider = German Fragment Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/META-INF/MANIFEST.MF
deleted file mode 100644
index 1e58efe..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: foobundle
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %provider
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin.properties
deleted file mode 100644
index 9a0f127..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Foo English Bundle
-provider=Foo English Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin_de.properties
deleted file mode 100644
index cbd6d5c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle/plugin_de.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Foo German Bundle
-provider=Foo German Provider
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle2/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle2/META-INF/MANIFEST.MF
deleted file mode 100644
index 4c1be15..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foobundle2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: foobundle2
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %provider
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/build.properties
deleted file mode 100644
index 039afc9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               feature.properties
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.properties
deleted file mode 100644
index b887233..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-name=Foo English Feature
-provider = Foo English Provider
-description=Foo English Description
-copyright=Foo English Copyright
-license=Foo English License
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.xml
deleted file mode 100644
index 8500e7a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="fooFeature"
-      label="%name"
-      version="1.0.0.qualifier"
-      provider-name="%provider">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      %copyright
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      %license
-   </license>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature_de.properties
deleted file mode 100644
index c8f47f5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofeature/feature_de.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-name=Foo German Feature
-provider = Foo German Provider
-description=Foo German Description
-copyright=Foo German Copyright
-license=Foo German License
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/META-INF/MANIFEST.MF
deleted file mode 100644
index a5525bd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: foofragment2
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %fragmentProvider
-Fragment-Host: foobundle2;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Localization: bar
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin.properties
deleted file mode 100644
index 6bddd88..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Foo English Bundle - Translated in the Fragment
-provider=Foo English Provider - Translated in the Fragment
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin_de.properties
deleted file mode 100644
index dc4611d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/foofragment2/plugin_de.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-name=Foo German Bundle - Translated in the Fragment
-provider=Foo German Provider - Translated in the Fragment
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.properties
deleted file mode 100644
index 7c70c75..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-categoryName = English Category Name
-siteName = English Site Name
-siteDescription = English Site Description
-categoryDescription = English Category Description
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.xml
deleted file mode 100644
index 648eff8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <description name="%siteName">
-      %siteDescription
-   </description>
-   <feature id="fooFeature" version="0.0.0">
-      <category name="new_category_1"/>
-   </feature>
-   <category-def name="new_category_1" label="%categoryName">
-      <description>
-         %categoryDescription
-      </description>
-   </category-def>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site_de.properties b/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site_de.properties
deleted file mode 100644
index 9050894..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/localizationtests/site/site_de.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-categoryName = German Category Name
-siteName = German Site Name
-siteDescription = German Site Description
-categoryDescription = German Category Description
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/bad/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/bad/content.xml
deleted file mode 100644
index 079d414..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/bad/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<BROKENrepository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/content.xml
deleted file mode 100644
index 079d414..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<BROKENrepository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/badSimpleGoodUpdateSite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/missingRequiredAttribute/compositeContent.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/missingRequiredAttribute/compositeContent.xml
deleted file mode 100644
index 5f44a08..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/missingRequiredAttribute/compositeContent.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.provisional.p2.core.repository.ICompositeRepository' version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1226685461796'/>
-  </properties>
-  <UNRECOGNIZEDTAG>
-  </UNRECOGNIZEDTAG>
-  <children size='2'>
-    <child loaction='http://www.eclipse.org/foo'/>
-    <child location='http://www.eclipse.org/bar'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/syntaxError/compositeContent.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/syntaxError/compositeContent.xml
deleted file mode 100644
index d51f428..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/Bad/syntaxError/compositeContent.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.provisional.p2.core.repository.ICompositeRepository' version='1.0.0'?>
-<repository name='artifact name' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1226685461796'/>
-  </properties>
-  <children size='2'>
-    <child locotion='http://www.eclipse.org/foo'/>
-    <child location='http://www.eclipse.org/bar'/>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/compositeContent.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/compositeContent.xml
deleted file mode 100644
index af4be35..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/compositeContent.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeMetadataRepository version='1.0.0'?>
-<repository name='metadata name' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1234'/>
-  </properties>
-  <children size='2'>
-    <child location='one'/>
-    <child location='two'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/one/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/one/content.xml
deleted file mode 100644
index 41f172f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/one/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/two/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/two/content.xml
deleted file mode 100644
index fd315db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.local/two/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.remote/compositeContent.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.remote/compositeContent.xml
deleted file mode 100644
index a88ee35..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/composite/good.remote/compositeContent.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeMetadataRepository version='1.0.0'?>
-<repository name='metadata name' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1234'/>
-  </properties>
-  <children size='2'>
-    <child location='http://www.eclipse.org/foo'/>
-    <child location='http://www.eclipse.org/bar'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/content.xml
deleted file mode 100644
index 953bbcc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/content.xml
+++ /dev/null
@@ -1,346 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/1target/provmiddle/test.site/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221847665203'/>
-  </properties>
-  <units size='8'>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='9'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%featureProvider'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featureName' value='Test Feature Name'/>
-        <property name='df_LT.copyright' value='Test Copyright'/>
-        <property name='df_LT.featureProvider' value='Test Provider Name'/>
-        <property name='df_LT.description' value='Test Description'/>
-        <property name='df_LT.license' value='Test License'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Test Bundle Name'/>
-        <property name='df_LT.providerName' value='Test Provider Name'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 1.0.0&#xA;Bundle-SymbolicName: test.bundle&#xA;Bundle-Localization: plugin&#xA;Bundle-Name: %bundleName&#xA;Bundle-Vendor: %providerName&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <update id='test.feature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='8'>
-        <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
-        <property name='org.eclipse.equinox.p2.description' value='%description'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%featureProvider'/>
-        <property name='df_LT.featureName' value='Test Feature Name'/>
-        <property name='df_LT.copyright' value='Test Copyright'/>
-        <property name='df_LT.featureProvider' value='Test Provider Name'/>
-        <property name='df_LT.description' value='Test Description'/>
-        <property name='df_LT.license' value='Test License'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license>
-          %license
-        </license>
-      </licenses>
-      <copyright>
-        %copyright
-      </copyright>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/readme.txt b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/readme.txt
deleted file mode 100644
index 1fa94a3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/externalized/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a repository containing a feature whose feature.xml properties are all externalized.
-This is used for testing NL externalization is working correctly.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good with spaces/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good with spaces/content.xml
deleted file mode 100644
index fd315db..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good with spaces/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good/content.xml
deleted file mode 100644
index 41f172f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/good/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/goodNonSystem/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/goodNonSystem/content.xml
deleted file mode 100644
index aadffdf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/goodNonSystem/content.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions1/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions1/content.xml
deleted file mode 100644
index 2f19643..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions1/content.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='3'>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    
-    <unit id='test.bundle' version='2.1.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    
-    <unit id='test.bundle' version='2.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions2/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions2/content.xml
deleted file mode 100644
index 27badf2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/multipleversions2/content.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='3'>
-    <unit id='test.bundle' version='3.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    
-    <unit id='test.bundle' version='2.2.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    
-    <unit id='test.bundle' version='2.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/unencodedreporeferences/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/unencodedreporeferences/content.xml
deleted file mode 100644
index 3d6cd61..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/unencodedreporeferences/content.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <references size='4'>
-    <repository url='http://download.eclipse.org/url/with/spaces/a b' type='0' options='0'/>
-    <repository url='file:/c:/tmp/url with spaces/' type='1' options='0'/>
-    <repository uri='http://download.eclipse.org/uri/with/spaces/a%20b' type='0' options='0'/>
-    <repository uri='file:/c:/tmp/uri%20with%20spaces/' type='1' options='0'/>
-  </references>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/wsdlTestRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/wsdlTestRepo/content.xml
deleted file mode 100644
index ae107ac..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/metadataRepo/wsdlTestRepo/content.xml
+++ /dev/null
@@ -1,359 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='WSDL REPO' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
-  <properties size='1'>
-    <property name='p2.timestamp' value='1208626797360'/>
-  </properties>
-  <units size='7'>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='22'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/invalidPackedMissingCanonical.zip b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/invalidPackedMissingCanonical.zip
deleted file mode 100644
index e2e4f62..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/invalidPackedMissingCanonical.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/artifacts.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/artifacts.jar
deleted file mode 100644
index 4bc5ebc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/artifacts.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/content.jar
deleted file mode 100644
index 0dac698..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/content.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/features/helloworldfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/features/helloworldfeature_1.0.0.jar
deleted file mode 100644
index 638a853..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/features/helloworldfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/plugins/helloworld_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/plugins/helloworld_1.0.0.jar
deleted file mode 100644
index 66fb71a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorCompressedRepo/plugins/helloworld_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/artifacts.xml
deleted file mode 100644
index 1650caf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>

-<repository name='file:/C:/Program Files/eclipse/workspace/site/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>

-  <properties size='2'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1221488783484'/>

-  </properties>

-  <mappings size='3'>

-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>

-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>

-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>

-  </mappings>

-  <artifacts size='2'>

-    <artifact classifier='osgi.bundle' id='helloworld' version='1.0.0'>

-      <properties size='3'>

-        <property name='artifact.size' value='3379'/>

-        <property name='download.size' value='3379'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-    <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.0'>

-      <properties size='2'>

-        <property name='artifact.size' value='670'/>

-        <property name='download.size' value='670'/>

-      </properties>

-    </artifact>

-  </artifacts>

-</repository>

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/features/helloworldfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/features/helloworldfeature_1.0.0.jar
deleted file mode 100644
index 638a853..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorErrorSourceRepo/features/helloworldfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/artifacts.xml
deleted file mode 100644
index 7e288f9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/artifacts.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>

-<repository name='Eclipse Project Update Site' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>

-  <properties size='5'>

-    <property name='p2.compressed' value='false'/>

-    <property name='p2.timestamp' value='1213758191458'/>

-    <property name='download.contentType' value='application/zip'/>

-    <property name='publishPackFilesAsSiblings' value='true'/>

-  </properties>

-  <mappings size='4'>

-    <rule filter='(&amp; (classifier=osgi.bundle) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.jar.pack.gz'/>

-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>

-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>

-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>

-  </mappings>

-  <artifacts size='4'>

-

-    <artifact classifier='osgi.bundle' id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'>

-      <processing size='1'>

-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>

-      </processing>

-      <properties size='3'>

-        <property name='artifact.size' value='83200'/>

-        <property name='download.size' value='47275'/>

-        <property name='format' value='packed'/>

-      </properties>

-    </artifact>

-

-    <artifact classifier='osgi.bundle' id='org.eclipse.core.filebuffers' version='3.4.0.v20080603-2000'>

-      <properties size='3'>

-        <property name='artifact.size' value='112005'/>

-        <property name='download.size' value='112005'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-

-    <artifact classifier='osgi.bundle' id='org.eclipse.osgi.services.source' version='3.1.200.v20071203'>

-      <processing size='1'>

-        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>

-      </processing>

-      <properties size='3'>

-        <property name='artifact.size' value='147113'/>

-        <property name='download.size' value='82239'/>

-        <property name='format' value='packed'/>

-      </properties>

-    </artifact>

-

-    <artifact classifier='osgi.bundle' id='org.eclipse.osgi.services.source' version='3.1.200.v20071203'>

-      <properties size='3'>

-        <property name='artifact.size' value='147113'/>

-        <property name='download.size' value='147113'/>

-        <property name='download.contentType' value='application/zip'/>

-      </properties>

-    </artifact>

-

-  </artifacts>

-</repository>

-  
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar
deleted file mode 100644
index 93b7ff3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
deleted file mode 100644
index 5b34405..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar
deleted file mode 100644
index c738820..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar.pack.gz
deleted file mode 100644
index 8a419e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorPackedRepo/plugins/org.eclipse.osgi.services.source_3.1.200.v20071203.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml
deleted file mode 100644
index d5112bd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/site/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221488783484'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='helloworld' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='3379'/>
-        <property name='download.size' value='3379'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/content.xml
deleted file mode 100644
index 303f31b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/content.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/site/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221488783484'/>
-  </properties>
-  <units size='8'>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworldfeature.feature.jar' version='1.0.0'>
-      <update id='helloworldfeature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='helloworldfeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworldfeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='helloworldfeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworld' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworld' version='1.0.0'>
-      <update id='helloworld' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworld Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworld' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='helloworld' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='helloworld' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Activator: helloworld.Activator&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;Manifest-Version: 1.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-Name: Helloworld Plug-in&#xA;Bundle-Version: 1.0.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: helloworld; singleton:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/features/helloworldfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/features/helloworldfeature_1.0.0.jar
deleted file mode 100644
index 638a853..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/features/helloworldfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/plugins/helloworld_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/plugins/helloworld_1.0.0.jar
deleted file mode 100644
index 66fb71a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo1 with space/plugins/helloworld_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/artifacts.xml
deleted file mode 100644
index 7b25e8d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/mirrorSourceRep2/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221682759468'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='anotherplugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='20131'/>
-        <property name='download.size' value='20131'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='anotherfeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='669'/>
-        <property name='download.size' value='669'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/content.xml
deleted file mode 100644
index 79b0de3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/content.xml
+++ /dev/null
@@ -1,335 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/mirrorSourceRep2/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221682759468'/>
-  </properties>
-  <units size='8'>
-    <unit id='anotherfeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='anotherfeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Anotherfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='anotherfeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='anotherplugin' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='anotherfeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='anotherplugin' version='1.0.0'>
-      <update id='anotherplugin' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Anotherplugin Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='anotherplugin' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='anotherplugin' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='anotherplugin' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Activator: anotherplugin.Activator&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jface.text,org.eclipse.core.resources,org.eclipse.ui.editors,org.eclipse.ui.ide&#xA;Manifest-Version: 1.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-Name: Anotherplugin Plug-in&#xA;Bundle-Version: 1.0.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: anotherplugin; singleton:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='anotherfeature.feature.jar' version='1.0.0'>
-      <update id='anotherfeature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Anotherfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='anotherfeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='anotherfeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='anotherfeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/features/anotherfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/features/anotherfeature_1.0.0.jar
deleted file mode 100644
index 42a22b9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/features/anotherfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/plugins/anotherplugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/plugins/anotherplugin_1.0.0.jar
deleted file mode 100644
index 102ead0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo2/plugins/anotherplugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/artifacts.xml
deleted file mode 100644
index f0a10b8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/artifacts.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/mirrorSourceRepo3/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221750759500'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='4'>
-    <artifact classifier='osgi.bundle' id='yetanotherplugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='14048'/>
-        <property name='download.size' value='14048'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='helloworld' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='3379'/>
-        <property name='download.size' value='3379'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='yetanotherfeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='671'/>
-        <property name='download.size' value='671'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/content.xml
deleted file mode 100644
index 7dcd854..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/content.xml
+++ /dev/null
@@ -1,423 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/Program Files/eclipse/workspace/mirrorSourceRepo3/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1221750759515'/>
-  </properties>
-  <units size='11'>
-    <unit id='yetanotherfeature.feature.jar' version='1.0.0'>
-      <update id='yetanotherfeature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Yetanotherfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='yetanotherfeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='yetanotherfeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='yetanotherfeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='yetanotherfeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='yetanotherfeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Yetanotherfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='yetanotherfeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='yetanotherplugin' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='yetanotherfeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworldfeature.feature.jar' version='1.0.0'>
-      <update id='helloworldfeature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='helloworldfeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='yetanotherplugin' version='1.0.0'>
-      <update id='yetanotherplugin' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Yetanotherplugin Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='yetanotherplugin' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='yetanotherplugin' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='yetanotherplugin' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Activator: yetanotherplugin.Activator&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jface.text,org.eclipse.ui.editors&#xA;Manifest-Version: 1.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-Name: Yetanotherplugin Plug-in&#xA;Bundle-Version: 1.0.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: yetanotherplugin; singleton:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworldfeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='helloworldfeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworld' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworld' version='1.0.0'>
-      <update id='helloworld' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworld Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworld' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='helloworld' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='helloworld' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Activator: helloworld.Activator&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;Manifest-Version: 1.0&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-Name: Helloworld Plug-in&#xA;Bundle-Version: 1.0.0&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-SymbolicName: helloworld; singleton:=true&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/helloworldfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/helloworldfeature_1.0.0.jar
deleted file mode 100644
index c25206c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/helloworldfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/yetanotherfeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/yetanotherfeature_1.0.0.jar
deleted file mode 100644
index 2f8f338..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/features/yetanotherfeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/helloworld_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/helloworld_1.0.0.jar
deleted file mode 100644
index b32d59b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/helloworld_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/yetanotherplugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/yetanotherplugin_1.0.0.jar
deleted file mode 100644
index aa31d1c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo3/plugins/yetanotherplugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/artifacts.xml
deleted file mode 100644
index cebb6e6..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/artifacts.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/Documents and Settings/agcattle/workspace/mirrorSourceRepo4/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1222693511921'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='helloworld' version='1.0.1'>
-      <properties size='3'>
-        <property name='artifact.size' value='3491'/>
-        <property name='download.size' value='3491'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.1'>
-      <properties size='2'>
-        <property name='artifact.size' value='687'/>
-        <property name='download.size' value='687'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/content.xml
deleted file mode 100644
index fe4792c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/content.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/Documents and Settings/agcattle/workspace/mirrorSourceRepo4/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1222693511921'/>
-  </properties>
-  <units size='8'>
-    <unit id='helloworldfeature.feature.jar' version='1.0.1'>
-      <update id='helloworldfeature.feature.jar' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='helloworldfeature' version='1.0.1'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='helloworldfeature' version='1.0.1'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='helloworld' version='1.0.1'>
-      <update id='helloworld' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='1 Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworld' version='1.0.1'/>
-        <provided namespace='osgi.bundle' name='helloworld' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='helloworld' version='1.0.1'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: 1 Plug-in&#xA;Bundle-Version: 1.0.1&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-SymbolicName: helloworld; singleton:=true&#xA;Manifest-Version: 1.0&#xA;Bundle-Activator: helloworld101.Activator&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='helloworldfeature.feature.group' version='1.0.1' singleton='false'>
-      <update id='helloworldfeature.feature.group' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Helloworldfeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.group' version='1.0.1'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworld' range='[1.0.1,1.0.1]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='helloworldfeature.feature.jar' range='[1.0.1,1.0.1]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/features/helloworldfeature_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/features/helloworldfeature_1.0.1.jar
deleted file mode 100644
index 5635e1a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/features/helloworldfeature_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/plugins/helloworld_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/plugins/helloworld_1.0.1.jar
deleted file mode 100644
index 08be22b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/mirrorSourceRepo4/plugins/helloworld_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/zippedRepo.zip b/bundles/org.eclipse.equinox.p2.tests/testData/mirror/zippedRepo.zip
deleted file mode 100644
index c470508..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/mirror/zippedRepo.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.txt
deleted file mode 100644
index 97896a0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.txt
+++ /dev/null
@@ -1 +0,0 @@
-nothing
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.zip b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.zip
deleted file mode 100644
index 0929268..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/a.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/a.txt
deleted file mode 100644
index c78a316..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/a.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-A
-// This a.txt should have the first line being a single A
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/b.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/b.txt
deleted file mode 100644
index 36dcd28..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/aFolder/b.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-B
-// This b.txt should have the first line being a single B
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/bcFolder/b.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/bcFolder/b.txt
deleted file mode 100644
index a6ed197..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/bcFolder/b.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-C
-// This b.txt should have the first line being a single C
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/x.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/x.txt
deleted file mode 100644
index 7779c7b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/x.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-X
-// This x.txt should have the first line being a single X
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/y.txt b/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/y.txt
deleted file mode 100644
index 4ff6bdb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nativeTouchpoint/xFolder/y.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Y
-// This y.txt should have the first line being a single Y
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/artifacts.jar b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/artifacts.jar
deleted file mode 100644
index 349c117..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/artifacts.jar
+++ /dev/null
@@ -1 +0,0 @@
-This is not a JAR file
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/content.jar
deleted file mode 100644
index 9ba05a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/content.jar
+++ /dev/null
@@ -1 +0,0 @@
-This is not a JAR file.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/noFailOver/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/nonMinimalState/NonMinimalState.profile/1242143600128.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/nonMinimalState/NonMinimalState.profile/1242143600128.profile.gz
deleted file mode 100644
index a117b2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/nonMinimalState/NonMinimalState.profile/1242143600128.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index 9f52ad3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/1_6/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
deleted file mode 100644
index deac744..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2-3.3.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
deleted file mode 100644
index 7826d1e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.2.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
deleted file mode 100644
index c5cd8f0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/eclipse-3.3.exe
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
deleted file mode 100644
index 0c809ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
deleted file mode 100644
index b586d3c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.equinox.app_1.0.100.v20071015.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
deleted file mode 100644
index b920d53..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0-3.3.0.jbdiff
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
deleted file mode 100644
index 41ee47b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.2.0.v20060605-1400.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
deleted file mode 100644
index 9deec2f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/org.eclipse.jdt_3.3.0.v20070607-1300.njar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
deleted file mode 100644
index 71a546b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1-2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
deleted file mode 100644
index 49e7f90..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
deleted file mode 100644
index 3515b0f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/optimizers/testdata_1.0.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
deleted file mode 100644
index 8c21706..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/orbitRepo/content.xml
+++ /dev/null
@@ -1,8138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:C:/equinox.p2/servers/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='1'>
-    <property name='p2.timestamp' value='1208629789782'/>
-  </properties>
-  <units size='182'>
-    <unit id='org.eclipse.osgi' version='3.4.0.v20080326'>
-      <update id='org.eclipse.osgi' range='[0.0.0,3.4.0.v20080326)' severity='0'/>
-      <properties size='5'>
-        <property name='df_LT.systemBundle' value='OSGi System Bundle'/>
-        <property name='df_LT.eclipse.org' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%systemBundle'/>
-        <property name='org.eclipse.equinox.p2.description' value='%systemBundle'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%eclipse.org'/>
-      </properties>
-      <provides size='52'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.osgi' version='3.4.0.v20080326'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.osgi' version='3.4.0.v20080326'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.event' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.console' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.eventmgr' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.log' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.datalocation' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.debug' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.environment' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.localization' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.pluginconversion' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.resolver' version='1.2.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.runnable' version='1.1.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.security' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.service.urlconversion' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.signedcontent' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.storagemanager' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.util' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.framework' version='1.4.0'/>
-        <provided namespace='java.package' name='org.osgi.service.condpermadmin' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.service.packageadmin' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.permissionadmin' version='1.2.0'/>
-        <provided namespace='java.package' name='org.osgi.service.startlevel' version='1.1.0'/>
-        <provided namespace='java.package' name='org.osgi.service.url' version='1.0.0'/>
-        <provided namespace='java.package' name='org.osgi.util.tracker' version='1.3.3'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.internal.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.core.runtime.internal.stats' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.bundlefile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.hooks' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.baseadaptor.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.adaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.debug' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleentry' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.bundleresource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.protocol.reference' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.internal.reliablefile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.launcher' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.framework.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.baseadaptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.module' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.profile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.service.security' version='1.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.provisional.verifier' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.service.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.osgi.internal.signedcontent' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.0.v20080326'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Version: 3.4.0.v20080326
-Bundle-DocUrl: http://www.eclipse.org
-Bundle-Copyright: %copyright
-Eclipse-ExtensibleAPI: true
-Eclipse-SystemBundle: true
-Export-Package: org.eclipse.osgi.event;version=&quot;1.0&quot;,org.eclipse.osgi.framework.console;version=&quot;1.0&quot;,org.eclipse.osgi.framework.eventmgr;version=&quot;1.1&quot;,org.eclipse.osgi.framework.log;version=&quot;1.0&quot;,org.eclipse.osgi.service.datalocation;version=&quot;1.1&quot;,org.eclipse.osgi.service.debug;version=&quot;1.0&quot;,org.eclipse.osgi.service.environment;version=&quot;1.1&quot;,org.eclipse.osgi.service.localization;version=&quot;1.0&quot;,org.eclipse.osgi.service.pluginconversion;version=&quot;1.0&quot;,org.eclipse.osgi.service.resolver;version=&quot;1.2&quot;,org.eclipse.osgi.service.runnable;version=&quot;1.1&quot;,org.eclipse.osgi.service.security; version=&quot;1.0&quot;,org.eclipse.osgi.service.urlconversion;version=&quot;1.0&quot;,org.eclipse.osgi.signedcontent; version=&quot;1.0&quot;,org.eclipse.osgi.storagemanager;version=&quot;1.0&quot;,org.eclipse.osgi.util;version=&quot;1.1&quot;,org.osgi.framework;version=&quot;1.4&quot;,org.osgi.service.condpermadmin;version=&quot;1.0&quot;,org.osgi.service.packageadmin;version=&quot;1.2&quot;,org.osgi.service.permissionadmin;version=&quot;1.2&quot;,org.osgi.service.startlevel;version=&quot;1.1&quot;,org.osgi.service.url;version=&quot;1.0&quot;,org.osgi.util.tracker;version=&quot;1.3.3&quot;,org.eclipse.core.runtime.adaptor;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.eclipse.core.runtime.internal.stats;x-friends:=&quot;org.eclipse.core.runtime&quot;,org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.baseadaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hooks;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=true,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.osgi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.internal.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleentry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundleresource;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal.reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x-internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.eclipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.internal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-internal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org.eclipse.osgi.internal.provisional.service.security; x-friends:=&quot;org.eclipse.equinox.security.ui&quot;;version=&quot;1.0.0&quot;,org.eclipse.osgi.internal.provisional.verifier;x-friends:=&quot;org.eclipse.update.core,org.eclipse.ui.workbench,org.eclipse.equinox.p2.artifact.repository&quot;,org.eclipse.osgi.internal.service.security;x-friends:=&quot;org.eclipse.equinox.security.ui&quot;,org.eclipse.osgi.internal.signedcontent; x-internal:=true
-Manifest-Version: 1.0
-Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundleActivator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.1
-Bundle-Localization: systembundle
-Bundle-SymbolicName: org.eclipse.osgi; singleton:=true
-Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.service.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.StartLevel,org.eclipse.osgi.service.debug.DebugOptions
-Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter
-Bundle-Description: %systemBundle
-Bundle-Vendor: %eclipse.org
-Bundle-Name: %systemBundle
-Bundle-ManifestVersion: 2
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.bridge' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.bridge' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Bridge/GVT/Scripting'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='17'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.bridge' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.bridge.svg12' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.event' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.filter' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.flow' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.font' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.renderer' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.svg12' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.gvt.text' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.script' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.script.rhino' version='1.6.0'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.bridge' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Require-bundle: org.apache.batik.css;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.svg;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.parser;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util.gui;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.xml;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.bridge;version=&quot;1.6.0&quot;,org.apache.batik.bridge.svg12;version=&quot;1.6.0&quot;,org.apache.batik.gvt;version=&quot;1.6.0&quot;,org.apache.batik.gvt.event;version=&quot;1.6.0&quot;,org.apache.batik.gvt.filter;version=&quot;1.6.0&quot;,org.apache.batik.gvt.flow;version=&quot;1.6.0&quot;,org.apache.batik.gvt.font;version=&quot;1.6.0&quot;,org.apache.batik.gvt.renderer;version=&quot;1.6.0&quot;,org.apache.batik.gvt.svg12;version=&quot;1.6.0&quot;,org.apache.batik.gvt.text;version=&quot;1.6.0&quot;,org.apache.batik.script;version=&quot;1.6.0&quot;,org.apache.batik.script.rhino;version=&quot;1.6.0&quot;,META-INF.services
-Bundle-SymbolicName: org.apache.batik.bridge
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.uddi4j' version='2.0.5.v200803061811' singleton='false'>
-      <update id='org.uddi4j' range='[0.0.0,2.0.5.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='UDDI4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.uddi4j' version='2.0.5.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.uddi4j' version='2.0.5.v200803061811'/>
-        <provided namespace='java.package' name='org.uddi4j' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype.assertion' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype.binding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype.business' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype.service' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.datatype.tmodel' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.request' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.response' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.transport' version='0.0.0'/>
-        <provided namespace='java.package' name='org.uddi4j.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.axis' range='[1.3.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.uddi4j' version='2.0.5.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Export-Package: org.uddi4j,org.uddi4j.client,org.uddi4j.datatype,org.uddi4j.datatype.assertion,org.uddi4j.datatype.binding,org.uddi4j.datatype.business,org.uddi4j.datatype.service,org.uddi4j.datatype.tmodel,org.uddi4j.request,org.uddi4j.response,org.uddi4j.transport,org.uddi4j.util
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Require-Bundle: org.apache.axis;bundle-version=&quot;[1.3.0,2.0.0)&quot;
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.5.v200803061811
-Bundle-Vendor: %Bundle-Vendor.0
-Eclipse-BuddyPolicy: registered
-Bundle-SymbolicName: org.uddi4j
-Bundle-ClassPath: .
-Manifest-Version: 1.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu' version='3.6.1.v20080304'>
-      <update id='com.ibm.icu' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.6.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.6.1.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.lang' version='3.6.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.math' version='3.6.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.brkitr' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.coll' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.rbnf' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.translit' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.6.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Ant-Version: Apache Ant 1.7.0
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-Vendor: %providerName
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Created-By: 1.4.2_15-b02 (Sun Microsystems Inc.)
-Manifest-Version: 1.0
-Bundle-Version: 3.6.1.v20080304
-Eclipse-ExtensibleAPI: true
-Bundle-Localization: plugin
-Export-Package: com.ibm.icu.lang;version=&quot;3.6.1&quot;,com.ibm.icu.math;version=&quot;3.6.1&quot;,com.ibm.icu.text;version=&quot;3.6.1&quot;,com.ibm.icu.util;version=&quot;3.6.1&quot;,com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt36b;x-internal:=true,com.ibm.icu.impl.data.icudt36b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt36b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt36b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt36b.translit;x-internal:=true
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Eclipse-LazyStart: true
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='java_cup.runtime.source' version='0.10.0.v200803061811' singleton='false'>
-      <update id='java_cup.runtime.source' range='[0.0.0,0.10.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Java Cup Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='java_cup.runtime.source' version='0.10.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='java_cup.runtime.source' version='0.10.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='java_cup.runtime.source' version='0.10.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 0.10.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: java_cup.runtime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: java_cup.runtime;version=&quot;0.10.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.httpclient' version='3.0.1.v200803061811' singleton='false'>
-      <update id='org.apache.commons.httpclient' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Httpclient Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.auth' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.cookie' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.methods' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.methods.multipart' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.params' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.protocol' version='3.0.1'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.util' version='3.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='java.package' name='javax.crypto' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.crypto.spec' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.net' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.commons.codec' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.codec.binary' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.codec.net' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient' version='3.0.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.2
-Manifest-Version: 1.0
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: org.apache.commons.httpclient;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.auth;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.cookie;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.methods;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.methods.multipart;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.params;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.protocol;version=&quot;3.0.1&quot;,org.apache.commons.httpclient.util;version=&quot;3.0.1&quot;
-Bundle-SymbolicName: org.apache.commons.httpclient
-Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resolution:=optional,org.apache.commons.codec;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.codec.binary;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.codec.net;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.logging;version=&quot;[1.0.4,2.0.0)&quot;
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base' version='3.8.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.8.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.8.1.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.8.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.8.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.8.1.v20080304
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text;version=&quot;3.8.1&quot;,com.ibm.icu.util;version=&quot;3.8.1&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet' version='2.4.0.v200803061910' singleton='false'>
-      <update id='javax.servlet' range='[0.0.0,2.4.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Servlet API Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.4.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.servlet' version='2.4.0.v200803061910'/>
-        <provided namespace='java.package' name='javax.servlet' version='2.4.0'/>
-        <provided namespace='java.package' name='javax.servlet.http' version='2.4.0'/>
-        <provided namespace='java.package' name='javax.servlet.resources' version='2.4.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet' version='2.4.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 2.4.0.v200803061910
-Export-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.resources;version=&quot;2.4&quot;
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.logging.source' version='1.1.1.v200803061910' singleton='false'>
-      <update id='org.apache.commons.logging.source' range='[0.0.0,1.1.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.logging.source' version='1.1.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.1.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.logging.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.logging;version=&quot;1.1.1.v200803061910&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.util.gui.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.util.gui.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik GUI Utilities Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.util.gui.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.util.gui.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.util.gui;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811' singleton='false'>
-      <update id='net.sourceforge.lpg.lpgjavaruntime.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='SourceForge LPG Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: net.sourceforge.lpg.lpgjavaruntime;version=&quot;1.0.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.objectweb.asm.source' version='3.0.0.v200803061811' singleton='false'>
-      <update id='org.objectweb.asm.source' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ASM Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.objectweb.asm.source' version='3.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.objectweb.asm.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.objectweb.asm;version=&quot;3.0.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene.analysis.source' version='1.9.1.v200803061811' singleton='false'>
-      <update id='org.apache.lucene.analysis.source' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene Analysis Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene.analysis.source' version='1.9.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene.analysis.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.lucene.analysis;version=&quot;1.9.1.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.oro' version='2.0.8.v200803061811' singleton='false'>
-      <update id='org.apache.oro' range='[0.0.0,2.0.8.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta ORO'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.oro' version='2.0.8.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.oro' version='2.0.8.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.oro.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.oro.text' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.oro.text.awk' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.oro.text.perl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.oro.text.regex' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.oro.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.oro' version='2.0.8.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.0.8.v200803061811
-Export-Package: org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.text.regex,org.apache.oro.util
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-SymbolicName: org.apache.oro
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.axis' version='1.4.0.v200803061811' singleton='false'>
-      <update id='org.apache.axis' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache Web Services'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='63'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.axis' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.axis' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.axis' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.attachments' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.client.async' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.collections' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.encoding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.jms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.logger' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.script' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.threadpool' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.components.uuid' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.configuration' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.constants' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.deployment.wsdd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.deployment.wsdd.providers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.description' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.encoding' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.encoding.ser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.encoding.ser.castor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.enum' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.handlers.http' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.handlers.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.holders' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.management' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.management.jmx' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.message' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.providers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.providers.java' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.security.servlet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.security.simple' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.server' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.session' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.strategies' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.tools.ant.axis' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.tools.ant.foreach' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.tools.ant.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.transport.http' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.transport.java' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.transport.jms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.transport.local' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.transport.mail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.utils.bytecode' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.utils.cache' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.wsdl.fromJava' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.wsdl.gen' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.wsdl.symbolTable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.axis.wsdl.toJava' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='javax.xml.rpc' range='[1.1.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='javax.xml.soap' range='[1.2.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='javax.wsdl' range='[1.5.1,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.commons.discovery' range='[0.2.0,1.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.ant' range='[1.6.5,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)' optional='true'/>
-        <required namespace='java.package' name='org.apache.commons.logging.impl' range='[1.0.4,2.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.axis' version='1.4.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Name: %Bundle-Name.0
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: lib/axis.jar,lib/axis-ant.jar,lib/javaxzombie.jar,lib/
-Bundle-SymbolicName: org.apache.axis
-Import-Package: org.apache.commons.logging;version=&quot;[1.0.4,2.0.0)&quot;;resolution:=optional,org.apache.commons.logging.impl;version=&quot;[1.0.4,2.0.0)&quot;;resolution:=optional
-Bundle-ManifestVersion: 2
-Bundle-Version: 1.4.0.v200803061811
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Export-Package: org.apache.axis,org.apache.axis.attachments,org.apache.axis.client,org.apache.axis.client.async,org.apache.axis.collections,org.apache.axis.components.compiler,org.apache.axis.components.encoding,org.apache.axis.components.image,org.apache.axis.components.jms,org.apache.axis.components.logger,org.apache.axis.components.net,org.apache.axis.components.script,org.apache.axis.components.threadpool,org.apache.axis.components.uuid,org.apache.axis.configuration,org.apache.axis.constants,org.apache.axis.deployment.wsdd,org.apache.axis.deployment.wsdd.providers,org.apache.axis.description,org.apache.axis.encoding,org.apache.axis.encoding.ser,org.apache.axis.encoding.ser.castor,org.apache.axis.enum,org.apache.axis.handlers,org.apache.axis.handlers.http,org.apache.axis.handlers.soap,org.apache.axis.holders,org.apache.axis.i18n,org.apache.axis.management,org.apache.axis.management.jmx,org.apache.axis.message,org.apache.axis.monitor,org.apache.axis.providers,org.apache.axis.providers.java,org.apache.axis.schema,org.apache.axis.security,org.apache.axis.security.servlet,org.apache.axis.security.simple,org.apache.axis.server,org.apache.axis.session,org.apache.axis.soap,org.apache.axis.strategies,org.apache.axis.tools.ant.axis,org.apache.axis.tools.ant.foreach,org.apache.axis.tools.ant.wsdl,org.apache.axis.transport.http,org.apache.axis.transport.java,org.apache.axis.transport.jms,org.apache.axis.transport.local,org.apache.axis.transport.mail,org.apache.axis.types,org.apache.axis.utils,org.apache.axis.utils.bytecode,org.apache.axis.utils.cache,org.apache.axis.wsdl,org.apache.axis.wsdl.fromJava,org.apache.axis.wsdl.gen,org.apache.axis.wsdl.symbolTable,org.apache.axis.wsdl.toJava
-Require-Bundle: javax.xml.rpc;bundle-version=&quot;[1.1.0,2.0.0)&quot;,javax.xml.soap;bundle-version=&quot;[1.2.0,2.0.0)&quot;,javax.wsdl;bundle-version=&quot;[1.5.1,2.0.0)&quot;,org.apache.commons.discovery;bundle-version=&quot;[0.2.0,1.0.0)&quot;,org.apache.ant;bundle-version=&quot;[1.6.5,2.0.0)&quot;
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.httpclient.source' version='3.1.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.httpclient.source' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Httpclient Source Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient.source' version='3.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.httpclient.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.httpclient;version=&quot;3.1.0.v200803061910&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.source' version='3.4.5' singleton='false'>
-      <update id='com.ibm.icu.source' range='[0.0.0,3.4.5)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.4.5'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.4.5'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.4.5'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.4.5
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version=&quot;3.4.5&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.io' version='1.3.2.v200803061811' singleton='false'>
-      <update id='org.apache.commons.io' range='[0.0.0,1.3.2.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons IO'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.io' version='1.3.2.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.io' version='1.3.2.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.io' version='1.3.2'/>
-        <provided namespace='java.package' name='org.apache.commons.io.filefilter' version='1.3.2'/>
-        <provided namespace='java.package' name='org.apache.commons.io.input' version='1.3.2'/>
-        <provided namespace='java.package' name='org.apache.commons.io.output' version='1.3.2'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.io' version='1.3.2.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.2.v200803061811
-Export-Package: org.apache.commons.io;version=&quot;1.3.2&quot;,org.apache.commons.io.filefilter;version=&quot;1.3.2&quot;,org.apache.commons.io.input;version=&quot;1.3.2&quot;,org.apache.commons.io.output;version=&quot;1.3.2&quot;
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.io
-Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811' singleton='false'>
-      <update id='ch.ethz.iks.slp.source' range='[0.0.0,1.0.0.RC2_v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='jSLP Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
-        <provided namespace='osgi.bundle' name='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='ch.ethz.iks.slp.source' version='1.0.0.RC2_v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.RC2_v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: ch.ethz.iks.slp.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: ch.ethz.iks.slp;version=&quot;1.0.0.RC2_v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.junit' version='3.8.1.v200803061811' singleton='false'>
-      <update id='org.junit' range='[0.0.0,3.8.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JUnit Testing Framework'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit' version='3.8.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.junit' version='3.8.1.v200803061811'/>
-        <provided namespace='java.package' name='junit.awtui' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.extensions' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.framework' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.runner' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.swingui' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.swingui.icons' version='3.8.1'/>
-        <provided namespace='java.package' name='junit.textui' version='3.8.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.junit' version='3.8.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-ClassPath: junit.jar
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.junit
-Bundle-Version: 3.8.1.v200803061811
-Eclipse-LazyStart: true
-Export-Package: junit.awtui;version=&quot;3.8.1&quot;,junit.extensions;version=&quot;3.8.1&quot;,junit.framework;version=&quot;3.8.1&quot;,junit.runner;version=&quot;3.8.1&quot;,junit.swingui;version=&quot;3.8.1&quot;,junit.swingui.icons;version=&quot;3.8.1&quot;,junit.textui;version=&quot;3.8.1&quot;
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.net' version='1.4.1.v200803071935' singleton='false'>
-      <update id='org.apache.commons.net' range='[0.0.0,1.4.1.v200803071935)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Net'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.net' version='1.4.1.v200803071935'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.net' version='1.4.1.v200803071935'/>
-        <provided namespace='java.package' name='org.apache.commons.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.bsd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.ftp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.ftp.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.nntp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.ntp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.pop3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.smtp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.telnet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.tftp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.net.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.oro' range='[2.0.8,2.1.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.net' version='1.4.1.v200803071935'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.oro;bundle-version=&quot;[2.0.8,2.1.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.4.1.v200803071935
-Export-Package: org.apache.commons.net,org.apache.commons.net.bsd,org.apache.commons.net.ftp,org.apache.commons.net.ftp.parser,org.apache.commons.net.io,org.apache.commons.net.nntp,org.apache.commons.net.ntp,org.apache.commons.net.pop3,org.apache.commons.net.smtp,org.apache.commons.net.telnet,org.apache.commons.net.tftp,org.apache.commons.net.util
-Bundle-SymbolicName: org.apache.commons.net
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.dom.svg' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.dom.svg' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik SVG DOM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.dom.svg' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.dom.svg12' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.apache.batik.css' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.parser' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.css.sac' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.smil' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.dom.svg' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3
-Require-Bundle: org.apache.batik.css;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.parser;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.css.sac;version=&quot;[1.3.0,1.4.0)&quot;,org.w3c.dom.smil;version=&quot;[1.0.0,1.1.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Import-Package: org.w3c.dom
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.svg
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.dom.svg;version=&quot;1.6.0&quot;,org.apache.batik.dom.svg12;version=&quot;1.6.0&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xerces' version='2.8.0.v200803070308' singleton='false'>
-      <update id='org.apache.xerces' range='[0.0.0,2.8.0.v200803070308)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache Xerces-J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='67'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xerces' version='2.8.0.v200803070308'/>
-        <provided namespace='osgi.bundle' name='org.apache.xerces' version='2.8.0.v200803070308'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.html.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wml' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wml.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom3.as' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dtd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dtd.models' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.dtd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.msg' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xpath.regex' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.identity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.models' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.opti' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.traversers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xinclude' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni.grammars' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xpointer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xs.datatypes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlcommons' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.css' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ranges' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.stylesheets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.traversal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.xml.resolver' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xerces' version='2.8.0.v200803070308'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-ClassPath: .
-Require-Bundle: system.bundle,org.apache.xml.resolver;visibility:=reexport
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xerces
-Bundle-Version: 2.8.0.v200803070308
-Export-Package: META-INF.services,javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.apache.html.dom,org.apache.wml,org.apache.wml.dom,org.apache.xerces.dom,org.apache.xerces.dom.events,org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dtd,org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.dtd,org.apache.xerces.impl.dv.util,org.apache.xerces.impl.dv.xs,org.apache.xerces.impl.io,org.apache.xerces.impl.msg,org.apache.xerces.impl.validation,org.apache.xerces.impl.xpath,org.apache.xerces.impl.xpath.regex,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,org.apache.xerces.impl.xs.opti,org.apache.xerces.impl.xs.traversers,org.apache.xerces.impl.xs.util,org.apache.xerces.jaxp,org.apache.xerces.jaxp.datatype,org.apache.xerces.jaxp.validation,org.apache.xerces.parsers,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xpointer,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.apache.xml.serialize,org.apache.xmlcommons,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811' singleton='false'>
-      <update id='net.sourceforge.lpg.lpgjavaruntime' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='SourceForge LPG'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='lpg.lpgjavaruntime' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: lpg.lpgjavaruntime; version=&quot;1.0&quot;
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.jsp' version='2.0.0.v200803061910' singleton='false'>
-      <update id='javax.servlet.jsp' range='[0.0.0,2.0.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Java Server Pages API Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' version='2.0.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.jsp' version='2.0.0.v200803061910'/>
-        <provided namespace='java.package' name='javax.servlet.jsp' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.el' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.resources' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.tagext' version='2.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.jsp' version='2.0.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 2.0.0.v200803061910
-Export-Package: javax.servlet.jsp; version=2.0,javax.servlet.jsp.el; version=2.0,javax.servlet.jsp.resources; version=2.0,javax.servlet.jsp.tagext; version=2.0
-Bundle-SymbolicName: javax.servlet.jsp
-Import-Package: javax.servlet; version=2.4,javax.servlet.http; version=2.4,javax.servlet.resources; version=2.4
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet' version='2.5.0.v200803061920' singleton='false'>
-      <update id='javax.servlet' range='[0.0.0,2.5.0.v200803061920)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Servlet API Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.5.0.v200803061920'/>
-        <provided namespace='osgi.bundle' name='javax.servlet' version='2.5.0.v200803061920'/>
-        <provided namespace='java.package' name='javax.servlet' version='2.5.0'/>
-        <provided namespace='java.package' name='javax.servlet.http' version='2.5.0'/>
-        <provided namespace='java.package' name='javax.servlet.resources' version='2.5.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet' version='2.5.0.v200803061920'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 2.5.0.v200803061920
-Export-Package: javax.servlet;version=&quot;2.5&quot;,javax.servlet.http;version=&quot;2.5&quot;,javax.servlet.resources;version=&quot;2.5&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.swing.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.swing.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Swing Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.swing.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.swing.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.swing;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.io.source' version='1.3.2.v200803061811' singleton='false'>
-      <update id='org.apache.commons.io.source' range='[0.0.0,1.3.2.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons IO Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.io.source' version='1.3.2.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.2.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.io.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.io;version=&quot;1.3.2.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu' version='3.8.1.v20080304'>
-      <update id='com.ibm.icu' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.8.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.8.1.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.lang' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.math' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.8.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.brkitr' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.coll' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.rbnf' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt38b.translit' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.8.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.8.1.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Eclipse-ExtensibleAPI: true
-Export-Package: com.ibm.icu.lang;version=&quot;3.8.1&quot;,com.ibm.icu.math;version=&quot;3.8.1&quot;,com.ibm.icu.text;version=&quot;3.8.1&quot;,com.ibm.icu.util;version=&quot;3.8.1&quot;,com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt38b;x-internal:=true,com.ibm.icu.impl.data.icudt38b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt38b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt38b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt38b.translit;x-internal:=true
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.util.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.util.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Utilities Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.util.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.util.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.util;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty.server.source' version='6.1.7.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty.server.source' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Jetty Server Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty.server.source' version='6.1.7.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 6.1.7.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.server.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty.server;version=&quot;6.1.7.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base' version='3.4.5' singleton='false'>
-      <update id='com.ibm.icu.base' range='[0.0.0,3.4.5)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.4.5'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.4.5'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.4.5'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.4.5
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text,com.ibm.icu.util
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base' version='3.6.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.6.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.6.1.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.1'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.6.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Ant-Version: Apache Ant 1.7.0
-Bundle-Name: %pluginName
-Created-By: 1.4.2 (IBM Corporation)
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.6.1.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2007. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Export-Package: com.ibm.icu.text;version=&quot;3.6.1&quot;,com.ibm.icu.util;version=&quot;3.6.1&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene' version='1.4.3.v200803061910' singleton='false'>
-      <update id='org.apache.lucene' range='[0.0.0,1.4.3.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.lucene_plugin_name' value='Apache Lucene'/>
-        <property name='org.eclipse.equinox.p2.name' value='%lucene_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' version='1.4.3.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene' version='1.4.3.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.ru' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.document' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.index' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.queryParser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search.spans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.store' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene' version='1.4.3.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,CDC-1.0/Foundation-1.0
-Bundle-ClassPath: .
-Bundle-Name: %lucene_plugin_name
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene
-Bundle-Version: 1.4.3.v200803061910
-Eclipse-LazyStart: false
-Export-Package: org.apache.lucene.analysis,org.apache.lucene.analysis.de,org.apache.lucene.analysis.ru,org.apache.lucene.analysis.standard,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.codec.source' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.codec.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Codec Source Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.codec.source' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.codec;version=&quot;1.2.0.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.wsil4j' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.wsil4j' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSIL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.wsil4j' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.wsil4j' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.wsil' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.extension.uddi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.extension.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.impl.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.impl.extension.uddi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.impl.extension.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wsil.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.uddi4j' range='[2.0.4,3.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.axis' range='[1.3.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='javax.wsdl' range='[1.4.0,1.5.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.wsil4j' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.uddi4j;bundle-version=&quot;[2.0.4,3.0.0)&quot;,org.apache.axis;bundle-version=&quot;[1.3.0,2.0.0)&quot;,javax.wsdl;bundle-version=&quot;[1.4.0,1.5.0)&quot;
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.wsil4j
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.wsil,org.apache.wsil.client,org.apache.wsil.extension,org.apache.wsil.extension.uddi,org.apache.wsil.extension.wsdl,org.apache.wsil.impl,org.apache.wsil.impl.extension,org.apache.wsil.impl.extension.uddi,org.apache.wsil.impl.extension.wsdl,org.apache.wsil.util,org.apache.wsil.xml
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.source' version='3.6.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.source' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.6.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.6.1.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.6.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.6.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version=&quot;3.6.1.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.jxpath.source' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.jxpath.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons JXPath Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.jxpath.source' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.jxpath.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.jxpath;version=&quot;1.2.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.extension.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.extension.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Extension Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.extension.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.extension.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.extension;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.dom.svg.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik SVG DOM Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.dom.svg.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.svg.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.dom.svg;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.management.remote' version='1.0.0.v200803061811' singleton='false'>
-      <update id='javax.management.remote' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Java Management Remote Extensions API'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.management.remote' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.management.remote' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.management.remote' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: javax.management.remote,javax.management.remote.rmi
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.management.remote
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.el' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.el' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons JSP 2.0 Expression Language Interpreter'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.el' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.el' version='1.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.el.parser' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.el' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.commons.el;version=&quot;1.0.0&quot;,org.apache.commons.el.parser;version=&quot;1.0.0&quot;
-Bundle-SymbolicName: org.apache.commons.el
-Import-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.jsp;version=&quot;2.0&quot;,javax.servlet.jsp.el;version=&quot;2.0&quot;,javax.servlet.jsp.resources;version=&quot;2.0&quot;,javax.servlet.jsp.tagext;version=&quot;2.0&quot;,javax.servlet.resources;version=&quot;2.4&quot;
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.derby' version='10.1.2.1_v200803061811' singleton='false'>
-      <update id='org.apache.derby' range='[0.0.0,10.1.2.1_v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache Derby Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='82'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.derby' version='10.1.2.1_v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.derby' version='10.1.2.1_v200803061811'/>
-        <provided namespace='java.package' name='org.apache.derby.authentication' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.catalog' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.catalog.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.database' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.diag' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.drda' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.db' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.error' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.jdbc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.cache' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.classfile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.context' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.daemon' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.info' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.locks' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.property' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.services.uuid' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql.compile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql.conn' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql.dictionary' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.sql.execute' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.access' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.access.conglomerate' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.access.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.raw' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.data' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.log' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.store.raw.xact' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.tools.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.iapi.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.db' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.drda' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.jdbc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.jdbc.authentication' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.load' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.bytecode' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.cache' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.daemon' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.jce' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.locks' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.reflect' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.services.uuid' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.catalog' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.compile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.conn' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.execute' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.sql.execute.rts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access.btree' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access.btree.index' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access.conglomerate' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access.heap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.access.sort' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.raw' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.raw.data' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.raw.log' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.store.raw.xact' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.impl.tools.sysinfo' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.jdbc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.osgi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.tools' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.derby.vti' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0' optional='true'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.derby' version='10.1.2.1_v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 10.1.2.1_v200803061811
-Export-Package: org.apache.derby.authentication,org.apache.derby.catalog,org.apache.derby.catalog.types,org.apache.derby.database,org.apache.derby.diag,org.apache.derby.drda,org.apache.derby.iapi.db,org.apache.derby.iapi.error,org.apache.derby.iapi.jdbc,org.apache.derby.iapi.services.cache,org.apache.derby.iapi.services.classfile,org.apache.derby.iapi.services.compiler,org.apache.derby.iapi.services.context,org.apache.derby.iapi.services.crypto,org.apache.derby.iapi.services.daemon,org.apache.derby.iapi.services.i18n,org.apache.derby.iapi.services.info,org.apache.derby.iapi.services.io,org.apache.derby.iapi.services.loader,org.apache.derby.iapi.services.locks,org.apache.derby.iapi.services.monitor,org.apache.derby.iapi.services.property,org.apache.derby.iapi.services.stream,org.apache.derby.iapi.services.uuid,org.apache.derby.iapi.sql,org.apache.derby.iapi.sql.compile,org.apache.derby.iapi.sql.conn,org.apache.derby.iapi.sql.depend,org.apache.derby.iapi.sql.dictionary,org.apache.derby.iapi.sql.execute,org.apache.derby.iapi.store.access,org.apache.derby.iapi.store.access.conglomerate,org.apache.derby.iapi.store.access.xa,org.apache.derby.iapi.store.raw,org.apache.derby.iapi.store.raw.data,org.apache.derby.iapi.store.raw.log,org.apache.derby.iapi.store.raw.xact,org.apache.derby.iapi.tools.i18n,org.apache.derby.iapi.types,org.apache.derby.iapi.util,org.apache.derby.impl.db,org.apache.derby.impl.drda,org.apache.derby.impl.io,org.apache.derby.impl.jdbc,org.apache.derby.impl.jdbc.authentication,org.apache.derby.impl.load,org.apache.derby.impl.services.bytecode,org.apache.derby.impl.services.cache,org.apache.derby.impl.services.daemon,org.apache.derby.impl.services.jce,org.apache.derby.impl.services.locks,org.apache.derby.impl.services.monitor,org.apache.derby.impl.services.reflect,org.apache.derby.impl.services.stream,org.apache.derby.impl.services.uuid,org.apache.derby.impl.sql,org.apache.derby.impl.sql.catalog,org.apache.derby.impl.sql.compile,org.apache.derby.impl.sql.conn,org.apache.derby.impl.sql.depend,org.apache.derby.impl.sql.execute,org.apache.derby.impl.sql.execute.rts,org.apache.derby.impl.store.access,org.apache.derby.impl.store.access.btree,org.apache.derby.impl.store.access.btree.index,org.apache.derby.impl.store.access.conglomerate,org.apache.derby.impl.store.access.heap,org.apache.derby.impl.store.access.sort,org.apache.derby.impl.store.raw,org.apache.derby.impl.store.raw.data,org.apache.derby.impl.store.raw.log,org.apache.derby.impl.store.raw.xact,org.apache.derby.impl.tools.sysinfo,org.apache.derby.io,org.apache.derby.jdbc,org.apache.derby.osgi,org.apache.derby.tools,org.apache.derby.vti
-Bundle-SymbolicName: org.apache.derby
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-Import-Package: javax.servlet;version=&quot;2.4.0&quot;;resolution:=optional,javax.servlet.http;version=&quot;2.4.0&quot;;resolution:=optional
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ws.jaxme' version='0.5.1.v200803061811' singleton='false'>
-      <update id='org.apache.ws.jaxme' range='[0.0.0,0.5.1.v200803061811)' severity='0'/>
-      <properties size='2'>
-        <property name='df_LT.Bundle-Name' value='Apache JAX-ME Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.util' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ws.jaxme' version='0.5.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 0.5.1.v200803061811
-Export-Package: javax.xml,javax.xml.bind,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.namespace
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ws.jaxme
-Bundle-Name: %Bundle-Name
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.jxpath' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.jxpath' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons JXPath'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.functions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.axes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.beans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.container' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dynabeans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.model.jdom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.ri.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.servlet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.jxpath.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.jxpath' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.jxpath,org.apache.commons.jxpath.functions,org.apache.commons.jxpath.ri,org.apache.commons.jxpath.ri.axes,org.apache.commons.jxpath.ri.compiler,org.apache.commons.jxpath.ri.model,org.apache.commons.jxpath.ri.model.beans,org.apache.commons.jxpath.ri.model.container,org.apache.commons.jxpath.ri.model.dom,org.apache.commons.jxpath.ri.model.dynabeans,org.apache.commons.jxpath.ri.model.dynamic,org.apache.commons.jxpath.ri.model.jdom,org.apache.commons.jxpath.ri.parser,org.apache.commons.jxpath.servlet,org.apache.commons.jxpath.util,org.apache.commons.jxpath.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-ClassPath: .
-Bundle-SymbolicName: org.apache.commons.jxpath
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.parser.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.parser.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Parser Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.parser.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.parser.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.parser;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.jcraft.jsch' version='0.1.31' singleton='false'>
-      <update id='com.jcraft.jsch' range='[0.0.0,0.1.31)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='JSch'/>
-        <property name='df_LT.venderName' value='JCraft, Inc.'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.31'/>
-        <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.31'/>
-        <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.31'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %venderName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Version: 0.1.31
-Created-By: 1.4.0 (Sun Microsystems Inc.)
-Export-Package: com.jcraft.jsch, com.jcraft.jsch.jce;x-internal:=true, com.jcraft.jsch.jcraft;x-internal:=true
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.el.source' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.el.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons JSP 2.0 Expression Language Interpreter Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.el.source' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.el.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.el;version=&quot;1.0.0.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.jsp.source' version='2.0.0.v200803061910' singleton='false'>
-      <update id='javax.servlet.jsp.source' range='[0.0.0,2.0.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Java Server Pages API Source Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.jsp.source' version='2.0.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.jsp.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet.jsp;version=&quot;2.0.0.v200803061910&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base' version='3.6.0.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base' version='3.6.0.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base' version='3.6.0.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base' version='3.6.0.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu.base
-Bundle-Version: 3.6.0.v20080304
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.text;version=&quot;3.6.0&quot;,com.ibm.icu.util;version=&quot;3.6.0&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu' version='3.6.0.v20080304'>
-      <update id='com.ibm.icu' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.6.0.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.6.0.v20080304'/>
-        <provided namespace='java.package' name='com.ibm.icu.lang' version='3.6.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.math' version='3.6.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='3.6.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='3.6.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.brkitr' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.coll' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.rbnf' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.impl.data.icudt36b.translit' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.6.0.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Bundle-ClassPath: icu-jse4.jar,icu-data.jar,.
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-ManifestVersion: 2
-Eclipse-LazyStart: true
-Bundle-Version: 3.6.0.v20080304
-Bundle-Localization: plugin
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Eclipse-ExtensibleAPI: true
-Export-Package: com.ibm.icu.lang;version=&quot;3.6.0&quot;,com.ibm.icu.math;version=&quot;3.6.0&quot;,com.ibm.icu.text;version=&quot;3.6.0&quot;,com.ibm.icu.util;version=&quot;3.6.0&quot;,com.ibm.icu.impl;x-internal:=true,com.ibm.icu.impl.data;x-internal:=true,com.ibm.icu.impl.data.icudt36b;x-internal:=true,com.ibm.icu.impl.data.icudt36b.brkitr;x-internal:=true,com.ibm.icu.impl.data.icudt36b.coll;x-internal:=true,com.ibm.icu.impl.data.icudt36b.rbnf;x-internal:=true,com.ibm.icu.impl.data.icudt36b.translit;x-internal:=true
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.extension' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.extension' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Extension'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.extension' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.extension' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.extension' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.extension.svg' version='1.6.0'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.css' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.parser' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.extension' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.css;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.svg;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.parser;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.extension;version=&quot;1.6.0&quot;,org.apache.batik.extension.svg;version=&quot;1.6.0&quot;,META-INF.services
-Bundle-SymbolicName: org.apache.batik.extension
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.source' version='2.5.0.v200803061920' singleton='false'>
-      <update id='javax.servlet.source' range='[0.0.0,2.5.0.v200803061920)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Servlet API Source Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.5.0.v200803061920'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.5.0.v200803061920'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.5.0.v200803061920'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.5.0.v200803061920
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version=&quot;2.5.0.v200803061920&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu' version='3.4.5'>
-      <update id='com.ibm.icu' range='[0.0.0,3.4.5)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu' version='3.4.5'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu' version='3.4.5'/>
-        <provided namespace='java.package' name='com.ibm.icu.lang' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.math' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.text' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.icu.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu' version='3.4.5'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-Copyright: Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2000, 2006. All Rights Reserved. IBM is a registered trademark of IBM Corp.
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.ibm.icu; singleton:=true
-Bundle-Version: 3.4.5
-Eclipse-LazyStart: true
-Export-Package: com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty.util.source' version='6.1.7.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty.util.source' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Jetty Util Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty.util.source' version='6.1.7.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 6.1.7.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.util.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty.util;version=&quot;6.1.7.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.dom' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.dom' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik DOM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.dom' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.dom' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.dom.events' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.dom.traversal' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.dom.util' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.dom' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Import-package: org.w3c.dom,org.apache.xerces.parsers;resolution:=optional
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.dom;version=&quot;1.6.0&quot;,org.apache.batik.dom.events;version=&quot;1.6.0&quot;,org.apache.batik.dom.traversal;version=&quot;1.6.0&quot;,org.apache.batik.dom.util;version=&quot;1.6.0&quot;
-Require-bundle: org.apache.batik.css;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.xml;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.css.sac;version=&quot;[1.3.0,1.4.0)&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.dom.smil.source' version='1.0.0.v200803081811' singleton='false'>
-      <update id='org.w3c.dom.smil.source' range='[0.0.0,1.0.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C SMIL DOM Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.dom.smil.source' version='1.0.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.smil.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.dom.smil;version=&quot;1.0.0.v200803081811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.source' version='3.8.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.source' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.8.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.8.1.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.8.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version=&quot;3.8.1.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.jdom' version='1.0.0.v200803070505' singleton='false'>
-      <update id='org.jdom' range='[0.0.0,1.0.0.v200803070505)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='JDOM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.jdom' version='1.0.0.v200803070505'/>
-        <provided namespace='osgi.bundle' name='org.jdom' version='1.0.0.v200803070505'/>
-        <provided namespace='java.package' name='org.jdom' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.adapters' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.filter' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.input' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.output' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.transform' version='1.0.0'/>
-        <provided namespace='java.package' name='org.jdom.xpath' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='0.0.0' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.jdom' version='1.0.0.v200803070505'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.apache.xerces;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803070505
-Export-Package: org.jdom;version=&quot;1.0.0&quot;,org.jdom.adapters;version=&quot;1.0.0&quot;,org.jdom.filter;version=&quot;1.0.0&quot;,org.jdom.input;version=&quot;1.0.0&quot;,org.jdom.output;version=&quot;1.0.0&quot;,org.jdom.transform;version=&quot;1.0.0&quot;,org.jdom.xpath;version=&quot;1.0.0&quot;
-Bundle-SymbolicName: org.jdom
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811' singleton='false'>
-      <update id='ch.ethz.iks.slp' range='[0.0.0,1.0.0.RC2_v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='jSLP'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
-        <provided namespace='osgi.bundle' name='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
-        <provided namespace='java.package' name='ch.ethz.iks.slp' version='1.0.0'/>
-        <provided namespace='java.package' name='ch.ethz.iks.slp.impl' version='1.0.0'/>
-        <provided namespace='java.package' name='ch.ethz.iks.slp.impl.filter' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='ch.ethz.iks.slp' version='1.0.0.RC2_v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.0.0.RC2_v200803061811
-Export-Package: ch.ethz.iks.slp;version=&quot;1.0.0&quot;,ch.ethz.iks.slp.impl;version=&quot;1.0.0&quot;,ch.ethz.iks.slp.impl.filter;version=&quot;1.0.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: ch.ethz.iks.slp
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mozilla.javascript' version='1.6.2.v200803061811' singleton='false'>
-      <update id='org.mozilla.javascript' range='[0.0.0,1.6.2.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Mozilla Rhino'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='21'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mozilla.javascript' version='1.6.2.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mozilla.javascript' version='1.6.2.v200803061811'/>
-        <provided namespace='java.package' name='org.mozilla.classfile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.continuations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.debug' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.jdk11' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.jdk13' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.optimizer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.idswitch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.jsc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.shell' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.xmlimpl' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='java.package' name='javax.swing.table' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.event' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.border' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.tree' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.text' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.filechooser' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mozilla.javascript' version='1.6.2.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Main-Class: org.mozilla.javascript.tools.shell.Main
-Import-Package: javax.swing.table,javax.swing.event,javax.swing.border,javax.xml.namespace,javax.swing.tree,javax.swing.text,javax.swing,javax.swing.filechooser
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mozilla.javascript
-Bundle-Version: 1.6.2.v200803061811
-Export-Package: org.mozilla.classfile,org.mozilla.javascript,org.mozilla.javascript.continuations,org.mozilla.javascript.debug,org.mozilla.javascript.jdk11,org.mozilla.javascript.jdk13,org.mozilla.javascript.optimizer,org.mozilla.javascript.regexp,org.mozilla.javascript.resources,org.mozilla.javascript.serialize,org.mozilla.javascript.tools,org.mozilla.javascript.tools.idswitch,org.mozilla.javascript.tools.jsc,org.mozilla.javascript.tools.resources,org.mozilla.javascript.tools.shell,org.mozilla.javascript.xml,org.mozilla.javascript.xmlimpl
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.collections.source' version='3.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.collections.source' range='[0.0.0,3.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Collections'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.collections.source' version='3.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.collections.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.collections;version=&quot;3.2.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.source' version='2.4.0.v200803061910' singleton='false'>
-      <update id='javax.servlet.source' range='[0.0.0,2.4.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Servlet API Source Bundle'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.4.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.4.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.4.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.4.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version=&quot;2.4.0.v200803061910&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.source' version='3.6.0.v20080304' singleton='false'>
-      <update id='com.ibm.icu.source' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.source' version='3.6.0.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.source' version='3.6.0.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.source' version='3.6.0.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.6.0.v20080304
-Bundle-SymbolicName: com.ibm.icu.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu;version=&quot;3.6.0.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.logging' version='1.1.1.v200803061910' singleton='false'>
-      <update id='org.apache.commons.logging' range='[0.0.0,1.1.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' version='1.1.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.logging' version='1.1.1.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.commons.logging' version='1.1.1'/>
-        <provided namespace='java.package' name='org.apache.commons.logging.impl' version='1.1.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.logging' version='1.1.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.1.1.v200803061910
-Export-Package: org.apache.commons.logging;version=&quot;1.1.1&quot;,org.apache.commons.logging.impl;version=&quot;1.1.1&quot;
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.logging
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811' singleton='false'>
-      <update id='net.sourceforge.mx4j.remote' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='MX4J Remote'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
-        <provided namespace='java.package' name='mx4j.log' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote.provider.iiop' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote.provider.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote.resolver.iiop' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote.resolver.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.mx4j.remote' version='3.0.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: mx4j.log,mx4j.remote,mx4j.remote.provider.iiop,mx4j.remote.provider.rmi,mx4j.remote.resolver.iiop,mx4j.remote.resolver.rmi,mx4j.remote.rmi,mx4j.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.mx4j.remote
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.sat4j.pb' version='2.0.0.v20080307' singleton='false'>
-      <update id='org.sat4j.pb' range='[0.0.0,2.0.0.v20080307)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.pb' version='2.0.0.v20080307'/>
-        <provided namespace='osgi.bundle' name='org.sat4j.pb' version='2.0.0.v20080307'/>
-        <provided namespace='java.package' name='org.sat4j.pb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.constraints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.constraints.pb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.orders' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.pb.reader' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.sat4j.core' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.sat4j.pb' version='2.0.0.v20080307'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %bundleName
-Implementation-Version: 2.0
-Export-Package: org.sat4j.pb,org.sat4j.pb.constraints,org.sat4j.pb.constraints.pb,org.sat4j.pb.core,org.sat4j.pb.orders,org.sat4j.pb.reader
-Created-By: 1.6.0_02-b05 (Sun Microsystems Inc.)
-Ant-Version: Apache Ant 1.6.1
-Specification-Title: SAT4J
-Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Manifest-Version: 1.0
-Main-Class: org.sat4j.pb.LanceurPseudo2007
-Bundle-Version: 2.0.0.v20080307
-Require-Bundle: org.sat4j.core
-Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d&apos;Artois
-Implementation-Title: SAT4J
-Class-Path: org.sat4j.core.jar
-Built-By: Daniel Le Berre
-Specification-Version: NA
-Bundle-SymbolicName: org.sat4j.pb
-Specification-Vendor: Daniel Le Berre
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.codec.source' version='1.3.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.codec.source' range='[0.0.0,1.3.0.v200803061910)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.codec.source' version='1.3.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.codec;version=&quot;1.3.0.v200803061910&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml.ws' version='2.0.0.v200803070400' singleton='false'>
-      <update id='javax.xml.ws' range='[0.0.0,2.0.0.v200803070400)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='JAXWS'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.ws' version='2.0.0.v200803070400'/>
-        <provided namespace='osgi.bundle' name='javax.xml.ws' version='2.0.0.v200803070400'/>
-        <provided namespace='java.package' name='javax.xml.ws' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.handler' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.handler.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.spi' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml.ws' version='2.0.0.v200803070400'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.0.v200803070400
-Export-Package: javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: javax.xml.ws
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty' version='5.1.11.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty' range='[0.0.0,5.1.11.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Jetty WebServer'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty' version='5.1.11.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty' version='5.1.11.v200803061811'/>
-        <provided namespace='java.package' name='org.mortbay.html' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.http' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.http.ajp' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.http.handler' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.http.nio' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.jetty' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.servlet' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.win32' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.log' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.servlet' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.util' version='5.1.11'/>
-        <provided namespace='java.package' name='org.mortbay.xml' version='5.1.11'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.cert' range='0.0.0'/>
-        <required namespace='java.package' name='javax.servlet' range='[2.4.0,2.5.0)'/>
-        <required namespace='java.package' name='javax.servlet.http' range='[2.4.0,2.5.0)'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='[2.4.0,2.5.0)'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty' version='5.1.11.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 5.1.11.v200803061811
-Export-Package: org.mortbay.html;version=&quot;5.1.11&quot;,org.mortbay.http;version=&quot;5.1.11&quot;,org.mortbay.http.ajp;version=&quot;5.1.11&quot;,org.mortbay.http.handler;version=&quot;5.1.11&quot;,org.mortbay.http.nio;version=&quot;5.1.11&quot;,org.mortbay.jetty;version=&quot;5.1.11&quot;,org.mortbay.jetty.servlet;version=&quot;5.1.11&quot;,org.mortbay.jetty.win32;version=&quot;5.1.11&quot;,org.mortbay.log;version=&quot;5.1.11&quot;,org.mortbay.servlet;version=&quot;5.1.11&quot;,org.mortbay.util;version=&quot;5.1.11&quot;,org.mortbay.xml;version=&quot;5.1.11&quot;
-Bundle-SymbolicName: org.mortbay.jetty
-Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;version=&quot;[2.4.0,2.5.0)&quot;,javax.servlet.http;version=&quot;[2.4.0,2.5.0)&quot;,javax.servlet.resources;version=&quot;[2.4.0,2.5.0)&quot;,javax.xml.parsers,org.apache.commons.logging;version=&quot;[1.0.0,2.0.0)&quot;,org.xml.sax,org.xml.sax.helpers
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl' version='1.4.0.v200803061811' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='20'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.4.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.activation' version='1.1.0.v200803061811' singleton='false'>
-      <update id='javax.activation' range='[0.0.0,1.1.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Java Activation'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.activation' version='1.1.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.activation' version='1.1.0.v200803061811'/>
-        <provided namespace='java.package' name='com.sun.activation.registries' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.activation.viewers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activation' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.activation' version='1.1.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061811
-Export-Package: com.sun.activation.registries,com.sun.activation.viewers,javax.activation
-Bundle-SymbolicName: javax.activation
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.util.gui' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.util.gui' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik GUI Utilities'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.util.gui' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.util.gui.resource' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.util.gui' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.util.gui;version=&quot;1.6.0&quot;,org.apache.batik.util.gui.resource;version=&quot;1.6.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.batik.util.gui
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.jasper.source' version='5.5.17.v200803061811' singleton='false'>
-      <update id='org.apache.jasper.source' range='[0.0.0,5.5.17.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Jasper 2 Source Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper.source' version='5.5.17.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.jasper.source' version='5.5.17.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.jasper.source' version='5.5.17.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 5.5.17.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.jasper.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.jasper;version=&quot;5.5.17.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.management' version='1.2.0.v200803061811' singleton='false'>
-      <update id='javax.management' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Java Management Extensions API'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.management' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.management' version='1.2.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.management' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.timer
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.management
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xml.resolver' version='1.1.0.v200803070308' singleton='false'>
-      <update id='org.apache.xml.resolver' range='[0.0.0,1.1.0.v200803070308)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache XmlResolver'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
-        <provided namespace='osgi.bundle' name='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
-        <provided namespace='java.package' name='org.apache.env' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.apps' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.etc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.readers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.tools' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xml.resolver' version='1.1.0.v200803070308'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Export-Package: org.apache.env,org.apache.xml.resolver,org.apache.xml.resolver.apps,org.apache.xml.resolver.etc,org.apache.xml.resolver.helpers,org.apache.xml.resolver.readers,org.apache.xml.resolver.tools
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Main-Class: org.apache.xml.resolver.apps.resolver
-Bundle-Localization: plugin
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 1.1.0.v200803070308
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-SymbolicName: org.apache.xml.resolver
-Bundle-ClassPath: .
-Manifest-Version: 1.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.pdf' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.pdf' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name' value='Apache Batik PDF'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor'/>
-      </properties>
-      <provides size='26'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.avalon.framework' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.avalon.framework.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.avalon.framework.configuration' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.avalon.framework.container' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.io.output' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.logging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.logging.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.apps' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fo' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fonts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fonts.apps' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fonts.base14' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fonts.truetype' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.fonts.type1' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.image.analyser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.pdf' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.render.pdf' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.render.ps' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.svg' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.fop.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='java.package' name='org.apache.batik.bridge' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.dom.svg' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.dom.util' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.ext.awt' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.ext.awt.g2d' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.gvt' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.gvt.renderer' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.gvt.text' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.transcoder' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.transcoder.image' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.transcoder.keys' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.apache.batik.util' range='[1.6.0,1.7.0)'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.pdf' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.avalon.framework,org.apache.avalon.framework.activity,org.apache.avalon.framework.configuration,org.apache.avalon.framework.container,org.apache.commons.io,org.apache.commons.io.output,org.apache.commons.logging,org.apache.commons.logging.impl,org.apache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.fonts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,org.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.analyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.render.ps,org.apache.fop.svg,org.apache.fop.util
-Bundle-SymbolicName: org.apache.batik.pdf
-Import-Package: org.apache.batik.bridge;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.svg;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt.g2d;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.gvt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.gvt.renderer;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.gvt.text;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.transcoder;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.transcoder.image;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.transcoder.keys;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name
-Bundle-Vendor: %Bundle-Vendor
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.parser' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.parser' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Parser'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.parser' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.parser' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.parser' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.parser' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.xml;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.parser;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.parser
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.collections' version='3.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.collections' range='[0.0.0,3.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Collections'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.collections' version='3.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.collections' version='3.2.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.collections' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.bag' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.bidimap' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.buffer' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.collection' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.comparators' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.functors' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.iterators' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.keyvalue' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.list' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.map' version='3.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.collections.set' version='3.2.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.collections' version='3.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.2.0.v200803061811
-Export-Package: org.apache.commons.collections;version=&quot;3.2.0&quot;,org.apache.commons.collections.bag;version=&quot;3.2.0&quot;,org.apache.commons.collections.bidimap;version=&quot;3.2.0&quot;,org.apache.commons.collections.buffer;version=&quot;3.2.0&quot;,org.apache.commons.collections.collection;version=&quot;3.2.0&quot;,org.apache.commons.collections.comparators;version=&quot;3.2.0&quot;,org.apache.commons.collections.functors;version=&quot;3.2.0&quot;,org.apache.commons.collections.iterators;version=&quot;3.2.0&quot;,org.apache.commons.collections.keyvalue;version=&quot;3.2.0&quot;,org.apache.commons.collections.list;version=&quot;3.2.0&quot;,org.apache.commons.collections.map;version=&quot;3.2.0&quot;,org.apache.commons.collections.set;version=&quot;3.2.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.collections
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xalan' version='2.7.1.v200803260804' singleton='false'>
-      <update id='org.apache.xalan' range='[0.0.0,2.7.1.v200803260804)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Xalan-Java'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='45'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xalan' version='2.7.1.v200803260804'/>
-        <provided namespace='osgi.bundle' name='org.apache.xalan' version='2.7.1.v200803260804'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.lib' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.lib.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.processor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.templates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.trace' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.transformer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xslt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline.getopt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime.output' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.trax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref.dom2dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref.sax2dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.utils.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.axes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.domapi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.functions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.jaxp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.objects' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.patterns' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.res' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='java_cup.runtime' range='0.10.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.apache.bcel' range='5.2.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.9.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xalan' version='2.7.1.v200803260804'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle,java_cup.runtime;bundle-version=&quot;0.10.0&quot;;resolution:=optional,org.apache.bcel;bundle-version=&quot;5.2.0&quot;;resolution:=optional,org.apache.xerces;bundle-version=&quot;[2.9.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 2.7.1.v200803260804
-Export-Package: META-INF.services,org.apache.regexp,org.apache.xalan,org.apache.xalan.client,org.apache.xalan.extensions,org.apache.xalan.lib,org.apache.xalan.lib.sql,org.apache.xalan.processor,org.apache.xalan.res,org.apache.xalan.serialize,org.apache.xalan.templates,org.apache.xalan.trace,org.apache.xalan.transformer,org.apache.xalan.xslt,org.apache.xalan.xsltc,org.apache.xalan.xsltc.cmdline,org.apache.xalan.xsltc.cmdline.getopt,org.apache.xalan.xsltc.compiler,org.apache.xalan.xsltc.compiler.util,org.apache.xalan.xsltc.dom,org.apache.xalan.xsltc.runtime,org.apache.xalan.xsltc.runtime.output,org.apache.xalan.xsltc.trax,org.apache.xalan.xsltc.util,org.apache.xml.dtm,org.apache.xml.dtm.ref,org.apache.xml.dtm.ref.dom2dtm,org.apache.xml.dtm.ref.sax2dtm,org.apache.xml.res,org.apache.xml.utils,org.apache.xml.utils.res,org.apache.xpath,org.apache.xpath.axes,org.apache.xpath.compiler,org.apache.xpath.domapi,org.apache.xpath.functions,org.apache.xpath.jaxp,org.apache.xpath.objects,org.apache.xpath.operations,org.apache.xpath.patterns,org.apache.xpath.res
-Bundle-SymbolicName: org.apache.xalan
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.pool.source' version='1.3.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.pool.source' range='[0.0.0,1.3.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Pool'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.pool.source' version='1.3.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.pool.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.pool;version=&quot;1.3.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ant.source' version='1.7.0.v200803061910' singleton='false'>
-      <update id='org.apache.ant.source' range='[0.0.0,1.7.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Ant Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant.source' version='1.7.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.ant.source' version='1.7.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ant.source' version='1.7.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.7.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.ant;version=&quot;1.7.0.v200803061910&quot;;roots:=&quot;lib/ant,lib/ant-antlr,lib/ant-apache-bcel,lib/ant-apache-bsf,lib/ant-apache-log4j,lib/ant-apache-oro,lib/ant-apache-regexp,lib/ant-apache-resolver,lib/ant-commons-logging,lib/ant-commons-net,lib/ant-jai,lib/ant-javamail,lib/ant-jdepend,lib/ant-jmf,lib/ant-jsch,lib/ant-junit,lib/ant-launcher,lib/ant-netrexx,lib/ant-nodeps,lib/ant-starteam,lib/ant-stylebook,lib/ant-swing,lib/ant-trax,lib/ant-weblogic&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.junit.source' version='3.8.1.v200803061811' singleton='false'>
-      <update id='org.junit.source' range='[0.0.0,3.8.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JUnit Testing Framework Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit.source' version='3.8.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.junit.source' version='3.8.1.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.junit.source' version='3.8.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v200803061811
-Eclipse-LazyStart: true
-Eclipse-SourceBundle: org.junit;version=&quot;3.8.1.v200803061811&quot;
-Bundle-SymbolicName: org.junit.source
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910' singleton='false'>
-      <update id='net.sourceforge.lpg.lpgjavaruntime' range='[0.0.0,1.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='SourceForge LPG'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
-        <provided namespace='java.package' name='lpg.lpgjavaruntime' version='1.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime' version='1.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061910
-Export-Package: lpg.lpgjavaruntime; version=&quot;1.1&quot;
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.lang' version='2.3.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.lang' range='[0.0.0,2.3.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang' version='2.3.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.lang' version='2.3.0.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.commons.lang' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.builder' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.enum' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.enums' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.exception' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.math' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.mutable' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.text' version='2.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.time' version='2.3.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.lang' version='2.3.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.3.0.v200803061910
-Export-Package: org.apache.commons.lang;version=&quot;2.3.0&quot;,org.apache.commons.lang.builder;version=&quot;2.3.0&quot;,org.apache.commons.lang.enum;version=&quot;2.3.0&quot;,org.apache.commons.lang.enums;version=&quot;2.3.0&quot;,org.apache.commons.lang.exception;version=&quot;2.3.0&quot;,org.apache.commons.lang.math;version=&quot;2.3.0&quot;,org.apache.commons.lang.mutable;version=&quot;2.3.0&quot;,org.apache.commons.lang.text;version=&quot;2.3.0&quot;,org.apache.commons.lang.time;version=&quot;2.3.0&quot;
-Bundle-RequiredExecutionEnvironment: JRE-1.1
-Bundle-SymbolicName: org.apache.commons.lang
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.svggen.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.svggen.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik SVG Generation Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.svggen.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.svggen.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.svggen;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.codec' version='1.3.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.codec' range='[0.0.0,1.3.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Codec Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec' version='1.3.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.codec' version='1.3.0.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.commons.codec' version='1.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.binary' version='1.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.digest' version='1.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.language' version='1.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.net' version='1.3.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.codec' version='1.3.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803061910
-Export-Package: org.apache.commons.codec;version=&quot;1.3.0&quot;,org.apache.commons.codec.binary;version=&quot;1.3.0&quot;,org.apache.commons.codec.digest;version=&quot;1.3.0&quot;,org.apache.commons.codec.language;version=&quot;1.3.0&quot;,org.apache.commons.codec.net;version=&quot;1.3.0&quot;
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.codec
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base.source' version='3.4.5' singleton='false'>
-      <update id='com.ibm.icu.base.source' range='[0.0.0,3.4.5)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.4.5'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.4.5'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.4.5'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.4.5
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version=&quot;3.4.5&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='117'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='org.apache.batik.css' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.css' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik CSS'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.css' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.css' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.css.dom' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine.sac' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine.value' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine.value.css2' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine.value.svg' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.engine.value.svg12' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.css.parser' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.css' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Require-bundle: org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.css.sac;version=&quot;[1.3.0,1.4.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.css.dom;version=&quot;1.6.0&quot;,org.apache.batik.css.engine;version=&quot;1.6.0&quot;,org.apache.batik.css.engine.sac;version=&quot;1.6.0&quot;,org.apache.batik.css.engine.value;version=&quot;1.6.0&quot;,org.apache.batik.css.engine.value.css2;version=&quot;1.6.0&quot;,org.apache.batik.css.engine.value.svg;version=&quot;1.6.0&quot;,org.apache.batik.css.engine.value.svg12;version=&quot;1.6.0&quot;,org.apache.batik.css.parser;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.css
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.jdom.source' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.jdom.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JDOM Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.jdom.source' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.jdom.source' version='1.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.jdom.source' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.jdom.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.jdom;version=&quot;1.0.0.v200803070505&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty.server' version='6.1.7.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty.server' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Jetty Server'/>
-        <property name='org.eclipse.equinox.p2.description' value='Jetty server core'/>
-        <property name='org.eclipse.equinox.p2.provider' value='Mort Bay Consulting'/>
-        <property name='org.eclipse.equinox.p2.doc.url' value='http://jetty.mortbay.org'/>
-      </properties>
-      <provides size='17'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.bio' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.servlet.jetty' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.nio' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.resource' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.io.nio' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.security' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.deployer' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.xml' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.io.bio' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.servlet' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.io' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.handler' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.jetty.webapp' version='6.1.7'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0'/>
-        <required namespace='java.package' name='javax.security.cert' range='0.0.0'/>
-        <required namespace='java.package' name='javax.servlet' range='2.5.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.5.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.mortbay.component' range='6.1.0'/>
-        <required namespace='java.package' name='org.mortbay.log' range='6.1.0'/>
-        <required namespace='java.package' name='org.mortbay.servlet' range='6.1.0'/>
-        <required namespace='java.package' name='org.mortbay.thread' range='6.1.0'/>
-        <required namespace='java.package' name='org.mortbay.util' range='6.1.0'/>
-        <required namespace='java.package' name='org.mortbay.util.ajax' range='6.1.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty.server' version='6.1.7.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0
-Bundle-DocURL: http://jetty.mortbay.org
-implementation-version: 6.1.7
-Ignore-Package: org.mortbay.jetty.bio,org.mortbay.servlet.jetty,org.mortbay.jetty.nio,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.jetty.deployer,org.mortbay.xml,org.mortbay.io.bio,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.io,org.mortbay.jetty,org.mortbay.jetty.webapp
-Created-By: 1.5.0_13 (Sun Microsystems Inc.)
-Built-By: gregw
-Bundle-Vendor: Mort Bay Consulting
-url: http://jetty.mortbay.org
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Description: Jetty server core
-Import-Package: javax.net.ssl,javax.security.cert,javax.servlet;version=2.5,javax.servlet.http;version=2.5,javax.xml.parsers,org.mortbay.component;version=6.1,org.mortbay.log;version=6.1,org.mortbay.servlet;version=6.1,org.mortbay.thread;version=6.1,org.mortbay.util;version=6.1,org.mortbay.util.ajax;version=6.1,org.xml.sax,org.xml.sax.helpers
-Archiver-Version: Plexus Archiver
-Bundle-Name: Jetty Server
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
-mode: development
-Export-Package: org.mortbay.jetty.bio;uses:=&quot;org.mortbay.log,org.mortbay.thread,org.mortbay.io.bio,org.mortbay.io,org.mortbay.jetty&quot;;version=6.1.7,org.mortbay.servlet.jetty;uses:=&quot;javax.servlet.http,org.mortbay.servlet,org.mortbay.jetty&quot;;version=6.1.7,org.mortbay.jetty.nio;uses:=&quot;org.mortbay.log,org.mortbay.thread,org.mortbay.io,org.mortbay.jetty,org.mortbay.util.ajax,org.mortbay.io.nio&quot;;version=6.1.7,org.mortbay.resource;uses:=&quot;org.mortbay.log,org.mortbay.util&quot;;version=6.1.7,org.mortbay.io.nio;uses:=&quot;org.mortbay.log,org.mortbay.component,org.mortbay.thread,org.mortbay.io,org.mortbay.jetty&quot;;version=6.1.7,org.mortbay.jetty.security;uses:=&quot;org.mortbay.util,org.mortbay.component,javax.servlet.http,org.mortbay.jetty.bio,javax.security.cert,org.mortbay.resource,org.mortbay.log,javax.servlet,org.mortbay.io.bio,org.mortbay.jetty.servlet,org.mortbay.io,org.mortbay.jetty.handler,org.mortbay.jetty.webapp,org.mortbay.jetty,javax.net.ssl&quot;;version=6.1.7,org.mortbay.jetty.deployer;uses:=&quot;org.mortbay.util,org.mortbay.component,org.mortbay.resource,org.mortbay.log,org.mortbay.xml,org.mortbay.jetty.handler,org.mortbay.jetty,org.mortbay.jetty.webapp&quot;;version=6.1.7,org.mortbay.xml;uses:=&quot;org.mortbay.util,org.mortbay.component,org.xml.sax,org.mortbay.resource,org.mortbay.log,javax.xml.parsers,org.xml.sax.helpers&quot;;version=6.1.7,org.mortbay.io.bio;uses:=org.mortbay.io;version=6.1.7,org.mortbay.jetty.servlet;uses:=&quot;org.mortbay.util,javax.servlet.http,org.mortbay.component,org.mortbay.jetty.nio,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.log,javax.servlet,org.mortbay.io,org.mortbay.jetty.handler,org.mortbay.jetty&quot;;version=6.1.7,org.mortbay.io;uses:=org.mortbay.util;version=6.1.7,org.mortbay.jetty.handler;uses:=&quot;org.mortbay.util,org.mortbay.component,javax.servlet.http,org.mortbay.resource,org.mortbay.log,javax.servlet,org.mortbay.jetty.servlet,org.mortbay.io,org.mortbay.jetty.webapp,org.mortbay.jetty&quot;;version=6.1.7,org.mortbay.jetty;uses:=&quot;org.mortbay.util,javax.servlet.http,org.mortbay.component,org.mortbay.jetty.bio,org.mortbay.thread,org.mortbay.resource,org.mortbay.io.nio,org.mortbay.jetty.security,org.mortbay.log,javax.servlet,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.io,org.mortbay.jetty.webapp,org.mortbay.util.ajax&quot;;version=6.1.7,org.mortbay.jetty.webapp;uses:=&quot;org.mortbay.util,javax.servlet.http,org.mortbay.resource,org.mortbay.jetty.security,org.mortbay.jetty.deployer,org.mortbay.log,javax.servlet,org.mortbay.xml,org.mortbay.jetty.servlet,org.mortbay.jetty.handler,org.mortbay.jetty&quot;;version=6.1.7
-Bundle-Version: 6.1.7.v200803061811
-Bundle-ManifestVersion: 2
-Bnd-LastModified: 1198463911965
-package: org.mortbay
-Build-Jdk: 1.5.0_13
-Tool: Bnd-0.0.160
-Bundle-SymbolicName: org.mortbay.jetty.server
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.log4j' version='1.2.8.v200803061910' singleton='false'>
-      <update id='org.apache.log4j' range='[0.0.0,1.2.8.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.PLUGIN_NAME' value='Apache Jakarta log4j Plug-in'/>
-        <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
-      </properties>
-      <provides size='25'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.log4j' version='1.2.8.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.log4j' version='1.2.8.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.log4j' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.chainsaw' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.config' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.jdbc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.jmx' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.config' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.categoryexplorer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.configure' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.nt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or.jms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.varia' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.log4j' version='1.2.8.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %PLUGIN_NAME
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.log4j
-Bundle-Version: 1.2.8.v200803061910
-Export-Package: org.apache.log4j,org.apache.log4j.chainsaw,org.apache.log4j.config,org.apache.log4j.helpers,org.apache.log4j.jdbc,org.apache.log4j.jmx,org.apache.log4j.lf5,org.apache.log4j.lf5.config,org.apache.log4j.lf5.util,org.apache.log4j.lf5.viewer,org.apache.log4j.lf5.viewer.categoryexplorer,org.apache.log4j.lf5.viewer.configure,org.apache.log4j.lf5.viewer.images,org.apache.log4j.net,org.apache.log4j.nt,org.apache.log4j.or,org.apache.log4j.or.jms,org.apache.log4j.or.sax,org.apache.log4j.spi,org.apache.log4j.varia,org.apache.log4j.xml
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.net.source' version='1.4.1.v200803071935' singleton='false'>
-      <update id='org.apache.commons.net.source' range='[0.0.0,1.4.1.v200803071935)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Net Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.net.source' version='1.4.1.v200803071935'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.4.1.v200803071935
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.net.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.net;version=&quot;1.4.1.v200803071935&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='java_cup.runtime' version='0.10.0.v200803061811' singleton='false'>
-      <update id='java_cup.runtime' range='[0.0.0,0.10.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Java Cup'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='java_cup.runtime' version='0.10.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='java_cup.runtime' version='0.10.0.v200803061811'/>
-        <provided namespace='java.package' name='java_cup.runtime' version='0.10.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='java_cup.runtime' version='0.10.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 0.10.0.v200803061811
-Export-Package: java_cup.runtime;version=&quot;0.10.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: java_cup.runtime
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.xml.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.xml.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik XML Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.xml.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.xml.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.xml;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.cli' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.cli' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons CLI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.cli' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.cli' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.cli' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.commons.lang' range='[2.0.0,3.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.cli' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.commons.cli;version=&quot;1.0.0&quot;
-Require-Bundle: org.apache.commons.lang;bundle-version=&quot;[2.0.0,3.0.0)&quot;,org.apache.commons.logging;bundle-version=&quot;[1.0.0,2.0.0)&quot;
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.cli
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.cli.source' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.cli.source' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons CLI'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.cli.source' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.cli.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.cli;version=&quot;1.0.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ant' version='1.6.5.v200803061811' singleton='false'>
-      <update id='org.apache.ant' range='[0.0.0,1.6.5.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Ant'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='75'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' version='1.6.5.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.ant' version='1.6.5.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.tools.ant' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.helper' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.input' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.launch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.listener' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.condition' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.cvslib' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.email' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ccm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.clearcase' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend.constantpool' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.dotnet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ejb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension.resolvers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ide' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.j2ee' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javacc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javah' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jdepend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jlink' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit.xsl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.metamata' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.native2ascii' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.perforce' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.pvcs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.scm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.script' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka.bytecode' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.attributes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sos' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sound' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.splash' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ssh' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.starteam' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.unix' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.vss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.windows' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.rmic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.mappers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors.modifiedselector' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend.bcel' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.facade' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.bzip2' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.mail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.tar' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.zip' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ant' version='1.6.5.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Export-Package: org.apache.tools.ant,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.launch,org.apache.tools.ant.listener,org.apache.tools.ant.loader,org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,org.apache.tools.ant.taskdefs.optional.ide,org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.metamata,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sitraka,org.apache.tools.ant.taskdefs.optional.sitraka.bytecode,org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.attributes,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.mappers,org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,org.apache.tools.ant.util.facade,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.osgi
-Bundle-Name: %pluginName
-Bundle-Version: 1.6.5.v200803061811
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.apache.ant
-Bundle-ClassPath: lib/ant.jar,lib/ant-antlr.jar,lib/ant-apache-bcel.jar,lib/ant-apache-bsf.jar,lib/ant-apache-log4j.jar,lib/ant-apache-oro.jar,lib/ant-apache-regexp.jar,lib/ant-apache-resolver.jar,lib/ant-commons-logging.jar,lib/ant-commons-net.jar,lib/ant-icontract.jar,lib/ant-jai.jar,lib/ant-javamail.jar,lib/ant-jdepend.jar,lib/ant-jmf.jar,lib/ant-jsch.jar,lib/ant-junit.jar,lib/ant-launcher.jar,lib/ant-netrexx.jar,lib/ant-nodeps.jar,lib/ant-starteam.jar,lib/ant-stylebook.jar,lib/ant-swing.jar,lib/ant-trax.jar,lib/ant-vaj.jar,lib/ant-weblogic.jar,lib/ant-xalan1.jar,lib/ant-xslp.jar
-Manifest-Version: 1.0
-Eclipse-LazyStart: true
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.sun.syndication' version='0.9.0.v200803061811' singleton='false'>
-      <update id='com.sun.syndication' range='[0.0.0,0.9.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Rss and atOM utilitiEs (ROME)'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='14'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.sun.syndication' version='0.9.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='com.sun.syndication' version='0.9.0.v200803061811'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.atom' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.impl' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.module' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.module.impl' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.rss' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.synd' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.feed.synd.impl' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.io' version='0.9.0'/>
-        <provided namespace='java.package' name='com.sun.syndication.io.impl' version='0.9.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='java.package' name='org.jdom' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.adapters' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.filter' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.input' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.output' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.transform' range='1.0.0'/>
-        <required namespace='java.package' name='org.jdom.xpath' range='1.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.sun.syndication' version='0.9.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 0.9.0.v200803061811
-Export-Package: com.sun.syndication.feed;version=&quot;0.9.0&quot;,com.sun.syndication.feed.atom;version=&quot;0.9.0&quot;,com.sun.syndication.feed.impl;version=&quot;0.9.0&quot;,com.sun.syndication.feed.module;version=&quot;0.9.0&quot;,com.sun.syndication.feed.module.impl;version=&quot;0.9.0&quot;,com.sun.syndication.feed.rss;version=&quot;0.9.0&quot;,com.sun.syndication.feed.synd;version=&quot;0.9.0&quot;,com.sun.syndication.feed.synd.impl;version=&quot;0.9.0&quot;,com.sun.syndication.io;version=&quot;0.9.0&quot;,com.sun.syndication.io.impl;version=&quot;0.9.0&quot;
-Bundle-SymbolicName: com.sun.syndication
-Import-Package: org.jdom;version=&quot;1.0.0&quot;,org.jdom.adapters;version=&quot;1.0.0&quot;,org.jdom.filter;version=&quot;1.0.0&quot;,org.jdom.input;version=&quot;1.0.0&quot;,org.jdom.output;version=&quot;1.0.0&quot;,org.jdom.transform;version=&quot;1.0.0&quot;,org.jdom.xpath;version=&quot;1.0.0&quot;
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene.source' version='1.4.3.v200803061910' singleton='false'>
-      <update id='org.apache.lucene.source' range='[0.0.0,1.4.3.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.lucene_plugin_name' value='Apache Lucene'/>
-        <property name='org.eclipse.equinox.p2.name' value='%lucene_plugin_name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.source' version='1.4.3.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene.source' version='1.4.3.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene.source' version='1.4.3.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %lucene_plugin_name
-Bundle-Version: 1.4.3.v200803061910
-Eclipse-LazyStart: false
-Eclipse-SourceBundle: org.apache.lucene;version=&quot;1.4.3.v200803061910&quot;
-Bundle-SymbolicName: org.apache.lucene.source
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mozilla.javascript' version='1.6.6.v200803061910' singleton='false'>
-      <update id='org.mozilla.javascript' range='[0.0.0,1.6.6.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Mozilla Rhino'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='21'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mozilla.javascript' version='1.6.6.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.mozilla.javascript' version='1.6.6.v200803061910'/>
-        <provided namespace='java.package' name='org.mozilla.classfile' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.continuations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.debug' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.jdk11' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.jdk13' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.optimizer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.idswitch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.jsc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.tools.shell' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='org.mozilla.javascript.xmlimpl' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='14'>
-        <required namespace='java.package' name='javax.xml.transform.dom' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.event' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.border' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform.stream' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.text' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.filechooser' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.table' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.transform' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing.tree' range='0.0.0'/>
-        <required namespace='java.package' name='javax.swing' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mozilla.javascript' version='1.6.6.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Main-Class: org.mozilla.javascript.tools.shell.Main
-Import-Package: javax.xml.transform.dom,javax.swing.event,org.w3c.dom,javax.swing.border,javax.xml.transform.stream,javax.swing.text,javax.swing.filechooser,javax.swing.table,javax.xml.namespace,javax.xml.transform,org.xml.sax,javax.swing.tree,javax.swing,javax.xml.parsers
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mozilla.javascript
-Bundle-Version: 1.6.6.v200803061910
-Export-Package: org.mozilla.classfile,org.mozilla.javascript,org.mozilla.javascript.continuations,org.mozilla.javascript.debug,org.mozilla.javascript.jdk11,org.mozilla.javascript.jdk13,org.mozilla.javascript.optimizer,org.mozilla.javascript.regexp,org.mozilla.javascript.resources,org.mozilla.javascript.serialize,org.mozilla.javascript.tools,org.mozilla.javascript.tools.idswitch,org.mozilla.javascript.tools.jsc,org.mozilla.javascript.tools.resources,org.mozilla.javascript.tools.shell,org.mozilla.javascript.xml,org.mozilla.javascript.xmlimpl
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.objectweb.asm' version='3.0.0.v200803061811' singleton='false'>
-      <update id='org.objectweb.asm' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ASM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm' version='3.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.objectweb.asm' version='3.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.objectweb.asm' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.commons' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.signature' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.tree' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.tree.analysis' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.util' version='3.0.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.xml' version='3.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.objectweb.asm' version='3.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.objectweb.asm;version=&quot;3.0.0&quot;,org.objectweb.asm.commons;version=&quot;3.0.0&quot;,org.objectweb.asm.signature;version=&quot;3.0.0&quot;,org.objectweb.asm.tree;version=&quot;3.0.0&quot;,org.objectweb.asm.tree.analysis;version=&quot;3.0.0&quot;,org.objectweb.asm.util;version=&quot;3.0.0&quot;,org.objectweb.asm.xml;version=&quot;3.0.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.objectweb.asm
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.ext.awt.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik AWT Utilities Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.ext.awt.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.ext.awt.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.ext.awt;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xalan' version='2.7.0.v200803062026' singleton='false'>
-      <update id='org.apache.xalan' range='[0.0.0,2.7.0.v200803062026)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Xalan-Java'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='46'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xalan' version='2.7.0.v200803062026'/>
-        <provided namespace='osgi.bundle' name='org.apache.xalan' version='2.7.0.v200803062026'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.lib' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.lib.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.processor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.templates' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.trace' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.transformer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xslt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.cmdline.getopt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.compiler.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.runtime.output' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.trax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xalan.xsltc.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref.dom2dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.dtm.ref.sax2dtm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.serializer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.serializer.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.utils' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.utils.res' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.axes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.domapi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.functions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.jaxp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.objects' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.operations' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.patterns' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xpath.res' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='java_cup.runtime' range='0.10.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.apache.bcel' range='5.2.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xalan' version='2.7.0.v200803062026'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle,java_cup.runtime;bundle-version=&quot;0.10.0&quot;;resolution:=optional,org.apache.bcel;bundle-version=&quot;5.2.0&quot;;resolution:=optional,org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Manifest-Version: 1.0
-Bundle-Version: 2.7.0.v200803062026
-Export-Package: META-INF.services,org.apache.xalan,org.apache.xalan.client,org.apache.xalan.extensions,org.apache.xalan.lib,org.apache.xalan.lib.sql,org.apache.xalan.processor,org.apache.xalan.res,org.apache.xalan.serialize,org.apache.xalan.templates,org.apache.xalan.trace,org.apache.xalan.transformer,org.apache.xalan.xslt,org.apache.xalan.xsltc,org.apache.xalan.xsltc.cmdline,org.apache.xalan.xsltc.cmdline.getopt,org.apache.xalan.xsltc.compiler,org.apache.xalan.xsltc.compiler.util,org.apache.xalan.xsltc.dom,org.apache.xalan.xsltc.runtime,org.apache.xalan.xsltc.runtime.output,org.apache.xalan.xsltc.trax,org.apache.xalan.xsltc.util,org.apache.xml.dtm,org.apache.xml.dtm.ref,org.apache.xml.dtm.ref.dom2dtm,org.apache.xml.dtm.ref.sax2dtm,org.apache.xml.res,org.apache.xml.serializer,org.apache.xml.serializer.utils,org.apache.xml.utils,org.apache.xml.utils.res,org.apache.xpath,org.apache.xpath.axes,org.apache.xpath.compiler,org.apache.xpath.domapi,org.apache.xpath.functions,org.apache.xpath.jaxp,org.apache.xpath.objects,org.apache.xpath.operations,org.apache.xpath.patterns,org.apache.xpath.res
-Bundle-SymbolicName: org.apache.xalan
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml.soap' version='1.2.0.v200803070511' singleton='false'>
-      <update id='javax.xml.soap' range='[0.0.0,1.2.0.v200803070511)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='SAAJ'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.soap' version='1.2.0.v200803070511'/>
-        <provided namespace='osgi.bundle' name='javax.xml.soap' version='1.2.0.v200803070511'/>
-        <provided namespace='java.package' name='javax.xml.soap' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml.soap' version='1.2.0.v200803070511'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: lib/saaj.jar
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.xml.soap
-Bundle-Version: 1.2.0.v200803070511
-Export-Package: javax.xml.soap
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.svggen' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.svggen' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik SVG Generation'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.svggen' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.svggen.font' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.svggen.font.table' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.svggen' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.svggen;version=&quot;1.6.0&quot;,org.apache.batik.svggen.font;version=&quot;1.6.0&quot;,org.apache.batik.svggen.font.table;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.svggen
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.dom.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.dom.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik DOM Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.dom.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.dom.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.dom;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base.source' version='3.8.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base.source' range='[0.0.0,3.8.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.8.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.8.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version=&quot;3.8.1.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.lang.source' version='2.3.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.lang.source' range='[0.0.0,2.3.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.lang.source' version='2.3.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.3.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.lang.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.lang;version=&quot;2.3.0.v200803061910&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.objectweb.asm' version='3.1.0.v200803061910' singleton='false'>
-      <update id='org.objectweb.asm' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ASM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm' version='3.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.objectweb.asm' version='3.1.0.v200803061910'/>
-        <provided namespace='java.package' name='org.objectweb.asm' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.commons' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.signature' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.tree' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.tree.analysis' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.util' version='3.1.0'/>
-        <provided namespace='java.package' name='org.objectweb.asm.xml' version='3.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.objectweb.asm' version='3.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.1.0.v200803061910
-Export-Package: org.objectweb.asm;version=&quot;3.1.0&quot;,org.objectweb.asm.commons;version=&quot;3.1.0&quot;,org.objectweb.asm.signature;version=&quot;3.1.0&quot;,org.objectweb.asm.tree;version=&quot;3.1.0&quot;,org.objectweb.asm.tree.analysis;version=&quot;3.1.0&quot;,org.objectweb.asm.util;version=&quot;3.1.0&quot;,org.objectweb.asm.xml;version=&quot;3.1.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.objectweb.asm
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.dom.smil' version='1.0.0.v200803081811' singleton='false'>
-      <update id='org.w3c.dom.smil' range='[0.0.0,1.0.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C SMIL DOM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
-        <provided namespace='java.package' name='org.w3c.dom.smil' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.dom.smil' version='1.0.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3,CDC-1.0/Foundation-1.0
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0.v200803081811
-Export-Package: org.w3c.dom.smil;version=&quot;1.0.0&quot;
-Bundle-SymbolicName: org.w3c.dom.smil
-Import-Package: org.w3c.dom
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xmlrpc' version='3.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.xmlrpc' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache XML-RPC Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.client' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.client.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.common' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.jaxb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.serializer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.server' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlrpc.webserver' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='13'>
-        <required namespace='java.package' name='javax.xml.bind' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.httpclient' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.httpclient.auth' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.httpclient.methods' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.httpclient.params' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.ws.commons.serialize' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.ws.commons.util' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xmlrpc' version='3.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Import-Package: javax.xml.bind,javax.xml.namespace,javax.xml.parsers,org.apache.commons.httpclient,org.apache.commons.httpclient.auth,org.apache.commons.httpclient.methods,org.apache.commons.httpclient.params,org.apache.commons.logging,org.apache.ws.commons.serialize,org.apache.ws.commons.util,org.w3c.dom,org.xml.sax,org.xml.sax.helpers
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: dependent
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xmlrpc
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.apache.xmlrpc,org.apache.xmlrpc.client,org.apache.xmlrpc.client.util,org.apache.xmlrpc.common,org.apache.xmlrpc.jaxb,org.apache.xmlrpc.metadata,org.apache.xmlrpc.parser,org.apache.xmlrpc.serializer,org.apache.xmlrpc.server,org.apache.xmlrpc.util,org.apache.xmlrpc.webserver
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.jcraft.jsch' version='0.1.37.v200803061811' singleton='false'>
-      <update id='com.jcraft.jsch' range='[0.0.0,0.1.37.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='JSch'/>
-        <property name='df_LT.venderName' value='JCraft, Inc.'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-        <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-        <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jgss' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.37.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Manifest-Version: 1.0
-Bundle-Version: 0.1.37.v200803061811
-Export-Package: com.jcraft.jsch,com.jcraft.jsch.jce;x-internal:=true,com.jcraft.jsch.jcraft;x-internal:=true,com.jcraft.jsch.jgss;x-internal:=true
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Vendor: %venderName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.oro.source' version='2.0.8.v200803061811' singleton='false'>
-      <update id='org.apache.oro.source' range='[0.0.0,2.0.8.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta ORO Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.oro.source' version='2.0.8.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.oro.source' version='2.0.8.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.oro.source' version='2.0.8.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.8.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.oro.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.oro;version=&quot;2.0.8.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.css.sac.source' version='1.3.0.v200803081811' singleton='false'>
-      <update id='org.w3c.css.sac.source' range='[0.0.0,1.3.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C CSS SAC Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.css.sac.source' version='1.3.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.3.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.css.sac.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.css.sac;version=&quot;1.3.0.v200803081811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.sun.syndication.source' version='0.9.0.v200803061811' singleton='false'>
-      <update id='com.sun.syndication.source' range='[0.0.0,0.9.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Rss and atOM utilitiEs (ROME) Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.sun.syndication.source' version='0.9.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='com.sun.syndication.source' version='0.9.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.sun.syndication.source' version='0.9.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 0.9.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.sun.syndication.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: com.sun.syndication;version=&quot;0.9.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.codec' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.codec' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Codec Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.codec' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.codec' version='1.2.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.codec' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.binary' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.digest' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.language' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.codec.net' version='1.2.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.codec' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.codec;version=&quot;1.2.0&quot;,org.apache.commons.codec.binary;version=&quot;1.2.0&quot;,org.apache.commons.codec.digest;version=&quot;1.2.0&quot;,org.apache.commons.codec.language;version=&quot;1.2.0&quot;,org.apache.commons.codec.net;version=&quot;1.2.0&quot;
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.codec
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene.analysis' version='1.9.1.v200803061811' singleton='false'>
-      <update id='org.apache.lucene.analysis' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene Analysis'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.br' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cjk' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cn' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.cz' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.el' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.fr' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.nl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.ru' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.lucene' range='[1.9.1,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene.analysis' version='1.9.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.9.1.v200803061811
-Require-Bundle: org.apache.lucene;bundle-version=&quot;[1.9.1,2.0.0)&quot;;visibility:=reexport
-Export-Package: org.apache.lucene.analysis.br,org.apache.lucene.analysis.cjk,org.apache.lucene.analysis.cn,org.apache.lucene.analysis.cz,org.apache.lucene.analysis.de,org.apache.lucene.analysis.el,org.apache.lucene.analysis.fr,org.apache.lucene.analysis.nl,org.apache.lucene.analysis.ru
-Bundle-SymbolicName: org.apache.lucene.analysis
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.logging.source' version='1.0.4.v200803061811' singleton='false'>
-      <update id='org.apache.commons.logging.source' range='[0.0.0,1.0.4.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.logging.source' version='1.0.4.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.0.4.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.logging.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.logging;version=&quot;1.0.4.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.sat4j.core' version='2.0.0.v20080307' singleton='false'>
-      <update id='org.sat4j.core' range='[0.0.0,2.0.0.v20080307)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='18'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.sat4j.core' version='2.0.0.v20080307'/>
-        <provided namespace='osgi.bundle' name='org.sat4j.core' version='2.0.0.v20080307'/>
-        <provided namespace='java.package' name='org.sat4j' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints.card' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.constraints.cnf' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.learning' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.orders' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.restarts' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.minisat.uip' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.opt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.reader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.specs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.sat4j.tools' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.sat4j.core' version='2.0.0.v20080307'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Implementation-Vendor: CRIL CNRS UMR 8188 - Universite d&apos;Artois
-Bundle-Version: 2.0.0.v20080307
-Specification-Title: SAT4J
-Implementation-Title: SAT4J
-Export-Package: org.sat4j,org.sat4j.core,org.sat4j.minisat,org.sat4j.minisat.constraints,org.sat4j.minisat.constraints.card,org.sat4j.minisat.constraints.cnf,org.sat4j.minisat.core,org.sat4j.minisat.learning,org.sat4j.minisat.orders,org.sat4j.minisat.restarts,org.sat4j.minisat.uip,org.sat4j.opt,org.sat4j.reader,org.sat4j.specs,org.sat4j.tools
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.6.1
-Bundle-SymbolicName: org.sat4j.core
-Created-By: 1.6.0_02-b05 (Sun Microsystems Inc.)
-Specification-Version: NA
-Built-By: Daniel Le Berre
-Main-Class: org.sat4j.BasicLauncher
-Implementation-Version: 2.0
-Specification-Vendor: Daniel Le Berre
-Bundle-Vendor: %providerName
-Bundle-Name: %bundleName
-Bundle-ManifestVersion: 2
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.beanutils' version='1.7.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.beanutils' range='[0.0.0,1.7.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons BeanUtils'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.beanutils' version='1.7.0'/>
-        <provided namespace='java.package' name='org.apache.commons.beanutils.converters' version='1.7.0'/>
-        <provided namespace='java.package' name='org.apache.commons.beanutils.locale' version='1.7.0'/>
-        <provided namespace='java.package' name='org.apache.commons.beanutils.locale.converters' version='1.7.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.commons.collections' range='3.2.0' optional='true'/>
-        <required namespace='osgi.bundle' name='org.apache.commons.logging' range='1.0.4'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.beanutils' version='1.7.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.7.0.v200803061811
-Require-Bundle: org.apache.commons.collections;bundle-version=&quot;3.2.0&quot;;resolution:=optional,org.apache.commons.logging;bundle-version=&quot;1.0.4&quot;
-Export-Package: org.apache.commons.beanutils;version=&quot;1.7.0&quot;,org.apache.commons.beanutils.converters;version=&quot;1.7.0&quot;,org.apache.commons.beanutils.locale;version=&quot;1.7.0&quot;,org.apache.commons.beanutils.locale.converters;version=&quot;1.7.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.beanutils
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet' version='2.3.0.v200803061811' singleton='false'>
-      <update id='javax.servlet' range='[0.0.0,2.3.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Servlet API'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet' version='2.3.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.servlet' version='2.3.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.servlet' version='2.3.0'/>
-        <provided namespace='java.package' name='javax.servlet.http' version='2.3.0'/>
-        <provided namespace='java.package' name='javax.servlet.resources' version='2.3.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet' version='2.3.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.3.0.v200803061811
-Export-Package: javax.servlet; version=2.3,javax.servlet.http; version=2.3,javax.servlet.resources; version=2.3
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: javax.servlet
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.log4j' version='1.2.13.v200803061811' singleton='false'>
-      <update id='org.apache.log4j' range='[0.0.0,1.2.13.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.PLUGIN_NAME' value='Apache Jakarta log4j Plug-in'/>
-        <property name='df_LT.PLUGIN_PROVIDER' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%PLUGIN_NAME'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%PLUGIN_PROVIDER'/>
-      </properties>
-      <provides size='25'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.log4j' version='1.2.13.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.log4j' version='1.2.13.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.log4j' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.chainsaw' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.config' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.jdbc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.jmx' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.config' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.categoryexplorer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.configure' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.lf5.viewer.images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.nt' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or.jms' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.or.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.varia' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.log4j.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.log4j' version='1.2.13.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %PLUGIN_NAME
-Bundle-Localization: plugin
-Eclipse-BuddyPolicy: registered
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.log4j
-Bundle-Version: 1.2.13.v200803061811
-Export-Package: org.apache.log4j,org.apache.log4j.chainsaw,org.apache.log4j.config,org.apache.log4j.helpers,org.apache.log4j.jdbc,org.apache.log4j.jmx,org.apache.log4j.lf5,org.apache.log4j.lf5.config,org.apache.log4j.lf5.util,org.apache.log4j.lf5.viewer,org.apache.log4j.lf5.viewer.categoryexplorer,org.apache.log4j.lf5.viewer.configure,org.apache.log4j.lf5.viewer.images,org.apache.log4j.net,org.apache.log4j.nt,org.apache.log4j.or,org.apache.log4j.or.jms,org.apache.log4j.or.sax,org.apache.log4j.spi,org.apache.log4j.varia,org.apache.log4j.xml
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.antlr.runtime' version='3.0.0.v200803061811' singleton='false'>
-      <update id='org.antlr.runtime' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ANTLR Runtime'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='8'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.antlr.runtime' version='3.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.antlr.runtime' version='3.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.antlr.runtime' version='3.0.0'/>
-        <provided namespace='java.package' name='org.antlr.runtime.debug' version='3.0.0'/>
-        <provided namespace='java.package' name='org.antlr.runtime.misc' version='3.0.0'/>
-        <provided namespace='java.package' name='org.antlr.runtime.tree' version='3.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.antlr.runtime' version='3.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 3.0.0.v200803061811
-Export-Package: org.antlr.runtime;version=&quot;3.0.0&quot;,org.antlr.runtime.debug;version=&quot;3.0.0&quot;,org.antlr.runtime.misc;version=&quot;3.0.0&quot;,org.antlr.runtime.tree;version=&quot;3.0.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.antlr.runtime
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.discovery' version='0.2.0.v200706111329' singleton='false'>
-      <update id='org.apache.commons.discovery' range='[0.0.0,0.2.0.v200706111329)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Jakarta-Commons Discovery'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.ant' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.jdk' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.log' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.resource' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.resource.classes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.resource.names' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.commons.discovery.tools' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.junit' range='[3.8.0,4.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.discovery' version='0.2.0.v200706111329'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Implementation-Version: 0.2
-Manifest-Version: 1.0
-Extension-Name: org.apache.commons.discovery
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: lib/commons-discovery-0.2.jar
-Specification-Vendor: Apache Software Foundation
-Specification-Version: 1.0
-Bundle-Version: 0.2.0.v200706111329
-Export-Package: org.apache.commons.discovery,org.apache.commons.discovery.ant,org.apache.commons.discovery.jdk,org.apache.commons.discovery.log,org.apache.commons.discovery.resource,org.apache.commons.discovery.resource.classes,org.apache.commons.discovery.resource.names,org.apache.commons.discovery.tools
-Require-Bundle: org.apache.commons.logging;bundle-version=&quot;[1.0.4,2.0.0)&quot;,org.junit;bundle-version=&quot;[3.8.0,4.0.0)&quot;;resolution:=optional
-Bundle-SymbolicName: org.apache.commons.discovery
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Implementation-Vendor: Apache Software Foundation
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.dom.svg' version='1.1.0.v200803081811' singleton='false'>
-      <update id='org.w3c.dom.svg' range='[0.0.0,1.1.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C SVG DOM'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
-        <provided namespace='java.package' name='org.w3c.dom.svg' version='1.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.w3c.dom.smil' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.dom.svg' version='1.1.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3,CDC-1.0/Foundation-1.0
-Require-Bundle: org.w3c.dom.smil;version=&quot;[1.0.0,1.1.0)&quot;
-Import-Package: org.w3c.dom
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.svg
-Bundle-Version: 1.1.0.v200803081811
-Export-Package: org.w3c.dom.svg;version=&quot;1.1.0&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.transcoder' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.transcoder' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Transcoder'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.image' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.image.resources' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.keys' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.print' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.svg2svg' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.wmf' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.transcoder.wmf.tosvg' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.svggen' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.transcoder' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.svg;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.svggen;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.xml;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.transcoder;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.image;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.image.resources;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.keys;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.print;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.svg2svg;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.wmf;version=&quot;1.6.0&quot;,org.apache.batik.transcoder.wmf.tosvg;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.transcoder
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.bridge.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.bridge.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Bridge/GVT/Scripting Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.bridge.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.bridge.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.bridge;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml.rpc' version='1.1.0.v200803061811' singleton='false'>
-      <update id='javax.xml.rpc' range='[0.0.0,1.1.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='JAX-RPC'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.rpc' version='1.1.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.xml.rpc' version='1.1.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.xml.messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.encoding' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.handler' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.handler.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.holders' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.server' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.rpc.soap' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='javax.xml.soap' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='javax.servlet' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml.rpc' version='1.1.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Name: %Bundle-Name.0
-Bundle-ClassPath: lib/jaxrpc.jar
-Specification-Title: JAX-RPC
-Require-Bundle: javax.xml.soap,javax.servlet,org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Bundle-Vendor: %Bundle-Vendor.0
-Created-By: 1.4.2_08-b03 (Sun Microsystems Inc.)Name: javax/xml/rpc
-Manifest-Version: 1.0
-Bundle-Version: 1.1.0.v200803061811
-Bundle-Localization: plugin
-Specification-Version: 1.1
-Export-Package: javax.xml.messaging,javax.xml.rpc,javax.xml.rpc.encoding,javax.xml.rpc.handler,javax.xml.rpc.handler.soap,javax.xml.rpc.holders,javax.xml.rpc.server,javax.xml.rpc.soap
-Bundle-SymbolicName: javax.xml.rpc
-Specification-Vendor: JCP
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml.bind.source' version='2.0.0.v200803061811' singleton='false'>
-      <update id='javax.xml.bind.source' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JAXB'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.bind.source' version='2.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.xml.bind.source' version='2.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml.bind.source' version='2.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.xml.bind.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.xml.bind;version=&quot;2.0.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.derby.source' version='10.1.2.1_v200803061811' singleton='false'>
-      <update id='org.apache.derby.source' range='[0.0.0,10.1.2.1_v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache Derby Source Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.derby.source' version='10.1.2.1_v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 10.1.2.1_v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.derby.source
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.derby;version=&quot;10.1.2.1_v200803061811&quot;
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty.source' version='5.1.11.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty.source' range='[0.0.0,5.1.11.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Jetty WebServer Source'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty.source' version='5.1.11.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 5.1.11.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.mortbay.jetty.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.mortbay.jetty;version=&quot;5.1.11.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base.source' version='3.6.1.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base.source' range='[0.0.0,3.6.1.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.6.1.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.6.1.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version=&quot;3.6.1.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xml.serializer' version='2.7.1.v200803061811' singleton='false'>
-      <update id='org.apache.xml.serializer' range='[0.0.0,2.7.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache XML Commons Serializer'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.xml.serializer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.serializer.dom3' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xml.serializer' version='2.7.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 2.7.1.v200803061811
-Export-Package: org.apache.xml.serializer,org.apache.xml.serializer.dom3
-Bundle-SymbolicName: org.apache.xml.serializer
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.lang.source' version='2.1.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.lang.source' range='[0.0.0,2.1.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.lang.source' version='2.1.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.1.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.lang.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.lang;version=&quot;2.1.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xerces' version='2.9.0.v200803061910' singleton='false'>
-      <update id='org.apache.xerces' range='[0.0.0,2.9.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache Xerces-J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='43'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xerces' version='2.9.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.xerces' version='2.9.0.v200803061910'/>
-        <provided namespace='java.package' name='META-INF.services' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.html.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wml' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.wml.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.dom3.as' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dtd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dtd.models' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.dtd' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.dv.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.io' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.msg' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xpath.regex' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.identity' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.models' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.opti' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.traversers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.impl.xs.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.jaxp.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xinclude' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni.grammars' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xni.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xpointer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xerces.xs.datatypes' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.serialize' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='javax.xml' range='[1.3.4,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.xml.resolver' range='[1.2.0,2.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.xml.serializer' range='[2.7.1,3.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xerces' version='2.9.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle,javax.xml;bundle-version=&quot;[1.3.4,2.0.0)&quot;;visibility:=reexport,org.apache.xml.resolver;bundle-version=&quot;[1.2.0,2.0.0)&quot;;visibility:=reexport,org.apache.xml.serializer;bundle-version=&quot;[2.7.1,3.0.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 2.9.0.v200803061910
-Export-Package: META-INF.services,org.apache.html.dom,org.apache.wml,org.apache.wml.dom,org.apache.xerces.dom,org.apache.xerces.dom.events,org.apache.xerces.dom3.as,org.apache.xerces.impl,org.apache.xerces.impl.dtd,org.apache.xerces.impl.dtd.models,org.apache.xerces.impl.dv,org.apache.xerces.impl.dv.dtd,org.apache.xerces.impl.dv.util,org.apache.xerces.impl.dv.xs,org.apache.xerces.impl.io,org.apache.xerces.impl.msg,org.apache.xerces.impl.validation,org.apache.xerces.impl.xpath,org.apache.xerces.impl.xpath.regex,org.apache.xerces.impl.xs,org.apache.xerces.impl.xs.identity,org.apache.xerces.impl.xs.models,org.apache.xerces.impl.xs.opti,org.apache.xerces.impl.xs.traversers,org.apache.xerces.impl.xs.util,org.apache.xerces.jaxp,org.apache.xerces.jaxp.datatype,org.apache.xerces.jaxp.validation,org.apache.xerces.parsers,org.apache.xerces.util,org.apache.xerces.xinclude,org.apache.xerces.xni,org.apache.xerces.xni.grammars,org.apache.xerces.xni.parser,org.apache.xerces.xpointer,org.apache.xerces.xs,org.apache.xerces.xs.datatypes,org.apache.xml.serialize,org.w3c.dom.html
-Bundle-SymbolicName: org.apache.xerces
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.css.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.css.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik CSS Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.css.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.css.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.css;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.logging' version='1.0.4.v200803061811' singleton='false'>
-      <update id='org.apache.commons.logging' range='[0.0.0,1.0.4.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Logging Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.logging' version='1.0.4.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.logging' version='1.0.4.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.logging' version='1.0.4'/>
-        <provided namespace='java.package' name='org.apache.commons.logging.impl' version='1.0.4'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.logging' version='1.0.4.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Version: 1.0.4.v200803061811
-Export-Package: org.apache.commons.logging;version=&quot;1.0.4&quot;,org.apache.commons.logging.impl;version=&quot;1.0.4&quot;
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.logging
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.objectweb.asm.source' version='3.1.0.v200803061910' singleton='false'>
-      <update id='org.objectweb.asm.source' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ASM Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.objectweb.asm.source' version='3.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.objectweb.asm.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.objectweb.asm;version=&quot;3.1.0.v200803061910&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.xml' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.xml' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik XML'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.xml' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.xml' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.xml' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.xml' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.xml;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.xml
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.source' version='2.3.0.v200803061811' singleton='false'>
-      <update id='javax.servlet.source' range='[0.0.0,2.3.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Servlet API Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.source' version='2.3.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.source' version='2.3.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.source' version='2.3.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 2.3.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet;version=&quot;2.3.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ant' version='1.7.0.v200803061910' singleton='false'>
-      <update id='org.apache.ant' range='[0.0.0,1.7.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Ant'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='78'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant' version='1.7.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.ant' version='1.7.0.v200803061910'/>
-        <provided namespace='java.package' name='images' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.dispatch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.filters.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.helper' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.input' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.launch' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.listener' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.loader' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.condition' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.cvslib' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.email' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ccm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.clearcase' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.depend.constantpool' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.dotnet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ejb' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.extension.resolvers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.i18n' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.j2ee' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javacc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.javah' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jdepend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jlink' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.jsp.compilers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.junit.xsl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.native2ascii' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.net' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.perforce' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.pvcs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.scm' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.script' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sos' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.sound' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.splash' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.ssh' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.starteam' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.unix' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.vss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.optional.windows' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.taskdefs.rmic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.conditions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.mappers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.optional.image' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources.comparators' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.resources.selectors' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.selectors.modifiedselector' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.types.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.depend.bcel' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.facade' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.java15' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.optional' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.ant.util.regexp' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.bzip2' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.mail' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.tar' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.tools.zip' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ant' version='1.7.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Bundle-ClassPath: lib/ant.jar,lib/ant-antlr.jar,lib/ant-apache-bcel.jar,lib/ant-apache-bsf.jar,lib/ant-apache-log4j.jar,lib/ant-apache-oro.jar,lib/ant-apache-regexp.jar,lib/ant-apache-resolver.jar,lib/ant-commons-logging.jar,lib/ant-commons-net.jar,lib/ant-jai.jar,lib/ant-javamail.jar,lib/ant-jdepend.jar,lib/ant-jmf.jar,lib/ant-jsch.jar,lib/ant-junit.jar,lib/ant-launcher.jar,lib/ant-netrexx.jar,lib/ant-nodeps.jar,lib/ant-starteam.jar,lib/ant-stylebook.jar,lib/ant-swing.jar,lib/ant-trax.jar,lib/ant-weblogic.jar
-Require-Bundle: org.eclipse.osgi
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant
-Bundle-Version: 1.7.0.v200803061910
-Export-Package: images,org.apache.tools.ant,org.apache.tools.ant.dispatch,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.launch,org.apache.tools.ant.listener,org.apache.tools.ant.loader,org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.conditions,org.apache.tools.ant.types.mappers,org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.resources,org.apache.tools.ant.types.resources.comparators,org.apache.tools.ant.types.resources.selectors,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,org.apache.tools.ant.types.spi,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,org.apache.tools.ant.util.facade,org.apache.tools.ant.util.java15,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.pool' version='1.3.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.pool' range='[0.0.0,1.3.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons Pool'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.pool' version='1.3.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.pool' version='1.3.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.pool' version='1.3.0'/>
-        <provided namespace='java.package' name='org.apache.commons.pool.impl' version='1.3.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.commons.lang' range='[2.0.0,3.0.0)'/>
-        <required namespace='osgi.bundle' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.pool' version='1.3.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.3.0.v200803061811
-Require-Bundle: org.apache.commons.lang;bundle-version=&quot;[2.0.0,3.0.0)&quot;,org.apache.commons.logging;bundle-version=&quot;[1.0.0,2.0.0)&quot;
-Export-Package: org.apache.commons.pool;version=&quot;1.3.0&quot;,org.apache.commons.pool.impl;version=&quot;1.3.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.pool
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.ibm.icu.base.source' version='3.6.0.v20080304' singleton='false'>
-      <update id='com.ibm.icu.base.source' range='[0.0.0,3.6.0.v20080304)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='IBM Corporation'/>
-        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J) Replacement source plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
-        <provided namespace='osgi.bundle' name='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.ibm.icu.base.source' version='3.6.0.v20080304'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: %pluginName
-Bundle-Version: 3.6.0.v20080304
-Bundle-SymbolicName: com.ibm.icu.base.source
-Manifest-Version: 1.0
-Eclipse-SourceBundle: com.ibm.icu.base;version=&quot;3.6.0.v20080304&quot;
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.bcel' version='5.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.bcel' range='[0.0.0,5.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache BCEL'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.bcel' version='5.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.bcel' version='5.2.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.bcel' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.classfile' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.generic' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.util' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.verifier' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.verifier.exc' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.verifier.statics' version='5.2.0'/>
-        <provided namespace='java.package' name='org.apache.bcel.verifier.structurals' version='5.2.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.bcel' version='5.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 5.2.0.v200803061811
-Export-Package: org.apache.bcel;version=&quot;5.2.0&quot;,org.apache.bcel.classfile;version=&quot;5.2.0&quot;,org.apache.bcel.generic;version=&quot;5.2.0&quot;,org.apache.bcel.util;version=&quot;5.2.0&quot;,org.apache.bcel.verifier;version=&quot;5.2.0&quot;,org.apache.bcel.verifier.exc;version=&quot;5.2.0&quot;,org.apache.bcel.verifier.statics;version=&quot;5.2.0&quot;,org.apache.bcel.verifier.structurals;version=&quot;5.2.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-SymbolicName: org.apache.bcel
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.httpclient.source' version='3.0.1.v200803061811' singleton='false'>
-      <update id='org.apache.commons.httpclient.source' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Httpclient Source Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient.source' version='3.0.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.httpclient.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.httpclient;version=&quot;3.0.1.v200803061811&quot;
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.beanutils.source' version='1.7.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.beanutils.source' range='[0.0.0,1.7.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons BeanUtils Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.beanutils.source' version='1.7.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.7.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.beanutils.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.beanutils;version=&quot;1.7.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ant.source' version='1.6.5.v200803061811' singleton='false'>
-      <update id='org.apache.ant.source' range='[0.0.0,1.6.5.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Ant Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ant.source' version='1.6.5.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.ant.source' version='1.6.5.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ant.source' version='1.6.5.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.5.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.ant.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.ant;version=&quot;1.6.5.v200803061811&quot;;roots:=&quot;lib/ant,lib/ant-antlr,lib/ant-apache-bcel,lib/ant-apache-bsf,lib/ant-apache-log4j,lib/ant-apache-oro,lib/ant-apache-regexp,lib/ant-apache-resolver,lib/ant-commons-logging,lib/ant-commons-net,lib/ant-icontract,lib/ant-jai,lib/ant-javamail,lib/ant-jdepend,lib/ant-jmf,lib/ant-jsch,lib/ant-junit,lib/ant-launcher,lib/ant-netrexx,lib/ant-nodeps,lib/ant-starteam,lib/ant-stylebook,lib/ant-swing,lib/ant-trax,lib/ant-vaj,lib/ant-weblogic,lib/ant-xalan1,lib/ant-xslp&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.jsp' version='1.2.0.v200803061811' singleton='false'>
-      <update id='javax.servlet.jsp' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JSP API'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.jsp' version='1.2.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.servlet.jsp' version='1.2.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.resources' version='1.2.0'/>
-        <provided namespace='java.package' name='javax.servlet.jsp.tagext' version='1.2.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.jsp' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: javax.servlet.jsp; version=1.2,javax.servlet.jsp.resources; version=1.2,javax.servlet.jsp.tagext; version=1.2
-Bundle-SymbolicName: javax.servlet.jsp
-Import-Package: javax.servlet;version=&quot;2.3.0&quot;,javax.servlet.http;version=&quot;2.3.0&quot;
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml' version='1.3.4.v200803061811' singleton='false'>
-      <update id='javax.xml' range='[0.0.0,1.3.4.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='JAXP XML'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='29'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml' version='1.3.4.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.xml' version='1.3.4.v200803061811'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xmlcommons' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.css' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ranges' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.stylesheets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.traversal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml' version='1.3.4.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: system.bundle
-Manifest-Version: 1.0
-Bundle-Version: 1.3.4.v200803061811
-Export-Package: javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.apache.xmlcommons,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-Bundle-SymbolicName: javax.xml
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.mortbay.jetty.util' version='6.1.7.v200803061811' singleton='false'>
-      <update id='org.mortbay.jetty.util' range='[0.0.0,6.1.7.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Jetty Utilities'/>
-        <property name='org.eclipse.equinox.p2.description' value='Utility classes for Jetty'/>
-        <property name='org.eclipse.equinox.p2.provider' value='Mort Bay Consulting'/>
-        <property name='org.eclipse.equinox.p2.doc.url' value='http://jetty.mortbay.org'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
-        <provided namespace='java.package' name='org.mortbay.util' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.log' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.component' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.thread' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.servlet' version='6.1.7'/>
-        <provided namespace='java.package' name='org.mortbay.util.ajax' version='6.1.7'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='java.package' name='javax.servlet' range='2.5.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.5.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.mortbay.jetty.util' version='6.1.7.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Manifest-Version: 1.0
-Bundle-DocURL: http://jetty.mortbay.org
-implementation-version: 6.1.7
-Ignore-Package: org.mortbay.log,org.mortbay.util,org.mortbay.component,org.mortbay.thread,org.mortbay.servlet,org.mortbay.util.ajax
-Created-By: 1.5.0_13 (Sun Microsystems Inc.)
-Built-By: gregw
-Bundle-Vendor: Mort Bay Consulting
-url: http://jetty.mortbay.org
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Description: Utility classes for Jetty
-Import-Package: javax.servlet;version=2.5,javax.servlet.http;version=2.5
-Archiver-Version: Plexus Archiver
-Bundle-Name: Jetty Utilities
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
-mode: development
-Export-Package: org.mortbay.util;uses:=&quot;org.mortbay.log,org.mortbay.thread&quot;;version=6.1.7,org.mortbay.log;uses:=org.mortbay.util;version=6.1.7,org.mortbay.component;uses:=&quot;org.mortbay.util,org.mortbay.log&quot;;version=6.1.7,org.mortbay.thread;uses:=&quot;org.mortbay.log,org.mortbay.component&quot;;version=6.1.7,org.mortbay.servlet;uses:=&quot;org.mortbay.log,org.mortbay.util,javax.servlet.http,javax.servlet,org.mortbay.util.ajax&quot;;version=6.1.7,org.mortbay.util.ajax;uses:=&quot;org.mortbay.log,org.mortbay.util,javax.servlet.http,javax.servlet&quot;;version=6.1.7
-Bundle-Version: 6.1.7.v200803061811
-Bundle-ManifestVersion: 2
-Bnd-LastModified: 1198463899960
-package: org.mortbay
-Build-Jdk: 1.5.0_13
-Tool: Bnd-0.0.160
-Bundle-SymbolicName: org.mortbay.jetty.util
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene' version='1.9.1.v200803061811' singleton='false'>
-      <update id='org.apache.lucene' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene' version='1.9.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene' version='1.9.1.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.lucene' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.de' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.analysis.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.document' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.index' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.queryParser' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.search.spans' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.store' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.lucene.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene' version='1.9.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Export-Package: org.apache.lucene,org.apache.lucene.analysis,org.apache.lucene.analysis.de,org.apache.lucene.analysis.standard,org.apache.lucene.document,org.apache.lucene.index,org.apache.lucene.queryParser,org.apache.lucene.search,org.apache.lucene.search.spans,org.apache.lucene.store,org.apache.lucene.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.ws.commons.util' version='1.0.0.v200803061811' singleton='false'>
-      <update id='org.apache.ws.commons.util' range='[0.0.0,1.0.0.v200803061811)' severity='0'/>
-      <properties size='2'>
-        <property name='df_LT.Bundle-Name' value='WS Commons Util Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.ws.commons.serialize' version='1.0.0'/>
-        <provided namespace='java.package' name='org.apache.ws.commons.util' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='6'>
-        <required namespace='java.package' name='javax.xml' range='0.0.0'/>
-        <required namespace='java.package' name='javax.xml.namespace' range='0.0.0'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.ws.commons.util' version='1.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-Version: 1.0.0.v200803061811
-Export-Package: org.apache.ws.commons.serialize;version=&quot;1.0.0&quot;,org.apache.ws.commons.util;version=&quot;1.0.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-SymbolicName: org.apache.ws.commons.util
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Import-Package: javax.xml,javax.xml.namespace,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.swing' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.swing' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Swing'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.swing' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.swing' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.swing' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.swing.gvt' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.swing.svg' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.apache.batik.bridge' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.dom.svg' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.ext.awt' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.xml' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.w3c.dom.svg' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.swing' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.bridge;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.dom.svg;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.ext.awt;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util.gui;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.xml;version=&quot;[1.6.0,1.7.0)&quot;,org.w3c.dom.svg;version=&quot;[1.1.0,1.3.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.swing;version=&quot;1.6.0&quot;,org.apache.batik.swing.gvt;version=&quot;1.6.0&quot;,org.apache.batik.swing.svg;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.swing
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.ext.awt' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.ext.awt' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik AWT Utilities'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.color' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.font' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.g2d' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.geom' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image.codec' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image.codec.tiff' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image.renderable' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image.rendered' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.awt.image.spi' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.ext.swing' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.apache.batik.util' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.ext.awt' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util;version=&quot;[1.6.0,1.7.0)&quot;,org.apache.batik.util.gui;version=&quot;[1.6.0,1.7.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik.ext.awt;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.color;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.font;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.g2d;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.geom;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image.codec;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image.codec.tiff;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image.renderable;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image.rendered;version=&quot;1.6.0&quot;,org.apache.batik.ext.awt.image.spi;version=&quot;1.6.0&quot;,org.apache.batik.ext.swing;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.ext.awt
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.antlr.runtime.source' version='3.0.0.v200803061811' singleton='false'>
-      <update id='org.antlr.runtime.source' range='[0.0.0,3.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='ANTLR Runtime Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.antlr.runtime.source' version='3.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.antlr.runtime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.antlr.runtime;version=&quot;3.0.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.bcel.source' version='5.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.bcel.source' range='[0.0.0,5.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache BCEL'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.bcel.source' version='5.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.bcel.source' version='5.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.bcel.source' version='5.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 5.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.bcel.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.bcel;version=&quot;5.2.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.xml.bind' version='2.0.0.v200803061811' singleton='false'>
-      <update id='javax.xml.bind' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JAXB'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='10'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.xml.bind' version='2.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.xml.bind' version='2.0.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.xml.bind' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.annotation' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.annotation.adapters' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.attachment' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.helpers' version='2.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.util' version='2.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.xml.bind' version='2.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Export-Package: javax.xml.bind;version=&quot;2.0.0&quot;,javax.xml.bind.annotation;version=&quot;2.0.0&quot;,javax.xml.bind.annotation.adapters;version=&quot;2.0.0&quot;,javax.xml.bind.attachment;version=&quot;2.0.0&quot;,javax.xml.bind.helpers;version=&quot;2.0.0&quot;,javax.xml.bind.util;version=&quot;2.0.0&quot;
-Bundle-Name: %pluginName
-Bundle-Version: 2.0.0.v200803061811
-Bundle-SymbolicName: javax.xml.bind
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.junit.source' version='3.8.2.v200803061910' singleton='false'>
-      <update id='org.junit.source' range='[0.0.0,3.8.2.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JUnit Testing Framework Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit.source' version='3.8.2.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.junit.source' version='3.8.2.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.junit.source' version='3.8.2.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.8.2.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.junit.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.junit;version=&quot;3.8.2.v200803061910&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.fileupload.source' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.fileupload.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons FileUpload Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.fileupload.source' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.commons.fileupload.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.commons.fileupload;version=&quot;1.2.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.fileupload' version='1.2.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.fileupload' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Commons FileUpload'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.fileupload' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.fileupload.disk' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.fileupload.portlet' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.fileupload.servlet' version='1.2.0'/>
-        <provided namespace='java.package' name='org.apache.commons.fileupload.util' version='1.2.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='4'>
-        <required namespace='java.package' name='javax.servlet' range='2.3.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.3.0'/>
-        <required namespace='java.package' name='org.apache.commons.io' range='1.3.0'/>
-        <required namespace='java.package' name='org.apache.commons.io.output' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.fileupload' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.2.0.v200803061811
-Export-Package: org.apache.commons.fileupload;version=&quot;1.2.0&quot;,org.apache.commons.fileupload.disk;version=&quot;1.2.0&quot;,org.apache.commons.fileupload.portlet;version=&quot;1.2.0&quot;,org.apache.commons.fileupload.servlet;version=&quot;1.2.0&quot;,org.apache.commons.fileupload.util;version=&quot;1.2.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Bundle-SymbolicName: org.apache.commons.fileupload
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-Import-Package: javax.servlet;version=&quot;2.3.0&quot;,javax.servlet.http;version=&quot;2.3.0&quot;,org.apache.commons.io;version=&quot;1.3.0&quot;,org.apache.commons.io.output;version=&quot;1.3.0&quot;
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.jws' version='2.0.0.v200803061811' singleton='false'>
-      <update id='javax.jws' range='[0.0.0,2.0.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Web Services Metadata'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.jws' version='2.0.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.jws' version='2.0.0.v200803061811'/>
-        <provided namespace='java.package' name='javax.jws' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.jws.soap' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.jws' version='2.0.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Export-Package: javax.jws,javax.jws.soap
-Bundle-Name: %Bundle-Name.0
-Bundle-Version: 2.0.0.v200803061811
-Bundle-SymbolicName: javax.jws
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.mx4j' version='3.0.1.v200803061811' singleton='false'>
-      <update id='net.sourceforge.mx4j' range='[0.0.0,3.0.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='MX4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='13'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
-        <provided namespace='java.package' name='mx4j' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.log' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.persist' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.server' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.server.interceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='mx4j.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.mx4j' version='3.0.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 3.0.1.v200803061811
-Export-Package: mx4j,mx4j.loading,mx4j.log,mx4j.monitor,mx4j.persist,mx4j.server,mx4j.server.interceptor,mx4j.timer,mx4j.util
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.mx4j
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.css.sac' version='1.3.0.v200803081811' singleton='false'>
-      <update id='org.w3c.css.sac' range='[0.0.0,1.3.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C CSS SAC'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.css.sac' version='1.3.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.css.sac' version='1.3.0.v200803081811'/>
-        <provided namespace='java.package' name='org.w3c.css.sac' version='1.3.0'/>
-        <provided namespace='java.package' name='org.w3c.css.sac.helpers' version='1.3.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.css.sac' version='1.3.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 1.3.0.v200803081811
-Export-Package: org.w3c.css.sac;version=&quot;1.3.0&quot;,org.w3c.css.sac.helpers;version=&quot;1.3.0&quot;
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,CDC-1.0/Foundation-1.0
-Bundle-SymbolicName: org.w3c.css.sac
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl' version='1.5.1.v200803061910' singleton='false'>
-      <update id='javax.wsdl' range='[0.0.0,1.5.1.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='22'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl' version='1.5.1.v200803061910'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl' version='1.5.1.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Implementation-Vendor: IBM
-Bundle-Version: 1.5.1.v200803061910
-Specification-Title: JWSDL
-Implementation-Title: WSDL4J
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Manifest-Version: 1.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Bundle-Localization: plugin
-Bundle-SymbolicName: javax.wsdl
-Created-By: 1.4.2 (IBM Corporation)
-Specification-Version: 1.1
-Implementation-Version: 1.5.1
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Name: %Bundle-Name.0
-Bundle-ManifestVersion: 2
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.servlet.jsp.source' version='1.2.0.v200803061811' singleton='false'>
-      <update id='javax.servlet.jsp.source' range='[0.0.0,1.2.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JSP API Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.servlet.jsp.source' version='1.2.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.2.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: javax.servlet.jsp.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: javax.servlet.jsp;version=&quot;1.2.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.util' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.util' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Utilities'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='9'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.util' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.util' version='1.6.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.batik' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.i18n' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.util' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.util.io' version='1.6.0'/>
-        <provided namespace='java.package' name='org.apache.batik.util.resources' version='1.6.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.batik.util.gui' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.util' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Require-Bundle: org.apache.batik.util.gui;version=&quot;[1.6.0,1.7.0)&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.6.0.v200803061811
-Export-Package: org.apache.batik;version=&quot;1.6.0&quot;,org.apache.batik.i18n;version=&quot;1.6.0&quot;,org.apache.batik.util;version=&quot;1.6.0&quot;,org.apache.batik.util.io;version=&quot;1.6.0&quot;,org.apache.batik.util.resources;version=&quot;1.6.0&quot;
-Bundle-SymbolicName: org.apache.batik.util
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.mail' version='1.4.0.v200803061811' singleton='false'>
-      <update id='javax.mail' range='[0.0.0,1.4.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Temp Plug-in'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='16'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.mail' version='1.4.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='javax.mail' version='1.4.0.v200803061811'/>
-        <provided namespace='java.package' name='com.sun.mail.handlers' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.iap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.imap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.imap.protocol' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.pop3' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.smtp' version='0.0.0'/>
-        <provided namespace='java.package' name='com.sun.mail.util' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.mail' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.mail.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.mail.internet' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.mail.search' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.mail.util' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='javax.activation' range='1.1.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.mail' version='1.4.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: system.bundle, javax.activation;bundle-version=&quot;1.1.0&quot;
-Manifest-Version: 1.0
-Bundle-Version: 1.4.0.v200803061811
-Export-Package: com.sun.mail.handlers,com.sun.mail.iap,com.sun.mail.imap,com.sun.mail.imap.protocol,com.sun.mail.pop3,com.sun.mail.smtp,com.sun.mail.util,javax.mail,javax.mail.event,javax.mail.internet,javax.mail.search,javax.mail.util
-Bundle-SymbolicName: javax.mail
-Bundle-Localization: plugin
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %Bundle-Vendor.0
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.jcraft.jsch' version='0.1.28' singleton='false'>
-      <update id='com.jcraft.jsch' range='[0.0.0,0.1.28)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='JSch'/>
-        <property name='df_LT.venderName' value='JCraft, Inc.'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
-      </properties>
-      <provides size='7'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch' version='0.1.28'/>
-        <provided namespace='osgi.bundle' name='com.jcraft.jsch' version='0.1.28'/>
-        <provided namespace='java.package' name='com.jcraft.jsch' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jce' version='0.0.0'/>
-        <provided namespace='java.package' name='com.jcraft.jsch.jcraft' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.jcraft.jsch' version='0.1.28'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %venderName
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ClassPath: .
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch
-Bundle-Version: 0.1.28
-Created-By: 1.4.0 (Sun Microsystems Inc.)
-Export-Package: com.jcraft.jsch, com.jcraft.jsch.jce;x-internal:=true, com.jcraft.jsch.jcraft;x-internal:=true
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='com.jcraft.jsch.source' version='0.1.37.v200803061811' singleton='false'>
-      <update id='com.jcraft.jsch.source' range='[0.0.0,0.1.37.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='JSch Source'/>
-        <property name='df_LT.venderName' value='JCraft, Inc.'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%venderName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
-        <provided namespace='osgi.bundle' name='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='com.jcraft.jsch.source' version='0.1.37.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 0.1.37.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: com.jcraft.jsch.source
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: com.jcraft.jsch;version=&quot;0.1.37.v200803061811&quot;
-Bundle-Vendor: %venderName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.jasper' version='5.5.17.v200803061811' singleton='false'>
-      <update id='org.apache.jasper' range='[0.0.0,5.5.17.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Jasper 2 Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='15'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.jasper' version='5.5.17.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.jasper' version='5.5.17.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.jasper' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.compiler' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.compiler.tagplugin' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.resources' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.runtime' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.security' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.servlet' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.tagplugins.jstl.core' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.util' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.jasper.xmlparser' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='18'>
-        <required namespace='java.package' name='javax.servlet' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.http' range='2.4.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.el' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.resources' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.jsp.tagext' range='2.0.0'/>
-        <required namespace='java.package' name='javax.servlet.resources' range='2.4.0'/>
-        <required namespace='java.package' name='javax.xml.parsers' range='0.0.0'/>
-        <required namespace='java.package' name='org.apache.commons.el' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.tools.ant' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.taskdefs' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.types' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.tools.ant.util' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.w3c.dom' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.ext' range='0.0.0'/>
-        <required namespace='java.package' name='org.xml.sax.helpers' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.jasper' version='5.5.17.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %bundleProvider
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-Bundle-ClassPath: .
-Import-Package: javax.servlet;version=&quot;2.4&quot;,javax.servlet.http;version=&quot;2.4&quot;,javax.servlet.jsp;version=&quot;2.0&quot;,javax.servlet.jsp.el;version=&quot;2.0&quot;,javax.servlet.jsp.resources;version=&quot;2.0&quot;,javax.servlet.jsp.tagext;version=&quot;2.0&quot;,javax.servlet.resources;version=&quot;2.4&quot;,javax.xml.parsers,org.apache.commons.el;version=&quot;[1.0.0,2.0.0)&quot;,org.apache.commons.logging;version=&quot;[1.0.0,2.0.0)&quot;,org.apache.tools.ant;resolution:=optional,org.apache.tools.ant.taskdefs;resolution:=optional,org.apache.tools.ant.types;resolution:=optional,org.apache.tools.ant.util;resolution:=optional,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
-Bundle-Name: %bundleName
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.jasper
-Bundle-Version: 5.5.17.v200803061811
-Export-Package: org.apache.jasper,org.apache.jasper.compiler,org.apache.jasper.compiler.tagplugin,org.apache.jasper.resources,org.apache.jasper.runtime,org.apache.jasper.security,org.apache.jasper.servlet,org.apache.jasper.tagplugins.jstl,org.apache.jasper.tagplugins.jstl.core,org.apache.jasper.util,org.apache.jasper.xmlparser
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.w3c.dom.svg.source' version='1.1.0.v200803081811' singleton='false'>
-      <update id='org.w3c.dom.svg.source' range='[0.0.0,1.1.0.v200803081811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='W3C SVG DOM Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
-        <provided namespace='osgi.bundle' name='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.w3c.dom.svg.source' version='1.1.0.v200803081811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.0.v200803081811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.w3c.dom.svg.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.w3c.dom.svg;version=&quot;1.1.0.v200803081811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.lang' version='2.1.0.v200803061811' singleton='false'>
-      <update id='org.apache.commons.lang' range='[0.0.0,2.1.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Jakarta Commons Lang'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.lang' version='2.1.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.lang' version='2.1.0.v200803061811'/>
-        <provided namespace='java.package' name='org.apache.commons.lang' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.builder' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.enums' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.exception' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.math' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.mutable' version='2.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.lang.time' version='2.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.lang' version='2.1.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Version: 2.1.0.v200803061811
-Export-Package: org.apache.commons.lang;version=&quot;2.1.0&quot;,org.apache.commons.lang.builder;version=&quot;2.1.0&quot;,org.apache.commons.lang.enums;version=&quot;2.1.0&quot;,org.apache.commons.lang.exception;version=&quot;2.1.0&quot;,org.apache.commons.lang.math;version=&quot;2.1.0&quot;,org.apache.commons.lang.mutable;version=&quot;2.1.0&quot;,org.apache.commons.lang.time;version=&quot;2.1.0&quot;
-Bundle-RequiredExecutionEnvironment: JRE-1.1
-Bundle-SymbolicName: org.apache.commons.lang
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.junit' version='3.8.2.v200803061910' singleton='false'>
-      <update id='org.junit' range='[0.0.0,3.8.2.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='JUnit Testing Framework'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.junit' version='3.8.2.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.junit' version='3.8.2.v200803061910'/>
-        <provided namespace='java.package' name='junit.awtui' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.extensions' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.framework' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.runner' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.swingui' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.swingui.icons' version='3.8.2'/>
-        <provided namespace='java.package' name='junit.textui' version='3.8.2'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.junit' version='3.8.2.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.3
-Manifest-Version: 1.0
-Bundle-Version: 3.8.2.v200803061910
-Export-Package: junit.awtui;version=&quot;3.8.2&quot;,junit.extensions;version=&quot;3.8.2&quot;,junit.framework;version=&quot;3.8.2&quot;,junit.runner;version=&quot;3.8.2&quot;,junit.swingui;version=&quot;3.8.2&quot;,junit.swingui.icons;version=&quot;3.8.2&quot;,junit.textui;version=&quot;3.8.2&quot;
-Bundle-SymbolicName: org.junit
-Bundle-Localization: plugin
-Bundle-ClassPath: junit.jar
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='javax.wsdl15' version='1.5.1.v200705290614' singleton='false'>
-      <update id='javax.wsdl15' range='[0.0.0,1.5.1.v200705290614)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='WSDL4J'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='22'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='javax.wsdl15' version='1.5.1.v200705290614'/>
-        <provided namespace='osgi.bundle' name='javax.wsdl15' version='1.5.1.v200705290614'/>
-        <provided namespace='java.package' name='com.ibm.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.util.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='com.ibm.wsdl.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.mime' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.schema' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.extensions.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.factory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.wsdl.xml' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.apache.xerces' range='[2.8.0,3.0.0)' optional='true'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='javax.wsdl15' version='1.5.1.v200705290614'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Require-Bundle: org.apache.xerces;bundle-version=&quot;[2.8.0,3.0.0)&quot;;resolution:=optional
-Created-By: 1.4.2 (IBM Corporation)
-Manifest-Version: 1.0
-Bundle-ClassPath: lib/wsdl4j-1.5.1.jar
-Bundle-Vendor: %Bundle-Vendor.0
-Implementation-Title: WSDL4J
-Implementation-Vendor: IBM
-Bundle-Name: %Bundle-Name.0
-Specification-Vendor: IBM (Java Community Process)
-Bundle-Version: 1.5.1.v200705290614
-Specification-Version: 1.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Export-Package: com.ibm.wsdl,com.ibm.wsdl.extensions,com.ibm.wsdl.extensions.http,com.ibm.wsdl.extensions.mime,com.ibm.wsdl.extensions.schema,com.ibm.wsdl.extensions.soap,com.ibm.wsdl.factory,com.ibm.wsdl.util,com.ibm.wsdl.util.xml,com.ibm.wsdl.xml,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.http,javax.wsdl.extensions.mime,javax.wsdl.extensions.schema,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml
-Bundle-SymbolicName: javax.wsdl15
-Bundle-Localization: plugin
-Specification-Title: JWSDL
-Implementation-Version: 1.5.1
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.lucene.source' version='1.9.1.v200803061811' singleton='false'>
-      <update id='org.apache.lucene.source' range='[0.0.0,1.9.1.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Lucene Source'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.lucene.source' version='1.9.1.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.lucene.source' version='1.9.1.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.lucene.source' version='1.9.1.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.9.1.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.lucene.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.lucene;version=&quot;1.9.1.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.batik.transcoder.source' version='1.6.0.v200803061811' singleton='false'>
-      <update id='org.apache.batik.transcoder.source' range='[0.0.0,1.6.0.v200803061811)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Apache Batik Transcoder Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
-        <provided namespace='osgi.bundle' name='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.batik.transcoder.source' version='1.6.0.v200803061811'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.6.0.v200803061811
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.batik.transcoder.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: org.apache.batik.transcoder;version=&quot;1.6.0.v200803061811&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910' singleton='false'>
-      <update id='net.sourceforge.lpg.lpgjavaruntime.source' range='[0.0.0,1.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='SourceForge LPG Source Bundle'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='source' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='net.sourceforge.lpg.lpgjavaruntime.source' version='1.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-Version: 1.1.0.v200803061910
-Manifest-Version: 1.0
-Bundle-SymbolicName: net.sourceforge.lpg.lpgjavaruntime.source
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Eclipse-SourceBundle: net.sourceforge.lpg.lpgjavaruntime;version=&quot;1.1.0.v200803061910&quot;
-Bundle-Vendor: %providerName
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.commons.httpclient' version='3.1.0.v200803061910' singleton='false'>
-      <update id='org.apache.commons.httpclient' range='[0.0.0,3.1.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.bundleName' value='Apache Commons Httpclient Plug-in'/>
-        <property name='df_LT.bundleProvider' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%bundleName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%bundleProvider'/>
-      </properties>
-      <provides size='12'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.auth' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.cookie' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.methods' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.methods.multipart' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.params' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.protocol' version='3.1.0'/>
-        <provided namespace='java.package' name='org.apache.commons.httpclient.util' version='3.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='java.package' name='javax.crypto' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.crypto.spec' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.net' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='javax.net.ssl' range='0.0.0' optional='true'/>
-        <required namespace='java.package' name='org.apache.commons.codec' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.codec.binary' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.codec.net' range='[1.2.0,2.0.0)'/>
-        <required namespace='java.package' name='org.apache.commons.logging' range='[1.0.4,2.0.0)'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.commons.httpclient' version='3.1.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.2
-Manifest-Version: 1.0
-Bundle-Version: 3.1.0.v200803061910
-Export-Package: org.apache.commons.httpclient;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.auth;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.cookie;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.methods;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.methods.multipart;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.params;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.protocol;version=&quot;3.1.0&quot;,org.apache.commons.httpclient.util;version=&quot;3.1.0&quot;
-Bundle-SymbolicName: org.apache.commons.httpclient
-Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resolution:=optional,org.apache.commons.codec;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.codec.binary;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.codec.net;version=&quot;[1.2.0,2.0.0)&quot;,org.apache.commons.logging;version=&quot;[1.0.4,2.0.0)&quot;
-Bundle-Localization: plugin
-Bundle-Name: %bundleName
-Bundle-Vendor: %bundleProvider
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.apache.xml.resolver' version='1.2.0.v200803061910' singleton='false'>
-      <update id='org.apache.xml.resolver' range='[0.0.0,1.2.0.v200803061910)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Bundle-Vendor.0' value='Eclipse.org'/>
-        <property name='df_LT.Bundle-Name.0' value='Apache XmlResolver'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Bundle-Name.0'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Bundle-Vendor.0'/>
-      </properties>
-      <provides size='11'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
-        <provided namespace='osgi.bundle' name='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
-        <provided namespace='java.package' name='org.apache.env' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.apps' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.etc' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.readers' version='0.0.0'/>
-        <provided namespace='java.package' name='org.apache.xml.resolver.tools' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='org.eclipse.osgi' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.apache.xml.resolver' version='1.2.0.v200803061910'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ManifestVersion: 2
-Bundle-RequiredExecutionEnvironment: J2SE-1.2
-Main-Class: org.apache.xml.resolver.apps.resolver
-Require-Bundle: system.bundle
-Bundle-Name: %Bundle-Name.0
-Bundle-Localization: plugin
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.apache.xml.resolver
-Bundle-Version: 1.2.0.v200803061910
-Export-Package: org.apache.env,org.apache.xml.resolver,org.apache.xml.resolver.apps,org.apache.xml.resolver.etc,org.apache.xml.resolver.helpers,org.apache.xml.resolver.readers,org.apache.xml.resolver.tools
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
deleted file mode 100644
index 3b134bc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/org.eclipse.jdt.3.2.1.patch_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/permissiveSlicer/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/permissiveSlicer/content.jar
deleted file mode 100644
index 029585d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/permissiveSlicer/content.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
deleted file mode 100644
index 56fc4a8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/aaa_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
deleted file mode 100644
index eb571ec..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.linux_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
deleted file mode 100644
index 0d13cdc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb.win32_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
deleted file mode 100644
index 97cfbc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/bbb_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
deleted file mode 100644
index 328d9ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
deleted file mode 100644
index 9213cb8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/profileSynchronizer/ccc_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicebar.prop b/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicebar.prop
deleted file mode 100644
index c1cd44a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicebar.prop
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.tptp=1.5.0
-org.eclipse.cdt=2.3.1
-org.apache.commons=1.6.4.thisisastring
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicefoo.prop b/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicefoo.prop
deleted file mode 100644
index dcadd87..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/publisher/versionadvicefoo.prop
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.tptp=1.4.0
-org.eclipse.cdt=1.3.1
-org.apache.http=1.6.4.thisisastring
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/.eclipseextension b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/.eclipseextension
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/.eclipseextension
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/features/bbb.feature_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/features/bbb.feature_1.0.0/feature.xml
deleted file mode 100644
index d4e47cb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/features/bbb.feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="bbb.feature"
-      label="Feature Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="bbb"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/bbb_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/bbb_1.0.0.jar
deleted file mode 100644
index 97cfbc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/bbb_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/ccc_1.0.0.jar
deleted file mode 100644
index 328d9ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/247095/eclipse/plugins/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/A_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/A_1.0.0.jar
deleted file mode 100644
index 7a46f47..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/A_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/B_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/B_1.0.0.jar
deleted file mode 100644
index b143d7d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/251167/B_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/artifacts.xml
deleted file mode 100644
index 0419b4b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/artifacts.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/equinox.p2/servers - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1226074425513'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='zzz' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='319'/>
-        <property name='download.size' value='319'/>
-        <property name='download.md5' value='2f77b53b981e6177461fad6854b80ac0'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='zFeature' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='0'/>
-        <property name='download.size' value='386'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/content.xml
deleted file mode 100644
index ee9bcd1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/content.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/equinox.p2/servers - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1226074425543'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <units size='3'>
-    <unit id='zFeature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='zFeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='zFeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='zFeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='zFeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='ZFeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='zzz' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='zzz' version='1.0.0' singleton='false'>
-      <update id='zzz' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='Zzz Plug-in'/>
-		<property name='test' value='foo' />
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zzz' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='zzz' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='zzz' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-SymbolicName: zzz&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.0.0&#xA;Bundle-Name: Zzz Plug-in&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/features/zFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/features/zFeature_1.0.0.jar
deleted file mode 100644
index dfc7cb4..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/features/zFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/plugins/zzz_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/plugins/zzz_1.0.0.jar
deleted file mode 100644
index ce15726..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo.jar/plugins/zzz_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/artifacts.xml
deleted file mode 100644
index 0419b4b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/artifacts.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/equinox.p2/servers - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1226074425513'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='zzz' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='319'/>
-        <property name='download.size' value='319'/>
-        <property name='download.md5' value='2f77b53b981e6177461fad6854b80ac0'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='zFeature' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='0'/>
-        <property name='download.size' value='386'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/content.xml
deleted file mode 100644
index ee9bcd1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/content.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/equinox.p2/servers - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1226074425543'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <units size='3'>
-    <unit id='zFeature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='zFeature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='zFeature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='zFeature.feature.group' version='1.0.0' singleton='false'>
-      <update id='zFeature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='ZFeature Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='zzz' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='zFeature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='zzz' version='1.0.0' singleton='false'>
-      <update id='zzz' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='Zzz Plug-in'/>
-		<property name='test' value='foo' />
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='zzz' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='zzz' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='zzz' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-SymbolicName: zzz&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.0.0&#xA;Bundle-Name: Zzz Plug-in&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/features/zFeature_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/features/zFeature_1.0.0/feature.xml
deleted file mode 100644
index ebe26f2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/features/zFeature_1.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="zFeature"
-      label="ZFeature Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="zzz"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/plugins/zzz_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/plugins/zzz_1.0.0.jar
deleted file mode 100644
index ce15726..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/basicRepo/plugins/zzz_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/.eclipseextension b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/.eclipseextension
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/.eclipseextension
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/features/bbb.feature_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/features/bbb.feature_1.0.0/feature.xml
deleted file mode 100644
index 19fa913..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/features/bbb.feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="bbb.feature"
-      label="Feature Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="bbb"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="true"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/bbb_1.0.0/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/bbb_1.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index f47519b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/bbb_1.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Bbb Plug-in
-Bundle-SymbolicName: bbb
-Bundle-Version: 1.0.0
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/ccc_1.0.0/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/ccc_1.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 758d600..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.dir/eclipse/plugins/ccc_1.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Ccc Plug-in
-Bundle-SymbolicName: ccc;singleton:=true
-Bundle-Version: 1.0.0
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/.eclipseextension b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/.eclipseextension
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/.eclipseextension
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/features/bbb.feature_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/features/bbb.feature_1.0.0/feature.xml
deleted file mode 100644
index d4e47cb..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/features/bbb.feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="bbb.feature"
-      label="Feature Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="bbb"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/bbb_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/bbb_1.0.0.jar
deleted file mode 100644
index 97cfbc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/bbb_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/ccc_1.0.0.jar
deleted file mode 100644
index 328d9ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/ext.jar/eclipse/plugins/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_1.0.0/feature.xml
deleted file mode 100644
index afb647d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_1.0.0/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="myFeaturePatch"
-      label="MyFeaturePatch Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import feature="myFeature" version="1.0.0" patch="true"/>
-   </requires>
-
-   <plugin
-         id="mySingletonBundle"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_2.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_2.0.0/feature.xml
deleted file mode 100644
index 0e7227e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeaturePatch_2.0.0/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="myFeaturePatch"
-      label="MyFeaturePatch Feature"
-      version="2.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import feature="myFeature" version="1.0.0" patch="true"/>
-   </requires>
-
-   <plugin
-         id="myBundle"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_1.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_1.0.0/feature.xml
deleted file mode 100644
index e511238..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_1.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="myFeature"
-      label="MyFeature Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="myBundle"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_2.0.0/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_2.0.0/feature.xml
deleted file mode 100644
index f9b6fa0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/features/myFeature_2.0.0/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="myFeature"
-      label="MyFeature Feature"
-      version="2.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="myBundle"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/.eclipseextension b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/.eclipseextension
deleted file mode 100644
index e69de29..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/.eclipseextension
+++ /dev/null
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/bbb_1.0.0.jar.off b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/bbb_1.0.0.jar.off
deleted file mode 100644
index 97cfbc5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/bbb_1.0.0.jar.off
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/ccc_1.0.0.jar
deleted file mode 100644
index 328d9ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/link/eclipse/plugins/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/directoryBased.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/directoryBased.jar
deleted file mode 100644
index 5f5e802..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/directoryBased.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/plugin.xml
deleted file mode 100644
index 8139c6a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/directoryBased_1.0.0/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="directoryBased"
-   name="directoryBased"
-   version="1.0.0">
-
-   <runtime>
-      <library name="directoryBased.jar"/>
-   </runtime>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_1.0.0.jar
deleted file mode 100644
index 011368b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_2.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_2.0.0.jar
deleted file mode 100644
index b7c01a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/myBundle_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_1.0.0.jar
deleted file mode 100644
index a2eee0a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_2.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_2.0.0.jar
deleted file mode 100644
index 8cd275f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/plugins/mySingletonBundle_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/artifacts.xml
deleted file mode 100644
index d870051..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/artifacts.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='test' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1228157270984'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='osgi.bundle' id='myBundle' version='2.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='361'/>
-        <property name='download.size' value='361'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/content.xml
deleted file mode 100644
index 03a5a91..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/content.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='metadata listener dropins' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1228157270968'/>
-  </properties>
-  <units size='1'>
-    <unit id='myBundle' version='2.0.0' singleton='false'>
-      <update id='myBundle' range='[0.0.0,2.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='MyBundle Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='myBundle' version='2.0.0'/>
-        <provided namespace='osgi.bundle' name='myBundle' version='2.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='myBundle' version='2.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: J2SE-1.5&#xA;Bundle-SymbolicName: myBundle&#xA;Bundle-Name: MyBundle Plug-in&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 2.0.0
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/site.xml
deleted file mode 100644
index d745a95..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/reconciler/simplerepo/site.xml
+++ /dev/null
@@ -1 +0,0 @@
-This is a dummy placeholder file and shouild not be read
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/referenceArtifactRepo/test1 Reference.jar b/bundles/org.eclipse.equinox.p2.tests/testData/referenceArtifactRepo/test1 Reference.jar
deleted file mode 100644
index ca2004b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/referenceArtifactRepo/test1 Reference.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
deleted file mode 100644
index 1ef8fd8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectory/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin id="oldBundleDirectory" name="test plug-in" version="1.0.0">
-
-   <runtime>
-      <library name=".">
-         <export name="*"/>
-      </library>
-   </runtime>
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
deleted file mode 100644
index fbd4c43..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
deleted file mode 100644
index 54a7fa7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleDirectoryTwo/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin id="oldBundleDirectoryTwo" name="test plug-in" version="1.0.0">
-
-   <runtime>
-      <library name=".">
-         <export name="*"/>
-      </library>
-   </runtime>
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
deleted file mode 100644
index 26f01e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJAR.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar b/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
deleted file mode 100644
index 2cb2d74..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/repositoryListener/oldBundleJARTwo.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247567.opb b/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247567.opb
deleted file mode 100644
index 16c58fa..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247567.opb
+++ /dev/null
@@ -1,11 +0,0 @@
-* #variable= 6 #constraint= 3  
-*
-
-
-explain:  x1 x2 x3 x4 x5 ;
-
-* P 1.0.0 requires either PP 1.0.0 
--1 x2 +1 x1 >= 0;
-* 1223597333557 0.0.0.1223597333557 requires either P 1.0.0 
--1 x3 +1 x2 >= 0;
- +1 x3 = 1;
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247638.opb b/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247638.opb
deleted file mode 100644
index 30ebdb8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/sat4j/Bug247638.opb
+++ /dev/null
@@ -1,23912 +0,0 @@
-* #variable= 3286 #constraint= 12627  

-*

-min: 2 x452 4 x458 8 x461 16 x454 32 x474 64 x466 128 x480 256 x475 512 x497 1024 x487 2048 x34 4096 x460 8192 x467 16384 x473 32768 x476 65536 x479 131072 x491 262144 x496 524288 x472 1048576 x464 2097152 x471 4194304 x465 8388608 x462 16777216 x457 33554432 x495 67108864 x484 134217728 x252 268435456 x477 536870912 x455 1073741824 x456 2147483648 x478 4294967296 x498 8589934592 x492 17179869184 x459 34359738368 x453 68719476736 x469 137438953472 x463 274877906944 x494 549755813888 x485 1099511627776 x488 2199023255552 x489 4398046511104 x490 8796093022208 x481 17592186044416 x482 35184372088832 x483 70368744177664 x470 140737488355328 x486 281474976710656 x16 562949953421312 x493 2 x1526 2 x90 2 x345 2 x287 4 x285 2 x1992 4 x1982 2 x87 2 x1135 2 x925 2 x714 2 x323 4 x322 2 x759 4 x313 8 x979 16 x867 32 x1226 64 x1103 128 x1474 256 x1349 512 x829 1024 x722 2048 x1055 4096 x914 8192 x1302 16384 x1159 32768 x1536 65536 x1402 131072 x837 262144 x957 524288 x125 1048576 x648 2097152 x798 4194304 x715 8388608 x1553 16777216 x1429 33554432 x1266 67108864 x1150 134217728 x50 268435456 x592 536870912 x852 1073741824 x1205 2147483648 x1189 4294967296 x1026 8589934592 x894 17179869184 x789 34359738368 x705 68719476736 x1098 137438953472 x1218 274877906944 x1343 549755813888 x1115 1099511627776 x1116 2199023255552 x1118 4398046511104 x1120 8796093022208 x1110 17592186044416 x1111 35184372088832 x1112 70368744177664 x1087 140737488355328 x882 281474976710656 x996 562949953421312 x743 2 x1121 2 x98 2 x314 4 x767 2 x2041 2 x195 2 x2368 2 x1476 2 x1346 2 x380 4 x162 2 x779 2 x3065 2 x1307 2 x51 2 x372 2 x1386 4 x791 2 x687 4 x793 2 x391 2 x1436 2 x824 2 x280 4 x279 2 x93 2 x1004 2 x197 2 x219 2 x325 4 x326 2 x1256 2 x328 4 x327 2 x807 2 x784 4 x769 2 x1190 2 x247 2 x199 2 x683 2 x320 4 x319 2 x1565 2 x101 2 x913 2 x1569 4 x703 2 x601 2 x1390 2 x261 4 x262 2 x1072 4 x708 8 x814 16 x1420 32 x1558 64 x1142 128 x1285 256 x1404 512 x1540 1024 x1158 2048 x1299 4096 x918 8192 x1059 16384 x719 32768 x826 65536 x1354 131072 x1475 262144 x1101 524288 x1220 1048576 x872 2097152 x1052 4194304 x1163 8388608 x1287 16777216 x1408 33554432 x1531 67108864 x681 134217728 x770 268435456 x864 536870912 x994 1073741824 x1366 2147483648 x382 4294967296 x772 8589934592 x909 17179869184 x1034 34359738368 x1113 68719476736 x1239 137438953472 x1389 274877906944 x1527 549755813888 x1001 1099511627776 x1011 2199023255552 x1008 4398046511104 x1007 8796093022208 x1005 17592186044416 x1015 35184372088832 x1016 70368744177664 x964 140737488355328 x1233 281474976710656 x855 562949953421312 x661 1125899906842624 x1595 2251799813685248 x1460 4503599627370496 x1316 9007199254740992 x1171 18014398509481984 x1045 36028797018963968 x1356 72057594037927936 x1263 144115188075855872 x532 288230376151711744 x1348 576460752303423488 x1357 1152921504606846976 x965 2 x88 2 x1994 4 x1943 2 x2111 2 x1009 2 x670 4 x976 2 x2103 2 x2073 2 x1333 2 x1494 2 x1424 2 x46 2 x800 4 x938 8 x1064 16 x1152 32 x1268 64 x1428 128 x1547 256 x673 512 x749 1024 x876 2048 x1013 4096 x1083 8192 x1212 16384 x1363 32768 x1497 65536 x1044 131072 x901 262144 x778 524288 x355 1048576 x1596 2097152 x756 4194304 x1355 8388608 x1477 16777216 x1102 33554432 x1221 67108864 x787 134217728 x422 268435456 x1022 536870912 x888 1073741824 x665 2147483648 x801 4294967296 x501 8589934592 x1065 17179869184 x939 34359738368 x1398 2 x200 2 x854 2 x1545 4 x1522 2 x1449 2 x1577 2 x373 2 x853 2 x284 4 x283 2 x3150 2 x1385 2 x898 2 x1140 2 x1248 2 x1289 2 x986 2 x83 2 x1296 2 x1561 2 x922 2 x1517 2 x977 2 x1344 4 x1471 8 x1095 16 x1216 32 x873 64 x983 128 x685 256 x761 512 x757 1024 x297 2048 x981 4096 x871 8192 x1224 16384 x1099 32768 x1479 65536 x1353 131072 x827 262144 x718 524288 x1060 1048576 x916 2097152 x753 4194304 x230 8388608 x1499 16777216 x1361 33554432 x1215 67108864 x1081 134217728 x1066 268435456 x936 536870912 x802 1073741824 x1455 2147483648 x1127 4294967296 x958 8589934592 x839 17179869184 x653 34359738368 x188 68719476736 x1562 137438953472 x1443 274877906944 x1321 549755813888 x1318 1099511627776 x1274 2199023255552 x1275 4398046511104 x1277 8796093022208 x1279 17592186044416 x1282 35184372088832 x1284 70368744177664 x1295 140737488355328 x1147 281474976710656 x924 562949953421312 x552 2 x1338 2 x277 4 x276 2 x329 4 x330 2 x2414 2 x221 2 x95 2 x1578 2 x732 2 x1071 2 x1592 2 x1207 2 x1305 2 x889 2 x1583 4 x1089 2 x97 2 x2058 4 x1996 2 x85 2 x2367 2 x1237 2 x249 2 x1450 4 x1546 2 x216 2 x1056 2 x1109 4 x1043 2 x1417 2 x842 4611686018427387904 x2316 4611686018427387904 x567 4611686018427387904 x585 4611686018427387904 x2980 4611686018427387904 x1969 4611686018427387904 x3258 4611686018427387904 x30 4611686018427387904 x3011 4611686018427387904 x1883 4611686018427387904 x2950 4611686018427387904 x2320 4611686018427387904 x2377 4611686018427387904 x3260 4611686018427387904 x607 4611686018427387904 x3080 4611686018427387904 x56 4611686018427387904 x3014 4611686018427387904 x2174 4611686018427387904 x2416 4611686018427387904 x3192 4611686018427387904 x2176 4611686018427387904 x3232 4611686018427387904 x3262 4611686018427387904 x117 4611686018427387904 x3098 4611686018427387904 x2982 4611686018427387904 x2179 4611686018427387904 x3024 4611686018427387904 x158 4611686018427387904 x3152 4611686018427387904 x2237 4611686018427387904 x3031 4611686018427387904 x3033 4611686018427387904 x3194 4611686018427387904 x2191 4611686018427387904 x3265 4611686018427387904 x2987 4611686018427387904 x2386 4611686018427387904 x651 4611686018427387904 x2958 4611686018427387904 x3156 4611686018427387904 x2328 4611686018427387904 x2389 4611686018427387904 x2990 4611686018427387904 x3234 4611686018427387904 x3101 4611686018427387904 x2422 4611686018427387904 x2194 4611686018427387904 x2244 4611686018427387904 x3236 4611686018427387904 x1893 4611686018427387904 x2330 4611686018427387904 x1901 4611686018427387904 x3161 4611686018427387904 x2993 4611686018427387904 x3238 4611686018427387904 x3103 4611686018427387904 x2340 4611686018427387904 x3271 4611686018427387904 x3105 4611686018427387904 x2248 4611686018427387904 x2343 4611686018427387904 x2251 4611686018427387904 x3242 4611686018427387904 x3166 4611686018427387904 x3113 4611686018427387904 x269 4611686018427387904 x3198 4611686018427387904 x3196 4611686018427387904 x3115 4611686018427387904 x274 4611686018427387904 x3202 4611686018427387904 x293 4611686018427387904 x2264 4611686018427387904 x3213 4611686018427387904 x3117 4611686018427387904 x3000 4611686018427387904 x3168 4611686018427387904 x3122 4611686018427387904 x2266 4611686018427387904 x1914 4611686018427387904 x307 4611686018427387904 x3170 4611686018427387904 x2272 4611686018427387904 x3222 4611686018427387904 x3179 4611686018427387904 x2346 4611686018427387904 x1625 4611686018427387904 x2354 4611686018427387904 x3002 4611686018427387904 x3036 4611686018427387904 x3224 4611686018427387904 x342 4611686018427387904 x352 4611686018427387904 x2426 4611686018427387904 x3005 4611686018427387904 x3038 4611686018427387904 x376 4611686018427387904 x2395 4611686018427387904 x3129 4611686018427387904 x1927 4611686018427387904 x2201 4611686018427387904 x2428 4611686018427387904 x2967 4611686018427387904 x394 4611686018427387904 x2359 4611686018427387904 x3040 4611686018427387904 x2432 4611686018427387904 x3043 4611686018427387904 x2279 4611686018427387904 x3277 4611686018427387904 x2434 4611686018427387904 x3049 4611686018427387904 x3279 4611686018427387904 x3131 4611686018427387904 x2364 4611686018427387904 x3133 4611686018427387904 x3244 4611686018427387904 x2298 4611686018427387904 x3190 4611686018427387904 x3052 4611686018427387904 x2300 4611686018427387904 x1646 4611686018427387904 x2399 4611686018427387904 x3056 4611686018427387904 x2440 4611686018427387904 x1652 4611686018427387904 x1933 4611686018427387904 x1852 4611686018427387904 x2969 4611686018427387904 x3137 4611686018427387904 x2403 4611686018427387904 x2405 4611686018427387904 x2412 4611686018427387904 x2222 4611686018427387904 x2303 4611686018427387904 x3246 4611686018427387904 x500 4611686018427387904 x3226 4611686018427387904 x3067 4611686018427387904 x3139 4611686018427387904 x2310 4611686018427387904 x3070 4611686018427387904 x3009 4611686018427387904 x2973 4611686018427387904 x2449 4611686018427387904 x3141 4611686018427387904 x2978 4611686018427387904 x3228 4611686018427387904 x3248 4611686018427387904 x2226 4611686018427387904 x1945 4611686018427387904 x3282 4611686018427387904 x3285 4611686018427387904 x2452 4611686018427387904 x3143 4611686018427387904 x536 4611686018427387904 x1951 4611686018427387904 x2229 4611686018427387904 x3146 4611686018427387904 x548 4611686018427387904 x1962 4611686018427387904 x3148 4611686018427387904 x2457 4611686018427387904 x3230 4611686018427387904 x2465 4611686018427387904 x3253 4611686018427387904 x3075 --9223372036854775808 x29 --9223372036854775808 x33 --9223372036854775808 x55 --9223372036854775808 x58 --9223372036854775808 x60 --9223372036854775808 x62 --9223372036854775808 x64 --9223372036854775808 x66 --9223372036854775808 x67 --9223372036854775808 x69 --9223372036854775808 x77 --9223372036854775808 x116 --9223372036854775808 x157 --9223372036854775808 x268 --9223372036854775808 x273 --9223372036854775808 x292 --9223372036854775808 x306 --9223372036854775808 x341 --9223372036854775808 x346 --9223372036854775808 x351 --9223372036854775808 x354 --9223372036854775808 x375 --9223372036854775808 x377 --9223372036854775808 x378 --9223372036854775808 x379 --9223372036854775808 x393 --9223372036854775808 x499 --9223372036854775808 x535 --9223372036854775808 x547 --9223372036854775808 x549 --9223372036854775808 x550 --9223372036854775808 x551 --9223372036854775808 x566 --9223372036854775808 x569 --9223372036854775808 x584 --9223372036854775808 x606 --9223372036854775808 x608 --9223372036854775808 x609 --9223372036854775808 x650 --9223372036854775808 x1624 --9223372036854775808 x1645 --9223372036854775808 x1651 --9223372036854775808 x1851 --9223372036854775808 x1853 --9223372036854775808 x1854 --9223372036854775808 x1855 --9223372036854775808 x1856 --9223372036854775808 x1857 --9223372036854775808 x1858 --9223372036854775808 x1859 --9223372036854775808 x1860 --9223372036854775808 x1861 --9223372036854775808 x1882 --9223372036854775808 x1892 --9223372036854775808 x1894 --9223372036854775808 x1900 --9223372036854775808 x1913 --9223372036854775808 x1926 --9223372036854775808 x1932 --9223372036854775808 x1944 --9223372036854775808 x1950 --9223372036854775808 x1952 --9223372036854775808 x1953 --9223372036854775808 x1954 --9223372036854775808 x1955 --9223372036854775808 x1956 --9223372036854775808 x1957 --9223372036854775808 x1958 --9223372036854775808 x1959 --9223372036854775808 x1960 --9223372036854775808 x1961 --9223372036854775808 x1963 --9223372036854775808 x1968 --9223372036854775808 x2173 --9223372036854775808 x2175 --9223372036854775808 x2178 --9223372036854775808 x2180 --9223372036854775808 x2181 --9223372036854775808 x2182 --9223372036854775808 x2183 --9223372036854775808 x2184 --9223372036854775808 x2185 --9223372036854775808 x2186 --9223372036854775808 x2187 --9223372036854775808 x2190 --9223372036854775808 x2193 --9223372036854775808 x2200 --9223372036854775808 x2202 --9223372036854775808 x2203 --9223372036854775808 x2204 --9223372036854775808 x2205 --9223372036854775808 x2206 --9223372036854775808 x2207 --9223372036854775808 x2208 --9223372036854775808 x2209 --9223372036854775808 x2210 --9223372036854775808 x2211 --9223372036854775808 x2212 --9223372036854775808 x2213 --9223372036854775808 x2214 --9223372036854775808 x2215 --9223372036854775808 x2216 --9223372036854775808 x2217 --9223372036854775808 x2221 --9223372036854775808 x2223 --9223372036854775808 x2225 --9223372036854775808 x2228 --9223372036854775808 x2230 --9223372036854775808 x2236 --9223372036854775808 x2243 --9223372036854775808 x2247 --9223372036854775808 x2249 --9223372036854775808 x2250 --9223372036854775808 x2252 --9223372036854775808 x2253 --9223372036854775808 x2254 --9223372036854775808 x2255 --9223372036854775808 x2256 --9223372036854775808 x2257 --9223372036854775808 x2258 --9223372036854775808 x2259 --9223372036854775808 x2263 --9223372036854775808 x2265 --9223372036854775808 x2267 --9223372036854775808 x2268 --9223372036854775808 x2269 --9223372036854775808 x2270 --9223372036854775808 x2271 --9223372036854775808 x2278 --9223372036854775808 x2280 --9223372036854775808 x2282 --9223372036854775808 x2283 --9223372036854775808 x2284 --9223372036854775808 x2286 --9223372036854775808 x2287 --9223372036854775808 x2288 --9223372036854775808 x2289 --9223372036854775808 x2290 --9223372036854775808 x2292 --9223372036854775808 x2294 --9223372036854775808 x2295 --9223372036854775808 x2297 --9223372036854775808 x2299 --9223372036854775808 x2302 --9223372036854775808 x2304 --9223372036854775808 x2305 --9223372036854775808 x2306 --9223372036854775808 x2307 --9223372036854775808 x2309 --9223372036854775808 x2315 --9223372036854775808 x2319 --9223372036854775808 x2321 --9223372036854775808 x2322 --9223372036854775808 x2327 --9223372036854775808 x2329 --9223372036854775808 x2331 --9223372036854775808 x2332 --9223372036854775808 x2333 --9223372036854775808 x2334 --9223372036854775808 x2335 --9223372036854775808 x2336 --9223372036854775808 x2337 --9223372036854775808 x2338 --9223372036854775808 x2339 --9223372036854775808 x2342 --9223372036854775808 x2345 --9223372036854775808 x2347 --9223372036854775808 x2348 --9223372036854775808 x2349 --9223372036854775808 x2350 --9223372036854775808 x2351 --9223372036854775808 x2352 --9223372036854775808 x2353 --9223372036854775808 x2358 --9223372036854775808 x2360 --9223372036854775808 x2361 --9223372036854775808 x2362 --9223372036854775808 x2363 --9223372036854775808 x2365 --9223372036854775808 x2366 --9223372036854775808 x2376 --9223372036854775808 x2385 --9223372036854775808 x2388 --9223372036854775808 x2390 --9223372036854775808 x2391 --9223372036854775808 x2392 --9223372036854775808 x2394 --9223372036854775808 x2398 --9223372036854775808 x2402 --9223372036854775808 x2404 --9223372036854775808 x2406 --9223372036854775808 x2407 --9223372036854775808 x2408 --9223372036854775808 x2409 --9223372036854775808 x2410 --9223372036854775808 x2411 --9223372036854775808 x2415 --9223372036854775808 x2421 --9223372036854775808 x2423 --9223372036854775808 x2425 --9223372036854775808 x2427 --9223372036854775808 x2429 --9223372036854775808 x2431 --9223372036854775808 x2433 --9223372036854775808 x2435 --9223372036854775808 x2439 --9223372036854775808 x2448 --9223372036854775808 x2450 --9223372036854775808 x2451 --9223372036854775808 x2453 --9223372036854775808 x2456 --9223372036854775808 x2464 --9223372036854775808 x2466 --9223372036854775808 x2467 --9223372036854775808 x2468 --9223372036854775808 x2469 --9223372036854775808 x2470 --9223372036854775808 x2471 --9223372036854775808 x2472 --9223372036854775808 x2473 --9223372036854775808 x2474 --9223372036854775808 x2475 --9223372036854775808 x2476 --9223372036854775808 x2477 --9223372036854775808 x2478 --9223372036854775808 x2479 --9223372036854775808 x2480 --9223372036854775808 x2481 --9223372036854775808 x2482 --9223372036854775808 x2483 --9223372036854775808 x2485 --9223372036854775808 x2486 --9223372036854775808 x2488 --9223372036854775808 x2489 --9223372036854775808 x2490 --9223372036854775808 x2491 --9223372036854775808 x2492 --9223372036854775808 x2493 --9223372036854775808 x2494 --9223372036854775808 x2495 --9223372036854775808 x2496 --9223372036854775808 x2497 --9223372036854775808 x2498 --9223372036854775808 x2499 --9223372036854775808 x2500 --9223372036854775808 x2501 --9223372036854775808 x2502 --9223372036854775808 x2503 --9223372036854775808 x2504 --9223372036854775808 x2505 --9223372036854775808 x2506 --9223372036854775808 x2507 --9223372036854775808 x2508 --9223372036854775808 x2509 --9223372036854775808 x2510 --9223372036854775808 x2511 --9223372036854775808 x2512 --9223372036854775808 x2513 --9223372036854775808 x2514 --9223372036854775808 x2515 --9223372036854775808 x2517 --9223372036854775808 x2518 --9223372036854775808 x2519 --9223372036854775808 x2520 --9223372036854775808 x2521 --9223372036854775808 x2522 --9223372036854775808 x2523 --9223372036854775808 x2524 --9223372036854775808 x2525 --9223372036854775808 x2526 --9223372036854775808 x2527 --9223372036854775808 x2528 --9223372036854775808 x2529 --9223372036854775808 x2530 --9223372036854775808 x2531 --9223372036854775808 x2532 --9223372036854775808 x2533 --9223372036854775808 x2534 --9223372036854775808 x2537 --9223372036854775808 x2538 --9223372036854775808 x2539 --9223372036854775808 x2540 --9223372036854775808 x2542 --9223372036854775808 x2543 --9223372036854775808 x2544 --9223372036854775808 x2545 --9223372036854775808 x2546 --9223372036854775808 x2547 --9223372036854775808 x2548 --9223372036854775808 x2549 --9223372036854775808 x2550 --9223372036854775808 x2551 --9223372036854775808 x2552 --9223372036854775808 x2553 --9223372036854775808 x2555 --9223372036854775808 x2556 --9223372036854775808 x2557 --9223372036854775808 x2558 --9223372036854775808 x2559 --9223372036854775808 x2560 --9223372036854775808 x2561 --9223372036854775808 x2562 --9223372036854775808 x2563 --9223372036854775808 x2564 --9223372036854775808 x2565 --9223372036854775808 x2566 --9223372036854775808 x2567 --9223372036854775808 x2569 --9223372036854775808 x2570 --9223372036854775808 x2571 --9223372036854775808 x2572 --9223372036854775808 x2573 --9223372036854775808 x2574 --9223372036854775808 x2575 --9223372036854775808 x2576 --9223372036854775808 x2577 --9223372036854775808 x2578 --9223372036854775808 x2579 --9223372036854775808 x2580 --9223372036854775808 x2581 --9223372036854775808 x2582 --9223372036854775808 x2583 --9223372036854775808 x2584 --9223372036854775808 x2585 --9223372036854775808 x2586 --9223372036854775808 x2587 --9223372036854775808 x2588 --9223372036854775808 x2589 --9223372036854775808 x2590 --9223372036854775808 x2591 --9223372036854775808 x2592 --9223372036854775808 x2593 --9223372036854775808 x2594 --9223372036854775808 x2595 --9223372036854775808 x2596 --9223372036854775808 x2597 --9223372036854775808 x2598 --9223372036854775808 x2600 --9223372036854775808 x2601 --9223372036854775808 x2602 --9223372036854775808 x2603 --9223372036854775808 x2604 --9223372036854775808 x2605 --9223372036854775808 x2606 --9223372036854775808 x2607 --9223372036854775808 x2609 --9223372036854775808 x2610 --9223372036854775808 x2611 --9223372036854775808 x2613 --9223372036854775808 x2614 --9223372036854775808 x2615 --9223372036854775808 x2616 --9223372036854775808 x2617 --9223372036854775808 x2618 --9223372036854775808 x2619 --9223372036854775808 x2620 --9223372036854775808 x2621 --9223372036854775808 x2622 --9223372036854775808 x2623 --9223372036854775808 x2625 --9223372036854775808 x2626 --9223372036854775808 x2627 --9223372036854775808 x2628 --9223372036854775808 x2629 --9223372036854775808 x2630 --9223372036854775808 x2631 --9223372036854775808 x2632 --9223372036854775808 x2633 --9223372036854775808 x2634 --9223372036854775808 x2635 --9223372036854775808 x2636 --9223372036854775808 x2637 --9223372036854775808 x2638 --9223372036854775808 x2639 --9223372036854775808 x2640 --9223372036854775808 x2641 --9223372036854775808 x2642 --9223372036854775808 x2643 --9223372036854775808 x2644 --9223372036854775808 x2646 --9223372036854775808 x2647 --9223372036854775808 x2648 --9223372036854775808 x2649 --9223372036854775808 x2650 --9223372036854775808 x2651 --9223372036854775808 x2652 --9223372036854775808 x2653 --9223372036854775808 x2655 --9223372036854775808 x2656 --9223372036854775808 x2657 --9223372036854775808 x2658 --9223372036854775808 x2659 --9223372036854775808 x2660 --9223372036854775808 x2661 --9223372036854775808 x2663 --9223372036854775808 x2664 --9223372036854775808 x2665 --9223372036854775808 x2666 --9223372036854775808 x2667 --9223372036854775808 x2669 --9223372036854775808 x2670 --9223372036854775808 x2671 --9223372036854775808 x2672 --9223372036854775808 x2673 --9223372036854775808 x2674 --9223372036854775808 x2675 --9223372036854775808 x2676 --9223372036854775808 x2677 --9223372036854775808 x2678 --9223372036854775808 x2679 --9223372036854775808 x2680 --9223372036854775808 x2681 --9223372036854775808 x2682 --9223372036854775808 x2683 --9223372036854775808 x2684 --9223372036854775808 x2685 --9223372036854775808 x2686 --9223372036854775808 x2687 --9223372036854775808 x2688 --9223372036854775808 x2689 --9223372036854775808 x2691 --9223372036854775808 x2692 --9223372036854775808 x2693 --9223372036854775808 x2694 --9223372036854775808 x2695 --9223372036854775808 x2696 --9223372036854775808 x2697 --9223372036854775808 x2698 --9223372036854775808 x2699 --9223372036854775808 x2701 --9223372036854775808 x2702 --9223372036854775808 x2703 --9223372036854775808 x2704 --9223372036854775808 x2705 --9223372036854775808 x2706 --9223372036854775808 x2707 --9223372036854775808 x2708 --9223372036854775808 x2709 --9223372036854775808 x2710 --9223372036854775808 x2711 --9223372036854775808 x2714 --9223372036854775808 x2715 --9223372036854775808 x2716 --9223372036854775808 x2717 --9223372036854775808 x2718 --9223372036854775808 x2719 --9223372036854775808 x2720 --9223372036854775808 x2721 --9223372036854775808 x2722 --9223372036854775808 x2723 --9223372036854775808 x2724 --9223372036854775808 x2725 --9223372036854775808 x2726 --9223372036854775808 x2727 --9223372036854775808 x2728 --9223372036854775808 x2729 --9223372036854775808 x2730 --9223372036854775808 x2731 --9223372036854775808 x2732 --9223372036854775808 x2733 --9223372036854775808 x2734 --9223372036854775808 x2735 --9223372036854775808 x2736 --9223372036854775808 x2737 --9223372036854775808 x2738 --9223372036854775808 x2740 --9223372036854775808 x2742 --9223372036854775808 x2743 --9223372036854775808 x2744 --9223372036854775808 x2745 --9223372036854775808 x2746 --9223372036854775808 x2747 --9223372036854775808 x2748 --9223372036854775808 x2749 --9223372036854775808 x2750 --9223372036854775808 x2751 --9223372036854775808 x2752 --9223372036854775808 x2753 --9223372036854775808 x2754 --9223372036854775808 x2755 --9223372036854775808 x2756 --9223372036854775808 x2757 --9223372036854775808 x2758 --9223372036854775808 x2759 --9223372036854775808 x2760 --9223372036854775808 x2761 --9223372036854775808 x2762 --9223372036854775808 x2763 --9223372036854775808 x2764 --9223372036854775808 x2765 --9223372036854775808 x2766 --9223372036854775808 x2767 --9223372036854775808 x2768 --9223372036854775808 x2769 --9223372036854775808 x2771 --9223372036854775808 x2772 --9223372036854775808 x2773 --9223372036854775808 x2774 --9223372036854775808 x2775 --9223372036854775808 x2776 --9223372036854775808 x2777 --9223372036854775808 x2778 --9223372036854775808 x2779 --9223372036854775808 x2780 --9223372036854775808 x2781 --9223372036854775808 x2782 --9223372036854775808 x2784 --9223372036854775808 x2786 --9223372036854775808 x2787 --9223372036854775808 x2788 --9223372036854775808 x2789 --9223372036854775808 x2790 --9223372036854775808 x2791 --9223372036854775808 x2793 --9223372036854775808 x2794 --9223372036854775808 x2795 --9223372036854775808 x2796 --9223372036854775808 x2797 --9223372036854775808 x2798 --9223372036854775808 x2799 --9223372036854775808 x2801 --9223372036854775808 x2802 --9223372036854775808 x2803 --9223372036854775808 x2804 --9223372036854775808 x2805 --9223372036854775808 x2806 --9223372036854775808 x2807 --9223372036854775808 x2808 --9223372036854775808 x2809 --9223372036854775808 x2810 --9223372036854775808 x2811 --9223372036854775808 x2812 --9223372036854775808 x2813 --9223372036854775808 x2814 --9223372036854775808 x2815 --9223372036854775808 x2816 --9223372036854775808 x2818 --9223372036854775808 x2819 --9223372036854775808 x2820 --9223372036854775808 x2821 --9223372036854775808 x2822 --9223372036854775808 x2823 --9223372036854775808 x2824 --9223372036854775808 x2826 --9223372036854775808 x2827 --9223372036854775808 x2828 --9223372036854775808 x2829 --9223372036854775808 x2830 --9223372036854775808 x2831 --9223372036854775808 x2832 --9223372036854775808 x2833 --9223372036854775808 x2834 --9223372036854775808 x2836 --9223372036854775808 x2837 --9223372036854775808 x2838 --9223372036854775808 x2839 --9223372036854775808 x2840 --9223372036854775808 x2841 --9223372036854775808 x2842 --9223372036854775808 x2843 --9223372036854775808 x2844 --9223372036854775808 x2845 --9223372036854775808 x2846 --9223372036854775808 x2847 --9223372036854775808 x2848 --9223372036854775808 x2850 --9223372036854775808 x2851 --9223372036854775808 x2852 --9223372036854775808 x2853 --9223372036854775808 x2854 --9223372036854775808 x2855 --9223372036854775808 x2856 --9223372036854775808 x2857 --9223372036854775808 x2858 --9223372036854775808 x2859 --9223372036854775808 x2860 --9223372036854775808 x2861 --9223372036854775808 x2862 --9223372036854775808 x2863 --9223372036854775808 x2864 --9223372036854775808 x2865 --9223372036854775808 x2866 --9223372036854775808 x2867 --9223372036854775808 x2868 --9223372036854775808 x2869 --9223372036854775808 x2870 --9223372036854775808 x2871 --9223372036854775808 x2873 --9223372036854775808 x2874 --9223372036854775808 x2875 --9223372036854775808 x2876 --9223372036854775808 x2877 --9223372036854775808 x2878 --9223372036854775808 x2879 --9223372036854775808 x2880 --9223372036854775808 x2882 --9223372036854775808 x2883 --9223372036854775808 x2884 --9223372036854775808 x2885 --9223372036854775808 x2886 --9223372036854775808 x2887 --9223372036854775808 x2889 --9223372036854775808 x2890 --9223372036854775808 x2891 --9223372036854775808 x2892 --9223372036854775808 x2893 --9223372036854775808 x2894 --9223372036854775808 x2895 --9223372036854775808 x2896 --9223372036854775808 x2897 --9223372036854775808 x2898 --9223372036854775808 x2899 --9223372036854775808 x2900 --9223372036854775808 x2901 --9223372036854775808 x2902 --9223372036854775808 x2903 --9223372036854775808 x2904 --9223372036854775808 x2905 --9223372036854775808 x2906 --9223372036854775808 x2907 --9223372036854775808 x2908 --9223372036854775808 x2911 --9223372036854775808 x2913 --9223372036854775808 x2914 --9223372036854775808 x2915 --9223372036854775808 x2916 --9223372036854775808 x2917 --9223372036854775808 x2918 --9223372036854775808 x2919 --9223372036854775808 x2920 --9223372036854775808 x2921 --9223372036854775808 x2922 --9223372036854775808 x2923 --9223372036854775808 x2924 --9223372036854775808 x2925 --9223372036854775808 x2926 --9223372036854775808 x2927 --9223372036854775808 x2928 --9223372036854775808 x2929 --9223372036854775808 x2930 --9223372036854775808 x2931 --9223372036854775808 x2933 --9223372036854775808 x2935 --9223372036854775808 x2936 --9223372036854775808 x2937 --9223372036854775808 x2938 --9223372036854775808 x2939 --9223372036854775808 x2940 --9223372036854775808 x2941 --9223372036854775808 x2942 --9223372036854775808 x2943 --9223372036854775808 x2944 --9223372036854775808 x2945 --9223372036854775808 x2946 --9223372036854775808 x2947 --9223372036854775808 x2949 --9223372036854775808 x2951 --9223372036854775808 x2952 --9223372036854775808 x2953 --9223372036854775808 x2954 --9223372036854775808 x2955 --9223372036854775808 x2957 --9223372036854775808 x2966 --9223372036854775808 x2968 --9223372036854775808 x2972 --9223372036854775808 x2974 --9223372036854775808 x2975 --9223372036854775808 x2976 --9223372036854775808 x2977 --9223372036854775808 x2979 --9223372036854775808 x2981 --9223372036854775808 x2983 --9223372036854775808 x2984 --9223372036854775808 x2985 --9223372036854775808 x2986 --9223372036854775808 x2988 --9223372036854775808 x2989 --9223372036854775808 x2991 --9223372036854775808 x2992 --9223372036854775808 x2994 --9223372036854775808 x2995 --9223372036854775808 x2996 --9223372036854775808 x2997 --9223372036854775808 x2998 --9223372036854775808 x2999 --9223372036854775808 x3001 --9223372036854775808 x3003 --9223372036854775808 x3004 --9223372036854775808 x3008 --9223372036854775808 x3010 --9223372036854775808 x3012 --9223372036854775808 x3013 --9223372036854775808 x3015 --9223372036854775808 x3016 --9223372036854775808 x3017 --9223372036854775808 x3018 --9223372036854775808 x3019 --9223372036854775808 x3020 --9223372036854775808 x3021 --9223372036854775808 x3023 --9223372036854775808 x3025 --9223372036854775808 x3026 --9223372036854775808 x3027 --9223372036854775808 x3028 --9223372036854775808 x3029 --9223372036854775808 x3030 --9223372036854775808 x3032 --9223372036854775808 x3034 --9223372036854775808 x3035 --9223372036854775808 x3037 --9223372036854775808 x3039 --9223372036854775808 x3041 --9223372036854775808 x3042 --9223372036854775808 x3044 --9223372036854775808 x3045 --9223372036854775808 x3046 --9223372036854775808 x3047 --9223372036854775808 x3048 --9223372036854775808 x3050 --9223372036854775808 x3051 --9223372036854775808 x3053 --9223372036854775808 x3054 --9223372036854775808 x3055 --9223372036854775808 x3057 --9223372036854775808 x3058 --9223372036854775808 x3059 --9223372036854775808 x3060 --9223372036854775808 x3061 --9223372036854775808 x3062 --9223372036854775808 x3063 --9223372036854775808 x3064 --9223372036854775808 x3066 --9223372036854775808 x3068 --9223372036854775808 x3069 --9223372036854775808 x3071 --9223372036854775808 x3072 --9223372036854775808 x3073 --9223372036854775808 x3074 --9223372036854775808 x3076 --9223372036854775808 x3079 --9223372036854775808 x3081 --9223372036854775808 x3082 --9223372036854775808 x3083 --9223372036854775808 x3084 --9223372036854775808 x3085 --9223372036854775808 x3086 --9223372036854775808 x3087 --9223372036854775808 x3088 --9223372036854775808 x3089 --9223372036854775808 x3090 --9223372036854775808 x3091 --9223372036854775808 x3092 --9223372036854775808 x3093 --9223372036854775808 x3094 --9223372036854775808 x3095 --9223372036854775808 x3096 --9223372036854775808 x3097 --9223372036854775808 x3099 --9223372036854775808 x3100 --9223372036854775808 x3102 --9223372036854775808 x3104 --9223372036854775808 x3106 --9223372036854775808 x3107 --9223372036854775808 x3108 --9223372036854775808 x3112 --9223372036854775808 x3114 --9223372036854775808 x3116 --9223372036854775808 x3118 --9223372036854775808 x3119 --9223372036854775808 x3120 --9223372036854775808 x3121 --9223372036854775808 x3123 --9223372036854775808 x3125 --9223372036854775808 x3128 --9223372036854775808 x3130 --9223372036854775808 x3132 --9223372036854775808 x3134 --9223372036854775808 x3135 --9223372036854775808 x3136 --9223372036854775808 x3138 --9223372036854775808 x3140 --9223372036854775808 x3142 --9223372036854775808 x3144 --9223372036854775808 x3145 --9223372036854775808 x3147 --9223372036854775808 x3149 --9223372036854775808 x3151 --9223372036854775808 x3153 --9223372036854775808 x3155 --9223372036854775808 x3160 --9223372036854775808 x3162 --9223372036854775808 x3163 --9223372036854775808 x3164 --9223372036854775808 x3165 --9223372036854775808 x3167 --9223372036854775808 x3169 --9223372036854775808 x3171 --9223372036854775808 x3172 --9223372036854775808 x3173 --9223372036854775808 x3174 --9223372036854775808 x3175 --9223372036854775808 x3176 --9223372036854775808 x3177 --9223372036854775808 x3178 --9223372036854775808 x3180 --9223372036854775808 x3181 --9223372036854775808 x3182 --9223372036854775808 x3183 --9223372036854775808 x3184 --9223372036854775808 x3185 --9223372036854775808 x3186 --9223372036854775808 x3187 --9223372036854775808 x3188 --9223372036854775808 x3189 --9223372036854775808 x3191 --9223372036854775808 x3193 --9223372036854775808 x3195 --9223372036854775808 x3197 --9223372036854775808 x3199 --9223372036854775808 x3200 --9223372036854775808 x3201 --9223372036854775808 x3203 --9223372036854775808 x3204 --9223372036854775808 x3205 --9223372036854775808 x3206 --9223372036854775808 x3207 --9223372036854775808 x3208 --9223372036854775808 x3209 --9223372036854775808 x3210 --9223372036854775808 x3211 --9223372036854775808 x3212 --9223372036854775808 x3214 --9223372036854775808 x3215 --9223372036854775808 x3216 --9223372036854775808 x3217 --9223372036854775808 x3218 --9223372036854775808 x3219 --9223372036854775808 x3220 --9223372036854775808 x3221 --9223372036854775808 x3223 --9223372036854775808 x3225 --9223372036854775808 x3227 --9223372036854775808 x3229 --9223372036854775808 x3231 --9223372036854775808 x3233 --9223372036854775808 x3235 --9223372036854775808 x3237 --9223372036854775808 x3239 --9223372036854775808 x3240 --9223372036854775808 x3241 --9223372036854775808 x3243 --9223372036854775808 x3245 --9223372036854775808 x3247 --9223372036854775808 x3249 --9223372036854775808 x3250 --9223372036854775808 x3251 --9223372036854775808 x3252 --9223372036854775808 x3254 --9223372036854775808 x3255 --9223372036854775808 x3256 --9223372036854775808 x3257 --9223372036854775808 x3259 --9223372036854775808 x3261 --9223372036854775808 x3263 --9223372036854775808 x3264 --9223372036854775808 x3266 --9223372036854775808 x3267 --9223372036854775808 x3268 --9223372036854775808 x3269 --9223372036854775808 x3270 --9223372036854775808 x3272 --9223372036854775808 x3273 --9223372036854775808 x3276 --9223372036854775808 x3278 --9223372036854775808 x3280 --9223372036854775808 x3281 --9223372036854775808 x3283 --9223372036854775808 x3284 ;

-

-explain:  x1 x16 x17 x22 x21 x34 x35 x40 x42 x43 x44 x50 x51 x100 x101 x103 x104 x112 x119 x125 x126 x53 x161 x162 x163 x167 x171 x172 x173 x187 x188 x189 x190 x192 x203 x206 x207 x208 x211 x213 x222 x223 x127 x228 x229 x230 x231 x232 x246 x247 x248 x251 x252 x253 x260 x264 x267 x270 x271 x272 x278 x291 x294 x295 x296 x46 x290 x297 x298 x309 x312 x313 x314 x332 x333 x334 x337 x338 x339 x348 x350 x355 x356 x357 x359 x360 x362 x363 x364 x365 x366 x367 x382 x383 x389 x390 x391 x392 x95 x395 x413 x114 x80 x415 x418 x419 x420 x421 x422 x423 x426 x427 x428 x429 x432 x433 x159 x434 x435 x436 x437 x444 x450 x451 x501 x502 x506 x507 x512 x513 x514 x516 x517 x47 x530 x531 x532 x533 x537 x538 x123 x26 x552 x41 x554 x555 x556 x560 x563 x581 x582 x586 x588 x592 x593 x595 x596 x597 x602 x610 x611 x460 x612 x623 x212 x624 x627 x634 x635 x636 x640 x641 x645 x646 x647 x648 x649 x652 x380 x653 x654 x655 x656 x743 x477 x1597 x747 x175 x303 x748 x1598 x753 x340 x1600 x1601 x1609 x1613 x757 x1614 x759 x1615 x760 x408 x1616 x1617 x1606 x762 x120 x1620 x1622 x765 x510 x1626 x768 x374 x771 x1631 x1632 x1633 x772 x1635 x774 x1636 x776 x777 x1637 x178 x778 x186 x1639 x1640 x347 x781 x782 x1641 x783 x1642 x785 x787 x1643 x791 x792 x625 x1644 x796 x1647 x797 x1648 x521 x799 x1650 x800 x1819 x801 x91 x805 x806 x807 x587 x1862 x1823 x1863 x809 x811 x1864 x812 x813 x818 x410 x819 x1866 x822 x1867 x823 x824 x543 x372 x832 x9 x1877 x324 x833 x834 x835 x1879 x837 x839 x430 x840 x1880 x381 x328 x1884 x1886 x843 x330 x1660 x1887 x153 x845 x846 x48 x847 x849 x1889 x467 x851 x852 x1667 x856 x857 x1668 x858 x1890 x859 x860 x1895 x862 x1902 x574 x867 x869 x870 x871 x872 x1904 x1678 x361 x604 x877 x594 x1906 x1908 x495 x289 x571 x138 x194 x1915 x878 x417 x85 x36 x1916 x880 x1697 x1698 x1699 x883 x885 x887 x888 x544 x370 x1704 x1919 x893 x24 x896 x901 x903 x906 x221 x10 x909 x910 x913 x1931 x176 x917 x920 x919 x1934 x1719 x1935 x922 x75 x924 x925 x1873 x928 x1938 x1725 x1727 x929 x1939 x1941 x931 x279 x932 x327 x1730 x1946 x934 x1948 x90 x937 x938 x939 x940 x941 x942 x643 x943 x944 x1964 x1966 x947 x950 x1967 x952 x2170 x1746 x953 x1747 x2065 x2066 x401 x957 x132 x959 x958 x2067 x2177 x304 x1753 x961 x2188 x963 x2071 x371 x1649 x2075 x966 x2189 x969 x972 x626 x470 x975 x2192 x523 x473 x1762 x2195 x979 x97 x2197 x981 x2089 x2088 x2198 x1765 x109 x987 x1766 x2097 x990 x2099 x992 x995 x1965 x996 x481 x407 x482 x106 x483 x484 x998 x1602 x485 x1770 x999 x488 x489 x490 x1002 x2199 x511 x1006 x1010 x1012 x1922 x283 x2104 x1018 x110 x1778 x136 x1022 x1788 x1025 x2118 x384 x325 x1030 x1800 x250 x1803 x540 x1032 x266 x1034 x2218 x1039 x2135 x2219 x1812 x1043 x1045 x1044 x1049 x2139 x2220 x1817 x1820 x2144 x1051 x1052 x305 x1054 x1056 x1057 x2149 x553 x1828 x1061 x1064 x1065 x2156 x1067 x1835 x399 x2224 x1069 x86 x1610 x2227 x494 x1843 x84 x2164 x615 x1073 x1846 x614 x121 x1075 x1849 x2231 x1076 x1850 x1077 x1078 x2232 x1970 x2233 x1082 x1081 x1657 x562 x1084 x2234 x458 x546 x241 x2235 x122 x462 x1087 x1088 x1981 x1089 x1091 x1092 x1093 x2238 x1096 x1988 x1097 x1098 x1989 x81 x1099 x1101 x2239 x1104 x1103 x1105 x406 x1107 x2241 x1106 x1993 x476 x1109 x2246 x1110 x1111 x1112 x1115 x1117 x1116 x287 x28 x1118 x1120 x137 x1122 x1121 x1997 x99 x1123 x2000 x2260 x1128 x1127 x308 x1130 x1131 x1132 x280 x424 x1133 x1690 x1135 x1930 x1693 x1696 x1139 x1138 x1605 x1143 x1885 x1145 x2273 x425 x2274 x115 x559 x1869 x2276 x1151 x573 x1152 x23 x1708 x76 x1154 x300 x1156 x2277 x1157 x2024 x1942 x2026 x1163 x1712 x1164 x633 x1165 x1166 x1611 x2031 x1168 x1716 x1909 x71 x1169 x2240 x1717 x2301 x1171 x1172 x397 x2043 x2045 x2044 x1175 x2047 x2046 x2308 x209 x1177 x403 x1179 x416 x1728 x238 x2314 x1181 x1182 x1183 x1731 x1188 x2261 x310 x1191 x1193 x1194 x1739 x1195 x102 x2317 x1196 x1197 x452 x234 x1201 x2318 x1202 x457 x1203 x1205 x2062 x1206 x2063 x160 x1211 x1213 x2323 x1214 x1215 x2069 x1218 x1219 x1220 x642 x1223 x1224 x1225 x505 x1607 x1226 x2324 x1227 x2077 x301 x2079 x1228 x1229 x2326 x353 x396 x2262 x2084 x174 x98 x1231 x2093 x1235 x479 x598 x1629 x2341 x1237 x63 x1241 x1242 x1243 x1244 x1768 x1249 x1771 x1251 x210 x2344 x1255 x1612 x601 x1774 x1257 x2107 x142 x446 x1259 x1784 x1787 x2355 x1262 x1263 x2356 x182 x1264 x1265 x1790 x2357 x1267 x1268 x1269 x139 x2120 x1272 x1274 x1275 x236 x1277 x1279 x1281 x1282 x1283 x1284 x32 x1286 x1287 x1806 x1290 x1291 x2132 x1293 x1295 x2134 x1297 x1298 x262 x580 x1816 x629 x1303 x1304 x1306 x1310 x319 x1824 x1312 x2367 x2147 x2369 x1313 x96 x1881 x1827 x1829 x1315 x1316 x1830 x542 x1317 x1318 x1834 x1323 x1326 x1842 x2371 x2372 x1328 x1329 x2373 x1332 x439 x166 x2169 x1653 x398 x1974 x1340 x2374 x1341 x1977 x1342 x1343 x1346 x1978 x135 x1349 x2378 x277 x1351 x1352 x1353 x1354 x2379 x196 x52 x1361 x1362 x2381 x1986 x1365 x468 x448 x619 x1910 x471 x2 x1990 x318 x1368 x1669 x2393 x20 x1370 x1673 x1373 x1374 x1378 x1999 x45 x1679 x1680 x1683 x491 x25 x2003 x1686 x493 x1388 x1390 x1394 x545 x1395 x1396 x400 x1401 x1700 x2009 x1702 x1405 x1406 x622 x2010 x2012 x1407 x1703 x1408 x1409 x1410 x1411 x2016 x1706 x1414 x2396 x1417 x1418 x1419 x2397 x1422 x2025 x1423 x1425 x2029 x1427 x1715 x1428 x2380 x2032 x2034 x1430 x1432 x1433 x2035 x1437 x2036 x2400 x1438 x2041 x441 x1440 x1441 x199 x1442 x1721 x1447 x1722 x2048 x1448 x1449 x1724 x1451 x1453 x1454 x1458 x1459 x2413 x1460 x1461 x1462 x134 x181 x1463 x1464 x2057 x1465 x1466 x1468 x1742 x2058 x1470 x2059 x2061 x1474 x1475 x288 x1476 x2414 x1478 x1479 x2382 x2064 x1749 x1484 x335 x1486 x1489 x240 x1490 x1630 x2417 x465 x1492 x2418 x2419 x1495 x1758 x1496 x2420 x329 x1499 x130 x2083 x261 x1500 x1502 x1763 x1504 x1507 x1508 x1509 x2424 x1871 x1510 x1512 x1513 x2101 x1514 x225 x1515 x1518 x1521 x496 x1522 x387 x1524 x1525 x1526 x1776 x1777 x1528 x1779 x1780 x1781 x2112 x282 x1531 x2115 x1532 x1533 x1534 x1535 x445 x1538 x618 x2430 x1802 x1542 x1543 x1544 x1546 x1623 x1808 x2131 x414 x1547 x1549 x105 x2436 x405 x1556 x2401 x2140 x336 x385 x39 x1560 x2437 x1561 x1818 x526 x1563 x565 x2442 x2441 x1905 x2443 x1565 x2445 x2146 x1826 x509 x591 x1568 x2150 x1569 x1570 x1571 x2153 x1572 x1573 x285 x2446 x564 x1578 x2157 x1580 x1836 x570 x1584 x284 x1870 x1844 x1587 x2454 x2196 x2455 x1593 x1594 x637 x2458 x1595 x1596 x528 x118 x1971 x2948 x599 x658 x659 x660 x661 x1979 x662 x663 x191 x664 x1923 x1982 x665 x666 x667 x1984 x326 x668 x2956 x578 x669 x670 x1991 x671 x1947 x2484 x2172 x1670 x2325 x672 x673 x1674 x233 x674 x675 x676 x1994 x2961 x677 x678 x1677 x1928 x87 x2001 x1682 x679 x680 x681 x1687 x1924 x1688 x388 x682 x683 x1689 x684 x685 x686 x498 x1692 x687 x1694 x688 x689 x2171 x690 x185 x691 x412 x692 x693 x694 x695 x18 x696 x1619 x442 x1705 x2014 x697 x461 x2536 x2535 x1707 x698 x2019 x617 x2020 x699 x464 x700 x65 x1710 x2027 x156 x701 x2028 x702 x703 x704 x1714 x705 x2033 x706 x707 x708 x709 x710 x2038 x2040 x711 x712 x331 x713 x714 x715 x1949 x1723 x2049 x519 x197 x2970 x1726 x716 x2971 x2051 x717 x718 x719 x534 x720 x721 x722 x723 x724 x2052 x1732 x725 x726 x402 x1872 x2461 x727 x2285 x1736 x728 x729 x730 x168 x731 x2060 x1744 x732 x733 x735 x734 x1940 x129 x1752 x736 x1874 x737 x739 x738 x2074 x740 x204 x741 x2293 x38 x742 x88 x2312 x541 x1896 x744 x745 x198 x2092 x746 x220 x2094 x750 x749 x752 x751 x217 x754 x755 x756 x2100 x758 x492 x761 x72 x1773 x763 x764 x184 x2105 x766 x767 x73 x769 x770 x2110 x14 x1782 x773 x775 x2645 x1789 x2313 x454 x128 x344 x2121 x3006 x779 x1796 x2123 x2127 x780 x784 x2130 x786 x1807 x788 x2662 x789 x790 x3007 x793 x2138 x794 x795 x472 x1814 x1899 x2142 x798 x1921 x525 x802 x803 x1821 x804 x808 x315 x810 x814 x2151 x815 x2152 x2963 x2690 x816 x817 x68 x179 x486 x2158 x1837 x821 x820 x1839 x2162 x2163 x825 x826 x2166 x827 x828 x638 x830 x829 x2700 x1603 x831 x263 x411 x1656 x836 x838 x518 x89 x1920 x841 x621 x1878 x842 x1659 x3022 x108 x844 x1980 x2375 x57 x1661 x70 x848 x850 x853 x854 x855 x447 x83 x1671 x82 x861 x1675 x74 x863 x864 x865 x632 x866 x5 x868 x1998 x873 x2741 x2002 x876 x875 x874 x1638 x1936 x1684 x107 x1918 x183 x1876 x2004 x143 x1628 x879 x1691 x2462 x881 x177 x882 x884 x2007 x1701 x1599 x886 x889 x219 x890 x2015 x891 x892 x894 x895 x897 x898 x899 x900 x1709 x902 x180 x904 x2460 x349 x905 x907 x908 x193 x912 x911 x474 x914 x915 x244 x916 x918 x921 x1718 x2792 x923 x926 x568 x927 x2050 x1943 x930 x343 x2368 x933 x2800 x935 x936 x2291 x1735 x2055 x147 x1740 x945 x946 x948 x949 x951 x165 x954 x2817 x955 x1748 x956 x249 x1750 x960 x1917 x1891 x962 x2073 x964 x2959 x965 x2835 x968 x967 x970 x971 x973 x974 x976 x977 x590 x978 x1761 x579 x61 x2085 x980 x2087 x982 x2090 x478 x983 x985 x984 x986 x988 x2849 x1767 x989 x155 x59 x2098 x991 x345 x993 x1925 x994 x201 x1769 x151 x215 x997 x1000 x1001 x1004 x1003 x1005 x1618 x1007 x1009 x1008 x1011 x1013 x1014 x616 x1015 x1017 x1016 x3126 x1775 x1019 x1020 x1021 x216 x1786 x1023 x2114 x1024 x1791 x2117 x1026 x2245 x1027 x2881 x2242 x227 x1028 x657 x1029 x368 x2128 x1801 x1031 x520 x2129 x1804 x1809 x1033 x1035 x1036 x1037 x1810 x466 x149 x1038 x1040 x1041 x1042 x258 x1047 x1046 x1048 x152 x1815 x1050 x111 x2909 x2145 x4 x1053 x2383 x1055 x1059 x1058 x1060 x1832 x224 x1062 x1898 x1063 x2154 x1066 x1068 x245 x259 x195 x2160 x1840 x2932 x1070 x2934 x1071 x539 x1072 x2165 x256 x140 x1845 x1074 x146 x2960 x1654 x1079 x1080 x1973 x1897 x1608 x628 x1083 x1976 x3065 x239 x438 x1086 x1085 x1090 x78 x1662 x1663 x1094 x1664 x1095 x1665 x631 x469 x12 x1666 x3111 x1100 x1102 x1992 x169 x2487 x1108 x2964 x1113 x49 x1114 x150 x1119 x409 x1676 x2275 x145 x235 x1124 x1125 x3 x1126 x1685 x11 x2311 x1129 x373 x358 x600 x1134 x2516 x1695 x2006 x2444 x1136 x1137 x561 x603 x1140 x1627 x456 x1141 x1142 x1144 x1146 x1147 x1148 x1149 x1150 x2017 x2018 x1153 x557 x1155 x2541 x2022 x2023 x1158 x3157 x1159 x1161 x1160 x1162 x644 x575 x2554 x583 x2030 x1167 x200 x281 x1170 x2387 x2037 x1937 x322 x3150 x1173 x2296 x1174 x480 x3159 x2568 x1176 x2438 x576 x1178 x1180 x13 x1729 x508 x1184 x1185 x1187 x1186 x1734 x1189 x1190 x1912 x524 x1192 x2056 x1737 x202 x1741 x1907 x1743 x1198 x386 x1199 x1200 x79 x1204 x2599 x1207 x1208 x1210 x1209 x527 x1212 x1751 x2068 x463 x1217 x1216 x1754 x7 x2072 x1634 x2608 x2965 x1221 x2612 x1222 x605 x2370 x1757 x2078 x2080 x3124 x2082 x449 x1760 x1759 x1230 x2086 x1232 x2091 x1233 x1234 x1868 x1236 x2095 x1238 x1239 x1240 x2624 x1246 x1245 x170 x1247 x1248 x317 x1250 x226 x1252 x37 x1253 x2103 x1254 x3078 x1772 x1256 x2108 x2109 x1258 x1260 x164 x2111 x2113 x1261 x1266 x1270 x133 x1271 x2122 x443 x1797 x2654 x1799 x1273 x1888 x440 x1276 x2126 x1278 x1280 x1285 x275 x1289 x1288 x1292 x2133 x1294 x1811 x2281 x1296 x2137 x2136 x131 x2668 x1813 x1299 x1301 x503 x1300 x1302 x475 x1305 x1308 x1822 x1307 x1309 x1311 x1314 x94 x1319 x1320 x1321 x1322 x15 x3110 x2161 x1325 x1841 x1324 x431 x1327 x218 x1331 x1330 x1848 x27 x1333 x237 x1334 x1335 x1655 x2712 x2713 x1972 x321 x1336 x1975 x1865 x1339 x1338 x1337 x316 x1658 x1345 x1344 x1347 x459 x1348 x1350 x1355 x1356 x1357 x1621 x1983 x1358 x1360 x1359 x92 x1363 x1985 x1364 x1987 x1604 x1366 x1367 x254 x242 x265 x1369 x613 x1371 x1672 x1372 x2459 x1377 x1376 x1375 x1995 x1379 x1996 x1380 x1382 x1381 x1383 x299 x2739 x1385 x1384 x1681 x1386 x1387 x1389 x369 x1392 x1391 x1393 x19 x2005 x589 x1397 x323 x1398 x1399 x8 x1400 x1402 x2008 x404 x1404 x1403 x2011 x2013 x6 x1412 x144 x1413 x1415 x2770 x1911 x1416 x302 x2021 x1420 x1421 x1711 x1424 x1713 x311 x1426 x1929 x2783 x243 x3077 x1429 x1431 x1434 x1435 x2785 x1436 x113 x2039 x1439 x2042 x1720 x1444 x1443 x1445 x1446 x257 x1450 x255 x1452 x1457 x1456 x1455 x320 x154 x1733 x497 x2053 x2054 x148 x1738 x2447 x54 x1467 x1469 x453 x1471 x1472 x1473 x1477 x1745 x522 x1482 x1481 x1480 x1483 x1485 x2825 x1488 x1487 x2070 x1755 x1756 x276 x2962 x1491 x1875 x3154 x2076 x1493 x1494 x1497 x2081 x1498 x93 x2384 x630 x1501 x1503 x31 x124 x1764 x1506 x1505 x2096 x141 x1511 x2463 x2102 x558 x1516 x205 x1517 x1520 x1519 x2106 x1523 x1903 x1527 x1529 x1783 x1785 x2872 x1530 x3109 x455 x2116 x1793 x1792 x577 x1794 x2119 x1795 x529 x1798 x2125 x2124 x1536 x1537 x1540 x1539 x2888 x1541 x1805 x1545 x1548 x1551 x1550 x515 x1552 x1553 x1554 x1555 x572 x1557 x1558 x2141 x1559 x214 x1562 x2143 x2910 x1564 x3158 x620 x1825 x2148 x2912 x1567 x1566 x1831 x504 x1574 x1575 x2155 x1576 x1577 x1579 x1833 x487 x2159 x1838 x1582 x1581 x1583 x639 x1585 x3275 x286 x3274 x1586 x1588 x1589 x3127 x1590 x1847 x1592 x1591 x2167 x2168 ;

-

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi 

--1 x1 +1 x2 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x1 +1 x3 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x1 +1 x4 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.command.env.ui 1.1.1.v200807162242 

--1 x1 +1 x5 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 

--1 x1 +1 x6 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common.infopop 1.0.100.v200805301550 

--1 x1 +1 x7 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 

--1 x1 +1 x8 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common.snippets 1.1.200.v200805140415 

--1 x1 +1 x9 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x1 +1 x10 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.internet.cache 1.0.301.v200805140020 

--1 x1 +1 x11 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.validation.ui 1.2.1.v200807292117 

--1 x1 +1 x12 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 

--1 x1 +1 x13 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.validation.infopop 1.0.300.v200806041506 

--1 x1 +1 x14 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW requires either org.eclipse.wst.common_ui.feature.feature.jar 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW 

--1 x1 +1 x15 >= 0;

-* org.eclipse.uml2.common.edit 1.4.0.v200805131030 requires either org.eclipse.uml2.common 1.4.0.v200805131030 

--1 x17 +1 x18 >= 0;

-* org.eclipse.uml2.common.edit 1.4.0.v200805131030 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x17 +1 x19 >= 0;

-* org.eclipse.uml2.common.edit 1.4.0.v200805131030 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x17 +1 x20 >= 0;

-* org.eclipse.uml2.common.edit 1.4.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x17 +1 x21 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x21 +1 x23 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x21 +1 x24 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x21 +1 x25 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x21 +1 x26 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x21 +1 x27 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.core.contenttype 3.3.0.v20080604-1400 

--1 x21 +1 x28 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires optionaly either org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 

--1 x30 -1 x29>= -1 ;

- -1 x29 1 x31 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x21 +1 x32 >= 0;

-* org.eclipse.core.runtime 3.4.0.v20080512 requires optionaly either org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 

--1 x30 -1 x33>= -1 ;

- -1 x33 1 x31 >= 0;

- -1 x21 1 x30 1 x29 1 x33 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x35 +1 x36 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x35 +1 x37 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 

--1 x35 +1 x38 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x35 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x35 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x35 +1 x23 >= 0;

-* org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x35 +1 x23 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x40 +1 x41 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x44 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x44 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 

--1 x44 +1 x47 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 

--1 x44 +1 x48 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x44 +1 x23 >= 0;

-* org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x44 +1 x49 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x51 +1 x52 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x51 +1 x53 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x51 +1 x54 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x56 -1 x55>= -1 ;

- -1 x55 1 x57 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x56 -1 x58>= -1 ;

- -1 x58 1 x59 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x56 -1 x60>= -1 ;

- -1 x60 1 x61 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x56 -1 x62>= -1 ;

- -1 x62 1 x63 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x56 -1 x64>= -1 ;

- -1 x64 1 x41 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x51 +1 x61 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x51 +1 x59 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x51 +1 x65 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x51 +1 x41 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x56 -1 x66>= -1 ;

- -1 x66 1 x57 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x56 -1 x67>= -1 ;

- -1 x67 1 x68 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x56 -1 x69>= -1 ;

- -1 x69 1 x63 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x51 +1 x70 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x51 +1 x71 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x51 +1 x72 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x51 +1 x73 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x51 +1 x74 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x51 +1 x75 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.help 3.3.100.v20080610 

--1 x51 +1 x76 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x56 -1 x77>= -1 ;

- -1 x77 1 x78 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x51 +1 x79 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x51 +1 x80 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x51 +1 x81 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x51 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x51 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x51 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x51 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x51 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.eclipse.mail.ui 5.5.1 com.instantiations.eclipse.mail.ui 5.5.0 

--1 x51 +1 x92 +1 x93 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x51 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x51 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either com.instantiations.assist.eclipse.scheduler 5.5.0 com.instantiations.assist.eclipse.scheduler 5.5.1 

--1 x51 +1 x98 +1 x99 >= 0;

-* com.instantiations.assist.eclipse 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x51 +1 x21 >= 0;

- -1 x51 1 x56 1 x55 1 x58 1 x60 1 x62 1 x64 1 x66 1 x67 1 x69 1 x77 >= 0;

-* org.eclipse.wst.common.environment 1.0.201.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x101 +1 x21 >= 0;

-* org.eclipse.wst.common.environment 1.0.201.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x101 +1 x53 >= 0;

-* org.eclipse.wst.common.environment 1.0.201.v200805140020 requires either org.eclipse.osgi.util 3.1.300.v20080303 

--1 x101 +1 x102 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ 

--1 x104 +1 x105 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I 

--1 x104 +1 x106 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.ocl.source.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x104 +1 x107 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.ocl.uml.source.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x104 +1 x108 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.emf.ocl.doc.feature.group 1.2.0.v200805130238-108Y7w311916241349 

--1 x104 +1 x109 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.emf.ocl.source.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x104 +1 x110 >= 0;

-* org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq requires either org.eclipse.ocl.all.sdk.feature.jar 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq 

--1 x104 +1 x111 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x112 +1 x21 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires either org.apache.ant 1.7.0.v200803061910 

--1 x112 +1 x113 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x112 +1 x80 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x112 +1 x114 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x112 +1 x115 >= 0;

-* org.eclipse.emf.ant 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x117 -1 x116>= -1 ;

- -1 x116 1 x118 >= 0;

- -1 x112 1 x117 1 x116 >= 0;

-* org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 

--1 x119 +1 x120 >= 0;

-* org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 

--1 x119 +1 x121 >= 0;

-* org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 

--1 x119 +1 x122 >= 0;

-* org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.feature.group 0.7.0.v200806130939 

--1 x119 +1 x123 >= 0;

-* org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.feature.jar 0.7.0.v200806130939 

--1 x119 +1 x124 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 

--1 x126 +1 x127 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 

--1 x126 +1 x128 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x126 +1 x129 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x126 +1 x53 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x126 +1 x130 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x126 +1 x131 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x126 +1 x21 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x126 +1 x132 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x126 +1 x114 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x126 +1 x54 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x126 +1 x57 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x126 +1 x59 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x126 +1 x61 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x126 +1 x133 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x126 +1 x134 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 

--1 x126 +1 x135 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x126 +1 x136 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x126 +1 x137 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x126 +1 x138 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 

--1 x126 +1 x139 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x126 +1 x140 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 

--1 x126 +1 x141 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either com.ibm.icu 3.8.1.v20080530 

--1 x126 +1 x142 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 

--1 x126 +1 x143 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 

--1 x126 +1 x144 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x126 +1 x145 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x126 +1 x19 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x126 +1 x146 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x126 +1 x147 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.platform 3.3.100.v200806172000 

--1 x126 +1 x148 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x126 +1 x63 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.help 3.3.100.v20080610 

--1 x126 +1 x76 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x126 +1 x78 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x126 +1 x149 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either com.ibm.icu 3.8.1.v20080530 

--1 x126 +1 x142 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x126 +1 x150 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x126 +1 x72 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x126 +1 x134 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x126 +1 x138 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x126 +1 x150 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 

--1 x126 +1 x141 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 

--1 x126 +1 x151 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 

--1 x126 +1 x135 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 

--1 x126 +1 x143 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 

--1 x126 +1 x152 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 

--1 x126 +1 x153 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 

--1 x126 +1 x154 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 

--1 x126 +1 x155 >= 0;

-* org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 requires either org.eclipse.tptp.lta.log.feature.jar 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 

--1 x126 +1 x156 >= 0;

-* org.eclipse.core.resources 3.4.0.v20080604-1400 requires optionaly either org.eclipse.ant.core 3.2.0.v20080529 

--1 x158 -1 x157>= -1 ;

- -1 x157 1 x80 >= 0;

-* org.eclipse.core.resources 3.4.0.v20080604-1400 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x53 +1 x159 >= 0;

-* org.eclipse.core.resources 3.4.0.v20080604-1400 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x53 +1 x160 >= 0;

-* org.eclipse.core.resources 3.4.0.v20080604-1400 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x53 +1 x21 >= 0;

- -1 x53 1 x158 1 x157 >= 0;

-* org.eclipse.pde.p2.feature.group 1.0.0.v20080522-1--7w3119171503111 requires either org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x163 +1 x164 >= 0;

-* org.eclipse.pde.p2.feature.group 1.0.0.v20080522-1--7w3119171503111 requires either org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 

--1 x163 +1 x165 >= 0;

-* org.eclipse.pde.p2.feature.group 1.0.0.v20080522-1--7w3119171503111 requires either org.eclipse.pde.p2.feature.jar 1.0.0.v20080522-1--7w3119171503111 

--1 x163 +1 x166 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x167 +1 x54 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x167 +1 x53 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x167 +1 x63 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x167 +1 x61 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x167 +1 x57 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x167 +1 x59 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x167 +1 x132 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x167 +1 x168 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x167 +1 x75 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x167 +1 x41 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x167 +1 x74 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x167 +1 x21 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x167 +1 x133 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 

--1 x167 +1 x169 >= 0;

-* org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x167 +1 x170 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x173 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x173 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x173 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x173 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x173 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x173 +1 x177 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x173 +1 x178 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x173 +1 x179 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 

--1 x173 +1 x180 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x173 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x173 +1 x182 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x173 +1 x183 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 

--1 x173 +1 x184 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 

--1 x173 +1 x185 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 

--1 x173 +1 x186 >= 0;

-* org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x187 +1 x54 >= 0;

-* org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x187 +1 x21 >= 0;

-* org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x187 +1 x53 >= 0;

-* org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x187 +1 x132 >= 0;

-* org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x187 +1 x168 >= 0;

-* org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x190 +1 x191 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x192 +1 x53 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x192 +1 x21 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x192 +1 x63 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x192 +1 x57 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x192 +1 x41 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x192 +1 x10 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.dtd.core 1.1.200.v200805140200 

--1 x192 +1 x193 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x192 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x192 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x192 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.wst.xml.ui 1.0.401.v200807240448 

--1 x192 +1 x200 +1 x201 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x192 +1 x10 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x192 +1 x202 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x192 +1 x136 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.301.v200808072012 requires either com.ibm.icu 3.8.1.v20080530 

--1 x192 +1 x142 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x203 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x203 +1 x53 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 

--1 x203 +1 x204 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x203 +1 x145 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x203 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x203 +1 x19 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x203 +1 x170 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x203 +1 x147 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x203 +1 x57 >= 0;

-* org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 

--1 x203 +1 x205 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x208 +1 x209 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x208 +1 x27 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x208 +1 x54 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x208 +1 x21 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either a.jre 1.6.0 

--1 x208 +1 x210 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either a.jre 1.6.0 

--1 x208 +1 x210 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x208 +1 x23 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x211 +1 x149 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x211 +1 x53 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either com.ibm.icu 3.8.1.v20080530 

--1 x211 +1 x142 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x211 +1 x130 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x211 +1 x150 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x211 +1 x72 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x211 +1 x150 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 

--1 x211 +1 x141 >= 0;

-* org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 requires either org.eclipse.tptp.lta.gla.runtime.feature.jar 4.5.0.v200805132041-7879-8s733I3D6B5878 

--1 x211 +1 x212 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x213 +1 x214 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x213 +1 x215 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x213 +1 x145 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x213 +1 x170 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x213 +1 x216 +1 x217 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x213 +1 x21 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x213 +1 x53 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x213 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x213 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x213 +1 x159 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x223 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 

--1 x223 +1 x205 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui 2.4.0.v200806091234 

--1 x223 +1 x224 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x223 +1 x54 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x223 +1 x225 >= 0;

-* org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x127 +1 x54 >= 0;

-* org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x127 +1 x21 >= 0;

-* org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 

--1 x127 +1 x153 >= 0;

-* org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 

--1 x127 +1 x226 >= 0;

-* org.eclipse.tptp.lta.sdb.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.lta.sdb.epi.feature.jar 4.5.0.v200805132041-44-7w311916243152 

--1 x127 +1 x227 >= 0;

-* org.eclipse.emf.validation.doc 1.2.0.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x229 +1 x76 >= 0;

-* org.eclipse.emf.teneo.doc 1.0.0.v200806111928 requires either org.eclipse.help 3.3.100.v20080610 

--1 x231 +1 x76 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x232 +1 x233 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x232 +1 x234 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x232 +1 x235 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x232 +1 x236 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x232 +1 x237 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x232 +1 x3 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x232 +1 x238 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x232 +1 x4 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools 0.8.0.v200806130600 

--1 x232 +1 x239 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 

--1 x232 +1 x240 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 

--1 x232 +1 x241 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 

--1 x232 +1 x242 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 

--1 x232 +1 x243 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 

--1 x232 +1 x244 >= 0;

-* org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.feature.jar 0.8.0.v200806130600 

--1 x232 +1 x245 >= 0;

-* com.swtdesigner.properties.java5 1.0.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x248 +1 x21 >= 0;

-* com.swtdesigner.properties.java5 1.0.0 requires either com.swtdesigner 6.7.0.200806270151 com.swtdesigner 6.7.1.200809050053 

--1 x248 +1 x249 +1 x250 >= 0;

-* com.swtdesigner.properties.java5 1.0.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x248 +1 x70 >= 0;

-* com.swtdesigner.properties.java5 1.0.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x248 +1 x54 >= 0;

-* org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 requires either org.eclipse.help 3.3.100.v20080610 

--1 x251 +1 x76 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x253 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x253 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x253 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x253 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x253 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x253 +1 x256 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x253 +1 x257 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x253 +1 x159 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x253 +1 x258 >= 0;

-* org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x253 +1 x259 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x260 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x260 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x264 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x264 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x264 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x264 +1 x266 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x267 +1 x23 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x267 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x267 +1 x23 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x269 -1 x268>= -1 ;

- -1 x268 1 x49 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x267 +1 x49 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x267 +1 x27 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x267 +1 x49 >= 0;

-* org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x267 +1 x23 >= 0;

- -1 x267 1 x269 1 x268 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x272 +1 x54 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x272 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x274 -1 x273>= -1 ;

- -1 x273 1 x140 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x272 +1 x275 +1 x276 +1 x277 >= 0;

- -1 x272 1 x274 1 x273 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x278 +1 x279 +1 x280 +1 x281 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x 

--1 x278 +1 x282 +1 x283 +1 x284 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x 

--1 x278 +1 x285 +1 x286 +1 x287 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 

--1 x278 +1 x288 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 

--1 x278 +1 x289 >= 0;

-* org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.mylyn.feature.jar 0.7.1.I20080612-1500 

--1 x278 +1 x290 >= 0;

-* org.eclipse.equinox.cm 1.0.0.v20080509-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x291 +1 x23 >= 0;

-* org.eclipse.equinox.cm 1.0.0.v20080509-1800 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x291 +1 x49 >= 0;

-* org.eclipse.equinox.cm 1.0.0.v20080509-1800 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x291 +1 x49 >= 0;

-* org.eclipse.equinox.cm 1.0.0.v20080509-1800 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x293 -1 x292>= -1 ;

- -1 x292 1 x49 >= 0;

-* org.eclipse.equinox.cm 1.0.0.v20080509-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x291 +1 x23 >= 0;

- -1 x291 1 x293 1 x292 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x298 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x298 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x298 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x298 +1 x57 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x298 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x298 +1 x61 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x298 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x298 +1 x70 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x298 +1 x71 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x298 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x298 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x298 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x298 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x298 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 

--1 x298 +1 x301 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 

--1 x298 +1 x302 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x298 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x298 +1 x304 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x298 +1 x73 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x298 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x298 +1 x305 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x298 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires optionaly either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x307 -1 x306>= -1 ;

- -1 x306 1 x308 >= 0;

-* org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x298 +1 x160 >= 0;

- -1 x298 1 x307 1 x306 >= 0;

-* org.eclipse.xsd.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x309 +1 x21 >= 0;

-* org.eclipse.xsd.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x309 +1 x132 >= 0;

-* org.eclipse.xsd.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x309 +1 x310 >= 0;

-* org.eclipse.xsd.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.feature.jar 2.4.0.v200806091234 

--1 x309 +1 x311 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x314 +1 x54 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x314 +1 x315 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x314 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x314 +1 x159 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x314 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x314 +1 x53 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x314 +1 x63 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x314 +1 x81 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x314 +1 x317 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x314 +1 x61 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x314 +1 x140 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x314 +1 x57 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x314 +1 x59 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x314 +1 x41 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x314 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x314 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x314 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x314 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x314 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x314 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x314 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x314 +1 x331 >= 0;

-* org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x333 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x333 +1 x23 >= 0;

-* org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x333 +1 x23 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x334 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x334 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x334 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 

--1 x334 +1 x335 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 

--1 x334 +1 x336 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x339 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x339 +1 x340 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires optionaly either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x342 -1 x341>= -1 ;

- -1 x341 1 x343 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires either org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 

--1 x339 +1 x344 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires either javax.wsdl 1.4.0.v200806030407 

--1 x339 +1 x345 >= 0;

-* org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x342 -1 x346>= -1 ;

- -1 x346 1 x347 >= 0;

- -1 x339 1 x342 1 x341 1 x346 >= 0;

-* org.eclipse.birt.chart.device.extension 2.3.0.v20080424 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x348 +1 x349 >= 0;

-* org.eclipse.birt.chart.device.extension 2.3.0.v20080424 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x348 +1 x191 >= 0;

-* org.eclipse.net4j.jvm 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x352 -1 x351>= -1 ;

- -1 x351 1 x21 >= 0;

-* org.eclipse.net4j.jvm 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x350 +1 x353 >= 0;

-* org.eclipse.net4j.jvm 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x352 -1 x354>= -1 ;

- -1 x354 1 x23 >= 0;

- -1 x350 1 x352 1 x351 1 x354 >= 0;

-* org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x357 +1 x358 >= 0;

-* org.eclipse.net4j.db.mysql 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x360 +1 x21 >= 0;

-* org.eclipse.net4j.db.mysql 1.0.0.v200806180305 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x360 +1 x361 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x367 +1 x45 +1 x46 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x367 +1 x45 +1 x46 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x367 +1 x368 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x367 +1 x368 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x367 +1 x368 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x367 +1 x368 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x367 +1 x45 +1 x46 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x367 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either org.apache.commons.el 1.0.0.v200806031608 

--1 x367 +1 x374 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x367 +1 x331 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x376 -1 x375>= -1 ;

- -1 x375 1 x113 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x376 -1 x377>= -1 ;

- -1 x377 1 x113 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x376 -1 x378>= -1 ;

- -1 x378 1 x113 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x376 -1 x379>= -1 ;

- -1 x379 1 x113 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x367 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x367 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x367 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.jasper 5.5.17.v200806031609 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x367 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x367 1 x376 1 x375 1 x377 1 x378 1 x379 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x383 +1 x384 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x383 +1 x385 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x383 +1 x386 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x383 +1 x21 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.buckminster.maven 1.1.0.r09319 

--1 x383 +1 x387 >= 0;

-* org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 requires either org.eclipse.buckminster.maven.feature.feature.jar 1.1.0.r09319 

--1 x383 +1 x388 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200806270030 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x95 +1 x96 +1 x97 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x95 +1 x21 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200806270030 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x95 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200806270030 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x394 -1 x393>= -1 ;

- -1 x393 1 x54 >= 0;

- -1 x95 1 x394 1 x393 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x395 +1 x4 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt 3.4.0.v20080603-2000 

--1 x395 +1 x396 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.ant.ui 3.3.0.v20080529 

--1 x395 +1 x397 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 

--1 x395 +1 x398 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 

--1 x395 +1 x399 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 

--1 x395 +1 x400 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 

--1 x395 +1 x401 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.compiler.tool 1.0.100.v_874 

--1 x395 +1 x402 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x395 +1 x70 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 

--1 x395 +1 x403 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x395 +1 x404 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x395 +1 x405 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x395 +1 x406 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 

--1 x395 +1 x407 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 

--1 x395 +1 x408 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x395 +1 x73 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x395 +1 x71 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.junit 3.8.2.v20080602-1318 

--1 x395 +1 x409 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.junit4 4.3.1 

--1 x395 +1 x410 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 

--1 x395 +1 x411 >= 0;

-* org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x395 +1 x412 >= 0;

-* org.eclipse.emf.common 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x114 +1 x21 >= 0;

-* org.eclipse.ant.core 3.2.0.v20080529 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x80 +1 x414 >= 0;

-* org.eclipse.ant.core 3.2.0.v20080529 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x80 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x415 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x415 +1 x115 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x415 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x415 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x415 +1 x73 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x415 +1 x54 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x415 +1 x57 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x415 +1 x146 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ui 2.4.0.v200806091234 

--1 x415 +1 x416 >= 0;

-* org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ui.feature.jar 2.4.0.v200806091234 

--1 x415 +1 x417 >= 0;

-* org.eclipse.ecf.doc 1.3.0.v20080623-0046 requires either org.eclipse.help 3.3.100.v20080610 

--1 x423 +1 x76 >= 0;

-* org.eclipse.ecf.doc 1.3.0.v20080623-0046 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x423 +1 x424 >= 0;

-* org.eclipse.ecf.doc 1.3.0.v20080623-0046 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x423 +1 x425 >= 0;

-* org.eclipse.ecf.doc 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x423 +1 x54 >= 0;

-* com.xored.swt.composer 1.3.4.200809042225 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x427 +1 x72 >= 0;

-* com.xored.swt.composer 1.3.4.200809042225 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x427 +1 x21 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x429 +1 x78 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x429 +1 x21 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.apache.jasper 5.5.17.v200806031609 

--1 x429 +1 x367 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 

--1 x429 +1 x430 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 

--1 x429 +1 x431 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x429 +1 x45 +1 x46 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x429 +1 x45 +1 x46 >= 0;

-* org.eclipse.help.webapp 3.3.100.v20080528 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x429 +1 x49 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x433 +1 x54 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x433 +1 x315 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x433 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x433 +1 x159 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x433 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x433 +1 x53 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x433 +1 x63 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x433 +1 x81 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x433 +1 x317 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x433 +1 x61 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x433 +1 x140 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x433 +1 x57 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x433 +1 x59 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x433 +1 x41 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x433 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x433 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x433 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x433 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x433 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x433 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x433 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x433 +1 x331 >= 0;

-* org.eclipse.core.expressions 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x159 +1 x21 >= 0;

-* org.eclipse.core.expressions 3.4.0.v20080603-2000 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x159 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x434 +1 x54 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x434 +1 x21 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x434 +1 x168 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x434 +1 x114 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x434 +1 x53 >= 0;

-* org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x434 +1 x132 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.cvs.source 1.0.100.v20080603 

--1 x437 +1 x438 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.core.source 3.3.100.I20080605 

--1 x437 +1 x439 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ssh.source 3.2.100.I20080604 

--1 x437 +1 x440 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ssh2.source 3.2.200.I20080604 

--1 x437 +1 x441 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ui.source 3.3.100.I20080604 

--1 x437 +1 x442 >= 0;

-* org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.cvs.source.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x437 +1 x443 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x444 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x444 +1 x446 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 

--1 x444 +1 x447 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x444 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x444 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x444 +1 x449 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 requires either com.ibm.icu 3.8.1.v20080530 

--1 x444 +1 x142 >= 0;

-* org.python.pydev.jython 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x451 +1 x21 >= 0;

-* org.python.pydev.jython 1.3.20 requires either org.python.pydev.core 0.9.7 org.python.pydev.core 1.3.19 org.python.pydev.core 1.0.4 org.python.pydev.core 1.3.16 org.python.pydev.core 1.2.1 org.python.pydev.core 1.1.0 org.python.pydev.core 1.3.9 org.python.pydev.core 1.2.6 org.python.pydev.core 1.3.18 org.python.pydev.core 1.0.5 org.python.pydev.core 1.3.8 org.python.pydev.core 1.3.17 org.python.pydev.core 1.2.7 org.python.pydev.core 1.0.2 org.python.pydev.core 1.3.0 org.python.pydev.core 1.2.8 org.python.pydev.core 1.3.14 org.python.pydev.core 1.3.7 org.python.pydev.core 1.3.20 org.python.pydev.core 1.0.3 org.python.pydev.core 0.9.8 org.python.pydev.core 1.2.9 org.python.pydev.core 1.3.1 org.python.pydev.core 1.3.6 org.python.pydev.core 1.3.15 org.python.pydev.core 1.3.12 org.python.pydev.core 1.3.5 org.python.pydev.core 1.2.2 org.python.pydev.core 1.0.8 org.python.pydev.core 1.3.4 org.python.pydev.core 1.3.13 org.python.pydev.core 1.2.3 org.python.pydev.core 0.9.8.3 org.python.pydev.core 0.9.8.2 org.python.pydev.core 0.9.8.1 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.7.99 org.python.pydev.core 1.3.10 org.python.pydev.core 0.9.8.6 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev.core 1.3.3 org.python.pydev.core 1.0.6 org.python.pydev.core 0.9.5 org.python.pydev.core 1.0.1 org.python.pydev.core 1.2.5 org.python.pydev.core 1.3.2 org.python.pydev.core 1.3.11 org.python.pydev.core 1.0.7 

--1 x451 +1 x16 +1 x452 +1 x453 +1 x454 +1 x455 +1 x456 +1 x34 +1 x457 +1 x458 +1 x459 +1 x460 +1 x461 +1 x462 +1 x463 +1 x464 +1 x465 +1 x466 +1 x467 +1 x468 +1 x469 +1 x470 +1 x471 +1 x472 +1 x473 +1 x474 +1 x475 +1 x476 +1 x477 +1 x478 +1 x479 +1 x480 +1 x252 +1 x481 +1 x482 +1 x483 +1 x484 +1 x485 +1 x486 +1 x487 +1 x488 +1 x489 +1 x490 +1 x491 +1 x492 +1 x493 +1 x494 +1 x495 +1 x496 +1 x497 +1 x498 >= 0;

-* org.python.pydev.jython 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x451 +1 x54 >= 0;

-* org.python.pydev.jython 1.3.20 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x451 +1 x133 >= 0;

-* org.python.pydev.jython 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x451 +1 x63 >= 0;

-* org.python.pydev.jython 1.3.20 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x500 -1 x499>= -1 ;

- -1 x499 1 x409 >= 0;

- -1 x451 1 x500 1 x499 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x502 +1 x114 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x502 +1 x168 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 

--1 x502 +1 x503 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x502 +1 x21 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x502 +1 x53 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x502 +1 x170 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.examples 2.0.0.v200806101117 

--1 x502 +1 x504 >= 0;

-* org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.examples.feature.jar 2.0.0.v200806101117 

--1 x502 +1 x505 >= 0;

-* org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 requires either org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha 

--1 x507 +1 x508 >= 0;

-* org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 requires either org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN 

--1 x507 +1 x509 >= 0;

-* org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 requires either org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 

--1 x507 +1 x510 >= 0;

-* org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 requires either org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 

--1 x507 +1 x511 >= 0;

-* org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 requires either org.eclipse.datatools.enablement.oda.designer.feature.feature.jar 1.6.0.v200804021-21-8s733I3C7F4K63 

--1 x507 +1 x222 >= 0;

-* org.eclipse.swt.widgets.baseline 1.1.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x512 +1 x72 >= 0;

-* org.eclipse.swt.widgets.baseline 1.1.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x512 +1 x21 >= 0;

-* org.eclipse.swt.widgets.baseline 1.1.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x512 +1 x54 >= 0;

-* org.eclipse.core.resources.win32.x86 3.4.0.v20071204 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x513 +1 x53 >= 0;

-* org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x514 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x514 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x514 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x514 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 

--1 x514 +1 x515 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x516 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x516 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x516 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x516 +1 x57 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x516 +1 x118 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x516 +1 x147 >= 0;

-* org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x516 +1 x19 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x517 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x517 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x517 +1 x70 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x517 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x517 +1 x146 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x517 +1 x308 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x517 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x517 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x517 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x517 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x517 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x517 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x517 +1 x74 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x517 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x517 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 

--1 x517 +1 x522 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x517 +1 x147 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x517 +1 x145 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x517 +1 x523 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 

--1 x517 +1 x524 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 

--1 x517 +1 x525 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 

--1 x517 +1 x526 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 

--1 x517 +1 x527 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 

--1 x517 +1 x528 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.runtime.feature.jar 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 

--1 x517 +1 x529 >= 0;

-* org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x47 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x47 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x47 +1 x23 >= 0;

-* org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x47 +1 x49 >= 0;

-* org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x530 +1 x54 >= 0;

-* org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x530 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x533 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x533 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x533 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x533 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x533 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x533 +1 x258 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.viewer 2.3.0.v20080606 

--1 x533 +1 x534 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x536 -1 x535>= -1 ;

- -1 x535 1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x533 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x533 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x533 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x533 +1 x303 >= 0;

- -1 x533 1 x536 1 x535 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 

--1 x123 +1 x539 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 

--1 x123 +1 x540 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 

--1 x123 +1 x541 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x123 +1 x542 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 

--1 x123 +1 x543 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 

--1 x123 +1 x544 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 

--1 x123 +1 x545 >= 0;

-* org.eclipse.emf.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.feature.jar 0.7.0.v200806130939 

--1 x123 +1 x546 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x26 +1 x24 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x26 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires optionaly either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x548 -1 x547>= -1 ;

- -1 x547 1 x25 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x548 -1 x549>= -1 ;

- -1 x549 1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x548 -1 x550>= -1 ;

- -1 x550 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x548 -1 x551>= -1 ;

- -1 x551 1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x26 +1 x23 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x26 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.registry 3.4.0.v20080516-0950 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x26 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x26 1 x548 1 x547 1 x549 1 x550 1 x551 >= 0;

-* org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x41 +1 x21 >= 0;

-* org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x41 +1 x159 >= 0;

-* org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x41 +1 x63 >= 0;

-* org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x41 +1 x54 >= 0;

-* org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x41 +1 x553 +1 x142 >= 0;

-* org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A requires either org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ 

--1 x556 +1 x557 >= 0;

-* org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A requires either org.eclipse.draw2d.source.feature.group 3.4.0.v20080115-33-7w3119163_ 

--1 x556 +1 x558 >= 0;

-* org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A requires either org.eclipse.draw2d.sdk.feature.jar 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A 

--1 x556 +1 x559 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x560 +1 x21 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x560 +1 x146 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x560 +1 x115 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x560 +1 x118 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x560 +1 x170 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x560 +1 x53 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x560 +1 x57 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x560 +1 x140 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x560 +1 x70 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x560 +1 x63 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x560 +1 x561 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x560 +1 x71 >= 0;

-* org.eclipse.gmf.common 1.1.1.v20080610-1132 requires either org.eclipse.gmf.xpand 1.1.0.v20080528-1052 

--1 x560 +1 x562 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 

--1 x563 +1 x564 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 

--1 x563 +1 x565 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires optionaly either org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 

--1 x567 -1 x566>= -1 ;

- -1 x566 1 x568 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires optionaly either org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 

--1 x567 -1 x569>= -1 ;

- -1 x569 1 x570 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm 

--1 x563 +1 x571 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 

--1 x563 +1 x572 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 

--1 x563 +1 x573 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.crosstab.feature.group 2.3.0.v20070920-45-8s733I3E3E 

--1 x563 +1 x574 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x563 +1 x575 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x563 +1 x65 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt 2.3.0.v20080304 

--1 x563 +1 x576 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.chart.reportitem 2.3.0.v20080610 

--1 x563 +1 x577 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 

--1 x563 +1 x578 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 

--1 x563 +1 x579 >= 0;

-* org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 requires either org.eclipse.birt.feature.jar 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 

--1 x563 +1 x580 >= 0;

- -1 x563 1 x567 1 x566 1 x569 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x582 +1 x21 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x582 +1 x36 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x582 +1 x37 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x582 +1 x583 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x582 +1 x54 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x582 +1 x140 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x582 +1 x159 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x582 +1 x68 +1 x63 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires either org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x582 +1 x68 +1 x63 >= 0;

-* org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x585 -1 x584>= -1 ;

- -1 x584 1 x61 >= 0;

- -1 x582 1 x585 1 x584 >= 0;

-* org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x586 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x586 +1 x145 >= 0;

-* org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 

--1 x586 +1 x587 >= 0;

-* org.eclipse.xsd.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.doc 2.4.0.v200806091234 

--1 x588 +1 x589 >= 0;

-* org.eclipse.xsd.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 

--1 x588 +1 x590 >= 0;

-* org.eclipse.xsd.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.doc.feature.jar 2.4.0.v200806091234 

--1 x588 +1 x591 >= 0;

-* org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x593 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x593 +1 x594 >= 0;

-* org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x595 +1 x21 >= 0;

-* org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x595 +1 x53 >= 0;

-* com.windowtester.swt.runtime.legacy 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x596 +1 x54 >= 0;

-* com.windowtester.swt.runtime.legacy 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x596 +1 x21 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x597 +1 x598 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either javax.xml.soap 1.2.0.v200806030421 

--1 x597 +1 x599 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either org.apache.axis 1.4.0.v200807230600 org.apache.axis 1.4.0.v200806030120 

--1 x597 +1 x600 +1 x601 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x597 +1 x21 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x597 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x597 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x597 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x602 +1 x21 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x602 +1 x53 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x602 +1 x603 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires either org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 

--1 x602 +1 x604 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x602 +1 x605 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x607 -1 x606>= -1 ;

- -1 x606 1 x516 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires optionaly either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x607 -1 x608>= -1 ;

- -1 x608 1 x112 >= 0;

-* org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x607 -1 x609>= -1 ;

- -1 x609 1 x113 >= 0;

- -1 x602 1 x607 1 x606 1 x608 1 x609 >= 0;

-* org.eclipse.emf.transaction.doc 1.2.0.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x610 +1 x76 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x612 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x612 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x612 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ 

--1 x612 +1 x616 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 

--1 x612 +1 x617 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 

--1 x612 +1 x618 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 

--1 x612 +1 x619 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 

--1 x612 +1 x620 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 

--1 x612 +1 x621 >= 0;

-* org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK requires either org.eclipse.datatools.enablement.apache.derby.feature.feature.jar 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK 

--1 x612 +1 x622 >= 0;

-* org.eclipse.team.svn.nl1.sources.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 

--1 x624 +1 x625 >= 0;

-* org.eclipse.team.svn.nl1.sources.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.nl1.sources.feature.jar 0.7.1.I20080612-1500 

--1 x624 +1 x626 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x627 +1 x628 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.ui 0.7.1.I20080612-1500 

--1 x627 +1 x629 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 

--1 x627 +1 x630 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 

--1 x627 +1 x631 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 

--1 x627 +1 x632 >= 0;

-* org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.nl1.feature.jar 0.7.1.I20080612-1500 

--1 x627 +1 x633 >= 0;

-* org.eclipse.emf.workspace.doc 1.2.0.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x635 +1 x76 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x636 +1 x23 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x636 +1 x21 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x636 +1 x637 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x636 +1 x638 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x636 +1 x70 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x636 +1 x73 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x636 +1 x53 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x636 +1 x68 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x636 +1 x639 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x636 +1 x80 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either org.objectweb.asm 3.1.0.v200803061910 

--1 x636 +1 x392 >= 0;

-* org.eclipse.pde.api.tools 1.0.0.v20080529-1150 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x636 +1 x553 +1 x142 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x641 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x641 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x641 +1 x19 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x641 +1 x170 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x641 +1 x642 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 

--1 x641 +1 x643 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 

--1 x641 +1 x205 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 

--1 x641 +1 x204 >= 0;

-* org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore.feature.jar 2.4.0.v200806091234 

--1 x641 +1 x644 >= 0;

-* org.eclipse.swt.win32.win32.x86 3.4.0.v3448f requires either org.eclipse.swt 3.4.0.v3448f 

--1 x645 +1 x72 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x649 +1 x54 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x649 +1 x21 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x649 +1 x53 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x649 +1 x75 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x649 +1 x63 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x649 +1 x70 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x649 +1 x71 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x649 +1 x73 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200809042027 requires optionaly either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x651 -1 x650>= -1 ;

- -1 x650 1 x637 >= 0;

- -1 x649 1 x651 1 x650 >= 0;

-* org.eclipse.jet.core 1.1.0.v20080415 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x652 +1 x68 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x654 +1 x21 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x654 +1 x114 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x654 +1 x132 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x654 +1 x20 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x654 +1 x170 >= 0;

-* org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.feature.jar 2.4.0.v200806091234 

--1 x654 +1 x189 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x655 +1 x24 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x655 +1 x26 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x655 +1 x36 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x655 +1 x25 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x655 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x655 +1 x23 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x655 +1 x49 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x655 +1 x23 >= 0;

-* org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x655 +1 x23 >= 0;

-* toolingorg.eclipse.equinox.launcher 1.0.100.v20080509-1800 requires either org.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x656 +1 x657 >= 0;

-* toolingorg.eclipse.equinox.launcher 1.0.100.v20080509-1800 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x656 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x175 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x175 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x175 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x175 +1 x59 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x175 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x175 +1 x183 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x175 +1 x159 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either com.ibm.icu 3.8.1.v20080530 

--1 x175 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x175 +1 x178 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x175 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.help 3.3.100.v20080610 

--1 x175 +1 x76 >= 0;

-* org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x175 +1 x181 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x303 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x303 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x303 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x303 +1 x65 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x303 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x303 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x303 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x303 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.gef 3.4.0.v20080526 

--1 x303 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x303 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x303 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x303 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x303 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x303 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x303 +1 x258 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x748 +1 x24 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x748 +1 x927 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x748 +1 x32 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x748 +1 x875 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 

--1 x748 +1 x1469 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x748 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x748 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x748 +1 x927 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x748 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x748 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x748 +1 x875 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x748 +1 x875 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x748 +1 x848 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 

--1 x748 +1 x1165 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x748 +1 x840 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x748 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x748 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x748 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x748 +1 x875 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x748 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x748 +1 x875 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x748 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x748 +1 x23 >= 0;

-* org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x748 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1598 +1 x315 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1598 +1 x53 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1598 +1 x21 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1598 +1 x971 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x1598 +1 x984 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1598 +1 x140 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1598 +1 x54 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1598 +1 x183 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1598 +1 x1495 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1598 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1598 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1598 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1598 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1598 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1598 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1598 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1598 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x1598 +1 x282 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x 

--1 x1598 +1 x786 >= 0;

-* org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x1598 +1 x1599 >= 0;

-* org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x340 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x340 +1 x142 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x233 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x309 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1602 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1603 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1604 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1605 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1606 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.source.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x1607 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.doc.feature.group 2.4.0.v200806091234 

--1 x1601 +1 x588 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.example.installer 1.0.0.v200806091234 

--1 x1601 +1 x1145 >= 0;

-* org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.sdk.feature.jar 2.4.0.v200806091234 

--1 x1601 +1 x1608 >= 0;

-* org.eclipse.emf.ecoretools.sdk.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 

--1 x1609 +1 x232 >= 0;

-* org.eclipse.emf.ecoretools.sdk.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.doc.feature.group 0.8.0.v200806130600 

--1 x1609 +1 x1610 >= 0;

-* org.eclipse.emf.ecoretools.sdk.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.source.feature.group 0.8.0.v200806130600 

--1 x1609 +1 x1611 >= 0;

-* org.eclipse.emf.ecoretools.sdk.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.sdk.feature.jar 0.8.0.v200806130600 

--1 x1609 +1 x1612 >= 0;

-* org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 requires either org.junit4 4.3.1 

--1 x408 +1 x410 >= 0;

-* org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 requires either org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 

--1 x408 +1 x407 >= 0;

-* org.eclipse.team.svn.sources.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.sources 0.7.1.I20080612-1500 

--1 x1617 +1 x1067 >= 0;

-* org.eclipse.team.svn.sources.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.sources.feature.jar 0.7.1.I20080612-1500 

--1 x1617 +1 x1618 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1606 +1 x21 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1606 +1 x53 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1606 +1 x310 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1606 +1 x605 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.exporter 2.4.0.v200806091234 

--1 x1606 +1 x850 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 

--1 x1606 +1 x726 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 

--1 x1606 +1 x736 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 

--1 x1606 +1 x904 >= 0;

-* org.eclipse.xsd.ecore.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.ecore.converter.feature.jar 2.4.0.v200806091234 

--1 x1606 +1 x1619 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x762 +1 x54 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x762 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x762 +1 x1300 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x762 +1 x264 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x762 +1 x449 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x762 +1 x266 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x762 +1 x776 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x762 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x762 +1 x57 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x762 +1 x445 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x762 +1 x1571 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 requires either org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 

--1 x762 +1 x240 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 

--1 x120 +1 x122 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x120 +1 x54 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x120 +1 x21 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x120 +1 x53 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x120 +1 x132 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x120 +1 x19 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x120 +1 x969 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x120 +1 x776 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x120 +1 x1411 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x120 +1 x603 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x120 +1 x775 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x120 +1 x730 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x120 +1 x825 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ui 0.7.0.v200806130939 

--1 x120 +1 x729 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x120 +1 x1300 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 

--1 x120 +1 x975 >= 0;

-* org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.feature.jar 0.7.0.v200806130939 

--1 x120 +1 x554 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1620 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 

--1 x1620 +1 x1350 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1620 +1 x875 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x1620 +1 x848 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1620 +1 x840 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 

--1 x1620 +1 x905 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x1620 +1 x1376 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1620 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x1620 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1620 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x1620 +1 x927 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 

--1 x1620 +1 x700 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1620 +1 x36 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1620 +1 x655 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x1620 +1 x709 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x1620 +1 x796 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x1620 +1 x688 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x1620 +1 x660 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x1620 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 

--1 x1620 +1 x926 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x1620 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.sat4j.core 2.0.0.v20080602 

--1 x1620 +1 x747 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.sat4j.pb 2.0.0.v20080602 

--1 x1620 +1 x1327 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x1620 +1 x209 >= 0;

-* org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.generator.feature.feature.jar 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W 

--1 x1620 +1 x1621 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x1622 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x1622 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x1622 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 

--1 x1622 +1 x758 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 

--1 x1622 +1 x515 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 

--1 x1622 +1 x514 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x1622 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN requires either org.eclipse.datatools.enablement.mysql.feature.feature.jar 1.6.0.v200804021-441_kE77c7QASCMPN 

--1 x1622 +1 x1623 >= 0;

-* org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x765 +1 x21 >= 0;

-* org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x765 +1 x361 >= 0;

-* org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server 1.0.0.v200806180411 

--1 x765 +1 x1484 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x510 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x510 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x510 +1 x257 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 

--1 x510 +1 x339 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 

--1 x510 +1 x511 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires either javax.wsdl 1.4.0.v200806030407 

--1 x510 +1 x345 >= 0;

-* org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x1625 -1 x1624>= -1 ;

- -1 x1624 1 x347 >= 0;

- -1 x510 1 x1625 1 x1624 >= 0;

-* org.eclipse.emf.compare.sdk.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 

--1 x1626 +1 x1627 >= 0;

-* org.eclipse.emf.compare.sdk.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.doc.feature.group 0.8.0.v200806180301 

--1 x1626 +1 x1628 >= 0;

-* org.eclipse.emf.compare.sdk.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.source.feature.group 0.8.0.v200806180301 

--1 x1626 +1 x1629 >= 0;

-* org.eclipse.emf.compare.sdk.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.sdk.feature.jar 0.8.0.v200806180301 

--1 x1626 +1 x1630 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x374 +1 x45 +1 x46 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x374 +1 x45 +1 x46 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x374 +1 x368 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x374 +1 x368 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x374 +1 x368 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x374 +1 x368 >= 0;

-* org.apache.commons.el 1.0.0.v200806031608 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x374 +1 x45 +1 x46 >= 0;

-* org.w3c.dom.smil 1.0.0.v200806040011 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x771 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1633 +1 x21 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x1633 +1 x118 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1633 +1 x53 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1633 +1 x70 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.converter 2.4.0.v200806091234 

--1 x1633 +1 x895 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1633 +1 x605 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.exporter 2.4.0.v200806091234 

--1 x1633 +1 x850 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.importer.ecore 2.4.0.v200806091234 

--1 x1633 +1 x1505 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.importer.java 2.4.0.v200806091234 

--1 x1633 +1 x1245 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.importer.rose 2.4.0.v200806091234 

--1 x1633 +1 x911 >= 0;

-* org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.converter.feature.jar 2.4.0.v200806091234 

--1 x1633 +1 x1634 >= 0;

-* org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x774 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x774 +1 x132 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x776 +1 x54 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x776 +1 x21 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x776 +1 x132 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x776 +1 x53 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x776 +1 x19 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x776 +1 x57 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x776 +1 x147 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x776 +1 x969 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x776 +1 x170 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x776 +1 x178 >= 0;

-* org.eclipse.emf.search.ui 0.7.0.v200806130939 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x776 +1 x751 >= 0;

-* org.eclipse.emf.validation.ui 1.2.0.v200805130238 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x777 +1 x940 >= 0;

-* org.eclipse.emf.validation.ui 1.2.0.v200805130238 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x777 +1 x54 >= 0;

-* org.eclipse.emf.validation.ui 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x777 +1 x21 >= 0;

-* org.eclipse.emf.validation.ui 1.2.0.v200805130238 requires either com.ibm.icu 3.8.1.v20080530 

--1 x777 +1 x142 >= 0;

-* org.eclipse.emf.validation.ui 1.2.0.v200805130238 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x777 +1 x133 >= 0;

-* org.eclipse.uml2.examples.source.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples.source 2.2.0.v200805131030 

--1 x1637 +1 x436 >= 0;

-* org.eclipse.uml2.examples.source.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples.source.feature.jar 2.2.0.v200805131030 

--1 x1637 +1 x1638 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x178 +1 x21 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x178 +1 x159 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x178 +1 x160 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x178 +1 x639 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x178 +1 x53 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x178 +1 x1012 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x178 +1 x68 >= 0;

-* org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x178 +1 x553 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x186 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x186 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x186 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x186 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x186 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x186 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x186 +1 x78 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 

--1 x186 +1 x1042 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x186 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x186 +1 x1114 >= 0;

-* org.apache.xerces 2.9.0.v200805270400 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x347 +1 x23 >= 0;

-* org.apache.xerces 2.9.0.v200805270400 requires either javax.xml 1.3.4.v200806030440 

--1 x347 +1 x371 >= 0;

-* org.apache.xerces 2.9.0.v200805270400 requires either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x347 +1 x1175 >= 0;

-* org.apache.xerces 2.9.0.v200805270400 requires either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x347 +1 x998 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x781 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x781 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x781 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x781 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x781 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x781 +1 x1441 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x781 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.vm 1.0.0.v20070515 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x781 +1 x23 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x782 +1 x1377 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x782 +1 x257 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x782 +1 x54 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x782 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x782 +1 x63 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x782 +1 x349 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 requires either com.ibm.icu 3.8.1.v20080530 

--1 x782 +1 x142 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x783 +1 x948 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x783 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x783 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x783 +1 x23 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x783 +1 x49 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x783 +1 x49 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x783 +1 x49 >= 0;

-* org.eclipse.equinox.ds 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x783 +1 x23 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either javax.servlet 2.5.0.v200806031605 

--1 x785 +1 x45 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either javax.servlet 2.5.0.v200806031605 

--1 x785 +1 x45 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 

--1 x785 +1 x47 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x785 +1 x1394 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.mortbay.jetty.server 6.1.7.v200806031612 

--1 x785 +1 x908 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x785 +1 x23 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x785 +1 x49 >= 0;

-* org.eclipse.equinox.http.jetty 2.0.0.v20080425 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x785 +1 x23 >= 0;

-* org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 requires either org.eclipse.help 3.3.100.v20080610 

--1 x792 +1 x76 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x796 +1 x24 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x796 +1 x36 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x796 +1 x655 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x796 +1 x26 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires optionaly either org.eclipse.core.net 1.1.0.I20080604 

--1 x1646 -1 x1645>= -1 ;

- -1 x1645 1 x316 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x796 +1 x25 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x796 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x796 +1 x23 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x796 +1 x49 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x796 +1 x23 >= 0;

-* org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x796 +1 x23 >= 0;

- -1 x796 1 x1646 1 x1645 >= 0;

-* org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x797 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x797 +1 x145 >= 0;

-* org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 

--1 x797 +1 x1431 >= 0;

-* org.eclipse.net4j.examples.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples.source 1.0.0.v200806180305 

--1 x1648 +1 x988 >= 0;

-* org.eclipse.net4j.examples.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples.source.feature.jar 1.0.0.v200806180305 

--1 x1648 +1 x1649 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x521 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x521 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x521 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x521 +1 x710 >= 0;

-* org.eclipse.team.cvs.ssh 3.2.100.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x799 +1 x21 >= 0;

-* org.eclipse.team.cvs.ssh 3.2.100.I20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x799 +1 x53 >= 0;

-* org.eclipse.team.cvs.ssh 3.2.100.I20080604 requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x799 +1 x1294 >= 0;

-* org.eclipse.team.cvs.ssh 3.2.100.I20080604 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x799 +1 x971 >= 0;

-* tooling.source.default 1.0.0 requires optionaly either org.eclipse.gmf.runtime.diagram.ui.providers.ide.source 1.1.0.v20080425-1959 org.eclipse.equinox.io.source 1.0.0.v20080218 org.eclipse.equinox.simpleconfigurator.manipulator.source 1.0.0.v20080427-2136 org.eclipse.jdt.debug.ui.source 3.3.0.v20080603 org.eclipse.ui.win32.source 3.2.100.v20080408-0800 org.junit4.source 4.3.1 org.eclipse.osgi.services.source 3.1.200.v20071203 org.eclipse.update.core.win32.source 3.2.100.v20080107 org.eclipse.cvs.source 1.0.100.v20080603 org.eclipse.text.source 3.4.0.v20080605-1800 org.eclipse.equinox.http.registry.source 1.0.100.v20080427-0830 org.eclipse.equinox.transforms.hook.source 1.0.0.v20080610 org.eclipse.jface.databinding.source 1.2.0.I20080515-2000a org.eclipse.gmf.runtime.emf.core.source 1.1.0.v20080425-1959 org.eclipse.mylyn.trac.core.source 3.0.2.v20080918-1100-e3x org.eclipse.ui.intro.source 3.2.200.v20080610 org.eclipse.jface.source 3.4.0.I20080606-1300 org.eclipse.jdt.launching.source 3.4.0.v20080529-1300 org.eclipse.equinox.jsp.jasper.registry.source 1.0.0.v20080427-0830 org.eclipse.equinox.jsp.jasper.source 1.0.100.v20080427-0830 org.eclipse.ui.editors.source 3.4.0.v20080603-2000 org.eclipse.gmf.bridge.ui.source 1.1.100.v20080417-1610 org.eclipse.equinox.p2.directorywatcher.source 1.0.0.v20080505-1850 org.eclipse.equinox.http.jetty.source 1.1.0.v20080425 org.eclipse.equinox.log.source 1.1.0.v20080414 org.eclipse.equinox.servletbridge.source 1.0.100.v20080427-0830 org.eclipse.help.appserver.source 3.1.300.v20080507 org.eclipse.equinox.ds.source 1.0.0.v20080427-0830 org.eclipse.gmf.codegen.source 2.1.0.v20080610-1132 org.eclipse.equinox.security.source 1.0.0.v20080512-1800 org.eclipse.jdt.ui.source 3.4.0.v20080603-2000 org.eclipse.help.source 3.3.100.v20080610 org.eclipse.gmf.map.source 2.1.0.v20080521 org.eclipse.core.databinding.source 1.1.0.I20080527-2000 org.eclipse.gmf.runtime.diagram.ui.source 1.1.0.v20080610-1132 org.eclipse.osgi.source 3.4.0.v20080605-1900 org.eclipse.equinox.p2.updatechecker.source 1.0.0.v20080427-2136 javax.servlet.jsp.source 2.0.0.v200806031607 org.apache.ant.source 1.7.0.v200803061910 org.eclipse.pde.ui.templates.source 3.4.0.v20080514-1500 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.source 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.properties.source 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.notation.edit.source 1.1.0.v20080507-1326 org.eclipse.gmf.runtime.draw2d.ui.render.awt.source 1.1.0.v20080603-1553 org.apache.lucene.source 1.9.1.v20080530-1600 org.eclipse.gmf.runtime.common.ui.action.source 1.1.0.v20080425-1959 org.eclipse.core.commands.source 3.4.0.I20080509-2000 org.eclipse.ui.externaltools.source 3.2.0.v20080514-1542 org.eclipse.ui.workbench.source 3.4.0.I20080606-1300 org.eclipse.gmf.graphdef.source 2.0.100.v20080528-1052 org.eclipse.pde.api.tools.source 1.0.0.v20080529-1150 org.eclipse.gmf.tooldef.edit.source 2.0.0.v20080610-1132 org.eclipse.ui.source 3.4.0.I20080610-1200 org.eclipse.jdt.compiler.apt.source 1.0.100.v20080513-1235 org.eclipse.equinox.p2.artifact.repository.source 1.0.0.v20080609-0850 org.eclipse.pde.build.source 3.4.0.v20080604 org.eclipse.equinox.p2.garbagecollector.source 1.0.0.v20080506-1939 org.eclipse.equinox.p2.engine.source 1.0.0.v20080522-1735 org.eclipse.ui.console.source 3.3.0.v20080529-1300 org.eclipse.rcp.source 3.4.0.v20080507 org.eclipse.gmf.graphdef.codegen.ui.source 1.0.100.v20080425-1959 org.eclipse.gmf.graphdef.codegen.source 2.0.100.v20080528-1052 org.eclipse.core.resources.compatibility.source 3.4.0.v20080604-1400 org.eclipse.gmf.runtime.emf.ui.properties.source 1.1.0.v20080425-1959 org.eclipse.equinox.p2.touchpoint.natives.source 1.0.0.v20080505-1850 org.eclipse.equinox.device.source 1.0.1.v20080303 org.eclipse.gmf.validate.source 1.1.0.v20080603-1553 org.eclipse.jsch.core.source 1.1.100.I20080604 org.eclipse.team.cvs.ui.source 3.3.100.I20080604 org.eclipse.jdt.junit.source 3.4.0.v20080603-2000 org.eclipse.jdt.debug.source 3.4.0.v20080604 org.eclipse.equinox.p2.exemplarysetup.source 1.0.0.v20080427-2136 org.eclipse.ui.presentations.r21.source 3.2.100.I20080512-2000 org.eclipse.ant.ui.source 3.3.0.v20080529 org.eclipse.gmf.runtime.draw2d.ui.source 1.1.0.v20080610-1132 org.eclipse.jdt.core.source 3.4.0.v_874 org.eclipse.equinox.p2.ui.sdk.source 1.0.0.v20080605-1731 org.eclipse.jdt.core.manipulation.source 1.2.0.v20080603-2000 org.eclipse.equinox.launcher.source 1.0.100.v20080509-1800 org.eclipse.ui.net.source 1.0.0.I20080605 org.eclipse.gmf.codegen.edit.source 2.1.0.v20080610-1132 org.eclipse.update.core.source 3.2.200.v20080515 org.eclipse.ui.workbench.compatibility.source 3.2.0.I20080509-2000 org.objectweb.asm.source 3.1.0.v200803061910 org.eclipse.equinox.p2.extensionlocation.source 1.0.0.v20080523-0001 org.eclipse.gmf.xpand.editor.source 1.0.0.v20080425-1959 org.eclipse.team.cvs.ssh2.source 3.2.200.I20080604 org.eclipse.core.expressions.source 3.4.0.v20080603-2000 org.eclipse.gmf.bridge.ui.dashboard.source 2.0.0.v20080417-1610 org.eclipse.equinox.preferences.source 3.2.200.v20080421-2006 org.eclipse.gmf.runtime.common.ui.source 1.1.0.v20080512-1200 org.eclipse.gmf.runtime.common.ui.printing.source 1.1.0.v20080425-1959 org.eclipse.team.ui.source 3.4.0.I20080604 org.eclipse.gmf.runtime.common.ui.services.dnd.source 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.notation.source 1.1.0.v20080507-1326 org.eclipse.jdt.apt.core.source 3.3.100.v20080513-1235 org.eclipse.jdt.junit4.runtime.source 1.0.200.v20080603-2000 org.eclipse.ant.core.source 3.2.0.v20080529 org.eclipse.gmf.runtime.common.ui.printing.win32.source 1.1.0.v20080612-1355 org.eclipse.core.resources.source 3.4.0.v20080604-1400 org.eclipse.emf.mint.source 0.7.0.v200806172223 org.eclipse.equinox.p2.metadata.repository.source 1.0.0.v20080604 org.eclipse.pde.junit.runtime.source 3.4.0.v20080529-1800 org.eclipse.compare.source 3.4.0.I20080604 org.eclipse.equinox.event.source 1.1.0.v20080225 org.eclipse.jdt.apt.pluggable.core.source 1.0.100.v20080407-1345 org.eclipse.update.scheduler.source 3.2.100.v20080404 org.eclipse.gmf.runtime.draw2d.ui.render.source 1.1.0.v20080507-2230 net.sourceforge.lpg.lpgjavaruntime.source 1.1.0.v200803061910 org.eclipse.gmf.runtime.diagram.ui.printing.render.source 1.1.0.v20080425-1959 org.eclipse.core.jobs.source 3.4.0.v20080512 org.eclipse.pde.api.tools.ui.source 1.0.0.v20080603 org.eclipse.ui.intro.universal.source 3.2.200.v20080508 org.eclipse.equinox.security.win32.x86.source 1.0.0.v20080529-1600 org.eclipse.gmf.xpand.source 1.1.0.v20080528-1052 org.eclipse.jface.text.source 3.4.0.v20080603-2000 org.eclipse.ui.views.source 3.3.0.I20080509-2000 org.eclipse.update.ui.source 3.2.100.v20080318 org.eclipse.ui.ide.source 3.4.0.I20080606-1300 org.eclipse.equinox.p2.jarprocessor.source 1.0.0.v20080514-1900 org.eclipse.gmf.ecore.editor.source 2.0.100.v20080610-1132 org.eclipse.pde.core.source 3.4.0.v20080604-2000 org.eclipse.equinox.http.servletbridge.source 1.0.0.v20080427-0830 org.eclipse.ui.ide.application.source 1.0.0.I20080603-2000 org.eclipse.gmf.tooling.source 2.1.0.v20080425-1959 org.eclipse.osgi.util.source 3.1.300.v20080303 org.eclipse.update.configurator.source 3.2.200.v20080417 org.apache.commons.logging.source 1.0.4.v20080605-1930 org.eclipse.gmf.runtime.diagram.ui.providers.source 1.1.0.v20080503-1740 org.eclipse.equinox.util.source 1.0.0.v20080414 org.eclipse.jdt.compiler.tool.source 1.0.100.v_874 org.eclipse.gmf.runtime.emf.type.core.source 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.emf.ui.source 1.1.0.v20080516-1748 org.junit.source 3.8.2.v20080602-1318 org.eclipse.gmf.runtime.common.ui.action.ide.source 1.1.0.v20080425-1959 org.eclipse.mylyn.jira.core.source 3.0.2.v20080918-1100-e3x org.eclipse.pde.source 3.4.0.v20080603 org.eclipse.core.contenttype.source 3.3.0.v20080604-1400 org.eclipse.gmf.runtime.common.ui.services.dnd.ide.source 1.1.0.v20080425-1959 org.eclipse.equinox.ip.source 1.0.0.v20080218 org.eclipse.jdt.junit.runtime.source 3.3.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.dnd.source 1.1.0.v20080425-1959 org.eclipse.equinox.registry.source 3.4.0.v20080516-0950 org.eclipse.gmf.runtime.common.ui.services.source 1.1.0.v20080612-1229 org.eclipse.equinox.p2.metadata.generator.source 1.0.0.v20080604 org.eclipse.gmf.tooldef.source 2.0.0.v20080417-1610 org.eclipse.gmf.runtime.common.ui.services.action.source 1.1.0.v20080507-2230 org.eclipse.ui.views.log.source 1.0.0.v20080522-2200 org.eclipse.equinox.app.source 1.1.0.v20080421-2006 org.eclipse.equinox.p2.director.source 1.0.0.v20080604 org.eclipse.gmf.graphdef.edit.source 2.0.100.v20080610-1132 org.eclipse.equinox.cm.source 1.0.0.v20080509-1800 org.eclipse.mylyn.trac.ui.source 3.0.2.v20080918-1100-e3x org.eclipse.core.filesystem.source 1.2.0.v20080604-1400 org.eclipse.gmf.common.source 1.1.1.v20080610-1132 org.eclipse.equinox.http.servlet.source 1.0.100.v20080427-0830 org.eclipse.core.databinding.beans.source 1.1.0.I20080508-2000a org.eclipse.gmf.runtime.notation.providers.source 1.1.0.v20080425-1959 org.eclipse.equinox.frameworkadmin.source 1.0.0.v20080430-1750 org.eclipse.equinox.p2.ui.source 1.0.0.v20080530-1237 org.eclipse.ui.navigator.resources.source 3.3.100.I20080606-1300 org.eclipse.gmf.runtime.diagram.ui.properties.source 1.1.0.v20080603-1553 org.eclipse.gmf.runtime.emf.clipboard.core.source 1.1.0.v20080425-1959 org.apache.lucene.analysis.source 1.9.1.v20080530-1600 org.eclipse.equinox.metatype.source 1.0.0.v20070827 org.eclipse.ui.views.properties.tabbed.source 3.4.0.I20080527-2000 org.apache.jasper.source 5.5.17.v200806031609 org.eclipse.gmf.runtime.emf.type.ui.source 1.1.0.v20080425-1959 org.eclipse.help.ui.source 3.3.100.v20080521 org.eclipse.gmf.bridge.source 1.1.0.v20080528-1052 org.eclipse.core.filebuffers.source 3.4.0.v20080603-2000 org.mortbay.jetty.source 5.1.14.v200806031611 org.eclipse.equinox.frameworkadmin.equinox.source 1.0.0.v20080529-1225 org.eclipse.jsch.ui.source 1.1.100.I20080415 org.eclipse.equinox.p2.metadata.source 1.0.0.v20080514-1900 org.eclipse.gmf.runtime.diagram.ui.geoshapes.source 1.1.0.v20080503-1740 org.eclipse.team.cvs.ssh.source 3.2.100.I20080604 org.eclipse.gmf.runtime.common.core.source 1.1.0.v20080425-1959 org.eclipse.equinox.wireadmin.source 1.0.0.v20080407 org.eclipse.core.runtime.compatibility.auth.source 3.2.100.v20070502 org.eclipse.ui.browser.source 3.2.200.v20080507 org.eclipse.ltk.ui.refactoring.source 3.4.0.v20080605-1800 org.eclipse.gmf.runtime.gef.ui.source 1.1.0.v20080503-1740 org.eclipse.equinox.p2.reconciler.dropins.source 1.0.0.v20080611 org.eclipse.equinox.p2.touchpoint.eclipse.source 1.0.0.v20080529-1225 org.eclipse.core.runtime.source 3.4.0.v20080512 org.eclipse.mylyn.jira.ui.source 3.0.2.v20080918-1100-e3x org.eclipse.core.variables.source 3.2.100.v20080529-1300 org.eclipse.gmf.runtime.diagram.ui.resources.editor.source 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.diagram.ui.actions.source 1.1.0.v20080603-1553 org.eclipse.pde.ui.source 3.4.0.v20080530 org.eclipse.search.source 3.4.0.v20080603-2000 org.eclipse.ui.workbench.texteditor.source 3.4.0.v20080603-2000 org.eclipse.equinox.p2.updatesite.source 1.0.0.v20080529-1800 org.eclipse.team.core.source 3.4.0.I20080605 org.eclipse.equinox.common.source 3.4.0.v20080421-2006 org.eclipse.equinox.simpleconfigurator.source 1.0.0.v20080604 org.eclipse.equinox.p2.core.source 1.0.0.v20080530-1237 org.apache.commons.el.source 1.0.0.v200806031608 org.eclipse.gmf.map.edit.source 2.1.0.v20080610-1132 org.eclipse.help.webapp.source 3.3.100.v20080528 org.eclipse.gmf.runtime.diagram.ui.printing.source 1.1.0.v20080501-1739 org.eclipse.equinox.transforms.xslt.source 1.0.0.v20080610 org.eclipse.pde.runtime.source 3.4.0.v20080530-1200 org.eclipse.ltk.core.refactoring.source 3.4.0.v20080603-2000 org.eclipse.jdt.apt.ui.source 3.3.100.v20080407-1345 org.eclipse.gmf.codegen.ui.source 1.1.0.v20080512-1200 org.eclipse.gmf.runtime.diagram.ui.render.source 1.1.0.v20080603-1553 org.eclipse.ui.navigator.source 3.3.100.I20080606-1300 org.eclipse.platform.source 3.3.100.v200806172000 org.eclipse.jdt.source 3.4.0.v20080603-2000 com.ibm.icu.source 3.8.1.v20080530 org.eclipse.gmf.runtime.emf.commands.core.source 1.1.0.v20080425-1959 org.eclipse.debug.ui.source 3.4.0.v20080529-1300 org.eclipse.equinox.p2.console.source 1.0.0.v20080514-1900 org.eclipse.debug.core.source 3.4.0.v20080612 org.eclipse.help.base.source 3.3.100.v20080617 org.eclipse.equinox.p2.director.app.source 1.0.0.v20080604 org.eclipse.gmf.source 1.0.0.v20080425-1959 org.eclipse.equinox.useradmin.source 1.1.0.v20080508-1815 org.eclipse.equinox.http.source 1.0.200.v20080421-2006 org.eclipse.pde.p2.ui.source 1.0.0.v20080604-2000 org.eclipse.core.runtime.compatibility.source 3.2.0.v20071008 org.eclipse.ui.cheatsheets.source 3.3.100.v20080508 org.eclipse.emf.mint.ui.source 0.7.0.v200806172223 org.eclipse.core.net.source 1.1.0.I20080604 org.eclipse.ui.forms.source 3.3.100.v20080611 org.eclipse.swt.win32.win32.x86.source 3.4.0.v3448f javax.servlet.source 2.4.0.v200806031604 org.eclipse.equinox.security.ui.source 1.0.0.v20080603-1810 org.eclipse.team.cvs.core.source 3.3.100.I20080605 org.eclipse.core.runtime.compatibility.registry.source 3.2.200.v20080610 org.eclipse.gmf.runtime.diagram.core.source 1.1.0.v20080425-1959 

--1 x1652 -1 x1651>= -1 ;

- -1 x1651 1 x1653 1 x1654 1 x1655 1 x1656 1 x22 1 x1657 1 x43 1 x1658 1 x438 1 x1659 1 x1660 1 x1661 1 x161 1 x1662 1 x1663 1 x1664 1 x1665 1 x206 1 x1666 1 x1667 1 x1668 1 x1669 1 x1670 1 x228 1 x1671 1 x1672 1 x1673 1 x1674 1 x1675 1 x1676 1 x1677 1 x1678 1 x1679 1 x1680 1 x270 1 x1681 1 x271 1 x1682 1 x1683 1 x1684 1 x1685 1 x294 1 x1686 1 x295 1 x1687 1 x1688 1 x296 1 x1689 1 x1690 1 x1691 1 x1692 1 x1693 1 x338 1 x1694 1 x1695 1 x1696 1 x1697 1 x1698 1 x1699 1 x359 1 x1700 1 x362 1 x1701 1 x363 1 x1702 1 x390 1 x1703 1 x1704 1 x442 1 x1705 1 x1706 1 x1707 1 x1708 1 x1709 1 x418 1 x1710 1 x419 1 x1711 1 x1712 1 x421 1 x1713 1 x1714 1 x1715 1 x1716 1 x428 1 x1717 1 x441 1 x1718 1 x1719 1 x1720 1 x1721 1 x1722 1 x1723 1 x1724 1 x1725 1 x1726 1 x1727 1 x1728 1 x1729 1 x1730 1 x1731 1 x1732 1 x1733 1 x1734 1 x1735 1 x1736 1 x1737 1 x1738 1 x1739 1 x1740 1 x1741 1 x1742 1 x581 1 x1743 1 x1744 1 x1745 1 x1746 1 x1747 1 x1748 1 x1749 1 x611 1 x1750 1 x1751 1 x1752 1 x1753 1 x1754 1 x1755 1 x1756 1 x640 1 x1757 1 x1758 1 x1759 1 x1760 1 x1761 1 x1762 1 x1763 1 x1764 1 x1765 1 x1766 1 x1767 1 x1768 1 x1769 1 x1770 1 x1614 1 x1771 1 x1772 1 x1773 1 x1774 1 x1775 1 x1776 1 x1777 1 x1778 1 x1779 1 x1632 1 x1631 1 x1780 1 x1781 1 x1782 1 x1783 1 x1784 1 x1785 1 x1786 1 x1787 1 x1636 1 x1788 1 x1789 1 x1790 1 x1791 1 x1792 1 x1793 1 x1794 1 x1795 1 x1796 1 x1797 1 x1798 1 x1799 1 x440 1 x1800 1 x1639 1 x1640 1 x1801 1 x1802 1 x1803 1 x1642 1 x1804 1 x1805 1 x1806 1 x1807 1 x1808 1 x1809 1 x1643 1 x1810 1 x1811 1 x1812 1 x1813 1 x1814 1 x1815 1 x1816 1 x1817 1 x1818 1 x1819 1 x1820 1 x1821 1 x1822 1 x1823 1 x1824 1 x1825 1 x1826 1 x1827 1 x1828 1 x1829 1 x1830 1 x1831 1 x1832 1 x1833 1 x1834 1 x1835 1 x1836 1 x1837 1 x1838 1 x1839 1 x1840 1 x1841 1 x1842 1 x1843 1 x1844 1 x1845 1 x1846 1 x1847 1 x1848 1 x439 1 x1849 1 x1850 >= 0;

- -1 x1650 1 x1652 1 x1651 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x91 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x91 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x91 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1852 -1 x1851>= -1 ;

- -1 x1851 1 x57 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1852 -1 x1853>= -1 ;

- -1 x1853 1 x59 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1852 -1 x1854>= -1 ;

- -1 x1854 1 x61 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1852 -1 x1855>= -1 ;

- -1 x1855 1 x63 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1852 -1 x1856>= -1 ;

- -1 x1856 1 x41 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1852 -1 x1857>= -1 ;

- -1 x1857 1 x57 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1852 -1 x1858>= -1 ;

- -1 x1858 1 x140 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x1852 -1 x1859>= -1 ;

- -1 x1859 1 x68 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1852 -1 x1860>= -1 ;

- -1 x1860 1 x63 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x91 +1 x523 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x91 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x91 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x91 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x91 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x91 +1 x74 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x91 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.help 3.3.100.v20080610 

--1 x91 +1 x76 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x1852 -1 x1861>= -1 ;

- -1 x1861 1 x78 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x91 +1 x79 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x91 +1 x80 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x91 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x91 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x91 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x91 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x91 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.swt.graph 5.5.1 com.instantiations.swt.graph 5.5.0 

--1 x91 +1 x928 +1 x824 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x91 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x91 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x91 +1 x21 >= 0;

- -1 x91 1 x1852 1 x1851 1 x1853 1 x1854 1 x1855 1 x1856 1 x1857 1 x1858 1 x1859 1 x1860 1 x1861 >= 0;

-* com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x805 +1 x70 >= 0;

-* org.eclipse.equinox.device 1.0.1.v20080303 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x806 +1 x23 >= 0;

-* org.eclipse.equinox.device 1.0.1.v20080303 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x806 +1 x49 >= 0;

-* org.eclipse.equinox.device 1.0.1.v20080303 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x806 +1 x49 >= 0;

-* org.eclipse.equinox.device 1.0.1.v20080303 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x806 +1 x23 >= 0;

-* org.eclipse.equinox.device 1.0.1.v20080303 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x806 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x807 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x807 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 

--1 x807 +1 x47 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x807 +1 x1106 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x807 +1 x1106 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x807 +1 x1106 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x807 +1 x23 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x807 +1 x49 >= 0;

-* org.eclipse.equinox.http.jetty 1.1.0.v20080425 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x807 +1 x23 >= 0;

-* org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x587 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x587 +1 x132 >= 0;

-* org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x587 +1 x594 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x809 +1 x21 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x809 +1 x628 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x811 +1 x21 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x811 +1 x159 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x811 +1 x53 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x811 +1 x63 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x811 +1 x61 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x811 +1 x81 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x811 +1 x70 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x811 +1 x71 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x811 +1 x516 >= 0;

-* org.eclipse.emf.mint.ui 0.7.0.v200806172223 requires either org.eclipse.emf.mint 0.7.0.v200806172223 

--1 x811 +1 x1254 >= 0;

-* org.eclipse.net4j.db.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.source 1.0.0.v200806180305 

--1 x1864 +1 x1280 >= 0;

-* org.eclipse.net4j.db.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.source.feature.jar 1.0.0.v200806180305 

--1 x1864 +1 x1865 >= 0;

-* org.eclipse.ui.win32 3.2.100.v20080408-0800 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x812 +1 x57 >= 0;

-* org.eclipse.net4j.jms 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x818 +1 x21 >= 0;

-* org.eclipse.net4j.jms 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x818 +1 x353 >= 0;

-* org.eclipse.net4j.jms 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.api 1.0.0.v200806180305 

--1 x818 +1 x1351 >= 0;

-* org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x819 +1 x54 >= 0;

-* org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x819 +1 x21 >= 0;

-* org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 

--1 x819 +1 x1482 >= 0;

-* org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x819 +1 x1003 >= 0;

-* org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x822 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x822 +1 x132 >= 0;

-* org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x822 +1 x594 >= 0;

-* org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 

--1 x822 +1 x593 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x1867 +1 x238 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.doc.feature.group 1.2.0.v20080501-1739-11-7w3119162702254 

--1 x1867 +1 x1868 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK 

--1 x1867 +1 x1869 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x1867 +1 x1870 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 

--1 x1867 +1 x1871 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN 

--1 x1867 +1 x1872 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.runtime.notation.source.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E 

--1 x1867 +1 x1873 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x1867 +1 x233 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x1867 +1 x3 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x1867 +1 x1874 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x1867 +1 x237 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.sdk 1.0.0.v20080425-1959 

--1 x1867 +1 x874 >= 0;

-* org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz requires either org.eclipse.gmf.sdk.feature.jar 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz 

--1 x1867 +1 x1875 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x823 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x823 +1 x53 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x823 +1 x57 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 

--1 x823 +1 x866 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x823 +1 x170 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x823 +1 x147 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x823 +1 x19 >= 0;

-* org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x823 +1 x118 >= 0;

-* com.instantiations.swt.graph 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x824 +1 x21 >= 0;

-* com.instantiations.swt.graph 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x824 +1 x72 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 

--1 x543 +1 x544 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x543 +1 x542 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 

--1 x543 +1 x541 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x543 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x543 +1 x1242 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x543 +1 x710 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x543 +1 x969 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x543 +1 x1411 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x543 +1 x902 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x543 +1 x54 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x543 +1 x776 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x543 +1 x1033 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x543 +1 x1094 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x543 +1 x561 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x543 +1 x63 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x543 +1 x132 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x543 +1 x19 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x543 +1 x147 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 

--1 x543 +1 x990 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x543 +1 x358 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl.uml 1.2.0.v200805130238 

--1 x543 +1 x1516 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 

--1 x543 +1 x1465 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 

--1 x543 +1 x1586 >= 0;

-* org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.feature.jar 0.7.0.v200806130939 

--1 x543 +1 x1876 >= 0;

-* com.windowtester.swing.recorder 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x372 +1 x21 >= 0;

-* com.windowtester.swing.recorder 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x372 +1 x54 >= 0;

-* com.windowtester.swing.recorder 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x372 +1 x370 +1 x373 >= 0;

-* com.windowtester.swing.recorder 3.5.0.200806270034 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x372 +1 x931 +1 x1305 >= 0;

-* org.python.pydev.ast 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x832 +1 x54 >= 0;

-* org.python.pydev.ast 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x832 +1 x21 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x9 +1 x254 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x9 +1 x57 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x9 +1 x41 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x9 +1 x54 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x9 +1 x63 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x9 +1 x53 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x9 +1 x21 >= 0;

-* org.eclipse.wst.common.snippets 1.1.200.v200805140415 requires either com.ibm.icu 3.8.1.v20080530 

--1 x9 +1 x142 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1877 +1 x349 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x1877 +1 x1003 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.util 1.0.0.v200806180305 

--1 x1877 +1 x1493 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1877 +1 x353 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jvm 1.0.0.v200806180305 

--1 x1877 +1 x350 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.tcp 1.0.0.v200806180305 

--1 x1877 +1 x860 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.http.common 1.0.0.v200806180305 

--1 x1877 +1 x731 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.http 1.0.0.v200806180305 

--1 x1877 +1 x978 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.http.server 1.0.0.v200806180305 

--1 x1877 +1 x1063 >= 0;

-* org.eclipse.net4j.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.feature.jar 1.0.0.v200806180305 

--1 x1877 +1 x1878 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x324 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x324 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x324 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x324 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.birt.chart.ui 2.3.0.v20080522 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x833 +1 x54 >= 0;

-* org.eclipse.birt.chart.ui 2.3.0.v20080522 requires either org.eclipse.birt.core.ui 2.3.0.v20080515 

--1 x833 +1 x1582 >= 0;

-* org.eclipse.birt.chart.ui 2.3.0.v20080522 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x833 +1 x191 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x834 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x834 +1 x174 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x430 +1 x26 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x430 +1 x24 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 

--1 x430 +1 x1195 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x430 +1 x23 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x430 +1 x23 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x430 +1 x23 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x430 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x430 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x840 +1 x24 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x840 +1 x26 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x840 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x840 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x840 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x840 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x840 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x840 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x840 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x840 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x840 +1 x875 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x840 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x840 +1 x23 >= 0;

-* org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x840 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.jet.examples.feature.group 0.8.0.v20080211-078-7w31191322 requires either org.eclipse.jet 0.9.0.v20080527 

--1 x1880 +1 x1100 >= 0;

-* org.eclipse.jet.examples.feature.group 0.8.0.v20080211-078-7w31191322 requires either org.eclipse.jet.examples 0.9.0.v20080211 

--1 x1880 +1 x884 >= 0;

-* org.eclipse.jet.examples.feature.group 0.8.0.v20080211-078-7w31191322 requires either org.eclipse.jet.examples.feature.jar 0.8.0.v20080211-078-7w31191322 

--1 x1880 +1 x1881 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x328 +1 x54 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x328 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1883 -1 x1882>= -1 ;

- -1 x1882 1 x140 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x328 +1 x275 +1 x276 +1 x277 >= 0;

- -1 x328 1 x1883 1 x1882 >= 0;

-* org.eclipse.uml2.diagram.source.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.source 0.8.0.v200806112132 

--1 x1884 +1 x947 >= 0;

-* org.eclipse.uml2.diagram.source.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.source.feature.jar 0.8.0.v200806112132 

--1 x1884 +1 x1885 >= 0;

-* org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x843 +1 x24 >= 0;

-* org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x843 +1 x36 >= 0;

-* org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x843 +1 x23 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x330 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x330 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.emf.cdo.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.source 1.0.0.v200806180411 

--1 x1887 +1 x1230 >= 0;

-* org.eclipse.emf.cdo.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.source.feature.jar 1.0.0.v200806180411 

--1 x1887 +1 x1888 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x153 +1 x57 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x153 +1 x59 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x153 +1 x61 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x153 +1 x140 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x153 +1 x53 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x153 +1 x54 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x153 +1 x134 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x153 +1 x145 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x153 +1 x19 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x153 +1 x146 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x153 +1 x147 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either com.ibm.icu 3.8.1.v20080530 

--1 x153 +1 x142 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x153 +1 x131 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x153 +1 x137 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.platform 3.3.100.v200806172000 

--1 x153 +1 x148 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x153 +1 x138 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x153 +1 x63 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x153 +1 x130 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 

--1 x153 +1 x139 >= 0;

-* org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x153 +1 x149 >= 0;

-* org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x845 +1 x299 >= 0;

-* org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x845 +1 x300 >= 0;

-* org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 requires either org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 

--1 x845 +1 x1438 >= 0;

-* org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x845 +1 x340 >= 0;

-* org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x48 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x48 +1 x45 +1 x46 >= 0;

-* com.instantiations.common.help 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x847 +1 x21 >= 0;

-* com.instantiations.common.help 5.3.2.200809042027 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x847 +1 x52 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x849 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x849 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x849 +1 x147 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 

--1 x849 +1 x1182 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x849 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x849 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 

--1 x849 +1 x1051 >= 0;

-* org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x849 +1 x142 >= 0;

-* org.eclipse.uml2.diagram.def 0.8.0.v200806112132 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x851 +1 x54 >= 0;

-* org.eclipse.uml2.diagram.def 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x851 +1 x21 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x856 +1 x21 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x856 +1 x53 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 

--1 x856 +1 x1039 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x856 +1 x145 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x856 +1 x170 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x856 +1 x147 >= 0;

-* org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x856 +1 x57 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x857 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x857 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x857 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x857 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x857 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x857 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x857 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x857 +1 x256 >= 0;

-* org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x857 +1 x1444 >= 0;

-* org.eclipse.pde.p2.source.feature.group 1.0.0.v20080522-1--7w3119171503111 requires either org.eclipse.pde.p2.ui.source 1.0.0.v20080604-2000 

--1 x1890 +1 x1840 >= 0;

-* org.eclipse.pde.p2.source.feature.group 1.0.0.v20080522-1--7w3119171503111 requires either org.eclipse.pde.p2.source.feature.jar 1.0.0.v20080522-1--7w3119171503111 

--1 x1890 +1 x1891 >= 0;

-* org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x859 +1 x174 >= 0;

-* org.eclipse.net4j.tcp 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1893 -1 x1892>= -1 ;

- -1 x1892 1 x21 >= 0;

-* org.eclipse.net4j.tcp 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x860 +1 x353 >= 0;

-* org.eclipse.net4j.tcp 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1893 -1 x1894>= -1 ;

- -1 x1894 1 x23 >= 0;

- -1 x860 1 x1893 1 x1892 1 x1894 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1895 +1 x21 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1895 +1 x142 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x1895 +1 x78 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.help.appserver 3.1.300.v20080507 

--1 x1895 +1 x1054 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1895 +1 x54 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either com.lowagie.itext.feature.group 1.5.4.v20080225-1437w31191339 

--1 x1895 +1 x1896 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN 

--1 x1895 +1 x509 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.mozilla.rhino.feature.group 1.6.7.v20071217-1567w31191325 

--1 x1895 +1 x1897 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA 

--1 x1895 +1 x1898 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1895 +1 x865 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1895 +1 x299 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x1895 +1 x256 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x1895 +1 x1377 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 

--1 x1895 +1 x862 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1895 +1 x258 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x1895 +1 x1335 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 

--1 x1895 +1 x1151 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 

--1 x1895 +1 x1162 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1895 +1 x300 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.resources 2.3.0.v20080313 

--1 x1895 +1 x951 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.viewer 2.3.0.v20080606 

--1 x1895 +1 x534 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 

--1 x1895 +1 x780 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 

--1 x1895 +1 x1472 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.runtime 2.3.0.v20080304 

--1 x1895 +1 x1454 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x1895 +1 x1444 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 

--1 x1895 +1 x1053 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 

--1 x1895 +1 x664 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 

--1 x1895 +1 x1002 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1895 +1 x349 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.data.aggregation 2.3.0.v20080606 

--1 x1895 +1 x1092 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x1895 +1 x598 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either javax.xml.soap 1.2.0.v200806030421 

--1 x1895 +1 x599 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.apache.commons.discovery 0.2.0.v200806030120 

--1 x1895 +1 x881 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.apache.axis 1.4.0.v200806030120 

--1 x1895 +1 x601 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either javax.wsdl 1.5.1.v200806030408 

--1 x1895 +1 x1381 >= 0;

-* org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 requires either org.eclipse.birt.report.runtime.feature.jar 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 

--1 x1895 +1 x1899 >= 0;

-* org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x862 +1 x340 >= 0;

-* org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 requires either com.ibm.icu 3.8.1.v20080530 

--1 x862 +1 x142 >= 0;

-* org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x1901 -1 x1900>= -1 ;

- -1 x1900 1 x409 >= 0;

-* org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 requires either org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 

--1 x862 +1 x344 >= 0;

- -1 x862 1 x1901 1 x1900 >= 0;

-* org.eclipse.birt.crosstab.feature.group 2.3.0.v20070920-45-8s733I3E3E requires either org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 

--1 x574 +1 x974 >= 0;

-* org.eclipse.birt.crosstab.feature.group 2.3.0.v20070920-45-8s733I3E3E requires either org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 

--1 x574 +1 x1029 >= 0;

-* org.eclipse.birt.crosstab.feature.group 2.3.0.v20070920-45-8s733I3E3E requires either org.eclipse.birt.crosstab.feature.jar 2.3.0.v20070920-45-8s733I3E3E 

--1 x574 +1 x1903 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x869 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x869 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x869 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x869 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x869 +1 x677 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x869 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x869 +1 x78 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x870 +1 x57 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x870 +1 x21 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x870 +1 x54 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x870 +1 x53 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x870 +1 x183 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x870 +1 x63 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x870 +1 x315 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x870 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x870 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x870 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x870 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x870 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1904 +1 x132 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query 1.2.0.v200805130238 

--1 x1904 +1 x1358 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x1904 +1 x1410 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1904 +1 x21 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1904 +1 x358 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x1904 +1 x1242 >= 0;

-* org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.ocl.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x1904 +1 x1905 >= 0;

-* org.eclipse.net4j.db 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x361 +1 x21 >= 0;

-* org.eclipse.net4j.db 1.0.0.v200806180305 requires either org.eclipse.net4j.util 1.0.0.v200806180305 

--1 x361 +1 x1493 >= 0;

-* org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x604 +1 x21 >= 0;

-* org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x604 +1 x53 >= 0;

-* org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x604 +1 x170 >= 0;

-* org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x604 +1 x118 >= 0;

-* org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x604 +1 x70 >= 0;

-* org.eclipse.emf.search.genmodel 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x877 +1 x54 >= 0;

-* org.eclipse.emf.search.genmodel 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x877 +1 x21 >= 0;

-* org.eclipse.emf.search.genmodel 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x877 +1 x969 >= 0;

-* org.eclipse.emf.search.genmodel 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x877 +1 x118 >= 0;

-* org.eclipse.emf.search.genmodel 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x877 +1 x1411 >= 0;

-* org.eclipse.emf.cdo 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x594 +1 x21 >= 0;

-* org.eclipse.emf.cdo 1.0.0.v200806180411 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x594 +1 x132 >= 0;

-* org.eclipse.emf.cdo 1.0.0.v200806180411 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x594 +1 x170 >= 0;

-* org.eclipse.emf.cdo 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.common 1.0.0.v200806180411 

--1 x594 +1 x1426 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP requires either org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 

--1 x1906 +1 x694 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP requires either org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 

--1 x1906 +1 x1232 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP requires either org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 

--1 x1906 +1 x366 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP requires either org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 

--1 x1906 +1 x1076 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP requires either org.eclipse.wst.xml_userdoc.feature.feature.jar 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP 

--1 x1906 +1 x1907 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x289 +1 x53 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x289 +1 x971 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x289 +1 x984 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x289 +1 x54 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x289 +1 x21 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x289 +1 x628 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.ui 0.7.1.I20080612-1500 

--1 x289 +1 x629 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x 

--1 x289 +1 x1089 +1 x786 +1 x1583 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x289 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x289 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 requires either org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x 

--1 x289 +1 x1109 +1 x1043 +1 x1308 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 

--1 x571 +1 x190 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.device.extension 2.3.0.v20080424 

--1 x571 +1 x348 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.device.svg 2.3.0.v20080526 

--1 x571 +1 x788 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.device.swt 2.3.0.v20080522 

--1 x571 +1 x1416 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.ui 2.3.0.v20080522 

--1 x571 +1 x833 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 

--1 x571 +1 x995 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.reportitem 2.3.0.v20080610 

--1 x571 +1 x577 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 

--1 x571 +1 x578 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x571 +1 x300 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x571 +1 x258 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x571 +1 x1377 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x571 +1 x21 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x571 +1 x299 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x571 +1 x54 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 

--1 x571 +1 x782 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 

--1 x571 +1 x1260 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.apache.derby.core.feature.group 10.3.1.4 

--1 x571 +1 x1909 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha 

--1 x571 +1 x508 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x571 +1 x1910 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x571 +1 x1911 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.chart.examples 2.3.0.v20080612 

--1 x571 +1 x1487 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 

--1 x571 +1 x1188 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 

--1 x571 +1 x1260 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 

--1 x571 +1 x1360 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.example 2.3.0.v20080304 

--1 x571 +1 x1227 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 

--1 x571 +1 x725 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 

--1 x571 +1 x1028 >= 0;

-* org.eclipse.birt.example.feature.group 2.3.0.v20071113-7D7J-CYQCD4CpDm requires either org.eclipse.birt.example.feature.jar 2.3.0.v20071113-7D7J-CYQCD4CpDm 

--1 x571 +1 x1912 >= 0;

-* org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x138 +1 x21 >= 0;

-* org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x138 +1 x131 >= 0;

-* org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x138 +1 x134 >= 0;

-* org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x138 +1 x130 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x194 +1 x53 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x194 +1 x68 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x194 +1 x21 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x194 +1 x639 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x194 +1 x202 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x194 +1 x114 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires optionaly either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1914 -1 x1913>= -1 ;

- -1 x1913 1 x218 1 x219 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either com.ibm.icu 3.8.1.v20080530 

--1 x194 +1 x142 >= 0;

-* org.eclipse.wst.sse.core 1.1.301.v200808072008 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x194 +1 x159 >= 0;

- -1 x194 1 x1914 1 x1913 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x878 +1 x21 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x878 +1 x74 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x878 +1 x70 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x878 +1 x405 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x878 +1 x404 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x878 +1 x406 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x878 +1 x73 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x878 +1 x71 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x878 +1 x63 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x878 +1 x81 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x878 +1 x54 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x878 +1 x61 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x878 +1 x57 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x878 +1 x140 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x878 +1 x59 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x878 +1 x41 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x878 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x878 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x878 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x878 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x878 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x878 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x878 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x878 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x878 +1 x1563 +1 x670 +1 x976 >= 0;

-* com.instantiations.common.ui 5.3.2.200806270030 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x85 +1 x82 +1 x83 >= 0;

-* com.instantiations.common.ui 5.3.2.200806270030 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x85 +1 x54 >= 0;

-* com.instantiations.common.ui 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x85 +1 x21 >= 0;

-* com.instantiations.common.ui 5.3.2.200806270030 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x85 +1 x96 +1 x97 >= 0;

-* com.instantiations.common.ui 5.3.2.200806270030 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x85 +1 x86 +1 x87 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x36 +1 x24 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x36 +1 x26 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x36 +1 x709 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x36 +1 x25 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x36 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x36 +1 x23 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x36 +1 x49 >= 0;

-* org.eclipse.ecf 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x36 +1 x23 >= 0;

-* org.eclipse.emf.mint.doc.feature.group 0.7.0.v200806172223 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1916 +1 x76 >= 0;

-* org.eclipse.emf.mint.doc.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.doc 0.7.0.v200806172223 

--1 x1916 +1 x1077 >= 0;

-* org.eclipse.emf.mint.doc.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.doc.feature.jar 0.7.0.v200806172223 

--1 x1916 +1 x1917 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x880 +1 x54 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x880 +1 x21 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x880 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x880 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x880 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x880 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x880 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x880 +1 x848 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x880 +1 x840 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x880 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x880 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x880 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x880 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x880 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x880 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 

--1 x880 +1 x989 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x880 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x880 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x880 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x880 +1 x23 >= 0;

-* org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x885 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x887 +1 x21 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x544 +1 x542 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x544 +1 x54 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x544 +1 x21 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x544 +1 x132 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x544 +1 x358 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x544 +1 x710 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x544 +1 x969 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x544 +1 x63 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl.uml 1.2.0.v200805130238 

--1 x544 +1 x1516 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x544 +1 x902 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 

--1 x544 +1 x990 >= 0;

-* org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.feature.jar 0.7.0.v200806130939 

--1 x544 +1 x1918 >= 0;

-* com.windowtester.runtime 3.5.1.200809042232 requires either org.junit 3.8.2.v20080602-1318 

--1 x370 +1 x409 >= 0;

-* com.windowtester.runtime 3.5.1.200809042232 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x370 +1 x86 +1 x87 >= 0;

-* com.windowtester.runtime 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x370 +1 x21 >= 0;

-* com.windowtester.runtime 3.5.1.200809042232 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x370 +1 x72 >= 0;

-* com.windowtester.runtime 3.5.1.200809042232 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x370 +1 x561 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1920 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.source.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1887 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1921 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.source.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1922 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1923 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples.source.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1924 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.doc.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1925 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires optionaly either org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 

--1 x1927 -1 x1926>= -1 ;

- -1 x1926 1 x1928 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.source.feature.group 1.0.0.v200806180411 

--1 x1919 +1 x1929 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 

--1 x1919 +1 x689 >= 0;

-* org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.sdk.feature.jar 1.0.0.v200806180411 

--1 x1919 +1 x1930 >= 0;

- -1 x1919 1 x1927 1 x1926 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x23 >= 0;

-* org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x24 +1 x23 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x896 +1 x54 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x896 +1 x57 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x896 +1 x133 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x896 +1 x61 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x896 +1 x384 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x896 +1 x385 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x896 +1 x956 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x896 +1 x386 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x896 +1 x53 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x896 +1 x21 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x896 +1 x41 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x896 +1 x63 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x896 +1 x424 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x896 +1 x425 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x896 +1 x209 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.generic 1.0.0.r09319 

--1 x896 +1 x1078 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.generic.ui 1.0.0.r09319 

--1 x896 +1 x1409 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.buckminster.opml 1.0.0.r09319 

--1 x896 +1 x1535 >= 0;

-* org.eclipse.buckminster.ui 1.0.0.r09319 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x896 +1 x59 >= 0;

-* org.eclipse.sdk 3.4.0.v200806172000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x903 +1 x54 >= 0;

-* org.eclipse.sdk 3.4.0.v200806172000 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x903 +1 x79 >= 0;

-* org.eclipse.sdk 3.4.0.v200806172000 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x903 +1 x78 >= 0;

-* org.eclipse.sdk 3.4.0.v200806172000 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x903 +1 x305 >= 0;

-* org.eclipse.sdk 3.4.0.v200806172000 requires either org.eclipse.ui.ide.application 1.0.0.I20080603-2000 

--1 x903 +1 x838 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.equinox.io 1.0.0.v20080218 

--1 x906 +1 x906 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x906 +1 x948 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x906 +1 x948 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x906 +1 x948 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x906 +1 x23 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x906 +1 x49 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x906 +1 x49 >= 0;

-* org.eclipse.equinox.io 1.0.0.v20080218 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x906 +1 x23 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x221 +1 x21 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x221 +1 x53 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x221 +1 x159 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x10 +1 x57 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x10 +1 x54 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x10 +1 x21 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x10 +1 x53 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x10 +1 x81 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x10 +1 x1019 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x10 +1 x63 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x10 +1 x41 >= 0;

-* org.eclipse.wst.common.ui 1.1.301.v200805140415 requires either com.ibm.icu 3.8.1.v20080530 

--1 x10 +1 x142 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x910 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x910 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x910 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x910 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x910 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x910 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x910 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x910 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x910 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x910 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x910 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x910 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x910 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x910 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x910 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x910 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x910 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x910 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x910 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x910 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x910 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x910 +1 x1458 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x910 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x910 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x910 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x910 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x910 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x910 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x910 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x910 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x910 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x910 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x910 +1 x1495 >= 0;

-* javax.activation 1.1.0.v200804101140 requires either a.jre 1.6.0 

--1 x913 +1 x210 >= 0;

-* javax.activation 1.1.0.v200804101140 requires either a.jre 1.6.0 

--1 x913 +1 x210 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x176 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x176 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x176 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x176 +1 x954 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x176 +1 x20 >= 0;

-* org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 

--1 x176 +1 x1320 >= 0;

-* org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x917 +1 x257 >= 0;

-* org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 

--1 x917 +1 x1438 >= 0;

-* org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 requires either org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 

--1 x917 +1 x511 >= 0;

-* org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x920 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x920 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x920 +1 x340 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1933 -1 x1932>= -1 ;

- -1 x1932 1 x23 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x919 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x919 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x919 +1 x948 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x919 +1 x948 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x919 +1 x23 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x919 +1 x49 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x919 +1 x49 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x919 +1 x49 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x919 +1 x49 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x919 +1 x49 >= 0;

-* org.eclipse.equinox.ip 1.0.0.v20080218 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x919 +1 x23 >= 0;

- -1 x919 1 x1933 1 x1932 >= 0;

-* org.eclipse.m2m.qvt.oml.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x1935 +1 x647 >= 0;

-* org.eclipse.m2m.qvt.oml.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.source.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x1935 +1 x1936 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x75 +1 x53 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x75 +1 x414 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x75 +1 x21 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x75 +1 x160 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x75 +1 x159 >= 0;

-* org.eclipse.debug.core 3.4.0.v20080612 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x75 +1 x553 +1 x142 >= 0;

-* com.windowtester.swt.runtime.legacy 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x925 +1 x54 >= 0;

-* com.windowtester.swt.runtime.legacy 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x925 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.notation.source.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation.source 1.1.0.v20080507-1326 

--1 x1873 +1 x1725 >= 0;

-* org.eclipse.gmf.runtime.notation.source.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation.edit.source 1.1.0.v20080507-1326 

--1 x1873 +1 x1686 >= 0;

-* org.eclipse.gmf.runtime.notation.source.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation.source.feature.jar 1.1.0.v20080223-0300-21-8s733I3C3G1597E 

--1 x1873 +1 x1937 >= 0;

-* com.instantiations.swt.graph 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x928 +1 x21 >= 0;

-* com.instantiations.swt.graph 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x928 +1 x72 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x1939 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x1939 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x1939 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 

--1 x1939 +1 x1393 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 

--1 x1939 +1 x828 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 

--1 x1939 +1 x1551 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x1939 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS requires either org.eclipse.datatools.enablement.msft.feature.feature.jar 1.6.0.v200804021-441_kE77c7QARCMOS 

--1 x1939 +1 x1940 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x931 +1 x72 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x931 +1 x561 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x931 +1 x21 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x931 +1 x96 +1 x97 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x931 +1 x82 +1 x83 >= 0;

-* com.windowtester.swing.runtime 3.5.1.200809042232 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x931 +1 x370 +1 x373 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x279 +1 x21 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x279 +1 x54 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x279 +1 x140 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x279 +1 x315 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x279 +1 x159 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x279 +1 x316 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x279 +1 x53 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x279 +1 x63 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x279 +1 x81 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x279 +1 x317 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x279 +1 x61 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x279 +1 x57 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x279 +1 x59 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x279 +1 x41 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x279 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x279 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x279 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x279 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x279 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x279 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x279 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x279 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x279 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x279 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x279 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x279 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x279 +1 x1942 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn 3.0.0.v20080619-1900 

--1 x279 +1 x791 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 

--1 x279 +1 x319 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x279 +1 x767 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 

--1 x279 +1 x322 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x279 +1 x326 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x279 +1 x330 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 

--1 x279 +1 x1522 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x279 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x279 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x279 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x279 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 

--1 x279 +1 x262 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 

--1 x279 +1 x327 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 

--1 x279 +1 x276 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn_feature.feature.jar 3.0.0.v20080619-1900 

--1 x279 +1 x1943 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x932 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x932 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x932 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 

--1 x932 +1 x804 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 

--1 x932 +1 x336 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 requires either com.ibm.icu 3.8.1.v20080530 

--1 x932 +1 x142 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x327 +1 x54 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x327 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1945 -1 x1944>= -1 ;

- -1 x1944 1 x140 >= 0;

-* org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x327 +1 x275 +1 x276 +1 x277 >= 0;

- -1 x327 1 x1945 1 x1944 >= 0;

-* org.eclipse.emf.query.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 

--1 x1946 +1 x952 >= 0;

-* org.eclipse.emf.query.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x1946 +1 x1947 >= 0;

-* org.eclipse.emf.teneo.doc.feature.group 1.0.0.v200806111928-1--7w311917222_39 requires either org.eclipse.emf.teneo.doc 1.0.0.v200806111928 

--1 x1948 +1 x231 >= 0;

-* org.eclipse.emf.teneo.doc.feature.group 1.0.0.v200806111928-1--7w311917222_39 requires either org.eclipse.emf.teneo.doc.feature.jar 1.0.0.v200806111928-1--7w311917222_39 

--1 x1948 +1 x1949 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x90 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x90 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x90 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1951 -1 x1950>= -1 ;

- -1 x1950 1 x57 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1951 -1 x1952>= -1 ;

- -1 x1952 1 x59 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1951 -1 x1953>= -1 ;

- -1 x1953 1 x61 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1951 -1 x1954>= -1 ;

- -1 x1954 1 x63 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1951 -1 x1955>= -1 ;

- -1 x1955 1 x41 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1951 -1 x1956>= -1 ;

- -1 x1956 1 x57 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1951 -1 x1957>= -1 ;

- -1 x1957 1 x140 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x1951 -1 x1958>= -1 ;

- -1 x1958 1 x68 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1951 -1 x1959>= -1 ;

- -1 x1959 1 x63 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x90 +1 x523 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x90 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x90 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x90 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x90 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x90 +1 x74 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x90 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.help 3.3.100.v20080610 

--1 x90 +1 x76 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x1951 -1 x1960>= -1 ;

- -1 x1960 1 x78 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x90 +1 x79 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x90 +1 x80 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x90 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x90 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x90 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x90 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x90 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.swt.graph 5.5.1 com.instantiations.swt.graph 5.5.0 

--1 x90 +1 x928 +1 x824 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x90 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x90 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse.core.ui 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x90 +1 x21 >= 0;

- -1 x90 1 x1951 1 x1950 1 x1952 1 x1953 1 x1954 1 x1955 1 x1956 1 x1957 1 x1958 1 x1959 1 x1960 >= 0;

-* org.eclipse.birt.doc 2.3.0.v20080617a requires either org.eclipse.help 3.3.100.v20080610 

--1 x937 +1 x76 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x940 +1 x132 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x940 +1 x145 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x940 +1 x159 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x940 +1 x21 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either com.ibm.icu 3.8.1.v20080530 

--1 x940 +1 x142 >= 0;

-* org.eclipse.emf.validation 1.2.0.v200805170232 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x940 +1 x53 >= 0;

-* org.eclipse.equinox.jmx.client.rmi 1.0.0 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x941 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client.rmi 1.0.0 requires either org.eclipse.equinox.jmx.client 1.0.0.v20070515 

--1 x941 +1 x1108 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x942 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x942 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x942 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x942 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x942 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x942 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x942 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x942 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1962 -1 x1963>= -1 ;

- -1 x1963 1 x23 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x942 +1 x21 >= 0;

- -1 x942 1 x1962 1 x1963 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x943 +1 x54 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x943 +1 x21 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x943 +1 x63 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x943 +1 x53 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x943 +1 x61 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x943 +1 x57 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x943 +1 x41 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.xored.swt.composer 1.3.4.200809042225 com.xored.swt.composer 1.3.4.200806270212 

--1 x943 +1 x427 +1 x1135 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.xored.composer.ui 1.3.4.200806270212 com.xored.composer.ui 1.3.4.200809042225 

--1 x943 +1 x1056 +1 x690 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x943 +1 x70 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x943 +1 x637 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x943 +1 x308 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.pde 3.4.0.v20080603 

--1 x943 +1 x1501 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.instantiations.helpeditor.core.toc 1.3.4.200806270212 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 

--1 x943 +1 x1296 +1 x1036 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x943 +1 x81 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x943 +1 x140 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x943 +1 x59 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x943 +1 x71 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.help 3.3.100.v20080610 

--1 x943 +1 x76 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x943 +1 x86 +1 x87 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x943 +1 x74 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x943 +1 x82 +1 x83 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x943 +1 x84 +1 x85 >= 0;

-* com.instantiations.helpeditor.ui 1.3.4.200806270212 requires either org.eclipse.team.cvs.ui 3.3.100.I20080604 

--1 x943 +1 x900 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x944 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x944 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x944 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x944 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x944 +1 x61 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x944 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x944 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x944 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x944 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x944 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x944 +1 x304 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x944 +1 x300 >= 0;

-* org.eclipse.tptp.platform.la.core.feature.group 4.3.200.v200806121215-42_77w311916342227 requires either org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 

--1 x1964 +1 x712 >= 0;

-* org.eclipse.tptp.platform.la.core.feature.group 4.3.200.v200806121215-42_77w311916342227 requires either org.eclipse.tptp.platform.la.core.feature.jar 4.3.200.v200806121215-42_77w311916342227 

--1 x1964 +1 x1965 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x1966 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x1966 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x1966 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 

--1 x1966 +1 x336 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 

--1 x1966 +1 x1176 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 

--1 x1966 +1 x804 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 

--1 x1966 +1 x932 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 

--1 x1966 +1 x1528 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 

--1 x1966 +1 x794 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 

--1 x1966 +1 x1088 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 

--1 x1966 +1 x803 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 

--1 x1966 +1 x335 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 

--1 x1966 +1 x334 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 

--1 x1966 +1 x1075 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 

--1 x1966 +1 x859 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 

--1 x1966 +1 x1508 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x1966 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb requires either org.eclipse.datatools.enablement.ibm.feature.feature.jar 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb 

--1 x1966 +1 x364 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x950 +1 x21 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui 2.4.0.v200806091234 

--1 x950 +1 x224 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 

--1 x950 +1 x1265 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x950 +1 x1534 >= 0;

-* tooling.org.eclipse.update.feature.default 1.0.0 requires optionaly either org.eclipse.emf.validation.source.feature.jar 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.m2m.qvt.oml.editor.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 org.eclipse.m2m.atl.source.feature.jar 2.0.0.v200806101117 org.eclipse.tptp.platform.commons.logging.feature.jar 4.4.0.v200802291616-1-37w3119171602_41 org.eclipse.xsd.sdk.feature.jar 2.4.0.v200806091234 org.eclipse.m2m.qvt.oml.doc.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 org.eclipse.equinox.feature.jar 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 org.polarion.eclipse.team.svn.connector.javahl.win32.feature.jar 2.0.1.I20080612-1500 org.eclipse.net4j.db.source.feature.jar 1.0.0.v200806180305 org.eclipse.jdt.source.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq org.eclipse.uml2.feature.jar 2.2.0.v200805201126 org.eclipse.jet.source.feature.jar 0.9.0.v20080516 org.eclipse.gef.feature.jar 3.4.0.v20080115-677-8082A5696H274A org.eclipse.emf.ocl.doc.feature.jar 1.2.0.v200805130238-108Y7w311916241349 org.eclipse.datatools.doc.user.feature.jar 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ org.eclipse.net4j.feature.jar 1.0.0.v200806180305 org.eclipse.draw2d.feature.jar 3.4.0.v20080115-33-7w3119163_ org.eclipse.emf.search.feature.jar 0.7.0.v200806130939 org.eclipse.datatools.sqldevtools.feature.feature.jar 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ org.eclipse.help.feature.jar 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L org.eclipse.equinox.p2.generator.feature.feature.jar 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.emf.validation.feature.jar 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.emf.search.common.feature.jar 0.7.0.v200806130939 org.eclipse.uml2.search.runtime.feature.jar 0.7.0.v200806130939 org.eclipse.emf.ecore.edit.feature.jar 2.4.0.v200806091234 org.eclipse.emf.emfqtv.all.feature.jar 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz org.eclipse.xsd.editor.feature.jar 2.4.0.v200806091234 org.eclipse.tptp.lta.gla.ui.epi.feature.jar 4.5.0.v200805132041-44-7w311916271211 org.eclipse.emf.ecore.feature.jar 2.4.0.v200806091234 org.eclipse.datatools.enablement.oda.feature.feature.jar 1.6.0.v200804021-797P4CYQCD4CpIiDmMN org.eclipse.gmf.tooling.feature.jar 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN org.eclipse.gmf.source.feature.jar 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ org.eclipse.ocl.uml.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.sdk.feature.jar 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.designer.feature.feature.jar 1.6.0.v200804021-21-8s733I3C7F4K63 org.eclipse.emf.query.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.doc.feature.jar 2.4.0.v200806091234 org.eclipse.gmf.runtime.notation.feature.jar 1.1.0.v20080223-0300-21-8s733I3C3G1597E org.eclipse.emf.teneo.source.feature.jar 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.wst.common_core.feature.feature.jar 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT org.eclipse.mylyn_feature.feature.jar 3.0.1.v20080721-2100-e3x org.eclipse.uml2.diagram.feature.jar 0.8.0.v200806112132 org.eclipse.mylyn.context_feature.feature.jar 3.0.0.v20080619-1900 org.eclipse.birt.chart.cshelp.feature.jar 2.3.0.v200805131-22-7w31191727 org.eclipse.uml2.diagram.clazz.search.feature.jar 0.7.0.v200806130939 org.eclipse.datatools.sqldevtools.data.feature.feature.jar 1.6.0.v200804021-30-9oA55S5JAE7F__ org.eclipse.mylyn.context_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.net4j.ui.feature.jar 1.0.0.v200806180305 org.eclipse.emf.databinding.edit.feature.jar 1.0.0.v200806091234 org.eclipse.uml2.examples.source.feature.jar 2.2.0.v200805131030 org.eclipse.m2m.qvt.oml.source.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.emf.workspace.doc.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.search.ocl.feature.jar 0.7.0.v200806130939 org.eclipse.emf.search.ecore.ocl.feature.jar 0.7.0.v200806130939 org.eclipse.buckminster.maven.feature.feature.jar 1.1.0.r09319 org.eclipse.wst.xml_core.feature.feature.jar 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl org.eclipse.datatools.sqldevtools.parsers.feature.feature.jar 1.6.0.v200804021-502AgI99m9VCYHTTS org.eclipse.team.svn.mylyn.feature.jar 0.7.1.I20080612-1500 org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.datatools.enablement.oracle.feature.feature.jar 1.6.0.v200804021-440_kE77c7QBPCFPL org.eclipse.datatools.enablement.jdt.feature.feature.jar 1.6.0.v200804021-1-07w311916263466 org.eclipse.emf.codegen.ui.feature.jar 2.4.0.v200806091234 org.eclipse.emf.mint.feature.jar 0.7.0.v200806172223 org.eclipse.emf.cdo.sdk.feature.jar 1.0.0.v200806180411 org.eclipse.uml2.source.feature.jar 2.2.0.v200805201126 com.instantiations.eclipse.core.feature.feature.jar 5.5.1 org.eclipse.emf.cdo.server.feature.jar 1.0.0.v200806180411 org.eclipse.jdt.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq org.eclipse.emf.validation.doc.feature.jar 1.2.0.v200805130238-23-8s733I3C6D376E org.eclipse.datatools.enablement.postgresql.feature.feature.jar 1.6.0.v200804021-441_kE77c7R_RCIOP org.eclipse.emf.search.runtime.feature.jar 0.7.0.v200806130939 org.eclipse.uml2.diagram.source.feature.jar 0.8.0.v200806112132 org.eclipse.mylyn.team_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.epp.usagedata.feature.feature.jar 1.0.0.R200806162215 org.eclipse.datatools.enablement.ibm.feature.feature.jar 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb org.eclipse.datatools.enablement.apache.derby.feature.feature.jar 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK org.eclipse.equinox.jmx.common.feature.feature.jar 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF org.eclipse.emf.cdo.feature.jar 1.0.0.v200806180411 org.eclipse.xsd.ecore.converter.feature.jar 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram.search.feature.jar 0.7.0.v200806130939 org.eclipse.gmf.doc.feature.jar 1.2.0.v20080501-1739-11-7w3119162702254 org.eclipse.wst.xml_ui.feature.feature.jar 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS org.eclipse.pde.source.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC org.eclipse.draw2d.sdk.feature.jar 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A org.eclipse.datatools.connectivity.oda.feature.feature.jar 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf org.eclipse.emf.ecoretools.doc.feature.jar 0.8.0.v200806130600 org.eclipse.birt.doc.feature.jar 2.3.0.v200805131-22-7w31191728b org.eclipse.birt.cshelp.feature.jar 2.3.0.v200805131-22-7w31191728 org.eclipse.ocl.all.feature.jar 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ org.eclipse.gmf.runtime.thirdparty.feature.jar 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP org.eclipse.xsd.mapping.editor.feature.jar 2.4.0.v200806091234 org.eclipse.jet.editor.feature.jar 0.9.0.v20080516-078-7w31191337 org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.jar 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ org.eclipse.team.svn.resource.ignore.rules.jdt.source.feature.jar 0.7.1.I20080612-1500 org.eclipse.emf.mapping.ui.feature.jar 2.4.0.v200806091234 org.eclipse.m2m.qvt.oml.editor.source.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 org.eclipse.emf.cdo.doc.feature.jar 1.0.0.v200806180411 org.eclipse.emf.compare.feature.jar 0.8.0.v200806180301 org.eclipse.uml2.doc.feature.jar 2.2.0.v200805201350 org.eclipse.tptp.lta.log.feature.jar 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 org.eclipse.emf.codegen.ecore.feature.jar 2.4.0.v200806091234 org.eclipse.team.svn.nl1.feature.jar 0.7.1.I20080612-1500 org.eclipse.xsd.feature.jar 2.4.0.v200806091234 org.eclipse.emf.mapping.ecore.feature.jar 2.4.0.v200806091234 org.eclipse.birt.chart.runtime.feature.jar 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 org.eclipse.net4j.ui.source.feature.jar 1.0.0.v200806180305 org.eclipse.m2m.atl.feature.jar 2.0.0.v200806101117 org.eclipse.emf.query.sdk.feature.jar 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K org.apache.derby.core.feature.jar 10.3.1.4 org.eclipse.emf.ecore.sdo.source.feature.jar 2.4.0.v200806091234 org.eclipse.gmf.tooling.source.feature.jar 2.1.0.v20080512-1200 org.eclipse.datatools.connectivity.oda.designer.feature.feature.jar 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha org.eclipse.net4j.examples.feature.jar 1.0.0.v200806180305 org.eclipse.emf.search.codegen.feature.jar 0.7.0.v200806130939 org.eclipse.emf.ecore.sdo.edit.feature.jar 2.4.0.v200806091234 org.eclipse.gmf.runtime.notation.source.feature.jar 1.1.0.v20080223-0300-21-8s733I3C3G1597E org.eclipse.ocl.source.feature.jar 1.2.0.v200805130238-34-9oA55S5I6M7JBK org.eclipse.platform.feature.jar 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M org.eclipse.gmf.examples.pde.feature.jar 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK org.eclipse.tptp.lta.log.epi.feature.jar 4.5.0.v200805132041-44-7w311916243152 org.eclipse.wst.common_ui.feature.feature.jar 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD org.eclipse.emf.ecore.sdo.feature.jar 2.4.0.v200806091234 org.eclipse.team.svn.mylyn.source.feature.jar 0.7.1.I20080612-1500 org.eclipse.ocl.doc.feature.jar 1.2.0.v200805041323-23-8s733I3C59379I org.eclipse.emf.teneo.doc.feature.jar 1.0.0.v200806111928-1--7w311917222_39 org.eclipse.emf.search.genmodel.feature.jar 0.7.0.v200806130939 org.eclipse.xsd.mapping.feature.jar 2.4.0.v200806091234 org.eclipse.cvs.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S com.instantiations.installer.feature.feature.jar 2.5.1 org.eclipse.ocl.feature.jar 1.2.0.v200805130238-34-9oA55S5I6M7JBK org.eclipse.emf.emfqtv.all.sdk.feature.jar 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT com.lowagie.itext.feature.jar 1.5.4.v20080225-1437w31191339 org.eclipse.tptp.platform.jakarta.log4j.feature.jar 4.4.0.v200802291616-117B7w311917141711 org.eclipse.datatools.enablement.sap.feature.feature.jar 1.6.0.v200804021-440_kE77c7QAQEIQQ org.eclipse.m2m.qvt.oml.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.net4j.doc.feature.jar 1.0.0.v200806180305 org.eclipse.mylyn_feature.feature.jar 3.0.0.v20080619-1900 org.eclipse.emf.cdo.server.hibernate.source.feature.jar 1.0.0.v200806180411 org.eclipse.emf.source.feature.jar 2.4.0.v200806091234 org.eclipse.emf.teneo.sdk.feature.jar 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.jar 1.6.0.v200804021-77--CYQCD4ClJlQXll org.eclipse.emf.feature.jar 2.4.0.v200806091234 org.eclipse.emf.ecore.sdo.sdk.feature.jar 2.4.0.v200806091234 org.eclipse.birt.example.feature.jar 2.3.0.v20071113-7D7J-CYQCD4CpDm org.eclipse.emf.ecoretools.source.feature.jar 0.8.0.v200806130600 org.eclipse.uml2.search.common.feature.jar 0.7.0.v200806130939 com.instantiations.eclipse.shared.feature.jar 5.3.2.200809042027 org.eclipse.mylyn.pde_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context_feature.feature.jar 3.0.1.v20080721-2100-e3x org.eclipse.wst.xml_userdoc.feature.feature.jar 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP org.eclipse.emf.transaction.source.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.uml2tools.examples.feature.jar 0.8.0.v200806112132 org.eclipse.emf.ocl.feature.jar 1.1.100.v200805130238-108Y7w311916241349 org.eclipse.birt.chart.feature.jar 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 org.eclipse.jet.sdk.feature.jar 0.9.0.v20080516-07X-82Te4djSEJpBWJX org.eclipse.emf.mint.source.feature.jar 0.7.0.v200806172223 org.eclipse.datatools.enablement.feature.feature.jar 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui org.eclipse.emf.transaction.doc.feature.jar 1.2.0.v200805130238-23-8s733I3D4A4C7H org.eclipse.datatools.enablement.msft.feature.feature.jar 1.6.0.v200804021-441_kE77c7QARCMOS org.eclipse.mylyn.jira_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.uml2tools.feature.jar 0.8.0.v200806112132 org.eclipse.emf.mint.doc.feature.jar 0.7.0.v200806172223 org.eclipse.ocl.uml.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.pde.p2.source.feature.jar 1.0.0.v20080522-1--7w3119171503111 org.eclipse.tptp.lta.gla.runtime.feature.jar 4.5.0.v200805132041-7879-8s733I3D6B5878 org.eclipse.emf.compare.sdk.feature.jar 0.8.0.v200806180301 org.eclipse.draw2d.source.feature.jar 3.4.0.v20080115-33-7w3119163_ org.eclipse.tptp.lta.gla.ui.feature.jar 4.5.0.v200805132041-7879-8192A5695E699A2322 org.eclipse.emf.converter.feature.jar 2.4.0.v200806091234 com.windowtester.swt.feature.jar 3.5.0.200806270034 org.eclipse.wst.xml_userdoc.feature.feature.jar 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.jar 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK org.eclipse.emf.compare.doc.feature.jar 0.8.0.v200806180301 org.eclipse.net4j.examples.source.feature.jar 1.0.0.v200806180305 org.eclipse.gmf.sdk.feature.jar 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz org.eclipse.emf.codegen.feature.jar 2.4.0.v200806091234 org.eclipse.m2m.atl.examples.feature.jar 2.0.0.v200806101117 org.eclipse.equinox.p2.user.ui.source.feature.jar 1.0.0.v20080516-7d--ETu637E5se-QIGiA org.eclipse.team.svn.nl1.sources.feature.jar 0.7.1.I20080612-1500 org.eclipse.birt.report.designer.debug.feature.jar 2.3.0.v200806102-45-8s733I3E537 org.eclipse.wst.common_core.feature.feature.jar 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi com.instantiations.packager.feature.feature.jar 2.5.1 org.eclipse.datatools.connectivity.feature.feature.jar 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG org.eclipse.birt.report.designer.feature.jar 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 org.eclipse.zest.feature.jar 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.gef.sdk.feature.jar 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD org.eclipse.datatools.enablement.jdbc.feature.feature.jar 1.6.0.v200805301340-3-09oA55S5J8JADJJ org.eclipse.emf.sdk.feature.jar 2.4.0.v200806091234 com.nordea.cd.dev.plugin.feature.feature.jar 1.0.2 org.eclipse.sdk.feature.jar 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe org.eclipse.xsd.edit.feature.jar 2.4.0.v200806091234 org.eclipse.emf.query.doc.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.m2m.qvt.oml.common.source.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.emf.ocl.source.feature.jar 1.1.100.v200805130238-108Y7w311916241349 org.w3c.sac.feature.jar 1.3.0.v20080102-46-_kE77b7U_N56BA org.eclipse.mylyn_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.emf.mapping.ecore.editor.feature.jar 2.4.0.v200806091234 org.eclipse.uml2.search.feature.jar 0.7.0.v200806130939 org.eclipse.m2m.qvt.oml.sdk.feature.jar 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW org.eclipse.emf.cdo.server.hibernate.feature.jar 1.0.0.v200806180411 org.eclipse.buckminster.core.feature.feature.jar 1.1.0.r09351 org.eclipse.zest.sdk.feature.jar 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE org.eclipse.rcp.source.feature.jar 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB org.eclipse.emf.search.ecore.feature.jar 0.7.0.v200806130939 org.eclipse.mylyn.extras_sdk_feature.feature.jar 3.0.2.v20080918-1100-e3x org.eclipse.tptp.platform.la.core.feature.jar 4.3.200.v200806121215-42_77w311916342227 org.eclipse.m2m.atl.doc.feature.jar 2.0.0.v200806101117 org.eclipse.team.svn.feature.jar 0.7.1.I20080612-1500 org.polarion.eclipse.team.svn.connector.feature.jar 2.0.1.I20080612-1500 org.eclipse.equinox.p2.agent.feature.feature.jar 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw com.instantiations.helpeditor.feature.feature.jar 1.3.4.200809042225 org.eclipse.mylyn.java_feature.feature.jar 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.core.feature.feature.jar 5.5.0 org.eclipse.team.svn.sources.feature.jar 0.7.1.I20080612-1500 org.eclipse.emf.query.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecoretools.sdk.feature.jar 0.8.0.v200806130600 org.eclipse.gmf.feature.jar 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ org.eclipse.uml2.sdk.feature.jar 2.2.0.v200805201126 org.eclipse.emf.ecore.editor.feature.jar 2.4.0.v200806091234 org.eclipse.wst.xml_ui.feature.feature.jar 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY org.eclipse.m2m.qvt.oml.examples.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 org.eclipse.birt.crosstab.feature.jar 2.3.0.v20070920-45-8s733I3E3E org.eclipse.emf.databinding.feature.jar 1.0.0.v200806091234 org.eclipse.equinox.source.feature.jar 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 org.eclipse.wst.xml_core.feature.feature.jar 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP org.eclipse.net4j.source.feature.jar 1.0.0.v200806180305 org.eclipse.equinox.p2.user.ui.feature.jar 1.0.0.v20080516-7d--ETu637E5se-QIGiA org.eclipse.jet.feature.jar 0.9.0.v20080516-17H-9oA55S5I_N org.eclipse.uml2.search.ocl.feature.jar 0.7.0.v200806130939 org.eclipse.datatools.sqldevtools.ddl.feature.feature.jar 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm org.eclipse.zest.source.feature.jar 1.0.0.v20080115-53-8xB4CE899O274A org.polarion.eclipse.team.svn.connector.javahl.feature.jar 2.0.1.I20080612-1500 org.eclipse.gef.source.feature.jar 3.4.0.v20080115-677-8082A5696H274A org.eclipse.ecf.core.feature.jar 2.0.0.v20080623-0046 org.eclipse.rcp.feature.jar 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB org.eclipse.cvs.source.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S org.eclipse.emf.cdo.examples.source.feature.jar 1.0.0.v200806180411 org.eclipse.emf.compare.source.feature.jar 0.8.0.v200806180301 org.eclipse.tptp.lta.sdb.epi.feature.jar 4.5.0.v200805132041-44-7w311916243152 org.eclipse.m2m.qvt.oml.runtime.feature.jar 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.emf.cdo.source.feature.jar 1.0.0.v200806180411 org.eclipse.emf.edit.feature.jar 2.4.0.v200806091234 org.eclipse.m2m.qvt.oml.common.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.buckminster.remote.feature.feature.jar 1.0.0.r09326 org.eclipse.datatools.modelbase.feature.feature.jar 1.6.0.v200804021-6-0BcMAAwAfFgKSbi org.polarion.eclipse.team.svn.connector.svnkit.feature.jar 2.0.1.I20080612-1500 org.eclipse.ecf.examples.feature.jar 2.0.0.v20080623-0046 org.eclipse.emf.search.sdk.feature.jar 0.7.0.v200806130939 org.eclipse.xsd.source.feature.jar 2.4.0.v200806091234 org.eclipse.datatools.enablement.mysql.feature.feature.jar 1.6.0.v200804021-441_kE77c7QASCMPN org.eclipse.pde.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC org.eclipse.emf.query.ocl.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.mint.sdk.feature.jar 0.7.0.v200806172223 org.eclipse.emf.cdo.server.source.feature.jar 1.0.0.v200806180411 org.mozilla.rhino.feature.jar 1.6.7.v20071217-1567w31191325 org.eclipse.emf.validation.ocl.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.m2m.qvt.oml.runtime.source.feature.jar 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.emf.validation.ocl.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.uml2.examples.feature.jar 2.2.0.v200805131030 org.eclipse.buckminster.p4.feature.feature.jar 1.0.0.r09319 org.eclipse.team.svn.source.feature.jar 0.7.1.I20080612-1500 org.eclipse.birt.feature.jar 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 org.eclipse.emf.transaction.sdk.feature.jar 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e org.eclipse.ocl.all.sdk.feature.jar 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq org.eclipse.equinox.p2.director.feature.feature.jar 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W org.eclipse.birt.report.runtime.feature.jar 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 org.eclipse.emf.common.feature.jar 2.4.0.v200806091234 org.eclipse.emf.search.doc.feature.jar 0.7.0.v200806130939 org.eclipse.net4j.db.feature.jar 1.0.0.v200806180305 org.eclipse.emf.query.ocl.feature.jar 1.2.0.v200805130238-11-7w311916241349 org.eclipse.datatools.sqldevtools.results.feature.feature.jar 1.6.0.v200804021-30-9oA55S5J_F8CBQ org.python.pydev.mylyn.feature.feature.jar 0.3.0 org.eclipse.emf.codegen.ecore.ui.feature.jar 2.4.0.v200806091234 org.eclipse.emf.common.ui.feature.jar 2.4.0.v200806091234 org.eclipse.birt.report.designer.editor.xml.wtp.feature.jar 2.3.0.v200806102-22-7w311917213 org.eclipse.buckminster.pde.feature.feature.jar 1.1.0.r09351 org.eclipse.jet.examples.feature.jar 0.8.0.v20080211-078-7w31191322 org.eclipse.emf.edit.ui.feature.jar 2.4.0.v200806091234 org.eclipse.xsd.doc.feature.jar 2.4.0.v200806091234 org.eclipse.emf.teneo.feature.jar 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.jet.doc.feature.jar 0.9.0.v20080516-078-7w31191633 org.python.pydev.feature.feature.jar 1.3.20 org.eclipse.datatools.enablement.sybase.feature.feature.jar 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F org.eclipse.emf.mapping.feature.jar 2.4.0.v200806091234 com.instantiations.designer.feature.jar 6.7.1.200809050053 com.instantiations.eclipse.coverage.feature.feature.jar 5.5.1.200809042337 org.eclipse.emf.ecore.sdo.editor.feature.jar 2.4.0.v200806091234 org.eclipse.emf.ecoretools.feature.jar 0.8.0.v200806130600 org.eclipse.equinox.jmx.client.feature.feature.jar 1.0.0.v20070608-3--8s733G3C5C org.eclipse.platform.source.feature.jar 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M org.eclipse.wst.common_ui.feature.feature.jar 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW org.eclipse.m2m.atl.sdk.feature.jar 2.0.0.v200806101117 org.eclipse.emf.cdo.examples.feature.jar 1.0.0.v200806180411 org.eclipse.emf.workspace.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.help.source.feature.jar 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L org.eclipse.emf.validation.sdk.feature.jar 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e org.eclipse.buckminster.cvs.feature.feature.jar 1.0.0.r09319 org.eclipse.equinox.jmx.server.feature.feature.jar 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 org.eclipse.emf.ecore.sdo.doc.feature.jar 2.4.0.v200806091234 org.eclipse.emf.transaction.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.uml2tools.sdk.feature.jar 0.8.0.v200806112132 org.eclipse.pde.p2.feature.jar 1.0.0.v20080522-1--7w3119171503111 org.eclipse.datatools.enablement.hsqldb.feature.feature.jar 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK 

--1 x1969 -1 x1968>= -1 ;

- -1 x1968 1 x1970 1 x1879 1 x1971 1 x1972 1 x1608 1 x1973 1 x1974 1 x1975 1 x1865 1 x1976 1 x42 1 x1977 1 x1886 1 x1978 1 x1979 1 x1878 1 x100 1 x546 1 x1980 1 x1981 1 x1621 1 x1982 1 x1983 1 x171 1 x172 1 x1984 1 x1985 1 x1986 1 x1987 1 x1889 1 x189 1 x1988 1 x207 1 x1989 1 x1990 1 x1991 1 x1992 1 x222 1 x1947 1 x1993 1 x246 1 x1902 1 x247 1 x1994 1 x1995 1 x1996 1 x1997 1 x1998 1 x1999 1 x2000 1 x2001 1 x2002 1 x1638 1 x1936 1 x2003 1 x1918 1 x1876 1 x388 1 x1908 1 x2004 1 x290 1 x1915 1 x2005 1 x312 1 x417 1 x332 1 x1930 1 x337 1 x2006 1 x356 1 x412 1 x2007 1 x2008 1 x2009 1 x1885 1 x1599 1 x365 1 x364 1 x622 1 x2010 1 x389 1 x1619 1 x2011 1 x2012 1 x391 1 x2013 1 x559 1 x2014 1 x2015 1 x2016 1 x2017 1 x2018 1 x2019 1 x2020 1 x2021 1 x2022 1 x2023 1 x2024 1 x2025 1 x2026 1 x420 1 x2027 1 x156 1 x2028 1 x633 1 x311 1 x644 1 x2029 1 x426 1 x2030 1 x2031 1 x2032 1 x2033 1 x2034 1 x1931 1 x2035 1 x2036 1 x2037 1 x1937 1 x2038 1 x2039 1 x2040 1 x1934 1 x2041 1 x2042 1 x435 1 x2043 1 x1949 1 x2044 1 x2045 1 x2046 1 x2047 1 x450 1 x2048 1 x2049 1 x2050 1 x1938 1 x506 1 x2051 1 x1943 1 x1941 1 x2052 1 x537 1 x538 1 x2053 1 x2054 1 x1912 1 x2055 1 x554 1 x2056 1 x555 1 x2057 1 x2058 1 x1907 1 x2059 1 x2060 1 x2061 1 x2062 1 x2063 1 x2064 1 x2065 1 x2066 1 x1940 1 x2067 1 x2068 1 x1917 1 x2069 1 x1891 1 x212 1 x1630 1 x2070 1 x2071 1 x1634 1 x2072 1 x2073 1 x2074 1 x2075 1 x1649 1 x1875 1 x2076 1 x505 1 x646 1 x626 1 x2077 1 x2078 1 x2079 1 x2080 1 x2081 1 x2082 1 x2083 1 x2084 1 x2085 1 x2086 1 x2087 1 x2088 1 x2089 1 x2090 1 x2091 1 x1597 1 x2092 1 x2093 1 x124 1 x2094 1 x2095 1 x2096 1 x2097 1 x1600 1 x2098 1 x2099 1 x1965 1 x1613 1 x2100 1 x2101 1 x1615 1 x2102 1 x1616 1 x2103 1 x1618 1 x2104 1 x1612 1 x2105 1 x2106 1 x2107 1 x2108 1 x2109 1 x1903 1 x2110 1 x1635 1 x2111 1 x2112 1 x2113 1 x2114 1 x2115 1 x2116 1 x2117 1 x2118 1 x2119 1 x2120 1 x2121 1 x443 1 x2122 1 x2123 1 x227 1 x529 1 x1888 1 x2124 1 x2125 1 x2126 1 x2127 1 x2128 1 x1641 1 x2129 1 x2130 1 x1623 1 x2131 1 x2132 1 x2133 1 x2134 1 x2135 1 x2136 1 x2137 1 x2138 1 x2139 1 x1644 1 x2140 1 x580 1 x2141 1 x111 1 x1647 1 x1899 1 x2142 1 x2143 1 x2144 1 x1905 1 x2145 1 x1862 1 x2146 1 x2147 1 x1863 1 x2148 1 x1881 1 x2149 1 x591 1 x2150 1 x2151 1 x2152 1 x2153 1 x2154 1 x2155 1 x2156 1 x2157 1 x245 1 x2158 1 x2159 1 x15 1 x1866 1 x2160 1 x2161 1 x2162 1 x2163 1 x2164 1 x2165 1 x2166 1 x2167 1 x2168 1 x166 1 x2169 >= 0;

- -1 x1967 1 x1969 1 x1968 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2170 +1 x233 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2170 +1 x3 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2170 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2170 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x2170 +1 x1911 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2170 +1 x613 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ 

--1 x2170 +1 x2171 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS 

--1 x2170 +1 x2172 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 

--1 x2170 +1 x1564 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x2170 +1 x954 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x2170 +1 x1200 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x2170 +1 x1114 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x2170 +1 x1291 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 

--1 x2170 +1 x1229 >= 0;

-* org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ requires either org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.jar 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ 

--1 x2170 +1 x2022 >= 0;

-* org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x953 +1 x21 >= 0;

-* org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x953 +1 x20 >= 0;

-* org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x953 +1 x145 >= 0;

-* org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x953 +1 x132 >= 0;

-* org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x953 +1 x19 >= 0;

-* org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x401 +1 x70 >= 0;

-* org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 requires optionaly either org.eclipse.jdt.compiler.tool 1.0.100.v_874 

--1 x2174 -1 x2173>= -1 ;

- -1 x2173 1 x402 >= 0;

- -1 x401 1 x2174 1 x2173 >= 0;

-* org.eclipse.emf.ecore 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x132 +1 x21 >= 0;

-* org.eclipse.emf.ecore 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x132 +1 x114 >= 0;

-* org.eclipse.emf.ecore 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2176 -1 x2175>= -1 ;

- -1 x2175 1 x53 >= 0;

- -1 x132 1 x2176 1 x2175 >= 0;

-* com.windowtester.swt.gef.codegen 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x959 +1 x370 +1 x373 >= 0;

-* com.windowtester.swt.gef.codegen 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x959 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.gef.codegen 3.5.0.200806270034 requires either com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.windowtester.swt.runtime.gef 3.5.1.200809042232 

--1 x959 +1 x1071 +1 x1138 >= 0;

-* com.windowtester.swt.gef.codegen 3.5.0.200806270034 requires either com.windowtester.swt.codegen 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 

--1 x959 +1 x779 +1 x1379 >= 0;

-* com.windowtester.swt.gef.codegen 3.5.0.200806270034 requires either com.windowtester.swt.recorder 3.5.1.200809042232 com.windowtester.swt.recorder 3.5.0.200806270034 

--1 x959 +1 x946 +1 x1385 >= 0;

-* org.eclipse.team.svn.mylyn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 

--1 x2177 +1 x1258 >= 0;

-* org.eclipse.team.svn.mylyn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.mylyn.source.feature.jar 0.7.1.I20080612-1500 

--1 x2177 +1 x435 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x304 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x304 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x304 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x304 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x304 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x304 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x304 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x304 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x304 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x304 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x304 +1 x258 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x304 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x304 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x304 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x304 +1 x305 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x304 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 requires either org.eclipse.birt.core.ui 2.3.0.v20080515 

--1 x304 +1 x1582 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x961 +1 x52 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x961 +1 x53 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x961 +1 x54 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2179 -1 x2178>= -1 ;

- -1 x2178 1 x57 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2179 -1 x2180>= -1 ;

- -1 x2180 1 x59 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2179 -1 x2181>= -1 ;

- -1 x2181 1 x61 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2179 -1 x2182>= -1 ;

- -1 x2182 1 x63 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2179 -1 x2183>= -1 ;

- -1 x2183 1 x41 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x961 +1 x61 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x961 +1 x59 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x961 +1 x65 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x961 +1 x41 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2179 -1 x2184>= -1 ;

- -1 x2184 1 x57 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2179 -1 x2185>= -1 ;

- -1 x2185 1 x68 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2179 -1 x2186>= -1 ;

- -1 x2186 1 x63 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x961 +1 x70 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x961 +1 x71 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x961 +1 x72 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x961 +1 x73 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x961 +1 x74 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x961 +1 x75 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.help 3.3.100.v20080610 

--1 x961 +1 x76 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x2179 -1 x2187>= -1 ;

- -1 x2187 1 x78 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x961 +1 x79 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x961 +1 x80 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x961 +1 x81 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x961 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x961 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x961 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x961 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x961 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.eclipse.mail.ui 5.5.1 com.instantiations.eclipse.mail.ui 5.5.0 

--1 x961 +1 x92 +1 x93 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x961 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x961 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either com.instantiations.assist.eclipse.scheduler 5.5.0 com.instantiations.assist.eclipse.scheduler 5.5.1 

--1 x961 +1 x98 +1 x99 >= 0;

-* com.instantiations.assist.eclipse 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x961 +1 x21 >= 0;

- -1 x961 1 x2179 1 x2178 1 x2180 1 x2181 1 x2182 1 x2183 1 x2184 1 x2185 1 x2186 1 x2187 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2188 +1 x170 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2188 +1 x21 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2188 +1 x53 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2188 +1 x132 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2188 +1 x70 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2188 +1 x19 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x2188 +1 x20 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 

--1 x2188 +1 x953 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2188 +1 x57 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2188 +1 x147 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x2188 +1 x118 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2188 +1 x516 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.exporter 2.4.0.v200806091234 

--1 x2188 +1 x850 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x2188 +1 x605 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2 2.1.0.v200805131030 

--1 x2188 +1 x737 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 

--1 x2188 +1 x604 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 

--1 x2188 +1 x1384 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.common 1.4.0.v200805131030 

--1 x2188 +1 x18 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.common.edit 1.4.0.v200805131030 

--1 x2188 +1 x17 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x2188 +1 x603 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 

--1 x2188 +1 x1480 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 

--1 x2188 +1 x602 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x2188 +1 x775 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x2188 +1 x730 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.uml.resources 2.2.0.v200805131030 

--1 x2188 +1 x1243 >= 0;

-* org.eclipse.uml2.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.feature.jar 2.2.0.v200805201126 

--1 x2188 +1 x42 >= 0;

-* org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x963 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x963 +1 x145 >= 0;

-* org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.edit 1.0.0.v200806180411 

--1 x963 +1 x659 >= 0;

-* org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 

--1 x963 +1 x593 >= 0;

-* javax.xml 1.3.4.v200806030440 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x371 +1 x23 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 

--1 x966 +1 x809 >= 0;

-* org.eclipse.emf.transaction.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2189 +1 x1234 >= 0;

-* org.eclipse.emf.transaction.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction.source.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2189 +1 x2059 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x969 +1 x21 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x969 +1 x561 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x969 +1 x81 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x969 +1 x132 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x969 +1 x1191 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x969 +1 x178 >= 0;

-* org.eclipse.emf.search 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x969 +1 x54 >= 0;

-* org.eclipse.tptp.platform.execution 4.4.100.v200806050100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x972 +1 x21 >= 0;

-* org.eclipse.tptp.platform.execution 4.4.100.v200806050100 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x972 +1 x52 >= 0;

-* org.eclipse.tptp.platform.execution 4.4.100.v200806050100 requires either org.apache.ant 1.7.0.v200803061910 

--1 x972 +1 x113 >= 0;

-* org.eclipse.tptp.platform.execution 4.4.100.v200806050100 requires either org.junit 3.8.2.v20080602-1318 

--1 x972 +1 x409 >= 0;

-* org.eclipse.tptp.platform.execution 4.4.100.v200806050100 requires optionaly either org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 

--1 x2191 -1 x2190>= -1 ;

- -1 x2190 1 x1504 >= 0;

- -1 x972 1 x2191 1 x2190 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x975 +1 x54 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x975 +1 x21 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x975 +1 x53 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x975 +1 x132 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x975 +1 x19 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x975 +1 x969 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x975 +1 x776 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x975 +1 x1411 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x975 +1 x603 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x975 +1 x775 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x975 +1 x730 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x975 +1 x825 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ui 0.7.0.v200806130939 

--1 x975 +1 x729 >= 0;

-* org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x975 +1 x1300 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2192 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2192 +1 x132 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2192 +1 x170 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x2192 +1 x20 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 

--1 x2192 +1 x887 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 

--1 x2192 +1 x1314 >= 0;

-* org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.feature.jar 2.4.0.v200806091234 

--1 x2192 +1 x2042 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2194 -1 x2193>= -1 ;

- -1 x2193 1 x57 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x523 +1 x53 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x523 +1 x414 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x523 +1 x54 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x523 +1 x75 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x523 +1 x74 >= 0;

-* org.eclipse.ui.externaltools 3.2.0.v20080514-1542 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x523 +1 x21 >= 0;

- -1 x523 1 x2194 1 x2193 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2195 +1 x21 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 requires either org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 

--1 x2195 +1 x288 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 

--1 x2195 +1 x2196 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 

--1 x2195 +1 x809 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl.feature.jar 2.0.1.I20080612-1500 

--1 x2195 +1 x2118 >= 0;

-* com.instantiations.eclipse.util 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x97 +1 x21 >= 0;

-* org.eclipse.net4j.doc.feature.group 1.0.0.v200806180305 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2197 +1 x76 >= 0;

-* org.eclipse.net4j.doc.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.doc 1.0.0.v200806180305 

--1 x2197 +1 x1250 >= 0;

-* org.eclipse.net4j.doc.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.doc.feature.jar 1.0.0.v200806180305 

--1 x2197 +1 x2051 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 

--1 x2198 +1 x1396 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.junit.source 3.8.2.v20080602-1318 

--1 x2198 +1 x1761 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.source 3.4.0.v20080603-2000 

--1 x2198 +1 x1829 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.ant.ui.source 3.3.0.v20080529 

--1 x2198 +1 x1709 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.core.source 3.3.100.v20080513-1235 

--1 x2198 +1 x1726 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.ui.source 3.3.100.v20080407-1345 

--1 x2198 +1 x1824 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.apt.pluggable.core.source 1.0.100.v20080407-1345 

--1 x2198 +1 x1736 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.compiler.apt.source 1.0.100.v20080513-1235 

--1 x2198 +1 x1694 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.compiler.tool.source 1.0.100.v_874 

--1 x2198 +1 x1758 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.core.source 3.4.0.v_874 

--1 x2198 +1 x1710 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.core.manipulation.source 1.2.0.v20080603-2000 

--1 x2198 +1 x1711 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.debug.ui.source 3.3.0.v20080603 

--1 x2198 +1 x1656 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.debug.source 3.4.0.v20080604 

--1 x2198 +1 x1706 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit.source 3.4.0.v20080603-2000 

--1 x2198 +1 x1705 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit.runtime.source 3.3.0.v20080603-2000 

--1 x2198 +1 x1768 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.junit4.runtime.source 1.0.200.v20080603-2000 

--1 x2198 +1 x1727 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.launching.source 3.4.0.v20080529-1300 

--1 x2198 +1 x206 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.ui.source 3.4.0.v20080603-2000 

--1 x2198 +1 x1677 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.junit4.source 4.3.1 

--1 x2198 +1 x1657 >= 0;

-* org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq requires either org.eclipse.jdt.source.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2198 +1 x1976 >= 0;

-* org.eclipse.emf.ocl.doc.feature.group 1.2.0.v200805130238-108Y7w311916241349 requires either org.eclipse.help 3.3.100.v20080610 

--1 x109 +1 x76 >= 0;

-* org.eclipse.emf.ocl.doc.feature.group 1.2.0.v200805130238-108Y7w311916241349 requires either org.eclipse.ocl.doc 1.2.0.v200805130238 

--1 x109 +1 x1334 >= 0;

-* org.eclipse.emf.ocl.doc.feature.group 1.2.0.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl.doc 1.1.100.v200805130238 

--1 x109 +1 x1439 >= 0;

-* org.eclipse.emf.ocl.doc.feature.group 1.2.0.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl.doc.feature.jar 1.2.0.v200805130238-108Y7w311916241349 

--1 x109 +1 x1978 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x987 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x987 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x987 +1 x1507 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x987 +1 x1507 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x987 +1 x1441 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x23 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x23 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x39 +1 x23 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x23 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x23 >= 0;

-* org.eclipse.osgi.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x987 +1 x23 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x990 +1 x54 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x990 +1 x21 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x990 +1 x63 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x990 +1 x902 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x990 +1 x358 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x990 +1 x710 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl.uml 1.2.0.v200805130238 

--1 x990 +1 x1516 >= 0;

-* org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x990 +1 x969 >= 0;

-* ch.ethz.iks.slp 1.0.0.RC4_v200806091030 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x992 +1 x23 >= 0;

-* ch.ethz.iks.slp 1.0.0.RC4_v200806091030 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x992 +1 x49 >= 0;

-* org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x995 +1 x349 >= 0;

-* org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 requires either org.eclipse.birt.chart.ui 2.3.0.v20080522 

--1 x995 +1 x833 >= 0;

-* org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 requires either org.junit 3.8.2.v20080602-1318 

--1 x407 +1 x409 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.help 3.3.100.v20080610 

--1 x106 +1 x76 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x106 +1 x21 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x106 +1 x54 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x106 +1 x53 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x106 +1 x57 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.ocl.doc 1.2.0.v200805130238 

--1 x106 +1 x1334 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.emf.ocl.examples 1.2.0.v200805130238 

--1 x106 +1 x1288 >= 0;

-* org.eclipse.ocl.doc.feature.group 1.2.0.v200805041323-23-8s733I3C59379I requires either org.eclipse.ocl.doc.feature.jar 1.2.0.v200805041323-23-8s733I3C59379I 

--1 x106 +1 x2043 >= 0;

-* org.apache.xml.serializer 2.7.1.v200806030322 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x998 +1 x23 >= 0;

-* org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1602 +1 x21 >= 0;

-* org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1602 +1 x145 >= 0;

-* org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1602 +1 x310 >= 0;

-* org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1602 +1 x1534 >= 0;

-* org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit.feature.jar 2.4.0.v200806091234 

--1 x1602 +1 x2088 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x999 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x999 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x999 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x999 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x999 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x999 +1 x1372 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 

--1 x999 +1 x1337 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x999 +1 x1136 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x999 +1 x865 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x999 +1 x968 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x999 +1 x1204 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x999 +1 x754 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.svggen 1.6.0.v200805290154 

--1 x999 +1 x1201 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x999 +1 x1328 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x999 +1 x1235 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 requires either org.apache.batik.pdf 1.6.0.v200806031500 

--1 x999 +1 x1061 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1002 +1 x299 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1002 +1 x300 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1002 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x1002 +1 x1335 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1002 +1 x1307 +1 x349 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1002 +1 x865 >= 0;

-* org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 requires either com.lowagie.itext 1.5.4.v20080228 

--1 x1002 +1 x531 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2199 +1 x233 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.feature.group 2.2.0.v200805201126 

--1 x2199 +1 x2188 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x2199 +1 x234 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2199 +1 x235 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2199 +1 x236 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2199 +1 x237 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2199 +1 x3 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x2199 +1 x238 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools 0.8.0.v200806112132 

--1 x2199 +1 x734 >= 0;

-* org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools.feature.jar 0.8.0.v200806112132 

--1 x2199 +1 x2068 >= 0;

-* org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x511 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x511 +1 x257 >= 0;

-* org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x511 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 requires either org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 

--1 x511 +1 x344 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1006 +1 x21 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1006 +1 x54 >= 0;

-* org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1010 +1 x21 >= 0;

-* org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1010 +1 x132 >= 0;

-* org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1010 +1 x560 >= 0;

-* org.eclipse.core.commands 3.4.0.I20080509-2000 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1012 +1 x24 >= 0;

-* org.eclipse.emf.cdo.server.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 

--1 x1922 +1 x1228 >= 0;

-* org.eclipse.emf.cdo.server.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.source.feature.jar 1.0.0.v200806180411 

--1 x1922 +1 x2134 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x283 +1 x53 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x283 +1 x21 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x283 +1 x63 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x283 +1 x54 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x283 +1 x140 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x283 +1 x183 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x283 +1 x59 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x283 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x283 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x283 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x283 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x283 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x283 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x283 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x283 +1 x57 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x283 +1 x315 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 

--1 x283 +1 x279 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x283 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x283 +1 x703 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 

--1 x283 +1 x793 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context_feature.feature.jar 3.0.0.v20080619-1900 

--1 x283 +1 x1996 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1018 +1 x21 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1018 +1 x54 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1018 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1018 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1018 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1018 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1018 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x1018 +1 x848 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1018 +1 x840 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1018 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1018 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1018 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1018 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x1018 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 

--1 x1018 +1 x989 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1018 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1018 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1018 +1 x23 >= 0;

-* org.eclipse.emf.ocl.source.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 

--1 x110 +1 x733 >= 0;

-* org.eclipse.emf.ocl.source.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl.source.feature.jar 1.1.100.v200805130238-108Y7w311916241349 

--1 x110 +1 x2091 >= 0;

-* org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x136 +1 x140 >= 0;

-* org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x136 +1 x59 >= 0;

-* org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x136 +1 x54 >= 0;

-* org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x136 +1 x21 >= 0;

-* org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x136 +1 x553 +1 x142 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x384 +1 x1523 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x384 +1 x956 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x384 +1 x386 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.buckminster.opml 1.0.0.r09319 

--1 x384 +1 x1535 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x384 +1 x385 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x384 +1 x1185 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x384 +1 x971 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x384 +1 x53 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x384 +1 x414 >= 0;

-* org.eclipse.buckminster.core 1.1.0.r09336 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x384 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x325 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x325 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x325 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x325 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1030 +1 x54 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x1030 +1 x133 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1030 +1 x74 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1030 +1 x21 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x1030 +1 x1185 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1030 +1 x53 >= 0;

-* org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1030 +1 x75 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x250 +1 x72 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x250 +1 x53 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x250 +1 x54 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x250 +1 x70 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x250 +1 x71 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x250 +1 x73 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x250 +1 x404 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x250 +1 x74 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x2201 -1 x2200>= -1 ;

- -1 x2200 1 x637 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x2201 -1 x2202>= -1 ;

- -1 x2202 1 x308 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2201 -1 x2203>= -1 ;

- -1 x2203 1 x81 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x250 +1 x21 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2201 -1 x2204>= -1 ;

- -1 x2204 1 x61 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2201 -1 x2205>= -1 ;

- -1 x2205 1 x57 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2201 -1 x2206>= -1 ;

- -1 x2206 1 x140 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x2201 -1 x2207>= -1 ;

- -1 x2207 1 x133 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.team.ui 3.4.0.I20080604 

--1 x2201 -1 x2208>= -1 ;

- -1 x2208 1 x984 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2201 -1 x2209>= -1 ;

- -1 x2209 1 x68 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2201 -1 x2210>= -1 ;

- -1 x2210 1 x63 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x2201 -1 x2211>= -1 ;

- -1 x2211 1 x638 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2201 -1 x2212>= -1 ;

- -1 x2212 1 x23 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x2201 -1 x2213>= -1 ;

- -1 x2213 1 x178 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x2201 -1 x2214>= -1 ;

- -1 x2214 1 x751 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2201 -1 x2215>= -1 ;

- -1 x2215 1 x75 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2201 -1 x2216>= -1 ;

- -1 x2216 1 x59 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2201 -1 x2217>= -1 ;

- -1 x2217 1 x41 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either org.eclipse.swt.widgets.baseline 1.1.0 

--1 x250 +1 x512 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x250 +1 x86 +1 x87 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x250 +1 x96 +1 x97 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x250 +1 x82 +1 x83 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x250 +1 x84 +1 x85 >= 0;

-* com.swtdesigner 6.7.1.200809050053 requires either com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x250 +1 x1237 +1 x649 >= 0;

- -1 x250 1 x2201 1 x2200 1 x2202 1 x2203 1 x2204 1 x2205 1 x2206 1 x2207 1 x2208 1 x2209 1 x2210 1 x2211 1 x2212 1 x2213 1 x2214 1 x2215 1 x2216 1 x2217 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 

--1 x540 +1 x541 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x540 +1 x542 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x540 +1 x21 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x540 +1 x969 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x540 +1 x132 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x540 +1 x19 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x540 +1 x54 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x540 +1 x57 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x540 +1 x776 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x540 +1 x1411 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x540 +1 x53 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x540 +1 x147 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x540 +1 x63 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x540 +1 x41 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x540 +1 x225 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x540 +1 x1033 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x540 +1 x170 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x540 +1 x1094 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x540 +1 x1300 >= 0;

-* org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.feature.jar 0.7.0.v200806130939 

--1 x540 +1 x172 >= 0;

-* com.swtdesigner.layout.group 6.7.1.200809050053 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1032 +1 x54 >= 0;

-* com.swtdesigner.layout.group 6.7.1.200809050053 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1032 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x266 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x266 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x266 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x266 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x266 +1 x449 >= 0;

-* org.eclipse.jet.source.feature.group 0.9.0.v20080516 requires either org.eclipse.jet.source 0.9.0.v20080516 

--1 x2218 +1 x813 >= 0;

-* org.eclipse.jet.source.feature.group 0.9.0.v20080516 requires either org.eclipse.jet.source.feature.jar 0.9.0.v20080516 

--1 x2218 +1 x1977 >= 0;

-* org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1039 +1 x132 >= 0;

-* org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x1039 +1 x115 >= 0;

-* org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1039 +1 x560 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.objectweb.asm.source 3.1.0.v200803061910 

--1 x2219 +1 x1716 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.source 3.4.0.v20080603 

--1 x2219 +1 x1764 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.build.source 3.4.0.v20080604 

--1 x2219 +1 x1696 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.core.source 3.4.0.v20080604-2000 

--1 x2219 +1 x1750 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.junit.runtime.source 3.4.0.v20080529-1800 

--1 x2219 +1 x1733 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.runtime.source 3.4.0.v20080530-1200 

--1 x2219 +1 x1822 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.ui.source 3.4.0.v20080530 

--1 x2219 +1 x1643 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.ui.templates.source 3.4.0.v20080514-1500 

--1 x2219 +1 x1684 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.ui.views.log.source 1.0.0.v20080522-2200 

--1 x2219 +1 x1774 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.api.tools.source 1.0.0.v20080529-1150 

--1 x2219 +1 x1692 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.api.tools.ui.source 1.0.0.v20080603 

--1 x2219 +1 x1742 >= 0;

-* org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.source.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2219 +1 x2013 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1043 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1043 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x1043 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1043 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1043 +1 x316 >= 0;

-* org.eclipse.m2m.atl.doc.feature.group 2.0.0.v200806101117 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2220 +1 x76 >= 0;

-* org.eclipse.m2m.atl.doc.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.doc 2.0.0.v200806101117 

--1 x2220 +1 x1090 >= 0;

-* org.eclipse.m2m.atl.doc.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.doc.feature.jar 2.0.0.v200806101117 

--1 x2220 +1 x1613 >= 0;

-* org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x1051 +1 x264 >= 0;

-* org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x1051 +1 x449 >= 0;

-* org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 requires either org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 

--1 x1051 +1 x1058 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x305 +1 x54 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x305 +1 x140 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either org.eclipse.help 3.3.100.v20080610 

--1 x305 +1 x76 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x305 +1 x21 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x2222 -1 x2221>= -1 ;

- -1 x2221 1 x78 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires optionaly either org.eclipse.help.ui 3.3.100.v20080521 

--1 x2222 -1 x2223>= -1 ;

- -1 x2223 1 x79 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x305 +1 x553 +1 x142 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x305 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either org.apache.lucene 1.9.1.v20080530-1600 

--1 x305 +1 x1241 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x305 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.ui.cheatsheets 3.3.100.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x305 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x305 1 x2222 1 x2221 1 x2223 >= 0;

-* org.eclipse.help.appserver 3.1.300.v20080507 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1054 +1 x21 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1056 +1 x54 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1056 +1 x21 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1056 +1 x63 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1056 +1 x41 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either com.xored.swt.composer 1.3.4.200809042225 com.xored.swt.composer 1.3.4.200806270212 

--1 x1056 +1 x427 +1 x1135 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1056 +1 x61 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1056 +1 x53 >= 0;

-* com.xored.composer.ui 1.3.4.200806270212 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1056 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1057 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1057 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1057 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1057 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1057 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1057 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x1057 +1 x1589 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1057 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x1057 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1057 +1 x174 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1061 +1 x968 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x1061 +1 x754 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x1061 +1 x1204 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1061 +1 x1136 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1061 +1 x1136 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1061 +1 x968 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1061 +1 x968 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1061 +1 x968 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1061 +1 x865 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1061 +1 x865 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1061 +1 x865 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1061 +1 x1328 >= 0;

-* org.apache.batik.pdf 1.6.0.v200806031500 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1061 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 

--1 x399 +1 x398 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x399 +1 x71 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x399 +1 x70 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x399 +1 x54 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x399 +1 x21 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x399 +1 x53 >= 0;

-* org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x399 +1 x140 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x2224 +1 x1942 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either javax.servlet 2.4.0.v200806031604 

--1 x2224 +1 x46 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x2224 +1 x368 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.ant 1.7.0.v200803061910 

--1 x2224 +1 x113 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.commons.el 1.0.0.v200806031608 

--1 x2224 +1 x374 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2224 +1 x331 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.jasper 5.5.17.v200806031609 

--1 x2224 +1 x367 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.lucene 1.9.1.v20080530-1600 

--1 x2224 +1 x1241 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.apache.lucene.analysis 1.9.1.v20080530-1600 

--1 x2224 +1 x1496 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.jetty 1.1.0.v20080425 

--1 x2224 +1 x807 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 

--1 x2224 +1 x431 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 

--1 x2224 +1 x47 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 

--1 x2224 +1 x1195 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 

--1 x2224 +1 x430 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x2224 +1 x78 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x2224 +1 x79 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.webapp 3.3.100.v20080528 

--1 x2224 +1 x429 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x2224 +1 x1106 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2224 +1 x140 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2224 +1 x49 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x2224 +1 x414 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2224 +1 x80 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x2224 +1 x52 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 

--1 x2224 +1 x711 >= 0;

-* org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.feature.jar 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x2224 +1 x1981 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1069 +1 x54 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1069 +1 x21 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1069 +1 x53 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge 1.1.0.v20080528-1052 

--1 x1069 +1 x1251 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 

--1 x1069 +1 x1240 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 

--1 x1069 +1 x1213 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 

--1 x1069 +1 x1325 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1069 +1 x605 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 

--1 x1069 +1 x1488 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1069 +1 x70 >= 0;

-* org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1069 +1 x71 >= 0;

-* com.instantiations.eclipse.debug 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x86 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.doc.feature.group 0.8.0.v200806130600 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1610 +1 x76 >= 0;

-* org.eclipse.emf.ecoretools.doc.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 

--1 x1610 +1 x1412 >= 0;

-* org.eclipse.emf.ecoretools.doc.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.doc.feature.jar 0.8.0.v200806130600 

--1 x1610 +1 x2015 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.help 3.3.100.v20080610 

--1 x2227 +1 x76 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2227 +1 x21 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2227 +1 x54 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2227 +1 x53 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2227 +1 x57 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.emf.transaction.doc 1.2.0.v200805130238 

--1 x2227 +1 x610 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.emf.transaction.examples 1.2.0.v200806051817 

--1 x2227 +1 x1371 >= 0;

-* org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H requires either org.eclipse.emf.transaction.doc.feature.jar 1.2.0.v200805130238-23-8s733I3D4A4C7H 

--1 x2227 +1 x2066 >= 0;

-* com.instantiations.common.ui 5.3.2.200809042027 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x84 +1 x82 +1 x83 >= 0;

-* com.instantiations.common.ui 5.3.2.200809042027 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x84 +1 x54 >= 0;

-* com.instantiations.common.ui 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x84 +1 x21 >= 0;

-* com.instantiations.common.ui 5.3.2.200809042027 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x84 +1 x96 +1 x97 >= 0;

-* com.instantiations.common.ui 5.3.2.200809042027 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x84 +1 x86 +1 x87 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires optionaly either org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x2229 -1 x2228>= -1 ;

- -1 x2228 1 x1910 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires optionaly either org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha 

--1 x2229 -1 x2230>= -1 ;

- -1 x2230 1 x508 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x615 +1 x614 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x615 +1 x179 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x615 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x615 +1 x182 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 

--1 x615 +1 x1042 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x615 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x615 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x615 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 

--1 x615 +1 x920 >= 0;

-* org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG requires either org.eclipse.datatools.connectivity.feature.feature.jar 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x615 +1 x2080 >= 0;

- -1 x615 1 x2229 1 x2228 1 x2230 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1073 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1073 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1073 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1073 +1 x954 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x1073 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 

--1 x1073 +1 x752 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 

--1 x1073 +1 x742 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1073 +1 x177 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1073 +1 x183 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x1073 +1 x179 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x1073 +1 x182 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 

--1 x1073 +1 x185 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 requires either org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 

--1 x1073 +1 x186 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x614 +1 x233 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x614 +1 x1491 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 

--1 x614 +1 x1014 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x614 +1 x1290 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 

--1 x614 +1 x1303 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 

--1 x614 +1 x1574 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x614 +1 x1435 >= 0;

-* org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi requires either org.eclipse.datatools.modelbase.feature.feature.jar 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x614 +1 x2127 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 

--1 x121 +1 x543 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 

--1 x121 +1 x541 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 

--1 x121 +1 x120 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 

--1 x121 +1 x122 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x121 +1 x54 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x121 +1 x21 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x121 +1 x1242 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x121 +1 x710 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 

--1 x121 +1 x1465 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x121 +1 x969 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x121 +1 x1411 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x121 +1 x825 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x121 +1 x902 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x121 +1 x603 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x121 +1 x776 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 

--1 x121 +1 x1586 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ocl 0.7.0.v200806130939 

--1 x121 +1 x1387 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 

--1 x121 +1 x1568 >= 0;

-* org.eclipse.uml2.search.ocl.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ocl.feature.jar 0.7.0.v200806130939 

--1 x121 +1 x2115 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.help 3.3.100.v20080610 

--1 x2231 +1 x76 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2231 +1 x21 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2231 +1 x54 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2231 +1 x53 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2231 +1 x57 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.query.doc 1.2.0.v200805130238 

--1 x2231 +1 x1131 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.query.examples 1.2.0.v200805130238 

--1 x2231 +1 x1198 >= 0;

-* org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.query.doc.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2231 +1 x2089 >= 0;

-* org.eclipse.emf.mint.doc 0.7.0.v200806172223 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1077 +1 x76 >= 0;

-* org.eclipse.buckminster.generic 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1078 +1 x21 >= 0;

-* org.eclipse.buckminster.generic 1.0.0.r09319 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1078 +1 x160 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2232 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2232 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x2232 +1 x1910 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha 

--1 x2232 +1 x508 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ 

--1 x2232 +1 x616 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2232 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 

--1 x2232 +1 x830 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 

--1 x2232 +1 x923 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 

--1 x2232 +1 x1382 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x2232 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ requires either org.eclipse.datatools.enablement.sap.feature.feature.jar 1.6.0.v200804021-440_kE77c7QAQEIQQ 

--1 x2232 +1 x1938 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.ui 1.0.0.r09319 

--1 x2233 +1 x896 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x2233 +1 x384 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x2233 +1 x385 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x2233 +1 x386 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2233 +1 x21 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2233 +1 x54 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x2233 +1 x1523 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2233 +1 x53 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.p4.ui 1.0.0.r09319 

--1 x2233 +1 x1557 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.p4 1.0.0.r09319 

--1 x2233 +1 x1452 >= 0;

-* org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.p4.feature.feature.jar 1.0.0.r09319 

--1 x2233 +1 x1644 >= 0;

-* org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1082 +1 x21 >= 0;

-* org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server 1.0.0.v200806180411 

--1 x1082 +1 x1484 >= 0;

-* org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 

--1 x1082 +1 x1017 >= 0;

-* org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 

--1 x1082 +1 x1222 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x562 +1 x132 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x562 +1 x53 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x562 +1 x21 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x562 +1 x1514 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x562 +1 x639 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x562 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x562 +1 x25 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x562 +1 x68 +1 x63 >= 0;

-* org.eclipse.gmf.xpand 1.1.0.v20080528-1052 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x562 +1 x23 >= 0;

-* org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1084 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1084 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1084 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1084 +1 x142 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.apache.derby 10.1.2.1_v200803061811 

--1 x2234 +1 x741 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples 1.0.0.v200806180305 

--1 x2234 +1 x1091 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.common 1.0.0.v200806180305 

--1 x2234 +1 x1432 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.server 1.0.0.v200806180305 

--1 x2234 +1 x1128 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies 1.0.0.v200806180305 

--1 x2234 +1 x1513 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 

--1 x2234 +1 x1179 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 

--1 x2234 +1 x1433 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 

--1 x2234 +1 x1464 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.api 1.0.0.v200806180305 

--1 x2234 +1 x1351 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jms 1.0.0.v200806180305 

--1 x2234 +1 x818 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.admin 1.0.0.v200806180305 

--1 x2234 +1 x1364 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.server 1.0.0.v200806180305 

--1 x2234 +1 x1414 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 

--1 x2234 +1 x1502 >= 0;

-* org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples.feature.jar 1.0.0.v200806180305 

--1 x2234 +1 x2035 >= 0;

-* org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x241 +1 x54 >= 0;

-* org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x241 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 

--1 x241 +1 x242 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2235 +1 x21 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2235 +1 x53 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2235 +1 x57 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2235 +1 x170 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2235 +1 x19 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2235 +1 x147 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x2235 +1 x225 >= 0;

-* org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.editor.feature.jar 2.4.0.v200806091234 

--1 x2235 +1 x2107 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x122 +1 x21 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x122 +1 x132 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x122 +1 x603 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x122 +1 x1411 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x122 +1 x969 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x122 +1 x1094 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x122 +1 x54 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x122 +1 x775 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x122 +1 x730 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x122 +1 x776 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x122 +1 x1033 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x122 +1 x825 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ui 0.7.0.v200806130939 

--1 x122 +1 x729 >= 0;

-* org.eclipse.uml2.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.runtime.feature.jar 0.7.0.v200806130939 

--1 x122 +1 x1984 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1088 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1088 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1088 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 

--1 x1088 +1 x794 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1088 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 

--1 x1088 +1 x336 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1089 +1 x315 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1089 +1 x53 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1089 +1 x21 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1089 +1 x971 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x1089 +1 x984 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1089 +1 x140 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1089 +1 x54 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1089 +1 x183 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1089 +1 x1495 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1089 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1089 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1089 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1089 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1089 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1089 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1089 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1089 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.net4j.examples 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2237 -1 x2236>= -1 ;

- -1 x2236 1 x21 >= 0;

-* org.eclipse.net4j.examples 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1091 +1 x353 >= 0;

-* org.eclipse.net4j.examples 1.0.0.v200806180305 requires either org.eclipse.net4j.tcp 1.0.0.v200806180305 

--1 x1091 +1 x860 >= 0;

-* org.eclipse.net4j.examples 1.0.0.v200806180305 requires either org.eclipse.net4j.jvm 1.0.0.v200806180305 

--1 x1091 +1 x350 >= 0;

- -1 x1091 1 x2237 1 x2236 >= 0;

-* org.eclipse.birt.data.aggregation 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1092 +1 x299 >= 0;

-* org.eclipse.birt.data.aggregation 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x1092 +1 x256 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x2238 +1 x848 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x2238 +1 x875 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x2238 +1 x840 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x2238 +1 x1376 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x2238 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x2238 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x2238 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2238 +1 x36 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x2238 +1 x655 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x2238 +1 x709 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 

--1 x2238 +1 x905 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x2238 +1 x927 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 

--1 x2238 +1 x700 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x2238 +1 x688 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x2238 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x2238 +1 x660 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 

--1 x2238 +1 x1350 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x2238 +1 x796 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 

--1 x2238 +1 x926 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x2238 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 

--1 x2238 +1 x1018 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 

--1 x2238 +1 x530 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 

--1 x2238 +1 x989 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x2238 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x2238 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 

--1 x2238 +1 x675 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.sat4j.core 2.0.0.v20080602 

--1 x2238 +1 x747 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.sat4j.pb 2.0.0.v20080602 

--1 x2238 +1 x1327 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x2238 +1 x209 >= 0;

-* org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw requires either org.eclipse.equinox.p2.agent.feature.feature.jar 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw 

--1 x2238 +1 x1615 >= 0;

-* org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x1096 +1 x796 >= 0;

-* org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 requires either a.jre 1.6.0 

--1 x1096 +1 x210 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1097 +1 x170 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 

--1 x1097 +1 x1082 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 requires either org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 

--1 x1097 +1 x808 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 

--1 x1097 +1 x1017 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x81 +1 x21 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x81 +1 x53 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x81 +1 x639 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x81 +1 x54 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x81 +1 x57 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x81 +1 x41 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x81 +1 x63 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x81 +1 x140 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x81 +1 x178 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x81 +1 x751 >= 0;

-* org.eclipse.search 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x81 +1 x553 +1 x142 >= 0;

-* org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm requires either org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll 

--1 x2239 +1 x2240 >= 0;

-* org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2239 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2239 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm requires either org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 

--1 x2239 +1 x897 >= 0;

-* org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm requires either org.eclipse.datatools.sqldevtools.ddl.feature.feature.jar 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm 

--1 x2239 +1 x2116 >= 0;

-* org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1104 +1 x21 >= 0;

-* org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1104 +1 x52 >= 0;

-* org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1104 +1 x76 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1105 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1105 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1105 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1105 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1105 +1 x74 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1105 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x1105 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x1105 +1 x1589 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x1105 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 

--1 x1105 +1 x1541 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1105 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1105 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x1105 +1 x133 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x406 +1 x57 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x406 +1 x59 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x406 +1 x63 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x406 +1 x41 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x406 +1 x61 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x406 +1 x54 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x406 +1 x159 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x406 +1 x53 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x406 +1 x75 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x406 +1 x74 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x406 +1 x70 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x406 +1 x71 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x406 +1 x21 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x406 +1 x73 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x406 +1 x404 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 

--1 x406 +1 x407 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x406 +1 x315 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x406 +1 x178 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x406 +1 x414 >= 0;

-* org.eclipse.jdt.junit 3.4.0.v20080603-2000 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x406 +1 x751 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1107 +1 x840 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1107 +1 x23 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x1107 +1 x26 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1107 +1 x27 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1107 +1 x875 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1107 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1107 +1 x875 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1107 +1 x875 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1107 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1107 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1107 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1107 +1 x23 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1107 +1 x27 >= 0;

-* org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1107 +1 x23 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x2241 +1 x2242 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires optionaly either org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2244 -1 x2243>= -1 ;

- -1 x2243 1 x2245 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 

--1 x2241 +1 x251 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either javax.servlet.source 2.4.0.v200806031604 

--1 x2241 +1 x1847 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either javax.servlet.jsp.source 2.0.0.v200806031607 

--1 x2241 +1 x1682 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.jasper.source 5.5.17.v200806031609 

--1 x2241 +1 x1790 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.commons.el.source 1.0.0.v200806031608 

--1 x2241 +1 x1817 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.commons.logging.source 1.0.4.v20080605-1930 

--1 x2241 +1 x1756 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.ant.source 1.7.0.v200803061910 

--1 x2241 +1 x1683 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.lucene.source 1.9.1.v20080530-1600 

--1 x2241 +1 x1687 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.apache.lucene.analysis.source 1.9.1.v20080530-1600 

--1 x2241 +1 x1636 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.mortbay.jetty.source 5.1.14.v200806031611 

--1 x2241 +1 x1795 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.compare.source 3.4.0.I20080604 

--1 x2241 +1 x1734 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.filebuffers.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1794 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.filesystem.source 1.2.0.v20080604-1400 

--1 x2241 +1 x1632 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.net.source 1.1.0.I20080604 

--1 x2241 +1 x1844 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.resources.source 3.4.0.v20080604-1400 

--1 x2241 +1 x1730 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.resources.compatibility.source 3.4.0.v20080604-1400 

--1 x2241 +1 x1701 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.osgi.util.source 3.1.300.v20080303 

--1 x2241 +1 x1754 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.debug.core.source 3.4.0.v20080612 

--1 x2241 +1 x1834 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.debug.ui.source 3.4.0.v20080529-1300 

--1 x2241 +1 x1832 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.help.appserver.source 3.1.300.v20080507 

--1 x2241 +1 x1673 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ltk.core.refactoring.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1823 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ltk.ui.refactoring.source 3.4.0.v20080605-1800 

--1 x2241 +1 x1802 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform.source 3.3.100.v200806172000 

--1 x2241 +1 x1828 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.search.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1810 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.team.core.source 3.4.0.I20080605 

--1 x2241 +1 x1813 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.team.ui.source 3.4.0.I20080604 

--1 x2241 +1 x1723 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.text.source 3.4.0.v20080605-1800 

--1 x2241 +1 x1659 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jface.text.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1745 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jsch.core.source 1.1.100.I20080604 

--1 x2241 +1 x1704 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jsch.ui.source 1.1.100.I20080415 

--1 x2241 +1 x1797 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.console.source 3.3.0.v20080529-1300 

--1 x2241 +1 x1699 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.presentations.r21.source 3.2.100.I20080512-2000 

--1 x2241 +1 x1708 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.intro.source 3.2.200.v20080610 

--1 x2241 +1 x1664 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.intro.universal.source 3.2.200.v20080508 

--1 x2241 +1 x581 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.cheatsheets.source 3.3.100.v20080508 

--1 x2241 +1 x1842 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.browser.source 3.2.200.v20080507 

--1 x2241 +1 x1801 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.navigator.source 3.3.100.I20080606-1300 

--1 x2241 +1 x1827 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.navigator.resources.source 3.3.100.I20080606-1300 

--1 x2241 +1 x1785 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.net.source 1.0.0.I20080605 

--1 x2241 +1 x421 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.workbench.texteditor.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1811 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.views.source 3.3.0.I20080509-2000 

--1 x2241 +1 x1746 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.editors.source 3.4.0.v20080603-2000 

--1 x2241 +1 x1668 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.externaltools.source 3.2.0.v20080514-1542 

--1 x2241 +1 x1689 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.ide.source 3.4.0.I20080606-1300 

--1 x2241 +1 x1748 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.ide.application.source 1.0.0.I20080603-2000 

--1 x2241 +1 x1752 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.win32.source 3.2.100.v20080408-0800 

--1 x2241 +1 x22 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.core.source 3.2.200.v20080515 

--1 x2241 +1 x1714 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.scheduler.source 3.2.100.v20080404 

--1 x2241 +1 x1737 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.ui.source 3.2.100.v20080318 

--1 x2241 +1 x1747 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.workbench.compatibility.source 3.2.0.I20080509-2000 

--1 x2241 +1 x1715 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.core.win32.source 3.2.100.v20080107 

--1 x2241 +1 x1658 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.views.properties.tabbed.source 3.4.0.I20080527-2000 

--1 x2241 +1 x1789 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security.source 1.0.0.v20080512-1800 

--1 x2241 +1 x1676 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security.ui.source 1.0.0.v20080603-1810 

--1 x2241 +1 x1848 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security.win32.x86.source 1.0.0.v20080529-1600 

--1 x2241 +1 x1743 >= 0;

-* org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform.source.feature.jar 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2241 +1 x2159 >= 0;

- -1 x2241 1 x2244 1 x2243 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either a.jre 1.6.0 

--1 x1106 +1 x210 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either a.jre 1.6.0 

--1 x1106 +1 x210 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1106 +1 x45 +1 x46 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1106 +1 x45 +1 x46 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1106 +1 x45 +1 x46 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1106 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x1106 +1 x331 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1106 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.mortbay.jetty 5.1.14.v200806031611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1106 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1109 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1109 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x1109 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1109 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1109 +1 x316 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2246 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2246 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2246 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2246 +1 x73 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2246 +1 x132 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x2246 +1 x115 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2246 +1 x170 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2246 +1 x68 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.apache.ant 1.7.0.v200803061910 

--1 x2246 +1 x113 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2246 +1 x80 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2246 +1 x114 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x2246 +1 x118 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x2246 +1 x112 >= 0;

-* org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.feature.jar 2.4.0.v200806091234 

--1 x2246 +1 x2028 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1117 +1 x170 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1117 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.workspace 1.2.0.v200805130238 

--1 x1117 +1 x1273 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1117 +1 x19 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 

--1 x1117 +1 x1591 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1117 +1 x142 >= 0;

-* org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1117 +1 x159 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x287 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x287 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x287 +1 x316 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x287 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x287 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x287 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x287 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x287 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x287 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x287 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x287 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x287 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x280 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x287 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x1109 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x784 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.1.v20080721-2100-e3x 

--1 x287 +1 x1992 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x28 +1 x27 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x28 +1 x26 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x28 +1 x24 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x28 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x28 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x28 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x28 +1 x23 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x28 +1 x23 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x28 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x28 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.core.contenttype 3.3.0.v20080604-1400 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x28 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x137 +1 x54 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x137 +1 x59 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x137 +1 x57 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 

--1 x137 +1 x1549 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x137 +1 x131 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x137 +1 x21 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.hyades.execution 4.4.200.v200806120100 

--1 x137 +1 x1554 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.tptp.platform.execution 4.4.100.v200806050100 

--1 x137 +1 x972 >= 0;

-* org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 requires either org.eclipse.help 3.3.100.v20080610 

--1 x137 +1 x76 >= 0;

-* javax.activation 1.1.0.v200806101325 requires either a.jre 1.6.0 

--1 x1122 +1 x210 >= 0;

-* javax.activation 1.1.0.v200806101325 requires either a.jre 1.6.0 

--1 x1122 +1 x210 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1121 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1121 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1121 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1121 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1121 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1121 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1121 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x1121 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2248 -1 x2249>= -1 ;

- -1 x2249 1 x23 >= 0;

-* com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1121 +1 x21 >= 0;

- -1 x1121 1 x2248 1 x2249 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x99 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x99 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x99 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2251 -1 x2250>= -1 ;

- -1 x2250 1 x57 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2251 -1 x2252>= -1 ;

- -1 x2252 1 x59 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2251 -1 x2253>= -1 ;

- -1 x2253 1 x61 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2251 -1 x2254>= -1 ;

- -1 x2254 1 x63 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2251 -1 x2255>= -1 ;

- -1 x2255 1 x41 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2251 -1 x2256>= -1 ;

- -1 x2256 1 x57 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2251 -1 x2257>= -1 ;

- -1 x2257 1 x68 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2251 -1 x2258>= -1 ;

- -1 x2258 1 x63 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x99 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x99 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x99 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x99 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x99 +1 x74 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x99 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.help 3.3.100.v20080610 

--1 x99 +1 x76 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x2251 -1 x2259>= -1 ;

- -1 x2259 1 x78 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x99 +1 x79 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x99 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x99 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x99 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x99 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x99 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x99 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x99 +1 x21 >= 0;

- -1 x99 1 x2251 1 x2250 1 x2252 1 x2253 1 x2254 1 x2255 1 x2256 1 x2257 1 x2258 1 x2259 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.jet.source.feature.group 0.9.0.v20080516 

--1 x2260 +1 x2218 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N 

--1 x2260 +1 x2261 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.jet.doc.feature.group 0.9.0.v20080516-078-7w31191633 

--1 x2260 +1 x2262 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.jet.examples.feature.group 0.8.0.v20080211-078-7w31191322 

--1 x2260 +1 x1880 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2260 +1 x145 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2260 +1 x21 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2260 +1 x53 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2260 +1 x57 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2260 +1 x147 >= 0;

-* org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX requires either org.eclipse.jet.sdk.feature.jar 0.9.0.v20080516-07X-82Te4djSEJpBWJX 

--1 x2260 +1 x2063 >= 0;

-* org.eclipse.net4j.buddies.server 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2264 -1 x2263>= -1 ;

- -1 x2263 1 x21 >= 0;

-* org.eclipse.net4j.buddies.server 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.common 1.0.0.v200806180305 

--1 x1128 +1 x1432 >= 0;

- -1 x1128 1 x2264 1 x2263 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x308 +1 x637 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x308 +1 x21 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x308 +1 x57 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x308 +1 x59 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x308 +1 x63 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x308 +1 x41 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x308 +1 x61 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x308 +1 x74 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x308 +1 x70 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x308 +1 x404 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x308 +1 x73 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x308 +1 x71 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.pde.build 3.4.0.v20080604 

--1 x308 +1 x960 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x308 +1 x81 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x308 +1 x971 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x308 +1 x54 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x308 +1 x1185 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x308 +1 x140 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ant.ui 3.3.0.v20080529 

--1 x308 +1 x397 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x308 +1 x406 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x308 +1 x424 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x308 +1 x305 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x308 +1 x638 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.views.log 1.0.0.v20080522-2200 

--1 x308 +1 x1580 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x308 +1 x178 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x308 +1 x414 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x308 +1 x315 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x308 +1 x160 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x308 +1 x751 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 

--1 x308 +1 x403 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x308 +1 x159 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x308 +1 x1495 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x308 +1 x553 +1 x142 >= 0;

-* org.eclipse.pde.ui 3.4.0.v20080530 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x308 +1 x405 >= 0;

-* org.eclipse.birt.cshelp 2.3.0.v20080617 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1130 +1 x21 >= 0;

-* org.eclipse.birt.cshelp 2.3.0.v20080617 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1130 +1 x52 >= 0;

-* org.eclipse.birt.cshelp 2.3.0.v20080617 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1130 +1 x76 >= 0;

-* org.eclipse.emf.query.doc 1.2.0.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1131 +1 x76 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1132 +1 x21 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1132 +1 x54 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1132 +1 x140 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2266 -1 x2265>= -1 ;

- -1 x2265 1 x70 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2266 -1 x2267>= -1 ;

- -1 x2267 1 x53 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires optionaly either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2266 -1 x2268>= -1 ;

- -1 x2268 1 x71 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires optionaly either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x2266 -1 x2269>= -1 ;

- -1 x2269 1 x308 >= 0;

-* org.eclipse.pde.runtime 3.4.0.v20080530-1200 requires optionaly either org.eclipse.help 3.3.100.v20080610 

--1 x2266 -1 x2270>= -1 ;

- -1 x2270 1 x76 >= 0;

- -1 x1132 1 x2266 1 x2265 1 x2267 1 x2268 1 x2269 1 x2270 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x280 +1 x21 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x280 +1 x54 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x280 +1 x140 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x280 +1 x315 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x280 +1 x159 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x280 +1 x316 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x280 +1 x53 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x280 +1 x63 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x280 +1 x81 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x280 +1 x317 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x280 +1 x61 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x280 +1 x57 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x280 +1 x59 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x280 +1 x41 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x280 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x280 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x280 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x280 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x280 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x280 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x280 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x280 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x280 +1 x1942 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x1386 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x320 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x314 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x323 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x325 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x329 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x1545 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x280 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x280 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x280 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x280 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x261 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x328 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x277 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn_feature.feature.jar 3.0.1.v20080721-2100-e3x 

--1 x280 +1 x1994 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x424 +1 x21 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either org.eclipse.help 3.3.100.v20080610 

--1 x424 +1 x76 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x2272 -1 x2271>= -1 ;

- -1 x2271 1 x78 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x424 +1 x54 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x424 +1 x140 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.ui.intro 3.2.200.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x424 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x424 1 x2272 1 x2271 >= 0;

-* com.xored.swt.composer 1.3.4.200806270212 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1135 +1 x72 >= 0;

-* com.xored.swt.composer 1.3.4.200806270212 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1135 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1139 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1139 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x1139 +1 x449 >= 0;

-* org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 

--1 x1139 +1 x1058 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.1.200809042232 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1138 +1 x254 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.1.200809042232 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x1138 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.1.200809042232 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1138 +1 x561 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1138 +1 x54 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1605 +1 x21 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui 2.4.0.v200806091234 

--1 x1605 +1 x224 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 

--1 x1605 +1 x1265 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1605 +1 x1534 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 

--1 x1605 +1 x1267 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 

--1 x1605 +1 x950 >= 0;

-* org.eclipse.xsd.mapping.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping.editor.feature.jar 2.4.0.v200806091234 

--1 x1605 +1 x2020 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1143 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1143 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x1143 +1 x264 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x1143 +1 x266 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1143 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x1143 +1 x444 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 

--1 x1143 +1 x1478 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1143 +1 x142 >= 0;

-* org.eclipse.xsd.example.installer 1.0.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x1145 +1 x146 >= 0;

-* org.eclipse.xsd.example.installer 1.0.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1145 +1 x310 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2273 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2273 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2273 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2273 +1 x516 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2273 +1 x61 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x2273 +1 x160 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2273 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2273 +1 x70 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x2273 +1 x637 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2273 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2273 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2273 +1 x74 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2273 +1 x147 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x2273 +1 x159 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x2273 +1 x710 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2273 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x2273 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 

--1 x2273 +1 x522 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x2273 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x2273 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2273 +1 x2125 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x425 +1 x21 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either org.eclipse.help 3.3.100.v20080610 

--1 x425 +1 x76 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x425 +1 x54 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x425 +1 x424 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x425 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x425 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.ui.intro.universal 3.2.200.v20080508 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x425 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x2274 +1 x971 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.cvs.ui 3.3.100.I20080604 

--1 x2274 +1 x900 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x2274 +1 x1294 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x2274 +1 x561 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2274 +1 x53 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2274 +1 x21 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x2274 +1 x65 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x2274 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x2274 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x 

--1 x2274 +1 x1089 +1 x786 +1 x1583 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x2274 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x2274 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2274 +1 x54 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2274 +1 x63 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x2274 +1 x183 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2274 +1 x57 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x2274 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x2274 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x282 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x1598 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x2274 +1 x984 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x2274 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2274 +1 x2275 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x1192 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x885 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x1563 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x1593 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x1040 >= 0;

-* org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x2274 +1 x2057 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x115 +1 x21 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x115 +1 x114 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x115 +1 x53 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x115 +1 x70 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x115 +1 x73 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x115 +1 x75 >= 0;

-* org.eclipse.emf.codegen 2.4.0.v200806091234 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x115 +1 x68 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1869 +1 x21 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1869 +1 x54 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1869 +1 x53 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1869 +1 x57 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 

--1 x1869 +1 x1572 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.gmf.examples 1.0.100.v20080425-1959 

--1 x1869 +1 x1093 >= 0;

-* org.eclipse.gmf.examples.pde.feature.group 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK requires either org.eclipse.gmf.examples.pde.feature.jar 1.1.0.v20070809-0000-2-Ag8s733I3A7C15KCK 

--1 x1869 +1 x2040 >= 0;

-* org.eclipse.tptp.platform.jakarta.log4j.feature.group 4.4.0.v200802291616-117B7w311917141711 requires either org.apache.log4j 1.2.13.v200806030600 

--1 x2276 +1 x1133 >= 0;

-* org.eclipse.tptp.platform.jakarta.log4j.feature.group 4.4.0.v200802291616-117B7w311917141711 requires either org.eclipse.tptp.platform.jakarta.log4j.feature.jar 4.4.0.v200802291616-117B7w311917141711 

--1 x2276 +1 x2050 >= 0;

-* org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1151 +1 x299 >= 0;

-* org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1151 +1 x300 >= 0;

-* org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1151 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x1151 +1 x256 >= 0;

-* org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x573 +1 x21 >= 0;

-* org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x573 +1 x52 >= 0;

-* org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 requires either org.eclipse.help 3.3.100.v20080610 

--1 x573 +1 x76 >= 0;

-* org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 requires either org.eclipse.birt.cshelp 2.3.0.v20080617 

--1 x573 +1 x1130 >= 0;

-* org.eclipse.birt.cshelp.feature.group 2.3.0.v200805131-22-7w31191728 requires either org.eclipse.birt.cshelp.feature.jar 2.3.0.v200805131-22-7w31191728 

--1 x573 +1 x2017 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x76 +1 x21 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x76 +1 x159 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.help 3.3.100.v20080610 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x76 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1154 +1 x21 >= 0;

-* org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x1154 +1 x361 >= 0;

-* org.eclipse.birt.report.model 2.3.0.v20080605 requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x300 +1 x883 >= 0;

-* org.eclipse.birt.report.model 2.3.0.v20080605 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x300 +1 x299 >= 0;

-* org.eclipse.birt.report.model 2.3.0.v20080605 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x300 +1 x340 >= 0;

-* org.eclipse.birt.report.model 2.3.0.v20080605 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x300 +1 x349 >= 0;

-* org.eclipse.birt.report.model 2.3.0.v20080605 requires either org.w3c.sac 1.3.0.v20070710 

--1 x300 +1 x702 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.apache.derby.feature.feature.group 1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK 

--1 x2279 -1 x2278>= -1 ;

- -1 x2278 1 x612 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK 

--1 x2279 -1 x2280>= -1 ;

- -1 x2280 1 x2281 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.ibm.feature.feature.group 1.6.0.v200804021-7D40EB7sQS9RWfUjJLb 

--1 x2279 -1 x2282>= -1 ;

- -1 x2282 1 x1966 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2279 -1 x2283>= -1 ;

- -1 x2283 1 x613 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.jdt.feature.feature.group 1.6.0.v200804021-1-07w311916263466 

--1 x2279 -1 x2284>= -1 ;

- -1 x2284 1 x2285 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.msft.feature.feature.group 1.6.0.v200804021-441_kE77c7QARCMOS 

--1 x2279 -1 x2286>= -1 ;

- -1 x2286 1 x1939 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.mysql.feature.feature.group 1.6.0.v200804021-441_kE77c7QASCMPN 

--1 x2279 -1 x2287>= -1 ;

- -1 x2287 1 x1622 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN 

--1 x2279 -1 x2288>= -1 ;

- -1 x2288 1 x509 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 

--1 x2279 -1 x2289>= -1 ;

- -1 x2289 1 x507 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL 

--1 x2279 -1 x2290>= -1 ;

- -1 x2290 1 x2291 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP 

--1 x2279 -1 x2292>= -1 ;

- -1 x2292 1 x2293 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.sap.feature.feature.group 1.6.0.v200804021-440_kE77c7QAQEIQQ 

--1 x2279 -1 x2294>= -1 ;

- -1 x2294 1 x2232 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires optionaly either org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F 

--1 x2279 -1 x2295>= -1 ;

- -1 x2295 1 x2296 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2277 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2277 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x2277 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui requires either org.eclipse.datatools.enablement.feature.feature.jar 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui 

--1 x2277 +1 x2065 >= 0;

- -1 x2277 1 x2279 1 x2278 1 x2280 1 x2282 1 x2283 1 x2284 1 x2286 1 x2287 1 x2288 1 x2289 1 x2290 1 x2292 1 x2294 1 x2295 >= 0;

-* org.eclipse.jsch.ui 1.1.100.I20080415 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1157 +1 x54 >= 0;

-* org.eclipse.jsch.ui 1.1.100.I20080415 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1157 +1 x21 >= 0;

-* org.eclipse.jsch.ui 1.1.100.I20080415 requires either org.eclipse.jsch.core 1.1.100.I20080604 

--1 x1157 +1 x1594 >= 0;

-* org.eclipse.jsch.ui 1.1.100.I20080415 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1157 +1 x893 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either com.ibm.icu 3.8.1.v20080530 

--1 x1942 +1 x142 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1942 +1 x1012 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x1942 +1 x1297 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a 

--1 x1942 +1 x1365 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x1942 +1 x25 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1942 +1 x159 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1942 +1 x21 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 

--1 x1942 +1 x31 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1942 +1 x23 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.help 3.3.100.v20080610 

--1 x1942 +1 x76 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1942 +1 x72 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1942 +1 x561 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.jface.databinding 1.2.0.I20080515-2000a 

--1 x1942 +1 x668 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1942 +1 x54 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x1942 +1 x65 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x1942 +1 x638 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x1942 +1 x1203 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.swt.win32.win32.x86 3.4.0.v3448f 

--1 x1942 +1 x645 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.rcp 3.4.0.v20080507 

--1 x1942 +1 x634 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.contenttype 3.3.0.v20080604-1400 

--1 x1942 +1 x28 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1942 +1 x32 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1942 +1 x24 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1942 +1 x27 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x1942 +1 x26 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x1942 +1 x657 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 

--1 x1942 +1 x1383 >= 0;

-* org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.rcp.feature.jar 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x1942 +1 x2121 >= 0;

-* com.instantiations.packager.help 2.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1164 +1 x54 >= 0;

-* com.instantiations.packager.help 2.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1164 +1 x21 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1165 +1 x24 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1165 +1 x875 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x1165 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1165 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1165 +1 x875 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1165 +1 x875 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1165 +1 x875 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1165 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x1165 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1165 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1165 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1165 +1 x875 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1165 +1 x23 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1165 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1165 +1 x23 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2298 -1 x2297>= -1 ;

- -1 x2297 1 x49 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1165 +1 x23 >= 0;

-* org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1165 +1 x23 >= 0;

- -1 x1165 1 x2298 1 x2297 >= 0;

-* org.eclipse.emf.ecoretools.source.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 

--1 x1611 +1 x674 >= 0;

-* org.eclipse.emf.ecoretools.source.feature.group 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.source.feature.jar 0.8.0.v200806130600 

--1 x1611 +1 x2055 >= 0;

-* org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x1168 +1 x209 >= 0;

-* org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 requires optionaly either org.eclipse.swt 3.4.0.v3448f 

--1 x2300 -1 x2299>= -1 ;

- -1 x2299 1 x72 >= 0;

- -1 x1168 1 x2300 1 x2299 >= 0;

-* org.apache.derby.core.feature.group 10.3.1.4 requires either org.apache.derby.core 10.3.1.4 

--1 x1909 +1 x1400 >= 0;

-* org.apache.derby.core.feature.group 10.3.1.4 requires either org.apache.derby.core.feature.jar 10.3.1.4 

--1 x1909 +1 x2032 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x71 +1 x54 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x71 +1 x133 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.help 3.3.100.v20080610 

--1 x71 +1 x76 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x71 +1 x159 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x71 +1 x160 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x71 +1 x53 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x71 +1 x414 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x71 +1 x70 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x71 +1 x81 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x71 +1 x75 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x71 +1 x74 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x71 +1 x73 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x71 +1 x315 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x71 +1 x984 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x71 +1 x971 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x71 +1 x63 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x71 +1 x41 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x71 +1 x57 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x71 +1 x59 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x71 +1 x61 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x71 +1 x21 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x71 +1 x178 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x71 +1 x751 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x71 +1 x140 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x71 +1 x183 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 

--1 x71 +1 x403 >= 0;

-* org.eclipse.jdt.ui 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x71 +1 x553 +1 x142 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1169 +1 x54 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1169 +1 x21 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x1169 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 

--1 x1169 +1 x208 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1169 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1169 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x1169 +1 x848 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x1169 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1169 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1169 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x1169 +1 x848 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1169 +1 x840 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1169 +1 x840 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1169 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1169 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1169 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 

--1 x1169 +1 x989 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1169 +1 x875 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1169 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1169 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1169 +1 x23 >= 0;

-* org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1169 +1 x23 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2240 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2240 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ 

--1 x2240 +1 x2171 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x2240 +1 x1200 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x2240 +1 x1161 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x2240 +1 x1291 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x2240 +1 x954 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x2240 +1 x1114 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 

--1 x2240 +1 x186 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x2240 +1 x677 >= 0;

-* org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll requires either org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.jar 1.6.0.v200804021-77--CYQCD4ClJlQXll 

--1 x2240 +1 x538 >= 0;

-* org.eclipse.m2m.qvt.oml.doc.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2301 +1 x76 >= 0;

-* org.eclipse.m2m.qvt.oml.doc.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 

--1 x2301 +1 x792 >= 0;

-* org.eclipse.m2m.qvt.oml.doc.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.doc.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2301 +1 x1973 >= 0;

-* org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1172 +1 x76 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2303 -1 x2302>= -1 ;

- -1 x2302 1 x57 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2303 -1 x2304>= -1 ;

- -1 x2304 1 x59 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2303 -1 x2305>= -1 ;

- -1 x2305 1 x63 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2303 -1 x2306>= -1 ;

- -1 x2306 1 x41 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2303 -1 x2307>= -1 ;

- -1 x2307 1 x61 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.apache.ant 1.7.0.v200803061910 

--1 x397 +1 x113 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x397 +1 x80 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x397 +1 x160 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x397 +1 x53 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x397 +1 x639 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x397 +1 x414 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x397 +1 x523 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x397 +1 x54 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x397 +1 x133 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x397 +1 x75 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x397 +1 x74 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x397 +1 x71 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x397 +1 x404 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x397 +1 x73 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x397 +1 x21 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x397 +1 x70 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x397 +1 x971 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x397 +1 x178 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x397 +1 x159 >= 0;

-* org.eclipse.ant.ui 3.3.0.v20080529 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x397 +1 x553 +1 x142 >= 0;

- -1 x397 1 x2303 1 x2302 1 x2304 1 x2305 1 x2306 1 x2307 >= 0;

-* org.apache.xml.resolver 1.2.0.v200806030312 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1175 +1 x23 >= 0;

-* org.eclipse.team.svn.resource.ignore.rules.jdt.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 

--1 x2308 +1 x1529 >= 0;

-* org.eclipse.team.svn.resource.ignore.rules.jdt.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.resource.ignore.rules.jdt.source.feature.jar 0.7.1.I20080612-1500 

--1 x2308 +1 x2023 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either a.jre 1.6.0 

--1 x209 +1 x210 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x209 +1 x24 +1 x21 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x209 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x209 +1 x25 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x209 +1 x27 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x23 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x209 +1 x27 >= 0;

-* org.eclipse.equinox.security 1.0.0.v20080512-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x209 +1 x23 >= 0;

-* com.instantiations.tools 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1177 +1 x21 >= 0;

-* com.instantiations.tools 5.3.2.200809042027 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1177 +1 x53 >= 0;

-* com.instantiations.tools 5.3.2.200809042027 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1177 +1 x70 >= 0;

-* com.instantiations.tools 5.3.2.200809042027 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1177 +1 x113 >= 0;

-* com.instantiations.tools 5.3.2.200809042027 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1177 +1 x82 +1 x83 >= 0;

-* org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x403 +1 x21 >= 0;

-* org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x403 +1 x53 >= 0;

-* org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x403 +1 x178 >= 0;

-* org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x403 +1 x70 >= 0;

-* org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x403 +1 x159 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1179 +1 x21 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1179 +1 x54 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1179 +1 x57 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1179 +1 x353 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.util.ui 1.0.0.v200806180305 

--1 x1179 +1 x1298 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies 1.0.0.v200806180305 

--1 x1179 +1 x1513 >= 0;

-* org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 requires optionaly either org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 

--1 x2310 -1 x2309>= -1 ;

- -1 x2309 1 x1433 >= 0;

- -1 x1179 1 x2310 1 x2309 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x416 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x416 +1 x115 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x416 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x416 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x416 +1 x73 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x416 +1 x54 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x416 +1 x57 >= 0;

-* org.eclipse.emf.codegen.ui 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x416 +1 x146 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP 

--1 x238 +1 x2311 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.notation.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E 

--1 x238 +1 x2312 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x238 +1 x4 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x238 +1 x3 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x238 +1 x233 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x238 +1 x236 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x238 +1 x237 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x238 +1 x2313 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x238 +1 x1085 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x238 +1 x265 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x238 +1 x264 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 

--1 x238 +1 x658 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x238 +1 x449 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x238 +1 x266 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 

--1 x238 +1 x695 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 

--1 x238 +1 x1367 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 

--1 x238 +1 x1182 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 

--1 x238 +1 x1312 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x238 +1 x445 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 

--1 x238 +1 x447 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 

--1 x238 +1 x1155 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 

--1 x238 +1 x810 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x238 +1 x446 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x238 +1 x444 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x238 +1 x1262 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x238 +1 x738 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x238 +1 x1571 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x238 +1 x693 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x238 +1 x1372 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 

--1 x238 +1 x1337 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 

--1 x238 +1 x999 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 

--1 x238 +1 x1591 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x238 +1 x448 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x238 +1 x1117 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 

--1 x238 +1 x1058 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 

--1 x238 +1 x1139 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 

--1 x238 +1 x1051 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x238 +1 x849 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 

--1 x238 +1 x745 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x238 +1 x1458 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf 1.0.0.v20080425-1959 

--1 x238 +1 x1315 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 

--1 x238 +1 x1478 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 

--1 x238 +1 x831 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 

--1 x238 +1 x1143 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 

--1 x238 +1 x1178 >= 0;

-* org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.feature.jar 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x238 +1 x2105 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2314 +1 x21 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2314 +1 x132 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x2314 +1 x358 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x2314 +1 x603 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl.uml 1.2.0.v200805130238 

--1 x2314 +1 x1516 >= 0;

-* org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl.uml.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x2314 +1 x2069 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1182 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1182 +1 x265 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x1183 +1 x305 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1183 +1 x605 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1183 +1 x53 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1183 +1 x21 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1183 +1 x561 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1183 +1 x57 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x1183 +1 x65 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x1183 +1 x516 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1183 +1 x70 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.emf.importer.java 2.4.0.v200806091234 

--1 x1183 +1 x1245 >= 0;

-* org.eclipse.emf.cheatsheets 2.4.0.v200806091234 requires either org.eclipse.emf.importer.rose 2.4.0.v200806091234 

--1 x1183 +1 x911 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2261 +1 x80 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2261 +1 x53 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2261 +1 x21 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2261 +1 x75 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x2261 +1 x115 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2261 +1 x114 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2261 +1 x132 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2261 +1 x170 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2261 +1 x68 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x2261 +1 x159 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x2261 +1 x639 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2261 +1 x70 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.apache.ant 1.7.0.v200803061910 

--1 x2261 +1 x113 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2261 +1 x74 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2261 +1 x54 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2261 +1 x57 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.jet 0.9.0.v20080527 

--1 x2261 +1 x1100 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.jet.ui 0.9.0.v20080527 

--1 x2261 +1 x1031 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.jet.core 1.1.0.v20080415 

--1 x2261 +1 x652 >= 0;

-* org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N requires either org.eclipse.jet.feature.jar 0.9.0.v20080516-17H-9oA55S5I_N 

--1 x2261 +1 x2114 >= 0;

-* org.eclipse.xsd 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x310 +1 x21 >= 0;

-* org.eclipse.xsd 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x310 +1 x132 >= 0;

-* org.eclipse.emf.transaction 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1191 +1 x21 >= 0;

-* org.eclipse.emf.transaction 1.2.0.v200805130238 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1191 +1 x145 >= 0;

-* org.eclipse.emf.transaction 1.2.0.v200805130238 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x1191 +1 x20 >= 0;

-* org.eclipse.emf.transaction 1.2.0.v200805130238 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x1191 +1 x940 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1194 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1194 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1194 +1 x1435 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1194 +1 x1491 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x1194 +1 x677 >= 0;

-* org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1194 +1 x170 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1195 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1195 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x1195 +1 x368 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either org.apache.jasper 5.5.17.v200806031609 

--1 x1195 +1 x367 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1195 +1 x23 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1195 +1 x49 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1195 +1 x23 >= 0;

-* org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1195 +1 x23 >= 0;

-* org.eclipse.osgi.util 3.1.300.v20080303 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x102 +1 x23 >= 0;

-* org.eclipse.osgi.util 3.1.300.v20080303 requires optionaly either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x2316 -1 x2315>= -1 ;

- -1 x2315 1 x369 1 x370 1 x371 1 x372 1 x373 1 x210 >= 0;

- -1 x102 1 x2316 1 x2315 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.source.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 

--1 x2317 +1 x684 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.source.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 requires either org.eclipse.m2m.qvt.oml.runtime.source.feature.jar 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 

--1 x2317 +1 x2137 >= 0;

-* org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1196 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1196 +1 x340 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x234 +1 x21 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x234 +1 x710 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x234 +1 x1514 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x234 +1 x358 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x234 +1 x1410 >= 0;

-* org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 requires either org.eclipse.emf.ocl.feature.jar 1.1.100.v200805130238-108Y7w311916241349 

--1 x234 +1 x2061 >= 0;

-* org.apache.batik.svggen 1.6.0.v200805290154 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1201 +1 x1136 >= 0;

-* org.apache.batik.svggen 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1201 +1 x1328 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2318 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2318 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x2318 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2318 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2318 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x2318 +1 x65 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2318 +1 x41 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x2318 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2318 +1 x233 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.feature.group 2.2.0.v200805201126 

--1 x2318 +1 x2188 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x2318 +1 x234 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2318 +1 x235 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2318 +1 x236 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2318 +1 x237 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2318 +1 x3 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x2318 +1 x238 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram 0.8.0.v200806112132 

--1 x2318 +1 x760 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 

--1 x2318 +1 x910 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 

--1 x2318 +1 x1301 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 

--1 x2318 +1 x678 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x2318 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.component 0.8.0.v200806112132 

--1 x2318 +1 x679 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 

--1 x2318 +1 x973 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 

--1 x2318 +1 x721 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 

--1 x2318 +1 x1510 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 

--1 x2318 +1 x706 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 

--1 x2318 +1 x1068 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 

--1 x2318 +1 x1533 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 

--1 x2318 +1 x868 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.def 0.8.0.v200806112132 

--1 x2318 +1 x851 >= 0;

-* org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.feature.jar 0.8.0.v200806112132 

--1 x2318 +1 x1995 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1202 +1 x384 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1202 +1 x386 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x1202 +1 x1294 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1202 +1 x971 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1202 +1 x80 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1202 +1 x53 >= 0;

-* org.eclipse.buckminster.cvs 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1202 +1 x21 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2320 -1 x2319>= -1 ;

- -1 x2319 1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2320 -1 x2321>= -1 ;

- -1 x2321 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2320 -1 x2322>= -1 ;

- -1 x2322 1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1203 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1203 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1203 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1203 +1 x23 >= 0;

- -1 x1203 1 x2320 1 x2319 1 x2321 1 x2322 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1206 +1 x24 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x1206 +1 x26 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1206 +1 x36 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1206 +1 x921 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1206 +1 x1255 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1206 +1 x997 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1206 +1 x32 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1206 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1206 +1 x23 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1206 +1 x49 >= 0;

-* org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1206 +1 x23 >= 0;

-* org.eclipse.core.filesystem 1.2.0.v20080604-1400 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x160 +1 x24 >= 0;

-* org.eclipse.core.filesystem 1.2.0.v20080604-1400 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x160 +1 x26 >= 0;

-* org.eclipse.core.filesystem 1.2.0.v20080604-1400 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x160 +1 x23 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1213 +1 x21 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1213 +1 x53 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.gmf.codegen 2.1.0.v20080610-1132 

--1 x1213 +1 x1466 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1213 +1 x145 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1213 +1 x170 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1213 +1 x147 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1213 +1 x57 >= 0;

-* org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x1213 +1 x516 >= 0;

-* com.instantiations.packager.feature.feature.group 2.5.1 requires either com.instantiations.packager.core 2.5.1 

--1 x2323 +1 x1304 >= 0;

-* com.instantiations.packager.feature.feature.group 2.5.1 requires either com.instantiations.packager.ui 2.5.1 

--1 x2323 +1 x764 >= 0;

-* com.instantiations.packager.feature.feature.group 2.5.1 requires either com.instantiations.packager.refactoring 2.5.1 

--1 x2323 +1 x1023 >= 0;

-* com.instantiations.packager.feature.feature.group 2.5.1 requires either com.instantiations.packager.help 2.5.1 

--1 x2323 +1 x1164 >= 0;

-* com.instantiations.packager.feature.feature.group 2.5.1 requires either com.instantiations.packager.feature.feature.jar 2.5.1 

--1 x2323 +1 x2079 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.jdt 1.0.0.r09319 

--1 x1214 +1 x1451 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.ant 1.1.0.r09351 

--1 x1214 +1 x1421 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1214 +1 x384 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x1214 +1 x1523 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x1214 +1 x956 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1214 +1 x386 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.opml 1.0.0.r09319 

--1 x1214 +1 x1535 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1214 +1 x385 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1214 +1 x637 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1214 +1 x971 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.pde.build 3.4.0.v20080604 

--1 x1214 +1 x960 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1214 +1 x73 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1214 +1 x70 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1214 +1 x53 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1214 +1 x21 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x1214 +1 x1185 >= 0;

-* org.eclipse.buckminster.pde 1.1.0.r09351 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1214 +1 x113 >= 0;

-* org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1219 +1 x24 >= 0;

-* org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1219 +1 x36 >= 0;

-* org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1219 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1219 +1 x23 >= 0;

-* org.eclipse.emf.mapping 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x642 +1 x21 >= 0;

-* org.eclipse.emf.mapping 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x642 +1 x145 >= 0;

-* com.windowtester.runtime.legacy 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1223 +1 x54 >= 0;

-* com.windowtester.runtime.legacy 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1223 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1225 +1 x174 >= 0;

-* org.eclipse.xsd.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.source 2.4.0.v200806091234 

--1 x1607 +1 x1311 >= 0;

-* org.eclipse.xsd.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.source.feature.jar 2.4.0.v200806091234 

--1 x1607 +1 x2130 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2324 +1 x4 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2324 +1 x233 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.source.feature.group 2.4.0.v200806091234 

--1 x2324 +1 x2325 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.doc.feature.group 2.4.0.v200806091234 

--1 x2324 +1 x2326 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.example.installer 1.0.0.v200806091234 

--1 x2324 +1 x662 >= 0;

-* org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.sdk.feature.jar 2.4.0.v200806091234 

--1 x2324 +1 x2085 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x301 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x301 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x301 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x301 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x301 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x301 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x301 +1 x305 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x301 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x301 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x301 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x301 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x301 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x301 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x301 +1 x304 >= 0;

-* org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x301 +1 x253 >= 0;

-* org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1229 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1229 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x1229 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1229 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x1229 +1 x1114 >= 0;

-* org.eclipse.emf.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.doc 2.4.0.v200806091234 

--1 x2326 +1 x1489 >= 0;

-* org.eclipse.emf.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.cheatsheets 2.4.0.v200806091234 

--1 x2326 +1 x1183 >= 0;

-* org.eclipse.emf.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.doc.feature.jar 2.4.0.v200806091234 

--1 x2326 +1 x1993 >= 0;

-* org.eclipse.net4j 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2328 -1 x2327>= -1 ;

- -1 x2327 1 x21 >= 0;

-* org.eclipse.net4j 1.0.0.v200806180305 requires either org.eclipse.net4j.util 1.0.0.v200806180305 

--1 x353 +1 x1493 >= 0;

- -1 x353 1 x2328 1 x2327 >= 0;

-* org.eclipse.jdt 3.4.0.v20080603-2000 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x396 +1 x424 >= 0;

-* org.eclipse.jdt 3.4.0.v20080603-2000 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x396 +1 x305 >= 0;

-* org.eclipse.jet.doc.feature.group 0.9.0.v20080516-078-7w31191633 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2262 +1 x76 >= 0;

-* org.eclipse.jet.doc.feature.group 0.9.0.v20080516-078-7w31191633 requires either org.eclipse.jet.doc 0.9.0.v20080522 

--1 x2262 +1 x1370 >= 0;

-* org.eclipse.jet.doc.feature.group 0.9.0.v20080516-078-7w31191633 requires either org.eclipse.jet.doc.feature.jar 0.9.0.v20080516-078-7w31191633 

--1 x2262 +1 x2151 >= 0;

-* org.eclipse.datatools.connectivity 1.1.0.v200805160228 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x174 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity 1.1.0.v200805160228 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x174 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity 1.1.0.v200805160228 requires either com.ibm.icu 3.8.1.v20080530 

--1 x174 +1 x142 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x98 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x98 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x98 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2330 -1 x2329>= -1 ;

- -1 x2329 1 x57 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2330 -1 x2331>= -1 ;

- -1 x2331 1 x59 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2330 -1 x2332>= -1 ;

- -1 x2332 1 x61 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2330 -1 x2333>= -1 ;

- -1 x2333 1 x63 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2330 -1 x2334>= -1 ;

- -1 x2334 1 x41 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2330 -1 x2335>= -1 ;

- -1 x2335 1 x57 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2330 -1 x2336>= -1 ;

- -1 x2336 1 x68 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2330 -1 x2337>= -1 ;

- -1 x2337 1 x63 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x98 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x98 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x98 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x98 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x98 +1 x74 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x98 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.help 3.3.100.v20080610 

--1 x98 +1 x76 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x2330 -1 x2338>= -1 ;

- -1 x2338 1 x78 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x98 +1 x79 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x98 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x98 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x98 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x98 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x98 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x98 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.scheduler 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x98 +1 x21 >= 0;

- -1 x98 1 x2330 1 x2329 1 x2331 1 x2332 1 x2333 1 x2334 1 x2335 1 x2336 1 x2337 1 x2338 >= 0;

-* org.w3c.dom.svg 1.1.0.v200806040011 requires either org.w3c.dom.smil 1.0.0.v200806040011 

--1 x1235 +1 x771 >= 0;

-* org.w3c.dom.svg 1.1.0.v200806040011 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1235 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* javax.xml.rpc 1.1.0.v200806030420 requires either javax.xml.soap 1.2.0.v200806030421 

--1 x598 +1 x599 >= 0;

-* javax.xml.rpc 1.1.0.v200806030420 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x598 +1 x45 +1 x46 >= 0;

-* javax.xml.rpc 1.1.0.v200806030420 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x2340 -1 x2339>= -1 ;

- -1 x2339 1 x347 >= 0;

- -1 x598 1 x2340 1 x2339 >= 0;

-* org.eclipse.emf.compare.source.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.source 0.8.0.v200806180301 

--1 x1629 +1 x1197 >= 0;

-* org.eclipse.emf.compare.source.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.source.feature.jar 0.8.0.v200806180301 

--1 x1629 +1 x2123 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2341 +1 x21 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2341 +1 x114 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.databinding 1.0.0.v200806091234 

--1 x2341 +1 x1153 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2341 +1 x132 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2341 +1 x145 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.databinding.edit 1.0.0.v200806091234 

--1 x2341 +1 x907 >= 0;

-* org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.databinding.edit.feature.jar 1.0.0.v200806091234 

--1 x2341 +1 x2002 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1237 +1 x54 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1237 +1 x21 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1237 +1 x53 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1237 +1 x75 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1237 +1 x63 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1237 +1 x70 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1237 +1 x71 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1237 +1 x73 >= 0;

-* com.instantiations.eclipse.ui 5.3.2.200806270030 requires optionaly either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x2343 -1 x2342>= -1 ;

- -1 x2342 1 x637 >= 0;

- -1 x1237 1 x2343 1 x2342 >= 0;

-* org.eclipse.jface.text 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x63 +1 x21 >= 0;

-* org.eclipse.jface.text 3.4.0.v20080603-2000 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x63 +1 x68 >= 0;

-* org.eclipse.jface.text 3.4.0.v20080603-2000 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x63 +1 x561 >= 0;

-* org.eclipse.jface.text 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x63 +1 x553 +1 x142 >= 0;

-* org.eclipse.emf.query.ocl 1.2.0.v200805130238 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1242 +1 x132 >= 0;

-* org.eclipse.emf.query.ocl 1.2.0.v200805130238 requires either org.eclipse.emf.query 1.2.0.v200805130238 

--1 x1242 +1 x1358 >= 0;

-* org.eclipse.emf.query.ocl 1.2.0.v200805130238 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x1242 +1 x1410 >= 0;

-* org.eclipse.emf.query.ocl 1.2.0.v200805130238 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1242 +1 x358 >= 0;

-* org.eclipse.emf.query.ocl 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1242 +1 x21 >= 0;

-* org.eclipse.uml2.uml.resources 2.2.0.v200805131030 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1243 +1 x603 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1244 +1 x36 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1244 +1 x1255 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x1244 +1 x1219 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1244 +1 x21 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 

--1 x1244 +1 x1324 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1244 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1244 +1 x23 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1251 +1 x21 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1251 +1 x53 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1251 +1 x70 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.gmf.map 2.1.0.v20080521 

--1 x1251 +1 x1560 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.gmf.codegen 2.1.0.v20080610-1132 

--1 x1251 +1 x1466 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x1251 +1 x1359 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 

--1 x1251 +1 x699 >= 0;

-* org.eclipse.gmf.bridge 1.1.0.v20080528-1052 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1251 +1 x575 >= 0;

-* org.eclipse.emf.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2344 +1 x21 >= 0;

-* org.eclipse.emf.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2344 +1 x145 >= 0;

-* org.eclipse.emf.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x2344 +1 x642 >= 0;

-* org.eclipse.emf.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.feature.jar 2.4.0.v200806091234 

--1 x2344 +1 x2154 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1255 +1 x24 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1255 +1 x36 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1255 +1 x921 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1255 +1 x32 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1255 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1255 +1 x23 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1255 +1 x49 >= 0;

-* org.eclipse.ecf.provider 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1255 +1 x23 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x601 +1 x598 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires either javax.xml.soap 1.2.0.v200806030421 

--1 x601 +1 x599 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires either javax.wsdl 1.5.1.v200806030408 

--1 x601 +1 x1381 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires either org.apache.commons.discovery 0.2.0.v200806030120 

--1 x601 +1 x881 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires either org.apache.ant 1.7.0.v200803061910 

--1 x601 +1 x113 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2346 -1 x2345>= -1 ;

- -1 x2345 1 x331 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2346 -1 x2347>= -1 ;

- -1 x2347 1 x331 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x2346 -1 x2348>= -1 ;

- -1 x2348 1 x45 1 x46 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x2346 -1 x2349>= -1 ;

- -1 x2349 1 x45 1 x46 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either javax.activation 1.1.0.v200806101325 com.instantiations.eclipse.mail 5.5.0 javax.activation 1.1.0.v200804101140 com.instantiations.eclipse.mail 5.5.1 

--1 x2346 -1 x2350>= -1 ;

- -1 x2350 1 x1122 1 x732 1 x913 1 x663 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either javax.mail 1.4.0.v200804091730 com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x2346 -1 x2351>= -1 ;

- -1 x2351 1 x991 1 x732 1 x663 >= 0;

-* org.apache.axis 1.4.0.v200806030120 requires optionaly either javax.mail 1.4.0.v200804091730 com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x2346 -1 x2352>= -1 ;

- -1 x2352 1 x991 1 x732 1 x663 >= 0;

- -1 x601 1 x2346 1 x2345 1 x2347 1 x2348 1 x2349 1 x2350 1 x2351 1 x2352 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1257 +1 x24 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x1257 +1 x26 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1257 +1 x36 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1257 +1 x655 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1257 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x1257 +1 x25 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1257 +1 x27 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires optionaly either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x2354 -1 x2353>= -1 ;

- -1 x2353 1 x32 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1257 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1257 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1257 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1257 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x1257 +1 x209 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1257 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1257 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1257 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1257 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1257 +1 x27 >= 0;

-* org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1257 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x1257 1 x2354 1 x2353 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x446 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x446 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x446 +1 x136 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x446 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 

--1 x446 +1 x1051 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x446 +1 x849 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x446 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x446 +1 x254 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 

--1 x446 +1 x1182 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 requires either com.ibm.icu 3.8.1.v20080530 

--1 x446 +1 x142 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1259 +1 x24 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1259 +1 x36 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1259 +1 x921 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x1259 +1 x1119 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1259 +1 x1255 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1259 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1259 +1 x23 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1259 +1 x49 >= 0;

-* org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1259 +1 x23 >= 0;

-* org.eclipse.zest.source.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2355 +1 x103 >= 0;

-* org.eclipse.zest.source.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.zest.source.feature.jar 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2355 +1 x2117 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 

--1 x1262 +1 x658 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1262 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x1262 +1 x444 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x1262 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1262 +1 x142 >= 0;

-* org.eclipse.emf.query.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 

--1 x2356 +1 x985 >= 0;

-* org.eclipse.emf.query.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.ocl.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x2356 +1 x2132 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x182 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x182 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x182 +1 x57 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x182 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 

--1 x182 +1 x1014 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x182 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x182 +1 x179 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x182 +1 x1491 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x182 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x182 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x182 +1 x183 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either com.ibm.icu 3.8.1.v20080530 

--1 x182 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x182 +1 x59 >= 0;

-* org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x182 +1 x147 >= 0;

-* com.nordea.cd.dev.plugin.stubbuilder 1.0.2 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1264 +1 x54 >= 0;

-* com.nordea.cd.dev.plugin.stubbuilder 1.0.2 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1264 +1 x21 >= 0;

-* com.nordea.cd.dev.plugin.stubbuilder 1.0.2 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1264 +1 x53 >= 0;

-* com.nordea.cd.dev.plugin.stubbuilder 1.0.2 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1264 +1 x80 >= 0;

-* com.nordea.cd.dev.plugin.stubbuilder 1.0.2 requires either com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1264 +1 x162 +1 x380 +1 x381 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1265 +1 x21 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1265 +1 x170 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1265 +1 x19 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x1265 +1 x642 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1265 +1 x310 >= 0;

-* org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1265 +1 x1534 >= 0;

-* org.eclipse.emf.mint.source.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.source 0.7.0.v200806172223 

--1 x2357 +1 x1731 >= 0;

-* org.eclipse.emf.mint.source.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.ui.source 0.7.0.v200806172223 

--1 x2357 +1 x1843 >= 0;

-* org.eclipse.emf.mint.source.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.source.feature.jar 0.7.0.v200806172223 

--1 x2357 +1 x2064 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1269 +1 x21 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1269 +1 x53 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1269 +1 x54 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x1269 +1 x68 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1269 +1 x63 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1269 +1 x61 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1269 +1 x41 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1269 +1 x59 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1269 +1 x57 >= 0;

-* org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 requires either org.eclipse.gmf.xpand 1.1.0.v20080528-1052 

--1 x1269 +1 x562 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x139 +1 x54 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x139 +1 x21 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x139 +1 x130 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x139 +1 x134 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x139 +1 x138 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x139 +1 x131 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x139 +1 x137 >= 0;

-* org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 requires either org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 

--1 x139 +1 x144 >= 0;

-* org.eclipse.net4j.ui 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1272 +1 x21 >= 0;

-* org.eclipse.net4j.ui 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1272 +1 x353 >= 0;

-* org.eclipse.net4j.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.util.ui 1.0.0.v200806180305 

--1 x1272 +1 x1298 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x236 +1 x21 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x236 +1 x145 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x236 +1 x20 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x236 +1 x940 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x236 +1 x147 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x236 +1 x1191 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction.ui 1.2.0.v200805130238 

--1 x236 +1 x744 >= 0;

-* org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x236 +1 x2167 >= 0;

-* org.eclipse.zest.core 1.0.0.v20080115 requires either org.eclipse.zest.layouts 1.0.0.v20080226 

--1 x1281 +1 x1362 >= 0;

-* org.eclipse.zest.core 1.0.0.v20080115 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1281 +1 x54 >= 0;

-* org.eclipse.zest.core 1.0.0.v20080115 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1281 +1 x575 >= 0;

-* org.eclipse.zest.core 1.0.0.v20080115 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x1281 +1 x553 +1 x142 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1283 +1 x54 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1283 +1 x21 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 

--1 x1283 +1 x143 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x1283 +1 x130 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x1283 +1 x137 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 

--1 x1283 +1 x144 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 

--1 x1283 +1 x152 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x1283 +1 x138 >= 0;

-* org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1283 +1 x136 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x32 +1 x26 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x32 +1 x24 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2359 -1 x2358>= -1 ;

- -1 x2358 1 x49 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2359 -1 x2360>= -1 ;

- -1 x2360 1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2359 -1 x2361>= -1 ;

- -1 x2361 1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2359 -1 x2362>= -1 ;

- -1 x2362 1 x49 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x23 >= 0;

-* org.eclipse.equinox.app 1.1.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x32 +1 x23 >= 0;

- -1 x32 1 x2359 1 x2358 1 x2360 1 x2361 1 x2362 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1286 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1286 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1286 +1 x24 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1286 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1286 +1 x32 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x1286 +1 x660 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1286 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1286 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1286 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x1286 +1 x688 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1286 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1286 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1286 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1286 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1286 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1286 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1286 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1286 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1290 +1 x21 >= 0;

-* org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1290 +1 x1435 >= 0;

-* org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1290 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1291 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1291 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1291 +1 x575 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1291 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1291 +1 x76 >= 0;

-* org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1291 +1 x177 >= 0;

-* org.eclipse.ecf.ssl 1.0.0.v20080611-1715 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1293 +1 x36 >= 0;

-* org.eclipse.ecf.ssl 1.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1293 +1 x23 >= 0;

-* org.eclipse.ecf.ssl 1.0.0.v20080611-1715 requires either a.jre 1.6.0 

--1 x1293 +1 x210 >= 0;

-* org.eclipse.core.databinding 1.1.0.I20080527-2000 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1297 +1 x24 >= 0;

-* org.eclipse.core.databinding 1.1.0.I20080527-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x1297 +1 x553 +1 x142 >= 0;

-* org.eclipse.core.databinding 1.1.0.I20080527-2000 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2364 -1 x2363>= -1 ;

- -1 x2363 1 x23 >= 0;

-* org.eclipse.core.databinding 1.1.0.I20080527-2000 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2364 -1 x2365>= -1 ;

- -1 x2365 1 x23 >= 0;

-* org.eclipse.core.databinding 1.1.0.I20080527-2000 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2364 -1 x2366>= -1 ;

- -1 x2366 1 x39 1 x23 >= 0;

- -1 x1297 1 x2364 1 x2363 1 x2365 1 x2366 >= 0;

-* org.eclipse.net4j.util.ui 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1298 +1 x21 >= 0;

-* org.eclipse.net4j.util.ui 1.0.0.v200806180305 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1298 +1 x54 >= 0;

-* org.eclipse.net4j.util.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.util 1.0.0.v200806180305 

--1 x1298 +1 x1493 >= 0;

-* org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x262 +1 x21 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x629 +1 x57 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x629 +1 x59 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x629 +1 x63 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x629 +1 x41 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x629 +1 x61 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x629 +1 x21 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x629 +1 x53 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x629 +1 x54 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x629 +1 x971 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x629 +1 x984 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x629 +1 x315 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x629 +1 x23 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.help 3.3.100.v20080610 

--1 x629 +1 x76 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x629 +1 x628 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x629 +1 x133 >= 0;

-* org.eclipse.team.svn.ui 0.7.1.I20080612-1500 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x629 +1 x316 >= 0;

-* org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1303 +1 x21 >= 0;

-* org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1303 +1 x19 >= 0;

-* org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1303 +1 x1290 >= 0;

-* com.instantiations.packager.core 2.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1304 +1 x21 >= 0;

-* com.instantiations.packager.core 2.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1304 +1 x53 >= 0;

-* com.instantiations.packager.core 2.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1304 +1 x70 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1306 +1 x21 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1306 +1 x54 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x1306 +1 x1185 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x1306 +1 x638 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1306 +1 x140 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1306 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1306 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.update.ui 3.2.100.v20080318 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1306 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1310 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1310 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1310 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1310 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1310 +1 x147 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1310 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x1310 +1 x519 >= 0;

-* org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x319 +1 x21 >= 0;

-* org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x319 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x319 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1312 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1312 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x1312 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1312 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x1312 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 

--1 x1312 +1 x1058 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT 

--1 x2367 +1 x2368 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2367 +1 x3 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2367 +1 x4 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.command.env.ui 1.1.0.v200805140415 

--1 x2367 +1 x853 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 

--1 x2367 +1 x6 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common.infopop 1.0.100.v200805301550 

--1 x2367 +1 x7 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 

--1 x2367 +1 x1009 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common.snippets 1.1.200.v200805140415 

--1 x2367 +1 x9 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x2367 +1 x10 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.internet.cache 1.0.301.v200805140020 

--1 x2367 +1 x11 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.validation.ui 1.2.0.v200805262011 

--1 x2367 +1 x1390 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 

--1 x2367 +1 x13 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.validation.infopop 1.0.300.v200806041506 

--1 x2367 +1 x14 >= 0;

-* org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD requires either org.eclipse.wst.common_ui.feature.feature.jar 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD 

--1 x2367 +1 x2041 >= 0;

-* toolingorg.eclipse.platform.ide.launcher.win32.win32.x86 3.4.0.I20080617-2000 requires either org.eclipse.platform.ide.launcher.win32.win32.x86 3.4.0.I20080617-2000 

--1 x2369 +1 x2370 >= 0;

-* org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1313 +1 x170 >= 0;

-* org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1313 +1 x53 >= 0;

-* org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x1313 +1 x168 >= 0;

-* org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1313 +1 x21 >= 0;

-* com.instantiations.eclipse.util 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x96 +1 x21 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x542 +1 x21 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x542 +1 x561 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x542 +1 x81 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x542 +1 x132 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x542 +1 x54 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x542 +1 x53 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x542 +1 x19 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x542 +1 x57 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x542 +1 x147 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x542 +1 x170 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x542 +1 x1191 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x542 +1 x178 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x542 +1 x751 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x542 +1 x969 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x542 +1 x776 >= 0;

-* org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.jar 0.7.0.v200806130939 

--1 x542 +1 x2009 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.ant 1.1.0.r09351 

--1 x2371 +1 x1421 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x2371 +1 x384 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x2371 +1 x1523 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x2371 +1 x385 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x2371 +1 x386 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x2371 +1 x637 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x2371 +1 x971 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.pde.build 3.4.0.v20080604 

--1 x2371 +1 x960 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2371 +1 x73 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2371 +1 x70 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2371 +1 x53 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2371 +1 x21 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x2371 +1 x1185 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.apache.ant 1.7.0.v200803061910 

--1 x2371 +1 x113 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2371 +1 x80 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.ui 1.0.0.r09319 

--1 x2371 +1 x896 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x2371 +1 x308 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2371 +1 x54 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.pde 1.1.0.r09351 

--1 x2371 +1 x1214 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.jdt 1.0.0.r09319 

--1 x2371 +1 x1451 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.pde.ui 1.0.0.r09319 

--1 x2371 +1 x1270 >= 0;

-* org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.pde.feature.feature.jar 1.1.0.r09351 

--1 x2371 +1 x2148 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.1.I20080612-1500 requires either org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 

--1 x2372 +1 x288 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 

--1 x2372 +1 x2196 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 

--1 x2372 +1 x955 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.svnkit.feature.jar 2.0.1.I20080612-1500 

--1 x2372 +1 x2128 >= 0;

-* org.apache.batik.util 1.6.0.v200805290154 requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x1328 +1 x1317 >= 0;

-* org.eclipse.equinox.transforms.hook 1.0.0.v20080610 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1329 +1 x23 >= 0;

-* org.eclipse.emf.validation.source.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2373 +1 x1193 >= 0;

-* org.eclipse.emf.validation.source.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation.source.feature.jar 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2373 +1 x1970 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1332 +1 x21 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1332 +1 x74 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1332 +1 x70 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x1332 +1 x404 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x1332 +1 x406 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1332 +1 x63 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1332 +1 x54 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1332 +1 x41 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1332 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1332 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x398 +1 x70 >= 0;

-* org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x398 +1 x21 >= 0;

-* org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x398 +1 x53 >= 0;

-* org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 requires either org.apache.ant 1.7.0.v200803061910 

--1 x398 +1 x113 >= 0;

-* org.eclipse.wst.xsd.core 1.1.301.v200807240448 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1340 +1 x21 >= 0;

-* org.eclipse.wst.xsd.core 1.1.301.v200807240448 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x1340 +1 x202 >= 0;

-* org.eclipse.wst.xsd.core 1.1.301.v200807240448 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1340 +1 x310 >= 0;

-* org.eclipse.wst.xsd.core 1.1.301.v200807240448 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1340 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xsd.core 1.1.301.v200807240448 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1340 +1 x218 +1 x219 >= 0;

-* org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 

--1 x2374 +1 x2199 >= 0;

-* org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.feature.group 0.8.0.v200806112132 

--1 x2374 +1 x2318 >= 0;

-* org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.source.feature.group 0.8.0.v200806112132 

--1 x2374 +1 x1884 >= 0;

-* org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools.examples.feature.group 0.8.0.v200806112132 

--1 x2374 +1 x2375 >= 0;

-* org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools.sdk.feature.jar 0.8.0.v200806112132 

--1 x2374 +1 x2168 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1341 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1341 +1 x340 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 requires optionaly either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x2377 -1 x2376>= -1 ;

- -1 x2376 1 x343 >= 0;

- -1 x1341 1 x2377 1 x2376 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1342 +1 x54 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1342 +1 x21 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.python.pydev.core 0.9.7 org.python.pydev.core 1.3.19 org.python.pydev.core 1.0.4 org.python.pydev.core 1.3.16 org.python.pydev.core 1.2.1 org.python.pydev.core 1.1.0 org.python.pydev.core 1.3.9 org.python.pydev.core 1.2.6 org.python.pydev.core 1.3.18 org.python.pydev.core 1.0.5 org.python.pydev.core 1.3.8 org.python.pydev.core 1.3.17 org.python.pydev.core 1.2.7 org.python.pydev.core 1.0.2 org.python.pydev.core 1.3.0 org.python.pydev.core 1.2.8 org.python.pydev.core 1.3.14 org.python.pydev.core 1.3.7 org.python.pydev.core 1.3.20 org.python.pydev.core 1.0.3 org.python.pydev.core 0.9.8 org.python.pydev.core 1.2.9 org.python.pydev.core 1.3.1 org.python.pydev.core 1.3.6 org.python.pydev.core 1.3.15 org.python.pydev.core 1.3.12 org.python.pydev.core 1.3.5 org.python.pydev.core 1.2.2 org.python.pydev.core 1.0.8 org.python.pydev.core 1.3.4 org.python.pydev.core 1.3.13 org.python.pydev.core 1.2.3 org.python.pydev.core 0.9.8.3 org.python.pydev.core 0.9.8.2 org.python.pydev.core 0.9.8.1 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.7.99 org.python.pydev.core 1.3.10 org.python.pydev.core 0.9.8.6 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev.core 1.3.3 org.python.pydev.core 1.0.6 org.python.pydev.core 0.9.5 org.python.pydev.core 1.0.1 org.python.pydev.core 1.2.5 org.python.pydev.core 1.3.2 org.python.pydev.core 1.3.11 org.python.pydev.core 1.0.7 

--1 x1342 +1 x16 +1 x452 +1 x453 +1 x454 +1 x455 +1 x456 +1 x34 +1 x457 +1 x458 +1 x459 +1 x460 +1 x461 +1 x462 +1 x463 +1 x464 +1 x465 +1 x466 +1 x467 +1 x468 +1 x469 +1 x470 +1 x471 +1 x472 +1 x473 +1 x474 +1 x475 +1 x476 +1 x477 +1 x478 +1 x479 +1 x480 +1 x252 +1 x481 +1 x482 +1 x483 +1 x484 +1 x485 +1 x486 +1 x487 +1 x488 +1 x489 +1 x490 +1 x491 +1 x492 +1 x493 +1 x494 +1 x495 +1 x496 +1 x497 +1 x498 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.python.pydev.parser 0.9.7.99 org.python.pydev.parser 1.3.3 org.python.pydev.parser 1.2.2 org.python.pydev.parser 1.3.4 org.python.pydev.parser 1.3.13 org.python.pydev.parser 1.2.5 org.python.pydev.parser 1.0.7 org.python.pydev.parser 1.1.0 org.python.pydev.parser 1.0.1 org.python.pydev.parser 1.2.3 org.python.pydev.parser 1.3.2 org.python.pydev.parser 1.3.12 org.python.pydev.parser 1.2.4 org.python.pydev.parser 1.3.5 org.python.pydev.parser 0.9.8 org.python.pydev.parser 1.0.6 org.python.pydev.parser 1.3.1 org.python.pydev.parser 1.0.2 org.python.pydev.parser 1.0.5 org.python.pydev.parser 1.3.20 org.python.pydev.parser 1.3.6 org.python.pydev.parser 1.3.15 org.python.pydev.parser 1.2.7 org.python.pydev.parser 1.2.1 org.python.pydev.parser 1.3.0 org.python.pydev.parser 1.0.3 org.python.pydev.parser 1.0.4 org.python.pydev.parser 1.3.14 org.python.pydev.parser 1.2.6 org.python.pydev.parser 1.3.7 org.python.pydev.parser 1.3.8 org.python.pydev.parser 1.3.17 org.python.pydev.parser 1.2.9 org.python.pydev.parser 0.9.5 org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.python.pydev.parser 0.9.8.5 org.python.pydev.parser 0.9.8.4 org.python.pydev.parser 1.3.16 org.python.pydev.parser 1.2.8 org.python.pydev.parser 1.3.9 org.python.pydev.parser 0.9.7 org.python.pydev.parser 1.3.10 org.python.pydev.parser 1.3.19 org.python.pydev.parser 1.0.8 org.python.pydev.parser 1.3.18 org.python.pydev.parser 1.3.11 

--1 x1342 +1 x882 +1 x837 +1 x592 +1 x1402 +1 x1474 +1 x1266 +1 x1026 +1 x1205 +1 x1343 +1 x50 +1 x957 +1 x1349 +1 x1150 +1 x1536 +1 x1087 +1 x894 +1 x125 +1 x1218 +1 x789 +1 x1548 +1 x1159 +1 x1226 +1 x1553 +1 x852 +1 x648 +1 x1098 +1 x705 +1 x1103 +1 x1429 +1 x1302 +1 x914 +1 x979 +1 x798 +1 x743 +1 x1110 +1 x1111 +1 x1112 +1 x1115 +1 x1116 +1 x1118 +1 x1120 +1 x867 +1 x715 +1 x1055 +1 x996 +1 x722 +1 x759 +1 x1189 +1 x313 +1 x829 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x1342 +1 x178 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x1342 +1 x751 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1342 +1 x53 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1342 +1 x63 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1342 +1 x57 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1342 +1 x41 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1342 +1 x61 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.python.pydev 1.0.7 org.python.pydev 0.8.0 org.python.pydev 1.2.5 org.python.pydev 1.3.3 org.python.pydev 1.3.14 org.python.pydev 1.3.12 org.python.pydev 0.9.5 org.python.pydev 1.0.8 org.python.pydev 1.2.6 org.python.pydev 0.6.1 org.python.pydev 1.3.11 org.python.pydev 1.3.13 org.python.pydev 1.3.4 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.python.pydev 1.2.7 org.python.pydev 1.0.5 org.python.pydev 0.9.8 org.python.pydev 0.4.2 org.python.pydev 1.3.16 org.python.pydev 1.3.1 org.python.pydev 1.3.10 org.python.pydev 1.1.0 org.python.pydev 1.2.8 org.python.pydev 0.9.0 org.python.pydev 1.0.6 org.python.pydev 0.9.7 org.python.pydev 1.3.9 org.python.pydev 1.3.15 org.python.pydev 1.3.2 org.python.pydev 1.3.18 org.python.pydev 1.3.8 org.python.pydev 0.9.1 org.python.pydev 1.0.4 org.python.pydev 1.2.2 org.python.pydev 0.9.7.99 org.python.pydev 1.2.9 org.python.pydev 1.3.7 org.python.pydev 1.3.0 org.python.pydev 1.3.17 org.python.pydev 0.9.2 org.python.pydev 1.0.3 org.python.pydev 1.2.1 org.python.pydev 1.3.20 org.python.pydev 1.3.6 org.python.pydev 0.9.8.7 org.python.pydev 1.2.4 org.python.pydev 0.7.1 org.python.pydev 0.9.8.3 org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.python.pydev 1.0.2 org.python.pydev 0.9.3 org.python.pydev 0.9.8.6 org.python.pydev 1.3.5 org.python.pydev 0.9.8.2 org.python.pydev 1.3.19 org.python.pydev 0.9.8.1 org.python.pydev 1.2.3 org.python.pydev 1.0.1 org.python.pydev 0.9.4 

--1 x1342 +1 x772 +1 x1263 +1 x1531 +1 x1475 +1 x1142 +1 x1404 +1 x661 +1 x382 +1 x1408 +1 x1348 +1 x1540 +1 x1285 +1 x1354 +1 x1356 +1 x1357 +1 x1287 +1 x1034 +1 x964 +1 x965 +1 x1420 +1 x1220 +1 x1158 +1 x1366 +1 x1163 +1 x1045 +1 x909 +1 x855 +1 x1299 +1 x1558 +1 x1101 +1 x708 +1 x918 +1 x1171 +1 x1113 +1 x864 +1 x1233 +1 x1052 +1 x1059 +1 x872 +1 x814 +1 x1316 +1 x1239 +1 x994 +1 x930 +1 x719 +1 x1001 +1 x681 +1 x532 +1 x1005 +1 x1007 +1 x1008 +1 x1389 +1 x1460 +1 x1011 +1 x826 +1 x1015 +1 x1072 +1 x1016 +1 x770 +1 x1527 +1 x1595 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.python.pydev.jython 1.2.2 org.python.pydev.jython 1.3.1 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.jython 1.3.12 org.python.pydev.jython 1.3.15 org.python.pydev.jython 1.2.7 org.python.pydev.jython 1.3.8 org.python.pydev.jython 1.3.2 org.python.pydev.jython 1.2.1 org.python.pydev.jython 1.3.11 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.python.pydev.jython 1.3.7 org.python.pydev.jython 1.3.16 org.python.pydev.jython 1.2.8 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.jython 1.2.9 org.python.pydev.jython 1.3.10 org.python.pydev.jython 1.2.4 org.python.pydev.jython 1.3.3 org.python.pydev.jython 1.1.0 org.python.pydev.jython 1.3.13 org.python.pydev.jython 1.2.5 org.python.pydev.jython 1.3.6 org.python.pydev.jython 1.3.9 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.python.pydev.jython 1.3.4 org.python.pydev.jython 1.2.3 org.python.pydev.jython 1.3.5 org.python.pydev.jython 1.3.14 org.python.pydev.jython 1.2.6 org.python.pydev.jython 1.3.0 org.python.pydev.jython 1.0.4 

--1 x1342 +1 x1022 +1 x355 +1 x800 +1 x801 +1 x673 +1 x1268 +1 x1477 +1 x1083 +1 x778 +1 x888 +1 x749 +1 x451 +1 x501 +1 x1212 +1 x1152 +1 x1355 +1 x1064 +1 x1065 +1 x756 +1 x876 +1 x787 +1 x901 +1 x665 +1 x1547 +1 x1221 +1 x1363 +1 x1013 +1 x938 +1 x939 +1 x1044 +1 x422 +1 x1497 +1 x1428 +1 x1102 +1 x1596 +1 x1398 >= 0;

-* org.python.pydev.refactoring 1.3.20 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1342 +1 x315 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1346 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1346 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1346 +1 x70 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.0 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1346 +1 x561 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.0 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1346 +1 x63 >= 0;

-* org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x135 +1 x21 >= 0;

-* org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x135 +1 x132 >= 0;

-* org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x135 +1 x114 >= 0;

-* org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x135 +1 x130 >= 0;

-* org.eclipse.birt.doc.feature.group 2.3.0.v200805131-22-7w31191728b requires either org.eclipse.help 3.3.100.v20080610 

--1 x2378 +1 x76 >= 0;

-* org.eclipse.birt.doc.feature.group 2.3.0.v200805131-22-7w31191728b requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x2378 +1 x1911 >= 0;

-* org.eclipse.birt.doc.feature.group 2.3.0.v200805131-22-7w31191728b requires either org.eclipse.birt.doc 2.3.0.v20080617a 

--1 x2378 +1 x937 >= 0;

-* org.eclipse.birt.doc.feature.group 2.3.0.v200805131-22-7w31191728b requires either org.eclipse.birt.doc.feature.jar 2.3.0.v200805131-22-7w31191728b 

--1 x2378 +1 x2016 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x277 +1 x349 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x277 +1 x1003 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x277 +1 x1515 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x277 +1 x331 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x277 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x277 +1 x316 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1352 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x1352 +1 x1514 >= 0;

-* org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C requires either org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF 

--1 x2379 +1 x2380 >= 0;

-* org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C requires either org.eclipse.equinox.jmx.client 1.0.0.v20070515 

--1 x2379 +1 x1108 >= 0;

-* org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C requires either org.eclipse.equinox.jmx.client.rmi 1.0.0 

--1 x2379 +1 x941 >= 0;

-* org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C requires either org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 

--1 x2379 +1 x1506 >= 0;

-* org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C requires either org.eclipse.equinox.jmx.client.feature.feature.jar 1.0.0.v20070608-3--8s733G3C5C 

--1 x2379 +1 x2158 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x196 +1 x57 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x196 +1 x63 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x196 +1 x74 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x196 +1 x61 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x196 +1 x81 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x196 +1 x54 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x196 +1 x41 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x196 +1 x140 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x196 +1 x59 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x196 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x196 +1 x21 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x196 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x196 +1 x114 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either com.ibm.icu 3.8.1.v20080530 

--1 x196 +1 x142 >= 0;

-* org.eclipse.wst.sse.ui 1.1.1.v200808141919 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x196 +1 x159 >= 0;

-* org.eclipse.core.runtime.compatibility 3.2.0.v20071008 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x52 +1 x21 >= 0;

-* org.eclipse.core.runtime.compatibility 3.2.0.v20071008 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x52 +1 x638 >= 0;

-* org.eclipse.core.runtime.compatibility 3.2.0.v20071008 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x52 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.core.runtime.compatibility 3.2.0.v20071008 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x52 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.core.runtime.compatibility 3.2.0.v20071008 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x52 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.zest.layouts 1.0.0.v20080226 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1362 +1 x72 >= 0;

-* org.eclipse.zest.layouts 1.0.0.v20080226 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1362 +1 x21 >= 0;

-* org.eclipse.zest.layouts 1.0.0.v20080226 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1362 +1 x561 >= 0;

-* org.eclipse.zest.layouts 1.0.0.v20080226 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1362 +1 x575 >= 0;

-* org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.feature.group 2.2.0.v200805201126 

--1 x2381 +1 x2188 >= 0;

-* org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.source.feature.group 2.2.0.v200805201126 

--1 x2381 +1 x2382 >= 0;

-* org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 

--1 x2381 +1 x2383 >= 0;

-* org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.doc.feature.group 2.2.0.v200805201350 

--1 x2381 +1 x2384 >= 0;

-* org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.sdk.feature.jar 2.2.0.v200805201126 

--1 x2381 +1 x2106 >= 0;

-* org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x1365 +1 x1297 >= 0;

-* org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1365 +1 x24 >= 0;

-* org.python.pydev.core 1.3.20 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x2386 -1 x2385>= -1 ;

- -1 x2385 1 x409 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x468 +1 x54 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x468 +1 x21 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x468 +1 x63 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x468 +1 x53 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x468 +1 x41 >= 0;

-* org.python.pydev.core 1.3.20 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x468 +1 x639 >= 0;

- -1 x468 1 x2386 1 x2385 >= 0;

-* org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x448 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x448 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.workspace 1.2.0.v200805130238 

--1 x448 +1 x1273 >= 0;

-* org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x448 +1 x1117 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x619 +1 x132 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x619 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x619 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x619 +1 x1491 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x619 +1 x1435 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x619 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x619 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 

--1 x619 +1 x620 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x619 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 

--1 x1910 +1 x1196 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 

--1 x1910 +1 x1438 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 

--1 x1910 +1 x1341 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x1910 +1 x343 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1910 +1 x340 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1910 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf requires either org.eclipse.datatools.connectivity.oda.feature.feature.jar 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x1910 +1 x2014 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2 +1 x4 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 

--1 x2 +1 x2387 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2 +1 x654 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 

--1 x2 +1 x213 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.command.env 1.0.306.v200807231700 

--1 x2 +1 x1584 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x2 +1 x1186 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x2 +1 x217 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 

--1 x2 +1 x861 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x2 +1 x214 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.modulecore 1.1.201.v200808071700 

--1 x2 +1 x1519 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 

--1 x2 +1 x220 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x2 +1 x202 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.validation 1.2.1.v200807292117 

--1 x2 +1 x218 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x2 +1 x1019 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x2 +1 x215 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi requires either org.eclipse.wst.common_core.feature.feature.jar 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi 

--1 x2 +1 x2078 >= 0;

-* org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x318 +1 x21 >= 0;

-* org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x318 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x318 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1368 +1 x655 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1368 +1 x36 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1368 +1 x24 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x1368 +1 x26 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1368 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x1368 +1 x25 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires optionaly either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x2389 -1 x2388>= -1 ;

- -1 x2388 1 x27 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires optionaly either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x2389 -1 x2390>= -1 ;

- -1 x2390 1 x32 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x1368 +1 x1376 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1368 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1368 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1368 +1 x875 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x1368 +1 x209 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires optionaly either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x2389 -1 x2391>= -1 ;

- -1 x2391 1 x1376 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1368 +1 x23 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1368 +1 x23 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1368 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1368 +1 x23 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1368 +1 x27 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1368 +1 x23 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1368 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 requires optionaly either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x2389 -1 x2392>= -1 ;

- -1 x2392 1 x369 1 x370 1 x371 1 x372 1 x373 1 x210 >= 0;

- -1 x1368 1 x2389 1 x2388 1 x2390 1 x2391 1 x2392 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2393 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2393 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2393 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x2393 +1 x20 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x2393 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x2393 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x2393 +1 x710 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x2393 +1 x358 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 

--1 x2393 +1 x774 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 

--1 x2393 +1 x1462 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x2393 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 

--1 x2393 +1 x357 >= 0;

-* org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2393 +1 x506 >= 0;

-* org.eclipse.emf.ecore.change 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x20 +1 x21 >= 0;

-* org.eclipse.emf.ecore.change 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x20 +1 x132 >= 0;

-* org.eclipse.jet.doc 0.9.0.v20080522 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1370 +1 x76 >= 0;

-* org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1373 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1373 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1373 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1373 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x1373 +1 x1441 >= 0;

-* org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1374 +1 x23 >= 0;

-* com.windowtester.runner 3.5.0.200806270034 requires either org.junit 3.8.2.v20080602-1318 

--1 x1378 +1 x409 >= 0;

-* com.windowtester.runner 3.5.0.200806270034 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1378 +1 x113 >= 0;

-* com.windowtester.runner 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1378 +1 x72 >= 0;

-* com.windowtester.runner 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1378 +1 x21 >= 0;

-* com.windowtester.runner 3.5.0.200806270034 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1378 +1 x86 +1 x87 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x25 +1 x24 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x25 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x25 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x25 +1 x23 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x25 +1 x23 >= 0;

-* org.eclipse.core.jobs 3.4.0.v20080512 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x25 +1 x23 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x1388 +1 x940 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.emf.validation.ui 1.2.0.v200805130238 

--1 x1388 +1 x777 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1388 +1 x54 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1388 +1 x57 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1388 +1 x21 >= 0;

-* org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1388 +1 x53 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1390 +1 x57 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1390 +1 x53 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1390 +1 x54 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1390 +1 x72 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 

--1 x1390 +1 x6 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1390 +1 x21 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1390 +1 x214 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1390 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.validation.ui 1.2.0.v200805262011 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1390 +1 x140 >= 0;

-* org.mortbay.jetty.util 6.1.7.v200806031612 requires either javax.servlet 2.5.0.v200806031605 

--1 x1394 +1 x45 >= 0;

-* org.mortbay.jetty.util 6.1.7.v200806031612 requires either javax.servlet 2.5.0.v200806031605 

--1 x1394 +1 x45 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x545 +1 x54 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x545 +1 x21 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x545 +1 x969 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x545 +1 x118 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x545 +1 x1411 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x545 +1 x776 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x545 +1 x516 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x545 +1 x1033 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ui 2.4.0.v200806091234 

--1 x545 +1 x416 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.codegen 0.7.0.v200806130939 

--1 x545 +1 x879 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt 3.4.0.v20080603-2000 

--1 x545 +1 x396 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x545 +1 x70 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x545 +1 x71 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x545 +1 x53 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel 0.7.0.v200806130939 

--1 x545 +1 x877 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 

--1 x545 +1 x735 >= 0;

-* org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.feature.jar 0.7.0.v200806130939 

--1 x545 +1 x2044 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1395 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1395 +1 x132 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 requires either org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 

--1 x1395 +1 x1352 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1395 +1 x1290 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x400 +1 x21 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 

--1 x400 +1 x398 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x400 +1 x70 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x400 +1 x53 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.compiler.tool 1.0.100.v_874 

--1 x400 +1 x402 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 

--1 x400 +1 x401 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 

--1 x400 +1 x401 >= 0;

-* org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 requires either org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 

--1 x400 +1 x401 >= 0;

-* org.eclipse.birt.report.debug.core 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1401 +1 x299 >= 0;

-* org.eclipse.birt.report.debug.core 2.3.0.v200806102 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1401 +1 x258 >= 0;

-* org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1405 +1 x21 >= 0;

-* org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1405 +1 x54 >= 0;

-* org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1405 +1 x53 >= 0;

-* org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1405 +1 x57 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1406 +1 x24 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1406 +1 x36 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1406 +1 x997 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1406 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1406 +1 x23 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1406 +1 x49 >= 0;

-* org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1406 +1 x23 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1407 +1 x21 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1407 +1 x53 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1407 +1 x63 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1407 +1 x57 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1407 +1 x41 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1407 +1 x61 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1407 +1 x147 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1407 +1 x170 >= 0;

-* org.eclipse.xsd.editor 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1407 +1 x1534 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1409 +1 x72 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.buckminster.generic 1.0.0.r09319 

--1 x1409 +1 x1078 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.platform 3.3.100.v200806172000 

--1 x1409 +1 x148 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1409 +1 x21 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1409 +1 x561 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1409 +1 x54 >= 0;

-* org.eclipse.buckminster.generic.ui 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1409 +1 x53 >= 0;

-* org.eclipse.emf.ocl 1.1.100.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1410 +1 x21 >= 0;

-* org.eclipse.emf.ocl 1.1.100.v200805130238 requires optionaly either com.ibm.icu 3.8.1.v20080530 

--1 x2395 -1 x2394>= -1 ;

- -1 x2394 1 x142 >= 0;

-* org.eclipse.emf.ocl 1.1.100.v200805130238 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1410 +1 x358 >= 0;

-* org.eclipse.emf.ocl 1.1.100.v200805130238 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1410 +1 x710 >= 0;

-* org.eclipse.emf.ocl 1.1.100.v200805130238 requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x1410 +1 x1514 >= 0;

- -1 x1410 1 x2395 1 x2394 >= 0;

-* org.eclipse.emf.search.ecore 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1411 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1411 +1 x132 >= 0;

-* org.eclipse.emf.search.ecore 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1411 +1 x19 >= 0;

-* org.eclipse.emf.search.ecore 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1411 +1 x969 >= 0;

-* org.eclipse.net4j.jms.server 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1414 +1 x21 >= 0;

-* org.eclipse.net4j.jms.server 1.0.0.v200806180305 requires either org.eclipse.net4j.jms 1.0.0.v200806180305 

--1 x1414 +1 x818 >= 0;

-* org.eclipse.net4j.jms.server 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.api 1.0.0.v200806180305 

--1 x1414 +1 x1351 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x2396 +1 x384 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x2396 +1 x386 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x2396 +1 x1294 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x2396 +1 x971 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2396 +1 x53 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2396 +1 x21 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.cvs 1.0.0.r09319 

--1 x2396 +1 x1202 >= 0;

-* org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 requires either org.eclipse.buckminster.cvs.feature.feature.jar 1.0.0.r09319 

--1 x2396 +1 x2164 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1417 +1 x136 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1417 +1 x21 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x1417 +1 x202 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x1417 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x1417 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x1417 +1 x1019 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1417 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.wst.xml.ui 1.0.401.v200807240448 

--1 x1417 +1 x200 +1 x201 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x1417 +1 x10 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1417 +1 x63 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1417 +1 x254 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1417 +1 x41 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1417 +1 x57 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1417 +1 x19 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1417 +1 x53 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1417 +1 x1534 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1417 +1 x147 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1417 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x1417 +1 x178 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x1417 +1 x751 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.wst.xsd.core 1.1.301.v200807240448 

--1 x1417 +1 x977 +1 x1340 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1417 +1 x81 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1417 +1 x142 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.101.v200806051910 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1417 +1 x160 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1422 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1422 +1 x23 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1422 +1 x49 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1422 +1 x49 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1422 +1 x23 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1422 +1 x23 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1422 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1422 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.metatype 1.0.0.v20070827 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1422 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1423 +1 x54 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1423 +1 x53 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1423 +1 x57 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1423 +1 x21 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 

--1 x1423 +1 x1498 >= 0;

-* org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x1423 +1 x168 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1425 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1425 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1425 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1425 +1 x1507 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1425 +1 x39 +1 x23 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1425 +1 x72 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either com.instantiations.assist.eclipse.fragment.swt 5.5.0 com.windowtester.swt.runtime.win32 3.5.1.200809042232 com.instantiations.assist.eclipse.fragment.swt 5.5.1 com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.swt 3.4.0.v3448f 

--1 x1425 +1 x1333 +1 x1461 +1 x1483 +1 x986 +1 x1456 +1 x1207 +1 x72 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1425 +1 x23 >= 0;

-* org.eclipse.swt.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x1425 +1 x1441 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1427 +1 x54 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1427 +1 x21 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1427 +1 x36 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1427 +1 x997 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x1427 +1 x1141 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x1427 +1 x1219 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 

--1 x1427 +1 x1374 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1427 +1 x583 >= 0;

-* org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 

--1 x1427 +1 x691 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.commons.codec 1.2.0.v20080530-1550 

--1 x2380 +1 x1307 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x2380 +1 x1003 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2380 +1 x331 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.ws.commons.util 1.0.0.v20080530-1550 

--1 x2380 +1 x967 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.ws.jaxme 0.5.1.v20080530-1550 

--1 x2380 +1 x768 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x2380 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x2380 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either javax.management 1.2.0.v200803061811 

--1 x2380 +1 x1123 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either javax.management.remote 1.0.0.v200803061811 

--1 x2380 +1 x1492 >= 0;

-* org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF requires either org.eclipse.equinox.jmx.common.feature.feature.jar 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF 

--1 x2380 +1 x2010 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1430 +1 x54 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1430 +1 x21 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1430 +1 x57 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1430 +1 x53 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.jdt 3.4.0.v20080603-2000 

--1 x1430 +1 x396 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1430 +1 x70 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x1430 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1430 +1 x73 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1430 +1 x75 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x1430 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1430 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.net4j.buddies.common 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1432 +1 x21 >= 0;

-* org.eclipse.net4j.buddies.common 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1432 +1 x353 >= 0;

-* org.eclipse.net4j.buddies.common 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2399 -1 x2398>= -1 ;

- -1 x2398 1 x23 >= 0;

- -1 x1432 1 x2399 1 x2398 >= 0;

-* org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1433 +1 x21 >= 0;

-* org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.common 1.0.0.v200806180305 

--1 x1433 +1 x1432 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2400 +1 x4 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x2400 +1 x2401 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2400 +1 x654 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.xsd.feature.group 2.4.0.v200806091234 

--1 x2400 +1 x309 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either javax.xml 1.3.4.v200806030440 

--1 x2400 +1 x371 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x2400 +1 x1175 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x2400 +1 x998 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.apache.xerces 2.9.0.v200805270400 

--1 x2400 +1 x347 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.standard.schemas 1.0.102.v200807220733 

--1 x2400 +1 x1375 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 

--1 x2400 +1 x198 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.dtd.core 1.1.200.v200805140200 

--1 x2400 +1 x193 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.xsd.core 1.1.301.v200807240448 

--1 x2400 +1 x1340 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 

--1 x2400 +1 x194 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl requires either org.eclipse.wst.xml_core.feature.feature.jar 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl 

--1 x2400 +1 x1908 >= 0;

-* org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1438 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1438 +1 x132 >= 0;

-* org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1438 +1 x170 >= 0;

-* org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1438 +1 x142 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1440 +1 x54 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1440 +1 x21 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 requires either org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 

--1 x1440 +1 x1170 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1440 +1 x53 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2403 -1 x2402>= -1 ;

- -1 x2402 1 x54 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1441 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1441 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1441 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1441 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1441 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1441 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1441 +1 x49 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1441 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1441 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1441 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server 1.0.0.v20071015 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1441 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x1441 1 x2403 1 x2402 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.apache.xerces 2.9.0.v200805270400 

--1 x199 +1 x347 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x199 +1 x21 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x199 +1 x53 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x199 +1 x202 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x199 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x2405 -1 x2404>= -1 ;

- -1 x2404 1 x215 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x2405 -1 x2406>= -1 ;

- -1 x2406 1 x218 1 x219 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2405 -1 x2407>= -1 ;

- -1 x2407 1 x19 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x2405 -1 x2408>= -1 ;

- -1 x2408 1 x216 1 x217 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2405 -1 x2409>= -1 ;

- -1 x2409 1 x170 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires optionaly either org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 

--1 x2405 -1 x2410>= -1 ;

- -1 x2410 1 x213 1 x1526 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x199 +1 x1019 >= 0;

-* org.eclipse.wst.xml.core 1.1.300.v200806051910 requires either com.ibm.icu 3.8.1.v20080530 

--1 x199 +1 x142 >= 0;

- -1 x199 1 x2405 1 x2404 1 x2406 1 x2407 1 x2408 1 x2409 1 x2410 >= 0;

-* org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1442 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1442 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2412 -1 x2411>= -1 ;

- -1 x2411 1 x53 >= 0;

-* org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x1442 +1 x308 >= 0;

- -1 x1442 1 x2412 1 x2411 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1447 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1447 +1 x132 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1447 +1 x1290 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 requires either org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 

--1 x1447 +1 x1395 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 requires either org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 

--1 x1447 +1 x1352 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1448 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.1 requires either com.instantiations.eclipse.ast.editor 5.5.0 com.instantiations.eclipse.ast.editor 5.5.1 

--1 x1448 +1 x1592 +1 x1173 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1448 +1 x21 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1448 +1 x70 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1449 +1 x53 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1449 +1 x21 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1449 +1 x63 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1449 +1 x57 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1449 +1 x41 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x1449 +1 x10 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.dtd.core 1.1.200.v200805140200 

--1 x1449 +1 x193 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x1449 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x1449 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1449 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.wst.xml.ui 1.0.401.v200807240448 

--1 x1449 +1 x200 +1 x201 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x1449 +1 x10 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x1449 +1 x202 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1449 +1 x136 >= 0;

-* org.eclipse.wst.dtd.ui 1.0.300.v200805152207 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1449 +1 x142 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.buckminster.ant 1.1.0.r09351 

--1 x1451 +1 x1421 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1451 +1 x384 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x1451 +1 x1523 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1451 +1 x386 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1451 +1 x385 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1451 +1 x70 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1451 +1 x80 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1451 +1 x53 >= 0;

-* org.eclipse.buckminster.jdt 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1451 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1458 +1 x170 >= 0;

-* org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1458 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 

--1 x1458 +1 x1058 >= 0;

-* org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1458 +1 x145 >= 0;

-* org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x1458 +1 x1359 >= 0;

-* org.eclipse.team.svn.help 0.7.1.I20080612-1500 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1459 +1 x76 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2413 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2413 +1 x53 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2413 +1 x57 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x2413 +1 x642 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2413 +1 x147 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2413 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2413 +1 x114 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui 2.4.0.v200806091234 

--1 x2413 +1 x224 >= 0;

-* org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui.feature.jar 2.4.0.v200806091234 

--1 x2413 +1 x2024 >= 0;

-* com.windowtester.swt.runtime.win32 3.5.1.200809042232 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1461 +1 x72 >= 0;

-* org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1462 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1462 +1 x710 >= 0;

-* org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x134 +1 x129 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x181 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x181 +1 x20 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x181 +1 x170 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x181 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x181 +1 x1435 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x181 +1 x1491 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x181 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 requires either com.ibm.icu 3.8.1.v20080530 

--1 x181 +1 x142 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1463 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1463 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1463 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x1463 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x1463 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x1463 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1463 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1463 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x1463 +1 x1441 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either javax.servlet 2.4.0.v200806031604 

--1 x1463 +1 x46 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either javax.servlet 2.4.0.v200806031604 

--1 x1463 +1 x46 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x1463 +1 x1106 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x1463 +1 x1106 >= 0;

-* org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x1463 +1 x1106 >= 0;

-* org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1464 +1 x21 >= 0;

-* org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 

--1 x1464 +1 x1179 >= 0;

-* org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 

--1 x1464 +1 x1433 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1465 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x1465 +1 x1242 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1465 +1 x710 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1465 +1 x969 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x1465 +1 x1411 >= 0;

-* org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x1465 +1 x902 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1466 +1 x21 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1466 +1 x53 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1466 +1 x132 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x1466 +1 x118 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1466 +1 x575 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1466 +1 x560 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.gmf.validate 1.1.0.v20080603-1553 

--1 x1466 +1 x671 >= 0;

-* org.eclipse.gmf.codegen 2.1.0.v20080610-1132 requires either org.eclipse.gmf.xpand 1.1.0.v20080528-1052 

--1 x1466 +1 x562 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1468 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1468 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x1468 +1 x257 >= 0;

-* org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 requires either org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 

--1 x1468 +1 x1341 >= 0;

-* org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 requires either org.eclipse.buckminster.remote 1.0.0.r09326 

--1 x1470 +1 x820 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x288 +1 x53 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x288 +1 x21 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x288 +1 x971 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x288 +1 x57 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x288 +1 x59 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x288 +1 x63 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x288 +1 x41 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x288 +1 x61 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x288 +1 x54 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x288 +1 x984 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x288 +1 x315 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x288 +1 x23 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.help 3.3.100.v20080610 

--1 x288 +1 x76 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x288 +1 x133 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn 0.7.1.I20080612-1500 

--1 x288 +1 x1180 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x288 +1 x628 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.ui 0.7.1.I20080612-1500 

--1 x288 +1 x629 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.help 0.7.1.I20080612-1500 

--1 x288 +1 x1459 >= 0;

-* org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.feature.jar 0.7.1.I20080612-1500 

--1 x288 +1 x2100 >= 0;

-* com.windowtester.eclipse.help 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1476 +1 x54 >= 0;

-* com.windowtester.eclipse.help 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1476 +1 x21 >= 0;

-* com.windowtester.eclipse.help 3.5.0.200806270034 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1476 +1 x637 >= 0;

-* com.windowtester.eclipse.help 3.5.0.200806270034 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1476 +1 x76 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2414 +1 x4 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x2414 +1 x2401 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2414 +1 x654 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.xsd.feature.group 2.4.0.v200806091234 

--1 x2414 +1 x309 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either javax.xml 1.3.4.v200806030440 

--1 x2414 +1 x371 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x2414 +1 x1175 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x2414 +1 x998 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.apache.xerces 2.9.0.v200805270400 

--1 x2414 +1 x347 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.standard.schemas 1.0.101.v200806010600 

--1 x2414 +1 x1561 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x2414 +1 x199 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.dtd.core 1.1.200.v200805140200 

--1 x2414 +1 x193 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.xsd.core 1.1.300.v200805282012 

--1 x2414 +1 x977 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x2414 +1 x195 >= 0;

-* org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP requires either org.eclipse.wst.xml_core.feature.feature.jar 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP 

--1 x2414 +1 x2111 >= 0;

-* org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1478 +1 x72 >= 0;

-* org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1478 +1 x21 >= 0;

-* org.eclipse.uml2.source.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.source 2.2.0.v200805201126 

--1 x2382 +1 x899 >= 0;

-* org.eclipse.uml2.source.feature.group 2.2.0.v200805201126 requires either org.eclipse.uml2.source.feature.jar 2.2.0.v200805201126 

--1 x2382 +1 x337 >= 0;

-* org.eclipse.emf.cdo.server 1.0.0.v200806180411 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2416 -1 x2415>= -1 ;

- -1 x2415 1 x21 >= 0;

-* org.eclipse.emf.cdo.server 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.common 1.0.0.v200806180411 

--1 x1484 +1 x1426 >= 0;

- -1 x1484 1 x2416 1 x2415 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x335 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x335 +1 x181 >= 0;

-* com.windowtester.swt.platform.ext 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1486 +1 x21 >= 0;

-* com.windowtester.swt.platform.ext 3.5.1.200809042232 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1486 +1 x72 >= 0;

-* org.eclipse.emf.doc 2.4.0.v200806091234 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1489 +1 x76 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x240 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x240 +1 x53 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x240 +1 x159 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x240 +1 x561 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x240 +1 x57 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x240 +1 x59 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x240 +1 x183 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x240 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x240 +1 x170 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x240 +1 x147 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x240 +1 x1117 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x240 +1 x448 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x240 +1 x849 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x240 +1 x445 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x240 +1 x446 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x240 +1 x444 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x240 +1 x1262 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x240 +1 x738 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x240 +1 x1571 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x240 +1 x693 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x240 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x240 +1 x19 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x240 +1 x710 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x240 +1 x1372 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x240 +1 x254 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x240 +1 x1495 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 

--1 x240 +1 x243 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 

--1 x240 +1 x1143 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 

--1 x240 +1 x1178 >= 0;

-* org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x240 +1 x940 >= 0;

-* org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1490 +1 x21 >= 0;

-* org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1490 +1 x655 >= 0;

-* org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x1490 +1 x796 >= 0;

-* org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1490 +1 x36 >= 0;

-* org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1490 +1 x160 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2417 +1 x21 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2417 +1 x114 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2417 +1 x53 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2417 +1 x70 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2417 +1 x73 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2417 +1 x75 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2417 +1 x68 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x2417 +1 x115 >= 0;

-* org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.feature.jar 2.4.0.v200806091234 

--1 x2417 +1 x2076 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2418 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2418 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2418 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2418 +1 x57 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x2418 +1 x118 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2418 +1 x147 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2418 +1 x19 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2418 +1 x516 >= 0;

-* org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.ui.feature.jar 2.4.0.v200806091234 

--1 x2418 +1 x2146 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2419 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2419 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2419 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2419 +1 x63 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2419 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2419 +1 x59 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2419 +1 x61 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2419 +1 x41 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2419 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2419 +1 x71 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 

--1 x2419 +1 x774 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x2419 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x2419 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x2419 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 

--1 x2419 +1 x524 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x2419 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 

--1 x2419 +1 x526 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 

--1 x2419 +1 x1309 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.editor.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2419 +1 x1879 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1495 +1 x57 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1495 +1 x53 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1495 +1 x561 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1495 +1 x54 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1495 +1 x183 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1495 +1 x21 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1495 +1 x136 >= 0;

-* org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1495 +1 x41 >= 0;

-* org.apache.lucene.analysis 1.9.1.v20080530-1600 requires either org.apache.lucene 1.9.1.v20080530-1600 

--1 x1496 +1 x1241 >= 0;

-* toolingwin32.win32.x86org.eclipse.update.configurator 3.2.200.v20080417 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x2420 +1 x638 >= 0;

-* toolingwin32.win32.x86org.eclipse.update.configurator 3.2.200.v20080417 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2420 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x329 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x329 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x130 +1 x21 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2422 -1 x2421>= -1 ;

- -1 x2421 1 x53 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x130 +1 x132 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x130 +1 x170 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either com.ibm.icu 3.8.1.v20080530 

--1 x130 +1 x142 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2422 -1 x2423>= -1 ;

- -1 x2423 1 x70 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 

--1 x130 +1 x1549 >= 0;

-* org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 

--1 x130 +1 x1539 >= 0;

- -1 x130 1 x2422 1 x2421 1 x2423 >= 0;

-* org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x261 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1500 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1500 +1 x53 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x1500 +1 x257 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 

--1 x1500 +1 x1167 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 

--1 x1500 +1 x1564 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1500 +1 x1161 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1500 +1 x54 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1500 +1 x57 >= 0;

-* org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1502 +1 x21 >= 0;

-* org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.server 1.0.0.v200806180305 

--1 x1502 +1 x1414 >= 0;

-* org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x1502 +1 x361 >= 0;

-* org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 requires either org.eclipse.net4j.jms.api 1.0.0.v200806180305 

--1 x1502 +1 x1351 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1504 +1 x54 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1504 +1 x21 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1504 +1 x53 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 

--1 x1504 +1 x1539 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1504 +1 x73 >= 0;

-* org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 requires either org.junit 3.8.2.v20080602-1318 

--1 x1504 +1 x409 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1507 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1507 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1507 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1507 +1 x49 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1507 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.common 1.0.0.v20070510 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1507 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1508 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1508 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1508 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 

--1 x1508 +1 x859 >= 0;

-* com.instantiations.installer 2.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1509 +1 x70 >= 0;

-* com.instantiations.installer 2.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1509 +1 x53 >= 0;

-* com.instantiations.installer 2.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1509 +1 x21 >= 0;

-* com.instantiations.installer 2.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1509 +1 x86 +1 x87 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.win32.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 

--1 x2424 +1 x809 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.win32.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 

--1 x2424 +1 x2196 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.win32.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 

--1 x2424 +1 x966 >= 0;

-* org.polarion.eclipse.team.svn.connector.javahl.win32.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.javahl.win32.feature.jar 2.0.1.I20080612-1500 

--1 x2424 +1 x1975 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.common.source 1.1.1.v20080610-1132 

--1 x1871 +1 x1631 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.codegen.source 2.1.0.v20080610-1132 

--1 x1871 +1 x1675 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.codegen.edit.source 2.1.0.v20080610-1132 

--1 x1871 +1 x1713 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.codegen.ui.source 1.1.0.v20080512-1200 

--1 x1871 +1 x1825 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.graphdef.source 2.0.100.v20080528-1052 

--1 x1871 +1 x1691 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.graphdef.edit.source 2.0.100.v20080610-1132 

--1 x1871 +1 x1777 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.map.source 2.1.0.v20080521 

--1 x1871 +1 x1679 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.map.edit.source 2.1.0.v20080610-1132 

--1 x1871 +1 x1818 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge.source 1.1.0.v20080528-1052 

--1 x1871 +1 x1793 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge.ui.source 1.1.100.v20080417-1610 

--1 x1871 +1 x1669 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.bridge.ui.dashboard.source 2.0.0.v20080417-1610 

--1 x1871 +1 x1719 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.tooling.source 2.1.0.v20080425-1959 

--1 x1871 +1 x1753 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.graphdef.codegen.source 2.0.100.v20080528-1052 

--1 x1871 +1 x362 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.graphdef.codegen.ui.source 1.0.100.v20080425-1959 

--1 x1871 +1 x1700 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.tooldef.source 2.0.0.v20080417-1610 

--1 x1871 +1 x1772 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.tooldef.edit.source 2.0.0.v20080610-1132 

--1 x1871 +1 x1693 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.validate.source 1.1.0.v20080603-1553 

--1 x1871 +1 x1703 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.ecore.editor.source 2.0.100.v20080610-1132 

--1 x1871 +1 x611 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.xpand.source 1.1.0.v20080528-1052 

--1 x1871 +1 x1744 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.xpand.editor.source 1.0.0.v20080425-1959 

--1 x1871 +1 x1717 >= 0;

-* org.eclipse.gmf.tooling.source.feature.group 2.1.0.v20080512-1200 requires either org.eclipse.gmf.tooling.source.feature.jar 2.1.0.v20080512-1200 

--1 x1871 +1 x2034 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1510 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1510 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1510 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1510 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1510 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1510 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1510 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1510 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1510 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1510 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1510 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x1510 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x1510 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x1510 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1510 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x1510 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x1510 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x1510 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x1510 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x1510 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x1510 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x1510 +1 x1458 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1510 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x1510 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1510 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1510 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x1510 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x1510 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x1510 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x1510 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1510 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1510 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1510 +1 x1495 >= 0;

-* org.eclipse.net4j.buddies 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1513 +1 x21 >= 0;

-* org.eclipse.net4j.buddies 1.0.0.v200806180305 requires either org.eclipse.net4j.buddies.common 1.0.0.v200806180305 

--1 x1513 +1 x1432 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x225 +1 x21 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x225 +1 x53 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x225 +1 x57 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x225 +1 x170 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x225 +1 x19 >= 0;

-* org.eclipse.emf.ecore.editor 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x225 +1 x147 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1518 +1 x24 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1518 +1 x36 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1518 +1 x1255 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x1518 +1 x37 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1518 +1 x655 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1518 +1 x921 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x1518 +1 x1119 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 

--1 x1518 +1 x1259 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.jivesoftware.smack 2.2.1 

--1 x1518 +1 x1544 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x1518 +1 x1219 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 

--1 x1518 +1 x1209 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x1518 +1 x25 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1518 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1518 +1 x23 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1518 +1 x49 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1518 +1 x23 >= 0;

-* org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1518 +1 x23 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1522 +1 x21 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1522 +1 x54 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x387 +1 x384 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x387 +1 x956 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x387 +1 x386 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.buckminster.opml 1.0.0.r09319 

--1 x387 +1 x1535 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x387 +1 x385 >= 0;

-* org.eclipse.buckminster.maven 1.1.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x387 +1 x21 >= 0;

-* org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1525 +1 x54 >= 0;

-* org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1525 +1 x21 >= 0;

-* org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1525 +1 x36 >= 0;

-* org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 

--1 x1525 +1 x843 >= 0;

-* org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1525 +1 x23 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1526 +1 x214 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x1526 +1 x215 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1526 +1 x145 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1526 +1 x170 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x1526 +1 x216 +1 x217 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1526 +1 x21 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1526 +1 x53 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1526 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x1526 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1526 +1 x159 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x282 +1 x53 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x282 +1 x21 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x282 +1 x63 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x282 +1 x54 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x282 +1 x140 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x282 +1 x183 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x282 +1 x59 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x282 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x282 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x282 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x282 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x282 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x282 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x282 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x282 +1 x57 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x282 +1 x315 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x282 +1 x281 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x282 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x 

--1 x282 +1 x1347 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x 

--1 x282 +1 x870 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x282 +1 x2000 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x1532 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1532 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1532 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1532 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1532 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1532 +1 x61 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1532 +1 x41 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1532 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1532 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x1532 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1532 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1532 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1532 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1532 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1532 +1 x175 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1532 +1 x160 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1532 +1 x177 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1532 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x1532 +1 x179 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1533 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1533 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x1533 +1 x118 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.gmf.codegen 2.1.0.v20080610-1132 

--1 x1533 +1 x1466 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 

--1 x1533 +1 x1069 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1533 +1 x54 >= 0;

-* org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 requires optionaly either org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 

--1 x2426 -1 x2425>= -1 ;

- -1 x2425 1 x1533 >= 0;

- -1 x1533 1 x2426 1 x2425 >= 0;

-* org.eclipse.xsd.edit 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1534 +1 x21 >= 0;

-* org.eclipse.xsd.edit 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1534 +1 x145 >= 0;

-* org.eclipse.xsd.edit 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1534 +1 x310 >= 0;

-* org.eclipse.buckminster.opml 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1535 +1 x385 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x445 +1 x59 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x445 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x445 +1 x53 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x445 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x445 +1 x254 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x445 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x445 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x445 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 

--1 x445 +1 x1051 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 

--1 x445 +1 x745 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x445 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x445 +1 x264 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x445 +1 x136 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x445 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x445 +1 x114 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x445 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 

--1 x445 +1 x1312 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 requires either com.ibm.icu 3.8.1.v20080530 

--1 x445 +1 x142 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1538 +1 x140 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1538 +1 x57 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1538 +1 x74 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1538 +1 x73 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x1538 +1 x404 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.windowtester.swt.codegen 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 

--1 x1538 +1 x779 +1 x1379 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1538 +1 x70 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x1538 +1 x931 +1 x1305 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x1538 +1 x986 +1 x1456 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.windowtester.swt.recorder 3.5.1.200809042232 com.windowtester.swt.recorder 3.5.0.200806270034 

--1 x1538 +1 x946 +1 x1385 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1538 +1 x71 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1538 +1 x82 +1 x83 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x1538 +1 x84 +1 x85 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x1538 +1 x308 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1538 +1 x142 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1538 +1 x54 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1538 +1 x53 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1538 +1 x75 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1538 +1 x41 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1538 +1 x63 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires optionaly either com.windowtester.eclipse.help 3.5.1.200809042232 com.windowtester.eclipse.help 3.5.0.200806270034 

--1 x2428 -1 x2427>= -1 ;

- -1 x2427 1 x1000 1 x1476 >= 0;

-* com.windowtester.eclipse.ui 3.5.0.200806270034 requires optionaly either org.eclipse.help 3.3.100.v20080610 

--1 x2428 -1 x2429>= -1 ;

- -1 x2429 1 x76 >= 0;

- -1 x1538 1 x2428 1 x2427 1 x2429 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x618 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x618 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x618 +1 x114 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x618 +1 x183 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x618 +1 x179 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x618 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x618 +1 x182 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x618 +1 x132 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x618 +1 x1435 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 

--1 x618 +1 x620 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 

--1 x618 +1 x619 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x618 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x618 +1 x175 >= 0;

-* toolingwin32.win32.x86org.eclipse.core.runtime 3.4.0.v20080512 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2430 +1 x21 >= 0;

-* toolingwin32.win32.x86org.eclipse.core.runtime 3.4.0.v20080512 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2430 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1542 +1 x136 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1542 +1 x21 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x1542 +1 x202 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x1542 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x1542 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x1542 +1 x1019 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1542 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.wst.xml.ui 1.0.401.v200807240448 

--1 x1542 +1 x200 +1 x201 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x1542 +1 x10 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1542 +1 x63 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1542 +1 x254 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1542 +1 x41 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1542 +1 x57 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1542 +1 x19 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1542 +1 x53 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1542 +1 x1534 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1542 +1 x147 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1542 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x1542 +1 x178 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x1542 +1 x751 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.wst.xsd.core 1.1.301.v200807240448 

--1 x1542 +1 x977 +1 x1340 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1542 +1 x81 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1542 +1 x142 >= 0;

-* org.eclipse.wst.xsd.ui 1.2.102.v200808141745 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1542 +1 x160 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x1543 +1 x88 +1 x45 +1 x89 +1 x46 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x1543 +1 x88 +1 x45 +1 x89 +1 x46 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires optionaly either a.jre 1.6.0 

--1 x2432 -1 x2431>= -1 ;

- -1 x2431 1 x210 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1543 +1 x23 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1543 +1 x49 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1543 +1 x49 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1543 +1 x49 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1543 +1 x23 >= 0;

-* org.eclipse.equinox.http 1.0.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1543 +1 x39 +1 x23 >= 0;

- -1 x1543 1 x2432 1 x2431 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1546 +1 x21 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1546 +1 x74 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1546 +1 x70 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x1546 +1 x405 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x1546 +1 x404 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x1546 +1 x406 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1546 +1 x73 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1546 +1 x71 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1546 +1 x63 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1546 +1 x81 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1546 +1 x54 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1546 +1 x61 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1546 +1 x57 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1546 +1 x140 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1546 +1 x59 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1546 +1 x41 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1546 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1546 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1546 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1546 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x1546 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1546 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1546 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1546 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x1546 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.core.variables 3.2.100.v20080529-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x414 +1 x21 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x2434 -1 x2433>= -1 ;

- -1 x2433 1 x347 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1549 +1 x21 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2434 -1 x2435>= -1 ;

- -1 x2435 1 x53 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1549 +1 x132 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1549 +1 x170 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1549 +1 x142 >= 0;

-* org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x1549 +1 x129 >= 0;

- -1 x1549 1 x2434 1 x2433 1 x2435 >= 0;

-* org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ requires either org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x105 +1 x1874 >= 0;

-* org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ requires either org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x105 +1 x2314 >= 0;

-* org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ requires either org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x105 +1 x234 >= 0;

-* org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ requires either org.eclipse.ocl.all.feature.jar 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ 

--1 x105 +1 x2018 >= 0;

-* com.instantiations.installer.feature.feature.group 2.5.1 requires either com.instantiations.installer 2.5.1 

--1 x2436 +1 x1509 >= 0;

-* com.instantiations.installer.feature.feature.group 2.5.1 requires either com.instantiations.installer.feature.feature.jar 2.5.1 

--1 x2436 +1 x2047 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x405 +1 x53 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x405 +1 x75 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x405 +1 x70 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x405 +1 x21 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x405 +1 x159 >= 0;

-* org.eclipse.jdt.debug 3.4.0.v20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x405 +1 x553 +1 x142 >= 0;

-* org.eclipse.birt.chart.cshelp 2.3.0.v20080616 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1556 +1 x76 >= 0;

-* org.eclipse.birt.chart.cshelp 2.3.0.v20080616 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1556 +1 x21 >= 0;

-* org.eclipse.birt.chart.cshelp 2.3.0.v20080616 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1556 +1 x52 >= 0;

-* org.eclipse.emf.common.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2401 +1 x21 >= 0;

-* org.eclipse.emf.common.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2401 +1 x114 >= 0;

-* org.eclipse.emf.common.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.feature.jar 2.4.0.v200806091234 

--1 x2401 +1 x2142 >= 0;

-* org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x336 +1 x54 >= 0;

-* org.eclipse.buckminster.sax 1.0.0.r09175 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x385 +1 x21 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.supplement 1.1.0.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x39 +1 x39 +1 x23 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1560 +1 x21 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1560 +1 x132 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1560 +1 x560 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 

--1 x1560 +1 x1039 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 

--1 x1560 +1 x1010 >= 0;

-* org.eclipse.gmf.map 2.1.0.v20080521 requires either org.eclipse.gmf.validate 1.1.0.v20080603-1553 

--1 x1560 +1 x671 >= 0;

-* org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD requires either org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A 

--1 x2437 +1 x556 >= 0;

-* org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2437 +1 x3 >= 0;

-* org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD requires either org.eclipse.gef.source.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2437 +1 x2438 >= 0;

-* org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD requires either org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 

--1 x2437 +1 x1405 >= 0;

-* org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD requires either org.eclipse.gef.sdk.feature.jar 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD 

--1 x2437 +1 x2083 >= 0;

-* org.eclipse.wst.standard.schemas 1.0.101.v200806010600 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1561 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.standard.schemas 1.0.101.v200806010600 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x1561 +1 x194 +1 x195 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x526 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x526 +1 x523 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x526 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x526 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.apache.ant 1.7.0.v200803061910 

--1 x526 +1 x113 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x526 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x526 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x526 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 

--1 x526 +1 x522 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1563 +1 x54 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1563 +1 x53 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1563 +1 x21 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1563 +1 x63 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1563 +1 x183 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1563 +1 x57 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1563 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1563 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1563 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1563 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1563 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 

--1 x565 +1 x1895 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires optionaly either org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK 

--1 x2440 -1 x2439>= -1 ;

- -1 x2439 1 x2441 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either com.ibm.icu 3.8.1.v20080530 

--1 x565 +1 x142 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x565 +1 x865 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x565 +1 x159 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x565 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x565 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x565 +1 x52 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x565 +1 x1911 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.datatools.enablement.oda.designer.feature.feature.group 1.6.0.v200804021-21-8s733I3C7F4K63 

--1 x565 +1 x507 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x565 +1 x3 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.help.appserver 3.1.300.v20080507 

--1 x565 +1 x1054 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x565 +1 x78 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x565 +1 x70 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x565 +1 x73 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x565 +1 x71 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x565 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x565 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x565 +1 x305 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x565 +1 x61 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x565 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x565 +1 x57 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x565 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x565 +1 x65 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x565 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 

--1 x565 +1 x782 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 

--1 x565 +1 x917 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x565 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x565 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x565 +1 x304 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 

--1 x565 +1 x298 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 

--1 x565 +1 x301 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 

--1 x565 +1 x302 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 

--1 x565 +1 x533 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 

--1 x565 +1 x845 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer 2.3.0.v200806102 

--1 x565 +1 x1323 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x565 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x565 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 

--1 x565 +1 x857 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 

--1 x565 +1 x944 >= 0;

-* org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 requires either org.eclipse.birt.report.designer.feature.jar 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 

--1 x565 +1 x2081 >= 0;

- -1 x565 1 x2440 1 x2439 >= 0;

-* org.eclipse.emf.validation.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 

--1 x2442 +1 x1512 >= 0;

-* org.eclipse.emf.validation.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.validation.ocl.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x2442 +1 x2138 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.birt.report.runtime.feature.group 2.3.0.v20080516-7g890ELRXmproz-xIDPOJ1 

--1 x2441 +1 x1895 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ 

--1 x2441 +1 x2170 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.datatools.enablement.feature.feature.group 1.6.0.v200804021-7D8H09FSoK_ZabCz-1W8blbFlWui 

--1 x2441 +1 x2277 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 

--1 x2441 +1 x1167 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 

--1 x2441 +1 x1500 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 

--1 x2441 +1 x834 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.group 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK requires either org.eclipse.birt.report.data.oda.jdbc.dbprofile.sqlbuilder.feature.feature.jar 2.3.0.v200806021-787A-9xtEFULkYwnqspz00yJEQPK 

--1 x2441 +1 x2074 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2443 +1 x235 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2443 +1 x1904 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2443 +1 x236 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2443 +1 x2313 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2443 +1 x237 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2443 +1 x2444 >= 0;

-* org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz requires either org.eclipse.emf.emfqtv.all.feature.jar 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz 

--1 x2443 +1 x1986 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1565 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.0 requires either com.instantiations.eclipse.ast.editor 5.5.0 com.instantiations.eclipse.ast.editor 5.5.1 

--1 x1565 +1 x1592 +1 x1173 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1565 +1 x21 >= 0;

-* com.instantiations.eclipse.analysis.expression 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1565 +1 x70 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.feature.group 0.7.0.v200806130939 

--1 x2445 +1 x120 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.feature.group 0.7.0.v200806130939 

--1 x2445 +1 x123 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2445 +1 x54 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2445 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x2445 +1 x449 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x2445 +1 x266 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x2445 +1 x1300 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 

--1 x2445 +1 x678 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 

--1 x2445 +1 x975 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x2445 +1 x776 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x2445 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x2445 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2445 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ui 0.7.0.v200806130939 

--1 x2445 +1 x729 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 

--1 x2445 +1 x746 >= 0;

-* org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.uml2.diagram.clazz.search.feature.jar 0.7.0.v200806130939 

--1 x2445 +1 x1998 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x509 +1 x1910 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.apache.xerces 2.9.0.v200805270400 

--1 x509 +1 x347 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x509 +1 x1175 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x509 +1 x998 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 

--1 x509 +1 x339 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 

--1 x509 +1 x344 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either javax.xml 1.3.4.v200806030440 

--1 x509 +1 x371 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either javax.wsdl 1.4.0.v200806030407 

--1 x509 +1 x345 >= 0;

-* org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN requires either org.eclipse.datatools.enablement.oda.feature.feature.jar 1.6.0.v200804021-797P4CYQCD4CpIiDmMN 

--1 x509 +1 x1988 >= 0;

-* org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1568 +1 x54 >= 0;

-* org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1568 +1 x21 >= 0;

-* org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x1568 +1 x776 >= 0;

-* org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 

--1 x1568 +1 x1586 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1569 +1 x53 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1569 +1 x21 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1569 +1 x63 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1569 +1 x54 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1569 +1 x140 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1569 +1 x183 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1569 +1 x59 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1569 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1569 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1569 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1569 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x1569 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1569 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1569 +1 x433 +1 x314 +1 x767 >= 0;

-* org.python.pydev.templates 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1570 +1 x54 >= 0;

-* org.python.pydev.templates 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1570 +1 x21 >= 0;

-* org.python.pydev.templates 1.3.20 requires either org.python.pydev 1.0.7 org.python.pydev 0.8.0 org.python.pydev 1.2.5 org.python.pydev 1.3.3 org.python.pydev 1.3.14 org.python.pydev 1.3.12 org.python.pydev 0.9.5 org.python.pydev 1.0.8 org.python.pydev 1.2.6 org.python.pydev 0.6.1 org.python.pydev 1.3.11 org.python.pydev 1.3.13 org.python.pydev 1.3.4 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.python.pydev 1.2.7 org.python.pydev 1.0.5 org.python.pydev 0.9.8 org.python.pydev 0.4.2 org.python.pydev 1.3.16 org.python.pydev 1.3.1 org.python.pydev 1.3.10 org.python.pydev 1.1.0 org.python.pydev 1.2.8 org.python.pydev 0.9.0 org.python.pydev 1.0.6 org.python.pydev 0.9.7 org.python.pydev 1.3.9 org.python.pydev 1.3.15 org.python.pydev 1.3.2 org.python.pydev 1.3.18 org.python.pydev 1.3.8 org.python.pydev 0.9.1 org.python.pydev 1.0.4 org.python.pydev 1.2.2 org.python.pydev 0.9.7.99 org.python.pydev 1.2.9 org.python.pydev 1.3.7 org.python.pydev 1.3.0 org.python.pydev 1.3.17 org.python.pydev 0.9.2 org.python.pydev 1.0.3 org.python.pydev 1.2.1 org.python.pydev 1.3.20 org.python.pydev 1.3.6 org.python.pydev 0.9.8.7 org.python.pydev 1.2.4 org.python.pydev 0.7.1 org.python.pydev 0.9.8.3 org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.python.pydev 1.0.2 org.python.pydev 0.9.3 org.python.pydev 0.9.8.6 org.python.pydev 1.3.5 org.python.pydev 0.9.8.2 org.python.pydev 1.3.19 org.python.pydev 0.9.8.1 org.python.pydev 1.2.3 org.python.pydev 1.0.1 org.python.pydev 0.9.4 

--1 x1570 +1 x772 +1 x1263 +1 x1531 +1 x1475 +1 x1142 +1 x1404 +1 x661 +1 x382 +1 x1408 +1 x1348 +1 x1540 +1 x1285 +1 x1354 +1 x1356 +1 x1357 +1 x1287 +1 x1034 +1 x964 +1 x965 +1 x1420 +1 x1220 +1 x1158 +1 x1366 +1 x1163 +1 x1045 +1 x909 +1 x855 +1 x1299 +1 x1558 +1 x1101 +1 x708 +1 x918 +1 x1171 +1 x1113 +1 x864 +1 x1233 +1 x1052 +1 x1059 +1 x872 +1 x814 +1 x1316 +1 x1239 +1 x994 +1 x930 +1 x719 +1 x1001 +1 x681 +1 x532 +1 x1005 +1 x1007 +1 x1008 +1 x1389 +1 x1460 +1 x1011 +1 x826 +1 x1015 +1 x1072 +1 x1016 +1 x770 +1 x1527 +1 x1595 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1571 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1571 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1571 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1571 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x1571 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x1571 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1571 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x1571 +1 x446 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1571 +1 x142 >= 0;

-* org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1572 +1 x21 >= 0;

-* org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1572 +1 x54 >= 0;

-* org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1572 +1 x53 >= 0;

-* org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1572 +1 x57 >= 0;

-* org.eclipse.buckminster.installer 1.0.0.r09319 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x1573 +1 x1523 >= 0;

-* org.eclipse.buckminster.installer 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1573 +1 x386 >= 0;

-* org.eclipse.buckminster.installer 1.0.0.r09319 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x1573 +1 x1185 >= 0;

-* org.eclipse.buckminster.installer 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1573 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x285 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x285 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x285 +1 x316 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x285 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x285 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x285 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x285 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x285 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x285 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x285 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x285 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x285 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn_feature.feature.group 3.0.0.v20080619-1900 

--1 x285 +1 x279 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x285 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x285 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x285 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 

--1 x285 +1 x1043 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 

--1 x285 +1 x769 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.0.v20080619-1900 

--1 x285 +1 x1982 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2446 +1 x21 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2446 +1 x59 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x2446 +1 x65 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2446 +1 x145 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x2446 +1 x146 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2446 +1 x147 >= 0;

-* org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui.feature.jar 2.4.0.v200806091234 

--1 x2446 +1 x2149 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 

--1 x564 +1 x2447 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x564 +1 x54 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x564 +1 x72 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x564 +1 x561 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.chart.ui 2.3.0.v20080522 

--1 x564 +1 x833 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 

--1 x564 +1 x995 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.core.ui 2.3.0.v20080515 

--1 x564 +1 x1582 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.chart 2.3.0.v20080304 

--1 x564 +1 x755 >= 0;

-* org.eclipse.birt.chart.feature.group 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 requires either org.eclipse.birt.chart.feature.jar 2.3.0.v20070920-7_7D-_toGwdNoavpt0rsSTZunS2 

--1 x564 +1 x2062 >= 0;

-* org.eclipse.ui.views.log 1.0.0.v20080522-2200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1580 +1 x21 >= 0;

-* org.eclipse.ui.views.log 1.0.0.v20080522-2200 requires optionaly either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x2449 -1 x2448>= -1 ;

- -1 x2448 1 x160 >= 0;

-* org.eclipse.ui.views.log 1.0.0.v20080522-2200 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1580 +1 x54 >= 0;

-* org.eclipse.ui.views.log 1.0.0.v20080522-2200 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2449 -1 x2450>= -1 ;

- -1 x2450 1 x57 >= 0;

-* org.eclipse.ui.views.log 1.0.0.v20080522-2200 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x1580 +1 x553 +1 x142 >= 0;

- -1 x1580 1 x2449 1 x2448 1 x2450 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x570 +1 x75 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x570 +1 x74 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x570 +1 x308 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x570 +1 x637 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.pde 3.4.0.v20080603 

--1 x570 +1 x1501 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.birt.report.designer 2.3.0.v200806102 

--1 x570 +1 x1323 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.birt.report.debug.ui 2.3.0.v200806102 

--1 x570 +1 x1050 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.birt.report.debug.core 2.3.0.v200806102 

--1 x570 +1 x1401 >= 0;

-* org.eclipse.birt.report.designer.debug.feature.group 2.3.0.v200806102-45-8s733I3E537 requires either org.eclipse.birt.report.designer.debug.feature.jar 2.3.0.v200806102-45-8s733I3E537 

--1 x570 +1 x2077 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x1584 +1 x1186 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1584 +1 x21 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1584 +1 x53 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1584 +1 x214 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1584 +1 x1012 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x1584 +1 x861 +1 x101 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x2452 -1 x2451>= -1 ;

- -1 x2451 1 x113 >= 0;

-* org.eclipse.wst.command.env 1.0.306.v200807231700 requires optionaly either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2452 -1 x2453>= -1 ;

- -1 x2453 1 x80 >= 0;

- -1 x1584 1 x2452 1 x2451 1 x2453 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x284 +1 x53 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x284 +1 x21 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x284 +1 x63 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x284 +1 x54 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x284 +1 x140 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x284 +1 x183 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x284 +1 x59 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x284 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x284 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x284 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x284 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x284 +1 x57 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x284 +1 x315 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x280 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x284 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x1569 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x687 >= 0;

-* org.eclipse.mylyn.context_feature.feature.group 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context_feature.feature.jar 3.0.1.v20080721-2100-e3x 

--1 x284 +1 x2058 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1800 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.source 1.1.0.v20080512-1200 

--1 x1870 +1 x1721 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.action.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1688 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.action.ide.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1762 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.source 1.1.0.v20080612-1229 

--1 x1870 +1 x1614 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.action.source 1.1.0.v20080507-2230 

--1 x1870 +1 x1773 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.dnd.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1724 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.dnd.ide.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1766 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.services.properties.source 1.1.0.v20080425-1959 

--1 x1870 +1 x294 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1850 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.source 1.1.0.v20080610-1132 

--1 x1870 +1 x270 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.actions.source 1.1.0.v20080603-1553 

--1 x1870 +1 x1809 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.dnd.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1769 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.geoshapes.source 1.1.0.v20080503-1740 

--1 x1870 +1 x1799 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.properties.source 1.1.0.v20080603-1553 

--1 x1870 +1 x1786 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.providers.source 1.1.0.v20080503-1740 

--1 x1870 +1 x640 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1653 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.render.source 1.1.0.v20080603-1553 

--1 x1870 +1 x1826 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1808 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1685 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui.source 1.1.0.v20080610-1132 

--1 x1870 +1 x418 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui.render.source 1.1.0.v20080507-2230 

--1 x1870 +1 x1738 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.draw2d.ui.render.awt.source 1.1.0.v20080603-1553 

--1 x1870 +1 x295 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.clipboard.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1787 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.commands.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1831 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1662 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.type.core.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1759 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.type.ui.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1791 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.ui.source 1.1.0.v20080516-1748 

--1 x1870 +1 x1760 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.emf.ui.properties.source 1.1.0.v20080425-1959 

--1 x1870 +1 x363 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.gef.ui.source 1.1.0.v20080503-1740 

--1 x1870 +1 x1803 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.notation.providers.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1782 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.source 1.0.0.v20080425-1959 

--1 x1870 +1 x1837 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.printing.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1722 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.common.ui.printing.win32.source 1.1.0.v20080612-1355 

--1 x1870 +1 x1729 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.printing.source 1.1.0.v20080501-1739 

--1 x1870 +1 x1820 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.runtime.diagram.ui.printing.render.source 1.1.0.v20080425-1959 

--1 x1870 +1 x1740 >= 0;

-* org.eclipse.gmf.source.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ requires either org.eclipse.gmf.source.feature.jar 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x1870 +1 x1989 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1587 +1 x21 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1587 +1 x53 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1587 +1 x36 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x1587 +1 x1119 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x1587 +1 x37 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1587 +1 x1255 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 

--1 x1587 +1 x1259 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1587 +1 x63 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1587 +1 x57 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1587 +1 x61 >= 0;

-* org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1587 +1 x54 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.help 3.3.100.v20080610 

--1 x2454 +1 x76 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2454 +1 x54 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2454 +1 x21 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2454 +1 x53 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2454 +1 x57 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.emf.validation.doc 1.2.0.v200805130238 

--1 x2454 +1 x229 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.emf.validation.examples 1.2.0.v200805280204 

--1 x2454 +1 x1080 >= 0;

-* org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E requires either org.eclipse.emf.validation.doc.feature.jar 1.2.0.v200805130238-23-8s733I3C6D376E 

--1 x2454 +1 x2007 >= 0;

-* org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 requires either org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 

--1 x2196 +1 x288 >= 0;

-* org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 

--1 x2196 +1 x1074 >= 0;

-* org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 requires either org.polarion.eclipse.team.svn.connector.feature.jar 2.0.1.I20080612-1500 

--1 x2196 +1 x2101 >= 0;

-* org.eclipse.net4j.ui.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.util.ui 1.0.0.v200806180305 

--1 x2455 +1 x1298 >= 0;

-* org.eclipse.net4j.ui.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui 1.0.0.v200806180305 

--1 x2455 +1 x1272 >= 0;

-* org.eclipse.net4j.ui.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui.feature.jar 1.0.0.v200806180305 

--1 x2455 +1 x2001 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1593 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1593 +1 x53 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1593 +1 x54 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires optionaly either org.eclipse.ui.views.log 1.0.0.v20080522-2200 

--1 x2457 -1 x2456>= -1 ;

- -1 x2456 1 x1580 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1593 +1 x57 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1593 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1593 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1593 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1593 +1 x272 +1 x327 +1 x328 >= 0;

- -1 x1593 1 x2457 1 x2456 >= 0;

-* org.eclipse.jsch.core 1.1.100.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1594 +1 x21 >= 0;

-* org.eclipse.jsch.core 1.1.100.I20080604 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1594 +1 x893 >= 0;

-* org.eclipse.jsch.core 1.1.100.I20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1594 +1 x53 >= 0;

-* org.eclipse.jsch.core 1.1.100.I20080604 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1594 +1 x316 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x637 +1 x21 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x637 +1 x53 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x637 +1 x70 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x637 +1 x971 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x637 +1 x638 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x637 +1 x68 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x637 +1 x73 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x637 +1 x639 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x637 +1 x414 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.pde.build 3.4.0.v20080604 

--1 x637 +1 x960 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x637 +1 x80 >= 0;

-* org.eclipse.pde.core 3.4.0.v20080604-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x637 +1 x553 +1 x142 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x2459 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.ide_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x2274 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.team_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x1598 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either com.instantiations.eclipse.core.feature.feature.group 5.5.1 

--1 x2458 +1 x2460 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x2461 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x2462 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x286 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x282 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x2463 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2458 +1 x281 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW 

--1 x2458 +1 x1 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 

--1 x2465 -1 x2464>= -1 ;

- -1 x2464 1 x1079 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.mozilla.rhino.feature.group 1.6.7.v20071217-1567w31191325 

--1 x2458 +1 x1897 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.p4.feature.feature.group 1.0.0.r09319 

--1 x2458 +1 x2233 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.win32.source 3.2.100.v20080408-0800 

--1 x2465 -1 x2466>= -1 ;

- -1 x2466 1 x22 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.junit4.source 4.3.1 

--1 x2465 -1 x2467>= -1 ;

- -1 x2467 1 x1657 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.source.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2465 -1 x2468>= -1 ;

- -1 x2468 1 x1976 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 

--1 x2465 -1 x2469>= -1 ;

- -1 x2469 1 x35 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 

--1 x2465 -1 x2470>= -1 ;

- -1 x2470 1 x40 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.osgi.services.source 3.1.200.v20071203 

--1 x2465 -1 x2471>= -1 ;

- -1 x2471 1 x43 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs.source 1.0.100.v20080603 

--1 x2465 -1 x2472>= -1 ;

- -1 x2472 1 x438 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse 5.5.0 

--1 x2465 -1 x2473>= -1 ;

- -1 x2473 1 x51 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.draw2d.feature.jar 3.4.0.v20080115-33-7w3119163_ 

--1 x2465 -1 x2474>= -1 ;

- -1 x2474 1 x100 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x2465 -1 x2475>= -1 ;

- -1 x2475 1 x101 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.ocl.all.sdk.feature.group 1.2.0.v200805130238-67_8Y_-NQOdLfTWFhivwhwxdBhdq 

--1 x2458 +1 x104 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.mail 5.5.1 

--1 x2465 -1 x2476>= -1 ;

- -1 x2476 1 x663 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2.search.feature.group 0.7.0.v200806130939 

--1 x2458 +1 x119 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.lta.log.feature.group 4.5.0.v200805230100-7p80-E9UsMfZVJeUe4ur95C7 

--1 x2458 +1 x126 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jface.databinding.source 1.2.0.I20080515-2000a 

--1 x2465 -1 x2477>= -1 ;

- -1 x2477 1 x161 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.feature.group 1.0.0.v20080522-1--7w3119171503111 

--1 x2465 -1 x2478>= -1 ;

- -1 x2478 1 x163 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.p2.agent.feature.feature.group 1.0.0.v20080411-1400-7Y--EPBnuySxFQeL4fPw 

--1 x2458 +1 x2238 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2479>= -1 ;

- -1 x2479 1 x189 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.intro.source 3.2.200.v20080610 

--1 x2465 -1 x2480>= -1 ;

- -1 x2480 1 x1664 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jface.source 3.4.0.I20080606-1300 

--1 x2465 -1 x2481>= -1 ;

- -1 x2481 1 x1665 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.jsp.jasper.registry.source 1.0.0.v20080427-0830 

--1 x2465 -1 x2482>= -1 ;

- -1 x2482 1 x1666 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.launching.source 3.4.0.v20080529-1300 

--1 x2465 -1 x2483>= -1 ;

- -1 x2483 1 x206 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.lta.gla.runtime.feature.group 4.5.0.v200805132041-7879-8s733I3D6B5878 

--1 x2458 +1 x211 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x2458 +1 x2484 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x2465 -1 x2485>= -1 ;

- -1 x2485 1 x406 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2465 -1 x2486>= -1 ;

- -1 x2486 1 x2241 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 

--1 x2458 +1 x2487 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.directorywatcher.source 1.0.0.v20080505-1850 

--1 x2465 -1 x2488>= -1 ;

- -1 x2488 1 x1670 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 

--1 x2465 -1 x2489>= -1 ;

- -1 x2489 1 x672 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.http.jetty.source 1.1.0.v20080425 

--1 x2465 -1 x2490>= -1 ;

- -1 x2490 1 x228 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ecoretools.feature.group 0.8.0.v200806130600 

--1 x2458 +1 x232 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2458 +1 x233 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 

--1 x2465 -1 x2491>= -1 ;

- -1 x2491 1 x676 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x2465 -1 x2492>= -1 ;

- -1 x2492 1 x1119 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x2465 -1 x2493>= -1 ;

- -1 x2493 1 x409 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.properties.java5 1.0.0 

--1 x2465 -1 x2494>= -1 ;

- -1 x2494 1 x248 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 

--1 x2465 -1 x2495>= -1 ;

- -1 x2495 1 x251 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.security.source 1.0.0.v20080512-1800 

--1 x2465 -1 x2496>= -1 ;

- -1 x2496 1 x1676 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.ui.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2497>= -1 ;

- -1 x2497 1 x1677 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2465 -1 x2498>= -1 ;

- -1 x2498 1 x2275 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2465 -1 x2499>= -1 ;

- -1 x2499 1 x145 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2458 +1 x235 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x2465 -1 x2500>= -1 ;

- -1 x2500 1 x87 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 

--1 x2465 -1 x2501>= -1 ;

- -1 x2501 1 x1124 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2465 -1 x2502>= -1 ;

- -1 x2502 1 x3 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.updatechecker.source 1.0.0.v20080427-2136 

--1 x2465 -1 x2503>= -1 ;

- -1 x2503 1 x271 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.team.svn.mylyn.feature.group 0.7.1.I20080612-1500 

--1 x2458 +1 x278 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either javax.servlet.jsp.source 2.0.0.v200806031607 

--1 x2465 -1 x2504>= -1 ;

- -1 x2504 1 x1682 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.jet.sdk.feature.group 0.9.0.v20080516-07X-82Te4djSEJpBWJX 

--1 x2458 +1 x2260 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.swt.layout.grouplayout 1.1.0 

--1 x2465 -1 x2505>= -1 ;

- -1 x2505 1 x680 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.internet.cache 1.0.301.v200805140020 

--1 x2465 -1 x2506>= -1 ;

- -1 x2506 1 x11 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runtime 3.5.0.200806270034 

--1 x2465 -1 x2507>= -1 ;

- -1 x2507 1 x373 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.lucene.source 1.9.1.v20080530-1600 

--1 x2465 -1 x2508>= -1 ;

- -1 x2508 1 x1687 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x2465 -1 x2509>= -1 ;

- -1 x2509 1 x308 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.commands.source 3.4.0.I20080509-2000 

--1 x2465 -1 x2510>= -1 ;

- -1 x2510 1 x296 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.runtime 3.4.0.v20080530-1200 

--1 x2465 -1 x2511>= -1 ;

- -1 x2511 1 x1132 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2512>= -1 ;

- -1 x2512 1 x309 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.layout.group 6.7.0.200806270151 

--1 x2465 -1 x2513>= -1 ;

- -1 x2513 1 x683 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.externaltools.source 3.2.0.v20080514-1542 

--1 x2465 -1 x2514>= -1 ;

- -1 x2514 1 x1689 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 

--1 x2465 -1 x2515>= -1 ;

- -1 x2515 1 x2516 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.workbench.source 3.4.0.I20080606-1300 

--1 x2465 -1 x2517>= -1 ;

- -1 x2517 1 x1690 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.api.tools.source 1.0.0.v20080529-1150 

--1 x2465 -1 x2518>= -1 ;

- -1 x2518 1 x1692 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.artifact.repository.source 1.0.0.v20080609-0850 

--1 x2465 -1 x2519>= -1 ;

- -1 x2519 1 x1695 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.compiler.apt.source 1.0.100.v20080513-1235 

--1 x2465 -1 x2520>= -1 ;

- -1 x2520 1 x1694 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.source 3.4.0.I20080610-1200 

--1 x2465 -1 x2521>= -1 ;

- -1 x2521 1 x338 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2458 +1 x2444 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.build.source 3.4.0.v20080604 

--1 x2465 -1 x2522>= -1 ;

- -1 x2522 1 x1696 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.xored.composer.ui 1.3.4.200809042225 

--1 x2465 -1 x2523>= -1 ;

- -1 x2523 1 x690 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 

--1 x2465 -1 x2524>= -1 ;

- -1 x2524 1 x691 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.objectweb.asm 3.0.0.v200803061811 

--1 x2465 -1 x2525>= -1 ;

- -1 x2525 1 x1140 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.feature.jar 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2465 -1 x2526>= -1 ;

- -1 x2526 1 x412 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.rcp.source 3.4.0.v20080507 

--1 x2465 -1 x2527>= -1 ;

- -1 x2527 1 x359 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 

--1 x2458 +1 x1627 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x2465 -1 x2528>= -1 ;

- -1 x2528 1 x1141 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 

--1 x2465 -1 x2529>= -1 ;

- -1 x2529 1 x694 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.epp.usagedata.feature.feature.jar 1.0.0.R200806162215 

--1 x2465 -1 x2530>= -1 ;

- -1 x2530 1 x365 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.maven.feature.feature.group 1.1.0.r09319 

--1 x2458 +1 x383 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ui.source 3.3.100.I20080604 

--1 x2465 -1 x2531>= -1 ;

- -1 x2531 1 x442 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 

--1 x2465 -1 x2532>= -1 ;

- -1 x2532 1 x1149 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2533>= -1 ;

- -1 x2533 1 x1705 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.objectweb.asm 3.1.0.v200803061910 

--1 x2465 -1 x2534>= -1 ;

- -1 x2534 1 x392 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.platform.jakarta.log4j.feature.group 4.4.0.v200802291616-117B7w311917141711 

--1 x2458 +1 x2276 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.python.pydev.mylyn.feature.feature.group 0.3.0 

--1 x2458 +1 x2535 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.platform.ide 3.4.0.I20080617-2000 

--1 x2458 +1 x2536 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.exemplarysetup.source 1.0.0.v20080427-2136 

--1 x2465 -1 x2537>= -1 ;

- -1 x2537 1 x1707 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2465 -1 x2538>= -1 ;

- -1 x2538 1 x395 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.presentations.r21.source 3.2.100.I20080512-2000 

--1 x2465 -1 x2539>= -1 ;

- -1 x2539 1 x1708 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ 

--1 x2465 -1 x2540>= -1 ;

- -1 x2540 1 x557 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 

--1 x2458 +1 x2541 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2465 -1 x2542>= -1 ;

- -1 x2542 1 x114 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 

--1 x2465 -1 x2543>= -1 ;

- -1 x2543 1 x413 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.core.source 3.4.0.v_874 

--1 x2465 -1 x2544>= -1 ;

- -1 x2544 1 x1710 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 

--1 x2465 -1 x2545>= -1 ;

- -1 x2545 1 x701 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.ui.sdk.source 1.0.0.v20080605-1731 

--1 x2465 -1 x2546>= -1 ;

- -1 x2546 1 x419 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.launcher.source 1.0.100.v20080509-1800 

--1 x2465 -1 x2547>= -1 ;

- -1 x2547 1 x1712 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.net.source 1.0.0.I20080605 

--1 x2465 -1 x2548>= -1 ;

- -1 x2548 1 x421 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.help 2.5.1 

--1 x2465 -1 x2549>= -1 ;

- -1 x2549 1 x1164 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.draw2d 3.4.0.v20080529 

--1 x2465 -1 x2550>= -1 ;

- -1 x2550 1 x575 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 

--1 x2465 -1 x2551>= -1 ;

- -1 x2551 1 x704 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.doc 1.3.0.v20080623-0046 

--1 x2465 -1 x2552>= -1 ;

- -1 x2552 1 x423 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 

--1 x2465 -1 x2553>= -1 ;

- -1 x2553 1 x2554 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.update.core.source 3.2.200.v20080515 

--1 x2465 -1 x2555>= -1 ;

- -1 x2555 1 x1714 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x2465 -1 x2556>= -1 ;

- -1 x2556 1 x583 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.xored.swt.composer 1.3.4.200809042225 

--1 x2465 -1 x2557>= -1 ;

- -1 x2557 1 x427 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.objectweb.asm.source 3.1.0.v200803061910 

--1 x2465 -1 x2558>= -1 ;

- -1 x2558 1 x1716 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2465 -1 x2559>= -1 ;

- -1 x2559 1 x71 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.extensionlocation.source 1.0.0.v20080523-0001 

--1 x2465 -1 x2560>= -1 ;

- -1 x2560 1 x428 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 

--1 x2465 -1 x2561>= -1 ;

- -1 x2561 1 x707 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2562>= -1 ;

- -1 x2562 1 x2387 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.ast.editor 5.5.1 

--1 x2465 -1 x2563>= -1 ;

- -1 x2563 1 x1173 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ant.ui 3.3.0.v20080529 

--1 x2465 -1 x2564>= -1 ;

- -1 x2564 1 x397 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runtime.junit4 3.5.0.200806270034 

--1 x2465 -1 x2565>= -1 ;

- -1 x2565 1 x714 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2465 -1 x2566>= -1 ;

- -1 x2566 1 x437 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x2465 -1 x2567>= -1 ;

- -1 x2567 1 x1175 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2458 +1 x2568 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2465 -1 x2569>= -1 ;

- -1 x2569 1 x2046 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.installer.feature.feature.jar 2.5.1 

--1 x2465 -1 x2570>= -1 ;

- -1 x2570 1 x2047 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.ui.source 3.4.0.I20080604 

--1 x2465 -1 x2571>= -1 ;

- -1 x2571 1 x1723 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.swt.widgets.baseline 1.1.0 

--1 x2465 -1 x2572>= -1 ;

- -1 x2572 1 x512 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 

--1 x2465 -1 x2573>= -1 ;

- -1 x2573 1 x716 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.core.source 3.3.100.v20080513-1235 

--1 x2465 -1 x2574>= -1 ;

- -1 x2574 1 x1726 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 

--1 x2465 -1 x2575>= -1 ;

- -1 x2575 1 x403 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.tools 5.3.2.200809042027 

--1 x2465 -1 x2576>= -1 ;

- -1 x2576 1 x1177 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 

--1 x2465 -1 x2577>= -1 ;

- -1 x2577 1 x13 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ant.core.source 3.2.0.v20080529 

--1 x2465 -1 x2578>= -1 ;

- -1 x2578 1 x1728 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x2458 +1 x238 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.ocl.uml.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2458 +1 x2314 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 

--1 x2465 -1 x2579>= -1 ;

- -1 x2579 1 x1184 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.metadata.repository.source 1.0.0.v20080604 

--1 x2465 -1 x2580>= -1 ;

- -1 x2580 1 x1732 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.compare.source 3.4.0.I20080604 

--1 x2465 -1 x2581>= -1 ;

- -1 x2581 1 x1734 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x2465 -1 x2582>= -1 ;

- -1 x2582 1 x1186 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.compiler.tool 1.0.100.v_874 

--1 x2465 -1 x2583>= -1 ;

- -1 x2583 1 x402 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.jet.feature.group 0.9.0.v20080516-17H-9oA55S5I_N 

--1 x2458 +1 x2261 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd 2.4.0.v200806091234 

--1 x2465 -1 x2584>= -1 ;

- -1 x2584 1 x310 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.search.feature.group 0.7.0.v200806130939 

--1 x2458 +1 x123 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 

--1 x2465 -1 x2585>= -1 ;

- -1 x2585 1 x727 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.jdt 5.5.0 

--1 x2465 -1 x2586>= -1 ;

- -1 x2586 1 x1190 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs 1.0.100.v20080603 

--1 x2465 -1 x2587>= -1 ;

- -1 x2587 1 x728 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.pluggable.core.source 1.0.100.v20080407-1345 

--1 x2465 -1 x2588>= -1 ;

- -1 x2588 1 x1736 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.update.scheduler.source 3.2.100.v20080404 

--1 x2465 -1 x2589>= -1 ;

- -1 x2589 1 x1737 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.shared.feature.jar 5.3.2.200809042027 

--1 x2465 -1 x2590>= -1 ;

- -1 x2590 1 x2056 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A 

--1 x2458 +1 x556 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x2465 -1 x2591>= -1 ;

- -1 x2591 1 x202 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.jobs.source 3.4.0.v20080512 

--1 x2465 -1 x2592>= -1 ;

- -1 x2592 1 x1741 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.birt.feature.group 2.3.0.v200804251-7N7Y-AYdeIEKS6mGZPHGhs-0vEl6 

--1 x2458 +1 x563 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x2465 -1 x2593>= -1 ;

- -1 x2593 1 x582 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.intro.universal.source 3.2.200.v20080508 

--1 x2465 -1 x2594>= -1 ;

- -1 x2594 1 x581 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.security.win32.x86.source 1.0.0.v20080529-1600 

--1 x2465 -1 x2595>= -1 ;

- -1 x2595 1 x1743 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.mail 5.5.0 

--1 x2465 -1 x2596>= -1 ;

- -1 x2596 1 x732 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ocl.feature.group 1.1.100.v200805130238-108Y7w311916241349 

--1 x2458 +1 x234 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.legacy 3.5.1.200809042232 

--1 x2465 -1 x2597>= -1 ;

- -1 x2597 1 x596 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 

--1 x2465 -1 x2598>= -1 ;

- -1 x2598 1 x1206 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 

--1 x2458 +1 x2599 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.win32 3.5.0.200806270034 

--1 x2465 -1 x2600>= -1 ;

- -1 x2600 1 x1207 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 

--1 x2465 -1 x2601>= -1 ;

- -1 x2601 1 x1209 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.ide.application.source 1.0.0.I20080603-2000 

--1 x2465 -1 x2602>= -1 ;

- -1 x2602 1 x1752 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.feature.feature.group 2.5.1 

--1 x2465 -1 x2603>= -1 ;

- -1 x2603 1 x2323 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x2458 +1 x1874 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.osgi.util.source 3.1.300.v20080303 

--1 x2465 -1 x2604>= -1 ;

- -1 x2604 1 x1754 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 

--1 x2465 -1 x2605>= -1 ;

- -1 x2605 1 x739 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.feature.jar 3.5.0.200806270034 

--1 x2465 -1 x2606>= -1 ;

- -1 x2606 1 x2072 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.infopop 1.0.100.v200805301550 

--1 x2465 -1 x2607>= -1 ;

- -1 x2607 1 x7 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.team.svn.nl1.feature.group 0.7.1.I20080612-1500 

--1 x2458 +1 x627 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.mint.sdk.feature.group 0.7.0.v200806172223 

--1 x2458 +1 x2608 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x2465 -1 x2609>= -1 ;

- -1 x2609 1 x1219 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.api.tools 1.0.0.v20080529-1150 

--1 x2465 -1 x2610>= -1 ;

- -1 x2610 1 x636 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x2465 -1 x2611>= -1 ;

- -1 x2611 1 x2612 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runtime.legacy 3.5.1.200809042232 

--1 x2465 -1 x2613>= -1 ;

- -1 x2613 1 x1223 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.user.ui.source.feature.jar 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2465 -1 x2614>= -1 ;

- -1 x2614 1 x646 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.sdk.feature.group 2.4.0.v200806091234 

--1 x2458 +1 x2324 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 

--1 x2465 -1 x2615>= -1 ;

- -1 x2615 1 x38 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x2465 -1 x2616>= -1 ;

- -1 x2616 1 x649 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.feature.feature.jar 2.5.1 

--1 x2465 -1 x2617>= -1 ;

- -1 x2617 1 x2079 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 

--1 x2465 -1 x2618>= -1 ;

- -1 x2618 1 x88 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt 3.4.0.v20080603-2000 

--1 x2465 -1 x2619>= -1 ;

- -1 x2619 1 x396 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2620>= -1 ;

- -1 x2620 1 x654 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.scheduler 5.5.0 

--1 x2465 -1 x2621>= -1 ;

- -1 x2621 1 x98 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 

--1 x2465 -1 x2622>= -1 ;

- -1 x2622 1 x1232 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.rcp.source.feature.jar 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x2465 -1 x2623>= -1 ;

- -1 x2623 1 x1600 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 

--1 x2458 +1 x2624 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 

--1 x2465 -1 x2625>= -1 ;

- -1 x2625 1 x1244 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.xsd.sdk.feature.group 2.4.0.v200806091234 

--1 x2458 +1 x1601 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ecoretools.sdk.feature.group 0.8.0.v200806130600 

--1 x2458 +1 x1609 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit.runtime.source 3.3.0.v20080603-2000 

--1 x2465 -1 x2626>= -1 ;

- -1 x2626 1 x1768 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2465 -1 x2627>= -1 ;

- -1 x2627 1 x170 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.pattern 5.5.0 

--1 x2465 -1 x2628>= -1 ;

- -1 x2628 1 x1248 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.metadata.generator.source 1.0.0.v20080604 

--1 x2465 -1 x2629>= -1 ;

- -1 x2629 1 x1771 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 

--1 x2465 -1 x2630>= -1 ;

- -1 x2630 1 x408 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x2465 -1 x2631>= -1 ;

- -1 x2631 1 x37 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.core.feature.feature.jar 5.5.0 

--1 x2465 -1 x2632>= -1 ;

- -1 x2632 1 x2103 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 

--1 x2465 -1 x2633>= -1 ;

- -1 x2633 1 x763 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x2465 -1 x2634>= -1 ;

- -1 x2634 1 x1255 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.p2.generator.feature.feature.group 1.0.0.v200804241828-7T--EKVTknhmj89GtF9W 

--1 x2458 +1 x1620 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.ui 2.5.1 

--1 x2465 -1 x2635>= -1 ;

- -1 x2635 1 x764 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.core.ant 5.5.0 

--1 x2465 -1 x2636>= -1 ;

- -1 x2636 1 x1256 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.views.log.source 1.0.0.v20080522-2200 

--1 x2465 -1 x2637>= -1 ;

- -1 x2637 1 x1774 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.compare.sdk.feature.group 0.8.0.v200806180301 

--1 x2458 +1 x1626 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2465 -1 x2638>= -1 ;

- -1 x2638 1 x73 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 

--1 x2465 -1 x2639>= -1 ;

- -1 x2639 1 x1259 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.filesystem.source 1.2.0.v20080604-1400 

--1 x2465 -1 x2640>= -1 ;

- -1 x2640 1 x1632 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2465 -1 x2641>= -1 ;

- -1 x2641 1 x164 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.validation.infopop 1.0.300.v200806041506 

--1 x2465 -1 x2642>= -1 ;

- -1 x2642 1 x14 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.ui.source 1.0.0.v20080530-1237 

--1 x2465 -1 x2643>= -1 ;

- -1 x2643 1 x1784 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.lucene.analysis.source 1.9.1.v20080530-1600 

--1 x2465 -1 x2644>= -1 ;

- -1 x2644 1 x1636 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 

--1 x2458 +1 x2645 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.views.properties.tabbed.source 3.4.0.I20080527-2000 

--1 x2465 -1 x2646>= -1 ;

- -1 x2646 1 x1789 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2458 +1 x2313 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.jasper.source 5.5.17.v200806031609 

--1 x2465 -1 x2647>= -1 ;

- -1 x2647 1 x1790 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 

--1 x2458 +1 x128 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.core.feature.jar 2.0.0.v20080623-0046 

--1 x2465 -1 x2648>= -1 ;

- -1 x2648 1 x2120 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.codegen 3.5.0.200806270034 

--1 x2465 -1 x2649>= -1 ;

- -1 x2649 1 x779 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.frameworkadmin.equinox.source 1.0.0.v20080529-1225 

--1 x2465 -1 x2650>= -1 ;

- -1 x2650 1 x1796 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.cvs.source.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2465 -1 x2651>= -1 ;

- -1 x2651 1 x443 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jsch.ui.source 1.1.100.I20080415 

--1 x2465 -1 x2652>= -1 ;

- -1 x2652 1 x1797 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 

--1 x2465 -1 x2653>= -1 ;

- -1 x2653 1 x2654 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ssh.source 3.2.100.I20080604 

--1 x2465 -1 x2655>= -1 ;

- -1 x2655 1 x440 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2458 +1 x236 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.runtime.compatibility.auth.source 3.2.100.v20070502 

--1 x2465 -1 x2656>= -1 ;

- -1 x2656 1 x1640 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x2465 -1 x2657>= -1 ;

- -1 x2657 1 x347 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.feature.jar 2.0.0.v20080623-0046 

--1 x2465 -1 x2658>= -1 ;

- -1 x2658 1 x1641 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.reconciler.dropins.source 1.0.0.v20080611 

--1 x2465 -1 x2659>= -1 ;

- -1 x2659 1 x1642 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.variables.source 3.2.100.v20080529-1300 

--1 x2465 -1 x2660>= -1 ;

- -1 x2660 1 x1807 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.help 6.7.1.200809050053 

--1 x2465 -1 x2661>= -1 ;

- -1 x2661 1 x1292 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.python.pydev.feature.feature.group 1.3.20 

--1 x2458 +1 x2662 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.ui.source 3.4.0.v20080530 

--1 x2465 -1 x2663>= -1 ;

- -1 x2663 1 x1643 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x2465 -1 x2664>= -1 ;

- -1 x2664 1 x1294 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.mylyn 3.0.0.v20080619-1900 

--1 x2465 -1 x2665>= -1 ;

- -1 x2665 1 x791 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.workbench.texteditor.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2666>= -1 ;

- -1 x2666 1 x1811 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.helpeditor.core.toc 1.3.4.200806270212 

--1 x2465 -1 x2667>= -1 ;

- -1 x2667 1 x1296 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 

--1 x2458 +1 x2668 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.core.source 3.4.0.I20080605 

--1 x2465 -1 x2669>= -1 ;

- -1 x2669 1 x1813 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 

--1 x2465 -1 x2670>= -1 ;

- -1 x2670 1 x795 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.common.source 3.4.0.v20080421-2006 

--1 x2465 -1 x2671>= -1 ;

- -1 x2671 1 x1814 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.core.source 1.0.0.v20080530-1237 

--1 x2465 -1 x2672>= -1 ;

- -1 x2672 1 x1816 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2673>= -1 ;

- -1 x2673 1 x2142 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ssh 3.2.100.I20080604 

--1 x2465 -1 x2674>= -1 ;

- -1 x2674 1 x799 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.webapp.source 3.3.100.v20080528 

--1 x2465 -1 x2675>= -1 ;

- -1 x2675 1 x1819 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.core 2.5.1 

--1 x2465 -1 x2676>= -1 ;

- -1 x2676 1 x1304 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x2465 -1 x2677>= -1 ;

- -1 x2677 1 x1305 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.runtime.source 3.4.0.v20080530-1200 

--1 x2465 -1 x2678>= -1 ;

- -1 x2678 1 x1822 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 

--1 x2465 -1 x2679>= -1 ;

- -1 x2679 1 x805 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ltk.core.refactoring.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2680>= -1 ;

- -1 x2680 1 x1823 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.ui.source 3.3.100.v20080407-1345 

--1 x2465 -1 x2681>= -1 ;

- -1 x2681 1 x1824 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common.ui.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2682>= -1 ;

- -1 x2682 1 x2147 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.util 5.3.2.200809042027 

--1 x2465 -1 x2683>= -1 ;

- -1 x2683 1 x96 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.navigator.source 3.3.100.I20080606-1300 

--1 x2465 -1 x2684>= -1 ;

- -1 x2684 1 x1827 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2685>= -1 ;

- -1 x2685 1 x1829 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.startup 5.3.2.200809042027 

--1 x2465 -1 x2686>= -1 ;

- -1 x2686 1 x94 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runtime.junit4 3.5.1.200809042232 

--1 x2465 -1 x2687>= -1 ;

- -1 x2687 1 x815 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.ibm.icu.source 3.8.1.v20080530 

--1 x2465 -1 x2688>= -1 ;

- -1 x2688 1 x1830 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 

--1 x2465 -1 x2689>= -1 ;

- -1 x2689 1 x2690 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 

--1 x2465 -1 x2691>= -1 ;

- -1 x2691 1 x816 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.junit4 4.3.1 

--1 x2465 -1 x2692>= -1 ;

- -1 x2692 1 x410 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.debug.core.source 3.4.0.v20080612 

--1 x2465 -1 x2693>= -1 ;

- -1 x2693 1 x1834 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 

--1 x2465 -1 x2694>= -1 ;

- -1 x2694 1 x819 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.gmf.sdk.feature.group 2.1.0.v20080501-1739-7_77-A9Tdn-VSYbUc0oz-hiY5gdz 

--1 x2458 +1 x1867 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.source.feature.jar 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x2465 -1 x2695>= -1 ;

- -1 x2695 1 x2162 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.runtime.compatibility.source 3.2.0.v20071008 

--1 x2465 -1 x2696>= -1 ;

- -1 x2696 1 x1841 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 

--1 x2465 -1 x2697>= -1 ;

- -1 x2697 1 x1324 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.swt.graph 5.5.0 

--1 x2465 -1 x2698>= -1 ;

- -1 x2698 1 x824 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.cheatsheets.source 3.3.100.v20080508 

--1 x2465 -1 x2699>= -1 ;

- -1 x2699 1 x1842 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.pde.feature.feature.group 1.1.0.r09351 

--1 x2458 +1 x2371 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.1.I20080612-1500 

--1 x2458 +1 x2372 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.zest.sdk.feature.group 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE 

--1 x2458 +1 x2700 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.security.ui.source 1.0.0.v20080603-1810 

--1 x2465 -1 x2701>= -1 ;

- -1 x2701 1 x1848 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swing.recorder 3.5.0.200806270034 

--1 x2465 -1 x2702>= -1 ;

- -1 x2702 1 x372 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.core.source 3.3.100.I20080605 

--1 x2465 -1 x2703>= -1 ;

- -1 x2703 1 x439 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.feature.jar 1.0.0.v20080522-1--7w3119171503111 

--1 x2465 -1 x2704>= -1 ;

- -1 x2704 1 x166 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.snippets 1.1.200.v200805140415 

--1 x2465 -1 x2705>= -1 ;

- -1 x2705 1 x9 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.net4j.feature.group 1.0.0.v200806180305 

--1 x2458 +1 x1877 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.swt 5.5.0 

--1 x2465 -1 x2706>= -1 ;

- -1 x2706 1 x1333 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 

--1 x2465 -1 x2707>= -1 ;

- -1 x2707 1 x411 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x2458 +1 x237 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 

--1 x2465 -1 x2708>= -1 ;

- -1 x2708 1 x398 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.simpleconfigurator.manipulator.source 1.0.0.v20080427-2136 

--1 x2465 -1 x2709>= -1 ;

- -1 x2709 1 x1655 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.debug.ui.source 3.3.0.v20080603 

--1 x2465 -1 x2710>= -1 ;

- -1 x2710 1 x1656 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 

--1 x2465 -1 x2711>= -1 ;

- -1 x2711 1 x836 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 

--1 x2458 +1 x2712 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 

--1 x2458 +1 x2713 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 

--1 x2465 -1 x2714>= -1 ;

- -1 x2714 1 x1339 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.platform.ext 3.5.0.200806270034 

--1 x2465 -1 x2715>= -1 ;

- -1 x2715 1 x1338 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.core 5.5.1 

--1 x2465 -1 x2716>= -1 ;

- -1 x2716 1 x89 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2tools.sdk.feature.group 0.8.0.v200806112132 

--1 x2458 +1 x2374 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.gef.feature.jar 3.4.0.v20080115-677-8082A5696H274A 

--1 x2465 -1 x2717>= -1 ;

- -1 x2717 1 x1886 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.update.core.win32.source 3.2.100.v20080107 

--1 x2465 -1 x2718>= -1 ;

- -1 x2718 1 x1658 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 

--1 x2458 +1 x1920 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.model.jsp 5.5.0 

--1 x2465 -1 x2719>= -1 ;

- -1 x2719 1 x1346 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.admin 5.5.0 

--1 x2465 -1 x2720>= -1 ;

- -1 x2720 1 x842 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.birt.doc.feature.group 2.3.0.v200805131-22-7w31191728b 

--1 x2458 +1 x2378 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.text.source 3.4.0.v20080605-1800 

--1 x2465 -1 x2721>= -1 ;

- -1 x2721 1 x1659 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 

--1 x2465 -1 x2722>= -1 ;

- -1 x2722 1 x843 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 

--1 x2465 -1 x2723>= -1 ;

- -1 x2723 1 x844 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.http.registry.source 1.0.100.v20080427-0830 

--1 x2465 -1 x2724>= -1 ;

- -1 x2724 1 x1660 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.jmx.client.feature.feature.group 1.0.0.v20070608-3--8s733G3C5C 

--1 x2458 +1 x2379 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.common.help 5.3.2.200809042027 

--1 x2465 -1 x2725>= -1 ;

- -1 x2725 1 x847 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2465 -1 x2726>= -1 ;

- -1 x2726 1 x70 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2.sdk.feature.group 2.2.0.v200805201126 

--1 x2458 +1 x2381 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.edit.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2727>= -1 ;

- -1 x2727 1 x1985 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.jsp.jasper.source 1.0.100.v20080427-0830 

--1 x2465 -1 x2728>= -1 ;

- -1 x2728 1 x1667 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.editors.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2729>= -1 ;

- -1 x2729 1 x1668 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.wst.common_core.feature.feature.group 3.0.1.v200807220139-7C7_EV6E_EkMNrNZWGV9bi 

--1 x2458 +1 x2 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.gef 3.4.0.v20080526 

--1 x2465 -1 x2730>= -1 ;

- -1 x2730 1 x254 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.common.core 5.3.2.200806270030 

--1 x2465 -1 x2731>= -1 ;

- -1 x2731 1 x83 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.source.feature.group 1.0.0.v20080522-1--7w3119171503111 

--1 x2465 -1 x2732>= -1 ;

- -1 x2732 1 x1890 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x2465 -1 x2733>= -1 ;

- -1 x2733 1 x20 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.appserver.source 3.1.300.v20080507 

--1 x2465 -1 x2734>= -1 ;

- -1 x2734 1 x1673 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.common.core 5.3.2.200809042027 

--1 x2465 -1 x2735>= -1 ;

- -1 x2735 1 x82 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 

--1 x2465 -1 x2736>= -1 ;

- -1 x2736 1 x1374 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.api.tools.ui 1.0.0.v20080603 

--1 x2465 -1 x2737>= -1 ;

- -1 x2737 1 x863 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runner 3.5.0.200806270034 

--1 x2465 -1 x2738>= -1 ;

- -1 x2738 1 x1378 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x2458 +1 x1904 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 

--1 x2458 +1 x2739 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.source 3.3.100.v20080610 

--1 x2465 -1 x2740>= -1 ;

- -1 x2740 1 x1678 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 

--1 x2458 +1 x2741 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.recorder 3.5.0.200806270034 

--1 x2465 -1 x2742>= -1 ;

- -1 x2742 1 x1385 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.databinding.source 1.1.0.I20080527-2000 

--1 x2465 -1 x2743>= -1 ;

- -1 x2743 1 x1680 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.osgi.source 3.4.0.v20080605-1900 

--1 x2465 -1 x2744>= -1 ;

- -1 x2744 1 x1681 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.ant.source 1.7.0.v200803061910 

--1 x2465 -1 x2745>= -1 ;

- -1 x2745 1 x1683 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.ui.templates.source 3.4.0.v20080514-1500 

--1 x2465 -1 x2746>= -1 ;

- -1 x2746 1 x1684 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP 

--1 x2458 +1 x1906 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swing.recorder 3.5.1.200809042232 

--1 x2465 -1 x2747>= -1 ;

- -1 x2747 1 x369 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.helpeditor.help 1.3.4.200809042225 

--1 x2465 -1 x2748>= -1 ;

- -1 x2748 1 x1391 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2465 -1 x2749>= -1 ;

- -1 x2749 1 x19 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.common.ui 5.3.2.200806270030 

--1 x2465 -1 x2750>= -1 ;

- -1 x2750 1 x85 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 

--1 x2465 -1 x2751>= -1 ;

- -1 x2751 1 x1396 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 

--1 x2465 -1 x2752>= -1 ;

- -1 x2752 1 x400 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 

--1 x2465 -1 x2753>= -1 ;

- -1 x2753 1 x1397 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.garbagecollector.source 1.0.0.v20080506-1939 

--1 x2465 -1 x2754>= -1 ;

- -1 x2754 1 x1697 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.engine.source 1.0.0.v20080522-1735 

--1 x2465 -1 x2755>= -1 ;

- -1 x2755 1 x1698 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.console.source 3.3.0.v20080529-1300 

--1 x2465 -1 x2756>= -1 ;

- -1 x2756 1 x1699 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x2465 -1 x2757>= -1 ;

- -1 x2757 1 x404 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.resources.compatibility.source 3.4.0.v20080604-1400 

--1 x2465 -1 x2758>= -1 ;

- -1 x2758 1 x1701 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.touchpoint.natives.source 1.0.0.v20080505-1850 

--1 x2465 -1 x2759>= -1 ;

- -1 x2759 1 x1702 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 

--1 x2465 -1 x2760>= -1 ;

- -1 x2760 1 x886 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 

--1 x2465 -1 x2761>= -1 ;

- -1 x2761 1 x1406 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jsch.core.source 1.1.100.I20080604 

--1 x2465 -1 x2762>= -1 ;

- -1 x2762 1 x1704 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.source.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2465 -1 x2763>= -1 ;

- -1 x2763 1 x2013 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 

--1 x2465 -1 x2764>= -1 ;

- -1 x2764 1 x6 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.docshare 2.0.0.v20080623-0046 

--1 x2465 -1 x2765>= -1 ;

- -1 x2765 1 x890 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.model.jsp 5.5.1 

--1 x2465 -1 x2766>= -1 ;

- -1 x2766 1 x891 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.cdo.sdk.feature.group 1.0.0.v200806180411 

--1 x2458 +1 x1919 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 

--1 x2465 -1 x2767>= -1 ;

- -1 x2767 1 x1413 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.debug.source 3.4.0.v20080604 

--1 x2465 -1 x2768>= -1 ;

- -1 x2768 1 x1706 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 

--1 x2465 -1 x2769>= -1 ;

- -1 x2769 1 x1415 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.cvs.feature.feature.group 1.0.0.r09319 

--1 x2458 +1 x2396 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 

--1 x2458 +1 x2770 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 

--1 x2465 -1 x2771>= -1 ;

- -1 x2771 1 x898 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ui 3.3.100.I20080604 

--1 x2465 -1 x2772>= -1 ;

- -1 x2772 1 x900 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ant.ui.source 3.3.0.v20080529 

--1 x2465 -1 x2773>= -1 ;

- -1 x2773 1 x1709 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.sdk 3.4.0.v200806172000 

--1 x2465 -1 x2774>= -1 ;

- -1 x2774 1 x903 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x2465 -1 x2775>= -1 ;

- -1 x2775 1 x349 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.core.manipulation.source 1.2.0.v20080603-2000 

--1 x2465 -1 x2776>= -1 ;

- -1 x2776 1 x1711 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x2465 -1 x2777>= -1 ;

- -1 x2777 1 x10 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2778>= -1 ;

- -1 x2778 1 x311 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.dtd.core 1.1.200.v200805140200 

--1 x2465 -1 x2779>= -1 ;

- -1 x2779 1 x193 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 

--1 x2465 -1 x2780>= -1 ;

- -1 x2780 1 x1427 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.workbench.compatibility.source 3.2.0.I20080509-2000 

--1 x2465 -1 x2781>= -1 ;

- -1 x2781 1 x1715 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF 

--1 x2458 +1 x2380 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2782>= -1 ;

- -1 x2782 1 x2783 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 

--1 x2465 -1 x2784>= -1 ;

- -1 x2784 1 x915 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 

--1 x2458 +1 x2785 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 

--1 x2465 -1 x2786>= -1 ;

- -1 x2786 1 x1436 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl 

--1 x2458 +1 x2400 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ssh2.source 3.2.200.I20080604 

--1 x2465 -1 x2787>= -1 ;

- -1 x2787 1 x441 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x2465 -1 x2788>= -1 ;

- -1 x2788 1 x921 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.expressions.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2789>= -1 ;

- -1 x2789 1 x1718 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.preferences.source 3.2.200.v20080421-2006 

--1 x2465 -1 x2790>= -1 ;

- -1 x2790 1 x1720 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2791>= -1 ;

- -1 x2791 1 x2792 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.legacy 3.5.0.200806270034 

--1 x2465 -1 x2793>= -1 ;

- -1 x2793 1 x925 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.analysis.expression 5.5.1 

--1 x2465 -1 x2794>= -1 ;

- -1 x2794 1 x1448 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.swt.graph 5.5.1 

--1 x2465 -1 x2795>= -1 ;

- -1 x2795 1 x928 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit4.runtime.source 1.0.200.v20080603-2000 

--1 x2465 -1 x2796>= -1 ;

- -1 x2796 1 x1727 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swing.runtime 3.5.1.200809042232 

--1 x2465 -1 x2797>= -1 ;

- -1 x2797 1 x931 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.core.source 2.0.0.v20080623-0046 

--1 x2465 -1 x2798>= -1 ;

- -1 x2798 1 x1453 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 

--1 x2465 -1 x2799>= -1 ;

- -1 x2799 1 x327 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 

--1 x2458 +1 x2800 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.resources.source 3.4.0.v20080604-1400 

--1 x2465 -1 x2801>= -1 ;

- -1 x2801 1 x1730 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.junit.runtime.source 3.4.0.v20080529-1800 

--1 x2465 -1 x2802>= -1 ;

- -1 x2802 1 x1733 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.core.ui 5.5.0 

--1 x2465 -1 x2803>= -1 ;

- -1 x2803 1 x90 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.win32 3.5.1.200809042232 

--1 x2465 -1 x2804>= -1 ;

- -1 x2804 1 x1461 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 

--1 x2465 -1 x2805>= -1 ;

- -1 x2805 1 x942 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.helpeditor.ui 1.3.4.200806270212 

--1 x2465 -1 x2806>= -1 ;

- -1 x2806 1 x943 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2465 -1 x2807>= -1 ;

- -1 x2807 1 x147 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.platform.la.core.feature.group 4.3.200.v200806121215-42_77w311916342227 

--1 x2458 +1 x1964 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.api.tools.ui.source 1.0.0.v20080603 

--1 x2465 -1 x2808>= -1 ;

- -1 x2808 1 x1742 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 

--1 x2465 -1 x2809>= -1 ;

- -1 x2809 1 x949 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 

--1 x2465 -1 x2810>= -1 ;

- -1 x2810 1 x165 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.eclipse.help 3.5.0.200806270034 

--1 x2465 -1 x2811>= -1 ;

- -1 x2811 1 x1476 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.team.svn.feature.group 0.7.1.I20080612-1500 

--1 x2458 +1 x288 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jface.text.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2812>= -1 ;

- -1 x2812 1 x1745 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.views.source 3.3.0.I20080509-2000 

--1 x2465 -1 x2813>= -1 ;

- -1 x2813 1 x1746 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 

--1 x2465 -1 x2814>= -1 ;

- -1 x2814 1 x953 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 

--1 x2465 -1 x2815>= -1 ;

- -1 x2815 1 x1482 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.swt 5.5.1 

--1 x2465 -1 x2816>= -1 ;

- -1 x2816 1 x1483 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 

--1 x2458 +1 x2817 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.ide.source 3.4.0.I20080606-1300 

--1 x2465 -1 x2818>= -1 ;

- -1 x2818 1 x1748 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.update.ui.source 3.2.100.v20080318 

--1 x2465 -1 x2819>= -1 ;

- -1 x2819 1 x1747 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.jarprocessor.source 1.0.0.v20080514-1900 

--1 x2465 -1 x2820>= -1 ;

- -1 x2820 1 x1749 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 

--1 x2465 -1 x2821>= -1 ;

- -1 x2821 1 x401 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.platform.ext 3.5.1.200809042232 

--1 x2465 -1 x2822>= -1 ;

- -1 x2822 1 x1486 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.gef.codegen 3.5.0.200806270034 

--1 x2465 -1 x2823>= -1 ;

- -1 x2823 1 x959 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2465 -1 x2824>= -1 ;

- -1 x2824 1 x132 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W 

--1 x2458 +1 x2825 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.core.source 3.4.0.v20080604-2000 

--1 x2465 -1 x2826>= -1 ;

- -1 x2826 1 x1750 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.build 3.4.0.v20080604 

--1 x2465 -1 x2827>= -1 ;

- -1 x2827 1 x960 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.source.feature.jar 1.0.0.v20080522-1--7w3119171503111 

--1 x2465 -1 x2828>= -1 ;

- -1 x2828 1 x1891 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 

--1 x2465 -1 x2829>= -1 ;

- -1 x2829 1 x1490 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2.feature.group 2.2.0.v200805201126 

--1 x2458 +1 x2188 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.update.configurator.source 3.2.200.v20080417 

--1 x2465 -1 x2830>= -1 ;

- -1 x2830 1 x1755 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either javax.xml 1.3.4.v200806030440 

--1 x2465 -1 x2831>= -1 ;

- -1 x2831 1 x371 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 

--1 x2465 -1 x2832>= -1 ;

- -1 x2832 1 x276 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.commons.logging.source 1.0.4.v20080605-1930 

--1 x2465 -1 x2833>= -1 ;

- -1 x2833 1 x1756 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 

--1 x2465 -1 x2834>= -1 ;

- -1 x2834 1 x2835 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 

--1 x2465 -1 x2836>= -1 ;

- -1 x2836 1 x1494 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.compiler.tool.source 1.0.100.v_874 

--1 x2465 -1 x2837>= -1 ;

- -1 x2837 1 x1758 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 

--1 x2458 +1 x2192 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.mail.ui 5.5.0 

--1 x2465 -1 x2838>= -1 ;

- -1 x2838 1 x93 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.junit.source 3.8.2.v20080602-1318 

--1 x2465 -1 x2839>= -1 ;

- -1 x2839 1 x1761 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.polarion.eclipse.team.svn.connector.javahl.feature.group 2.0.1.I20080612-1500 

--1 x2458 +1 x2195 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x2465 -1 x2840>= -1 ;

- -1 x2840 1 x97 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.sdk.feature.jar 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe 

--1 x2465 -1 x2841>= -1 ;

- -1 x2841 1 x2087 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2465 -1 x2842>= -1 ;

- -1 x2842 1 x2198 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd.edit.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2843>= -1 ;

- -1 x2843 1 x2088 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde 3.4.0.v20080603 

--1 x2465 -1 x2844>= -1 ;

- -1 x2844 1 x1501 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.doc.user 3.3.0.v20080611-1530 

--1 x2465 -1 x2845>= -1 ;

- -1 x2845 1 x1503 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.source 3.4.0.v20080603 

--1 x2465 -1 x2846>= -1 ;

- -1 x2846 1 x1764 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.contenttype.source 3.3.0.v20080604-1400 

--1 x2465 -1 x2847>= -1 ;

- -1 x2847 1 x1765 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime 3.5.0.200806270034 

--1 x2465 -1 x2848>= -1 ;

- -1 x2848 1 x986 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.emfqtv.all.sdk.feature.group 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT 

--1 x2458 +1 x2849 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.installer 2.5.1 

--1 x2465 -1 x2850>= -1 ;

- -1 x2850 1 x1509 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either ch.ethz.iks.slp 1.0.0.RC4_v200806091030 

--1 x2465 -1 x2851>= -1 ;

- -1 x2851 1 x992 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.polarion.eclipse.team.svn.connector.javahl.win32.feature.group 2.0.1.I20080612-1500 

--1 x2458 +1 x2424 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x2465 -1 x2852>= -1 ;

- -1 x2852 1 x215 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 

--1 x2465 -1 x2853>= -1 ;

- -1 x2853 1 x407 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x2465 -1 x2854>= -1 ;

- -1 x2854 1 x997 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x2465 -1 x2855>= -1 ;

- -1 x2855 1 x998 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2856>= -1 ;

- -1 x2856 1 x1602 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.registry.source 3.4.0.v20080516-0950 

--1 x2465 -1 x2857>= -1 ;

- -1 x2857 1 x1770 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.helpeditor.feature.feature.jar 1.3.4.200809042225 

--1 x2465 -1 x2858>= -1 ;

- -1 x2858 1 x2102 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.commons.lang 2.3.0.v200803061910 

--1 x2465 -1 x2859>= -1 ;

- -1 x2859 1 x1515 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2tools.feature.group 0.8.0.v200806112132 

--1 x2458 +1 x2199 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x2465 -1 x2860>= -1 ;

- -1 x2860 1 x1003 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.runtime.legacy 3.5.0.200806270034 

--1 x2465 -1 x2861>= -1 ;

- -1 x2861 1 x1004 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 

--1 x2465 -1 x2862>= -1 ;

- -1 x2862 1 x1517 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 

--1 x2465 -1 x2863>= -1 ;

- -1 x2863 1 x1518 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 

--1 x2465 -1 x2864>= -1 ;

- -1 x2864 1 x1525 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.app.source 1.1.0.v20080421-2006 

--1 x2465 -1 x2865>= -1 ;

- -1 x2865 1 x1775 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x2465 -1 x2866>= -1 ;

- -1 x2866 1 x1019 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.director.source 1.0.0.v20080604 

--1 x2465 -1 x2867>= -1 ;

- -1 x2867 1 x1776 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.layout.group.designer 6.7.0.200806270151 

--1 x2465 -1 x2868>= -1 ;

- -1 x2868 1 x1021 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.http.servlet.source 1.0.100.v20080427-0830 

--1 x2465 -1 x2869>= -1 ;

- -1 x2869 1 x1780 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.databinding.beans.source 1.1.0.I20080508-2000a 

--1 x2465 -1 x2870>= -1 ;

- -1 x2870 1 x1781 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.frameworkadmin.source 1.0.0.v20080430-1750 

--1 x2465 -1 x2871>= -1 ;

- -1 x2871 1 x1783 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.tptp.platform.commons.logging.feature.group 4.4.0.v200802291616-1-37w3119171602_41 

--1 x2458 +1 x2872 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.navigator.resources.source 3.3.100.I20080606-1300 

--1 x2465 -1 x2873>= -1 ;

- -1 x2873 1 x1785 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.server 1.3.0.v20080623-0046 

--1 x2465 -1 x2874>= -1 ;

- -1 x2874 1 x1530 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.packager.refactoring 2.5.1 

--1 x2465 -1 x2875>= -1 ;

- -1 x2875 1 x1023 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.jdt 5.5.1 

--1 x2465 -1 x2876>= -1 ;

- -1 x2876 1 x1024 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.ui.source 3.3.100.v20080521 

--1 x2465 -1 x2877>= -1 ;

- -1 x2877 1 x1792 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2465 -1 x2878>= -1 ;

- -1 x2878 1 x2245 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.filebuffers.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2879>= -1 ;

- -1 x2879 1 x1794 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.mortbay.jetty.source 5.1.14.v200806031611 

--1 x2465 -1 x2880>= -1 ;

- -1 x2880 1 x1795 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 

--1 x2458 +1 x2881 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x2465 -1 x2882>= -1 ;

- -1 x2882 1 x2242 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x2465 -1 x2883>= -1 ;

- -1 x2883 1 x1534 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.metadata.source 1.0.0.v20080514-1900 

--1 x2465 -1 x2884>= -1 ;

- -1 x2884 1 x1798 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2885>= -1 ;

- -1 x2885 1 x2124 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.eclipse.ui 3.5.0.200806270034 

--1 x2465 -1 x2886>= -1 ;

- -1 x2886 1 x1538 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner 6.7.1.200809050053 

--1 x2465 -1 x2887>= -1 ;

- -1 x2887 1 x250 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW 

--1 x2458 +1 x2888 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.browser.source 3.2.200.v20080507 

--1 x2465 -1 x2889>= -1 ;

- -1 x2889 1 x1801 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ltk.ui.refactoring.source 3.4.0.v20080605-1800 

--1 x2465 -1 x2890>= -1 ;

- -1 x2890 1 x1802 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.swtdesigner.layout.group 6.7.1.200809050053 

--1 x2465 -1 x2891>= -1 ;

- -1 x2891 1 x1032 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.touchpoint.eclipse.source 1.0.0.v20080529-1225 

--1 x2465 -1 x2892>= -1 ;

- -1 x2892 1 x1804 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.jivesoftware.smack 2.2.1 

--1 x2465 -1 x2893>= -1 ;

- -1 x2893 1 x1544 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.runtime.source 3.4.0.v20080512 

--1 x2465 -1 x2894>= -1 ;

- -1 x2894 1 x1805 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2465 -1 x2895>= -1 ;

- -1 x2895 1 x2131 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 

--1 x2465 -1 x2896>= -1 ;

- -1 x2896 1 x1550 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.ocl.all.feature.group 1.2.0.v200805130238-348Y7__AuvCDBhJUIXGSNc_ 

--1 x2458 +1 x105 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.installer.feature.feature.group 2.5.1 

--1 x2465 -1 x2897>= -1 ;

- -1 x2897 1 x2436 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.search.source 3.4.0.v20080603-2000 

--1 x2465 -1 x2898>= -1 ;

- -1 x2898 1 x1810 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x2465 -1 x2899>= -1 ;

- -1 x2899 1 x405 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 

--1 x2465 -1 x2900>= -1 ;

- -1 x2900 1 x1555 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.protocol.bittorrent 0.3.0 

--1 x2465 -1 x2901>= -1 ;

- -1 x2901 1 x1041 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2465 -1 x2902>= -1 ;

- -1 x2902 1 x2219 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.updatesite.source 1.0.0.v20080529-1800 

--1 x2465 -1 x2903>= -1 ;

- -1 x2903 1 x1812 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2904>= -1 ;

- -1 x2904 1 x2401 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 

--1 x2465 -1 x2905>= -1 ;

- -1 x2905 1 x1047 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.simpleconfigurator.source 1.0.0.v20080604 

--1 x2465 -1 x2906>= -1 ;

- -1 x2906 1 x1815 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x2465 -1 x2907>= -1 ;

- -1 x2907 1 x214 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.gef.sdk.feature.group 3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD 

--1 x2458 +1 x2437 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.apache.commons.el.source 1.0.0.v200806031608 

--1 x2465 -1 x2908>= -1 ;

- -1 x2908 1 x1817 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 

--1 x2458 +1 x2909 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 

--1 x2458 +1 x2910 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.analysis.expression 5.5.0 

--1 x2465 -1 x2911>= -1 ;

- -1 x2911 1 x1565 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.emfqtv.all.feature.group 1.2.0.v200805130238-67A-_sO9SMOaKyGiWyCUaiddQEEz 

--1 x2458 +1 x2443 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.uml2.diagram.clazz.search.feature.group 0.7.0.v200806130939 

--1 x2458 +1 x2445 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY 

--1 x2458 +1 x2912 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit.ui.feature.jar 2.4.0.v200806091234 

--1 x2465 -1 x2913>= -1 ;

- -1 x2913 1 x2149 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 

--1 x2465 -1 x2914>= -1 ;

- -1 x2914 1 x1567 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.platform.source 3.3.100.v200806172000 

--1 x2465 -1 x2915>= -1 ;

- -1 x2915 1 x1828 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.debug.ui.source 3.4.0.v20080529-1300 

--1 x2465 -1 x2916>= -1 ;

- -1 x2916 1 x1832 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 

--1 x2465 -1 x2917>= -1 ;

- -1 x2917 1 x2446 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.designer.feature.jar 6.7.1.200809050053 

--1 x2465 -1 x2918>= -1 ;

- -1 x2918 1 x2155 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 

--1 x2465 -1 x2919>= -1 ;

- -1 x2919 1 x1577 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.coverage.feature.feature.jar 5.5.1.200809042337 

--1 x2465 -1 x2920>= -1 ;

- -1 x2920 1 x2156 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.views.log 1.0.0.v20080522-2200 

--1 x2465 -1 x2921>= -1 ;

- -1 x2921 1 x1580 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.console.source 1.0.0.v20080514-1900 

--1 x2465 -1 x2922>= -1 ;

- -1 x2922 1 x1833 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.equinox.p2.director.app.source 1.0.0.v20080604 

--1 x2465 -1 x2923>= -1 ;

- -1 x2923 1 x1836 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.help.base.source 3.3.100.v20080617 

--1 x2465 -1 x2924>= -1 ;

- -1 x2924 1 x1835 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.platform.source.feature.jar 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2465 -1 x2925>= -1 ;

- -1 x2925 1 x2159 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 

--1 x2465 -1 x2926>= -1 ;

- -1 x2926 1 x399 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.debug 5.3.2.200809042027 

--1 x2465 -1 x2927>= -1 ;

- -1 x2927 1 x86 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 

--1 x2465 -1 x2928>= -1 ;

- -1 x2928 1 x1581 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.p2.ui.source 1.0.0.v20080604-2000 

--1 x2465 -1 x2929>= -1 ;

- -1 x2929 1 x1840 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.designer.databinding 6.7.1.200809050053 

--1 x2465 -1 x2930>= -1 ;

- -1 x2930 1 x1070 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe 

--1 x2465 -1 x2931>= -1 ;

- -1 x2931 1 x2932 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.team.cvs.ssh2 3.2.200.I20080604 

--1 x2465 -1 x2933>= -1 ;

- -1 x2933 1 x1585 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.eclipse.emf.teneo.sdk.feature.group 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE 

--1 x2458 +1 x2934 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.windowtester.swt.runtime.gef 3.5.0.200806270034 

--1 x2465 -1 x2935>= -1 ;

- -1 x2935 1 x1071 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 

--1 x2465 -1 x2936>= -1 ;

- -1 x2936 1 x1587 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.net.source 1.1.0.I20080604 

--1 x2465 -1 x2937>= -1 ;

- -1 x2937 1 x1844 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.common.ui 5.3.2.200809042027 

--1 x2465 -1 x2938>= -1 ;

- -1 x2938 1 x84 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 

--1 x2465 -1 x2939>= -1 ;

- -1 x2939 1 x1588 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.ui.forms.source 3.3.100.v20080611 

--1 x2465 -1 x2940>= -1 ;

- -1 x2940 1 x1845 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.swt.win32.win32.x86.source 3.4.0.v3448f 

--1 x2465 -1 x2941>= -1 ;

- -1 x2941 1 x1846 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires either org.polarion.eclipse.team.svn.connector.feature.group 2.0.1.I20080612-1500 

--1 x2458 +1 x2196 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either com.instantiations.eclipse.ast.editor 5.5.0 

--1 x2465 -1 x2942>= -1 ;

- -1 x2942 1 x1592 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either javax.servlet.source 2.4.0.v200806031604 

--1 x2465 -1 x2943>= -1 ;

- -1 x2943 1 x1847 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x2465 -1 x2944>= -1 ;

- -1 x2944 1 x146 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x2465 -1 x2945>= -1 ;

- -1 x2945 1 x637 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.core.runtime.compatibility.registry.source 3.2.200.v20080610 

--1 x2465 -1 x2946>= -1 ;

- -1 x2946 1 x1849 >= 0;

-* 1222009397663 0.0.0.1222009397663 requires optionaly either org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 

--1 x2465 -1 x2947>= -1 ;

- -1 x2947 1 x1076 >= 0;

- -1 x2458 1 x2465 1 x2464 1 x2466 1 x2467 1 x2468 1 x2469 1 x2470 1 x2471 1 x2472 1 x2473 1 x2474 1 x2475 1 x2476 1 x2477 1 x2478 1 x2479 1 x2480 1 x2481 1 x2482 1 x2483 1 x2485 1 x2486 1 x2488 1 x2489 1 x2490 1 x2491 1 x2492 1 x2493 1 x2494 1 x2495 1 x2496 1 x2497 1 x2498 1 x2499 1 x2500 1 x2501 1 x2502 1 x2503 1 x2504 1 x2505 1 x2506 1 x2507 1 x2508 1 x2509 1 x2510 1 x2511 1 x2512 1 x2513 1 x2514 1 x2515 1 x2517 1 x2518 1 x2519 1 x2520 1 x2521 1 x2522 1 x2523 1 x2524 1 x2525 1 x2526 1 x2527 1 x2528 1 x2529 1 x2530 1 x2531 1 x2532 1 x2533 1 x2534 1 x2537 1 x2538 1 x2539 1 x2540 1 x2542 1 x2543 1 x2544 1 x2545 1 x2546 1 x2547 1 x2548 1 x2549 1 x2550 1 x2551 1 x2552 1 x2553 1 x2555 1 x2556 1 x2557 1 x2558 1 x2559 1 x2560 1 x2561 1 x2562 1 x2563 1 x2564 1 x2565 1 x2566 1 x2567 1 x2569 1 x2570 1 x2571 1 x2572 1 x2573 1 x2574 1 x2575 1 x2576 1 x2577 1 x2578 1 x2579 1 x2580 1 x2581 1 x2582 1 x2583 1 x2584 1 x2585 1 x2586 1 x2587 1 x2588 1 x2589 1 x2590 1 x2591 1 x2592 1 x2593 1 x2594 1 x2595 1 x2596 1 x2597 1 x2598 1 x2600 1 x2601 1 x2602 1 x2603 1 x2604 1 x2605 1 x2606 1 x2607 1 x2609 1 x2610 1 x2611 1 x2613 1 x2614 1 x2615 1 x2616 1 x2617 1 x2618 1 x2619 1 x2620 1 x2621 1 x2622 1 x2623 1 x2625 1 x2626 1 x2627 1 x2628 1 x2629 1 x2630 1 x2631 1 x2632 1 x2633 1 x2634 1 x2635 1 x2636 1 x2637 1 x2638 1 x2639 1 x2640 1 x2641 1 x2642 1 x2643 1 x2644 1 x2646 1 x2647 1 x2648 1 x2649 1 x2650 1 x2651 1 x2652 1 x2653 1 x2655 1 x2656 1 x2657 1 x2658 1 x2659 1 x2660 1 x2661 1 x2663 1 x2664 1 x2665 1 x2666 1 x2667 1 x2669 1 x2670 1 x2671 1 x2672 1 x2673 1 x2674 1 x2675 1 x2676 1 x2677 1 x2678 1 x2679 1 x2680 1 x2681 1 x2682 1 x2683 1 x2684 1 x2685 1 x2686 1 x2687 1 x2688 1 x2689 1 x2691 1 x2692 1 x2693 1 x2694 1 x2695 1 x2696 1 x2697 1 x2698 1 x2699 1 x2701 1 x2702 1 x2703 1 x2704 1 x2705 1 x2706 1 x2707 1 x2708 1 x2709 1 x2710 1 x2711 1 x2714 1 x2715 1 x2716 1 x2717 1 x2718 1 x2719 1 x2720 1 x2721 1 x2722 1 x2723 1 x2724 1 x2725 1 x2726 1 x2727 1 x2728 1 x2729 1 x2730 1 x2731 1 x2732 1 x2733 1 x2734 1 x2735 1 x2736 1 x2737 1 x2738 1 x2740 1 x2742 1 x2743 1 x2744 1 x2745 1 x2746 1 x2747 1 x2748 1 x2749 1 x2750 1 x2751 1 x2752 1 x2753 1 x2754 1 x2755 1 x2756 1 x2757 1 x2758 1 x2759 1 x2760 1 x2761 1 x2762 1 x2763 1 x2764 1 x2765 1 x2766 1 x2767 1 x2768 1 x2769 1 x2771 1 x2772 1 x2773 1 x2774 1 x2775 1 x2776 1 x2777 1 x2778 1 x2779 1 x2780 1 x2781 1 x2782 1 x2784 1 x2786 1 x2787 1 x2788 1 x2789 1 x2790 1 x2791 1 x2793 1 x2794 1 x2795 1 x2796 1 x2797 1 x2798 1 x2799 1 x2801 1 x2802 1 x2803 1 x2804 1 x2805 1 x2806 1 x2807 1 x2808 1 x2809 1 x2810 1 x2811 1 x2812 1 x2813 1 x2814 1 x2815 1 x2816 1 x2818 1 x2819 1 x2820 1 x2821 1 x2822 1 x2823 1 x2824 1 x2826 1 x2827 1 x2828 1 x2829 1 x2830 1 x2831 1 x2832 1 x2833 1 x2834 1 x2836 1 x2837 1 x2838 1 x2839 1 x2840 1 x2841 1 x2842 1 x2843 1 x2844 1 x2845 1 x2846 1 x2847 1 x2848 1 x2850 1 x2851 1 x2852 1 x2853 1 x2854 1 x2855 1 x2856 1 x2857 1 x2858 1 x2859 1 x2860 1 x2861 1 x2862 1 x2863 1 x2864 1 x2865 1 x2866 1 x2867 1 x2868 1 x2869 1 x2870 1 x2871 1 x2873 1 x2874 1 x2875 1 x2876 1 x2877 1 x2878 1 x2879 1 x2880 1 x2882 1 x2883 1 x2884 1 x2885 1 x2886 1 x2887 1 x2889 1 x2890 1 x2891 1 x2892 1 x2893 1 x2894 1 x2895 1 x2896 1 x2897 1 x2898 1 x2899 1 x2900 1 x2901 1 x2902 1 x2903 1 x2904 1 x2905 1 x2906 1 x2907 1 x2908 1 x2911 1 x2913 1 x2914 1 x2915 1 x2916 1 x2917 1 x2918 1 x2919 1 x2920 1 x2921 1 x2922 1 x2923 1 x2924 1 x2925 1 x2926 1 x2927 1 x2928 1 x2929 1 x2930 1 x2931 1 x2933 1 x2935 1 x2936 1 x2937 1 x2938 1 x2939 1 x2940 1 x2941 1 x2942 1 x2943 1 x2944 1 x2945 1 x2946 1 x2947 >= 0;

-* org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x528 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x528 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x528 +1 x145 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x118 +1 x21 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x118 +1 x53 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x118 +1 x70 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x118 +1 x73 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x118 +1 x132 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x118 +1 x115 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x118 +1 x170 >= 0;

-* org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x118 +1 x68 >= 0;

-* toolingorg.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x2948 +1 x1203 >= 0;

-* toolingorg.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2948 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* javax.xml.soap 1.2.0.v200806030421 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x599 +1 x23 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x658 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x658 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x658 +1 x57 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x658 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x658 +1 x266 >= 0;

-* org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x658 +1 x264 >= 0;

-* org.eclipse.emf.cdo.edit 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x659 +1 x21 >= 0;

-* org.eclipse.emf.cdo.edit 1.0.0.v200806180411 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x659 +1 x145 >= 0;

-* org.eclipse.emf.cdo.edit 1.0.0.v200806180411 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x659 +1 x132 >= 0;

-* org.eclipse.emf.cdo.edit 1.0.0.v200806180411 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x659 +1 x19 >= 0;

-* org.eclipse.emf.cdo.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x659 +1 x594 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x660 +1 x24 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x660 +1 x688 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x660 +1 x688 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x660 +1 x688 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2949>= -1 ;

- -1 x2949 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2951>= -1 ;

- -1 x2951 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2952>= -1 ;

- -1 x2952 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2953>= -1 ;

- -1 x2953 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2954>= -1 ;

- -1 x2954 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2950 -1 x2955>= -1 ;

- -1 x2955 1 x39 1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x660 +1 x49 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x660 +1 x23 >= 0;

- -1 x660 1 x2950 1 x2949 1 x2951 1 x2952 1 x2953 1 x2954 1 x2955 >= 0;

-* org.eclipse.emf.example.installer 1.0.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x662 +1 x146 >= 0;

-* org.eclipse.emf.example.installer 1.0.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x662 +1 x132 >= 0;

-* com.instantiations.eclipse.mail 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x663 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.mail 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x663 +1 x82 +1 x83 >= 0;

-* com.instantiations.eclipse.mail 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x663 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.mail 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x663 +1 x21 >= 0;

-* org.eclipse.birt.chart.engine 2.3.0.v20080606 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x191 +1 x132 >= 0;

-* org.eclipse.birt.chart.engine 2.3.0.v20080606 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x191 +1 x170 >= 0;

-* org.eclipse.birt.chart.engine 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x191 +1 x299 >= 0;

-* org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x664 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 requires either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x664 +1 x1335 >= 0;

-* org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 requires either com.lowagie.itext 1.5.4.v20080228 

--1 x664 +1 x531 >= 0;

-* org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x664 +1 x865 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples 1.0.0.v200806180411 

--1 x1923 +1 x1208 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 

--1 x1923 +1 x593 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 

--1 x1923 +1 x963 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 

--1 x1923 +1 x1431 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 

--1 x1923 +1 x797 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 

--1 x1923 +1 x822 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 

--1 x1923 +1 x1380 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 

--1 x1923 +1 x587 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 

--1 x1923 +1 x586 >= 0;

-* org.eclipse.emf.cdo.examples.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples.feature.jar 1.0.0.v200806180411 

--1 x1923 +1 x2160 >= 0;

-* org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x666 +1 x65 >= 0;

-* org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x666 +1 x53 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x667 +1 x24 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x667 +1 x23 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x667 +1 x32 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 

--1 x667 +1 x1350 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x667 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x667 +1 x840 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x667 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x667 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x667 +1 x848 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x667 +1 x840 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x667 +1 x840 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x667 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x667 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x667 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x667 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x667 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x667 +1 x23 >= 0;

-* org.eclipse.equinox.p2.director.app 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x667 +1 x23 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x326 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x326 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x326 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x326 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.jface.databinding 1.2.0.I20080515-2000a requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x668 +1 x1297 >= 0;

-* org.eclipse.jface.databinding 1.2.0.I20080515-2000a requires either org.eclipse.swt 3.4.0.v3448f 

--1 x668 +1 x72 >= 0;

-* org.eclipse.jface.databinding 1.2.0.I20080515-2000a requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x668 +1 x561 >= 0;

-* org.eclipse.jface.databinding 1.2.0.I20080515-2000a requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x668 +1 x24 >= 0;

-* org.eclipse.jface.databinding 1.2.0.I20080515-2000a requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x668 +1 x553 +1 x142 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x2956 +1 x848 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x2956 +1 x875 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x2956 +1 x840 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x2956 +1 x1376 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x2956 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x2956 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x2956 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2956 +1 x36 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x2956 +1 x655 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x2956 +1 x709 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 

--1 x2956 +1 x905 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x2956 +1 x927 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 

--1 x2956 +1 x700 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x2956 +1 x688 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x2956 +1 x660 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 

--1 x2956 +1 x1350 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x2956 +1 x796 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 

--1 x2956 +1 x926 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x2956 +1 x1169 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 

--1 x2956 +1 x880 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 

--1 x2956 +1 x989 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x2956 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 

--1 x2956 +1 x1165 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 

--1 x2956 +1 x748 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x2956 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 

--1 x2956 +1 x675 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.sat4j.core 2.0.0.v20080602 

--1 x2956 +1 x747 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.sat4j.pb 2.0.0.v20080602 

--1 x2956 +1 x1327 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x2956 +1 x209 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 

--1 x2956 +1 x208 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 

--1 x2956 +1 x1469 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 

--1 x2956 +1 x1096 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.ecf.ssl 1.0.0.v20080611-1715 

--1 x2956 +1 x1293 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.director.app 1.0.0.v20080604 

--1 x2956 +1 x667 >= 0;

-* org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.user.ui.feature.jar 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2956 +1 x2113 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x578 +1 x575 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x578 +1 x65 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.chart.ui 2.3.0.v20080522 

--1 x578 +1 x833 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.chart.reportitem 2.3.0.v20080610 

--1 x578 +1 x577 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x578 +1 x256 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x578 +1 x300 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x578 +1 x255 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x578 +1 x259 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x578 +1 x258 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x578 +1 x1444 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x578 +1 x253 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires optionaly either org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 

--1 x2958 -1 x2957>= -1 ;

- -1 x2957 1 x298 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 

--1 x578 +1 x974 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 

--1 x578 +1 x1029 >= 0;

-* org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 requires either org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 

--1 x578 +1 x857 >= 0;

- -1 x578 1 x2958 1 x2957 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x669 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x669 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x669 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x669 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x669 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x669 +1 x677 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 

--1 x669 +1 x869 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 

--1 x669 +1 x1194 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x669 +1 x182 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x669 +1 x179 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x669 +1 x183 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x670 +1 x54 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x670 +1 x53 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x670 +1 x21 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x670 +1 x63 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x670 +1 x183 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x670 +1 x57 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x670 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x670 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x670 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x670 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x670 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.gmf.validate 1.1.0.v20080603-1553 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x671 +1 x940 >= 0;

-* org.eclipse.gmf.validate 1.1.0.v20080603-1553 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x671 +1 x19 >= 0;

-* org.eclipse.gmf.validate 1.1.0.v20080603-1553 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x671 +1 x118 >= 0;

-* org.eclipse.gmf.validate 1.1.0.v20080603-1553 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x671 +1 x21 >= 0;

-* org.eclipse.gmf.validate 1.1.0.v20080603-1553 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x671 +1 x710 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x2484 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x2484 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 

--1 x2484 +1 x1330 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 

--1 x2484 +1 x1590 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 

--1 x2484 +1 x1430 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 

--1 x2484 +1 x892 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 

--1 x2484 +1 x686 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 

--1 x2484 +1 x808 >= 0;

-* org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.feature.jar 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x2484 +1 x2150 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2172 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x2172 +1 x1514 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 

--1 x2172 +1 x1352 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 

--1 x2172 +1 x1447 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 

--1 x2172 +1 x970 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 

--1 x2172 +1 x1395 >= 0;

-* org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS requires either org.eclipse.datatools.sqldevtools.parsers.feature.feature.jar 1.6.0.v200804021-502AgI99m9VCYHTTS 

--1 x2172 +1 x2004 >= 0;

-* org.eclipse.emf.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.source 2.4.0.v200806091234 

--1 x2325 +1 x1249 >= 0;

-* org.eclipse.emf.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.source.feature.jar 2.4.0.v200806091234 

--1 x2325 +1 x2052 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x672 +1 x24 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x672 +1 x36 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x672 +1 x37 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x672 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x672 +1 x23 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x672 +1 x49 >= 0;

-* org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x672 +1 x23 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x233 +1 x4 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2401 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2783 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x233 +1 x654 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2387 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2446 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2792 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.editor.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2235 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2417 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ui.feature.group 2.4.0.v200806091234 

--1 x233 +1 x415 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2246 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore.ui.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2418 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.converter.feature.group 2.4.0.v200806091234 

--1 x233 +1 x1633 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 

--1 x233 +1 x2959 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.databinding.edit.feature.group 1.0.0.v200806091234 

--1 x233 +1 x2341 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2344 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore.feature.group 2.4.0.v200806091234 

--1 x233 +1 x641 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2413 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 

--1 x233 +1 x2960 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf 2.4.0.v200806091234 

--1 x233 +1 x1086 >= 0;

-* org.eclipse.emf.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.feature.jar 2.4.0.v200806091234 

--1 x233 +1 x2053 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x675 +1 x655 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x675 +1 x36 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x675 +1 x24 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x675 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x675 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x675 +1 x25 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x675 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x675 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x675 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x675 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x675 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x675 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x675 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x675 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x675 +1 x209 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x675 +1 x23 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x675 +1 x23 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x675 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x675 +1 x23 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x675 +1 x23 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x675 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x675 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x676 +1 x24 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x676 +1 x26 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x676 +1 x32 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x676 +1 x36 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x676 +1 x37 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x676 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x676 +1 x23 >= 0;

-* org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x676 +1 x23 >= 0;

-* toolingorg.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 

--1 x2961 +1 x748 >= 0;

-* toolingorg.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2961 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x677 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x677 +1 x174 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x678 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x678 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x678 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x678 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x678 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x678 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x678 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x678 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x678 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x678 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x678 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x678 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x678 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x678 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x678 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x678 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x678 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x678 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x678 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x678 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x678 +1 x1458 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x678 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x678 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x678 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x678 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x678 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x678 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x678 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x678 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x678 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x678 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x678 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x678 +1 x1495 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 

--1 x1928 +1 x1017 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 

--1 x1928 +1 x1222 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 

--1 x1928 +1 x1082 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 

--1 x1928 +1 x1097 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.feature.jar 1.0.0.v200806180411 

--1 x1928 +1 x2095 >= 0;

-* com.instantiations.eclipse.debug 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x87 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x679 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x679 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x679 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x679 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x679 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x679 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x679 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x679 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x679 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x679 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x679 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x679 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x679 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x679 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x679 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x679 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x679 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x679 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x679 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x679 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x679 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x679 +1 x1458 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x679 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x679 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x679 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x679 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x679 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x679 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x679 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x679 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x679 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x679 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.component 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x679 +1 x1495 >= 0;

-* org.eclipse.swt.layout.grouplayout 1.1.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x680 +1 x54 >= 0;

-* org.eclipse.swt.layout.grouplayout 1.1.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x680 +1 x21 >= 0;

-* org.eclipse.swt.layout.grouplayout 1.1.0 requires either org.eclipse.swt.widgets.baseline 1.1.0 

--1 x680 +1 x512 >= 0;

-* org.eclipse.emf.cdo.examples.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 

--1 x1924 +1 x1418 >= 0;

-* org.eclipse.emf.cdo.examples.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.examples.source.feature.jar 1.0.0.v200806180411 

--1 x1924 +1 x2122 >= 0;

-* org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x682 +1 x730 >= 0;

-* org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x682 +1 x57 >= 0;

-* org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x682 +1 x225 >= 0;

-* org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x682 +1 x21 >= 0;

-* org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x682 +1 x53 >= 0;

-* com.swtdesigner.layout.group 6.7.0.200806270151 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x683 +1 x54 >= 0;

-* com.swtdesigner.layout.group 6.7.0.200806270151 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x683 +1 x21 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 

--1 x686 +1 x1430 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x686 +1 x54 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x686 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x686 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 

--1 x686 +1 x1590 >= 0;

-* org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x686 +1 x114 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x687 +1 x57 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x687 +1 x21 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x687 +1 x54 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x687 +1 x53 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x687 +1 x183 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x687 +1 x63 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x687 +1 x315 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x687 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x687 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x687 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x687 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x687 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x688 +1 x24 >= 0;

-* org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x688 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x688 +1 x23 >= 0;

-* org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x688 +1 x23 >= 0;

-* org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x689 +1 x21 >= 0;

-* org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x689 +1 x53 >= 0;

-* org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x689 +1 x54 >= 0;

-* org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x689 +1 x170 >= 0;

-* org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x689 +1 x605 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2171 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2171 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x2171 +1 x1911 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x2171 +1 x1161 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x2171 +1 x1589 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x2171 +1 x174 >= 0;

-* org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ requires either org.eclipse.datatools.sqldevtools.results.feature.feature.jar 1.6.0.v200804021-30-9oA55S5J_F8CBQ 

--1 x2171 +1 x2145 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x690 +1 x54 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x690 +1 x21 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x690 +1 x63 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x690 +1 x41 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either com.xored.swt.composer 1.3.4.200809042225 com.xored.swt.composer 1.3.4.200806270212 

--1 x690 +1 x427 +1 x1135 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x690 +1 x61 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x690 +1 x53 >= 0;

-* com.xored.composer.ui 1.3.4.200809042225 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x690 +1 x57 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x185 +1 x182 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x185 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x185 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x185 +1 x177 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x185 +1 x183 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x185 +1 x179 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x185 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x185 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x185 +1 x954 >= 0;

-* org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x691 +1 x21 >= 0;

-* org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x691 +1 x54 >= 0;

-* org.eclipse.update.scheduler 3.2.100.v20080404 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x692 +1 x21 >= 0;

-* org.eclipse.update.scheduler 3.2.100.v20080404 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x692 +1 x1185 >= 0;

-* org.eclipse.update.scheduler 3.2.100.v20080404 requires either org.eclipse.update.ui 3.2.100.v20080318 

--1 x692 +1 x1306 >= 0;

-* org.eclipse.update.scheduler 3.2.100.v20080404 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x692 +1 x54 >= 0;

-* org.eclipse.update.scheduler 3.2.100.v20080404 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x692 +1 x638 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x693 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x693 +1 x57 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x693 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x693 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x693 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x693 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x693 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x693 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x693 +1 x1571 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x693 +1 x61 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x695 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x695 +1 x265 >= 0;

-* org.eclipse.uml2.common 1.4.0.v200805131030 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x18 +1 x132 >= 0;

-* org.eclipse.uml2.common 1.4.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x18 +1 x21 >= 0;

-* org.eclipse.emf.cdo.doc 1.0.0.v200806180411 requires either org.eclipse.help 3.3.100.v20080610 

--1 x697 +1 x76 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either org.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x2536 +1 x657 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2536 +1 x4 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 

--1 x2536 +1 x2961 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x2536 +1 x656 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x2536 +1 x2948 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingwin32.win32.x86org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x2536 +1 x2962 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2536 +1 x2956 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingwin32.win32.x86org.eclipse.update.configurator 3.2.200.v20080417 

--1 x2536 +1 x2420 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either org.eclipse.platform.ide.launcher.win32.win32.x86.eclipse.exe 3.4.0.I20080617-2000 

--1 x2536 +1 x2963 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingwin32.win32.x86org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2536 +1 x2430 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.platform.ide.launcher.win32.win32.x86 3.4.0.I20080617-2000 

--1 x2536 +1 x2369 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either org.eclipse.platform.ide.launcher.win32.win32.x86 3.4.0.I20080617-2000 

--1 x2536 +1 x2370 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.platform.ide.ini.win32.win32.x86 3.4.0.I20080617-2000 

--1 x2536 +1 x2964 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either toolingorg.eclipse.platform.ide.config.win32.win32.x86 3.4.0.I20080617-2000 

--1 x2536 +1 x2397 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either tooling.osgi.bundle.default 1.0.0 

--1 x2536 +1 x2965 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires either tooling.source.default 1.0.0 

--1 x2536 +1 x1650 >= 0;

-* org.eclipse.platform.ide 3.4.0.I20080617-2000 requires optionaly either tooling.org.eclipse.update.feature.default 1.0.0 

--1 x2967 -1 x2966>= -1 ;

- -1 x2966 1 x1967 >= 0;

- -1 x2536 1 x2967 1 x2966 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.python.pydev 1.3.20 org.python.pydev 1.3.18 org.python.pydev 1.3.8 org.python.pydev 1.3.16 org.python.pydev 1.3.10 org.python.pydev 1.3.14 org.python.pydev 1.3.12 org.python.pydev 1.3.19 org.python.pydev 1.3.7 org.python.pydev 1.3.17 org.python.pydev 1.3.9 org.python.pydev 1.3.15 org.python.pydev 1.3.11 org.python.pydev 1.3.13 

--1 x2535 +1 x930 +1 x708 +1 x918 +1 x1420 +1 x1158 +1 x1142 +1 x1404 +1 x1072 +1 x1059 +1 x814 +1 x1299 +1 x1558 +1 x1540 +1 x1285 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2535 +1 x57 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2535 +1 x21 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2535 +1 x54 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2535 +1 x53 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x2535 +1 x183 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2535 +1 x59 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x 

--1 x2535 +1 x1386 +1 x791 +1 x1559 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x2535 +1 x318 +1 x319 +1 x320 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x2535 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x2535 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x2535 +1 x793 +1 x870 +1 x687 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.python.pydev.mylyn 0.3.0 

--1 x2535 +1 x1247 >= 0;

-* org.python.pydev.mylyn.feature.feature.group 0.3.0 requires either org.python.pydev.mylyn.feature.feature.jar 0.3.0 

--1 x2535 +1 x1862 >= 0;

-* org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x698 +1 x53 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x699 +1 x21 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x699 +1 x132 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x699 +1 x560 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 

--1 x699 +1 x1039 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x699 +1 x115 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x699 +1 x575 >= 0;

-* org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 requires either org.eclipse.gmf.xpand 1.1.0.v20080528-1052 

--1 x699 +1 x562 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x700 +1 x24 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x700 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x700 +1 x840 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x700 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x700 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x700 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x700 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x700 +1 x840 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x700 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x700 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x700 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x700 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x700 +1 x23 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x65 +1 x21 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.help 3.3.100.v20080610 

--1 x65 +1 x76 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x65 +1 x561 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x65 +1 x72 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x65 +1 x159 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.jface.databinding 1.2.0.I20080515-2000a 

--1 x65 +1 x668 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x65 +1 x1297 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x65 +1 x553 +1 x142 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x65 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x65 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.ui.workbench 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x65 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x701 +1 x54 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x701 +1 x21 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x701 +1 x36 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x701 +1 x583 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x701 +1 x37 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x701 +1 x582 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x701 +1 x655 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 

--1 x701 +1 x1518 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x701 +1 x1255 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x701 +1 x921 >= 0;

-* org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x701 +1 x63 >= 0;

-* org.w3c.sac 1.3.0.v20070710 requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x702 +1 x883 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x703 +1 x53 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x703 +1 x21 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x703 +1 x63 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x703 +1 x54 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x703 +1 x140 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x703 +1 x183 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x703 +1 x59 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x703 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x703 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x703 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x703 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x703 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x703 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x703 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x704 +1 x21 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x704 +1 x36 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x704 +1 x583 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x704 +1 x54 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 

--1 x704 +1 x1415 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x704 +1 x655 >= 0;

-* org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x704 +1 x63 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x706 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x706 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x706 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x706 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x706 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x706 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x706 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x706 +1 x1495 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x706 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x706 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x706 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x706 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x706 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x706 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x706 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x706 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x706 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x706 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x706 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x706 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x706 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x706 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x706 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x706 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x706 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x706 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x706 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x706 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x706 +1 x710 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x707 +1 x21 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x707 +1 x583 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x707 +1 x36 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x707 +1 x54 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x707 +1 x37 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x707 +1 x582 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x707 +1 x63 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 

--1 x707 +1 x672 >= 0;

-* org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x707 +1 x41 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x709 +1 x24 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x709 +1 x26 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x709 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x709 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x709 +1 x23 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x709 +1 x49 >= 0;

-* org.eclipse.ecf.identity 2.0.0.v20080611-1715 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x709 +1 x23 >= 0;

-* org.eclipse.ocl.ecore 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x710 +1 x21 >= 0;

-* org.eclipse.ocl.ecore 1.2.0.v200805130238 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x710 +1 x358 >= 0;

-* org.eclipse.ocl.ecore 1.2.0.v200805130238 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x710 +1 x132 >= 0;

-* org.eclipse.ocl.ecore 1.2.0.v200805130238 requires optionaly either com.ibm.icu 3.8.1.v20080530 

--1 x2969 -1 x2968>= -1 ;

- -1 x2968 1 x142 >= 0;

- -1 x710 1 x2969 1 x2968 >= 0;

-* org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x711 +1 x26 >= 0;

-* org.eclipse.platform.doc.user 3.4.0.v20080612-1340 requires either org.eclipse.help 3.3.100.v20080610 

--1 x713 +1 x76 >= 0;

-* com.windowtester.runtime.junit4 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x714 +1 x370 +1 x373 >= 0;

-* com.windowtester.runtime.junit4 3.5.0.200806270034 requires either org.junit4 4.3.1 

--1 x714 +1 x410 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x519 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x519 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x519 +1 x160 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x519 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x519 +1 x70 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x519 +1 x637 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x519 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x519 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x519 +1 x54 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x197 +1 x57 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x197 +1 x63 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x197 +1 x74 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x197 +1 x61 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x197 +1 x81 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x197 +1 x54 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x197 +1 x41 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x197 +1 x140 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x197 +1 x59 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x197 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x197 +1 x21 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x197 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x197 +1 x114 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either com.ibm.icu 3.8.1.v20080530 

--1 x197 +1 x142 >= 0;

-* org.eclipse.wst.sse.ui 1.1.0.v200806041847 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x197 +1 x159 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.source.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2970 +1 x1326 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.source.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.editor.source.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2970 +1 x2025 >= 0;

-* com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 requires either com.xored.swt.composer 1.3.4.200809042225 com.xored.swt.composer 1.3.4.200806270212 

--1 x716 +1 x427 +1 x1135 >= 0;

-* org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2971 +1 x54 >= 0;

-* org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2971 +1 x21 >= 0;

-* org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2971 +1 x76 >= 0;

-* org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.doc 0.7.0.v200806130939 

--1 x2971 +1 x1575 >= 0;

-* org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.doc.feature.jar 0.7.0.v200806130939 

--1 x2971 +1 x2143 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x717 +1 x54 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x717 +1 x21 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x717 +1 x132 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x717 +1 x53 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x717 +1 x57 >= 0;

-* org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x717 +1 x168 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x534 +1 x21 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x534 +1 x53 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.apache.axis 1.4.0.v200807230600 org.apache.axis 1.4.0.v200806030120 

--1 x534 +1 x600 +1 x601 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x534 +1 x598 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.apache.jasper 5.5.17.v200806031609 

--1 x534 +1 x367 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 

--1 x534 +1 x430 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 

--1 x534 +1 x431 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x534 +1 x299 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x534 +1 x258 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x534 +1 x78 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x534 +1 x54 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x534 +1 x300 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x534 +1 x256 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x534 +1 x1444 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires optionaly either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x2973 -1 x2972>= -1 ;

- -1 x2972 1 x191 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 

--1 x534 +1 x780 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x2973 -1 x2974>= -1 ;

- -1 x2974 1 x347 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires optionaly either org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 

--1 x2973 -1 x2975>= -1 ;

- -1 x2975 1 x974 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x2973 -1 x2976>= -1 ;

- -1 x2976 1 x409 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x534 +1 x45 +1 x46 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x534 +1 x45 +1 x46 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x534 +1 x368 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x534 +1 x368 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.python.pydev.core 1.3.20 org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x534 +1 x468 +1 x1307 +1 x349 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x534 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.equinox.http.jetty 1.1.0.v20080425 

--1 x534 +1 x785 +1 x807 >= 0;

-* org.eclipse.birt.report.viewer 2.3.0.v20080606 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x534 +1 x49 >= 0;

- -1 x534 1 x2973 1 x2972 1 x2974 1 x2975 1 x2976 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x720 +1 x968 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x720 +1 x1524 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x720 +1 x1204 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x720 +1 x754 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x720 +1 x1136 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.parser 1.6.0.v200805290154 

--1 x720 +1 x1217 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x720 +1 x1328 >= 0;

-* org.apache.batik.extension 1.6.0.v200805290154 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x720 +1 x1235 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x721 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x721 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x721 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x721 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x721 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x721 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x721 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x721 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x721 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x721 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x721 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x721 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x721 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x721 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x721 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x721 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x721 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x721 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x721 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x721 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x721 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 

--1 x721 +1 x1458 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x721 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x721 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x721 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x721 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x721 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x721 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x721 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x721 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x721 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x721 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x721 +1 x1495 >= 0;

-* org.eclipse.emf.compare.match 0.8.0.v200806180301 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2978 -1 x2977>= -1 ;

- -1 x2977 1 x21 >= 0;

-* org.eclipse.emf.compare.match 0.8.0.v200806180301 requires either org.eclipse.emf.compare 0.8.0.v200806180301 

--1 x723 +1 x766 >= 0;

-* org.eclipse.emf.compare.match 0.8.0.v200806180301 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x723 +1 x132 >= 0;

-* org.eclipse.emf.compare.match 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x723 +1 x170 >= 0;

-* org.eclipse.emf.compare.match 0.8.0.v200806180301 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x723 +1 x145 >= 0;

- -1 x723 1 x2978 1 x2977 >= 0;

-* org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x724 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x724 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x724 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 requires either org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 

--1 x724 +1 x1225 >= 0;

-* org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x724 +1 x23 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 

--1 x725 +1 x1028 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x725 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x725 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x725 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x725 +1 x57 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x725 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x725 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x725 +1 x561 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x725 +1 x70 >= 0;

-* org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x725 +1 x303 >= 0;

-* org.eclipse.jdt.compiler.tool 1.0.100.v_874 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x402 +1 x70 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x1872 +1 x233 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x1872 +1 x3 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x1872 +1 x1874 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x1872 +1 x237 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.feature.group 1.1.0.v20080223-0300-7c7a-EWvhJvgb_r0Gh_dz08rmLgQ 

--1 x1872 +1 x238 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1872 +1 x560 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.codegen 2.1.0.v20080610-1132 

--1 x1872 +1 x1466 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 

--1 x1872 +1 x1213 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 

--1 x1872 +1 x1069 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 

--1 x1872 +1 x1039 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 

--1 x1872 +1 x856 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.map 2.1.0.v20080521 

--1 x1872 +1 x1560 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 

--1 x1872 +1 x1392 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.bridge 1.1.0.v20080528-1052 

--1 x1872 +1 x1251 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 

--1 x1872 +1 x1488 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 

--1 x1872 +1 x1240 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.tooling 2.1.0.v20080425-1959 

--1 x1872 +1 x821 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 

--1 x1872 +1 x699 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 

--1 x1872 +1 x1325 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 

--1 x1872 +1 x1010 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 

--1 x1872 +1 x1336 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.validate 1.1.0.v20080603-1553 

--1 x1872 +1 x671 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 

--1 x1872 +1 x945 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.xpand 1.1.0.v20080528-1052 

--1 x1872 +1 x562 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 

--1 x1872 +1 x1269 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x1872 +1 x1514 >= 0;

-* org.eclipse.gmf.tooling.feature.group 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN requires either org.eclipse.gmf.tooling.feature.jar 2.1.0.v20080512-1200-7W7AE8NEHhHehDgG4tL3YcN 

--1 x1872 +1 x207 >= 0;

-* org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira.ui.source 3.0.2.v20080918-1100-e3x 

--1 x2461 +1 x1806 >= 0;

-* org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira.core.source 3.0.2.v20080918-1100-e3x 

--1 x2461 +1 x1763 >= 0;

-* org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.trac.ui.source 3.0.2.v20080918-1100-e3x 

--1 x2461 +1 x1779 >= 0;

-* org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.trac.core.source 3.0.2.v20080918-1100-e3x 

--1 x2461 +1 x1663 >= 0;

-* org.eclipse.mylyn.extras_sdk_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.extras_sdk_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x2461 +1 x2099 >= 0;

-* org.eclipse.datatools.enablement.jdt.feature.feature.group 1.6.0.v200804021-1-07w311916263466 requires either org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2285 +1 x395 >= 0;

-* org.eclipse.datatools.enablement.jdt.feature.feature.group 1.6.0.v200804021-1-07w311916263466 requires either org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 

--1 x2285 +1 x1511 >= 0;

-* org.eclipse.datatools.enablement.jdt.feature.feature.group 1.6.0.v200804021-1-07w311916263466 requires either org.eclipse.datatools.enablement.jdt.feature.feature.jar 1.6.0.v200804021-1-07w311916263466 

--1 x2285 +1 x312 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x729 +1 x54 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x729 +1 x21 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x729 +1 x775 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x729 +1 x730 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x729 +1 x969 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x729 +1 x776 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x729 +1 x825 >= 0;

-* org.eclipse.uml2.search.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x729 +1 x1033 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x730 +1 x21 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x730 +1 x53 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x730 +1 x775 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x730 +1 x170 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x730 +1 x147 >= 0;

-* org.eclipse.uml2.uml.editor 2.2.0.v200805131030 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x730 +1 x57 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x168 +1 x21 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x168 +1 x132 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x168 +1 x53 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x168 +1 x170 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 

--1 x168 +1 x595 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 

--1 x168 +1 x1261 >= 0;

-* org.eclipse.m2m.atl.engine 2.0.0.v200806101117 requires either org.antlr.runtime 3.0.0.v200803061811 

--1 x168 +1 x1552 >= 0;

-* org.eclipse.net4j.http.common 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2980 -1 x2979>= -1 ;

- -1 x2979 1 x21 >= 0;

-* org.eclipse.net4j.http.common 1.0.0.v200806180305 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x731 +1 x353 >= 0;

- -1 x731 1 x2980 1 x2979 >= 0;

-* com.instantiations.eclipse.mail 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x732 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.mail 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x732 +1 x82 +1 x83 >= 0;

-* com.instantiations.eclipse.mail 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x732 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.mail 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x732 +1 x21 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x735 +1 x54 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x735 +1 x21 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x735 +1 x969 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x735 +1 x1411 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel 0.7.0.v200806130939 

--1 x735 +1 x877 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x735 +1 x776 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x735 +1 x118 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x735 +1 x516 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x735 +1 x1033 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ui 2.4.0.v200806091234 

--1 x735 +1 x416 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.jdt 3.4.0.v20080603-2000 

--1 x735 +1 x396 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x735 +1 x70 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x735 +1 x71 >= 0;

-* org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x735 +1 x53 >= 0;

-* org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x129 +1 x21 >= 0;

-* org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x129 +1 x132 >= 0;

-* org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 requires either com.ibm.icu 3.8.1.v20080530 

--1 x129 +1 x142 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x736 +1 x21 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x736 +1 x53 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x736 +1 x310 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x736 +1 x605 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 

--1 x2982 -1 x2981>= -1 ;

- -1 x2981 1 x1265 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2982 -1 x2983>= -1 ;

- -1 x2983 1 x516 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x2982 -1 x2984>= -1 ;

- -1 x2984 1 x113 >= 0;

-* org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x2982 -1 x2985>= -1 ;

- -1 x2985 1 x112 >= 0;

- -1 x736 1 x2982 1 x2981 1 x2983 1 x2984 1 x2985 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1874 +1 x21 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1874 +1 x358 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1874 +1 x132 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1874 +1 x358 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x1874 +1 x1514 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1874 +1 x710 >= 0;

-* org.eclipse.ocl.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl.feature.jar 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x1874 +1 x450 >= 0;

-* com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x739 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x739 +1 x72 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x738 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x738 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x738 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x738 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 

--1 x738 +1 x1337 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x738 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x738 +1 x444 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 

--1 x738 +1 x999 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 

--1 x738 +1 x1178 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 

--1 x738 +1 x1143 >= 0;

-* org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x204 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x204 +1 x170 >= 0;

-* org.apache.derby 10.1.2.1_v200803061811 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x2987 -1 x2986>= -1 ;

- -1 x2986 1 x45 1 x46 >= 0;

-* org.apache.derby 10.1.2.1_v200803061811 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x2987 -1 x2988>= -1 ;

- -1 x2988 1 x45 1 x46 >= 0;

- -1 x741 1 x2987 1 x2986 1 x2988 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2293 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2293 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2293 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 

--1 x2293 +1 x1048 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 

--1 x2293 +1 x750 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 

--1 x2293 +1 x1038 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x2293 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.postgresql.feature.feature.group 1.6.0.v200804021-441_kE77c7R_RCIOP requires either org.eclipse.datatools.enablement.postgresql.feature.feature.jar 1.6.0.v200804021-441_kE77c7R_RCIOP 

--1 x2293 +1 x2008 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x742 +1 x176 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x88 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x88 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x88 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x88 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires optionaly either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x2990 -1 x2989>= -1 ;

- -1 x2989 1 x52 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x88 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x88 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x88 +1 x405 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x88 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2990 -1 x2991>= -1 ;

- -1 x2991 1 x23 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x88 +1 x638 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x88 +1 x21 >= 0;

- -1 x88 1 x2990 1 x2989 1 x2991 >= 0;

-* org.eclipse.gmf.runtime.notation.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2312 +1 x233 >= 0;

-* org.eclipse.gmf.runtime.notation.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x2312 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.notation.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 

--1 x2312 +1 x1210 >= 0;

-* org.eclipse.gmf.runtime.notation.feature.group 1.1.0.v20080223-0300-21-8s733I3C3G1597E requires either org.eclipse.gmf.runtime.notation.feature.jar 1.1.0.v20080223-0300-21-8s733I3C3G1597E 

--1 x2312 +1 x246 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x541 +1 x542 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x541 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x541 +1 x132 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x541 +1 x19 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x541 +1 x969 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x541 +1 x54 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x541 +1 x225 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x541 +1 x41 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.help 3.3.100.v20080610 

--1 x541 +1 x76 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x541 +1 x776 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x541 +1 x1411 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x541 +1 x1033 >= 0;

-* org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.jar 0.7.0.v200806130939 

--1 x541 +1 x2098 >= 0;

-* com.lowagie.itext.feature.group 1.5.4.v20080225-1437w31191339 requires either com.lowagie.itext 1.5.4.v20080228 

--1 x1896 +1 x531 >= 0;

-* com.lowagie.itext.feature.group 1.5.4.v20080225-1437w31191339 requires either com.lowagie.itext.feature.jar 1.5.4.v20080225-1437w31191339 

--1 x1896 +1 x2049 >= 0;

-* org.eclipse.emf.transaction.ui 1.2.0.v200805130238 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x744 +1 x147 >= 0;

-* org.eclipse.emf.transaction.ui 1.2.0.v200805130238 requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x744 +1 x1191 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x745 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x745 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x745 +1 x254 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x745 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x745 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x745 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x745 +1 x1372 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.apache.xerces 2.9.0.v200805270400 

--1 x198 +1 x347 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x198 +1 x21 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x198 +1 x53 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x198 +1 x202 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x198 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x2993 -1 x2992>= -1 ;

- -1 x2992 1 x215 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x2993 -1 x2994>= -1 ;

- -1 x2994 1 x218 1 x219 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2993 -1 x2995>= -1 ;

- -1 x2995 1 x19 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x2993 -1 x2996>= -1 ;

- -1 x2996 1 x216 1 x217 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2993 -1 x2997>= -1 ;

- -1 x2997 1 x170 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires optionaly either org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 

--1 x2993 -1 x2998>= -1 ;

- -1 x2998 1 x213 1 x1526 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x198 +1 x1019 >= 0;

-* org.eclipse.wst.xml.core 1.1.301.v200808072008 requires either com.ibm.icu 3.8.1.v20080530 

--1 x198 +1 x142 >= 0;

- -1 x198 1 x2993 1 x2992 1 x2994 1 x2995 1 x2996 1 x2997 1 x2998 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x746 +1 x54 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x746 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x746 +1 x449 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x746 +1 x266 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x746 +1 x1300 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 

--1 x746 +1 x678 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 

--1 x746 +1 x975 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x746 +1 x776 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.uml2.search.ui 0.7.0.v200806130939 

--1 x746 +1 x729 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x746 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x746 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x746 +1 x57 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x220 +1 x21 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x220 +1 x53 >= 0;

-* org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x220 +1 x159 >= 0;

-* org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x750 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x750 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x750 +1 x677 >= 0;

-* org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x750 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x752 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x752 +1 x1491 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x752 +1 x1435 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x752 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x752 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 

--1 x752 +1 x742 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x752 +1 x954 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x752 +1 x1200 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x752 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 requires either com.ibm.icu 3.8.1.v20080530 

--1 x752 +1 x142 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x751 +1 x21 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x751 +1 x159 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x751 +1 x639 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x751 +1 x160 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x751 +1 x53 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x751 +1 x178 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x751 +1 x63 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x751 +1 x54 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x751 +1 x183 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x751 +1 x315 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x751 +1 x971 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x751 +1 x984 >= 0;

-* org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x751 +1 x553 +1 x142 >= 0;

-* org.eclipse.wst.common.emf 1.1.201.v200808071700 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x217 +1 x170 >= 0;

-* org.eclipse.wst.common.emf 1.1.201.v200808071700 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x217 +1 x214 >= 0;

-* org.eclipse.wst.common.emf 1.1.201.v200808071700 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x217 +1 x21 >= 0;

-* org.eclipse.wst.common.emf 1.1.201.v200808071700 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x217 +1 x53 >= 0;

-* org.eclipse.wst.common.emf 1.1.201.v200808071700 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x217 +1 x215 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x754 +1 x1524 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x754 +1 x1204 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.apache.batik.parser 1.6.0.v200805290154 

--1 x754 +1 x1217 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x754 +1 x1328 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x754 +1 x883 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.w3c.dom.smil 1.0.0.v200806040011 

--1 x754 +1 x771 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x754 +1 x1235 >= 0;

-* org.apache.batik.dom.svg 1.6.0.v200805290154 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x754 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x763 +1 x54 >= 0;

-* org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x763 +1 x21 >= 0;

-* org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x763 +1 x308 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x764 +1 x54 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x764 +1 x21 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x764 +1 x53 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x764 +1 x70 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x764 +1 x140 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x764 +1 x308 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x764 +1 x637 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x764 +1 x57 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x764 +1 x73 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either com.instantiations.tools 5.3.2.200806270030 com.instantiations.tools 5.3.2.200809042027 

--1 x764 +1 x889 +1 x1177 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x764 +1 x86 +1 x87 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either com.instantiations.packager.core 2.5.1 

--1 x764 +1 x1304 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x764 +1 x80 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x764 +1 x82 +1 x83 >= 0;

-* com.instantiations.packager.ui 2.5.1 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x764 +1 x84 +1 x85 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x184 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x184 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x184 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x184 +1 x1491 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 

--1 x184 +1 x180 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x184 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either com.ibm.icu 3.8.1.v20080530 

--1 x184 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x184 +1 x954 >= 0;

-* org.eclipse.emf.compare 0.8.0.v200806180301 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3002 -1 x3001>= -1 ;

- -1 x3001 1 x53 >= 0;

-* org.eclipse.emf.compare 0.8.0.v200806180301 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3002 -1 x3003>= -1 ;

- -1 x3003 1 x21 >= 0;

-* org.eclipse.emf.compare 0.8.0.v200806180301 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x766 +1 x132 >= 0;

-* org.eclipse.emf.compare 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x766 +1 x170 >= 0;

-* org.eclipse.emf.compare 0.8.0.v200806180301 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x766 +1 x145 >= 0;

- -1 x766 1 x3002 1 x3001 1 x3003 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x767 +1 x54 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x767 +1 x315 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x767 +1 x21 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x767 +1 x159 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x767 +1 x316 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x767 +1 x53 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x767 +1 x63 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x767 +1 x81 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x767 +1 x317 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x767 +1 x61 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x767 +1 x140 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x767 +1 x57 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x767 +1 x59 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x767 +1 x41 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x767 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x767 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x767 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x767 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x767 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x767 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x767 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x767 +1 x331 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x73 +1 x53 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x73 +1 x70 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x73 +1 x75 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x73 +1 x405 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x73 +1 x414 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x73 +1 x21 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x73 +1 x159 >= 0;

-* org.eclipse.jdt.launching 3.4.0.v20080529-1300 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x73 +1 x553 +1 x142 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x769 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x769 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x769 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x769 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x769 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x769 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x769 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x769 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x769 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x 

--1 x769 +1 x1109 +1 x1043 +1 x1308 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x769 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x769 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x769 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x769 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.uml2.uml.edit 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x775 +1 x21 >= 0;

-* org.eclipse.uml2.uml.edit 2.2.0.v200805131030 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x775 +1 x603 >= 0;

-* org.eclipse.uml2.uml.edit 2.2.0.v200805131030 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x775 +1 x145 >= 0;

-* org.eclipse.uml2.uml.edit 2.2.0.v200805131030 requires either org.eclipse.uml2.common.edit 1.4.0.v200805131030 

--1 x775 +1 x17 >= 0;

-* org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.sources.feature.group 0.7.1.I20080612-1500 

--1 x2645 +1 x1617 >= 0;

-* org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.nl1.sources.feature.group 0.7.1.I20080612-1500 

--1 x2645 +1 x624 >= 0;

-* org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.resource.ignore.rules.jdt.source.feature.group 0.7.1.I20080612-1500 

--1 x2645 +1 x2308 >= 0;

-* org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.mylyn.source.feature.group 0.7.1.I20080612-1500 

--1 x2645 +1 x2177 >= 0;

-* org.eclipse.team.svn.source.feature.group 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.source.feature.jar 0.7.1.I20080612-1500 

--1 x2645 +1 x2140 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2313 +1 x21 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2313 +1 x53 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x2313 +1 x1012 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2313 +1 x147 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x2313 +1 x1191 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.workspace 1.2.0.v200805130238 

--1 x2313 +1 x1273 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.workspace.ui 1.2.0.v200805130238 

--1 x2313 +1 x1035 >= 0;

-* org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.workspace.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x2313 +1 x2161 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x128 +1 x54 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x128 +1 x21 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 

--1 x128 +1 x143 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x128 +1 x130 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x128 +1 x137 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 

--1 x128 +1 x144 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 

--1 x128 +1 x152 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x128 +1 x138 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x128 +1 x136 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 

--1 x128 +1 x1283 >= 0;

-* org.eclipse.tptp.lta.log.epi.feature.group 4.5.0.v200805132041-44-7w311916243152 requires either org.eclipse.tptp.lta.log.epi.feature.jar 4.5.0.v200805132041-44-7w311916243152 

--1 x128 +1 x1934 >= 0;

-* org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x344 +1 x340 >= 0;

-* org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 requires either com.ibm.icu 3.8.1.v20080530 

--1 x344 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 requires either org.apache.xerces 2.9.0.v200805270400 

--1 x344 +1 x347 >= 0;

-* org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 requires optionaly either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x3005 -1 x3004>= -1 ;

- -1 x3004 1 x343 >= 0;

- -1 x344 1 x3005 1 x3004 >= 0;

-* org.eclipse.emf.workspace.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3006 +1 x934 >= 0;

-* org.eclipse.emf.workspace.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I requires either org.eclipse.emf.workspace.source.feature.jar 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3006 +1 x1983 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x779 +1 x54 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x779 +1 x70 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x779 +1 x68 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x779 +1 x71 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x779 +1 x21 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x779 +1 x53 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x779 +1 x57 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x779 +1 x75 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x779 +1 x637 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x779 +1 x59 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x779 +1 x63 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x779 +1 x41 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x779 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x779 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.windowtester.swt.recorder 3.5.1.200809042232 com.windowtester.swt.recorder 3.5.0.200806270034 

--1 x779 +1 x946 +1 x1385 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x779 +1 x931 +1 x1305 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x779 +1 x84 +1 x85 >= 0;

-* com.windowtester.swt.codegen 3.5.0.200806270034 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x779 +1 x82 +1 x83 >= 0;

-* org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x780 +1 x258 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x784 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x784 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x784 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x784 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x784 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x784 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x784 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x784 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x784 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x 

--1 x784 +1 x1109 +1 x1043 +1 x1308 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x784 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x784 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x784 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x784 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x786 +1 x315 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x786 +1 x53 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x786 +1 x21 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x786 +1 x971 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x786 +1 x984 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x786 +1 x140 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x786 +1 x54 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x786 +1 x183 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x786 +1 x1495 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x786 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x786 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x786 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x786 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x786 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x786 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x786 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x786 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.birt.chart.device.svg 2.3.0.v20080526 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x788 +1 x349 >= 0;

-* org.eclipse.birt.chart.device.svg 2.3.0.v20080526 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x788 +1 x191 >= 0;

-* org.eclipse.birt.chart.device.svg 2.3.0.v20080526 requires either org.eclipse.birt.chart.device.extension 2.3.0.v20080424 

--1 x788 +1 x348 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2662 +1 x54 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2662 +1 x21 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2662 +1 x63 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2662 +1 x53 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2662 +1 x41 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x2662 +1 x639 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2662 +1 x57 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2662 +1 x61 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x2662 +1 x133 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2662 +1 x59 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2662 +1 x75 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x2662 +1 x414 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2662 +1 x81 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2662 +1 x74 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x2662 +1 x178 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x2662 +1 x751 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.core 1.3.20 

--1 x2662 +1 x468 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.parser 1.3.20 

--1 x2662 +1 x1548 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.ast 1.3.20 

--1 x2662 +1 x832 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.jython 1.3.20 

--1 x2662 +1 x451 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.help 1.3.20 

--1 x2662 +1 x1403 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev 1.3.20 

--1 x2662 +1 x930 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.debug 1.3.20 

--1 x2662 +1 x1246 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.templates 1.3.20 

--1 x2662 +1 x1570 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.refactoring 1.3.20 

--1 x2662 +1 x1342 >= 0;

-* org.python.pydev.feature.feature.group 1.3.20 requires either org.python.pydev.feature.feature.jar 1.3.20 

--1 x2662 +1 x2152 >= 0;

-* org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x790 +1 x21 >= 0;

-* org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x790 +1 x54 >= 0;

-* org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x790 +1 x553 +1 x142 >= 0;

-* org.eclipse.emf.ecore.sdo.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 

--1 x3007 +1 x1172 >= 0;

-* org.eclipse.emf.ecore.sdo.doc.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.doc.feature.jar 2.4.0.v200806091234 

--1 x3007 +1 x2166 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x793 +1 x57 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x793 +1 x21 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x793 +1 x54 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x793 +1 x53 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x793 +1 x183 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x793 +1 x63 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x793 +1 x315 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x793 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x793 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x793 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x793 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x793 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x794 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x794 +1 x181 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x795 +1 x57 >= 0;

-* org.eclipse.emf.cdo.server.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.common 1.0.0.v200806180411 

--1 x1921 +1 x1426 >= 0;

-* org.eclipse.emf.cdo.server.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server 1.0.0.v200806180411 

--1 x1921 +1 x1484 >= 0;

-* org.eclipse.emf.cdo.server.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 

--1 x1921 +1 x765 >= 0;

-* org.eclipse.emf.cdo.server.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.feature.jar 1.0.0.v200806180411 

--1 x1921 +1 x356 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x525 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x525 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x525 +1 x74 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x525 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x525 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x525 +1 x518 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x804 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x804 +1 x181 >= 0;

-* org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x808 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x808 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x808 +1 x132 >= 0;

-* org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x808 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x315 +1 x54 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x315 +1 x53 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x315 +1 x63 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x315 +1 x57 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x315 +1 x59 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x315 +1 x41 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x315 +1 x21 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x315 +1 x159 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x315 +1 x61 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x315 +1 x140 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x315 +1 x553 +1 x142 >= 0;

-* org.eclipse.compare 3.4.0.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x315 +1 x553 +1 x142 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x810 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x810 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x810 +1 x254 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x810 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x810 +1 x444 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 

--1 x810 +1 x447 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x810 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x810 +1 x1117 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x810 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x810 +1 x449 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x810 +1 x266 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 requires either org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 

--1 x810 +1 x745 >= 0;

-* com.windowtester.runtime.junit4 3.5.1.200809042232 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x815 +1 x370 +1 x373 >= 0;

-* com.windowtester.runtime.junit4 3.5.1.200809042232 requires either org.junit4 4.3.1 

--1 x815 +1 x410 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2690 +1 x21 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2690 +1 x54 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2690 +1 x140 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x2690 +1 x1003 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 

--1 x2690 +1 x1482 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 

--1 x2690 +1 x819 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 

--1 x2690 +1 x844 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x2690 +1 x349 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2690 +1 x331 >= 0;

-* org.eclipse.epp.usagedata.feature.feature.group 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.feature.feature.jar 1.0.0.R200806162215 

--1 x2690 +1 x365 >= 0;

-* org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x816 +1 x21 >= 0;

-* org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 

--1 x816 +1 x1374 >= 0;

-* org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x816 +1 x36 >= 0;

-* org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x816 +1 x997 >= 0;

-* org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x816 +1 x1219 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x817 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x817 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x817 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x817 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x817 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x817 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x817 +1 x1410 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x817 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x817 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 

--1 x817 +1 x973 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x817 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.common 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x817 +1 x57 >= 0;

-* org.eclipse.text 3.4.0.v20080605-1800 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x68 +1 x1012 >= 0;

-* org.eclipse.text 3.4.0.v20080605-1800 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x68 +1 x24 >= 0;

-* org.eclipse.text 3.4.0.v20080605-1800 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x68 +1 x553 +1 x142 >= 0;

-* org.eclipse.text 3.4.0.v20080605-1800 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x68 +1 x553 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x179 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x179 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x179 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x179 +1 x183 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either com.ibm.icu 3.8.1.v20080530 

--1 x179 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x179 +1 x132 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x179 +1 x170 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x179 +1 x1435 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x179 +1 x1491 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x179 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x179 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x179 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x179 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 requires optionaly either org.eclipse.help.base 3.3.100.v20080617 

--1 x3009 -1 x3008>= -1 ;

- -1 x3008 1 x78 >= 0;

- -1 x179 1 x3009 1 x3008 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x820 +1 x384 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x820 +1 x386 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x820 +1 x385 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x820 +1 x21 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x820 +1 x1307 +1 x349 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x820 +1 x1003 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x820 +1 x331 >= 0;

-* org.eclipse.buckminster.remote 1.0.0.r09326 requires either org.slf4j.extendable 1.4.3 

--1 x820 +1 x1037 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x825 +1 x21 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x825 +1 x132 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x825 +1 x603 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x825 +1 x1411 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x825 +1 x969 >= 0;

-* org.eclipse.uml2.search 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x825 +1 x1094 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x828 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x828 +1 x1435 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x828 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x828 +1 x174 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x638 +1 x24 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x638 +1 x23 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x638 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x638 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x638 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.update.configurator 3.2.200.v20080417 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x638 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.zest.sdk.feature.group 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE requires either org.eclipse.draw2d.sdk.feature.group 3.4.0.v20080115-677-8082A5655G3B9B8x422_274A 

--1 x2700 +1 x556 >= 0;

-* org.eclipse.zest.sdk.feature.group 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE requires either org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2700 +1 x2568 >= 0;

-* org.eclipse.zest.sdk.feature.group 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE requires either org.eclipse.zest.source.feature.group 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2700 +1 x2355 >= 0;

-* org.eclipse.zest.sdk.feature.group 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE requires either org.eclipse.zest.sdk.feature.jar 1.0.0.v20080115-53-8_GACFGHKZGOLXW_WSRQ6FDTE 

--1 x2700 +1 x2097 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1603 +1 x21 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1603 +1 x53 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1603 +1 x63 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1603 +1 x57 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1603 +1 x41 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1603 +1 x61 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1603 +1 x147 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1603 +1 x170 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1603 +1 x1534 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.editor 2.4.0.v200806091234 

--1 x1603 +1 x1407 >= 0;

-* org.eclipse.xsd.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.editor.feature.jar 2.4.0.v200806091234 

--1 x1603 +1 x1987 >= 0;

-* org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 requires either org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 

--1 x831 +1 x1478 >= 0;

-* org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x831 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x831 +1 x1085 >= 0;

-* org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x263 +1 x21 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x836 +1 x21 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x836 +1 x36 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x836 +1 x583 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x836 +1 x54 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x836 +1 x582 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x836 +1 x37 >= 0;

-* org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x836 +1 x63 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x838 +1 x57 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x838 +1 x21 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x838 +1 x53 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x838 +1 x638 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x838 +1 x54 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x838 +1 x1495 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x838 +1 x316 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x838 +1 x1185 >= 0;

-* org.eclipse.ui.ide.application 1.0.0.I20080603-2000 requires either com.ibm.icu 3.8.1.v20080530 

--1 x838 +1 x142 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x518 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x518 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x518 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x518 +1 x20 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 

--1 x518 +1 x774 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x518 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x518 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 

--1 x518 +1 x357 >= 0;

-* org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x518 +1 x710 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x89 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x89 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x89 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x89 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires optionaly either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x3011 -1 x3010>= -1 ;

- -1 x3010 1 x52 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x89 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x89 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x89 +1 x405 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x89 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3011 -1 x3012>= -1 ;

- -1 x3012 1 x23 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x89 +1 x638 >= 0;

-* com.instantiations.assist.eclipse.core 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x89 +1 x21 >= 0;

- -1 x89 1 x3011 1 x3010 1 x3012 >= 0;

-* org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x1920 +1 x594 >= 0;

-* org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.edit 1.0.0.v200806180411 

--1 x1920 +1 x659 >= 0;

-* org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.common 1.0.0.v200806180411 

--1 x1920 +1 x1426 >= 0;

-* org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.ui 1.0.0.v200806180411 

--1 x1920 +1 x1137 >= 0;

-* org.eclipse.emf.cdo.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.feature.jar 1.0.0.v200806180411 

--1 x1920 +1 x389 >= 0;

-* org.eclipse.update.core.win32 3.2.100.v20080107 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x841 +1 x1185 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x621 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x621 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x621 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x621 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x621 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x621 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x621 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 

--1 x621 +1 x1229 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 

--1 x621 +1 x1541 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x621 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x621 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x621 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x621 +1 x57 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x842 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x842 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x842 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x842 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x842 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x842 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3014 -1 x3013>= -1 ;

- -1 x3013 1 x57 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3014 -1 x3015>= -1 ;

- -1 x3015 1 x59 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3014 -1 x3016>= -1 ;

- -1 x3016 1 x61 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3014 -1 x3017>= -1 ;

- -1 x3017 1 x63 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3014 -1 x3018>= -1 ;

- -1 x3018 1 x41 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3014 -1 x3019>= -1 ;

- -1 x3019 1 x57 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x3014 -1 x3020>= -1 ;

- -1 x3020 1 x68 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3014 -1 x3021>= -1 ;

- -1 x3021 1 x63 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x842 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x842 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x842 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x842 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x842 +1 x21 >= 0;

- -1 x842 1 x3014 1 x3013 1 x3015 1 x3016 1 x3017 1 x3018 1 x3019 1 x3020 1 x3021 >= 0;

-* org.eclipse.net4j.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.source 1.0.0.v200806180305 

--1 x3022 +1 x773 >= 0;

-* org.eclipse.net4j.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.source.feature.jar 1.0.0.v200806180305 

--1 x3022 +1 x2112 >= 0;

-* org.eclipse.ocl.uml.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 

--1 x108 +1 x1236 >= 0;

-* org.eclipse.ocl.uml.source.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl.uml.source.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x108 +1 x1990 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x844 +1 x54 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x844 +1 x21 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 

--1 x844 +1 x819 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 

--1 x844 +1 x1482 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x844 +1 x140 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x844 +1 x424 >= 0;

-* org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x844 +1 x425 >= 0;

-* org.eclipse.uml2tools.examples.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 

--1 x2375 +1 x1146 >= 0;

-* org.eclipse.uml2tools.examples.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 

--1 x2375 +1 x835 >= 0;

-* org.eclipse.uml2tools.examples.feature.group 0.8.0.v200806112132 requires either org.eclipse.uml2tools.examples.feature.jar 0.8.0.v200806112132 

--1 x2375 +1 x2060 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3024 -1 x3023>= -1 ;

- -1 x3023 1 x53 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x57 +1 x21 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x57 +1 x160 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either org.eclipse.help 3.3.100.v20080610 

--1 x57 +1 x76 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x57 +1 x54 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3024 -1 x3025>= -1 ;

- -1 x3025 1 x59 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x3024 -1 x3026>= -1 ;

- -1 x3026 1 x638 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.update.core 3.2.200.v20080515 

--1 x3024 -1 x3027>= -1 ;

- -1 x3027 1 x1185 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.update.ui 3.2.100.v20080318 

--1 x3024 -1 x3028>= -1 ;

- -1 x3028 1 x1306 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x57 +1 x63 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x3024 -1 x3029>= -1 ;

- -1 x3029 1 x140 >= 0;

-* org.eclipse.ui.ide 3.4.0.I20080606-1300 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x57 +1 x553 +1 x142 >= 0;

- -1 x57 1 x3024 1 x3023 1 x3025 1 x3026 1 x3027 1 x3028 1 x3029 >= 0;

-* org.eclipse.jdt.core 3.4.0.v_874 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x70 +1 x53 >= 0;

-* org.eclipse.jdt.core 3.4.0.v_874 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x70 +1 x21 >= 0;

-* org.eclipse.jdt.core 3.4.0.v_874 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x70 +1 x160 >= 0;

-* org.eclipse.jdt.core 3.4.0.v_874 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x70 +1 x68 >= 0;

-* org.eclipse.jdt.core 3.4.0.v_874 requires optionaly either org.eclipse.team.core 3.4.0.I20080605 

--1 x3031 -1 x3030>= -1 ;

- -1 x3030 1 x971 >= 0;

- -1 x70 1 x3031 1 x3030 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x848 +1 x24 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.sat4j.core 2.0.0.v20080602 

--1 x848 +1 x747 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.sat4j.pb 2.0.0.v20080602 

--1 x848 +1 x1327 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x848 +1 x840 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x848 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x848 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x848 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x848 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x848 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x848 +1 x23 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x848 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.director 1.0.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x848 +1 x23 >= 0;

-* org.eclipse.emf.exporter 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x850 +1 x21 >= 0;

-* org.eclipse.emf.exporter 2.4.0.v200806091234 requires either org.eclipse.emf.converter 2.4.0.v200806091234 

--1 x850 +1 x895 >= 0;

-* org.eclipse.emf.exporter 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3033 -1 x3032>= -1 ;

- -1 x3032 1 x53 >= 0;

-* org.eclipse.emf.exporter 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3033 -1 x3034>= -1 ;

- -1 x3034 1 x516 >= 0;

- -1 x850 1 x3033 1 x3032 1 x3034 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x853 +1 x1186 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.wst.command.env 1.0.306.v200807231700 

--1 x853 +1 x1424 +1 x1584 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x853 +1 x21 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x853 +1 x54 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x853 +1 x214 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x853 +1 x53 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.0.v200805140415 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x853 +1 x57 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x854 +1 x21 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x854 +1 x214 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x854 +1 x53 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x854 +1 x132 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 

--1 x854 +1 x213 +1 x1526 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x854 +1 x216 +1 x217 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x854 +1 x170 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x854 +1 x1012 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x854 +1 x145 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x854 +1 x215 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x854 +1 x202 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x854 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x854 +1 x861 +1 x101 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.200.v200806091800 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x854 +1 x218 +1 x219 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x447 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x447 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x447 +1 x21 >= 0;

-* com.instantiations.common.core 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x83 +1 x21 >= 0;

-* com.instantiations.common.core 5.3.2.200806270030 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x83 +1 x86 +1 x87 >= 0;

-* com.instantiations.common.core 5.3.2.200806270030 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x83 +1 x96 +1 x97 >= 0;

-* com.instantiations.common.core 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x82 +1 x21 >= 0;

-* com.instantiations.common.core 5.3.2.200809042027 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x82 +1 x86 +1 x87 >= 0;

-* com.instantiations.common.core 5.3.2.200809042027 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x82 +1 x96 +1 x97 >= 0;

-* org.eclipse.wst.common.environment 1.0.202.v200807161459 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x861 +1 x21 >= 0;

-* org.eclipse.wst.common.environment 1.0.202.v200807161459 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x861 +1 x53 >= 0;

-* org.eclipse.wst.common.environment 1.0.202.v200807161459 requires either org.eclipse.osgi.util 3.1.300.v20080303 

--1 x861 +1 x102 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x74 +1 x159 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x74 +1 x414 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x74 +1 x54 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x74 +1 x133 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.help 3.3.100.v20080610 

--1 x74 +1 x76 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x74 +1 x75 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x74 +1 x63 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x74 +1 x41 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x74 +1 x57 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x74 +1 x61 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x74 +1 x21 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x74 +1 x160 >= 0;

-* org.eclipse.debug.ui 3.4.0.v20080529-1300 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x74 +1 x553 +1 x142 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x863 +1 x21 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x863 +1 x70 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x863 +1 x308 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.pde.api.tools 1.0.0.v20080529-1150 

--1 x863 +1 x636 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x863 +1 x54 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x863 +1 x71 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x863 +1 x63 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x863 +1 x73 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x863 +1 x53 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x863 +1 x140 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x863 +1 x57 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x863 +1 x81 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x863 +1 x61 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x863 +1 x178 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x863 +1 x751 >= 0;

-* org.eclipse.pde.api.tools.ui 1.0.0.v20080603 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x863 +1 x553 +1 x142 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x865 +1 x968 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x865 +1 x1204 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x865 +1 x754 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x865 +1 x1136 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.svggen 1.6.0.v200805290154 

--1 x865 +1 x1201 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x865 +1 x1328 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x865 +1 x1238 >= 0;

-* org.apache.batik.transcoder 1.6.0.v200805290154 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x865 +1 x1235 >= 0;

-* org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.ui 0.7.1.I20080612-1500 

--1 x632 +1 x629 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x866 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 

--1 x866 +1 x1314 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x866 +1 x145 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x866 +1 x132 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x866 +1 x19 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x866 +1 x20 >= 0;

-* org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 

--1 x866 +1 x953 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x5 +1 x1186 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.wst.command.env 1.0.306.v200807231700 

--1 x5 +1 x1424 +1 x1584 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x5 +1 x21 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x5 +1 x54 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x5 +1 x214 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x5 +1 x53 >= 0;

-* org.eclipse.wst.command.env.ui 1.1.1.v200807162242 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x5 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x868 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 

--1 x868 +1 x1533 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x868 +1 x145 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x868 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x868 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x868 +1 x118 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x868 +1 x516 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.gmf.codegen 2.1.0.v20080610-1132 

--1 x868 +1 x1466 >= 0;

-* org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 requires either org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 

--1 x868 +1 x1213 >= 0;

-* com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 requires either com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x2741 +1 x162 +1 x380 +1 x381 >= 0;

-* com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 requires either com.nordea.cd.dev.plugin.stubbuilder 1.0.2 

--1 x2741 +1 x1264 >= 0;

-* com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 requires either com.nordea.cd.dev.plugin.wsdl2java 1.0.2 

--1 x2741 +1 x1319 >= 0;

-* com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 requires either com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x2741 +1 x381 >= 0;

-* com.nordea.cd.dev.plugin.feature.feature.group 1.0.2 requires either com.nordea.cd.dev.plugin.feature.feature.jar 1.0.2 

--1 x2741 +1 x2086 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x875 +1 x24 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x875 +1 x23 >= 0;

-* org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x875 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ocl.source.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x107 +1 x1537 >= 0;

-* org.eclipse.ocl.source.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either net.sourceforge.lpg.lpgjavaruntime.source 1.1.0.v200803061910 

--1 x107 +1 x1739 >= 0;

-* org.eclipse.ocl.source.feature.group 1.2.0.v200805130238-34-9oA55S5I6M7JBK requires either org.eclipse.ocl.source.feature.jar 1.2.0.v200805130238-34-9oA55S5I6M7JBK 

--1 x107 +1 x2038 >= 0;

-* org.eclipse.ui.navigator 3.3.100.I20080606-1300 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x183 +1 x561 >= 0;

-* org.eclipse.ui.navigator 3.3.100.I20080606-1300 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x183 +1 x65 >= 0;

-* org.eclipse.ui.navigator 3.3.100.I20080606-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x183 +1 x21 >= 0;

-* org.eclipse.ui.navigator 3.3.100.I20080606-1300 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x183 +1 x54 >= 0;

-* org.eclipse.ui.navigator 3.3.100.I20080606-1300 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x183 +1 x159 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x143 +1 x54 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x143 +1 x57 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x143 +1 x59 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x143 +1 x61 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x143 +1 x133 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 

--1 x143 +1 x134 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 

--1 x143 +1 x135 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x143 +1 x136 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x143 +1 x137 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 

--1 x143 +1 x138 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x143 +1 x130 >= 0;

-* org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 requires either org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 

--1 x143 +1 x139 >= 0;

-* org.eclipse.emf.compare.doc.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.doc 0.8.0.v200806180301 

--1 x1628 +1 x846 >= 0;

-* org.eclipse.emf.compare.doc.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.doc.feature.jar 0.8.0.v200806180301 

--1 x1628 +1 x2075 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x879 +1 x54 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x879 +1 x21 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x879 +1 x53 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x879 +1 x115 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x879 +1 x70 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x879 +1 x73 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x879 +1 x71 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x879 +1 x63 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x879 +1 x118 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x879 +1 x132 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x879 +1 x57 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x879 +1 x969 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x879 +1 x1411 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x879 +1 x19 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x879 +1 x225 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x879 +1 x170 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x879 +1 x776 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x879 +1 x1300 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x879 +1 x1094 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel 0.7.0.v200806130939 

--1 x879 +1 x877 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 

--1 x879 +1 x735 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ui 2.4.0.v200806091234 

--1 x879 +1 x416 >= 0;

-* org.eclipse.emf.search.codegen 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x879 +1 x516 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2462 +1 x21 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2462 +1 x74 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2462 +1 x70 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x2462 +1 x405 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x2462 +1 x404 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x2462 +1 x406 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2462 +1 x73 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2462 +1 x71 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2462 +1 x63 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2462 +1 x81 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2462 +1 x54 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2462 +1 x61 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2462 +1 x57 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2462 +1 x140 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2462 +1 x59 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2462 +1 x41 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x2462 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x2462 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x2462 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x2462 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x2462 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x2462 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x2462 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x2462 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x2462 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2462 +1 x53 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x2462 +1 x183 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2462 +1 x57 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ant.ui 3.3.0.v20080529 

--1 x2462 +1 x397 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x282 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2462 +1 x395 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x878 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x1332 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x1563 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x1144 >= 0;

-* org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x2462 +1 x1616 >= 0;

-* org.apache.commons.discovery 0.2.0.v200806030120 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x881 +1 x331 >= 0;

-* org.apache.commons.discovery 0.2.0.v200806030120 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3036 -1 x3035>= -1 ;

- -1 x3035 1 x409 >= 0;

- -1 x881 1 x3036 1 x3035 >= 0;

-* org.eclipse.datatools.help 1.5.0.v200805152355 requires either org.eclipse.help 3.3.100.v20080610 

--1 x177 +1 x76 >= 0;

-* org.eclipse.datatools.help 1.5.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x177 +1 x21 >= 0;

-* org.eclipse.datatools.help 1.5.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x177 +1 x54 >= 0;

-* org.eclipse.jet.examples 0.9.0.v20080211 requires either org.eclipse.jet 0.9.0.v20080527 

--1 x884 +1 x1100 >= 0;

-* org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 requires either org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 

--1 x886 +1 x407 >= 0;

-* org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 requires either org.junit 3.8.2.v20080602-1318 

--1 x886 +1 x409 >= 0;

-* org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x886 +1 x21 >= 0;

-* org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3038 -1 x3037>= -1 ;

- -1 x3037 1 x54 >= 0;

- -1 x886 1 x3038 1 x3037 >= 0;

-* com.instantiations.tools 5.3.2.200806270030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x889 +1 x21 >= 0;

-* com.instantiations.tools 5.3.2.200806270030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x889 +1 x53 >= 0;

-* com.instantiations.tools 5.3.2.200806270030 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x889 +1 x70 >= 0;

-* com.instantiations.tools 5.3.2.200806270030 requires either org.apache.ant 1.7.0.v200803061910 

--1 x889 +1 x113 >= 0;

-* com.instantiations.tools 5.3.2.200806270030 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x889 +1 x82 +1 x83 >= 0;

-* org.eclipse.wst.validation 1.2.0.v200806051402 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x219 +1 x53 >= 0;

-* org.eclipse.wst.validation 1.2.0.v200806051402 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x219 +1 x214 >= 0;

-* org.eclipse.wst.validation 1.2.0.v200806051402 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x219 +1 x21 >= 0;

-* org.eclipse.wst.validation 1.2.0.v200806051402 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x219 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.validation 1.2.0.v200806051402 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x219 +1 x159 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x890 +1 x54 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x890 +1 x21 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x890 +1 x36 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x890 +1 x63 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x890 +1 x1119 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x890 +1 x61 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x890 +1 x582 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x890 +1 x37 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x890 +1 x57 >= 0;

-* org.eclipse.ecf.docshare 2.0.0.v20080623-0046 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x890 +1 x160 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x891 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x891 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x891 +1 x70 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.1 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x891 +1 x561 >= 0;

-* com.instantiations.eclipse.model.jsp 5.5.1 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x891 +1 x63 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x892 +1 x54 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x892 +1 x21 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x892 +1 x57 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x892 +1 x114 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x892 +1 x53 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x892 +1 x70 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x892 +1 x73 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x892 +1 x75 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x892 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x892 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 

--1 x892 +1 x1330 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 

--1 x892 +1 x1430 >= 0;

-* org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 

--1 x892 +1 x808 >= 0;

-* org.eclipse.emf.converter 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x895 +1 x21 >= 0;

-* org.eclipse.emf.converter 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x895 +1 x118 >= 0;

-* org.eclipse.emf.converter 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3040 -1 x3039>= -1 ;

- -1 x3039 1 x53 >= 0;

-* org.eclipse.emf.converter 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3040 -1 x3041>= -1 ;

- -1 x3041 1 x516 >= 0;

- -1 x895 1 x3040 1 x3039 1 x3041 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x897 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x897 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x897 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x897 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x897 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x897 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x897 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x897 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x897 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 

--1 x897 +1 x186 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x898 +1 x70 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3043 -1 x3042>= -1 ;

- -1 x3042 1 x57 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3043 -1 x3044>= -1 ;

- -1 x3044 1 x59 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3043 -1 x3045>= -1 ;

- -1 x3045 1 x63 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3043 -1 x3046>= -1 ;

- -1 x3046 1 x41 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3043 -1 x3047>= -1 ;

- -1 x3047 1 x61 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x900 +1 x21 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x900 +1 x53 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x900 +1 x54 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x900 +1 x133 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x900 +1 x971 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x900 +1 x984 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x900 +1 x1294 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x900 +1 x315 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x900 +1 x1495 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x900 +1 x183 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x900 +1 x159 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x900 +1 x553 +1 x142 >= 0;

-* org.eclipse.team.cvs.ui 3.3.100.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x900 +1 x553 +1 x142 >= 0;

- -1 x900 1 x3043 1 x3042 1 x3044 1 x3045 1 x3046 1 x3047 >= 0;

-* org.eclipse.emf.search.ocl 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x902 +1 x21 >= 0;

-* org.eclipse.emf.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x902 +1 x132 >= 0;

-* org.eclipse.emf.search.ocl 0.7.0.v200806130939 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x902 +1 x358 >= 0;

-* org.eclipse.emf.search.ocl 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x902 +1 x710 >= 0;

-* org.eclipse.emf.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x902 +1 x969 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x180 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x180 +1 x176 >= 0;

-* org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x904 +1 x21 >= 0;

-* org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x904 +1 x310 >= 0;

-* org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 requires either org.eclipse.emf.exporter 2.4.0.v200806091234 

--1 x904 +1 x850 >= 0;

-* org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3049 -1 x3048>= -1 ;

- -1 x3048 1 x516 >= 0;

-* org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3049 -1 x3050>= -1 ;

- -1 x3050 1 x53 >= 0;

- -1 x904 1 x3049 1 x3048 1 x3050 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.core.boot 3.1.100.v20080218 

--1 x2460 +1 x935 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2460 +1 x53 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2460 +1 x21 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2460 +1 x70 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2460 +1 x71 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x2460 +1 x72 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2460 +1 x54 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2460 +1 x57 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x2460 +1 x52 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2460 +1 x23 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2460 +1 x140 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x2460 +1 x68 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2460 +1 x63 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x2460 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x2460 +1 x96 +1 x97 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2460 +1 x75 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x2460 +1 x405 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2460 +1 x73 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.apache.ant 1.7.0.v200803061910 

--1 x2460 +1 x113 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2460 +1 x80 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x2460 +1 x523 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2460 +1 x74 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2460 +1 x76 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.help.ui 3.3.100.v20080521 

--1 x2460 +1 x79 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2460 +1 x81 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x2460 +1 x94 +1 x95 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.jdt 5.5.1 

--1 x2460 +1 x1024 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 

--1 x2460 +1 x795 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 

--1 x2460 +1 x1079 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 

--1 x2460 +1 x40 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.swt 5.5.1 

--1 x2460 +1 x1483 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.admin 5.5.1 

--1 x2460 +1 x1252 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.1 

--1 x2460 +1 x89 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.core.ant 5.5.1 

--1 x2460 +1 x1369 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x2460 +1 x91 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 

--1 x2460 +1 x1047 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.mail 5.5.1 

--1 x2460 +1 x663 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.mail.ui 5.5.1 

--1 x2460 +1 x92 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.swt.graph 5.5.1 

--1 x2460 +1 x928 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.pattern 5.5.1 

--1 x2460 +1 x1134 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse.scheduler 5.5.1 

--1 x2460 +1 x99 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.assist.eclipse 5.5.1 

--1 x2460 +1 x961 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.model.jsp 5.5.1 

--1 x2460 +1 x891 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.ast.editor 5.5.1 

--1 x2460 +1 x1173 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.analysis.expression 5.5.1 

--1 x2460 +1 x1448 >= 0;

-* com.instantiations.eclipse.core.feature.feature.group 5.5.1 requires either com.instantiations.eclipse.core.feature.feature.jar 5.5.1 

--1 x2460 +1 x2006 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x905 +1 x24 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x905 +1 x875 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x905 +1 x848 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x905 +1 x840 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x905 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x905 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x905 +1 x875 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x905 +1 x875 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x905 +1 x848 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x905 +1 x840 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x905 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x905 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x905 +1 x23 >= 0;

-* org.eclipse.emf.databinding.edit 1.0.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x907 +1 x21 >= 0;

-* org.eclipse.emf.databinding.edit 1.0.0.v200806091234 requires either org.eclipse.emf.databinding 1.0.0.v200806091234 

--1 x907 +1 x1153 >= 0;

-* org.eclipse.emf.databinding.edit 1.0.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x907 +1 x145 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either a.jre 1.6.0 

--1 x908 +1 x210 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either a.jre 1.6.0 

--1 x908 +1 x210 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either javax.servlet 2.5.0.v200806031605 

--1 x908 +1 x45 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either javax.servlet 2.5.0.v200806031605 

--1 x908 +1 x45 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x908 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either org.mortbay.jetty.util 6.1.7.v200806031612 

--1 x908 +1 x1394 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x908 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.mortbay.jetty.server 6.1.7.v200806031612 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x908 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x193 +1 x53 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x193 +1 x21 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x193 +1 x132 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x193 +1 x63 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x193 +1 x54 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x193 +1 x202 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x193 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x193 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either com.ibm.icu 3.8.1.v20080530 

--1 x193 +1 x142 >= 0;

-* org.eclipse.wst.dtd.core 1.1.200.v200805140200 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x193 +1 x218 +1 x219 >= 0;

-* org.eclipse.core.net.win32.x86 1.0.0.I20080521 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x912 +1 x316 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x911 +1 x21 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x911 +1 x53 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x911 +1 x605 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3052 -1 x3051>= -1 ;

- -1 x3051 1 x516 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3052 -1 x3053>= -1 ;

- -1 x3053 1 x113 >= 0;

-* org.eclipse.emf.importer.rose 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x3052 -1 x3054>= -1 ;

- -1 x3054 1 x112 >= 0;

- -1 x911 1 x3052 1 x3051 1 x3053 1 x3054 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x915 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x915 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x915 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x915 +1 x74 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x915 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x915 +1 x404 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x915 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x915 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x915 +1 x561 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3056 -1 x3057>= -1 ;

- -1 x3057 1 x23 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x915 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x915 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3056 -1 x3058>= -1 ;

- -1 x3058 1 x57 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3056 -1 x3059>= -1 ;

- -1 x3059 1 x59 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3056 -1 x3060>= -1 ;

- -1 x3060 1 x61 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3056 -1 x3061>= -1 ;

- -1 x3061 1 x63 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3056 -1 x3062>= -1 ;

- -1 x3062 1 x41 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3056 -1 x3063>= -1 ;

- -1 x3063 1 x61 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3056 -1 x3064>= -1 ;

- -1 x3064 1 x57 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x915 +1 x65 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x915 +1 x41 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x915 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x915 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x915 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x915 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 

--1 x915 +1 x1121 +1 x942 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x915 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x915 +1 x732 +1 x663 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.eclipse.mail.ui 5.5.1 com.instantiations.eclipse.mail.ui 5.5.0 

--1 x915 +1 x92 +1 x93 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.swt.graph 5.5.1 com.instantiations.swt.graph 5.5.0 

--1 x915 +1 x928 +1 x824 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 com.instantiations.eclipse.startup 5.3.2.200806270030 

--1 x915 +1 x94 +1 x95 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x915 +1 x63 >= 0;

-* com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x915 +1 x21 >= 0;

- -1 x915 1 x3056 1 x3057 1 x3058 1 x3059 1 x3060 1 x3061 1 x3062 1 x3063 1 x3064 >= 0;

-* org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x244 +1 x446 >= 0;

-* org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x244 +1 x19 >= 0;

-* org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x244 +1 x710 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x921 +1 x24 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x921 +1 x26 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x921 +1 x36 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x921 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x921 +1 x23 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x921 +1 x49 >= 0;

-* org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x921 +1 x23 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2792 +1 x21 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2792 +1 x132 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2792 +1 x145 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x2792 +1 x20 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2792 +1 x19 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 

--1 x2792 +1 x953 >= 0;

-* org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit.feature.jar 2.4.0.v200806091234 

--1 x2792 +1 x1985 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x923 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x923 +1 x1435 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x923 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x923 +1 x174 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x926 +1 x24 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x926 +1 x660 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x926 +1 x688 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x926 +1 x688 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x926 +1 x688 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x926 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x926 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x926 +1 x23 >= 0;

-* org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x926 +1 x23 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD 

--1 x568 +1 x1 +1 x2367 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS 

--1 x568 +1 x2912 +1 x3065 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS 

--1 x568 +1 x2912 +1 x3065 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.birt.report.designer.feature.group 2.3.0.v20080431-7X7n-ECLmlsLx_z-4z0LEaYz-mA8 

--1 x568 +1 x565 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 

--1 x568 +1 x962 >= 0;

-* org.eclipse.birt.report.designer.editor.xml.wtp.feature.group 2.3.0.v200806102-22-7w311917213 requires either org.eclipse.birt.report.designer.editor.xml.wtp.feature.jar 2.3.0.v200806102-22-7w311917213 

--1 x568 +1 x1863 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x927 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x927 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x927 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x927 +1 x840 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x927 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x927 +1 x688 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x927 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x927 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x927 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x927 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x927 +1 x840 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x927 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires optionaly either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x3067 -1 x3066>= -1 ;

- -1 x3066 1 x1286 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x927 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x927 +1 x875 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x927 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 

--1 x927 +1 x926 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x927 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x927 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3067 -1 x3068>= -1 ;

- -1 x3068 1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x927 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x927 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x927 +1 x23 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x927 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x927 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x927 1 x3067 1 x3066 1 x3068 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x930 +1 x54 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x930 +1 x57 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x930 +1 x21 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x930 +1 x53 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x930 +1 x63 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x930 +1 x61 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x930 +1 x59 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x930 +1 x41 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x930 +1 x75 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x930 +1 x414 >= 0;

-* org.python.pydev 1.3.20 requires optionaly either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x3070 -1 x3069>= -1 ;

- -1 x3069 1 x73 >= 0;

-* org.python.pydev 1.3.20 requires either org.python.pydev.ast 1.3.18 org.python.pydev.ast 1.0.6 org.python.pydev.ast 1.2.4 org.python.pydev.ast 1.3.5 org.python.pydev.ast 0.9.7.99 org.python.pydev.ast 1.3.19 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 1.0.7 org.python.pydev.ast 0.9.8.5 org.python.pydev.ast 0.9.8.4 org.python.pydev.ast 0.9.8.3 org.python.pydev.ast 0.9.8.2 org.python.pydev.ast 0.9.8.1 org.python.pydev.ast 1.3.4 org.python.pydev.ast 1.2.5 org.python.pydev.ast 1.3.16 org.python.pydev.ast 1.2.6 org.python.pydev.ast 1.3.7 org.python.pydev.ast 0.9.8 org.python.pydev.ast 1.0.4 org.python.pydev.ast 1.3.17 org.python.pydev.ast 1.3.6 org.python.pydev.ast 1.2.7 org.python.pydev.ast 1.0.5 org.python.pydev.ast 1.0.3 org.python.pydev.ast 1.2.8 org.python.pydev.ast 1.3.0 org.python.pydev.ast 1.2.1 org.python.pydev.ast 1.3.9 org.python.pydev.ast 1.3.14 org.python.pydev.ast 1.0.2 org.python.pydev.ast 0.9.7 org.python.pydev.ast 1.3.8 org.python.pydev.ast 1.2.9 org.python.pydev.ast 1.3.1 org.python.pydev.ast 1.3.15 org.python.pydev.ast 0.9.8.7 org.python.pydev.ast 1.3.2 org.python.pydev.ast 1.2.3 org.python.pydev.ast 1.3.11 org.python.pydev.ast 1.0.1 org.python.pydev.ast 1.0.8 org.python.pydev.ast 1.1.0 org.python.pydev.ast 1.3.12 org.python.pydev.ast 1.2.2 org.python.pydev.ast 1.3.10 org.python.pydev.ast 1.3.3 org.python.pydev.ast 0.9.5 org.python.pydev.ast 1.3.13 org.python.pydev.ast 1.3.20 

--1 x930 +1 x1471 +1 x839 +1 x1081 +1 x1479 +1 x1147 +1 x1344 +1 x1274 +1 x958 +1 x1275 +1 x1277 +1 x1279 +1 x1282 +1 x1284 +1 x1353 +1 x1215 +1 x1216 +1 x1361 +1 x1224 +1 x1295 +1 x188 +1 x1095 +1 x1099 +1 x1499 +1 x653 +1 x1562 +1 x230 +1 x916 +1 x802 +1 x981 +1 x983 +1 x1443 +1 x924 +1 x871 +1 x753 +1 x1060 +1 x873 +1 x1318 +1 x718 +1 x1066 +1 x757 +1 x1321 +1 x1127 +1 x1455 +1 x761 +1 x936 +1 x297 +1 x827 +1 x552 +1 x685 +1 x832 >= 0;

-* org.python.pydev 1.3.20 requires either org.python.pydev.parser 0.9.7.99 org.python.pydev.parser 1.3.3 org.python.pydev.parser 1.2.2 org.python.pydev.parser 1.3.4 org.python.pydev.parser 1.3.13 org.python.pydev.parser 1.2.5 org.python.pydev.parser 1.0.7 org.python.pydev.parser 1.1.0 org.python.pydev.parser 1.0.1 org.python.pydev.parser 1.2.3 org.python.pydev.parser 1.3.2 org.python.pydev.parser 1.3.12 org.python.pydev.parser 1.2.4 org.python.pydev.parser 1.3.5 org.python.pydev.parser 0.9.8 org.python.pydev.parser 1.0.6 org.python.pydev.parser 1.3.1 org.python.pydev.parser 1.0.2 org.python.pydev.parser 1.0.5 org.python.pydev.parser 1.3.20 org.python.pydev.parser 1.3.6 org.python.pydev.parser 1.3.15 org.python.pydev.parser 1.2.7 org.python.pydev.parser 1.2.1 org.python.pydev.parser 1.3.0 org.python.pydev.parser 1.0.3 org.python.pydev.parser 1.0.4 org.python.pydev.parser 1.3.14 org.python.pydev.parser 1.2.6 org.python.pydev.parser 1.3.7 org.python.pydev.parser 1.3.8 org.python.pydev.parser 1.3.17 org.python.pydev.parser 1.2.9 org.python.pydev.parser 0.9.5 org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.python.pydev.parser 0.9.8.5 org.python.pydev.parser 0.9.8.4 org.python.pydev.parser 1.3.16 org.python.pydev.parser 1.2.8 org.python.pydev.parser 1.3.9 org.python.pydev.parser 0.9.7 org.python.pydev.parser 1.3.10 org.python.pydev.parser 1.3.19 org.python.pydev.parser 1.0.8 org.python.pydev.parser 1.3.18 org.python.pydev.parser 1.3.11 

--1 x930 +1 x882 +1 x837 +1 x592 +1 x1402 +1 x1474 +1 x1266 +1 x1026 +1 x1205 +1 x1343 +1 x50 +1 x957 +1 x1349 +1 x1150 +1 x1536 +1 x1087 +1 x894 +1 x125 +1 x1218 +1 x789 +1 x1548 +1 x1159 +1 x1226 +1 x1553 +1 x852 +1 x648 +1 x1098 +1 x705 +1 x1103 +1 x1429 +1 x1302 +1 x914 +1 x979 +1 x798 +1 x743 +1 x1110 +1 x1111 +1 x1112 +1 x1115 +1 x1116 +1 x1118 +1 x1120 +1 x867 +1 x715 +1 x1055 +1 x996 +1 x722 +1 x759 +1 x1189 +1 x313 +1 x829 >= 0;

-* org.python.pydev 1.3.20 requires either org.python.pydev.core 0.9.7 org.python.pydev.core 1.3.19 org.python.pydev.core 1.0.4 org.python.pydev.core 1.3.16 org.python.pydev.core 1.2.1 org.python.pydev.core 1.1.0 org.python.pydev.core 1.3.9 org.python.pydev.core 1.2.6 org.python.pydev.core 1.3.18 org.python.pydev.core 1.0.5 org.python.pydev.core 1.3.8 org.python.pydev.core 1.3.17 org.python.pydev.core 1.2.7 org.python.pydev.core 1.0.2 org.python.pydev.core 1.3.0 org.python.pydev.core 1.2.8 org.python.pydev.core 1.3.14 org.python.pydev.core 1.3.7 org.python.pydev.core 1.3.20 org.python.pydev.core 1.0.3 org.python.pydev.core 0.9.8 org.python.pydev.core 1.2.9 org.python.pydev.core 1.3.1 org.python.pydev.core 1.3.6 org.python.pydev.core 1.3.15 org.python.pydev.core 1.3.12 org.python.pydev.core 1.3.5 org.python.pydev.core 1.2.2 org.python.pydev.core 1.0.8 org.python.pydev.core 1.3.4 org.python.pydev.core 1.3.13 org.python.pydev.core 1.2.3 org.python.pydev.core 0.9.8.3 org.python.pydev.core 0.9.8.2 org.python.pydev.core 0.9.8.1 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.7.99 org.python.pydev.core 1.3.10 org.python.pydev.core 0.9.8.6 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev.core 1.3.3 org.python.pydev.core 1.0.6 org.python.pydev.core 0.9.5 org.python.pydev.core 1.0.1 org.python.pydev.core 1.2.5 org.python.pydev.core 1.3.2 org.python.pydev.core 1.3.11 org.python.pydev.core 1.0.7 

--1 x930 +1 x16 +1 x452 +1 x453 +1 x454 +1 x455 +1 x456 +1 x34 +1 x457 +1 x458 +1 x459 +1 x460 +1 x461 +1 x462 +1 x463 +1 x464 +1 x465 +1 x466 +1 x467 +1 x468 +1 x469 +1 x470 +1 x471 +1 x472 +1 x473 +1 x474 +1 x475 +1 x476 +1 x477 +1 x478 +1 x479 +1 x480 +1 x252 +1 x481 +1 x482 +1 x483 +1 x484 +1 x485 +1 x486 +1 x487 +1 x488 +1 x489 +1 x490 +1 x491 +1 x492 +1 x493 +1 x494 +1 x495 +1 x496 +1 x497 +1 x498 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x930 +1 x81 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x930 +1 x74 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x930 +1 x133 >= 0;

-* org.python.pydev 1.3.20 requires either org.python.pydev.jython 1.2.2 org.python.pydev.jython 1.3.1 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.jython 1.3.12 org.python.pydev.jython 1.3.15 org.python.pydev.jython 1.2.7 org.python.pydev.jython 1.3.8 org.python.pydev.jython 1.3.2 org.python.pydev.jython 1.2.1 org.python.pydev.jython 1.3.11 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.python.pydev.jython 1.3.7 org.python.pydev.jython 1.3.16 org.python.pydev.jython 1.2.8 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.jython 1.2.9 org.python.pydev.jython 1.3.10 org.python.pydev.jython 1.2.4 org.python.pydev.jython 1.3.3 org.python.pydev.jython 1.1.0 org.python.pydev.jython 1.3.13 org.python.pydev.jython 1.2.5 org.python.pydev.jython 1.3.6 org.python.pydev.jython 1.3.9 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.python.pydev.jython 1.3.4 org.python.pydev.jython 1.2.3 org.python.pydev.jython 1.3.5 org.python.pydev.jython 1.3.14 org.python.pydev.jython 1.2.6 org.python.pydev.jython 1.3.0 org.python.pydev.jython 1.0.4 

--1 x930 +1 x1022 +1 x355 +1 x800 +1 x801 +1 x673 +1 x1268 +1 x1477 +1 x1083 +1 x778 +1 x888 +1 x749 +1 x451 +1 x501 +1 x1212 +1 x1152 +1 x1355 +1 x1064 +1 x1065 +1 x756 +1 x876 +1 x787 +1 x901 +1 x665 +1 x1547 +1 x1221 +1 x1363 +1 x1013 +1 x938 +1 x939 +1 x1044 +1 x422 +1 x1497 +1 x1428 +1 x1102 +1 x1596 +1 x1398 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x930 +1 x178 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x930 +1 x751 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x930 +1 x183 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x930 +1 x1495 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x930 +1 x160 >= 0;

-* org.python.pydev 1.3.20 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x930 +1 x159 >= 0;

-* org.python.pydev 1.3.20 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3070 -1 x3071>= -1 ;

- -1 x3071 1 x409 >= 0;

-* org.python.pydev 1.3.20 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x3070 -1 x3072>= -1 ;

- -1 x3072 1 x70 >= 0;

-* org.python.pydev 1.3.20 requires optionaly either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x3070 -1 x3073>= -1 ;

- -1 x3073 1 x71 >= 0;

- -1 x930 1 x3070 1 x3069 1 x3071 1 x3072 1 x3073 >= 0;

-* org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x343 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 

--1 x343 +1 x1196 >= 0;

-* org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x343 +1 x21 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2368 +1 x4 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 

--1 x2368 +1 x2387 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2368 +1 x654 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 

--1 x2368 +1 x1526 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.command.env 1.0.305.v200805281530 

--1 x2368 +1 x1424 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x2368 +1 x1186 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.emf 1.1.200.v200805140020 

--1 x2368 +1 x216 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x2368 +1 x101 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x2368 +1 x214 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.modulecore 1.1.200.v200806091800 

--1 x2368 +1 x854 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x2368 +1 x221 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x2368 +1 x202 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x2368 +1 x219 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common.core 1.1.201.v200806010600 

--1 x2368 +1 x1019 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x2368 +1 x215 >= 0;

-* org.eclipse.wst.common_core.feature.feature.group 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT requires either org.eclipse.wst.common_core.feature.feature.jar 3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT 

--1 x2368 +1 x247 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x933 +1 x54 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x933 +1 x21 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x933 +1 x53 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x933 +1 x41 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x933 +1 x140 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x933 +1 x63 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x933 +1 x57 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x933 +1 x308 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.pde.api.tools.ui 1.0.0.v20080603 

--1 x933 +1 x863 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x933 +1 x74 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x933 +1 x61 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x933 +1 x81 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x933 +1 x70 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x 

--1 x933 +1 x1546 +1 x878 +1 x1450 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x933 +1 x73 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x933 +1 x406 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x933 +1 x404 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x933 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x933 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x933 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x 

--1 x933 +1 x1546 +1 x878 +1 x1450 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x933 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x933 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x933 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x933 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2800 +1 x54 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2800 +1 x53 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2800 +1 x21 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 

--1 x2800 +1 x1170 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 

--1 x2800 +1 x1440 >= 0;

-* org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 requires either org.eclipse.tptp.lta.gla.ui.epi.feature.jar 4.5.0.v200805132041-44-7w311916271211 

--1 x2800 +1 x1889 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2291 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2291 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2291 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 

--1 x2291 +1 x1576 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 

--1 x2291 +1 x1225 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 

--1 x2291 +1 x724 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x2291 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.oracle.feature.feature.group 1.6.0.v200804021-440_kE77c7QBPCFPL requires either org.eclipse.datatools.enablement.oracle.feature.feature.jar 1.6.0.v200804021-440_kE77c7QBPCFPL 

--1 x2291 +1 x2005 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x147 +1 x21 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x147 +1 x59 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x147 +1 x65 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x147 +1 x145 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x147 +1 x146 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3075 -1 x3074>= -1 ;

- -1 x3074 1 x53 >= 0;

-* org.eclipse.emf.edit.ui 2.4.0.v200806091234 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3075 -1 x3076>= -1 ;

- -1 x3076 1 x57 >= 0;

- -1 x147 1 x3075 1 x3074 1 x3076 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x945 +1 x21 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x945 +1 x53 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x945 +1 x159 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x945 +1 x561 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x945 +1 x57 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x945 +1 x59 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x945 +1 x183 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x945 +1 x132 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x945 +1 x170 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x945 +1 x147 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x945 +1 x254 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x945 +1 x1117 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x945 +1 x448 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x945 +1 x849 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x945 +1 x445 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 

--1 x945 +1 x1178 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 

--1 x945 +1 x1143 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x945 +1 x446 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x945 +1 x444 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x945 +1 x1262 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x945 +1 x738 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x945 +1 x1571 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x945 +1 x693 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x945 +1 x132 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x945 +1 x19 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x945 +1 x710 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x945 +1 x1372 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x945 +1 x575 >= 0;

-* org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x945 +1 x1495 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x946 +1 x21 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x946 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x946 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.swing.recorder 3.5.0.200806270034 

--1 x946 +1 x369 +1 x372 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x946 +1 x931 +1 x1305 >= 0;

-* com.windowtester.swt.recorder 3.5.1.200809042232 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x946 +1 x370 +1 x373 >= 0;

-* org.eclipse.equinox.util 1.0.0.v20080414 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x948 +1 x23 >= 0;

-* org.eclipse.equinox.util 1.0.0.v20080414 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x948 +1 x49 >= 0;

-* org.eclipse.equinox.util 1.0.0.v20080414 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x948 +1 x49 >= 0;

-* org.eclipse.equinox.util 1.0.0.v20080414 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x948 +1 x23 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x165 +1 x54 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x165 +1 x21 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x165 +1 x53 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x165 +1 x840 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x165 +1 x1148 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 

--1 x165 +1 x1169 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 

--1 x165 +1 x880 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x165 +1 x875 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x165 +1 x848 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x165 +1 x308 >= 0;

-* org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x165 +1 x1257 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x954 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x954 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x954 +1 x61 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x954 +1 x65 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x954 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x954 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x954 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x954 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x954 +1 x677 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x954 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x954 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x954 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x954 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x954 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x954 +1 x1290 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x954 +1 x1291 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x954 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x954 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x954 +1 x182 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x954 +1 x175 >= 0;

-* org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x954 +1 x1589 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x1877 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.source.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x3022 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x3077 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.source.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x1864 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x2455 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui.source.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x3078 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x2234 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.examples.source.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x1648 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.doc.feature.group 1.0.0.v200806180305 

--1 x2817 +1 x2197 >= 0;

-* org.eclipse.net4j.sdk.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.sdk.feature.jar 1.0.0.v200806180305 

--1 x2817 +1 x1991 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x955 +1 x21 >= 0;

-* org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x955 +1 x628 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x956 +1 x796 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x956 +1 x655 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x956 +1 x709 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x956 +1 x36 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x956 +1 x386 >= 0;

-* org.eclipse.buckminster.download 1.1.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x956 +1 x21 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x249 +1 x72 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x249 +1 x53 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x249 +1 x54 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x249 +1 x70 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x249 +1 x71 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x249 +1 x73 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x249 +1 x404 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x249 +1 x74 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x3080 -1 x3079>= -1 ;

- -1 x3079 1 x637 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x3080 -1 x3081>= -1 ;

- -1 x3081 1 x308 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.search 3.4.0.v20080603-2000 

--1 x3080 -1 x3082>= -1 ;

- -1 x3082 1 x81 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x249 +1 x21 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3080 -1 x3083>= -1 ;

- -1 x3083 1 x61 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3080 -1 x3084>= -1 ;

- -1 x3084 1 x57 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x3080 -1 x3085>= -1 ;

- -1 x3085 1 x140 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x3080 -1 x3086>= -1 ;

- -1 x3086 1 x133 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.team.ui 3.4.0.I20080604 

--1 x3080 -1 x3087>= -1 ;

- -1 x3087 1 x984 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x3080 -1 x3088>= -1 ;

- -1 x3088 1 x68 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3080 -1 x3089>= -1 ;

- -1 x3089 1 x63 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x3080 -1 x3090>= -1 ;

- -1 x3090 1 x638 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3080 -1 x3091>= -1 ;

- -1 x3091 1 x23 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x3080 -1 x3092>= -1 ;

- -1 x3092 1 x178 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x3080 -1 x3093>= -1 ;

- -1 x3093 1 x751 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.debug.core 3.4.0.v20080612 

--1 x3080 -1 x3094>= -1 ;

- -1 x3094 1 x75 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3080 -1 x3095>= -1 ;

- -1 x3095 1 x59 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3080 -1 x3096>= -1 ;

- -1 x3096 1 x41 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either org.eclipse.swt.widgets.baseline 1.1.0 

--1 x249 +1 x512 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x249 +1 x86 +1 x87 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x249 +1 x96 +1 x97 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x249 +1 x82 +1 x83 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x249 +1 x84 +1 x85 >= 0;

-* com.swtdesigner 6.7.0.200806270151 requires either com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x249 +1 x1237 +1 x649 >= 0;

- -1 x249 1 x3080 1 x3079 1 x3081 1 x3082 1 x3083 1 x3084 1 x3085 1 x3086 1 x3087 1 x3088 1 x3089 1 x3090 1 x3091 1 x3092 1 x3093 1 x3094 1 x3095 1 x3096 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x960 +1 x21 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x960 +1 x80 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x960 +1 x1185 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires optionaly either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x3098 -1 x3097>= -1 ;

- -1 x3097 1 x52 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x960 +1 x23 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires optionaly either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x3098 -1 x3099>= -1 ;

- -1 x3099 1 x1286 >= 0;

-* org.eclipse.pde.build 3.4.0.v20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x960 +1 x553 +1 x142 >= 0;

- -1 x960 1 x3098 1 x3097 1 x3099 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x962 +1 x194 +1 x195 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x962 +1 x196 +1 x197 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x962 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x962 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x962 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x962 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x962 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x962 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x962 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x962 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x962 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x962 +1 x303 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x962 +1 x304 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x962 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x962 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x962 +1 x61 >= 0;

-* org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2959 +1 x21 >= 0;

-* org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2959 +1 x114 >= 0;

-* org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2959 +1 x132 >= 0;

-* org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.databinding 1.0.0.v200806091234 

--1 x2959 +1 x1153 >= 0;

-* org.eclipse.emf.databinding.feature.group 1.0.0.v200806091234 requires either org.eclipse.emf.databinding.feature.jar 1.0.0.v200806091234 

--1 x2959 +1 x2110 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.eclipse.util 5.3.2.200809042027 

--1 x2835 +1 x96 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 

--1 x2835 +1 x86 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.common.core 5.3.2.200809042027 

--1 x2835 +1 x82 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.eclipse.startup 5.3.2.200809042027 

--1 x2835 +1 x94 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.tools 5.3.2.200809042027 

--1 x2835 +1 x1177 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.common.ui 5.3.2.200809042027 

--1 x2835 +1 x84 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.common.help 5.3.2.200809042027 

--1 x2835 +1 x847 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x2835 +1 x649 >= 0;

-* com.instantiations.eclipse.shared.feature.group 5.3.2.200809042027 requires either com.instantiations.eclipse.shared.feature.jar 5.3.2.200809042027 

--1 x2835 +1 x2056 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either javax.xml 1.3.4.v200806030440 org.apache.ws.jaxme 0.5.1.v20080530-1550 a.jre 1.6.0 

--1 x967 +1 x371 +1 x768 +1 x210 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.ws.jaxme 0.5.1.v20080530-1550 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x967 +1 x371 +1 x162 +1 x768 +1 x380 +1 x381 +1 x210 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x967 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x967 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x967 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.ws.commons.util 1.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x967 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x970 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 

--1 x970 +1 x1447 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 

--1 x970 +1 x1574 >= 0;

-* org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 

--1 x970 +1 x1352 >= 0;

-* org.eclipse.team.core 3.4.0.I20080605 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x971 +1 x53 >= 0;

-* org.eclipse.team.core 3.4.0.I20080605 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x971 +1 x21 >= 0;

-* org.eclipse.team.core 3.4.0.I20080605 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x971 +1 x160 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x973 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x973 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x973 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x973 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x973 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x973 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x973 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x973 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x973 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x973 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x973 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x973 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x973 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x973 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x973 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x973 +1 x1242 >= 0;

-* org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x973 +1 x1410 >= 0;

-* org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x974 +1 x256 >= 0;

-* org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x974 +1 x1444 >= 0;

-* org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x974 +1 x258 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x976 +1 x54 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x976 +1 x53 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x976 +1 x21 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x976 +1 x63 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x976 +1 x183 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x976 +1 x57 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x976 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x976 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x976 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x976 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x976 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.wst.xsd.core 1.1.300.v200805282012 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x977 +1 x21 >= 0;

-* org.eclipse.wst.xsd.core 1.1.300.v200805282012 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x977 +1 x202 >= 0;

-* org.eclipse.wst.xsd.core 1.1.300.v200805282012 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x977 +1 x310 >= 0;

-* org.eclipse.wst.xsd.core 1.1.300.v200805282012 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x977 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xsd.core 1.1.300.v200805282012 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x977 +1 x218 +1 x219 >= 0;

-* org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x590 +1 x305 >= 0;

-* org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 requires either org.eclipse.emf.cheatsheets 2.4.0.v200806091234 

--1 x590 +1 x1183 >= 0;

-* org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 requires either org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 

--1 x590 +1 x736 >= 0;

-* org.eclipse.net4j.http 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3101 -1 x3100>= -1 ;

- -1 x3100 1 x21 >= 0;

-* org.eclipse.net4j.http 1.0.0.v200806180305 requires either org.eclipse.net4j.http.common 1.0.0.v200806180305 

--1 x978 +1 x731 >= 0;

-* org.eclipse.net4j.http 1.0.0.v200806180305 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x978 +1 x1003 >= 0;

-* org.eclipse.net4j.http 1.0.0.v200806180305 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x978 +1 x1003 >= 0;

- -1 x978 1 x3101 1 x3100 >= 0;

-* org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x579 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x579 +1 x191 >= 0;

-* org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 requires either org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 

--1 x579 +1 x190 >= 0;

-* org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 requires either org.eclipse.birt.chart.reportitem 2.3.0.v20080610 

--1 x579 +1 x577 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x61 +1 x21 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x61 +1 x57 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x61 +1 x54 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x61 +1 x63 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x61 +1 x41 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x61 +1 x639 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x61 +1 x53 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x61 +1 x160 >= 0;

-* org.eclipse.ui.editors 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x61 +1 x553 +1 x142 >= 0;

-* org.eclipse.buckminster.slf4j 1.0.0 requires either org.slf4j.extendable 1.4.3 

--1 x980 +1 x1037 >= 0;

-* org.eclipse.buckminster.slf4j 1.0.0 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x980 +1 x386 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3103 -1 x3102>= -1 ;

- -1 x3102 1 x57 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x984 +1 x53 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x984 +1 x21 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x984 +1 x971 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x984 +1 x54 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x984 +1 x315 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x984 +1 x140 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x984 +1 x183 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x984 +1 x63 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x984 +1 x1495 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x984 +1 x61 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x984 +1 x553 +1 x142 >= 0;

-* org.eclipse.team.ui 3.4.0.I20080604 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x984 +1 x553 +1 x142 >= 0;

- -1 x984 1 x3103 1 x3102 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x986 +1 x72 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x986 +1 x561 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x986 +1 x21 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x986 +1 x53 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3105 -1 x3104>= -1 ;

- -1 x3104 1 x54 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x3105 -1 x3106>= -1 ;

- -1 x3106 1 x140 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x3105 -1 x3107>= -1 ;

- -1 x3107 1 x70 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x986 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x986 +1 x82 +1 x83 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires optionaly either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x3105 -1 x3108>= -1 ;

- -1 x3108 1 x84 1 x85 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either com.windowtester.swt.platform.ext 3.5.1.200809042232 com.windowtester.swt.platform.ext 3.5.0.200806270034 

--1 x986 +1 x1486 +1 x1338 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x986 +1 x370 +1 x373 >= 0;

-* com.windowtester.swt.runtime 3.5.0.200806270034 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x986 +1 x931 +1 x1305 >= 0;

- -1 x986 1 x3105 1 x3104 1 x3106 1 x3107 1 x3108 >= 0;

-* org.eclipse.emf.emfqtv.all.sdk.feature.group 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT requires either org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K 

--1 x2849 +1 x3109 >= 0;

-* org.eclipse.emf.emfqtv.all.sdk.feature.group 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT requires either org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e 

--1 x2849 +1 x3110 >= 0;

-* org.eclipse.emf.emfqtv.all.sdk.feature.group 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT requires either org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e 

--1 x2849 +1 x3111 >= 0;

-* org.eclipse.emf.emfqtv.all.sdk.feature.group 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT requires either org.eclipse.emf.emfqtv.all.sdk.feature.jar 1.2.0.v200805130238-35-9-FF4TAdDtyhfiKaEtz0gsQQT 

--1 x2849 +1 x2048 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x989 +1 x24 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x989 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x989 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x989 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x989 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x989 +1 x848 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x989 +1 x840 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x989 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x989 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x989 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x989 +1 x875 >= 0;

-* org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x989 +1 x23 >= 0;

-* org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 requires either org.eclipse.help 3.3.100.v20080610 

--1 x155 +1 x76 >= 0;

-* org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x155 +1 x54 >= 0;

-* org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x155 +1 x78 >= 0;

-* org.eclipse.ui.views 3.3.0.I20080509-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x59 +1 x21 >= 0;

-* org.eclipse.ui.views 3.3.0.I20080509-2000 requires either org.eclipse.help 3.3.100.v20080610 

--1 x59 +1 x76 >= 0;

-* org.eclipse.ui.views 3.3.0.I20080509-2000 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x59 +1 x54 >= 0;

-* javax.mail 1.4.0.v200804091730 requires either a.jre 1.6.0 

--1 x991 +1 x210 >= 0;

-* javax.mail 1.4.0.v200804091730 requires either javax.activation 1.1.0.v200806101325 com.instantiations.eclipse.mail 5.5.0 javax.activation 1.1.0.v200804101140 com.instantiations.eclipse.mail 5.5.1 

--1 x991 +1 x1122 +1 x732 +1 x913 +1 x663 >= 0;

-* javax.wsdl 1.4.0.v200806030407 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x3113 -1 x3112>= -1 ;

- -1 x3112 1 x347 >= 0;

- -1 x345 1 x3113 1 x3112 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x993 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x993 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x993 +1 x53 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x993 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x993 +1 x25 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x993 +1 x1507 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x993 +1 x1441 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x993 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x993 +1 x23 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x993 +1 x49 >= 0;

-* org.eclipse.core.resources.jmx 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x993 +1 x23 >= 0;

-* org.eclipse.emf.cdo.doc.feature.group 1.0.0.v200806180411 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1925 +1 x76 >= 0;

-* org.eclipse.emf.cdo.doc.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.doc 1.0.0.v200806180411 

--1 x1925 +1 x697 >= 0;

-* org.eclipse.emf.cdo.doc.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.doc.feature.jar 1.0.0.v200806180411 

--1 x1925 +1 x2026 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x201 +1 x57 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x201 +1 x59 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x201 +1 x63 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x201 +1 x41 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x201 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x201 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x201 +1 x54 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x201 +1 x53 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x201 +1 x21 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x201 +1 x202 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x201 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x201 +1 x10 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x201 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either com.ibm.icu 3.8.1.v20080530 

--1 x201 +1 x142 >= 0;

-* org.eclipse.wst.xml.ui 1.0.401.v200807240448 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x201 +1 x159 >= 0;

-* org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x151 +1 x130 >= 0;

-* org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x151 +1 x131 >= 0;

-* org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 requires either org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 

--1 x151 +1 x141 >= 0;

-* org.eclipse.jem.util 2.0.100.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x215 +1 x21 >= 0;

-* org.eclipse.jem.util 2.0.100.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x215 +1 x53 >= 0;

-* org.eclipse.jem.util 2.0.100.v200805140020 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x215 +1 x132 >= 0;

-* org.eclipse.jem.util 2.0.100.v200805140020 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x215 +1 x170 >= 0;

-* org.eclipse.jem.util 2.0.100.v200805140020 requires either com.ibm.icu 3.8.1.v20080530 

--1 x215 +1 x142 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x997 +1 x24 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x997 +1 x36 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x997 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x997 +1 x23 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x997 +1 x49 >= 0;

-* org.eclipse.ecf.discovery 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x997 +1 x23 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1000 +1 x54 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1000 +1 x21 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1000 +1 x637 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1000 +1 x76 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x1000 +1 x424 >= 0;

-* com.windowtester.eclipse.help 3.5.1.200809042232 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x1000 +1 x425 >= 0;

-* com.windowtester.runtime.legacy 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1004 +1 x54 >= 0;

-* com.windowtester.runtime.legacy 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1004 +1 x21 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires optionaly either a.jre 1.6.0 

--1 x3117 -1 x3116>= -1 ;

- -1 x3116 1 x210 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires optionaly either a.jre 1.6.0 

--1 x3117 -1 x3118>= -1 ;

- -1 x3118 1 x210 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires optionaly either a.jre 1.6.0 

--1 x3117 -1 x3119>= -1 ;

- -1 x3119 1 x210 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires optionaly either a.jre 1.6.0 

--1 x3117 -1 x3120>= -1 ;

- -1 x3120 1 x210 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires either org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1003 +1 x1307 +1 x349 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires either org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1003 +1 x1307 +1 x349 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires either org.apache.commons.codec 1.2.0.v20080530-1550 org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1003 +1 x1307 +1 x349 >= 0;

-* org.apache.commons.httpclient 3.1.0.v20080605-1935 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x1003 +1 x331 >= 0;

- -1 x1003 1 x3117 1 x3116 1 x3118 1 x3119 1 x3120 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1009 +1 x54 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1009 +1 x140 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1009 +1 x57 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1009 +1 x21 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1009 +1 x53 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x1009 +1 x220 +1 x221 >= 0;

-* org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1014 +1 x21 >= 0;

-* org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1014 +1 x1435 >= 0;

-* org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1014 +1 x145 >= 0;

-* org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1014 +1 x132 >= 0;

-* org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1014 +1 x19 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqldevtools.results.feature.feature.group 1.6.0.v200804021-30-9oA55S5J_F8CBQ 

--1 x616 +1 x2171 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group 1.6.0.v200804021-77--CYQCD4ClJlQXll 

--1 x616 +1 x2240 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires optionaly either org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm 

--1 x3122 -1 x3121>= -1 ;

- -1 x3121 1 x2239 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires optionaly either org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ 

--1 x3122 -1 x3123>= -1 ;

- -1 x3123 1 x3124 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqldevtools.parsers.feature.feature.group 1.6.0.v200804021-502AgI99m9VCYHTTS 

--1 x616 +1 x2172 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires optionaly either org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group 1.6.0.v200805301340-6--BcMAAwAfFgKUZZ 

--1 x3122 -1 x3125>= -1 ;

- -1 x3125 1 x2170 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x616 +1 x3 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x616 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x616 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x616 +1 x1911 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x616 +1 x613 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x616 +1 x1161 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 

--1 x616 +1 x1105 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x616 +1 x954 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x616 +1 x1291 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 

--1 x616 +1 x1541 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x616 +1 x1200 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x616 +1 x1114 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 

--1 x616 +1 x1532 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x616 +1 x177 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 

--1 x616 +1 x1229 >= 0;

-* org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ requires either org.eclipse.datatools.sqldevtools.feature.feature.jar 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ 

--1 x616 +1 x1980 >= 0;

- -1 x616 1 x3122 1 x3121 1 x3123 1 x3125 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x1017 +1 x331 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server 1.0.0.v200806180411 

--1 x1017 +1 x1484 >= 0;

-* org.eclipse.emf.teneo.source.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x3126 +1 x623 >= 0;

-* org.eclipse.emf.teneo.source.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD requires either org.eclipse.emf.teneo.source.feature.jar 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x3126 +1 x1902 >= 0;

-* org.eclipse.wst.common.core 1.1.201.v200806010600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1019 +1 x21 >= 0;

-* org.eclipse.wst.common.core 1.1.201.v200806010600 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1019 +1 x53 >= 0;

-* org.eclipse.wst.common.core 1.1.201.v200806010600 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1019 +1 x159 >= 0;

-* org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1020 +1 x21 >= 0;

-* org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 requires either org.eclipse.emf.compare.diff 0.8.0.v200806180301 

--1 x1020 +1 x1322 >= 0;

-* org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 requires either org.eclipse.emf.compare 0.8.0.v200806180301 

--1 x1020 +1 x766 >= 0;

-* org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 requires either org.eclipse.emf.compare.match 0.8.0.v200806180301 

--1 x1020 +1 x723 >= 0;

-* org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1020 +1 x19 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1021 +1 x54 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1021 +1 x61 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1021 +1 x41 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1021 +1 x21 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1021 +1 x70 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1021 +1 x71 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either com.swtdesigner 6.7.0.200806270151 com.swtdesigner 6.7.1.200809050053 

--1 x1021 +1 x249 +1 x250 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either com.swtdesigner.layout.group 6.7.1.200809050053 com.swtdesigner.layout.group 6.7.0.200806270151 

--1 x1021 +1 x1032 +1 x683 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1021 +1 x53 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.swt.widgets.baseline 1.1.0 

--1 x1021 +1 x512 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either org.eclipse.swt.layout.grouplayout 1.1.0 

--1 x1021 +1 x680 >= 0;

-* com.swtdesigner.layout.group.designer 6.7.0.200806270151 requires either com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x1021 +1 x1237 +1 x649 >= 0;

-* org.eclipse.wst.common.emf 1.1.200.v200805140020 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x216 +1 x170 >= 0;

-* org.eclipse.wst.common.emf 1.1.200.v200805140020 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x216 +1 x214 >= 0;

-* org.eclipse.wst.common.emf 1.1.200.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x216 +1 x21 >= 0;

-* org.eclipse.wst.common.emf 1.1.200.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x216 +1 x53 >= 0;

-* org.eclipse.wst.common.emf 1.1.200.v200805140020 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x216 +1 x215 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1023 +1 x21 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1023 +1 x53 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1023 +1 x70 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x1023 +1 x178 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1023 +1 x159 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1023 +1 x63 >= 0;

-* com.instantiations.packager.refactoring 2.5.1 requires either com.instantiations.packager.core 2.5.1 

--1 x1023 +1 x1304 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1024 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.1 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1024 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.1 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1024 +1 x971 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.director.source 1.0.0.v20080604 

--1 x2245 +1 x1776 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.core.source 1.0.0.v20080530-1237 

--1 x2245 +1 x1816 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.engine.source 1.0.0.v20080522-1735 

--1 x2245 +1 x1698 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.jarprocessor.source 1.0.0.v20080514-1900 

--1 x2245 +1 x1749 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata.source 1.0.0.v20080514-1900 

--1 x2245 +1 x1798 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata.repository.source 1.0.0.v20080604 

--1 x2245 +1 x1732 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.artifact.repository.source 1.0.0.v20080609-0850 

--1 x2245 +1 x1695 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.exemplarysetup.source 1.0.0.v20080427-2136 

--1 x2245 +1 x1707 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.touchpoint.eclipse.source 1.0.0.v20080529-1225 

--1 x2245 +1 x1804 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.touchpoint.natives.source 1.0.0.v20080505-1850 

--1 x2245 +1 x1702 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.frameworkadmin.source 1.0.0.v20080430-1750 

--1 x2245 +1 x1783 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.frameworkadmin.equinox.source 1.0.0.v20080529-1225 

--1 x2245 +1 x1796 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.console.source 1.0.0.v20080514-1900 

--1 x2245 +1 x1833 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.simpleconfigurator.manipulator.source 1.0.0.v20080427-2136 

--1 x2245 +1 x1655 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.ui.source 1.0.0.v20080530-1237 

--1 x2245 +1 x1784 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.ui.sdk.source 1.0.0.v20080605-1731 

--1 x2245 +1 x419 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.updatechecker.source 1.0.0.v20080427-2136 

--1 x2245 +1 x271 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.garbagecollector.source 1.0.0.v20080506-1939 

--1 x2245 +1 x1697 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.directorywatcher.source 1.0.0.v20080505-1850 

--1 x2245 +1 x1670 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.reconciler.dropins.source 1.0.0.v20080611 

--1 x2245 +1 x1642 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.metadata.generator.source 1.0.0.v20080604 

--1 x2245 +1 x1771 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.updatesite.source 1.0.0.v20080529-1800 

--1 x2245 +1 x1812 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.security.source 1.0.0.v20080512-1800 

--1 x2245 +1 x1676 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.security.ui.source 1.0.0.v20080603-1810 

--1 x2245 +1 x1848 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.extensionlocation.source 1.0.0.v20080523-0001 

--1 x2245 +1 x428 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.director.app.source 1.0.0.v20080604 

--1 x2245 +1 x1836 >= 0;

-* org.eclipse.equinox.p2.user.ui.source.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA requires either org.eclipse.equinox.p2.user.ui.source.feature.jar 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x2245 +1 x646 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1027 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1027 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1027 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1027 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1027 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1027 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1027 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1027 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1027 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x1027 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 

--1 x1027 +1 x182 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 

--1 x1027 +1 x1084 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x1027 +1 x1589 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 

--1 x1027 +1 x1057 >= 0;

-* org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1027 +1 x142 >= 0;

-* org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.doc.feature.group 2.0.0.v200806101117 

--1 x2881 +1 x2220 >= 0;

-* org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.source.feature.group 2.0.0.v200806101117 

--1 x2881 +1 x3127 >= 0;

-* org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 

--1 x2881 +1 x2541 >= 0;

-* org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.examples.feature.group 2.0.0.v200806101117 

--1 x2881 +1 x502 >= 0;

-* org.eclipse.m2m.atl.sdk.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.sdk.feature.jar 2.0.0.v200806101117 

--1 x2881 +1 x1866 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x2242 +1 x2612 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.jetty.source 1.1.0.v20080425 

--1 x2242 +1 x228 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.registry.source 1.0.100.v20080427-0830 

--1 x2242 +1 x1660 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.http.servlet.source 1.0.100.v20080427-0830 

--1 x2242 +1 x1780 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.jsp.jasper.source 1.0.100.v20080427-0830 

--1 x2242 +1 x1667 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.equinox.jsp.jasper.registry.source 1.0.0.v20080427-0830 

--1 x2242 +1 x1666 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.base.source 3.3.100.v20080617 

--1 x2242 +1 x1835 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.ui.source 3.3.100.v20080521 

--1 x2242 +1 x1792 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.webapp.source 3.3.100.v20080528 

--1 x2242 +1 x1819 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.ui.forms.source 3.3.100.v20080611 

--1 x2242 +1 x1845 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.osgi.services.source 3.1.200.v20071203 

--1 x2242 +1 x43 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.variables.source 3.2.100.v20080529-1300 

--1 x2242 +1 x1807 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.ant.core.source 3.2.0.v20080529 

--1 x2242 +1 x1728 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.runtime.compatibility.source 3.2.0.v20071008 

--1 x2242 +1 x1841 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.core.runtime.compatibility.registry.source 3.2.200.v20080610 

--1 x2242 +1 x1849 >= 0;

-* org.eclipse.help.source.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L requires either org.eclipse.help.source.feature.jar 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x2242 +1 x2162 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1028 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x1028 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x1028 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1028 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1028 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x1028 +1 x253 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1029 +1 x299 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1029 +1 x300 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x1029 +1 x255 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x1029 +1 x259 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 

--1 x1029 +1 x974 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1029 +1 x575 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1029 +1 x254 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1029 +1 x561 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1029 +1 x54 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 

--1 x1029 +1 x857 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x1029 +1 x253 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires optionaly either org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 

--1 x3129 -1 x3128>= -1 ;

- -1 x3128 1 x298 >= 0;

-* org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1029 +1 x159 >= 0;

- -1 x1029 1 x3129 1 x3128 >= 0;

-* javax.servlet.jsp 2.0.0.v200806031607 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x368 +1 x45 +1 x46 >= 0;

-* javax.servlet.jsp 2.0.0.v200806031607 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x368 +1 x45 +1 x46 >= 0;

-* javax.servlet.jsp 2.0.0.v200806031607 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x368 +1 x45 +1 x46 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1031 +1 x53 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1031 +1 x21 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.jet 0.9.0.v20080527 

--1 x1031 +1 x1100 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1031 +1 x74 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1031 +1 x75 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1031 +1 x54 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1031 +1 x57 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1031 +1 x70 >= 0;

-* org.eclipse.jet.ui 0.9.0.v20080527 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1031 +1 x73 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x520 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x520 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x520 +1 x74 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x520 +1 x147 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x520 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x520 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 

--1 x520 +1 x522 >= 0;

-* org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x520 +1 x159 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1033 +1 x54 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1033 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1033 +1 x19 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x1033 +1 x225 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1033 +1 x41 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1033 +1 x76 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1033 +1 x969 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x1033 +1 x1411 >= 0;

-* org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x1033 +1 x776 >= 0;

-* org.eclipse.emf.workspace.ui 1.2.0.v200805130238 requires either org.eclipse.emf.workspace 1.2.0.v200805130238 

--1 x1035 +1 x1273 >= 0;

-* org.eclipse.emf.workspace.ui 1.2.0.v200805130238 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1035 +1 x147 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1036 +1 x21 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1036 +1 x63 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1036 +1 x53 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.pde 3.4.0.v20080603 

--1 x1036 +1 x1501 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1036 +1 x76 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1036 +1 x637 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1036 +1 x54 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200809042225 requires either com.xored.composer.ui 1.3.4.200806270212 com.xored.composer.ui 1.3.4.200809042225 

--1 x1036 +1 x1056 +1 x690 >= 0;

-* org.slf4j.extendable 1.4.3 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1037 +1 x21 >= 0;

-* org.eclipse.hyades.logging.core 4.3.200.v200804110100 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x149 +1 x331 >= 0;

-* org.eclipse.hyades.logging.core 4.3.200.v200804110100 requires either org.apache.log4j 1.2.13.v200806030600 

--1 x149 +1 x1133 >= 0;

-* org.eclipse.hyades.logging.core 4.3.200.v200804110100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x149 +1 x21 >= 0;

-* org.eclipse.hyades.logging.core 4.3.200.v200804110100 requires either org.eclipse.hyades.execution 4.4.200.v200806120100 

--1 x149 +1 x1554 >= 0;

-* org.eclipse.hyades.logging.core 4.3.200.v200804110100 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x149 +1 x129 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1038 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1038 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1038 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1038 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x1038 +1 x677 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 

--1 x1038 +1 x869 >= 0;

-* org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1038 +1 x181 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1040 +1 x21 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1040 +1 x54 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1040 +1 x140 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1040 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1040 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1040 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3131 -1 x3130>= -1 ;

- -1 x3130 1 x113 >= 0;

- -1 x1040 1 x3131 1 x3130 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1042 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1042 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1042 +1 x53 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1042 +1 x57 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1042 +1 x174 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1042 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1042 +1 x136 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1042 +1 x183 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1042 +1 x142 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x1042 +1 x178 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1042 +1 x76 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1042 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x1042 +1 x78 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x258 +1 x883 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x258 +1 x299 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x258 +1 x300 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x258 +1 x256 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires optionaly either com.lowagie.itext 1.5.4.v20080228 

--1 x3133 -1 x3132>= -1 ;

- -1 x3132 1 x531 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires optionaly either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x3133 -1 x3134>= -1 ;

- -1 x3134 1 x1335 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x3133 -1 x3135>= -1 ;

- -1 x3135 1 x347 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x258 +1 x1444 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x258 +1 x865 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x258 +1 x1524 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x258 +1 x1328 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x258 +1 x1235 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x258 +1 x754 >= 0;

-* org.eclipse.birt.report.engine 2.3.0.v20080616 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x258 +1 x1204 >= 0;

- -1 x258 1 x3133 1 x3132 1 x3134 1 x3135 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1047 +1 x70 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1046 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1046 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1046 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1046 +1 x27 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1046 +1 x1507 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x1046 +1 x1441 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1046 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1046 +1 x23 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1046 +1 x49 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x1046 +1 x27 >= 0;

-* org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1046 +1 x23 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x152 +1 x54 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x152 +1 x140 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x152 +1 x21 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 

--1 x152 +1 x141 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either com.ibm.icu 3.8.1.v20080530 

--1 x152 +1 x142 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x152 +1 x57 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x152 +1 x131 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x152 +1 x137 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 

--1 x152 +1 x143 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 

--1 x152 +1 x151 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x152 +1 x130 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 

--1 x152 +1 x144 >= 0;

-* org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 requires either org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 

--1 x152 +1 x139 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1050 +1 x52 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x1050 +1 x414 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1050 +1 x254 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1050 +1 x63 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1050 +1 x54 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1050 +1 x57 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1050 +1 x140 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1050 +1 x61 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1050 +1 x59 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1050 +1 x70 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1050 +1 x73 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x1050 +1 x405 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x1050 +1 x404 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x1050 +1 x308 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1050 +1 x74 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.debug.core 2.3.0.v200806102 

--1 x1050 +1 x1401 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x1050 +1 x255 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x1050 +1 x259 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x1050 +1 x303 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 

--1 x1050 +1 x944 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 

--1 x1050 +1 x304 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 

--1 x1050 +1 x298 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 

--1 x1050 +1 x533 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x1050 +1 x253 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1050 +1 x258 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.birt.report.viewer 2.3.0.v20080606 

--1 x1050 +1 x534 >= 0;

-* org.eclipse.birt.report.debug.ui 2.3.0.v200806102 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1050 +1 x159 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2909 +1 x21 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2909 +1 x53 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2909 +1 x63 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2909 +1 x54 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2909 +1 x57 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2909 +1 x61 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2909 +1 x41 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2909 +1 x59 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x2909 +1 x136 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2909 +1 x70 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2909 +1 x71 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jet 0.9.0.v20080527 

--1 x2909 +1 x1100 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x2909 +1 x118 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2909 +1 x132 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2909 +1 x516 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jet.editor 0.9.0.v20080226 

--1 x2909 +1 x1253 >= 0;

-* org.eclipse.jet.editor.feature.group 0.9.0.v20080516-078-7w31191337 requires either org.eclipse.jet.editor.feature.jar 0.9.0.v20080516-078-7w31191337 

--1 x2909 +1 x2021 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.help.feature.group 1.0.0.v20080603-7r7xEHJEJkZu5nE6Q4Qrtvu6JZ9L 

--1 x4 +1 x2224 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires optionaly either org.eclipse.equinox.p2.user.ui.feature.group 1.0.0.v20080516-7d--ETu637E5se-QIGiA 

--1 x3137 -1 x3136>= -1 ;

- -1 x3136 1 x2956 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x4 +1 x893 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.compare 3.4.0.I20080604 

--1 x4 +1 x315 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.boot 3.1.100.v20080218 

--1 x4 +1 x935 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x4 +1 x639 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x4 +1 x160 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x4 +1 x316 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.net.win32.x86 1.0.0.I20080521 

--1 x4 +1 x912 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x4 +1 x53 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 

--1 x4 +1 x698 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.osgi.util 3.1.300.v20080303 

--1 x4 +1 x102 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x4 +1 x75 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x4 +1 x74 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.help.appserver 3.1.300.v20080507 

--1 x4 +1 x1054 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x4 +1 x178 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 

--1 x4 +1 x751 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform 3.3.100.v200806172000 

--1 x4 +1 x148 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform.doc.user 3.4.0.v20080612-1340 

--1 x4 +1 x713 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x4 +1 x81 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x4 +1 x971 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x4 +1 x984 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x4 +1 x68 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x4 +1 x63 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jsch.core 1.1.100.I20080604 

--1 x4 +1 x1594 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.jsch.ui 1.1.100.I20080415 

--1 x4 +1 x1157 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x4 +1 x133 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 

--1 x4 +1 x790 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x4 +1 x424 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x4 +1 x425 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x4 +1 x305 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x4 +1 x317 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x4 +1 x183 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x4 +1 x1495 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.net 1.0.0.I20080605 

--1 x4 +1 x1278 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x4 +1 x41 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x4 +1 x59 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x4 +1 x61 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x4 +1 x523 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x4 +1 x57 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.ide.application 1.0.0.I20080603-2000 

--1 x4 +1 x838 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.win32 3.2.100.v20080408-0800 

--1 x4 +1 x812 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x4 +1 x1185 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.scheduler 3.2.100.v20080404 

--1 x4 +1 x692 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.ui 3.2.100.v20080318 

--1 x4 +1 x1306 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 

--1 x4 +1 x666 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 

--1 x4 +1 x1485 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.core.resources.win32.x86 3.4.0.v20071204 

--1 x4 +1 x513 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.update.core.win32 3.2.100.v20080107 

--1 x4 +1 x841 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x4 +1 x136 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x4 +1 x209 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 

--1 x4 +1 x208 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 

--1 x4 +1 x1168 >= 0;

-* org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M requires either org.eclipse.platform.feature.jar 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x4 +1 x2039 >= 0;

- -1 x4 1 x3137 1 x3136 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1053 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x1053 +1 x1335 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1053 +1 x299 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1053 +1 x300 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1053 +1 x865 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either com.lowagie.itext 1.5.4.v20080228 

--1 x1053 +1 x531 >= 0;

-* org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1053 +1 x349 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples.source.feature.group 2.2.0.v200805131030 

--1 x2383 +1 x1637 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2383 +1 x21 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2383 +1 x53 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2383 +1 x57 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x2383 +1 x225 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.uml.editor 2.2.0.v200805131030 

--1 x2383 +1 x730 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples 2.1.0.v200805131030 

--1 x2383 +1 x1331 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 

--1 x2383 +1 x682 >= 0;

-* org.eclipse.uml2.examples.feature.group 2.2.0.v200805131030 requires either org.eclipse.uml2.examples.feature.jar 2.2.0.v200805131030 

--1 x2383 +1 x2139 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1058 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1058 +1 x159 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1058 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1058 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x1058 +1 x448 >= 0;

-* org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1058 +1 x142 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x224 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x224 +1 x53 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x224 +1 x57 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x224 +1 x642 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x224 +1 x147 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x224 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ui 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x224 +1 x114 >= 0;

-* org.eclipse.net4j.db.derby 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1062 +1 x21 >= 0;

-* org.eclipse.net4j.db.derby 1.0.0.v200806180305 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x1062 +1 x361 >= 0;

-* org.eclipse.net4j.db.derby 1.0.0.v200806180305 requires either org.apache.derby 10.1.2.1_v200803061811 org.apache.derby.core 10.3.1.4 

--1 x1062 +1 x741 +1 x1400 >= 0;

-* org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA requires either org.w3c.sac 1.3.0.v20070710 

--1 x1898 +1 x702 >= 0;

-* org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x1898 +1 x883 >= 0;

-* org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA requires either org.w3c.dom.smil 1.0.0.v200806040011 

--1 x1898 +1 x771 >= 0;

-* org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x1898 +1 x1235 >= 0;

-* org.w3c.sac.feature.group 1.3.0.v20080102-46-_kE77b7U_N56BA requires either org.w3c.sac.feature.jar 1.3.0.v20080102-46-_kE77b7U_N56BA 

--1 x1898 +1 x1597 >= 0;

-* org.eclipse.net4j.http.server 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3139 -1 x3138>= -1 ;

- -1 x3138 1 x21 >= 0;

-* org.eclipse.net4j.http.server 1.0.0.v200806180305 requires either org.eclipse.net4j.http.common 1.0.0.v200806180305 

--1 x1063 +1 x731 >= 0;

-* org.eclipse.net4j.http.server 1.0.0.v200806180305 requires either org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 

--1 x1063 +1 x431 >= 0;

-* org.eclipse.net4j.http.server 1.0.0.v200806180305 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1063 +1 x45 +1 x46 >= 0;

-* org.eclipse.net4j.http.server 1.0.0.v200806180305 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1063 +1 x45 +1 x46 >= 0;

- -1 x1063 1 x3139 1 x3138 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1068 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1068 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1068 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1068 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1068 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1068 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1068 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1068 +1 x1495 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1068 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1068 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1068 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x1068 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x1068 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x1068 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1068 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x1068 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x1068 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x1068 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x1068 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x1068 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x1068 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1068 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x1068 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1068 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1068 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1068 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x1068 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x1068 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1068 +1 x575 >= 0;

-* org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1068 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x259 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x259 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x259 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x259 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x259 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x259 +1 x41 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x259 +1 x63 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x259 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x259 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x259 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x259 +1 x140 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x259 +1 x340 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x259 +1 x256 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x259 +1 x257 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 

--1 x259 +1 x845 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 

--1 x259 +1 x1438 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x259 +1 x159 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x259 +1 x258 >= 0;

-* org.eclipse.birt.report.designer.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.adapter 2.3.0.v20080606 

--1 x259 +1 x1444 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x195 +1 x53 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x195 +1 x68 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x195 +1 x21 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x195 +1 x639 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x195 +1 x202 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x195 +1 x114 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires optionaly either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x3141 -1 x3140>= -1 ;

- -1 x3140 1 x218 1 x219 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either com.ibm.icu 3.8.1.v20080530 

--1 x195 +1 x142 >= 0;

-* org.eclipse.wst.sse.core 1.1.300.v200805221633 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x195 +1 x159 >= 0;

- -1 x195 1 x3141 1 x3140 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2932 +1 x4 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.platform.source.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2932 +1 x2241 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2932 +1 x2275 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.cvs.source.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2932 +1 x437 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2932 +1 x395 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.jdt.source.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x2932 +1 x2198 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2932 +1 x164 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.pde.source.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2932 +1 x2219 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires optionaly either org.eclipse.pde.p2.feature.group 1.0.0.v20080522-1--7w3119171503111 

--1 x3143 -1 x3142>= -1 ;

- -1 x3142 1 x163 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires optionaly either org.eclipse.pde.p2.source.feature.group 1.0.0.v20080522-1--7w3119171503111 

--1 x3143 -1 x3144>= -1 ;

- -1 x3144 1 x1890 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.sdk 3.4.0.v200806172000 

--1 x2932 +1 x903 >= 0;

-* org.eclipse.sdk.feature.group 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe requires either org.eclipse.sdk.feature.jar 3.4.0.v20080522-7O7S-CHEp2gcoGjmFFomLz-d5M8NdvuPgDrH17jw0Mvhe 

--1 x2932 +1 x2087 >= 0;

- -1 x2932 1 x3143 1 x3142 1 x3144 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1070 +1 x54 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1070 +1 x21 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either com.swtdesigner 6.7.0.200806270151 com.swtdesigner 6.7.1.200809050053 

--1 x1070 +1 x249 +1 x250 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1070 +1 x70 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 

--1 x1070 +1 x1237 +1 x649 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x1070 +1 x1297 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a 

--1 x1070 +1 x1365 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.jface.databinding 1.2.0.I20080515-2000a 

--1 x1070 +1 x668 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1070 +1 x71 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1070 +1 x53 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1070 +1 x140 >= 0;

-* com.instantiations.designer.databinding 6.7.1.200809050053 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1070 +1 x63 >= 0;

-* org.eclipse.emf.teneo.sdk.feature.group 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE requires either org.eclipse.emf.teneo.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x2934 +1 x2484 >= 0;

-* org.eclipse.emf.teneo.sdk.feature.group 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE requires either org.eclipse.emf.teneo.source.feature.group 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD 

--1 x2934 +1 x3126 >= 0;

-* org.eclipse.emf.teneo.sdk.feature.group 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE requires either org.eclipse.emf.teneo.doc.feature.group 1.0.0.v200806111928-1--7w311917222_39 

--1 x2934 +1 x1948 >= 0;

-* org.eclipse.emf.teneo.sdk.feature.group 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE requires either org.eclipse.emf.teneo.sdk.feature.jar 1.0.0.v200806111928-3--87D3BKcgLUKa6ESidYXUVVFGE 

--1 x2934 +1 x537 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.0.200806270034 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1071 +1 x254 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x1071 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.0.200806270034 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1071 +1 x561 >= 0;

-* com.windowtester.swt.runtime.gef 3.5.0.200806270034 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1071 +1 x54 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 

--1 x539 +1 x540 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 

--1 x539 +1 x545 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x539 +1 x54 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x539 +1 x21 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x539 +1 x53 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x539 +1 x115 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x539 +1 x70 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x539 +1 x73 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x539 +1 x71 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x539 +1 x63 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x539 +1 x118 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x539 +1 x132 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x539 +1 x57 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x539 +1 x969 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x539 +1 x1411 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x539 +1 x19 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x539 +1 x225 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x539 +1 x170 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x539 +1 x776 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x539 +1 x1300 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x539 +1 x1094 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel 0.7.0.v200806130939 

--1 x539 +1 x877 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 

--1 x539 +1 x735 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ui 2.4.0.v200806091234 

--1 x539 +1 x416 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x539 +1 x516 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.codegen 0.7.0.v200806130939 

--1 x539 +1 x879 >= 0;

-* org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.codegen.feature.jar 0.7.0.v200806130939 

--1 x539 +1 x2036 >= 0;

-* org.eclipse.birt.data 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x256 +1 x299 >= 0;

-* org.eclipse.birt.data 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 

--1 x256 +1 x1196 >= 0;

-* org.eclipse.birt.data 2.3.0.v20080606 requires either com.ibm.icu 3.8.1.v20080530 

--1 x256 +1 x142 >= 0;

-* org.eclipse.birt.data 2.3.0.v20080606 requires either org.mozilla.rhino 1.6.7.v20080214 

--1 x256 +1 x1419 >= 0;

-* org.eclipse.birt.data 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x256 +1 x343 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x140 +1 x21 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x140 +1 x561 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3146 -1 x3145>= -1 ;

- -1 x3145 1 x54 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x140 +1 x553 +1 x142 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x140 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x140 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.ui.forms 3.3.100.v20080611 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x140 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x140 1 x3146 1 x3145 >= 0;

-* org.eclipse.emf.common.ui 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x146 +1 x21 >= 0;

-* org.eclipse.emf.common.ui 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x146 +1 x54 >= 0;

-* org.eclipse.emf.common.ui 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x146 +1 x114 >= 0;

-* org.eclipse.emf.common.ui 2.4.0.v200806091234 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3148 -1 x3147>= -1 ;

- -1 x3147 1 x53 >= 0;

-* org.eclipse.emf.common.ui 2.4.0.v200806091234 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3148 -1 x3149>= -1 ;

- -1 x3149 1 x57 >= 0;

- -1 x146 1 x3148 1 x3147 1 x3149 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2960 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 

--1 x2960 +1 x205 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ui 2.4.0.v200806091234 

--1 x2960 +1 x224 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2960 +1 x54 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2960 +1 x53 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 

--1 x2960 +1 x204 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2960 +1 x145 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2960 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x2960 +1 x19 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x2960 +1 x225 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2960 +1 x170 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2960 +1 x147 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2960 +1 x57 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 

--1 x2960 +1 x1160 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 

--1 x2960 +1 x223 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 

--1 x2960 +1 x203 >= 0;

-* org.eclipse.emf.mapping.ecore.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.ecore.editor.feature.jar 2.4.0.v200806091234 

--1 x2960 +1 x2093 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x1079 +1 x65 >= 0;

-* org.eclipse.emf.validation.examples 1.2.0.v200805280204 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1080 +1 x54 >= 0;

-* org.eclipse.emf.validation.examples 1.2.0.v200805280204 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1080 +1 x21 >= 0;

-* org.eclipse.emf.validation.examples 1.2.0.v200805280204 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1080 +1 x53 >= 0;

-* org.eclipse.emf.validation.examples 1.2.0.v200805280204 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1080 +1 x57 >= 0;

-* org.mozilla.rhino.feature.group 1.6.7.v20071217-1567w31191325 requires either org.mozilla.rhino 1.6.7.v20080214 

--1 x1897 +1 x1419 >= 0;

-* org.mozilla.rhino.feature.group 1.6.7.v20071217-1567w31191325 requires either org.mozilla.rhino.feature.jar 1.6.7.v20071217-1567w31191325 

--1 x1897 +1 x2135 >= 0;

-* org.eclipse.team.svn.core 0.7.1.I20080612-1500 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x628 +1 x53 >= 0;

-* org.eclipse.team.svn.core 0.7.1.I20080612-1500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x628 +1 x21 >= 0;

-* org.eclipse.team.svn.core 0.7.1.I20080612-1500 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x628 +1 x971 >= 0;

-* org.eclipse.team.svn.core 0.7.1.I20080612-1500 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x628 +1 x160 >= 0;

-* org.eclipse.team.svn.core 0.7.1.I20080612-1500 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x628 +1 x316 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.common_ui.feature.feature.group 3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD 

--1 x3065 +1 x2367 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM 

--1 x3065 +1 x3150 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xml_core.feature.feature.group 3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP 

--1 x3065 +1 x2414 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x3065 +1 x4 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x3065 +1 x2401 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 

--1 x3065 +1 x2792 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 

--1 x3065 +1 x2446 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x3065 +1 x3 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 

--1 x3065 +1 x1602 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.dtd.ui 1.0.300.v200805152207 

--1 x3065 +1 x1449 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 

--1 x3065 +1 x727 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 

--1 x3065 +1 x1413 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 

--1 x3065 +1 x413 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x3065 +1 x197 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xml.ui 1.0.400.v200806051910 

--1 x3065 +1 x200 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xsd.ui 1.2.101.v200806051910 

--1 x3065 +1 x1417 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS requires either org.eclipse.wst.xml_ui.feature.feature.jar 3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS 

--1 x3065 +1 x391 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x239 +1 x54 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x239 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x239 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x239 +1 x147 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x239 +1 x19 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x239 +1 x1495 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x239 +1 x53 >= 0;

-* org.eclipse.emf.ecoretools 0.8.0.v200806130600 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x239 +1 x57 >= 0;

-* org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1085 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1085 +1 x53 >= 0;

-* org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1085 +1 x1012 >= 0;

-* org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1085 +1 x142 >= 0;

-* org.eclipse.m2m.atl.doc 2.0.0.v200806101117 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1090 +1 x76 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires either org.apache.lucene 1.9.1.v20080530-1600 

--1 x78 +1 x1241 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires either org.apache.lucene.analysis 1.9.1.v20080530-1600 

--1 x78 +1 x1496 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires optionaly either org.eclipse.ant.core 3.2.0.v20080529 

--1 x3152 -1 x3151>= -1 ;

- -1 x3151 1 x80 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x78 +1 x21 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires either org.eclipse.help 3.3.100.v20080610 

--1 x78 +1 x76 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x78 +1 x553 +1 x142 >= 0;

-* org.eclipse.help.base 3.3.100.v20080617 requires optionaly either org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.equinox.http.jetty 1.1.0.v20080425 

--1 x3152 -1 x3153>= -1 ;

- -1 x3153 1 x785 1 x807 >= 0;

- -1 x78 1 x3152 1 x3151 1 x3153 >= 0;

-* org.eclipse.emf.search.common 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1094 +1 x21 >= 0;

-* org.eclipse.emf.search.common 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1094 +1 x969 >= 0;

-* org.eclipse.emf.search.common 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1094 +1 x132 >= 0;

-* org.eclipse.emf.search.common 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1094 +1 x19 >= 0;

-* org.eclipse.emf.search.common 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1094 +1 x170 >= 0;

-* org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 requires either org.eclipse.team.svn.core 0.7.1.I20080612-1500 

--1 x631 +1 x628 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x12 +1 x57 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x12 +1 x53 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x12 +1 x54 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x12 +1 x72 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 

--1 x12 +1 x6 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x12 +1 x21 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x12 +1 x214 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x12 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.validation.ui 1.2.1.v200807292117 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x12 +1 x140 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.transaction.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3111 +1 x236 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.transaction.doc.feature.group 1.2.0.v200805130238-23-8s733I3D4A4C7H 

--1 x3111 +1 x2227 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.workspace.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3111 +1 x2313 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.workspace.doc.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3111 +1 x3154 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.transaction.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3111 +1 x2189 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.workspace.source.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3111 +1 x3006 >= 0;

-* org.eclipse.emf.transaction.sdk.feature.group 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e requires either org.eclipse.emf.transaction.sdk.feature.jar 1.2.0.v200805130238-67A-96O7itYUNHKyWxJik9JlG99e 

--1 x3111 +1 x2141 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1100 +1 x80 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1100 +1 x53 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1100 +1 x21 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1100 +1 x75 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x1100 +1 x114 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.emf.codegen 2.4.0.v200806091234 

--1 x1100 +1 x115 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1100 +1 x132 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1100 +1 x170 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x1100 +1 x68 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1100 +1 x159 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x1100 +1 x639 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1100 +1 x70 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1100 +1 x113 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3156 -1 x3155>= -1 ;

- -1 x3155 1 x54 >= 0;

-* org.eclipse.jet 0.9.0.v20080527 requires either org.eclipse.jet.core 1.1.0.v20080415 

--1 x1100 +1 x652 >= 0;

- -1 x1100 1 x3156 1 x3155 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x169 +1 x54 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x169 +1 x75 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x169 +1 x74 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x169 +1 x53 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x169 +1 x21 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x169 +1 x63 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x169 +1 x61 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x169 +1 x57 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x169 +1 x41 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x169 +1 x132 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x169 +1 x168 >= 0;

-* org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 

--1 x169 +1 x717 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x233 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x2192 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x3157 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x3158 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.source.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x3159 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.doc.feature.group 2.4.0.v200806091234 

--1 x2487 +1 x3007 >= 0;

-* org.eclipse.emf.ecore.sdo.sdk.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.sdk.feature.jar 2.4.0.v200806091234 

--1 x2487 +1 x2054 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1108 +1 x54 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1108 +1 x21 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1108 +1 x140 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1108 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1108 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.client 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1108 +1 x1507 >= 0;

-* org.eclipse.osgi.services 3.1.200.v20071203 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3161 -1 x3160>= -1 ;

- -1 x3160 1 x88 1 x45 1 x89 1 x46 >= 0;

-* org.eclipse.osgi.services 3.1.200.v20071203 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3161 -1 x3162>= -1 ;

- -1 x3162 1 x88 1 x45 1 x89 1 x46 >= 0;

-* org.eclipse.osgi.services 3.1.200.v20071203 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x49 +1 x23 >= 0;

-* org.eclipse.osgi.services 3.1.200.v20071203 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3161 -1 x3163>= -1 ;

- -1 x3163 1 x88 1 x45 1 x89 1 x46 >= 0;

-* org.eclipse.osgi.services 3.1.200.v20071203 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3161 -1 x3164>= -1 ;

- -1 x3164 1 x88 1 x45 1 x89 1 x46 >= 0;

- -1 x49 1 x3161 1 x3160 1 x3162 1 x3163 1 x3164 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1114 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1114 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1114 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1114 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1114 +1 x61 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1114 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1114 +1 x59 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1114 +1 x41 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1114 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1114 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1114 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1114 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x1114 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 

--1 x1114 +1 x1589 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1114 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1114 +1 x74 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1114 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1114 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x1114 +1 x1291 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1114 +1 x76 >= 0;

-* org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1114 +1 x177 >= 0;

-* org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x150 +1 x149 >= 0;

-* org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x150 +1 x53 >= 0;

-* org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 requires either com.ibm.icu 3.8.1.v20080530 

--1 x150 +1 x142 >= 0;

-* org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x150 +1 x130 >= 0;

-* org.eclipse.ecf.datashare 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1119 +1 x36 >= 0;

-* org.eclipse.ecf.datashare 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1119 +1 x24 >= 0;

-* org.eclipse.ecf.datashare 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1119 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.datashare 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1119 +1 x23 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2275 +1 x4 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.cvs 1.0.100.v20080603 

--1 x2275 +1 x728 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x2275 +1 x1294 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ssh 3.2.100.I20080604 

--1 x2275 +1 x799 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ssh2 3.2.200.I20080604 

--1 x2275 +1 x1585 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.team.cvs.ui 3.3.100.I20080604 

--1 x2275 +1 x900 >= 0;

-* org.eclipse.cvs.feature.group 1.1.0.v20080603-7C79E8M9EI99m9c9S requires either org.eclipse.cvs.feature.jar 1.1.0.v20080603-7C79E8M9EI99m9c9S 

--1 x2275 +1 x2046 >= 0;

-* org.eclipse.emf.edit 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x145 +1 x21 >= 0;

-* org.eclipse.emf.edit 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x145 +1 x114 >= 0;

-* org.eclipse.emf.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x145 +1 x132 >= 0;

-* org.eclipse.emf.edit 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x3166 -1 x3165>= -1 ;

- -1 x3165 1 x20 >= 0;

- -1 x145 1 x3166 1 x3165 >= 0;

-* org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x235 +1 x21 >= 0;

-* org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x235 +1 x132 >= 0;

-* org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either com.ibm.icu 3.8.1.v20080530 

--1 x235 +1 x142 >= 0;

-* org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query 1.2.0.v200805130238 

--1 x235 +1 x1358 >= 0;

-* org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.query.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x235 +1 x2104 >= 0;

-* org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1124 +1 x21 >= 0;

-* org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1124 +1 x36 >= 0;

-* org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1124 +1 x997 >= 0;

-* org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1124 +1 x39 +1 x23 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.eclipse.birt.chart.device.svg 2.3.0.v20080526 

--1 x1125 +1 x788 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x1125 +1 x191 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1125 +1 x865 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.eclipse.birt.chart.device.extension 2.3.0.v20080424 

--1 x1125 +1 x348 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.pdf 1.6.0.v200806031500 

--1 x1125 +1 x1061 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1125 +1 x1328 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x1125 +1 x1204 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1125 +1 x968 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x1125 +1 x1524 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x1125 +1 x754 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1125 +1 x1136 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.extension 1.6.0.v200805290154 

--1 x1125 +1 x720 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.parser 1.6.0.v200805290154 

--1 x1125 +1 x1217 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.svggen 1.6.0.v200805290154 

--1 x1125 +1 x1201 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.swing 1.6.0.v200805290154 

--1 x1125 +1 x1187 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x1125 +1 x1317 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x1125 +1 x1238 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x1125 +1 x1235 >= 0;

-* org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 requires either org.apache.xerces 2.9.0.v200805270400 

--1 x1125 +1 x347 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3 +1 x21 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3 +1 x59 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x3 +1 x65 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x3 +1 x561 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ 

--1 x3 +1 x557 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.gef 3.4.0.v20080526 

--1 x3 +1 x254 >= 0;

-* org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.gef.feature.jar 3.4.0.v20080115-677-8082A5696H274A 

--1 x3 +1 x1886 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x1126 +1 x948 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x1126 +1 x948 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1126 +1 x23 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1126 +1 x49 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1126 +1 x49 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1126 +1 x49 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi.util 3.1.300.v20080303 

--1 x1126 +1 x102 >= 0;

-* org.eclipse.equinox.wireadmin 1.0.0.v20080407 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1126 +1 x23 >= 0;

-* org.eclipse.wst.internet.cache 1.0.301.v200805140020 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x11 +1 x54 >= 0;

-* org.eclipse.wst.internet.cache 1.0.301.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x11 +1 x21 >= 0;

-* org.eclipse.wst.internet.cache 1.0.301.v200805140020 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x11 +1 x202 >= 0;

-* org.eclipse.wst.internet.cache 1.0.301.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x11 +1 x53 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x2311 +1 x754 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x2311 +1 x968 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x2311 +1 x1204 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x2311 +1 x1136 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x2311 +1 x865 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.svggen 1.6.0.v200805290154 

--1 x2311 +1 x1201 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x2311 +1 x1328 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x2311 +1 x1235 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.xerces 2.9.0.v200805270400 

--1 x2311 +1 x347 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.xml.resolver 1.2.0.v200806030312 

--1 x2311 +1 x1175 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x2311 +1 x1524 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x2311 +1 x1317 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.parser 1.6.0.v200805290154 

--1 x2311 +1 x1217 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x2311 +1 x1238 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x2311 +1 x883 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.w3c.dom.smil 1.0.0.v200806040011 

--1 x2311 +1 x771 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either javax.xml 1.3.4.v200806030440 

--1 x2311 +1 x371 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.xml.serializer 2.7.1.v200806030322 

--1 x2311 +1 x998 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.apache.batik.pdf 1.6.0.v200806031500 

--1 x2311 +1 x1061 >= 0;

-* org.eclipse.gmf.runtime.thirdparty.feature.group 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP requires either org.eclipse.gmf.runtime.thirdparty.feature.jar 1.1.0.v20080328-1605-7K8V4EFp_acwc90fc4fP 

--1 x2311 +1 x2019 >= 0;

-* org.mx4j.jmx 3.0.3.v200802291451 requires either org.eclipse.hyades.execution 4.4.200.v200806120100 

--1 x1129 +1 x1554 >= 0;

-* com.windowtester.runtime 3.5.0.200806270034 requires either org.junit 3.8.2.v20080602-1318 

--1 x373 +1 x409 >= 0;

-* com.windowtester.runtime 3.5.0.200806270034 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x373 +1 x86 +1 x87 >= 0;

-* com.windowtester.runtime 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x373 +1 x21 >= 0;

-* com.windowtester.runtime 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x373 +1 x72 >= 0;

-* com.windowtester.runtime 3.5.0.200806270034 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x373 +1 x561 >= 0;

-* org.eclipse.ocl 1.2.0.v200806091438 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x358 +1 x21 >= 0;

-* org.eclipse.ocl 1.2.0.v200806091438 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x358 +1 x132 >= 0;

-* org.eclipse.ocl 1.2.0.v200806091438 requires optionaly either com.ibm.icu 3.8.1.v20080530 

--1 x3168 -1 x3167>= -1 ;

- -1 x3167 1 x142 >= 0;

-* org.eclipse.ocl 1.2.0.v200806091438 requires either net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 

--1 x358 +1 x1514 >= 0;

- -1 x358 1 x3168 1 x3167 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x600 +1 x598 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires either javax.xml.soap 1.2.0.v200806030421 

--1 x600 +1 x599 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires either javax.wsdl 1.5.1.v200806030408 

--1 x600 +1 x1381 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires either org.apache.commons.discovery 0.2.0.v200806030120 

--1 x600 +1 x881 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3170 -1 x3169>= -1 ;

- -1 x3169 1 x113 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x3170 -1 x3171>= -1 ;

- -1 x3171 1 x331 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x3170 -1 x3172>= -1 ;

- -1 x3172 1 x331 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x3170 -1 x3173>= -1 ;

- -1 x3173 1 x45 1 x46 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x3170 -1 x3174>= -1 ;

- -1 x3174 1 x45 1 x46 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either javax.activation 1.1.0.v200806101325 com.instantiations.eclipse.mail 5.5.0 javax.activation 1.1.0.v200804101140 com.instantiations.eclipse.mail 5.5.1 

--1 x3170 -1 x3175>= -1 ;

- -1 x3175 1 x1122 1 x732 1 x913 1 x663 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either javax.mail 1.4.0.v200804091730 com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x3170 -1 x3176>= -1 ;

- -1 x3176 1 x991 1 x732 1 x663 >= 0;

-* org.apache.axis 1.4.0.v200807230600 requires optionaly either javax.mail 1.4.0.v200804091730 com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x3170 -1 x3177>= -1 ;

- -1 x3177 1 x991 1 x732 1 x663 >= 0;

- -1 x600 1 x3170 1 x3169 1 x3171 1 x3172 1 x3173 1 x3174 1 x3175 1 x3176 1 x3177 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1134 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x1134 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1134 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x1134 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1134 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x1134 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1134 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1134 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3179 -1 x3178>= -1 ;

- -1 x3178 1 x57 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3179 -1 x3180>= -1 ;

- -1 x3180 1 x59 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3179 -1 x3181>= -1 ;

- -1 x3181 1 x61 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3179 -1 x3182>= -1 ;

- -1 x3182 1 x63 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3179 -1 x3183>= -1 ;

- -1 x3183 1 x41 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3179 -1 x3184>= -1 ;

- -1 x3184 1 x57 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x3179 -1 x3185>= -1 ;

- -1 x3185 1 x68 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3179 -1 x3186>= -1 ;

- -1 x3186 1 x63 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x3179 -1 x3187>= -1 ;

- -1 x3187 1 x52 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3179 -1 x3188>= -1 ;

- -1 x3188 1 x23 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1134 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1134 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1134 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1134 +1 x21 >= 0;

- -1 x1134 1 x3179 1 x3178 1 x3180 1 x3181 1 x3182 1 x3183 1 x3184 1 x3185 1 x3186 1 x3187 1 x3188 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x2516 +1 x24 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x2516 +1 x26 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2516 +1 x23 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2516 +1 x49 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2516 +1 x76 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x2516 +1 x424 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x2516 +1 x425 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2516 +1 x54 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x2516 +1 x32 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.jivesoftware.smack 2.2.1 

--1 x2516 +1 x1544 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x2516 +1 x25 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2516 +1 x63 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2516 +1 x21 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2516 +1 x61 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2516 +1 x140 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x2516 +1 x159 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x2516 +1 x136 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x2516 +1 x133 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x2516 +1 x160 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2516 +1 x57 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x2516 +1 x893 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2516 +1 x36 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x2516 +1 x655 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2516 +1 x41 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x2516 +1 x796 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x2516 +1 x709 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.jivesoftware.smack 2.2.1 

--1 x2516 +1 x1544 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x2516 +1 x921 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x2516 +1 x1119 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x2516 +1 x997 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.doc 1.3.0.v20080623-0046 

--1 x2516 +1 x423 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x2516 +1 x37 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x2516 +1 x1255 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 

--1 x2516 +1 x1259 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 

--1 x2516 +1 x672 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 

--1 x2516 +1 x1209 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 

--1 x2516 +1 x1518 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x2516 +1 x1219 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x2516 +1 x583 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.server 1.3.0.v20080623-0046 

--1 x2516 +1 x1530 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 

--1 x2516 +1 x1406 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 

--1 x2516 +1 x1555 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x2516 +1 x582 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 

--1 x2516 +1 x701 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 

--1 x2516 +1 x707 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x2516 +1 x1141 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 

--1 x2516 +1 x1206 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 

--1 x2516 +1 x1397 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 

--1 x2516 +1 x704 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 

--1 x2516 +1 x1415 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 

--1 x2516 +1 x35 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 

--1 x2516 +1 x836 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 

--1 x2516 +1 x676 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 

--1 x2516 +1 x843 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 

--1 x2516 +1 x1525 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 

--1 x2516 +1 x38 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 

--1 x2516 +1 x1184 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.core.source 2.0.0.v20080623-0046 

--1 x2516 +1 x1453 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 

--1 x2516 +1 x1490 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.docshare 2.0.0.v20080623-0046 

--1 x2516 +1 x890 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 

--1 x2516 +1 x1124 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 

--1 x2516 +1 x1567 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 

--1 x2516 +1 x1588 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either ch.ethz.iks.slp 1.0.0.RC4_v200806091030 

--1 x2516 +1 x992 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 

--1 x2516 +1 x691 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.protocol.bittorrent 0.3.0 

--1 x2516 +1 x1041 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 

--1 x2516 +1 x1324 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 

--1 x2516 +1 x1244 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.objectweb.asm 3.0.0.v200803061811 

--1 x2516 +1 x1140 >= 0;

-* org.eclipse.ecf.core.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.core.feature.jar 2.0.0.v20080623-0046 

--1 x2516 +1 x2120 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x2444 +1 x1410 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2444 +1 x21 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x2444 +1 x940 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x2444 +1 x358 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x2444 +1 x710 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.validation.ocl 1.2.0.v200805130238 

--1 x2444 +1 x1271 >= 0;

-* org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.validation.ocl.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x2444 +1 x2136 >= 0;

-* org.apache.batik.ext.awt 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1136 +1 x1328 >= 0;

-* org.apache.batik.ext.awt 1.6.0.v200805290154 requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x1136 +1 x1317 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1137 +1 x21 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1137 +1 x53 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1137 +1 x54 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1137 +1 x57 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1137 +1 x147 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1137 +1 x19 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1137 +1 x353 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.net4j.util.ui 1.0.0.v200806180305 

--1 x1137 +1 x1298 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x1137 +1 x594 >= 0;

-* org.eclipse.emf.cdo.ui 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.edit 1.0.0.v200806180411 

--1 x1137 +1 x659 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x561 +1 x72 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x561 +1 x1012 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x561 +1 x24 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x561 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x561 +1 x23 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x561 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.jface 3.4.0.I20080606-1300 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x561 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.uml2.uml 2.2.0.v200805141133 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x603 +1 x21 >= 0;

-* org.eclipse.uml2.uml 2.2.0.v200805141133 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x603 +1 x132 >= 0;

-* org.eclipse.uml2.uml 2.2.0.v200805141133 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x603 +1 x170 >= 0;

-* org.eclipse.uml2.uml 2.2.0.v200805141133 requires either org.eclipse.uml2.common 1.4.0.v200805131030 

--1 x603 +1 x18 >= 0;

-* org.eclipse.uml2.uml 2.2.0.v200805141133 requires either org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 

--1 x603 +1 x204 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1627 +1 x21 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1627 +1 x132 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1627 +1 x170 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1627 +1 x53 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare 0.8.0.v200806180301 

--1 x1627 +1 x766 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.diff 0.8.0.v200806180301 

--1 x1627 +1 x1322 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 

--1 x1627 +1 x1020 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.match 0.8.0.v200806180301 

--1 x1627 +1 x723 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.ui 0.8.0.v200806180301 

--1 x1627 +1 x1566 >= 0;

-* org.eclipse.emf.compare.feature.group 0.8.0.v200806180301 requires either org.eclipse.emf.compare.feature.jar 0.8.0.v200806180301 

--1 x1627 +1 x420 >= 0;

-* org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1141 +1 x997 >= 0;

-* org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1141 +1 x36 >= 0;

-* org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1141 +1 x21 >= 0;

-* org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x1141 +1 x1219 >= 0;

-* org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1141 +1 x136 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.ant.ui 3.3.0.v20080529 

--1 x1144 +1 x397 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1144 +1 x21 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1144 +1 x74 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1144 +1 x63 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1144 +1 x54 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1144 +1 x61 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1144 +1 x57 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1144 +1 x59 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1144 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1144 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x1144 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x1144 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1144 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1144 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1148 +1 x24 >= 0;

-* org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1148 +1 x875 >= 0;

-* org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1148 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1148 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1148 +1 x23 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1149 +1 x21 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1149 +1 x54 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1149 +1 x53 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1149 +1 x63 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1149 +1 x57 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1149 +1 x61 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1149 +1 x36 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1149 +1 x921 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1149 +1 x997 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x1149 +1 x1141 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1149 +1 x1255 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1149 +1 x583 >= 0;

-* org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 requires either org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 

--1 x1149 +1 x1206 >= 0;

-* org.eclipse.emf.databinding 1.0.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1153 +1 x21 >= 0;

-* org.eclipse.emf.databinding 1.0.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1153 +1 x132 >= 0;

-* org.eclipse.emf.databinding 1.0.0.v200806091234 requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x1153 +1 x1297 >= 0;

-* org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ requires either com.ibm.icu 3.8.1.v20080530 

--1 x557 +1 x142 >= 0;

-* org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x557 +1 x575 >= 0;

-* org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ requires either org.eclipse.draw2d.feature.jar 3.4.0.v20080115-33-7w3119163_ 

--1 x557 +1 x100 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1155 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1155 +1 x254 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1155 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 

--1 x1155 +1 x695 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1155 +1 x445 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2541 +1 x21 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2541 +1 x132 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2541 +1 x170 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2541 +1 x53 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2541 +1 x75 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2541 +1 x54 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2541 +1 x74 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2541 +1 x63 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2541 +1 x61 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2541 +1 x57 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2541 +1 x41 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2541 +1 x59 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x2541 +1 x133 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x2541 +1 x1185 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 

--1 x2541 +1 x503 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl 2.0.0.v200806101117 

--1 x2541 +1 x858 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 

--1 x2541 +1 x1498 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 

--1 x2541 +1 x169 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 

--1 x2541 +1 x167 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 

--1 x2541 +1 x1030 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 

--1 x2541 +1 x1423 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 

--1 x2541 +1 x187 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 

--1 x2541 +1 x1261 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 

--1 x2541 +1 x1313 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x2541 +1 x168 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 

--1 x2541 +1 x595 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 

--1 x2541 +1 x717 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 

--1 x2541 +1 x434 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.antlr.runtime 3.0.0.v200803061811 

--1 x2541 +1 x1552 >= 0;

-* org.eclipse.m2m.atl.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.feature.jar 2.0.0.v200806101117 

--1 x2541 +1 x2030 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3157 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 

--1 x3157 +1 x1314 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x3157 +1 x145 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x3157 +1 x132 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x3157 +1 x19 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x3157 +1 x20 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 

--1 x3157 +1 x953 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 

--1 x3157 +1 x866 >= 0;

-* org.eclipse.emf.ecore.sdo.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.edit.feature.jar 2.4.0.v200806091234 

--1 x3157 +1 x2037 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1161 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1161 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1161 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1161 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1161 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1161 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1161 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1161 +1 x175 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1161 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1161 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1161 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1161 +1 x160 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1162 +1 x299 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1162 +1 x300 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1162 +1 x258 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 

--1 x1162 +1 x1335 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either com.lowagie.itext 1.5.4.v20080228 

--1 x1162 +1 x531 >= 0;

-* org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x1162 +1 x865 >= 0;

-* org.eclipse.draw2d 3.4.0.v20080529 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x575 +1 x72 >= 0;

-* org.eclipse.draw2d 3.4.0.v20080529 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x575 +1 x553 +1 x142 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2554 +1 x36 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x2554 +1 x37 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 

--1 x2554 +1 x1518 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x2554 +1 x921 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x2554 +1 x582 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2554 +1 x54 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x2554 +1 x583 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2554 +1 x21 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2554 +1 x23 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2554 +1 x53 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2554 +1 x63 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2554 +1 x57 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2554 +1 x61 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x2554 +1 x997 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x2554 +1 x1141 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x2554 +1 x1255 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 

--1 x2554 +1 x1206 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x2554 +1 x1119 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 

--1 x2554 +1 x1259 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2554 +1 x36 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x2554 +1 x997 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x2554 +1 x1141 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x2554 +1 x1219 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 

--1 x2554 +1 x1374 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x2554 +1 x583 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.update.ui 3.2.100.v20080318 

--1 x2554 +1 x1306 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x2554 +1 x24 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x2554 +1 x45 +1 x46 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2554 +1 x49 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 

--1 x2554 +1 x691 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x2554 +1 x32 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 

--1 x2554 +1 x1339 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 

--1 x2554 +1 x1149 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 

--1 x2554 +1 x1587 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 

--1 x2554 +1 x949 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 

--1 x2554 +1 x1427 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 

--1 x2554 +1 x1374 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 

--1 x2554 +1 x816 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 

--1 x2554 +1 x1550 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 

--1 x2554 +1 x1581 >= 0;

-* org.eclipse.ecf.examples.feature.group 2.0.0.v20080623-0046 requires either org.eclipse.ecf.examples.feature.jar 2.0.0.v20080623-0046 

--1 x2554 +1 x1641 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x583 +1 x36 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x583 +1 x37 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x583 +1 x63 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x583 +1 x54 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x583 +1 x21 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x583 +1 x655 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x583 +1 x921 >= 0;

-* org.eclipse.ecf.ui 2.0.0.v20080623-0046 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3190 -1 x3189>= -1 ;

- -1 x3189 1 x61 >= 0;

- -1 x583 1 x3190 1 x3189 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1167 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1167 +1 x340 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x1167 +1 x343 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x1167 +1 x1377 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x200 +1 x57 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x200 +1 x59 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x200 +1 x63 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x200 +1 x41 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.wst.sse.ui 1.1.0.v200806041847 

--1 x200 +1 x196 +1 x197 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x200 +1 x194 +1 x195 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x200 +1 x54 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x200 +1 x53 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x200 +1 x21 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x200 +1 x202 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x200 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.common.ui 1.1.301.v200805140415 

--1 x200 +1 x10 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x200 +1 x218 +1 x219 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either com.ibm.icu 3.8.1.v20080530 

--1 x200 +1 x142 >= 0;

-* org.eclipse.wst.xml.ui 1.0.400.v200806051910 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x200 +1 x159 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x281 +1 x21 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x281 +1 x54 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x281 +1 x140 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x281 +1 x315 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x281 +1 x159 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x281 +1 x316 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x281 +1 x53 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x281 +1 x63 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x281 +1 x81 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x281 +1 x317 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x281 +1 x61 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x281 +1 x57 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x281 +1 x59 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x281 +1 x41 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x281 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x281 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x281 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x281 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x281 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x281 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x281 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x281 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x281 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x281 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x281 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.rcp.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x281 +1 x1942 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x1559 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x318 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x433 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x321 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x324 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x260 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x1006 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x281 +1 x331 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x281 +1 x349 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x281 +1 x1003 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x281 +1 x1515 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x263 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x272 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x275 >= 0;

-* org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x281 +1 x2092 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1170 +1 x57 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1170 +1 x59 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1170 +1 x145 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1170 +1 x170 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1170 +1 x147 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1170 +1 x63 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1170 +1 x310 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x1170 +1 x150 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x1170 +1 x149 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1170 +1 x41 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1170 +1 x53 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1170 +1 x142 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1170 +1 x54 >= 0;

-* org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x1170 +1 x130 >= 0;

-* org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2387 +1 x21 >= 0;

-* org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2387 +1 x114 >= 0;

-* org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2387 +1 x132 >= 0;

-* org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2387 +1 x145 >= 0;

-* org.eclipse.emf.edit.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.feature.jar 2.4.0.v200806091234 

--1 x2387 +1 x2124 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x322 +1 x54 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x322 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x322 +1 x317 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x322 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x322 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x322 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM requires either org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 

--1 x3150 +1 x694 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM requires either org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 

--1 x3150 +1 x1232 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM requires either org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 

--1 x3150 +1 x922 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM requires either org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 

--1 x3150 +1 x1076 >= 0;

-* org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM requires either org.eclipse.wst.xml_userdoc.feature.feature.jar 3.0.0.v200805040310-40EGk_kE77c7QCI9GGM 

--1 x3150 +1 x2073 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1173 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1173 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1173 +1 x53 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1173 +1 x21 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1173 +1 x70 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1173 +1 x71 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.1 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1173 +1 x561 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2296 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2296 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.sqldevtools.feature.feature.group 1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ 

--1 x2296 +1 x616 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2296 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 

--1 x2296 +1 x180 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 

--1 x2296 +1 x742 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 

--1 x2296 +1 x184 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 

--1 x2296 +1 x752 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 

--1 x2296 +1 x1437 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 

--1 x2296 +1 x1199 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 

--1 x2296 +1 x173 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 

--1 x2296 +1 x1073 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 

--1 x2296 +1 x176 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 

--1 x2296 +1 x1320 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 

--1 x2296 +1 x185 >= 0;

-* org.eclipse.datatools.enablement.sybase.feature.feature.group 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F requires either org.eclipse.datatools.enablement.sybase.feature.feature.jar 1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F 

--1 x2296 +1 x2153 >= 0;

-* org.eclipse.emf.ecore.sdo.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 

--1 x3159 +1 x1231 >= 0;

-* org.eclipse.emf.ecore.sdo.source.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.source.feature.jar 2.4.0.v200806091234 

--1 x3159 +1 x2033 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.draw2d.feature.group 3.4.0.v20080115-33-7w3119163_ 

--1 x2568 +1 x557 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2568 +1 x21 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2568 +1 x59 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x2568 +1 x65 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x2568 +1 x561 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.zest.core 1.0.0.v20080115 

--1 x2568 +1 x1281 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.zest.layouts 1.0.0.v20080226 

--1 x2568 +1 x1362 >= 0;

-* org.eclipse.zest.feature.group 1.0.0.v20080115-53-8xB4CE899O274A requires either org.eclipse.zest.feature.jar 1.0.0.v20080115-53-8xB4CE899O274A 

--1 x2568 +1 x2082 >= 0;

-* org.eclipse.gef.source.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.gef.doc.isv 3.4.0.v20080606 

--1 x2438 +1 x1174 >= 0;

-* org.eclipse.gef.source.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A 

--1 x2438 +1 x982 >= 0;

-* org.eclipse.gef.source.feature.group 3.4.0.v20080115-677-8082A5696H274A requires either org.eclipse.gef.source.feature.jar 3.4.0.v20080115-677-8082A5696H274A 

--1 x2438 +1 x2119 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1178 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1178 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1178 +1 x445 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 

--1 x1178 +1 x1143 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 

--1 x1178 +1 x1337 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.core.databinding 1.1.0.I20080527-2000 

--1 x1178 +1 x1297 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a 

--1 x1178 +1 x1365 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.jface.databinding 1.2.0.I20080515-2000a 

--1 x1178 +1 x668 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 

--1 x1178 +1 x1478 >= 0;

-* org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 

--1 x1178 +1 x999 >= 0;

-* org.eclipse.team.svn 0.7.1.I20080612-1500 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x1180 +1 x424 >= 0;

-* org.eclipse.team.svn 0.7.1.I20080612-1500 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x1180 +1 x425 >= 0;

-* org.eclipse.team.svn 0.7.1.I20080612-1500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1180 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.emf.feature.group 2.4.0.v200806091234 

--1 x508 +1 x233 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.oda.feature.feature.group 1.6.0.v200804021-7F27KBcMAAwAeIeHbVf 

--1 x508 +1 x1910 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x508 +1 x1911 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x508 +1 x614 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x508 +1 x257 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 

--1 x508 +1 x1468 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 

--1 x508 +1 x1442 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 

--1 x508 +1 x1042 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x508 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x508 +1 x181 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x508 +1 x177 >= 0;

-* org.eclipse.datatools.connectivity.oda.designer.feature.feature.group 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha requires either org.eclipse.datatools.connectivity.oda.designer.feature.feature.jar 1.6.0.v200804260945-7C67HCYQCD4CnIkMYha 

--1 x508 +1 x1931 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1184 +1 x54 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1184 +1 x21 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1184 +1 x36 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.datashare 1.3.0.v20080623-0046 

--1 x1184 +1 x1119 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x1184 +1 x37 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x1184 +1 x582 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x1184 +1 x133 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1184 +1 x63 >= 0;

-* org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1184 +1 x583 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1185 +1 x21 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either org.eclipse.update.configurator 3.2.200.v20080417 

--1 x1185 +1 x638 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1185 +1 x316 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1185 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1185 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1185 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.update.core 3.2.200.v20080515 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1185 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x1187 +1 x968 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x1187 +1 x1204 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x1187 +1 x754 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1187 +1 x1136 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1187 +1 x1328 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x1187 +1 x1317 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x1187 +1 x1238 >= 0;

-* org.apache.batik.swing 1.6.0.v200805290154 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x1187 +1 x1235 >= 0;

-* org.eclipse.wst.command.env.core 1.0.204.v200805140020 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1186 +1 x214 >= 0;

-* org.eclipse.wst.command.env.core 1.0.204.v200805140020 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1186 +1 x1012 >= 0;

-* org.eclipse.wst.command.env.core 1.0.204.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1186 +1 x21 >= 0;

-* org.eclipse.wst.command.env.core 1.0.204.v200805140020 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x1186 +1 x861 +1 x101 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1190 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.0 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1190 +1 x81 >= 0;

-* com.instantiations.assist.eclipse.fragment.jdt 5.5.0 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1190 +1 x971 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x524 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x524 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x524 +1 x70 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x524 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x524 +1 x146 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x524 +1 x308 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x524 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x524 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x524 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x524 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x524 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x524 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 

--1 x524 +1 x525 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x1192 +1 x984 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1192 +1 x971 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.cvs.ui 3.3.100.I20080604 

--1 x1192 +1 x900 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x1192 +1 x1294 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1192 +1 x561 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1192 +1 x53 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1192 +1 x21 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x1192 +1 x65 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1192 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1192 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1192 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x 

--1 x1192 +1 x1089 +1 x786 +1 x1583 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1192 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1192 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x202 +1 x21 >= 0;

-* org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x202 +1 x53 >= 0;

-* org.eclipse.emf.query.examples 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1198 +1 x21 >= 0;

-* org.eclipse.emf.query.examples 1.2.0.v200805130238 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1198 +1 x54 >= 0;

-* org.eclipse.emf.query.examples 1.2.0.v200805130238 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1198 +1 x53 >= 0;

-* org.eclipse.emf.query.examples 1.2.0.v200805130238 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1198 +1 x57 >= 0;

-* org.eclipse.buckminster.runtime 1.1.0.r09338 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x386 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1200 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1200 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1200 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1200 +1 x61 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1200 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1200 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x1200 +1 x181 >= 0;

-* org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1200 +1 x1290 >= 0;

-* org.eclipse.help.ui 3.3.100.v20080521 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x79 +1 x78 >= 0;

-* org.eclipse.help.ui 3.3.100.v20080521 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x79 +1 x54 >= 0;

-* org.eclipse.help.ui 3.3.100.v20080521 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x79 +1 x21 >= 0;

-* org.eclipse.help.ui 3.3.100.v20080521 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x79 +1 x140 >= 0;

-* org.eclipse.help.ui 3.3.100.v20080521 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x79 +1 x553 +1 x142 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 

--1 x2599 +1 x540 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2599 +1 x54 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2599 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.ui 0.7.0.v200806130939 

--1 x2599 +1 x1300 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 

--1 x2599 +1 x264 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 

--1 x2599 +1 x449 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 

--1 x2599 +1 x266 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x2599 +1 x776 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x2599 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2599 +1 x57 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x2599 +1 x445 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x2599 +1 x1571 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 

--1 x2599 +1 x240 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 

--1 x2599 +1 x762 >= 0;

-* org.eclipse.emf.ecoretools.diagram.search.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.ecoretools.diagram.search.feature.jar 0.7.0.v200806130939 

--1 x2599 +1 x2011 >= 0;

-* com.windowtester.swt.runtime.win32 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1207 +1 x72 >= 0;

-* org.eclipse.emf.cdo.examples 1.0.0.v200806180411 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3192 -1 x3191>= -1 ;

- -1 x3191 1 x21 >= 0;

-* org.eclipse.emf.cdo.examples 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x1208 +1 x594 >= 0;

-* org.eclipse.emf.cdo.examples 1.0.0.v200806180411 requires either org.eclipse.net4j.tcp 1.0.0.v200806180305 

--1 x1208 +1 x860 >= 0;

-* org.eclipse.emf.cdo.examples 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 

--1 x1208 +1 x593 >= 0;

- -1 x1208 1 x3192 1 x3191 >= 0;

-* org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x1210 +1 x1359 >= 0;

-* org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1210 +1 x145 >= 0;

-* org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1210 +1 x19 >= 0;

-* org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1210 +1 x21 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1209 +1 x24 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1209 +1 x36 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1209 +1 x921 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.ecf.provider 1.3.0.v20080623-0046 

--1 x1209 +1 x1255 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 

--1 x1209 +1 x1219 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1209 +1 x997 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1209 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1209 +1 x23 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x527 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.externaltools 3.2.0.v20080514-1542 

--1 x527 +1 x523 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x527 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x527 +1 x74 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x527 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x527 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x527 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x527 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x527 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 

--1 x527 +1 x522 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 

--1 x527 +1 x526 >= 0;

-* org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x527 +1 x147 >= 0;

-* org.apache.batik.parser 1.6.0.v200805290154 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x1217 +1 x1136 >= 0;

-* org.apache.batik.parser 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1217 +1 x1328 >= 0;

-* org.apache.batik.parser 1.6.0.v200805290154 requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x1217 +1 x1238 >= 0;

-* org.apache.batik.parser 1.6.0.v200805290154 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x1217 +1 x1235 >= 0;

-* org.eclipse.emf.mint.sdk.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 

--1 x2608 +1 x2770 >= 0;

-* org.eclipse.emf.mint.sdk.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.doc.feature.group 0.7.0.v200806172223 

--1 x2608 +1 x1916 >= 0;

-* org.eclipse.emf.mint.sdk.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.source.feature.group 0.7.0.v200806172223 

--1 x2608 +1 x2357 >= 0;

-* org.eclipse.emf.mint.sdk.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.sdk.feature.jar 0.7.0.v200806172223 

--1 x2608 +1 x2133 >= 0;

-* tooling.osgi.bundle.default 1.0.0 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2965 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either com.ibm.icu.source 3.8.1.v20080530 

--1 x2612 +1 x1830 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.commands.source 3.4.0.I20080509-2000 

--1 x2612 +1 x296 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.databinding.source 1.1.0.I20080527-2000 

--1 x2612 +1 x1680 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.databinding.beans.source 1.1.0.I20080508-2000a 

--1 x2612 +1 x1781 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.jobs.source 3.4.0.v20080512 

--1 x2612 +1 x1741 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.expressions.source 3.4.0.v20080603-2000 

--1 x2612 +1 x1718 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.runtime.source 3.4.0.v20080512 

--1 x2612 +1 x1805 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.runtime.compatibility.auth.source 3.2.100.v20070502 

--1 x2612 +1 x1640 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.osgi.source 3.4.0.v20080605-1900 

--1 x2612 +1 x1681 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.help.source 3.3.100.v20080610 

--1 x2612 +1 x1678 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.jface.source 3.4.0.I20080606-1300 

--1 x2612 +1 x1665 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.jface.databinding.source 1.2.0.I20080515-2000a 

--1 x2612 +1 x161 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.ui.source 3.4.0.I20080610-1200 

--1 x2612 +1 x338 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.ui.workbench.source 3.4.0.I20080606-1300 

--1 x2612 +1 x1690 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.update.configurator.source 3.2.200.v20080417 

--1 x2612 +1 x1755 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.simpleconfigurator.source 1.0.0.v20080604 

--1 x2612 +1 x1815 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.swt.win32.win32.x86.source 3.4.0.v3448f 

--1 x2612 +1 x1846 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.rcp.source 3.4.0.v20080507 

--1 x2612 +1 x359 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.core.contenttype.source 3.3.0.v20080604-1400 

--1 x2612 +1 x1765 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.app.source 1.1.0.v20080421-2006 

--1 x2612 +1 x1775 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.common.source 3.4.0.v20080421-2006 

--1 x2612 +1 x1814 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.preferences.source 3.2.200.v20080421-2006 

--1 x2612 +1 x1720 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.registry.source 3.4.0.v20080516-0950 

--1 x2612 +1 x1770 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.equinox.launcher.source 1.0.100.v20080509-1800 

--1 x2612 +1 x1712 >= 0;

-* org.eclipse.rcp.source.feature.group 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB requires either org.eclipse.rcp.source.feature.jar 3.4.0.v20080324a-989JERhEk-jWnd5IY8K5tjxB 

--1 x2612 +1 x1600 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1222 +1 x21 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server 1.0.0.v200806180411 

--1 x1222 +1 x1484 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 

--1 x1222 +1 x1017 >= 0;

-* org.eclipse.emf.importer 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x605 +1 x21 >= 0;

-* org.eclipse.emf.importer 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x605 +1 x53 >= 0;

-* org.eclipse.emf.importer 2.4.0.v200806091234 requires either org.eclipse.emf.converter 2.4.0.v200806091234 

--1 x605 +1 x895 >= 0;

-* org.eclipse.emf.importer 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3194 -1 x3193>= -1 ;

- -1 x3193 1 x516 >= 0;

- -1 x605 1 x3194 1 x3193 >= 0;

-* org.eclipse.platform.ide.launcher.win32.win32.x86 3.4.0.I20080617-2000 requires either org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 

--1 x2370 +1 x1383 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x3124 +1 x614 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x3124 +1 x615 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.sqldevtools.ddl.feature.feature.group 1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm 

--1 x3124 +1 x2239 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 

--1 x3124 +1 x1084 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 

--1 x3124 +1 x1027 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 

--1 x3124 +1 x1057 >= 0;

-* org.eclipse.datatools.sqldevtools.data.feature.feature.group 1.6.0.v200804021-30-9oA55S5JAE7F__ requires either org.eclipse.datatools.sqldevtools.data.feature.feature.jar 1.6.0.v200804021-30-9oA55S5JAE7F__ 

--1 x3124 +1 x1999 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x449 +1 x53 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x449 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x449 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x449 +1 x265 >= 0;

-* org.eclipse.gmf.doc.feature.group 1.2.0.v20080501-1739-11-7w3119162702254 requires either org.eclipse.gmf.doc 1.2.0.v20080516-1143 

--1 x1868 +1 x929 >= 0;

-* org.eclipse.gmf.doc.feature.group 1.2.0.v20080501-1739-11-7w3119162702254 requires either org.eclipse.gmf.doc.feature.jar 1.2.0.v20080501-1739-11-7w3119162702254 

--1 x1868 +1 x2012 >= 0;

-* org.apache.batik.xml 1.6.0.v200805290154 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x1238 +1 x1328 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1240 +1 x21 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1240 +1 x53 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1240 +1 x54 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1240 +1 x575 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x1240 +1 x225 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1240 +1 x605 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 

--1 x1240 +1 x856 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 

--1 x1240 +1 x1336 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 

--1 x1240 +1 x1392 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 

--1 x1240 +1 x1213 >= 0;

-* org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 requires either org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 

--1 x1240 +1 x1488 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.common.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x540 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.doc.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x2971 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x543 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x544 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x541 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.codegen.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x539 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.runtime.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x542 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.genmodel.feature.group 0.7.0.v200806130939 

--1 x2624 +1 x545 >= 0;

-* org.eclipse.emf.search.sdk.feature.group 0.7.0.v200806130939 requires either org.eclipse.emf.search.sdk.feature.jar 0.7.0.v200806130939 

--1 x2624 +1 x2129 >= 0;

-* org.python.pydev.debug 1.3.20 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3196 -1 x3195>= -1 ;

- -1 x3195 1 x409 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1246 +1 x54 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1246 +1 x57 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1246 +1 x21 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1246 +1 x53 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1246 +1 x63 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1246 +1 x61 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1246 +1 x59 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1246 +1 x75 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1246 +1 x74 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1246 +1 x41 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x1246 +1 x414 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x1246 +1 x133 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.python.pydev.core 0.9.7 org.python.pydev.core 1.3.19 org.python.pydev.core 1.0.4 org.python.pydev.core 1.3.16 org.python.pydev.core 1.2.1 org.python.pydev.core 1.1.0 org.python.pydev.core 1.3.9 org.python.pydev.core 1.2.6 org.python.pydev.core 1.3.18 org.python.pydev.core 1.0.5 org.python.pydev.core 1.3.8 org.python.pydev.core 1.3.17 org.python.pydev.core 1.2.7 org.python.pydev.core 1.0.2 org.python.pydev.core 1.3.0 org.python.pydev.core 1.2.8 org.python.pydev.core 1.3.14 org.python.pydev.core 1.3.7 org.python.pydev.core 1.3.20 org.python.pydev.core 1.0.3 org.python.pydev.core 0.9.8 org.python.pydev.core 1.2.9 org.python.pydev.core 1.3.1 org.python.pydev.core 1.3.6 org.python.pydev.core 1.3.15 org.python.pydev.core 1.3.12 org.python.pydev.core 1.3.5 org.python.pydev.core 1.2.2 org.python.pydev.core 1.0.8 org.python.pydev.core 1.3.4 org.python.pydev.core 1.3.13 org.python.pydev.core 1.2.3 org.python.pydev.core 0.9.8.3 org.python.pydev.core 0.9.8.2 org.python.pydev.core 0.9.8.1 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.7.99 org.python.pydev.core 1.3.10 org.python.pydev.core 0.9.8.6 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev.core 1.3.3 org.python.pydev.core 1.0.6 org.python.pydev.core 0.9.5 org.python.pydev.core 1.0.1 org.python.pydev.core 1.2.5 org.python.pydev.core 1.3.2 org.python.pydev.core 1.3.11 org.python.pydev.core 1.0.7 

--1 x1246 +1 x16 +1 x452 +1 x453 +1 x454 +1 x455 +1 x456 +1 x34 +1 x457 +1 x458 +1 x459 +1 x460 +1 x461 +1 x462 +1 x463 +1 x464 +1 x465 +1 x466 +1 x467 +1 x468 +1 x469 +1 x470 +1 x471 +1 x472 +1 x473 +1 x474 +1 x475 +1 x476 +1 x477 +1 x478 +1 x479 +1 x480 +1 x252 +1 x481 +1 x482 +1 x483 +1 x484 +1 x485 +1 x486 +1 x487 +1 x488 +1 x489 +1 x490 +1 x491 +1 x492 +1 x493 +1 x494 +1 x495 +1 x496 +1 x497 +1 x498 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.python.pydev.ast 1.3.18 org.python.pydev.ast 1.0.6 org.python.pydev.ast 1.2.4 org.python.pydev.ast 1.3.5 org.python.pydev.ast 0.9.7.99 org.python.pydev.ast 1.3.19 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 1.0.7 org.python.pydev.ast 0.9.8.5 org.python.pydev.ast 0.9.8.4 org.python.pydev.ast 0.9.8.3 org.python.pydev.ast 0.9.8.2 org.python.pydev.ast 0.9.8.1 org.python.pydev.ast 1.3.4 org.python.pydev.ast 1.2.5 org.python.pydev.ast 1.3.16 org.python.pydev.ast 1.2.6 org.python.pydev.ast 1.3.7 org.python.pydev.ast 0.9.8 org.python.pydev.ast 1.0.4 org.python.pydev.ast 1.3.17 org.python.pydev.ast 1.3.6 org.python.pydev.ast 1.2.7 org.python.pydev.ast 1.0.5 org.python.pydev.ast 1.0.3 org.python.pydev.ast 1.2.8 org.python.pydev.ast 1.3.0 org.python.pydev.ast 1.2.1 org.python.pydev.ast 1.3.9 org.python.pydev.ast 1.3.14 org.python.pydev.ast 1.0.2 org.python.pydev.ast 0.9.7 org.python.pydev.ast 1.3.8 org.python.pydev.ast 1.2.9 org.python.pydev.ast 1.3.1 org.python.pydev.ast 1.3.15 org.python.pydev.ast 0.9.8.7 org.python.pydev.ast 1.3.2 org.python.pydev.ast 1.2.3 org.python.pydev.ast 1.3.11 org.python.pydev.ast 1.0.1 org.python.pydev.ast 1.0.8 org.python.pydev.ast 1.1.0 org.python.pydev.ast 1.3.12 org.python.pydev.ast 1.2.2 org.python.pydev.ast 1.3.10 org.python.pydev.ast 1.3.3 org.python.pydev.ast 0.9.5 org.python.pydev.ast 1.3.13 org.python.pydev.ast 1.3.20 

--1 x1246 +1 x1471 +1 x839 +1 x1081 +1 x1479 +1 x1147 +1 x1344 +1 x1274 +1 x958 +1 x1275 +1 x1277 +1 x1279 +1 x1282 +1 x1284 +1 x1353 +1 x1215 +1 x1216 +1 x1361 +1 x1224 +1 x1295 +1 x188 +1 x1095 +1 x1099 +1 x1499 +1 x653 +1 x1562 +1 x230 +1 x916 +1 x802 +1 x981 +1 x983 +1 x1443 +1 x924 +1 x871 +1 x753 +1 x1060 +1 x873 +1 x1318 +1 x718 +1 x1066 +1 x757 +1 x1321 +1 x1127 +1 x1455 +1 x761 +1 x936 +1 x297 +1 x827 +1 x552 +1 x685 +1 x832 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.python.pydev.parser 0.9.7.99 org.python.pydev.parser 1.3.3 org.python.pydev.parser 1.2.2 org.python.pydev.parser 1.3.4 org.python.pydev.parser 1.3.13 org.python.pydev.parser 1.2.5 org.python.pydev.parser 1.0.7 org.python.pydev.parser 1.1.0 org.python.pydev.parser 1.0.1 org.python.pydev.parser 1.2.3 org.python.pydev.parser 1.3.2 org.python.pydev.parser 1.3.12 org.python.pydev.parser 1.2.4 org.python.pydev.parser 1.3.5 org.python.pydev.parser 0.9.8 org.python.pydev.parser 1.0.6 org.python.pydev.parser 1.3.1 org.python.pydev.parser 1.0.2 org.python.pydev.parser 1.0.5 org.python.pydev.parser 1.3.20 org.python.pydev.parser 1.3.6 org.python.pydev.parser 1.3.15 org.python.pydev.parser 1.2.7 org.python.pydev.parser 1.2.1 org.python.pydev.parser 1.3.0 org.python.pydev.parser 1.0.3 org.python.pydev.parser 1.0.4 org.python.pydev.parser 1.3.14 org.python.pydev.parser 1.2.6 org.python.pydev.parser 1.3.7 org.python.pydev.parser 1.3.8 org.python.pydev.parser 1.3.17 org.python.pydev.parser 1.2.9 org.python.pydev.parser 0.9.5 org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.python.pydev.parser 0.9.8.5 org.python.pydev.parser 0.9.8.4 org.python.pydev.parser 1.3.16 org.python.pydev.parser 1.2.8 org.python.pydev.parser 1.3.9 org.python.pydev.parser 0.9.7 org.python.pydev.parser 1.3.10 org.python.pydev.parser 1.3.19 org.python.pydev.parser 1.0.8 org.python.pydev.parser 1.3.18 org.python.pydev.parser 1.3.11 

--1 x1246 +1 x882 +1 x837 +1 x592 +1 x1402 +1 x1474 +1 x1266 +1 x1026 +1 x1205 +1 x1343 +1 x50 +1 x957 +1 x1349 +1 x1150 +1 x1536 +1 x1087 +1 x894 +1 x125 +1 x1218 +1 x789 +1 x1548 +1 x1159 +1 x1226 +1 x1553 +1 x852 +1 x648 +1 x1098 +1 x705 +1 x1103 +1 x1429 +1 x1302 +1 x914 +1 x979 +1 x798 +1 x743 +1 x1110 +1 x1111 +1 x1112 +1 x1115 +1 x1116 +1 x1118 +1 x1120 +1 x867 +1 x715 +1 x1055 +1 x996 +1 x722 +1 x759 +1 x1189 +1 x313 +1 x829 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.python.pydev 1.0.7 org.python.pydev 0.8.0 org.python.pydev 1.2.5 org.python.pydev 1.3.3 org.python.pydev 1.3.14 org.python.pydev 1.3.12 org.python.pydev 0.9.5 org.python.pydev 1.0.8 org.python.pydev 1.2.6 org.python.pydev 0.6.1 org.python.pydev 1.3.11 org.python.pydev 1.3.13 org.python.pydev 1.3.4 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.python.pydev 1.2.7 org.python.pydev 1.0.5 org.python.pydev 0.9.8 org.python.pydev 0.4.2 org.python.pydev 1.3.16 org.python.pydev 1.3.1 org.python.pydev 1.3.10 org.python.pydev 1.1.0 org.python.pydev 1.2.8 org.python.pydev 0.9.0 org.python.pydev 1.0.6 org.python.pydev 0.9.7 org.python.pydev 1.3.9 org.python.pydev 1.3.15 org.python.pydev 1.3.2 org.python.pydev 1.3.18 org.python.pydev 1.3.8 org.python.pydev 0.9.1 org.python.pydev 1.0.4 org.python.pydev 1.2.2 org.python.pydev 0.9.7.99 org.python.pydev 1.2.9 org.python.pydev 1.3.7 org.python.pydev 1.3.0 org.python.pydev 1.3.17 org.python.pydev 0.9.2 org.python.pydev 1.0.3 org.python.pydev 1.2.1 org.python.pydev 1.3.20 org.python.pydev 1.3.6 org.python.pydev 0.9.8.7 org.python.pydev 1.2.4 org.python.pydev 0.7.1 org.python.pydev 0.9.8.3 org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.python.pydev 1.0.2 org.python.pydev 0.9.3 org.python.pydev 0.9.8.6 org.python.pydev 1.3.5 org.python.pydev 0.9.8.2 org.python.pydev 1.3.19 org.python.pydev 0.9.8.1 org.python.pydev 1.2.3 org.python.pydev 1.0.1 org.python.pydev 0.9.4 

--1 x1246 +1 x772 +1 x1263 +1 x1531 +1 x1475 +1 x1142 +1 x1404 +1 x661 +1 x382 +1 x1408 +1 x1348 +1 x1540 +1 x1285 +1 x1354 +1 x1356 +1 x1357 +1 x1287 +1 x1034 +1 x964 +1 x965 +1 x1420 +1 x1220 +1 x1158 +1 x1366 +1 x1163 +1 x1045 +1 x909 +1 x855 +1 x1299 +1 x1558 +1 x1101 +1 x708 +1 x918 +1 x1171 +1 x1113 +1 x864 +1 x1233 +1 x1052 +1 x1059 +1 x872 +1 x814 +1 x1316 +1 x1239 +1 x994 +1 x930 +1 x719 +1 x1001 +1 x681 +1 x532 +1 x1005 +1 x1007 +1 x1008 +1 x1389 +1 x1460 +1 x1011 +1 x826 +1 x1015 +1 x1072 +1 x1016 +1 x770 +1 x1527 +1 x1595 >= 0;

-* org.python.pydev.debug 1.3.20 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1246 +1 x159 >= 0;

- -1 x1246 1 x3196 1 x3195 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1245 +1 x21 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1245 +1 x53 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1245 +1 x70 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1245 +1 x605 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3198 -1 x3197>= -1 ;

- -1 x3197 1 x516 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3198 -1 x3199>= -1 ;

- -1 x3199 1 x113 >= 0;

-* org.eclipse.emf.importer.java 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x3198 -1 x3200>= -1 ;

- -1 x3200 1 x112 >= 0;

- -1 x1245 1 x3198 1 x3197 1 x3199 1 x3200 >= 0;

-* org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x170 +1 x21 >= 0;

-* org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x170 +1 x132 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1247 +1 x57 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1247 +1 x21 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1247 +1 x54 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1247 +1 x53 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1247 +1 x183 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1247 +1 x21 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1247 +1 x59 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x 

--1 x1247 +1 x1386 +1 x791 +1 x1559 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1247 +1 x318 +1 x319 +1 x320 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1247 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x1247 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1247 +1 x793 +1 x870 +1 x687 >= 0;

-* org.python.pydev.mylyn 0.3.0 requires either org.python.pydev 1.0.7 org.python.pydev 0.8.0 org.python.pydev 1.2.5 org.python.pydev 1.3.3 org.python.pydev 1.3.14 org.python.pydev 1.3.12 org.python.pydev 0.9.5 org.python.pydev 1.0.8 org.python.pydev 1.2.6 org.python.pydev 0.6.1 org.python.pydev 1.3.11 org.python.pydev 1.3.13 org.python.pydev 1.3.4 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.python.pydev 1.2.7 org.python.pydev 1.0.5 org.python.pydev 0.9.8 org.python.pydev 0.4.2 org.python.pydev 1.3.16 org.python.pydev 1.3.1 org.python.pydev 1.3.10 org.python.pydev 1.1.0 org.python.pydev 1.2.8 org.python.pydev 0.9.0 org.python.pydev 1.0.6 org.python.pydev 0.9.7 org.python.pydev 1.3.9 org.python.pydev 1.3.15 org.python.pydev 1.3.2 org.python.pydev 1.3.18 org.python.pydev 1.3.8 org.python.pydev 0.9.1 org.python.pydev 1.0.4 org.python.pydev 1.2.2 org.python.pydev 0.9.7.99 org.python.pydev 1.2.9 org.python.pydev 1.3.7 org.python.pydev 1.3.0 org.python.pydev 1.3.17 org.python.pydev 0.9.2 org.python.pydev 1.0.3 org.python.pydev 1.2.1 org.python.pydev 1.3.20 org.python.pydev 1.3.6 org.python.pydev 0.9.8.7 org.python.pydev 1.2.4 org.python.pydev 0.7.1 org.python.pydev 0.9.8.3 org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.python.pydev 1.0.2 org.python.pydev 0.9.3 org.python.pydev 0.9.8.6 org.python.pydev 1.3.5 org.python.pydev 0.9.8.2 org.python.pydev 1.3.19 org.python.pydev 0.9.8.1 org.python.pydev 1.2.3 org.python.pydev 1.0.1 org.python.pydev 0.9.4 

--1 x1247 +1 x772 +1 x1263 +1 x1531 +1 x1475 +1 x1142 +1 x1404 +1 x661 +1 x382 +1 x1408 +1 x1348 +1 x1540 +1 x1285 +1 x1354 +1 x1356 +1 x1357 +1 x1287 +1 x1034 +1 x964 +1 x965 +1 x1420 +1 x1220 +1 x1158 +1 x1366 +1 x1163 +1 x1045 +1 x909 +1 x855 +1 x1299 +1 x1558 +1 x1101 +1 x708 +1 x918 +1 x1171 +1 x1113 +1 x864 +1 x1233 +1 x1052 +1 x1059 +1 x872 +1 x814 +1 x1316 +1 x1239 +1 x994 +1 x930 +1 x719 +1 x1001 +1 x681 +1 x532 +1 x1005 +1 x1007 +1 x1008 +1 x1389 +1 x1460 +1 x1011 +1 x826 +1 x1015 +1 x1072 +1 x1016 +1 x770 +1 x1527 +1 x1595 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1248 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x1248 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1248 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x1248 +1 x84 +1 x85 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1248 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x1248 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1248 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1248 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3202 -1 x3201>= -1 ;

- -1 x3201 1 x57 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3202 -1 x3203>= -1 ;

- -1 x3203 1 x59 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3202 -1 x3204>= -1 ;

- -1 x3204 1 x61 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3202 -1 x3205>= -1 ;

- -1 x3205 1 x63 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3202 -1 x3206>= -1 ;

- -1 x3206 1 x41 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3202 -1 x3207>= -1 ;

- -1 x3207 1 x57 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x3202 -1 x3208>= -1 ;

- -1 x3208 1 x68 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3202 -1 x3209>= -1 ;

- -1 x3209 1 x63 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x3202 -1 x3210>= -1 ;

- -1 x3210 1 x52 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3202 -1 x3211>= -1 ;

- -1 x3211 1 x23 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1248 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1248 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1248 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.pattern 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1248 +1 x21 >= 0;

- -1 x1248 1 x3202 1 x3201 1 x3203 1 x3204 1 x3205 1 x3206 1 x3207 1 x3208 1 x3209 1 x3210 1 x3211 >= 0;

-* org.eclipse.ui.browser 3.2.200.v20080507 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x317 +1 x21 >= 0;

-* org.eclipse.ui.browser 3.2.200.v20080507 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x317 +1 x54 >= 0;

-* org.eclipse.ui.browser 3.2.200.v20080507 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x317 +1 x553 +1 x142 >= 0;

-* org.eclipse.net4j.doc 1.0.0.v200806180305 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1250 +1 x76 >= 0;

-* org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x226 +1 x54 >= 0;

-* org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x226 +1 x21 >= 0;

-* org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 requires either org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 

--1 x226 +1 x153 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1252 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1252 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1252 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1252 +1 x71 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1252 +1 x72 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1252 +1 x54 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3213 -1 x3212>= -1 ;

- -1 x3212 1 x57 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3213 -1 x3214>= -1 ;

- -1 x3214 1 x59 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x3213 -1 x3215>= -1 ;

- -1 x3215 1 x61 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3213 -1 x3216>= -1 ;

- -1 x3216 1 x63 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x3213 -1 x3217>= -1 ;

- -1 x3217 1 x41 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3213 -1 x3218>= -1 ;

- -1 x3218 1 x57 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.text 3.4.0.v20080605-1800 

--1 x3213 -1 x3219>= -1 ;

- -1 x3219 1 x68 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires optionaly either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x3213 -1 x3220>= -1 ;

- -1 x3220 1 x63 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1252 +1 x88 +1 x89 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x1252 +1 x90 +1 x91 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1252 +1 x86 +1 x87 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x1252 +1 x96 +1 x97 >= 0;

-* com.instantiations.assist.eclipse.admin 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1252 +1 x21 >= 0;

- -1 x1252 1 x3213 1 x3212 1 x3214 1 x3215 1 x3216 1 x3217 1 x3218 1 x3219 1 x3220 >= 0;

-* org.eclipse.ecf.presence 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x37 +1 x24 >= 0;

-* org.eclipse.ecf.presence 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x37 +1 x36 >= 0;

-* org.eclipse.ecf.presence 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x37 +1 x23 >= 0;

-* org.eclipse.ecf.presence 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x37 +1 x23 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1253 +1 x21 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1253 +1 x53 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1253 +1 x63 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1253 +1 x54 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1253 +1 x57 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1253 +1 x61 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1253 +1 x41 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1253 +1 x59 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x1253 +1 x136 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1253 +1 x70 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1253 +1 x71 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.jet 0.9.0.v20080527 

--1 x1253 +1 x1100 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x1253 +1 x118 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1253 +1 x132 >= 0;

-* org.eclipse.jet.editor 0.9.0.v20080226 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x1253 +1 x516 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1254 +1 x21 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1254 +1 x53 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1254 +1 x70 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1254 +1 x132 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x1254 +1 x118 >= 0;

-* org.eclipse.emf.mint 0.7.0.v200806172223 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1254 +1 x145 >= 0;

-* org.eclipse.net4j.ui.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui.source 1.0.0.v200806180305 

--1 x3078 +1 x1446 >= 0;

-* org.eclipse.net4j.ui.source.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.ui.source.feature.jar 1.0.0.v200806180305 

--1 x3078 +1 x426 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1256 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1256 +1 x113 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires optionaly either org.eclipse.ant.core 3.2.0.v20080529 

--1 x3222 -1 x3221>= -1 ;

- -1 x3221 1 x80 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1256 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1256 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1256 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1256 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x1256 +1 x405 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1256 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1256 +1 x21 >= 0;

- -1 x1256 1 x3222 1 x3221 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x1260 +1 x1377 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1260 +1 x340 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1260 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1260 +1 x299 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires either org.apache.derby.core 10.3.1.4 

--1 x1260 +1 x1400 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 requires optionaly either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x3224 -1 x3223>= -1 ;

- -1 x3223 1 x343 >= 0;

- -1 x1260 1 x3224 1 x3223 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.jdt.feature.group 3.4.0.v20080603-2000-7o7tEAXEFpPqqoXxgaBhhhq 

--1 x164 +1 x395 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x164 +1 x4 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde 3.4.0.v20080603 

--1 x164 +1 x1501 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.build 3.4.0.v20080604 

--1 x164 +1 x960 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x164 +1 x637 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 

--1 x164 +1 x886 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.runtime 3.4.0.v20080530-1200 

--1 x164 +1 x1132 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x164 +1 x308 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.doc.user 3.3.0.v20080611-1530 

--1 x164 +1 x1503 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 

--1 x164 +1 x763 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.ui.views.log 1.0.0.v20080522-2200 

--1 x164 +1 x1580 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.objectweb.asm 3.1.0.v200803061910 

--1 x164 +1 x392 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.api.tools 1.0.0.v20080529-1150 

--1 x164 +1 x636 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.api.tools.ui 1.0.0.v20080603 

--1 x164 +1 x863 >= 0;

-* org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC requires either org.eclipse.pde.feature.jar 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x164 +1 x2131 >= 0;

-* org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1261 +1 x170 >= 0;

-* org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 

--1 x1261 +1 x595 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.buckminster.ui 1.0.0.r09319 

--1 x1270 +1 x896 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1270 +1 x384 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1270 +1 x386 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x1270 +1 x308 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1270 +1 x70 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1270 +1 x54 >= 0;

-* org.eclipse.buckminster.pde.ui 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1270 +1 x21 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x133 +1 x54 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x133 +1 x63 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x133 +1 x41 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x133 +1 x21 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x133 +1 x159 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x133 +1 x414 >= 0;

-* org.eclipse.ui.console 3.3.0.v20080529-1300 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x133 +1 x553 +1 x142 >= 0;

-* org.eclipse.emf.validation.ocl 1.2.0.v200805130238 requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x1271 +1 x940 >= 0;

-* org.eclipse.emf.validation.ocl 1.2.0.v200805130238 requires either org.eclipse.emf.ocl 1.1.100.v200805130238 

--1 x1271 +1 x1410 >= 0;

-* org.eclipse.emf.validation.ocl 1.2.0.v200805130238 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1271 +1 x358 >= 0;

-* org.eclipse.emf.validation.ocl 1.2.0.v200805130238 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1271 +1 x710 >= 0;

-* org.eclipse.emf.validation.ocl 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1271 +1 x21 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2654 +1 x53 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2654 +1 x21 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x2654 +1 x75 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2654 +1 x70 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2654 +1 x73 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x2654 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x2654 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x2654 +1 x96 +1 x97 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2654 +1 x74 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x2654 +1 x404 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2654 +1 x71 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x2654 +1 x561 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x2654 +1 x72 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2654 +1 x54 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2654 +1 x61 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2654 +1 x57 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2654 +1 x23 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x2654 +1 x65 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2654 +1 x41 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x2654 +1 x90 +1 x91 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x2654 +1 x732 +1 x663 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.eclipse.mail.ui 5.5.1 com.instantiations.eclipse.mail.ui 5.5.0 

--1 x2654 +1 x92 +1 x93 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.swt.graph 5.5.1 com.instantiations.swt.graph 5.5.0 

--1 x2654 +1 x928 +1 x824 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 

--1 x2654 +1 x942 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 

--1 x2654 +1 x915 >= 0;

-* com.instantiations.eclipse.coverage.feature.feature.group 5.5.1.200809042337 requires either com.instantiations.eclipse.coverage.feature.feature.jar 5.5.1.200809042337 

--1 x2654 +1 x2156 >= 0;

-* org.eclipse.emf.workspace 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1273 +1 x21 >= 0;

-* org.eclipse.emf.workspace 1.2.0.v200805130238 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1273 +1 x53 >= 0;

-* org.eclipse.emf.workspace 1.2.0.v200805130238 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1273 +1 x1012 >= 0;

-* org.eclipse.emf.workspace 1.2.0.v200805130238 requires either org.eclipse.emf.transaction 1.2.0.v200805130238 

--1 x1273 +1 x1191 >= 0;

-* org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x1276 +1 x114 >= 0;

-* org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1276 +1 x132 >= 0;

-* org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1276 +1 x170 >= 0;

-* org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1276 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.ui.net 1.0.0.I20080605 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1278 +1 x54 >= 0;

-* org.eclipse.ui.net 1.0.0.I20080605 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1278 +1 x21 >= 0;

-* org.eclipse.ui.net 1.0.0.I20080605 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1278 +1 x316 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x275 +1 x349 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x275 +1 x1003 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x275 +1 x1515 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x275 +1 x331 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x275 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x275 +1 x316 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x1289 +1 x598 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either javax.xml.soap 1.2.0.v200806030421 

--1 x1289 +1 x599 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either org.apache.axis 1.4.0.v200807230600 org.apache.axis 1.4.0.v200806030120 

--1 x1289 +1 x600 +1 x601 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1289 +1 x21 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1289 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1289 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x1289 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.emf.ocl.examples 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1288 +1 x21 >= 0;

-* org.eclipse.emf.ocl.examples 1.2.0.v200805130238 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1288 +1 x54 >= 0;

-* org.eclipse.emf.ocl.examples 1.2.0.v200805130238 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1288 +1 x53 >= 0;

-* org.eclipse.emf.ocl.examples 1.2.0.v200805130238 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1288 +1 x57 >= 0;

-* com.swtdesigner.help 6.7.1.200809050053 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1292 +1 x76 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1294 +1 x21 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1294 +1 x53 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1294 +1 x971 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1294 +1 x160 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1294 +1 x893 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.jsch.core 1.1.100.I20080604 

--1 x1294 +1 x1594 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1294 +1 x316 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x1294 +1 x209 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x1294 +1 x553 +1 x142 >= 0;

-* org.eclipse.team.cvs.core 3.3.100.I20080605 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x1294 +1 x553 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x2281 +1 x613 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.modelbase.feature.feature.group 1.6.0.v200804021-6-0BcMAAwAfFgKSbi 

--1 x2281 +1 x614 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x2281 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 

--1 x2281 +1 x1194 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 

--1 x2281 +1 x1181 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 

--1 x2281 +1 x669 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 

--1 x2281 +1 x1156 >= 0;

-* org.eclipse.datatools.enablement.hsqldb.feature.feature.group 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK requires either org.eclipse.datatools.enablement.hsqldb.feature.feature.jar 1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK 

--1 x2281 +1 x2169 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1296 +1 x21 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1296 +1 x63 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1296 +1 x53 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.pde 3.4.0.v20080603 

--1 x1296 +1 x1501 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1296 +1 x76 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1296 +1 x637 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1296 +1 x54 >= 0;

-* com.instantiations.helpeditor.core.toc 1.3.4.200806270212 requires either com.xored.composer.ui 1.3.4.200806270212 com.xored.composer.ui 1.3.4.200809042225 

--1 x1296 +1 x1056 +1 x690 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x131 +1 x21 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x131 +1 x132 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x131 +1 x170 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x131 +1 x53 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 

--1 x131 +1 x1549 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.hyades.execution 4.4.200.v200806120100 

--1 x131 +1 x1554 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x131 +1 x129 >= 0;

-* org.eclipse.tptp.platform.common 4.3.200.v200805300100 requires either org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 

--1 x131 +1 x1504 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either javax.servlet.jsp 2.0.0.v200806031607 

--1 x2668 +1 x368 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.apache.jasper 5.5.17.v200806031609 

--1 x2668 +1 x367 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.cm 1.0.0.v20080509-1800 

--1 x2668 +1 x291 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.apache.commons.el 1.0.0.v200806031608 

--1 x2668 +1 x374 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x2668 +1 x24 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.device 1.0.1.v20080303 

--1 x2668 +1 x806 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.event 1.1.0.v20080225 

--1 x2668 +1 x1481 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http 1.0.200.v20080421-2006 

--1 x2668 +1 x1543 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 

--1 x2668 +1 x431 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 

--1 x2668 +1 x1195 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 

--1 x2668 +1 x430 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.log 1.1.0.v20080414 

--1 x2668 +1 x1473 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.metatype 1.0.0.v20070827 

--1 x2668 +1 x1422 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x2668 +1 x27 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x2668 +1 x26 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 

--1 x2668 +1 x267 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2668 +1 x23 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2668 +1 x49 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi.util 3.1.300.v20080303 

--1 x2668 +1 x102 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x2668 +1 x32 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.ds 1.0.0.v20080427-0830 

--1 x2668 +1 x783 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http 1.0.200.v20080421-2006 

--1 x2668 +1 x1543 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.ip 1.0.0.v20080218 

--1 x2668 +1 x919 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x2668 +1 x657 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.jetty 1.1.0.v20080425 

--1 x2668 +1 x807 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 

--1 x2668 +1 x47 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 

--1 x2668 +1 x44 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.io 1.0.0.v20080218 

--1 x2668 +1 x906 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 

--1 x2668 +1 x48 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either javax.servlet 2.4.0.v200806031604 

--1 x2668 +1 x46 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 

--1 x2668 +1 x333 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.transforms.hook 1.0.0.v20080610 

--1 x2668 +1 x1329 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.util 1.0.0.v20080414 

--1 x2668 +1 x948 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.wireadmin 1.0.0.v20080407 

--1 x2668 +1 x1126 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2668 +1 x331 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x2668 +1 x1106 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x2668 +1 x1203 >= 0;

-* org.eclipse.equinox.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.feature.jar 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 

--1 x2668 +1 x1974 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1301 +1 x21 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1301 +1 x53 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x1301 +1 x159 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1301 +1 x561 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1301 +1 x57 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1301 +1 x59 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1301 +1 x183 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1301 +1 x1495 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1301 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1301 +1 x170 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1301 +1 x147 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 

--1 x1301 +1 x1117 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 

--1 x1301 +1 x448 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 

--1 x1301 +1 x849 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x1301 +1 x445 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 

--1 x1301 +1 x446 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 

--1 x1301 +1 x444 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 

--1 x1301 +1 x1262 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 

--1 x1301 +1 x738 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 

--1 x1301 +1 x1571 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 

--1 x1301 +1 x693 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1301 +1 x603 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.uml2.uml.edit 2.2.0.v200805131030 

--1 x1301 +1 x775 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1301 +1 x132 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1301 +1 x19 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1301 +1 x710 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.uml2.diagram.common 0.8.0.v200806112132 

--1 x1301 +1 x817 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x1301 +1 x1372 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1301 +1 x254 >= 0;

-* org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1301 +1 x575 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x503 +1 x21 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x503 +1 x132 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x503 +1 x170 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 

--1 x503 +1 x169 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x503 +1 x53 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x503 +1 x168 >= 0;

-* org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x503 +1 x75 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1300 +1 x54 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1300 +1 x21 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1300 +1 x57 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x1300 +1 x1094 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1300 +1 x969 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x1300 +1 x776 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x1300 +1 x1411 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1300 +1 x132 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1300 +1 x53 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1300 +1 x19 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1300 +1 x147 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1300 +1 x63 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1300 +1 x41 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x1300 +1 x225 >= 0;

-* org.eclipse.emf.search.common.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x1300 +1 x1033 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1305 +1 x72 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1305 +1 x561 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1305 +1 x21 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x1305 +1 x96 +1 x97 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1305 +1 x82 +1 x83 >= 0;

-* com.windowtester.swing.runtime 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x1305 +1 x370 +1 x373 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1308 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1308 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x1308 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1308 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1308 +1 x316 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1309 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1309 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1309 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1309 +1 x63 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1309 +1 x54 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1309 +1 x59 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1309 +1 x61 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1309 +1 x41 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1309 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1309 +1 x71 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 

--1 x1309 +1 x774 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x1309 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 

--1 x1309 +1 x520 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 

--1 x1309 +1 x518 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 

--1 x1309 +1 x524 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x1309 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 

--1 x1309 +1 x526 >= 0;

-* org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1314 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 requires either org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 

--1 x1314 +1 x887 >= 0;

-* org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1314 +1 x132 >= 0;

-* org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1314 +1 x170 >= 0;

-* org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.change 2.4.0.v200806091234 

--1 x1314 +1 x20 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200809042027 requires either com.instantiations.eclipse.util 5.3.2.200809042027 com.instantiations.eclipse.util 5.3.2.200806270030 

--1 x94 +1 x96 +1 x97 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200809042027 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x94 +1 x21 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200809042027 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x94 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.startup 5.3.2.200809042027 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3226 -1 x3225>= -1 ;

- -1 x3225 1 x54 >= 0;

- -1 x94 1 x3226 1 x3225 >= 0;

-* com.nordea.cd.dev.plugin.wsdl2java 1.0.2 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1319 +1 x54 >= 0;

-* com.nordea.cd.dev.plugin.wsdl2java 1.0.2 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1319 +1 x21 >= 0;

-* com.nordea.cd.dev.plugin.wsdl2java 1.0.2 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1319 +1 x53 >= 0;

-* org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1320 +1 x1435 >= 0;

-* org.eclipse.emf.compare.diff 0.8.0.v200806180301 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3228 -1 x3227>= -1 ;

- -1 x3227 1 x21 >= 0;

-* org.eclipse.emf.compare.diff 0.8.0.v200806180301 requires either org.eclipse.emf.compare 0.8.0.v200806180301 

--1 x1322 +1 x766 >= 0;

-* org.eclipse.emf.compare.diff 0.8.0.v200806180301 requires either org.eclipse.emf.compare.match 0.8.0.v200806180301 

--1 x1322 +1 x723 >= 0;

-* org.eclipse.emf.compare.diff 0.8.0.v200806180301 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1322 +1 x132 >= 0;

-* org.eclipse.emf.compare.diff 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1322 +1 x170 >= 0;

- -1 x1322 1 x3228 1 x3227 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x3110 +1 x237 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3110 +1 x2444 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.doc.feature.group 1.2.0.v200805130238-23-8s733I3C6D376E 

--1 x3110 +1 x2454 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.source.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x3110 +1 x2373 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3110 +1 x2442 >= 0;

-* org.eclipse.emf.validation.sdk.feature.group 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e requires either org.eclipse.emf.validation.sdk.feature.jar 1.2.0.v200805130238-579-93L6YxTRK7HpUyFXcrJlG99e 

--1 x3110 +1 x2163 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x1325 +1 x308 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1325 +1 x561 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1325 +1 x21 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1325 +1 x637 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1325 +1 x53 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 

--1 x1325 +1 x699 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1325 +1 x132 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1325 +1 x560 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1325 +1 x54 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1325 +1 x70 >= 0;

-* org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1325 +1 x140 >= 0;

-* ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 requires either org.objectweb.asm 3.0.0.v200803061811 org.objectweb.asm 3.1.0.v200803061910 

--1 x1324 +1 x1140 +1 x392 >= 0;

-* ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1324 +1 x23 >= 0;

-* ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1324 +1 x49 >= 0;

-* ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1324 +1 x49 >= 0;

-* ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1324 +1 x23 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x431 +1 x24 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x431 +1 x26 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x431 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x431 +1 x45 +1 x46 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x431 +1 x23 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x431 +1 x49 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x431 +1 x23 >= 0;

-* org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x431 +1 x23 >= 0;

-* org.sat4j.pb 2.0.0.v20080602 requires either org.sat4j.core 2.0.0.v20080602 

--1 x1327 +1 x747 >= 0;

-* org.eclipse.wst.validation 1.2.1.v200807292117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x218 +1 x53 >= 0;

-* org.eclipse.wst.validation 1.2.1.v200807292117 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x218 +1 x214 >= 0;

-* org.eclipse.wst.validation 1.2.1.v200807292117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x218 +1 x21 >= 0;

-* org.eclipse.wst.validation 1.2.1.v200807292117 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x218 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.validation 1.2.1.v200807292117 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x218 +1 x159 >= 0;

-* org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x1330 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1330 +1 x170 >= 0;

-* org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x1330 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 

--1 x1330 +1 x808 >= 0;

-* org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1330 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x27 +1 x24 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires optionaly either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x3230 -1 x3229>= -1 ;

- -1 x3229 1 x26 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x23 >= 0;

-* org.eclipse.equinox.preferences 3.2.200.v20080421-2006 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x27 +1 x23 >= 0;

- -1 x27 1 x3230 1 x3229 >= 0;

-* com.instantiations.assist.eclipse.fragment.swt 5.5.0 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1333 +1 x72 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x237 +1 x159 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x237 +1 x21 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either com.ibm.icu 3.8.1.v20080530 

--1 x237 +1 x142 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x237 +1 x53 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x237 +1 x54 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x237 +1 x133 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x237 +1 x57 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x237 +1 x132 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x237 +1 x145 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation 1.2.0.v200805170232 

--1 x237 +1 x940 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation.ui 1.2.0.v200805130238 

--1 x237 +1 x777 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 

--1 x237 +1 x1388 >= 0;

-* org.eclipse.emf.validation.feature.group 1.2.0.v200805130238-35-9oA55S5J8H5ADM requires either org.eclipse.emf.validation.feature.jar 1.2.0.v200805130238-35-9oA55S5J8H5ADM 

--1 x237 +1 x171 >= 0;

-* org.eclipse.ocl.doc 1.2.0.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1334 +1 x76 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2712 +1 x54 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2712 +1 x57 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x2712 +1 x133 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2712 +1 x61 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2712 +1 x53 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2712 +1 x21 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.update.core 3.2.200.v20080515 

--1 x2712 +1 x1185 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x2712 +1 x49 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x2712 +1 x80 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.apache.ant 1.7.0.v200803061910 

--1 x2712 +1 x113 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x2712 +1 x414 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2712 +1 x41 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2712 +1 x36 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x2712 +1 x655 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x2712 +1 x709 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x2712 +1 x796 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x2712 +1 x956 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.ui 1.0.0.r09319 

--1 x2712 +1 x896 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x2712 +1 x1523 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.installer 1.0.0.r09319 

--1 x2712 +1 x1573 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x2712 +1 x386 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.ant 1.1.0.r09351 

--1 x2712 +1 x1421 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x2712 +1 x384 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x2712 +1 x385 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x2712 +1 x956 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.opml 1.0.0.r09319 

--1 x2712 +1 x1535 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.generic 1.0.0.r09319 

--1 x2712 +1 x1078 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.generic.ui 1.0.0.r09319 

--1 x2712 +1 x1409 >= 0;

-* org.eclipse.buckminster.core.feature.feature.group 1.1.0.r09351 requires either org.eclipse.buckminster.core.feature.feature.jar 1.1.0.r09351 

--1 x2712 +1 x2096 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.common.feature.feature.group 1.0.0.v20070507-7B794E7QYGHMGxTcAasgF 

--1 x2713 +1 x2380 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.core.resources.jmx 1.0.0.v20070510 

--1 x2713 +1 x993 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x2713 +1 x1441 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 

--1 x2713 +1 x1046 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.osgi.jmx 1.0.0.v20080610-1530 

--1 x2713 +1 x987 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.vm 1.0.0.v20070515 

--1 x2713 +1 x781 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.swt.jmx 1.0.0.v20070510 

--1 x2713 +1 x1425 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 

--1 x2713 +1 x1373 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 

--1 x2713 +1 x1463 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 

--1 x2713 +1 x1345 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.mortbay.jetty 5.1.14.v200806031611 

--1 x2713 +1 x1106 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either javax.servlet 2.5.0.v200806031605 

--1 x2713 +1 x45 >= 0;

-* org.eclipse.equinox.jmx.server.feature.feature.group 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 requires either org.eclipse.equinox.jmx.server.feature.feature.jar 1.0.0.v20070510-7F57CE9IgKLaMASi7KHI3 

--1 x2713 +1 x2165 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x321 +1 x54 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x321 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x321 +1 x317 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x321 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x321 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x321 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1336 +1 x21 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1336 +1 x53 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 

--1 x1336 +1 x1010 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1336 +1 x145 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1336 +1 x170 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1336 +1 x147 >= 0;

-* org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1336 +1 x57 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1339 +1 x36 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence 1.3.0.v20080623-0046 

--1 x1339 +1 x37 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 

--1 x1339 +1 x1518 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 

--1 x1339 +1 x921 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 

--1 x1339 +1 x582 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1339 +1 x54 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1339 +1 x583 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1339 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1339 +1 x32 >= 0;

-* org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1339 +1 x23 >= 0;

-* com.windowtester.swt.platform.ext 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1338 +1 x21 >= 0;

-* com.windowtester.swt.platform.ext 3.5.0.200806270034 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1338 +1 x72 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1337 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1337 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1337 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1337 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1337 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 requires either org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 

--1 x1337 +1 x1372 >= 0;

-* org.eclipse.core.net 1.1.0.I20080604 requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x316 +1 x209 >= 0;

-* org.eclipse.core.net 1.1.0.I20080604 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x316 +1 x24 >= 0;

-* org.eclipse.core.net 1.1.0.I20080604 requires either org.eclipse.equinox.preferences 3.2.200.v20080421-2006 

--1 x316 +1 x27 >= 0;

-* org.eclipse.core.net 1.1.0.I20080604 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x316 +1 x23 >= 0;

-* org.eclipse.core.net 1.1.0.I20080604 requires either org.eclipse.equinox.registry 3.4.0.v20080516-0950 

--1 x316 +1 x26 >= 0;

-* org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1345 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1345 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 requires either org.eclipse.equinox.jmx.server 1.0.0.v20071015 

--1 x1345 +1 x1441 >= 0;

-* org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1345 +1 x23 >= 0;

-* org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1345 +1 x23 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1347 +1 x53 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1347 +1 x21 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1347 +1 x63 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1347 +1 x54 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1347 +1 x140 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1347 +1 x183 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1347 +1 x59 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1347 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1347 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1347 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1347 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x1347 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1347 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1347 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1350 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1350 +1 x875 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x1350 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1350 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1350 +1 x875 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1350 +1 x875 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x1350 +1 x848 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1350 +1 x840 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1350 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1350 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1350 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1350 +1 x875 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3232 -1 x3231>= -1 ;

- -1 x3231 1 x23 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1350 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1350 +1 x23 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1350 +1 x23 >= 0;

-* org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1350 +1 x23 >= 0;

- -1 x1350 1 x3232 1 x3231 >= 0;

-* org.eclipse.emf.query 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1358 +1 x21 >= 0;

-* org.eclipse.emf.query 1.2.0.v200805130238 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1358 +1 x132 >= 0;

-* org.eclipse.emf.query 1.2.0.v200805130238 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1358 +1 x142 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1360 +1 x54 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1360 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 

--1 x1360 +1 x257 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 

--1 x1360 +1 x1377 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 

--1 x1360 +1 x782 >= 0;

-* org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 requires either org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 

--1 x1360 +1 x1260 >= 0;

-* org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1359 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1359 +1 x132 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x92 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x92 +1 x90 +1 x91 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x92 +1 x82 +1 x83 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x92 +1 x84 +1 x85 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x92 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x92 +1 x732 +1 x663 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x92 +1 x21 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.1 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x92 +1 x54 >= 0;

-* org.eclipse.net4j.jms.admin 1.0.0.v200806180305 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1364 +1 x21 >= 0;

-* org.eclipse.net4j.jms.admin 1.0.0.v200806180305 requires either org.eclipse.net4j.jms 1.0.0.v200806180305 

--1 x1364 +1 x818 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1604 +1 x21 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1604 +1 x170 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1604 +1 x19 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x1604 +1 x642 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x1604 +1 x310 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.edit 2.4.0.v200806091234 

--1 x1604 +1 x1534 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping 2.4.0.v200806091234 

--1 x1604 +1 x740 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 

--1 x1604 +1 x1265 >= 0;

-* org.eclipse.xsd.mapping.feature.group 2.4.0.v200806091234 requires either org.eclipse.xsd.mapping.feature.jar 2.4.0.v200806091234 

--1 x1604 +1 x2045 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1367 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1367 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 

--1 x1367 +1 x695 >= 0;

-* org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1367 +1 x57 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x254 +1 x575 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x254 +1 x21 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires optionaly either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x3234 -1 x3233>= -1 ;

- -1 x3233 1 x59 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x254 +1 x65 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x254 +1 x561 >= 0;

-* org.eclipse.gef 3.4.0.v20080526 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x254 +1 x553 +1 x142 >= 0;

- -1 x254 1 x3234 1 x3233 >= 0;

-* org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x242 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 requires either org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 

--1 x242 +1 x136 >= 0;

-* org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x242 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x242 +1 x147 >= 0;

-* org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x242 +1 x19 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x265 +1 x59 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x265 +1 x133 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x265 +1 x63 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x265 +1 x41 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x265 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x265 +1 x53 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x265 +1 x971 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x265 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x265 +1 x21 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1369 +1 x82 +1 x83 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1369 +1 x113 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires optionaly either org.eclipse.ant.core 3.2.0.v20080529 

--1 x3236 -1 x3235>= -1 ;

- -1 x3235 1 x80 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1369 +1 x52 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1369 +1 x53 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1369 +1 x75 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1369 +1 x70 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x1369 +1 x405 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1369 +1 x73 >= 0;

-* com.instantiations.assist.eclipse.core.ant 5.5.1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1369 +1 x21 >= 0;

- -1 x1369 1 x3236 1 x3235 >= 0;

-* org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ requires either org.eclipse.datatools.connectivity.feature.feature.group 1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG 

--1 x613 +1 x615 >= 0;

-* org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ requires either org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 

--1 x613 +1 x677 >= 0;

-* org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ requires either org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 

--1 x613 +1 x869 >= 0;

-* org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ requires either org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 

--1 x613 +1 x1025 >= 0;

-* org.eclipse.datatools.enablement.jdbc.feature.feature.group 1.6.0.v200805301340-3-09oA55S5J8JADJJ requires either org.eclipse.datatools.enablement.jdbc.feature.feature.jar 1.6.0.v200805301340-3-09oA55S5J8JADJJ 

--1 x613 +1 x2084 >= 0;

-* org.eclipse.emf.transaction.examples 1.2.0.v200806051817 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1371 +1 x21 >= 0;

-* org.eclipse.emf.transaction.examples 1.2.0.v200806051817 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1371 +1 x54 >= 0;

-* org.eclipse.emf.transaction.examples 1.2.0.v200806051817 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1371 +1 x53 >= 0;

-* org.eclipse.emf.transaction.examples 1.2.0.v200806051817 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1371 +1 x57 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1372 +1 x54 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either org.eclipse.draw2d 3.4.0.v20080529 

--1 x1372 +1 x575 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1372 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1372 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 

--1 x1372 +1 x265 >= 0;

-* org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1372 +1 x142 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2459 +1 x53 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2459 +1 x21 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2459 +1 x63 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2459 +1 x81 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2459 +1 x54 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2459 +1 x61 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2459 +1 x140 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2459 +1 x59 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x2459 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x2459 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x2459 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x2459 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x2459 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x2459 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x2459 +1 x598 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.soap 1.2.0.v200806030421 

--1 x2459 +1 x599 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.axis 1.4.0.v200807230600 org.apache.axis 1.4.0.v200806030120 

--1 x2459 +1 x600 +1 x601 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x2459 +1 x598 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.soap 1.2.0.v200806030421 

--1 x2459 +1 x599 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.wsdl 1.5.1.v200806030408 

--1 x2459 +1 x1381 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.discovery 0.2.0.v200806030120 

--1 x2459 +1 x881 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x2459 +1 x23 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2459 +1 x331 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn_feature.feature.group 3.0.1.v20080721-2100-e3x org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2459 +1 x280 +1 x281 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.activation 1.1.0.v200806101325 javax.activation 1.1.0.v200804101140 

--1 x2459 +1 x1122 +1 x913 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x 

--1 x2459 +1 x1520 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x 

--1 x2459 +1 x597 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.axis 1.4.0.v200807230600 

--1 x2459 +1 x600 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.wsdl 1.5.1.v200806030408 

--1 x2459 +1 x1381 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.rpc 1.1.0.v200806030420 

--1 x2459 +1 x598 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.xml.soap 1.2.0.v200806030421 

--1 x2459 +1 x599 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.discovery 0.2.0.v200806030120 

--1 x2459 +1 x881 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2459 +1 x331 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.servlet 2.4.0.v200806031604 

--1 x2459 +1 x46 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.activation 1.1.0.v200806101325 

--1 x2459 +1 x1122 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either javax.mail 1.4.0.v200804091730 

--1 x2459 +1 x991 >= 0;

-* org.eclipse.mylyn.jira_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x2459 +1 x2067 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x1377 +1 x340 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1377 +1 x142 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1377 +1 x21 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3238 -1 x3237>= -1 ;

- -1 x3237 1 x409 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires optionaly either org.apache.derby.core 10.3.1.4 

--1 x3238 -1 x3239>= -1 ;

- -1 x3239 1 x1400 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires optionaly either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x3238 -1 x3240>= -1 ;

- -1 x3240 1 x343 >= 0;

-* org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 requires either org.apache.xerces 2.9.0.v200805270400 

--1 x1377 +1 x347 >= 0;

- -1 x1377 1 x3238 1 x3237 1 x3239 1 x3240 >= 0;

-* org.eclipse.wst.standard.schemas 1.0.102.v200807220733 requires either org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.wst.xml.core 1.1.300.v200806051910 

--1 x1375 +1 x198 +1 x199 >= 0;

-* org.eclipse.wst.standard.schemas 1.0.102.v200807220733 requires either org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.wst.sse.core 1.1.300.v200805221633 

--1 x1375 +1 x194 +1 x195 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1379 +1 x54 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1379 +1 x70 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x1379 +1 x68 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1379 +1 x71 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1379 +1 x21 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1379 +1 x53 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1379 +1 x57 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1379 +1 x75 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.pde.core 3.4.0.v20080604-2000 

--1 x1379 +1 x637 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1379 +1 x59 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1379 +1 x63 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1379 +1 x41 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1379 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x1379 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.windowtester.swt.recorder 3.5.1.200809042232 com.windowtester.swt.recorder 3.5.0.200806270034 

--1 x1379 +1 x946 +1 x1385 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x1379 +1 x931 +1 x1305 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x1379 +1 x84 +1 x85 >= 0;

-* com.windowtester.swt.codegen 3.5.1.200809042232 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1379 +1 x82 +1 x83 >= 0;

-* org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1380 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1380 +1 x145 >= 0;

-* org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 

--1 x1380 +1 x822 >= 0;

-* org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 

--1 x1380 +1 x593 >= 0;

-* org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 

--1 x1380 +1 x963 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1382 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1382 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1382 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1382 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 requires either org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 

--1 x1382 +1 x923 >= 0;

-* javax.wsdl 1.5.1.v200806030408 requires optionaly either org.apache.xerces 2.9.0.v200805270400 

--1 x3242 -1 x3241>= -1 ;

- -1 x3241 1 x347 >= 0;

- -1 x1381 1 x3242 1 x3241 >= 0;

-* org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 requires either org.eclipse.equinox.launcher 1.0.100.v20080509-1800 

--1 x1383 +1 x657 >= 0;

-* org.eclipse.birt.core 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x299 +1 x21 >= 0;

-* org.eclipse.birt.core 2.3.0.v20080606 requires either com.ibm.icu 3.8.1.v20080530 

--1 x299 +1 x142 >= 0;

-* org.eclipse.birt.core 2.3.0.v20080606 requires either org.mozilla.rhino 1.6.7.v20080214 

--1 x299 +1 x1419 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.tptp.lta.gla.ui.epi.feature.group 4.5.0.v200805132041-44-7w311916271211 

--1 x2739 +1 x2800 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2739 +1 x57 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x2739 +1 x59 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x2739 +1 x145 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x2739 +1 x170 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x2739 +1 x147 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2739 +1 x63 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.xsd 2.4.0.v200806091234 

--1 x2739 +1 x310 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x2739 +1 x150 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 

--1 x2739 +1 x129 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2739 +1 x41 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2739 +1 x53 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either com.ibm.icu 3.8.1.v20080530 

--1 x2739 +1 x142 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2739 +1 x54 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x2739 +1 x130 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 

--1 x2739 +1 x1170 >= 0;

-* org.eclipse.tptp.lta.gla.ui.feature.group 4.5.0.v200805132041-7879-8192A5695E699A2322 requires either org.eclipse.tptp.lta.gla.ui.feature.jar 4.5.0.v200805132041-7879-8192A5695E699A2322 

--1 x2739 +1 x2071 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1385 +1 x21 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1385 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either com.windowtester.swt.runtime 3.5.0.200806270034 com.windowtester.swt.runtime 3.5.1.200809042232 

--1 x1385 +1 x986 +1 x1456 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.swing.recorder 3.5.0.200806270034 

--1 x1385 +1 x369 +1 x372 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x1385 +1 x931 +1 x1305 >= 0;

-* com.windowtester.swt.recorder 3.5.0.200806270034 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x1385 +1 x370 +1 x373 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1384 +1 x21 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1384 +1 x53 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1384 +1 x70 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x1384 +1 x516 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1384 +1 x170 >= 0;

-* org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 requires either org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 

--1 x1384 +1 x604 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1387 +1 x54 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1387 +1 x21 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.query.ocl 1.2.0.v200805130238 

--1 x1387 +1 x1242 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1387 +1 x710 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 

--1 x1387 +1 x1465 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1387 +1 x969 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x1387 +1 x1411 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.uml2.search 0.7.0.v200806130939 

--1 x1387 +1 x825 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x1387 +1 x902 >= 0;

-* org.eclipse.uml2.search.ocl 0.7.0.v200806130939 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1387 +1 x603 >= 0;

-* com.windowtester.swing.recorder 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x369 +1 x21 >= 0;

-* com.windowtester.swing.recorder 3.5.1.200809042232 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x369 +1 x54 >= 0;

-* com.windowtester.swing.recorder 3.5.1.200809042232 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x369 +1 x370 +1 x373 >= 0;

-* com.windowtester.swing.recorder 3.5.1.200809042232 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x369 +1 x931 +1 x1305 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1392 +1 x21 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1392 +1 x53 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1392 +1 x145 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1392 +1 x170 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1392 +1 x147 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1392 +1 x57 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.gmf.common 1.1.1.v20080610-1132 

--1 x1392 +1 x560 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.gmf.map 2.1.0.v20080521 

--1 x1392 +1 x1560 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 

--1 x1392 +1 x856 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 

--1 x1392 +1 x1336 >= 0;

-* org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1392 +1 x19 >= 0;

-* org.eclipse.emf.ecore.edit 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x19 +1 x21 >= 0;

-* org.eclipse.emf.ecore.edit 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x19 +1 x132 >= 0;

-* org.eclipse.emf.ecore.edit 2.4.0.v200806091234 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x19 +1 x145 >= 0;

-* org.eclipse.xsd.doc 2.4.0.v200806091234 requires either org.eclipse.help 3.3.100.v20080610 

--1 x589 +1 x76 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1397 +1 x36 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1397 +1 x655 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.ecf.protocol.bittorrent 0.3.0 

--1 x1397 +1 x1041 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x1397 +1 x796 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1397 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1397 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1397 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1397 +1 x23 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1397 +1 x23 >= 0;

-* org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1397 +1 x23 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x323 +1 x54 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x323 +1 x21 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.browser 3.2.200.v20080507 

--1 x323 +1 x317 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x323 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x323 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x323 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x8 +1 x54 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x8 +1 x140 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x8 +1 x57 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x8 +1 x21 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x8 +1 x53 >= 0;

-* org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x8 +1 x220 +1 x221 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x404 +1 x57 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x404 +1 x63 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x404 +1 x41 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x404 +1 x61 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x404 +1 x54 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.core.filebuffers 3.4.0.v20080603-2000 

--1 x404 +1 x639 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.core.variables 3.2.100.v20080529-1300 

--1 x404 +1 x414 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x404 +1 x159 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x404 +1 x70 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x404 +1 x74 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x404 +1 x405 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x404 +1 x73 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x404 +1 x71 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x404 +1 x21 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 

--1 x404 +1 x178 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x404 +1 x133 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 

--1 x404 +1 x403 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x404 +1 x140 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x404 +1 x81 >= 0;

-* org.eclipse.jdt.debug.ui 3.3.0.v20080603 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x404 +1 x553 +1 x142 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x6 +1 x57 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x6 +1 x53 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x6 +1 x54 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x6 +1 x214 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x6 +1 x21 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x6 +1 x215 >= 0;

-* org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x6 +1 x861 +1 x101 >= 0;

-* org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1412 +1 x76 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x144 +1 x54 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x144 +1 x21 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x144 +1 x57 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.tptp.platform.common 4.3.200.v200805300100 

--1 x144 +1 x131 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 

--1 x144 +1 x137 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 

--1 x144 +1 x1549 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.hyades.execution 4.4.200.v200806120100 

--1 x144 +1 x1554 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.tptp.platform.execution 4.4.100.v200806050100 

--1 x144 +1 x972 >= 0;

-* org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 requires either org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 

--1 x144 +1 x1504 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1415 +1 x54 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1415 +1 x21 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1415 +1 x655 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1415 +1 x36 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1415 +1 x583 >= 0;

-* org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1415 +1 x63 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x2770 +1 x71 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2770 +1 x21 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2770 +1 x53 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2770 +1 x63 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2770 +1 x61 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2770 +1 x81 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2770 +1 x70 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x2770 +1 x516 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint 0.7.0.v200806172223 

--1 x2770 +1 x1254 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.ui 0.7.0.v200806172223 

--1 x2770 +1 x811 >= 0;

-* org.eclipse.emf.mint.feature.group 0.7.0.v200806172223 requires either org.eclipse.emf.mint.feature.jar 0.7.0.v200806172223 

--1 x2770 +1 x332 >= 0;

-* org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ requires either org.eclipse.datatools.doc.user 1.6.0.20080606124249 

--1 x1911 +1 x696 >= 0;

-* org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ requires either org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 

--1 x1911 +1 x1104 >= 0;

-* org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1911 +1 x177 >= 0;

-* org.eclipse.datatools.doc.user.feature.group 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ requires either org.eclipse.datatools.doc.user.feature.jar 1.6.0.v200806171040-37_-8w95CKAECFAEGI_ 

--1 x1911 +1 x1979 >= 0;

-* org.eclipse.birt.chart.device.swt 2.3.0.v20080522 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x1416 +1 x349 >= 0;

-* org.eclipse.birt.chart.device.swt 2.3.0.v20080522 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1416 +1 x72 >= 0;

-* org.eclipse.birt.chart.device.swt 2.3.0.v20080522 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x1416 +1 x191 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x302 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x302 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x302 +1 x53 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.core 2.3.0.v200806102 

--1 x302 +1 x255 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x302 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui 2.3.0.v20080606 

--1 x302 +1 x259 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x302 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x302 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 

--1 x302 +1 x301 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x302 +1 x59 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 

--1 x302 +1 x253 >= 0;

-* org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 requires either org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a 

--1 x302 +1 x303 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1421 +1 x384 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x1421 +1 x1523 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.buckminster.download 1.1.0.r09319 

--1 x1421 +1 x956 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1421 +1 x385 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1421 +1 x386 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1421 +1 x80 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1421 +1 x53 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1421 +1 x21 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1421 +1 x113 >= 0;

-* org.eclipse.buckminster.ant 1.1.0.r09351 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1421 +1 x893 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.wst.command.env.core 1.0.204.v200805140020 

--1 x1424 +1 x1186 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1424 +1 x21 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1424 +1 x53 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1424 +1 x214 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1424 +1 x1012 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x1424 +1 x861 +1 x101 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.apache.ant 1.7.0.v200803061910 

--1 x1424 +1 x113 >= 0;

-* org.eclipse.wst.command.env 1.0.305.v200805281530 requires either org.eclipse.ant.core 3.2.0.v20080529 

--1 x1424 +1 x80 >= 0;

-* org.eclipse.emf.cdo.common 1.0.0.v200806180411 requires either org.eclipse.net4j 1.0.0.v200806180305 

--1 x1426 +1 x353 >= 0;

-* org.eclipse.emf.cdo.common 1.0.0.v200806180411 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3244 -1 x3243>= -1 ;

- -1 x3243 1 x23 >= 0;

- -1 x1426 1 x3244 1 x3243 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 

--1 x1929 +1 x1211 >= 0;

-* org.eclipse.emf.cdo.server.hibernate.source.feature.group 1.0.0.v200806180411 requires either org.eclipse.emf.cdo.server.hibernate.source.feature.jar 1.0.0.v200806180411 

--1 x1929 +1 x1941 >= 0;

-* org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2783 +1 x21 >= 0;

-* org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2783 +1 x54 >= 0;

-* org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x2783 +1 x114 >= 0;

-* org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui 2.4.0.v200806091234 

--1 x2783 +1 x146 >= 0;

-* org.eclipse.emf.common.ui.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.common.ui.feature.jar 2.4.0.v200806091234 

--1 x2783 +1 x2147 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x243 +1 x54 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x243 +1 x21 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 

--1 x243 +1 x1359 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x243 +1 x132 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x243 +1 x254 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 

--1 x243 +1 x445 >= 0;

-* org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x243 +1 x147 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.apache.derby 10.1.2.1_v200803061811 

--1 x3077 +1 x741 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db 1.0.0.v200806180305 

--1 x3077 +1 x361 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.derby 1.0.0.v200806180305 

--1 x3077 +1 x1062 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 

--1 x3077 +1 x1154 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.mysql 1.0.0.v200806180305 

--1 x3077 +1 x360 >= 0;

-* org.eclipse.net4j.db.feature.group 1.0.0.v200806180305 requires either org.eclipse.net4j.db.feature.jar 1.0.0.v200806180305 

--1 x3077 +1 x2144 >= 0;

-* org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1431 +1 x21 >= 0;

-* org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1431 +1 x132 >= 0;

-* org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 requires either org.eclipse.emf.cdo 1.0.0.v200806180411 

--1 x1431 +1 x594 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1434 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1434 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1434 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1434 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1434 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1434 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1434 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1434 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1434 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x 

--1 x1434 +1 x1109 +1 x1043 +1 x1308 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1434 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1434 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1434 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1434 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1435 +1 x132 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.cm.source 1.0.0.v20080509-1800 

--1 x2785 +1 x1778 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.common.source 3.4.0.v20080421-2006 

--1 x2785 +1 x1814 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.device.source 1.0.1.v20080303 

--1 x2785 +1 x390 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.event.source 1.1.0.v20080225 

--1 x2785 +1 x1735 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.source 1.0.200.v20080421-2006 

--1 x2785 +1 x1839 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.registry.source 1.0.100.v20080427-0830 

--1 x2785 +1 x1660 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.jsp.jasper.source 1.0.100.v20080427-0830 

--1 x2785 +1 x1667 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.jsp.jasper.registry.source 1.0.0.v20080427-0830 

--1 x2785 +1 x1666 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.log.source 1.1.0.v20080414 

--1 x2785 +1 x1671 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.metatype.source 1.0.0.v20070827 

--1 x2785 +1 x1788 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.preferences.source 3.2.200.v20080421-2006 

--1 x2785 +1 x1720 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.registry.source 3.4.0.v20080516-0950 

--1 x2785 +1 x1770 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.useradmin.source 1.1.0.v20080508-1815 

--1 x2785 +1 x1838 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi.source 3.4.0.v20080605-1900 

--1 x2785 +1 x1681 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi.services.source 3.1.200.v20071203 

--1 x2785 +1 x43 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.osgi.util.source 3.1.300.v20080303 

--1 x2785 +1 x1754 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.app.source 1.1.0.v20080421-2006 

--1 x2785 +1 x1775 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.ds.source 1.0.0.v20080427-0830 

--1 x2785 +1 x1674 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.source 1.0.200.v20080421-2006 

--1 x2785 +1 x1839 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.ip.source 1.0.0.v20080218 

--1 x2785 +1 x1767 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.launcher.source 1.0.100.v20080509-1800 

--1 x2785 +1 x1712 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.jetty.source 1.1.0.v20080425 

--1 x2785 +1 x228 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.servlet.source 1.0.100.v20080427-0830 

--1 x2785 +1 x1780 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.http.servletbridge.source 1.0.0.v20080427-0830 

--1 x2785 +1 x1751 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.io.source 1.0.0.v20080218 

--1 x2785 +1 x1654 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.servletbridge.source 1.0.100.v20080427-0830 

--1 x2785 +1 x1672 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.transforms.xslt.source 1.0.0.v20080610 

--1 x2785 +1 x1821 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.transforms.hook.source 1.0.0.v20080610 

--1 x2785 +1 x1661 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.util.source 1.0.0.v20080414 

--1 x2785 +1 x1757 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.wireadmin.source 1.0.0.v20080407 

--1 x2785 +1 x1639 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.simpleconfigurator.source 1.0.0.v20080604 

--1 x2785 +1 x1815 >= 0;

-* org.eclipse.equinox.source.feature.group 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 requires either org.eclipse.equinox.source.feature.jar 3.4.0.v20080611-7w7TENYEWiH9CgBilnWQNd5 

--1 x2785 +1 x1635 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1436 +1 x57 >= 0;

-* org.apache.ant 1.7.0.v200803061910 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x113 +1 x23 >= 0;

-* org.eclipse.emf.ocl.doc 1.1.100.v200805130238 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1439 +1 x76 >= 0;

-* org.eclipse.emf.ocl.doc 1.1.100.v200805130238 requires either org.eclipse.ocl.doc 1.2.0.v200805130238 

--1 x1439 +1 x1334 >= 0;

-* org.eclipse.birt.report.data.adapter 2.3.0.v20080606 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1444 +1 x299 >= 0;

-* org.eclipse.birt.report.data.adapter 2.3.0.v20080606 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x1444 +1 x256 >= 0;

-* org.eclipse.birt.report.data.adapter 2.3.0.v20080606 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x1444 +1 x300 >= 0;

-* org.eclipse.birt.report.data.adapter 2.3.0.v20080606 requires either org.eclipse.birt.data.aggregation 2.3.0.v20080606 

--1 x1444 +1 x1092 >= 0;

-* org.eclipse.birt.report.data.adapter 2.3.0.v20080606 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3246 -1 x3245>= -1 ;

- -1 x3245 1 x409 >= 0;

- -1 x1444 1 x3246 1 x3245 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x257 +1 x21 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x257 +1 x54 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x257 +1 x175 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 

--1 x257 +1 x340 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 

--1 x257 +1 x343 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 

--1 x257 +1 x1438 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 

--1 x257 +1 x1196 >= 0;

-* org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x257 +1 x183 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1450 +1 x21 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1450 +1 x74 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1450 +1 x70 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.debug 3.4.0.v20080604 

--1 x1450 +1 x405 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x1450 +1 x404 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x1450 +1 x406 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x1450 +1 x73 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1450 +1 x71 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1450 +1 x63 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1450 +1 x81 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1450 +1 x54 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1450 +1 x61 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1450 +1 x57 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1450 +1 x140 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1450 +1 x59 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1450 +1 x41 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1450 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1450 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1450 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1450 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x1450 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1450 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1450 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1450 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x1450 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x255 +1 x54 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x255 +1 x21 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x255 +1 x254 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x255 +1 x299 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x255 +1 x300 >= 0;

-* org.eclipse.birt.report.designer.core 2.3.0.v200806102 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x255 +1 x865 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1452 +1 x384 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.buckminster.cmdline 1.0.0.r09319 

--1 x1452 +1 x1523 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1452 +1 x386 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1452 +1 x385 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1452 +1 x53 >= 0;

-* org.eclipse.buckminster.p4 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1452 +1 x21 >= 0;

-* org.eclipse.uml2.doc 2.2.0.v200805201350 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1457 +1 x76 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1456 +1 x72 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1456 +1 x561 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1456 +1 x21 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1456 +1 x53 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3248 -1 x3247>= -1 ;

- -1 x3247 1 x54 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x3248 -1 x3249>= -1 ;

- -1 x3249 1 x140 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires optionaly either org.eclipse.jdt.core 3.4.0.v_874 

--1 x3248 -1 x3250>= -1 ;

- -1 x3250 1 x70 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1456 +1 x86 +1 x87 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x1456 +1 x82 +1 x83 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires optionaly either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x3248 -1 x3251>= -1 ;

- -1 x3251 1 x84 1 x85 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either com.windowtester.swt.platform.ext 3.5.1.200809042232 com.windowtester.swt.platform.ext 3.5.0.200806270034 

--1 x1456 +1 x1486 +1 x1338 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either com.windowtester.runtime 3.5.1.200809042232 com.windowtester.runtime 3.5.0.200806270034 

--1 x1456 +1 x370 +1 x373 >= 0;

-* com.windowtester.swt.runtime 3.5.1.200809042232 requires either com.windowtester.swing.runtime 3.5.1.200809042232 com.windowtester.swing.runtime 3.5.0.200806270034 

--1 x1456 +1 x931 +1 x1305 >= 0;

- -1 x1456 1 x3248 1 x3247 1 x3249 1 x3250 1 x3251 >= 0;

-* org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x320 +1 x21 >= 0;

-* org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x320 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x320 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 requires either org.eclipse.help 3.3.100.v20080610 

--1 x154 +1 x76 >= 0;

-* org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x154 +1 x54 >= 0;

-* org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 requires either org.eclipse.help.base 3.3.100.v20080617 

--1 x154 +1 x78 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either org.eclipse.ui.intro 3.2.200.v20080610 

--1 x148 +1 x424 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires optionaly either org.eclipse.ui.cheatsheets 3.3.100.v20080508 

--1 x3253 -1 x3252>= -1 ;

- -1 x3252 1 x305 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires optionaly either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x3253 -1 x3254>= -1 ;

- -1 x3254 1 x140 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires optionaly either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x3253 -1 x3255>= -1 ;

- -1 x3255 1 x54 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires optionaly either org.eclipse.update.ui 3.2.100.v20080318 

--1 x3253 -1 x3256>= -1 ;

- -1 x3256 1 x1306 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either org.eclipse.ui.intro.universal 3.2.200.v20080508 

--1 x148 +1 x425 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x148 +1 x21 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either org.eclipse.ui.ide.application 1.0.0.I20080603-2000 

--1 x148 +1 x838 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x148 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x148 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.platform 3.3.100.v200806172000 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x148 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

- -1 x148 1 x3253 1 x3252 1 x3254 1 x3255 1 x3256 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x2447 +1 x72 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2447 +1 x21 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either com.ibm.icu 3.8.1.v20080530 

--1 x2447 +1 x142 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x2447 +1 x2401 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.emf.ecore.feature.group 2.4.0.v200806091234 

--1 x2447 +1 x654 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.mozilla.rhino.feature.group 1.6.7.v20071217-1567w31191325 

--1 x2447 +1 x1897 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.datatools.enablement.oda.feature.feature.group 1.6.0.v200804021-797P4CYQCD4CpIiDmMN 

--1 x2447 +1 x509 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.device.extension 2.3.0.v20080424 

--1 x2447 +1 x348 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.device.svg 2.3.0.v20080526 

--1 x2447 +1 x788 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.device.swt 2.3.0.v20080522 

--1 x2447 +1 x1416 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 

--1 x2447 +1 x1125 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x2447 +1 x191 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 

--1 x2447 +1 x190 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x2447 +1 x299 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.runtime 2.3.0.v20080304 

--1 x2447 +1 x1445 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.bridge 1.6.0.v200805290154 

--1 x2447 +1 x968 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.css 1.6.0.v200805290154 

--1 x2447 +1 x1524 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.dom 1.6.0.v200805290154 

--1 x2447 +1 x1204 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.dom.svg 1.6.0.v200805290154 

--1 x2447 +1 x754 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.ext.awt 1.6.0.v200805290154 

--1 x2447 +1 x1136 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.extension 1.6.0.v200805290154 

--1 x2447 +1 x720 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.parser 1.6.0.v200805290154 

--1 x2447 +1 x1217 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.svggen 1.6.0.v200805290154 

--1 x2447 +1 x1201 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.swing 1.6.0.v200805290154 

--1 x2447 +1 x1187 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.transcoder 1.6.0.v200805290154 

--1 x2447 +1 x865 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.util 1.6.0.v200805290154 

--1 x2447 +1 x1328 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.util.gui 1.6.0.v200805290154 

--1 x2447 +1 x1317 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.xml 1.6.0.v200805290154 

--1 x2447 +1 x1238 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.w3c.css.sac 1.3.0.v200805290154 

--1 x2447 +1 x883 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.w3c.dom.smil 1.0.0.v200806040011 

--1 x2447 +1 x771 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.w3c.dom.svg 1.1.0.v200806040011 

--1 x2447 +1 x1235 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.batik.pdf 1.6.0.v200806031500 

--1 x2447 +1 x1061 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x2447 +1 x349 >= 0;

-* org.eclipse.birt.chart.runtime.feature.group 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 requires either org.eclipse.birt.chart.runtime.feature.jar 2.3.0.v20080331-7X8n-EMNbos-qrRSYtmR1 

--1 x2447 +1 x2029 >= 0;

-* org.eclipse.ui 3.4.0.I20080610-1200 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x54 +1 x21 >= 0;

-* org.eclipse.ui 3.4.0.I20080610-1200 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x54 +1 x72 >= 0;

-* org.eclipse.ui 3.4.0.I20080610-1200 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x54 +1 x561 >= 0;

-* org.eclipse.ui 3.4.0.I20080610-1200 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x54 +1 x65 >= 0;

-* org.eclipse.ui 3.4.0.I20080610-1200 requires either org.eclipse.core.expressions 3.4.0.v20080603-2000 

--1 x54 +1 x159 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x1467 +1 x114 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1467 +1 x132 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1467 +1 x170 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1467 +1 x21 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x1467 +1 x1276 >= 0;

-* org.eclipse.emf.teneo 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1467 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1469 +1 x24 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1469 +1 x875 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x1469 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x1469 +1 x927 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x1469 +1 x927 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1469 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1469 +1 x875 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1469 +1 x875 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 

--1 x1469 +1 x1165 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x1469 +1 x840 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x1469 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 

--1 x1469 +1 x1286 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1469 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1469 +1 x875 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x1469 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x1469 +1 x875 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x1469 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1469 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1469 +1 x23 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1469 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1469 +1 x23 >= 0;

-* org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 requires either org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 

--1 x1472 +1 x780 >= 0;

-* org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x1472 +1 x258 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1473 +1 x23 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1473 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1473 +1 x23 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1473 +1 x49 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x3258 -1 x3257>= -1 ;

- -1 x3257 1 x49 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1473 +1 x49 >= 0;

-* org.eclipse.equinox.log 1.1.0.v20080414 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1473 +1 x23 >= 0;

- -1 x1473 1 x3258 1 x3257 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x522 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x522 +1 x53 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x522 +1 x516 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 requires either org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 

--1 x522 +1 x521 >= 0;

-* org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x522 +1 x61 >= 0;

-* org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1482 +1 x21 >= 0;

-* org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1482 +1 x54 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1481 +1 x23 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1481 +1 x39 +1 x23 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1481 +1 x23 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1481 +1 x49 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1481 +1 x49 >= 0;

-* org.eclipse.equinox.event 1.1.0.v20080225 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1481 +1 x23 >= 0;

-* org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1480 +1 x21 >= 0;

-* org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1480 +1 x53 >= 0;

-* org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1480 +1 x603 >= 0;

-* org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 requires either org.eclipse.emf.exporter 2.4.0.v200806091234 

--1 x1480 +1 x850 >= 0;

-* org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3260 -1 x3259>= -1 ;

- -1 x3259 1 x516 >= 0;

- -1 x1480 1 x3260 1 x3259 >= 0;

-* com.instantiations.assist.eclipse.fragment.swt 5.5.1 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1483 +1 x72 >= 0;

-* org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1485 +1 x160 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.director 1.0.0.v20080604 

--1 x2825 +1 x848 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.director.app 1.0.0.v20080604 

--1 x2825 +1 x667 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 

--1 x2825 +1 x875 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 

--1 x2825 +1 x840 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 

--1 x2825 +1 x1376 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 

--1 x2825 +1 x1148 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 

--1 x2825 +1 x1257 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 

--1 x2825 +1 x1368 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x2825 +1 x36 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x2825 +1 x655 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.identity 2.0.0.v20080611-1715 

--1 x2825 +1 x709 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 

--1 x2825 +1 x905 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 

--1 x2825 +1 x927 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 

--1 x2825 +1 x700 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 

--1 x2825 +1 x688 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 

--1 x2825 +1 x1203 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 

--1 x2825 +1 x660 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 

--1 x2825 +1 x1350 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x2825 +1 x796 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 

--1 x2825 +1 x926 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 

--1 x2825 +1 x1107 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.sat4j.core 2.0.0.v20080602 

--1 x2825 +1 x747 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.sat4j.pb 2.0.0.v20080602 

--1 x2825 +1 x1327 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.security 1.0.0.v20080512-1800 

--1 x2825 +1 x209 >= 0;

-* org.eclipse.equinox.p2.director.feature.feature.group 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W requires either org.eclipse.equinox.p2.director.feature.feature.jar 1.0.0.v20080411-1400-7T--EKVTknhmj89GtF9W 

--1 x2825 +1 x1647 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1488 +1 x21 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1488 +1 x53 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1488 +1 x54 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1488 +1 x57 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1488 +1 x71 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x1488 +1 x114 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1488 +1 x19 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.gmf.bridge 1.1.0.v20080528-1052 

--1 x1488 +1 x1251 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 

--1 x1488 +1 x856 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 

--1 x1488 +1 x1336 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 

--1 x1488 +1 x1392 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x1488 +1 x516 >= 0;

-* org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1488 +1 x605 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.device.extension 2.3.0.v20080424 

--1 x1487 +1 x348 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.device.swt 2.3.0.v20080522 

--1 x1487 +1 x1416 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.device.svg 2.3.0.v20080526 

--1 x1487 +1 x788 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 

--1 x1487 +1 x1125 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 

--1 x1487 +1 x190 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.ui 2.3.0.v20080522 

--1 x1487 +1 x833 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 

--1 x1487 +1 x995 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires optionaly either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x3262 -1 x3261>= -1 ;

- -1 x3261 1 x258 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires optionaly either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x3262 -1 x3263>= -1 ;

- -1 x3263 1 x300 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1487 +1 x41 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x1487 +1 x160 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1487 +1 x53 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1487 +1 x61 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1487 +1 x57 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.data.aggregation 2.3.0.v20080606 

--1 x1487 +1 x1092 >= 0;

-* org.eclipse.birt.chart.examples 2.3.0.v20080612 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x1487 +1 x256 >= 0;

- -1 x1487 1 x3262 1 x3261 1 x3263 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x276 +1 x349 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x276 +1 x1003 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.apache.commons.lang 2.3.0.v200803061910 

--1 x276 +1 x1515 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x276 +1 x331 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x276 +1 x21 >= 0;

-* org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x276 +1 x316 >= 0;

-* toolingwin32.win32.x86org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x2962 +1 x24 >= 0;

-* toolingwin32.win32.x86org.eclipse.equinox.common 3.4.0.v20080421-2006 requires either org.python.pydev.core 0.9.7 org.eclipse.m2m.qvt.oml.trace.edit 1.0.0.v20080611-1330 org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 org.eclipse.uml2.common.edit 1.4.0.v200805131030 org.eclipse.core.runtime 3.4.0.v20080512 org.python.pydev.core 1.3.9 javax.xml.soap 1.2.0.v200806030421 org.eclipse.gmf.runtime.common.ui.action.ide 1.1.0.v20080425-1959 org.eclipse.emf.cdo.edit 1.0.0.v200806180411 org.eclipse.ecf.provider.msn 1.2.0.v20080623-0046 org.eclipse.equinox.frameworkadmin.equinox 1.0.0.v20080529-1225 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.1 org.eclipse.equinox.http.servletbridge 1.0.0.v20080427-0830 org.python.pydev 0.9.5 org.python.pydev.parser 1.2.3 org.eclipse.emf.example.installer 1.0.0.v200806091234 com.instantiations.assist.eclipse 5.5.0 org.eclipse.wst.common.environment 1.0.201.v200805140020 org.eclipse.zest.source 1.0.0.v20080115-53-8xB4CE899O274A org.eclipse.emf.ant 2.4.0.v200806091234 com.instantiations.eclipse.mail 5.5.1 org.python.pydev.parser 1.3.1 org.eclipse.birt.chart.engine 2.3.0.v20080606 org.eclipse.core.resources 3.4.0.v20080604-1400 org.eclipse.birt.report.engine.emitter.postscript 2.3.0.v20080610 org.python.pydev.jython 1.1.0 org.eclipse.ui.workbench.compatibility 3.2.0.I20080509-2000 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.eclipse.m2m.atl.adt.editor 2.0.0.v200806101117 org.eclipse.equinox.p2.director.app 1.0.0.v20080604 org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 org.python.pydev.ast 1.0.4 org.eclipse.m2m.atl.compilers.atl2006 2.0.0.v200806101117 org.eclipse.datatools.enablement.sybase.asa.ui 1.0.1.v200805310538 org.eclipse.emf.mapping.ecore2xml.ui 2.4.0.v200806091234 org.eclipse.wst.dtd.ui 1.0.301.v200808072012 org.eclipse.birt.chart.engine.extension 2.3.0.v20080611 org.eclipse.jface.databinding 1.2.0.I20080515-2000a org.eclipse.birt.chart.reportitem.ui 2.3.0.v20080610 org.eclipse.datatools.enablement.hsqldb.ui 1.0.0.v200805152355 org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.security.ui 1.0.0.v20080603-1810 org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.gmf.validate 1.1.0.v20080603-1553 org.eclipse.emf.mapping.ecore2ecore.editor 2.4.0.v200806091234 org.eclipse.ecf.provider.irc 1.3.0.v20080623-0046 org.eclipse.emf.validation.doc 1.2.0.v200805130238 org.python.pydev.ast 1.2.8 org.eclipse.emf.teneo.doc 1.0.0.v200806111928 org.python.pydev.jython 1.3.12 org.eclipse.emf.ecoretools.source 0.8.0.v200806130600 org.eclipse.equinox.p2.updatesite 1.0.0.v20080529-1800 org.eclipse.ecf.presence.bot 1.2.0.v20080623-0046 com.swtdesigner.properties.java5 1.0.0 org.eclipse.platform.doc.isv 3.4.0.v20080613-1330 org.python.pydev.core 1.2.3 org.eclipse.datatools.connectivity.db.generic 1.0.0.v200805152355 org.eclipse.uml2.diagram.clazz 0.8.0.v200806112132 org.eclipse.birt.report.designer.ui.views 2.3.0.v20080606 org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x com.instantiations.eclipse.debug 5.3.2.200806270030 org.eclipse.gmf.runtime.common.ui.action 1.1.0.v20080425-1959 org.eclipse.equinox.useradmin 1.1.0.v20080508-1815 org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.equinox.cm 1.0.0.v20080509-1800 org.eclipse.uml2.diagram.component 0.8.0.v200806112132 org.eclipse.swt.layout.grouplayout 1.1.0 org.python.pydev 1.2.4 javax.servlet 2.4.0.v200806031604 org.eclipse.uml2.examples.uml.ui 2.2.0.v200805131030 org.python.pydev.ast 1.3.10 org.eclipse.birt.report.designer.ui.ide 2.3.0.v20080606 org.python.pydev.parser 1.3.18 com.swtdesigner.layout.group 6.7.0.200806270151 org.eclipse.m2m.qvt.oml.runtime.source 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.3.13 org.eclipse.emf.teneo.jpox.eclipse 1.0.0.v200806111928 org.eclipse.equinox.transforms.xslt 1.0.0.v20080610 org.python.pydev.core 1.0.7 org.eclipse.datatools.enablement.ibm.db2.zseries.ui 1.0.0.v200805160737 org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.enablement.oda.ws 1.1.0.v200805261930 org.eclipse.equinox.frameworkadmin 1.0.0.v20080430-1750 org.eclipse.birt.chart.device.extension 2.3.0.v20080424 org.eclipse.net4j.jvm 1.0.0.v200806180305 org.eclipse.emf.cdo.migrator 1.0.0.v200806180411 org.python.pydev.jython 1.3.1 org.eclipse.m2m.qvt.oml.cst.parser 1.0.0.v20080611-1330 com.xored.composer.ui 1.3.4.200809042225 org.eclipse.datatools.enablement.sybase.ui 1.0.0.v200806041138 org.eclipse.ecf.remoteservice.ui 2.0.0.v20080623-0046 org.eclipse.net4j.db.mysql 1.0.0.v200806180305 org.eclipse.update.scheduler 3.2.100.v20080404 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.1.0.v20080425-1959 org.eclipse.wst.dtdeditor.doc.user 1.0.400.v200805150028 org.eclipse.wst.xmleditor.doc.user 1.0.401.v200808071323 org.eclipse.gmf.runtime.common.ui.services.dnd 1.1.0.v20080425-1959 org.eclipse.uml2.common 1.4.0.v200805131030 org.apache.jasper 5.5.17.v200806031609 org.python.pydev 1.0.8 org.eclipse.datatools.doc.user 1.6.0.20080606124249 org.objectweb.asm 3.1.0.v200803061910 org.eclipse.emf.cdo.doc 1.0.0.v200806180411 org.python.pydev.core 1.3.17 org.eclipse.core.resources.compatibility 3.4.0.v20080604-1400 com.instantiations.eclipse.startup 5.3.2.200806270030 org.eclipse.datatools.connectivity.apache.derby.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.graphdef.codegen 2.0.100.v20080528-1052 org.eclipse.emf.common 2.4.0.v200806091234 org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 org.python.pydev.core 1.3.0 org.eclipse.equinox.p2.touchpoint.natives 1.0.0.v20080505-1850 org.eclipse.ant.core 3.2.0.v20080529 org.eclipse.ui.workbench 3.4.0.I20080606-1300 org.eclipse.ecf.provider.xmpp.ui 2.0.0.v20080623-0046 org.w3c.sac 1.3.0.v20070710 org.python.pydev.jython 1.2.3 org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 org.eclipse.ecf.doc 1.3.0.v20080623-0046 org.eclipse.ecf.provider.bittorrent.ui 0.2.0.v20080623-0046 com.xored.swt.composer 1.3.4.200809042225 org.python.pydev.parser 1.0.4 org.eclipse.help.webapp 3.3.100.v20080528 org.eclipse.uml2.diagram.deploy 0.8.0.v200806112132 org.eclipse.ecf.provider.irc.ui 1.3.0.v20080623-0046 org.python.pydev 1.3.18 org.eclipse.m2m.atl.source 2.0.0.v200806101117 org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.identity 2.0.0.v20080611-1715 org.eclipse.ocl.ecore 1.2.0.v200805130238 org.eclipse.core.expressions 3.4.0.v20080603-2000 org.eclipse.core.runtime.compatibility.registry 3.2.200.v20080610 org.eclipse.tptp.platform.la.core 4.3.200.v200805231116 org.eclipse.m2m.atl.service.core 2.0.0.v200806101117 org.apache.commons.logging 1.0.4.v20080605-1930 org.eclipse.platform.doc.user 3.4.0.v20080612-1340 com.windowtester.runtime.junit4 3.5.0.200806270034 org.python.pydev.parser 1.2.8 org.eclipse.uml2.examples.source 2.2.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.providers 1.1.0.v20080503-1740 org.python.pydev.jython 1.3.20 org.python.pydev.jython 1.0.7 org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 org.eclipse.wst.sse.ui 1.1.0.v200806041847 org.eclipse.core.resources.win32.x86 3.4.0.v20071204 org.eclipse.swt.widgets.baseline 1.1.0 com.xored.swt.composer.win32.win32.x86 1.3.4.200809042225 org.eclipse.datatools.enablement.mysql.ui 1.0.0.v200805152355 org.eclipse.m2m.atl.ocl.core 2.0.0.v200806101117 org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 org.eclipse.equinox.http.servlet 1.0.100.v20080427-0830 org.python.pydev.ast 1.3.2 org.python.pydev 1.3.6 org.eclipse.birt.report.viewer 2.3.0.v20080606 org.apache.batik.extension 1.6.0.v200805290154 org.eclipse.uml2.diagram.statemachine 0.8.0.v200806112132 org.python.pydev.parser 1.3.10 org.eclipse.equinox.p2.ui.admin.rcp 1.0.0.v20080604 org.eclipse.emf.compare.match 0.8.0.v200806180301 org.eclipse.datatools.enablement.oracle.ui 1.0.0.v200805240040 org.python.pydev 0.7.1 com.lowagie.itext 1.5.4.v20080228 org.eclipse.birt.report.designer.ui.preview.web 2.3.0.v200806102 org.eclipse.birt.report.designer.ui.samples.ide 2.3.0.v20080606 org.eclipse.xsd.ecore.converter 2.4.0.v200806091234 org.eclipse.jdt.compiler.tool 1.0.100.v_874 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 org.python.pydev.ast 0.9.5 org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 org.eclipse.cvs 1.0.100.v20080603 org.eclipse.uml2.search.ui 0.7.0.v200806130939 org.eclipse.gmf.common 1.1.1.v20080610-1132 org.eclipse.uml2.uml.editor 2.2.0.v200805131030 org.eclipse.m2m.atl.engine 2.0.0.v200806101117 org.eclipse.net4j.http.common 1.0.0.v200806180305 org.eclipse.ecf.presence.ui 1.2.0.v20080623-0046 org.python.pydev.parser 1.2.2 org.eclipse.emf.cdo.tests.model3.edit 1.0.0.v200806180411 org.eclipse.emf.cdo.tests.model1 1.0.0.v200806180411 org.eclipse.m2m.atl.engine.vm 2.0.0.v200806101117 com.instantiations.eclipse.mail 5.5.0 org.eclipse.emf.ocl.source 1.1.100.v200805130238-108Y7w311916241349 com.windowtester.swt.runtime.legacy 3.5.1.200809042232 org.eclipse.uml2tools 0.8.0.v200806112132 org.eclipse.emf.search.genmodel.ui 0.7.0.v200806130939 org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.uml2.uml.ecore.importer 2.2.0.v200805131030 org.eclipse.emf.transaction.doc 1.2.0.v200805130238 org.eclipse.tptp.platform.logging.events 4.3.200.v200805310100 org.python.pydev.core 1.3.8 org.eclipse.xsd.ecore.importer 2.4.0.v200806091234 org.eclipse.emf.teneo.source 1.0.0.v200806111928-78--DUUEFDEz0MMNLVD org.eclipse.uml2 2.1.0.v200805131030 org.eclipse.gmf.runtime.diagram.ui.render 1.1.0.v20080603-1553 com.windowtester.swt.runtime.os.win32 3.5.0.200806270034 org.eclipse.rcp 3.4.0.v20080507 org.eclipse.xsd.mapping 2.4.0.v200806091234 org.eclipse.emf.workspace.doc 1.2.0.v200805130238 org.eclipse.pde.api.tools 1.0.0.v20080529-1150 org.eclipse.emf.mapping.ecore2xml 2.4.0.v200806091234 org.eclipse.swt.win32.win32.x86 3.4.0.v3448f org.apache.derby 10.1.2.1_v200803061811 org.eclipse.m2m.qvt.oml.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.python.pydev.parser 1.3.0 org.eclipse.ecf.protocol.msn 1.2.0.v20080623-0046 com.instantiations.eclipse.ui 5.3.2.200809042027 org.eclipse.jet.core 1.1.0.v20080415 org.eclipse.datatools.enablement.sybase.ase.models 1.0.1.v200805152355 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.instantiations.assist.eclipse.core 5.5.0 org.python.pydev.ast 1.0.5 org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 org.python.pydev.parser 0.9.5 org.python.pydev.core 1.2.2 org.eclipse.emf.transaction.ui 1.2.0.v200805130238 org.eclipse.gmf.runtime.gef.ui 1.1.0.v20080503-1740 org.eclipse.wst.xml.core 1.1.301.v200808072008 org.eclipse.uml2.diagram.clazz.search 0.7.0.v200806130939 org.sat4j.core 2.0.0.v20080602 org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 org.eclipse.birt.report.designer.ui.editors 2.3.0.v20080610a org.eclipse.equinox.p2.reconciler.dropins 1.0.0.v20080611 org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.python.pydev.jython 1.3.11 org.eclipse.datatools.enablement.postgresql 1.0.1.v200805152355 org.eclipse.ltk.ui.refactoring 3.4.0.v20080605-1800 org.eclipse.datatools.enablement.sybase.ase 1.0.1.v200806040735 org.python.pydev.ast 1.2.9 org.eclipse.datatools.connectivity.oda 3.1.2.v200805152355 org.eclipse.wst.common.emf 1.1.201.v200808071700 org.apache.batik.dom.svg 1.6.0.v200805290154 org.eclipse.birt.chart 2.3.0.v20080304 org.python.pydev.jython 1.2.9 org.python.pydev.ast 1.3.11 org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.1.v200805170742 org.python.pydev.parser 1.3.19 org.python.pydev.core 1.0.6 org.eclipse.uml2.diagram 0.8.0.v200806112132 org.eclipse.jdt.junit4.runtime 1.0.200.v20080603-2000 org.python.pydev.ast 1.3.12 org.eclipse.swt 3.4.0.v3448f org.eclipse.emf.ecoretools.diagram.search 0.7.0.v200806130939 org.eclipse.pde.ui.templates 3.4.0.v20080514-1500 com.instantiations.packager.ui 2.5.1 org.eclipse.emf.cdo.server.db 1.0.0.v200806180411 org.eclipse.datatools.enablement.sybase.asa 1.0.1.v200805310538 org.eclipse.emf.compare 0.8.0.v200806180301 org.eclipse.datatools.enablement.oda.ws.ui 1.1.0.v200805261930 org.eclipse.jdt.launching 3.4.0.v20080529-1300 org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 org.apache.ws.jaxme 0.5.1.v20080530-1550 org.eclipse.mylyn.bugzilla.ui 3.0.0.v20080619-1900 org.apache.commons.el 1.0.0.v200806031608 org.python.pydev 1.2.3 org.w3c.dom.smil 1.0.0.v200806040011 org.eclipse.wst.validation.infopop 1.0.300.v200806041506 org.python.pydev 1.0.7 org.eclipse.net4j.source 1.0.0.v200806180305 org.eclipse.m2m.qvt.oml.ocl 1.0.0.v20080611-1330 org.eclipse.uml2.uml.edit 2.2.0.v200805131030 org.eclipse.emf.search.ui 0.7.0.v200806130939 org.python.pydev.core 1.3.16 org.eclipse.emf.validation.ui 1.2.0.v200805130238 org.eclipse.datatools.enablement.oda.xml 1.1.0.v200805270900 org.eclipse.ltk.core.refactoring 3.4.0.v20080603-2000 org.python.pydev.jython 1.3.2 com.windowtester.swt.codegen 3.5.0.200806270034 org.eclipse.datatools.sqltools.ddlgen.ui 1.0.0.v200805152355 org.apache.xerces 2.9.0.v200805270400 org.eclipse.birt.report.engine.dataextraction 2.3.0.v20080611 org.eclipse.equinox.jmx.vm 1.0.0.v20070515 org.eclipse.birt.report.data.oda.jdbc.ui 2.3.0.v20080606 org.eclipse.equinox.ds 1.0.0.v20080427-0830 org.eclipse.mylyn.bugzilla.ui 3.0.1.v20080721-2100-e3x org.eclipse.equinox.http.jetty 2.0.0.v20080425 org.eclipse.mylyn.team.ui 3.0.2.v20080918-1100-e3x org.python.pydev.jython 1.2.4 org.eclipse.birt.chart.device.svg 2.3.0.v20080526 org.python.pydev.parser 1.0.5 org.eclipse.ui.presentations.r21 3.2.100.I20080512-2000 org.eclipse.mylyn 3.0.0.v20080619-1900 org.eclipse.m2m.qvt.oml.doc 1.0.0.v20080611-1330 org.eclipse.team.svn.nl1.sources 0.7.1.I20080612-1500 org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.datatools.enablement.ibm.db2.luw 1.0.0.v200805152355 org.python.pydev.core 1.3.1 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.1 org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 org.eclipse.emf.cdo.tests.mango.edit 1.0.0.v200806180411 org.python.pydev.parser 1.2.9 org.eclipse.m2m.qvt.oml.emf.util 1.0.0.v20080611-1330 org.eclipse.team.cvs.ssh 3.2.100.I20080604 org.python.pydev.jython 1.3.19 org.python.pydev.jython 1.0.8 org.python.pydev.ast 1.2.1 org.eclipse.m2m.qvt.oml.project 1.0.0.v20080611-1330 com.instantiations.assist.eclipse.core.ui 5.5.1 org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0.v200805152355 org.eclipse.datatools.enablement.ibm.db2.iseries 1.0.0.v200805152355 com.swtdesigner.fragment.jdt.core 6.7.1.200809050053 org.eclipse.equinox.device 1.0.1.v20080303 org.eclipse.equinox.http.jetty 1.1.0.v20080425 org.eclipse.emf.cdo.tests.model3 1.0.0.v200806180411 org.eclipse.emf.teneo.hibernate.mapper 1.0.0.v200806111928 org.eclipse.compare 3.4.0.I20080604 org.polarion.eclipse.team.svn.connector.javahl 2.0.1.I20080612-1500 org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.1.0.v20080503-1740 org.eclipse.emf.mint.ui 0.7.0.v200806172223 org.eclipse.ui.win32 3.2.100.v20080408-0800 org.eclipse.jet.source 0.9.0.v20080516 org.python.pydev 1.3.17 com.windowtester.runtime.junit4 3.5.1.200809042232 org.eclipse.ecf.examples.remoteservices.server 1.0.100.v20080623-0046 org.eclipse.text 3.4.0.v20080605-1800 org.eclipse.uml2.diagram.common 0.8.0.v200806112132 org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 org.python.pydev.core 0.9.7.99 org.eclipse.net4j.jms 1.0.0.v200806180305 org.junit4 4.3.1 org.eclipse.epp.usagedata.recording 1.0.0.R200806162215 org.eclipse.buckminster.remote 1.0.0.r09326 org.eclipse.gmf.tooling 2.1.0.v20080425-1959 org.eclipse.emf.cdo.tests.model2 1.0.0.v200806180411 org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 com.instantiations.swt.graph 5.5.0 org.eclipse.uml2.search 0.7.0.v200806130939 org.python.pydev 1.3.5 org.python.pydev.ast 1.3.3 org.eclipse.update.configurator 3.2.200.v20080417 org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 org.python.pydev.parser 1.3.11 org.eclipse.datatools.enablement.sap.maxdb.dbdefinition 1.0.0.v200805152355 com.windowtester.swing.recorder 3.5.0.200806270034 org.eclipse.gmf.runtime.common.ui.printing.win32 1.1.0.v20080612-1355 org.python.pydev.ast 1.3.20 org.eclipse.wst.common.snippets 1.1.200.v200805140415 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.jdt.doc.user 3.4.0.v20080612-1340 org.eclipse.birt.chart.ui 2.3.0.v20080522 org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb 2.3.0.v20080606 org.eclipse.uml2.diagram.examples.clazz 0.8.0.v200806112132 org.eclipse.ecf.provider.msn.ui 1.3.0.v20080623-0046 org.python.pydev.parser 1.3.3 org.eclipse.ui.ide.application 1.0.0.I20080603-2000 org.python.pydev.ast 1.0.6 org.eclipse.equinox.jsp.jasper.registry 1.0.0.v20080427-0830 org.eclipse.equinox.p2.engine 1.0.0.v20080522-1735 com.nordea.cd.dev.plugin.builderruntime 1.0.2 com.instantiations.assist.eclipse.core 5.5.1 org.eclipse.m2m.qvt.oml 1.0.0.v20080611-1330 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x org.eclipse.update.core.win32 3.2.100.v20080107 org.eclipse.datatools.sqltools.db.derby 1.0.0.v200805152355 com.instantiations.assist.eclipse.admin 5.5.0 org.eclipse.ecf.telephony.call 1.2.0.v20080623-0046 org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 org.eclipse.epp.usagedata.ui 1.0.0.R200806162215 org.eclipse.ui.ide 3.4.0.I20080606-1300 org.eclipse.hyades.lta.sdb 4.5.0.v200806051823 org.eclipse.birt.report.model.adapter.oda 2.3.0.v20080523 org.eclipse.emf.compare.doc 0.8.0.v200806180301 org.eclipse.equinox.servletbridge 1.0.100.v20080427-0830 com.instantiations.common.help 5.3.2.200809042027 org.eclipse.jdt.core 3.4.0.v_874 org.eclipse.equinox.p2.director 1.0.0.v20080604 org.eclipse.gmf.runtime.emf.ui.properties 1.1.0.v20080425-1959 org.eclipse.emf.exporter 2.4.0.v200806091234 org.python.pydev.core 1.3.7 org.eclipse.uml2.diagram.def 0.8.0.v200806112132 org.python.pydev.parser 1.2.1 org.eclipse.wst.command.env.ui 1.1.0.v200805140415 org.eclipse.wst.common.modulecore 1.1.200.v200806091800 org.python.pydev 0.9.7 org.eclipse.gmf.graphdef.edit 2.0.100.v20080610-1132 org.eclipse.birt.report.designer.ui.cubebuilder 2.3.0.v20080606 org.eclipse.m2m.atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.actions 1.1.0.v20080603-1553 com.instantiations.common.core 5.3.2.200806270030 org.eclipse.datatools.enablement.ibm.informix 1.0.0.v200805152355 org.eclipse.net4j.tcp 1.0.0.v200806180305 org.eclipse.wst.common.environment 1.0.202.v200807161459 com.instantiations.common.core 5.3.2.200809042027 org.eclipse.birt.report.data.oda.xml 2.3.0.v20080606 org.eclipse.pde.api.tools.ui 1.0.0.v20080603 org.eclipse.debug.ui 3.4.0.v20080529-1300 org.python.pydev 1.2.2 org.eclipse.team.svn.ui.nl1 0.7.1.I20080612-1500 org.apache.batik.transcoder 1.6.0.v200805290154 org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 org.python.pydev.parser 1.3.16 org.eclipse.wst.command.env.ui 1.1.1.v200807162242 org.eclipse.uml2.diagram.codegen.edit 0.8.0.v200806112132 org.eclipse.datatools.connectivity.db.generic.ui 1.0.1.v200805152355 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.python.pydev.ast 1.3.8 org.python.pydev 1.3.0 org.eclipse.net4j.db 1.0.0.v200806180305 org.python.pydev.ast 1.3.15 org.eclipse.uml2.codegen.ecore 1.4.0.v200805201126 org.eclipse.gmf.sdk 1.0.0.v20080425-1959 org.eclipse.equinox.p2.core 1.0.0.v20080530-1237 org.python.pydev.jython 1.3.10 org.eclipse.emf.cdo 1.0.0.v200806180411 org.eclipse.emf.search.genmodel 0.7.0.v200806130939 org.eclipse.ui.navigator 3.3.100.I20080606-1300 org.eclipse.team.svn.mylyn 0.7.1.I20080612-1500 org.python.pydev.core 1.2.5 org.eclipse.tptp.platform.lta.la.core 4.5.0.v200805132041 org.eclipse.wst.sse.core 1.1.301.v200808072008 org.eclipse.tptp.platform.lta.log.views 4.5.0.v200806051823 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.emf.search.codegen 0.7.0.v200806130939 com.instantiations.common.ui 5.3.2.200806270030 org.eclipse.ecf 2.0.0.v20080611-1715 org.eclipse.equinox.p2.ui.sdk 1.0.0.v20080605-1731 org.apache.commons.discovery 0.2.0.v200806030120 org.eclipse.datatools.help 1.5.0.v200805152355 org.python.pydev.parser 0.9.7.99 org.w3c.css.sac 1.3.0.v200805290154 org.eclipse.jet.examples 0.9.0.v20080211 org.eclipse.mylyn.bugzilla.ide 3.0.2.v20080918-1100-e3x org.eclipse.pde.junit.runtime 3.4.0.v20080529-1800 org.eclipse.emf.commonj.sdo 2.4.0.v200806091234 org.python.pydev.jython 1.2.1 com.instantiations.tools 5.3.2.200806270030 com.windowtester.runtime 3.5.1.200809042232 org.eclipse.wst.validation 1.2.0.v200806051402 org.eclipse.ecf.docshare 2.0.0.v20080623-0046 com.instantiations.eclipse.model.jsp 5.5.1 org.eclipse.emf.teneo.hibernate.eclipse 1.0.0.v200806111928 com.jcraft.jsch 0.1.37.v200803061811 org.python.pydev.parser 1.0.6 org.eclipse.emf.converter 2.4.0.v200806091234 org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.buckminster.ui 1.0.0.r09319 org.eclipse.datatools.sqltools.tablewizard 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.0 org.eclipse.uml2.source 2.2.0.v200805201126 org.eclipse.team.cvs.ui 3.3.100.I20080604 org.python.pydev.jython 1.3.3 org.eclipse.emf.search.ocl 0.7.0.v200806130939 org.eclipse.datatools.enablement.sybase.asa.models 1.0.0.v200805152355 org.eclipse.sdk 3.4.0.v200806172000 org.eclipse.xsd.ecore.exporter 2.4.0.v200806091234 org.apache.commons.codec 1.3.0.v20080530-1600 org.eclipse.equinox.p2.exemplarysetup 1.0.0.v20080427-2136 org.eclipse.equinox.io 1.0.0.v20080218 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 org.eclipse.wst.common.ui 1.1.301.v200805140415 org.eclipse.emf.databinding.edit 1.0.0.v200806091234 org.mortbay.jetty.server 6.1.7.v200806031612 org.eclipse.wst.dtd.core 1.1.200.v200805140200 org.python.pydev 1.0.6 org.eclipse.uml2.diagram.activity 0.8.0.v200806112132 org.eclipse.emf.importer.rose 2.4.0.v200806091234 org.eclipse.core.net.win32.x86 1.0.0.I20080521 javax.activation 1.1.0.v200804101140 org.python.pydev.core 1.3.15 org.python.pydev.parser 1.3.8 com.instantiations.assist.eclipse.coverage.ui 5.5.1.200809042337 org.eclipse.emf.ecoretools.filters 0.8.0.v200806130600 org.python.pydev.ast 1.3.0 org.eclipse.birt.report.data.oda.xml.ui 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase 1.0.1.v200805310538 org.python.pydev 1.3.8 org.eclipse.equinox.ip 1.0.0.v20080218 org.eclipse.datatools.connectivity.console.profile 1.0.0.v200805231345 org.eclipse.ecf.sharedobject 1.3.0.v20080623-0046 org.eclipse.debug.core 3.4.0.v20080612 org.eclipse.wst.xmleditor.doc.user 1.0.400.v200805211530 org.eclipse.datatools.enablement.sap.maxdb 1.0.0.v200805152355 org.python.pydev.ast 0.9.7 com.windowtester.swt.runtime.legacy 3.5.0.200806270034 org.eclipse.equinox.simpleconfigurator.manipulator 1.0.0.v20080427-2136 org.eclipse.equinox.p2.touchpoint.eclipse 1.0.0.v20080529-1225 com.instantiations.swt.graph 5.5.1 org.eclipse.gmf.doc 1.2.0.v20080516-1143 org.python.pydev 1.3.20 com.windowtester.swing.runtime 3.5.1.200809042232 org.eclipse.datatools.enablement.ibm.db2.iseries.ui 1.0.0.v200805160737 org.eclipse.datatools.connectivity.oda.profile 3.0.6.v200805152355 org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.emf.workspace.source 1.2.0.v200805130238-23-8s733I3C59379I org.eclipse.core.boot 3.1.100.v20080218 org.python.pydev.ast 1.2.2 org.eclipse.birt.doc 2.3.0.v20080617a com.instantiations.assist.eclipse.core.ui 5.5.0 org.python.pydev.jython 1.3.18 org.python.pydev.jython 1.0.5 org.eclipse.emf.validation 1.2.0.v200805170232 org.eclipse.equinox.jmx.client.rmi 1.0.0 org.eclipse.emf.mapping.ecore 2.4.0.v200806091234 com.instantiations.assist.eclipse.coverage 5.5.1.200809042337 com.instantiations.helpeditor.ui 1.3.4.200806270212 org.eclipse.emf.edit.ui 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editor.script 2.3.0.v200806102 org.eclipse.gmf.ecore.editor 2.0.100.v20080610-1132 com.windowtester.swt.recorder 3.5.1.200809042232 org.eclipse.uml2.diagram.source 0.8.0.v200806112132 org.eclipse.equinox.util 1.0.0.v20080414 org.eclipse.ecf.examples.source 2.0.0.v20080623-0046 org.eclipse.emf.mapping.xsd2ecore.editor 2.4.0.v200806091234 org.eclipse.pde.p2.ui 1.0.0.v20080604-2000 org.eclipse.birt.resources 2.3.0.v20080313 org.eclipse.emf.query.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.emf.ecore.change.edit 2.4.0.v200806091234 org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 org.polarion.eclipse.team.svn.connector.svnkit 2.0.1.I20080612-1500 org.eclipse.buckminster.download 1.1.0.r09319 com.swtdesigner 6.7.0.200806270151 org.python.pydev.parser 1.3.2 org.eclipse.jdt.compiler.apt 1.0.100.v20080513-1235 org.python.pydev.ast 1.0.7 com.windowtester.swt.gef.codegen 3.5.0.200806270034 org.eclipse.emf.ecore 2.4.0.v200806091234 org.eclipse.birt.report.designer.ui.editors.schematic 2.3.0.v200806102 org.eclipse.pde.build 3.4.0.v20080604 com.instantiations.assist.eclipse 5.5.1 org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.3.0.v200806102 org.eclipse.emf.cdo.tests.model1.edit 1.0.0.v200806180411 org.python.pydev 0.9.8 javax.xml 1.3.4.v200806030440 org.python.pydev 0.4.2 org.polarion.eclipse.team.svn.connector.javahl.win32 2.0.1.I20080612-1500 org.apache.ws.commons.util 1.0.0.v20080530-1550 org.apache.batik.bridge 1.6.0.v200805290154 org.eclipse.emf.search 0.7.0.v200806130939 org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0.v200805152355 org.eclipse.team.core 3.4.0.I20080605 org.eclipse.tptp.platform.execution 4.4.100.v200806050100 org.eclipse.uml2.diagram.parser 0.8.0.v200806112132 org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 org.python.pydev.core 0.9.8 org.eclipse.uml2.search.common.ui 0.7.0.v200806130939 org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 org.eclipse.xsd.cheatsheets 2.3.0.v200806091234 org.eclipse.wst.xsd.core 1.1.300.v200805282012 org.eclipse.net4j.http 1.0.0.v200806180305 org.python.pydev.core 1.3.6 org.eclipse.ui.externaltools 3.2.0.v20080514-1542 org.eclipse.birt.report.engine.emitter.prototype.excel 2.3.0.v20080606 org.python.pydev.parser 1.3.17 com.instantiations.eclipse.util 5.3.2.200806270030 org.eclipse.ui.editors 3.4.0.v20080603-2000 org.eclipse.buckminster.slf4j 1.0.0 org.python.pydev.ast 1.3.9 org.eclipse.gef.source 3.4.0.v20080115-677-8082A5696H274A org.python.pydev.core 1.0.8 org.python.pydev.ast 1.3.14 org.eclipse.team.ui 3.4.0.I20080604 org.eclipse.emf.query.ocl.source 1.2.0.v200805130238-11-7w311916241349 com.windowtester.swt.runtime 3.5.0.200806270034 org.eclipse.osgi.jmx 1.0.0.v20080610-1530 org.eclipse.net4j.examples.source 1.0.0.v200806180305 org.eclipse.tptp.monitoring.lta.symptom.doc.user 4.5.0.v200805132041 org.eclipse.equinox.p2.updatechecker 1.0.0.v20080427-2136 org.eclipse.ui.views 3.3.0.I20080509-2000 org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 javax.mail 1.4.0.v200804091730 ch.ethz.iks.slp 1.0.0.RC4_v200806091030 org.eclipse.core.resources.jmx 1.0.0.v20070510 javax.wsdl 1.4.0.v200806030407 org.eclipse.wst.xml.ui 1.0.401.v200807240448 org.python.pydev 1.2.1 org.eclipse.birt.chart.ui.extension 2.3.0.v20080610 org.python.pydev.core 0.9.8.3 org.python.pydev.parser 0.9.7 org.eclipse.jem.util 2.0.100.v200805140020 org.eclipse.tptp.monitoring.lta.la.core 4.5.0.v200805270100 org.python.pydev.core 0.9.8.2 org.eclipse.jdt.junit.runtime 3.3.0.v20080603-2000 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.1 org.eclipse.ecf.discovery 2.0.0.v20080623-0046 org.apache.xml.serializer 2.7.1.v200806030322 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.8.6 org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.1.0.v20080603-1553 com.windowtester.eclipse.help 3.5.1.200809042232 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev 0.9.8.7 org.eclipse.birt.report.engine.emitter.ppt 2.3.0.v20080606 org.apache.commons.httpclient 3.1.0.v20080605-1935 com.windowtester.runtime.legacy 3.5.0.200806270034 org.eclipse.datatools.enablement.oda.xml.ui 1.1.0.v200805270900 org.python.pydev 0.9.8.3 org.eclipse.mylyn.compatibility 3.0.2.v20080918-1100-e3x org.python.pydev 0.9.8.4 org.python.pydev 0.9.8.5 org.eclipse.wst.common.project.facet.ui 1.3.0.v200805281731 org.eclipse.gmf.tooldef 2.0.0.v20080417-1610 org.python.pydev 0.9.8.6 org.eclipse.core.commands 3.4.0.I20080509-2000 org.python.pydev.jython 1.3.9 org.eclipse.datatools.modelbase.sql.edit 1.0.0.v200805152355 org.python.pydev 0.9.8.2 org.python.pydev 0.9.8.1 org.eclipse.emf.cdo.server.hibernate.libraries 1.0.0.v200806180411 org.eclipse.equinox.p2.ui.admin 1.0.0.v20080522-1735 org.eclipse.wst.common.core 1.1.201.v200806010600 org.eclipse.emf.compare.diff.edit 0.8.0.v200806180301 com.swtdesigner.layout.group.designer 6.7.0.200806270151 org.eclipse.ui.views.properties.tabbed 3.4.0.I20080527-2000 org.python.pydev.jython 1.2.2 org.eclipse.wst.common.emf 1.1.200.v200805140020 com.instantiations.packager.refactoring 2.5.1 com.instantiations.assist.eclipse.fragment.jdt 5.5.1 org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0.v200805152355 org.python.pydev.parser 1.0.7 org.eclipse.datatools.sqltools.data.ui 1.1.0.v200805310400 org.eclipse.buckminster.core 1.1.0.r09336 org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.birt.report.designer.ui.samplesview 2.3.0.v20080606 org.eclipse.equinox.launcher 1.0.100.v20080509-1800 org.eclipse.birt.report.item.crosstab.ui 2.3.0.v20080606 org.eclipse.m2m.atl.adt.perspective 2.0.0.v200806101117 javax.servlet.jsp 2.0.0.v200806031607 com.swtdesigner 6.7.1.200809050053 org.eclipse.jet.ui 0.9.0.v20080527 org.eclipse.m2m.qvt.oml.common.ui 1.0.0.v20080611-1330 com.swtdesigner.layout.group 6.7.1.200809050053 org.eclipse.gmf.runtime.common.ui.services.action 1.1.0.v20080507-2230 org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 org.python.pydev 1.0.5 org.eclipse.emf.workspace.ui 1.2.0.v200805130238 com.instantiations.helpeditor.core.toc 1.3.4.200809042225 org.slf4j.extendable 1.4.3 org.python.pydev.core 1.3.14 org.eclipse.hyades.logging.core 4.3.200.v200804110100 org.eclipse.datatools.enablement.postgresql.ui 1.0.0.v200806060334 org.eclipse.gmf.graphdef 2.0.100.v20080528-1052 org.eclipse.mylyn.help.ui 3.0.2.v20080918-1100-e3x org.eclipse.ecf.protocol.bittorrent 0.3.0 org.eclipse.birt.report.engine 2.3.0.v20080616 org.eclipse.datatools.connectivity.ui.dse 1.1.0.v200805152355 org.eclipse.mylyn.bugzilla.core 3.0.0.v20080619-1900 org.python.pydev.jython 1.3.4 org.python.pydev 0.9.0 org.eclipse.equinox.preferences.jmx 1.0.0.v20070510 com.instantiations.assist.eclipse.fragment.jdt.core 5.5.1 org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0.v200805152355 org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 org.eclipse.tptp.monitoring.lta.logui 4.5.0.v200805141427 org.eclipse.birt.report.debug.ui 2.3.0.v200806102 org.eclipse.gmf.runtime.emf.ui 1.1.0.v20080516-1748 org.eclipse.ui.cheatsheets 3.3.100.v20080508 org.python.pydev 1.2.9 org.eclipse.birt.report.engine.emitter.wpml 2.3.0.v20080606 org.eclipse.help.appserver 3.1.300.v20080507 org.python.pydev.parser 1.3.9 com.xored.composer.ui 1.3.4.200806270212 org.eclipse.datatools.sqltools.tabledataeditor 1.0.0.v200805240400 org.eclipse.gmf.runtime.emf.type.core 1.1.0.v20080425-1959 org.python.pydev 1.3.7 com.ibm.icu.base 3.8.1.v20080530 org.python.pydev.ast 1.3.1 org.apache.batik.pdf 1.6.0.v200806031500 org.eclipse.emf.mapping.ui 2.4.0.v200806091234 org.eclipse.net4j.db.derby 1.0.0.v200806180305 org.eclipse.net4j.http.server 1.0.0.v200806180305 org.python.pydev.jython 1.3.17 org.python.pydev.jython 1.0.6 org.python.pydev.ast 1.2.3 org.eclipse.team.svn.sources 0.7.1.I20080612-1500 org.eclipse.uml2.diagram.usecase 0.8.0.v200806112132 org.eclipse.wst.sse.core 1.1.300.v200805221633 org.eclipse.birt.report.designer.ui 2.3.0.v20080606 org.eclipse.jdt.apt.ui 3.3.100.v20080407-1345 com.instantiations.eclipse.debug 5.3.2.200809042027 org.eclipse.gmf.codegen.ui 1.1.0.v20080512-1200 com.instantiations.designer.databinding 6.7.1.200809050053 org.python.pydev.core 1.0.1 com.windowtester.swt.runtime.gef 3.5.0.200806270034 com.instantiations.common.ui 5.3.2.200809042027 org.python.pydev 1.3.19 org.eclipse.ui.forms 3.3.100.v20080611 org.eclipse.birt.data 2.3.0.v20080606 org.eclipse.datatools.enablement.sybase.ase.ui 1.0.1.v200805310538 org.polarion.eclipse.team.svn.connector 2.0.1.I20080612-1500 org.eclipse.emf.common.ui 2.4.0.v200806091234 org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0.v200805152355 org.eclipse.wst.xsdeditor.doc.user 1.0.400.v200805150028 org.eclipse.emf.mint.doc 0.7.0.v200806172223 org.eclipse.buckminster.generic 1.0.0.r09319 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.1 org.eclipse.emf.validation.examples 1.2.0.v200805280204 org.eclipse.team.svn.core 0.7.1.I20080612-1500 org.python.pydev.ast 1.2.4 org.eclipse.emf.cdo.server.hibernate 1.0.0.v200806180411 org.python.pydev.jython 1.3.8 org.eclipse.gmf.xpand 1.1.0.v20080528-1052 org.eclipse.datatools.sqltools.data.core 1.0.0.v200805152355 org.eclipse.emf.ecoretools 0.8.0.v200806130600 org.python.pydev.core 1.3.18 org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 org.eclipse.emf 2.4.0.v200806091234 org.eclipse.emf.ecoretools.properties 0.8.0.v200806130600 org.python.pydev.core 1.2.7 org.python.pydev.parser 0.9.8 org.eclipse.datatools.enablement.ibm.db2.luw.ui 1.0.0.v200805160737 org.eclipse.mylyn.team.ui 3.0.0.v20080619-1900 org.eclipse.help.base 3.3.100.v20080617 org.eclipse.m2m.atl.doc 2.0.0.v200806101117 org.eclipse.net4j.examples 1.0.0.v200806180305 org.eclipse.birt.data.aggregation 2.3.0.v20080606 org.eclipse.gmf.examples 1.0.100.v20080425-1959 org.eclipse.emf.search.common 0.7.0.v200806130939 org.python.pydev.ast 1.3.17 org.eclipse.ecf.provider.filetransfer.ssl 1.0.0.v20080611-1715 org.python.pydev.core 1.0.3 org.eclipse.team.svn.core.nl1 0.7.1.I20080612-1500 org.eclipse.emf.cdo.server.hibernate.teneo 1.0.0.v200806180411 org.eclipse.wst.validation.ui 1.2.1.v200807292117 org.python.pydev.parser 1.0.3 org.python.pydev.ast 1.3.6 org.eclipse.search 3.4.0.v20080603-2000 org.eclipse.jet 0.9.0.v20080527 org.python.pydev 1.3.2 org.python.pydev.jython 1.2.6 org.python.pydev.parser 1.3.14 org.eclipse.datatools.oda.cshelp 1.0.0.v200805152355 org.eclipse.jdt.junit 3.4.0.v20080603-2000 org.eclipse.datatools.sqltools.debugger.core 1.0.0.v200805152355 org.mortbay.jetty 5.1.14.v200806031611 org.eclipse.equinox.p2.garbagecollector 1.0.0.v20080506-1939 org.eclipse.m2m.atl.adt.debug 2.0.0.v200806101117 org.eclipse.equinox.jmx.client 1.0.0.v20070515 org.python.pydev.core 1.3.5 org.eclipse.mylyn.bugzilla.core 3.0.1.v20080721-2100-e3x org.python.pydev.parser 0.9.8.3 org.python.pydev.parser 0.9.8.2 org.python.pydev.parser 0.9.8.1 org.eclipse.osgi.services 3.1.200.v20071203 org.python.pydev 1.0.4 org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 org.python.pydev.parser 0.9.8.7 org.python.pydev.parser 0.9.8.6 org.eclipse.gmf.runtime.emf.core 1.1.0.v20080425-1959 org.python.pydev.parser 0.9.8.5 org.eclipse.core.contenttype 3.3.0.v20080604-1400 org.eclipse.ecf.datashare 1.3.0.v20080623-0046 org.python.pydev.parser 0.9.8.4 org.eclipse.tptp.platform.common.ui 4.4.100.v200806110100 org.junit 3.8.2.v20080602-1318 com.instantiations.assist.eclipse.coverage 5.5.0.200806270255 javax.activation 1.1.0.v200806101325 com.instantiations.assist.eclipse.scheduler 5.5.1 javax.management 1.2.0.v200803061811 org.eclipse.emf.edit 2.4.0.v200806091234 org.eclipse.ecf.provider.discovery 2.0.0.v20080623-0046 org.eclipse.birt.chart.device.pdf 2.3.0.v20080417 org.eclipse.equinox.wireadmin 1.0.0.v20080407 org.python.pydev.ast 1.0.8 org.eclipse.net4j.buddies.server 1.0.0.v200806180305 org.eclipse.wst.internet.cache 1.0.301.v200805140020 com.windowtester.runtime 3.5.0.200806270034 org.mx4j.jmx 3.0.3.v200802291451 org.eclipse.pde.ui 3.4.0.v20080530 org.eclipse.ocl 1.2.0.v200806091438 org.eclipse.birt.cshelp 2.3.0.v20080617 org.eclipse.emf.query.doc 1.2.0.v200805130238 org.eclipse.pde.runtime 3.4.0.v20080530-1200 org.apache.axis 1.4.0.v200807230600 org.apache.log4j 1.2.13.v200806030600 org.eclipse.ui.intro 3.2.200.v20080610 com.instantiations.assist.eclipse.pattern 5.5.1 com.xored.swt.composer 1.3.4.200806270212 org.apache.batik.ext.awt 1.6.0.v200805290154 org.eclipse.emf.cdo.ui 1.0.0.v200806180411 org.eclipse.jface 3.4.0.I20080606-1300 com.windowtester.swt.runtime.gef 3.5.1.200809042232 org.eclipse.gmf.runtime.emf.type.ui 1.1.0.v20080425-1959 org.eclipse.uml2.uml 2.2.0.v200805141133 org.objectweb.asm 3.0.0.v200803061811 org.python.pydev.core 1.1.0 org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 org.python.pydev 1.3.14 org.eclipse.gmf.runtime.diagram.ui.printing 1.1.0.v20080501-1739 org.eclipse.mylyn.ide.ant 3.0.2.v20080918-1100-e3x org.eclipse.xsd.example.installer 1.0.0.v200806091234 org.eclipse.uml2.diagram.examples.profile 0.8.0.v200806112132 org.eclipse.ui.intro.universal 3.2.200.v20080508 org.python.pydev.ast 0.9.7.99 org.eclipse.emf.codegen 2.4.0.v200806091234 org.eclipse.equinox.p2.metadata 1.0.0.v20080514-1900 org.eclipse.ecf.example.collab 1.3.0.v20080623-0046 org.python.pydev.parser 1.2.4 org.eclipse.birt.report.engine.emitter.html 2.3.0.v20080606 org.python.pydev.jython 1.3.16 org.eclipse.osgi 3.4.0.v20080605-1900 org.eclipse.emf.databinding 1.0.0.v200806091234 org.eclipse.help 3.3.100.v20080610 org.eclipse.net4j.db.hsqldb 1.0.0.v200806180305 org.eclipse.gmf.runtime.diagram.ui.dnd 1.1.0.v20080425-1959 org.eclipse.birt.report.model 2.3.0.v20080605 org.eclipse.datatools.enablement.finfo 1.5.1.v200805152355 org.eclipse.jsch.ui 1.1.100.I20080415 org.python.pydev 1.3.10 org.python.pydev.parser 1.3.6 org.eclipse.emf.mapping.ecore.editor 2.4.0.v200806091234 org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 org.eclipse.birt.report.engine.emitter.pdf 2.3.0.v20080606 org.python.pydev 1.2.8 com.instantiations.packager.help 2.5.1 org.eclipse.equinox.p2.directorywatcher 1.0.0.v20080505-1850 org.eclipse.draw2d 3.4.0.v20080529 org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ org.eclipse.ecf.ui 2.0.0.v20080623-0046 org.eclipse.birt.report.data.oda.jdbc.dbprofile 2.3.0.v20080606 org.eclipse.equinox.security.win32.x86 1.0.0.v20080529-1600 org.eclipse.wst.xml.ui 1.0.400.v200806051910 org.eclipse.jdt.ui 3.4.0.v20080603-2000 org.eclipse.equinox.p2.ui 1.0.0.v20080530-1237 org.eclipse.hyades.lta.logging.adapter.ui 4.5.0.v200805132041 org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.python.pydev 0.9.1 org.eclipse.emf.ecore.sdo.doc 2.4.0.v200806091234 com.instantiations.eclipse.ast.editor 5.5.1 org.eclipse.ant.ui 3.3.0.v20080529 org.python.pydev.core 1.3.13 org.eclipse.gef.doc.isv 3.4.0.v20080606 org.apache.xml.resolver 1.2.0.v200806030312 org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0.v200806100223 org.eclipse.birt 2.3.0.v20080304 org.eclipse.equinox.security 1.0.0.v20080512-1800 com.instantiations.tools 5.3.2.200809042027 org.eclipse.jdt.core.manipulation 1.2.0.v20080603-2000 org.eclipse.gmf.runtime.diagram.ui.printing.render 1.1.0.v20080425-1959 org.eclipse.net4j.buddies.ui 1.0.0.v200806180305 org.eclipse.emf.codegen.ui 2.4.0.v200806091234 org.eclipse.team.svn 0.7.1.I20080612-1500 org.eclipse.wst.command.env.infopop 1.0.100.v200805301544 org.eclipse.datatools.enablement.hsqldb.dbdefinition 1.0.0.v200805152355 org.eclipse.gmf.runtime.common.ui.services.properties 1.1.0.v20080425-1959 org.eclipse.emf.cheatsheets 2.4.0.v200806091234 org.eclipse.ecf.presence.collab.ui 1.2.0.v20080623-0046 org.eclipse.update.core 3.2.200.v20080515 org.eclipse.wst.command.env.core 1.0.204.v200805140020 org.apache.batik.swing 1.6.0.v200805290154 org.eclipse.birt.report.designer.samplereports 2.3.0.v20080606 org.python.pydev.parser 1.0.8 org.eclipse.xsd 2.4.0.v200806091234 com.instantiations.assist.eclipse.fragment.jdt 5.5.0 org.eclipse.emf.transaction 1.2.0.v200805130238 org.eclipse.mylyn.team.cvs 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.ui 1.0.0.v20080611-1330 org.eclipse.emf.validation.source 1.2.0.v200805130238-35-9oA55S5J8H5ADM org.eclipse.datatools.enablement.hsqldb 1.0.0.v200805152355 org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 org.eclipse.equinox.jsp.jasper 1.0.100.v20080427-0830 org.eclipse.osgi.util 3.1.300.v20080303 org.eclipse.datatools.connectivity.oda.consumer 3.1.2.v200805230718 org.eclipse.emf.compare.source 0.8.0.v200806180301 org.python.pydev.core 1.3.19 org.eclipse.emf.query.examples 1.2.0.v200805130238 org.eclipse.buckminster.runtime 1.1.0.r09338 org.eclipse.datatools.enablement.sybase.asa.dbdefinition 1.0.0.v200805240040 org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 org.apache.batik.svggen 1.6.0.v200805290154 org.eclipse.buckminster.cvs 1.0.0.r09319 org.python.pydev.core 1.2.6 org.eclipse.equinox.simpleconfigurator 1.0.0.v20080604 org.eclipse.help.ui 3.3.100.v20080521 org.apache.batik.dom 1.6.0.v200805290154 org.python.pydev.parser 1.1.0 org.eclipse.ecf.server.generic 1.2.0.v20080623-0046 com.windowtester.swt.runtime.win32 3.5.0.200806270034 org.eclipse.emf.cdo.examples 1.0.0.v200806180411 org.eclipse.ecf.provider.remoteservice 1.3.0.v20080623-0046 org.eclipse.gmf.runtime.notation.edit 1.1.0.v20080507-1326 org.eclipse.core.filesystem 1.2.0.v20080604-1400 org.eclipse.m2m.qvt.oml.runtime.ui 1.0.0.v20080611-1330 org.eclipse.emf.cdo.server.hibernate.source 1.0.0.v200806180411 org.python.pydev.jython 1.3.7 org.eclipse.gmf.codegen.edit 2.1.0.v20080610-1132 org.eclipse.buckminster.pde 1.1.0.r09351 org.python.pydev.ast 1.2.5 org.python.pydev.core 1.0.2 org.python.pydev.ast 1.3.16 org.apache.batik.parser 1.6.0.v200805290154 org.python.pydev.parser 1.0.2 org.eclipse.wst.common.infopop 1.0.100.v200805301550 org.eclipse.ecf.remoteservice 2.0.0.v20080623-0046 org.python.pydev 1.3.1 org.python.pydev.jython 1.2.5 org.eclipse.emf.mapping 2.4.0.v200806091234 org.eclipse.emf.cdo.server.hibernate.id 1.0.0.v200806180411 com.windowtester.runtime.legacy 3.5.1.200809042232 org.python.pydev.ast 1.3.7 org.eclipse.datatools.enablement.oracle 1.0.0.v200805152355 org.python.pydev.parser 1.3.15 org.eclipse.emf.importer 2.4.0.v200806091234 org.eclipse.birt.example 2.3.0.v20080304 org.eclipse.birt.report.designer.ui.lib 2.3.0.v20080606 org.eclipse.emf.cdo.server.source 1.0.0.v200806180411 org.eclipse.gmf.runtime.common.ui.services 1.1.0.v20080612-1229 org.eclipse.datatools.sqltools.db.generic 1.0.0.v200805152355 org.eclipse.net4j 1.0.0.v200806180305 org.eclipse.jdt 3.4.0.v20080603-2000 org.eclipse.emf.cdo.source 1.0.0.v200806180411 org.eclipse.datatools.connectivity 1.1.0.v200805160228 com.instantiations.assist.eclipse.scheduler 5.5.0 org.eclipse.emf.ecore.sdo.source 2.4.0.v200806091234 org.eclipse.wst.sse.doc.user 1.1.0.v200805211530 org.python.pydev 0.9.7.99 org.eclipse.emf.transaction.source 1.2.0.v200805130238-23-8s733I3C59379I org.w3c.dom.svg 1.1.0.v200806040011 org.python.pydev.core 1.3.4 javax.xml.rpc 1.1.0.v200806030420 org.eclipse.ocl.uml.source 1.2.0.v200805130238-11-7w311916241349 com.instantiations.eclipse.ui 5.3.2.200806270030 org.eclipse.jface.text 3.4.0.v20080603-2000 org.apache.batik.xml 1.6.0.v200805290154 org.python.pydev 1.0.3 org.eclipse.gmf.bridge.ui.dashboard 2.0.0.v20080417-1610 org.apache.lucene 1.9.1.v20080530-1600 org.eclipse.emf.query.ocl 1.2.0.v200805130238 org.eclipse.uml2.uml.resources 2.2.0.v200805131030 org.eclipse.ecf.provider.r_osgi 2.0.0.v20080623-0046 org.eclipse.emf.importer.java 2.4.0.v200806091234 org.python.pydev.debug 1.3.20 org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 org.python.pydev.mylyn 0.3.0 com.instantiations.assist.eclipse.pattern 5.5.0 org.eclipse.emf.source 2.4.0.v200806091234 org.eclipse.ui.browser 3.2.200.v20080507 org.eclipse.tptp.lta.sdb.epi 4.5.0.v200805132041 org.eclipse.net4j.doc 1.0.0.v200806180305 org.eclipse.gmf.bridge 1.1.0.v20080528-1052 com.instantiations.assist.eclipse.admin 5.5.1 org.eclipse.ecf.presence 1.3.0.v20080623-0046 org.eclipse.jet.editor 0.9.0.v20080226 org.eclipse.emf.mint 0.7.0.v200806172223 org.eclipse.ecf.provider 1.3.0.v20080623-0046 com.instantiations.assist.eclipse.core.ant 5.5.0 org.apache.axis 1.4.0.v200806030120 org.eclipse.equinox.p2.metadata.repository 1.0.0.v20080604 com.ibm.icu 3.8.1.v20080530 org.eclipse.gmf.runtime.diagram.ui.properties 1.1.0.v20080603-1553 org.eclipse.team.svn.mylyn.source 0.7.1.I20080612-1500 org.eclipse.ecf.provider.datashare 1.3.0.v20080623-0046 org.eclipse.birt.report.data.oda.sampledb 2.3.0.v20080606 org.eclipse.m2m.atl.drivers.emf4atl 2.0.0.v200806101117 org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.1.0.v20080425-1959 org.python.pydev 0.8.0 org.eclipse.datatools.connectivity.sqm.server.ui 1.1.0.v200806050117 com.nordea.cd.dev.plugin.stubbuilder 1.0.2 org.eclipse.emf.mapping.xsd2ecore 2.4.0.v200806091234 org.python.pydev.parser 1.2.5 org.eclipse.xsd.mapping.editor 2.4.0.v200806091234 org.python.pydev.jython 1.3.15 org.eclipse.gmf.xpand.editor 1.0.0.v20080425-1959 org.eclipse.tptp.platform.lta.common 4.5.0.v200806050100 org.eclipse.buckminster.pde.ui 1.0.0.r09319 org.eclipse.emf.validation.ocl 1.2.0.v200805130238 org.eclipse.ui.console 3.3.0.v20080529-1300 org.eclipse.net4j.ui 1.0.0.v200806180305 org.eclipse.emf.workspace 1.2.0.v200805130238 org.python.pydev.ast 0.9.8.6 org.python.pydev.ast 0.9.8.5 org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 org.python.pydev.ast 0.9.8.4 org.eclipse.ui.net 1.0.0.I20080605 org.python.pydev.ast 0.9.8.3 org.eclipse.net4j.db.source 1.0.0.v200806180305 org.eclipse.zest.core 1.0.0.v20080115 org.python.pydev.ast 0.9.8.2 org.eclipse.tptp.lta.log.epi 4.5.0.v200805132041 org.python.pydev.ast 0.9.8.1 org.python.pydev 1.3.13 org.eclipse.equinox.app 1.1.0.v20080421-2006 org.eclipse.equinox.p2.metadata.generator 1.0.0.v20080604 org.python.pydev 1.2.7 org.eclipse.emf.ocl.examples 1.2.0.v200805130238 org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 com.swtdesigner.help 6.7.1.200809050053 org.eclipse.ecf.ssl 1.0.0.v20080611-1715 org.eclipse.team.cvs.core 3.3.100.I20080605 org.python.pydev.ast 0.9.8 com.instantiations.helpeditor.core.toc 1.3.4.200806270212 org.eclipse.core.databinding 1.1.0.I20080527-2000 org.eclipse.tptp.platform.common 4.3.200.v200805300100 org.eclipse.net4j.util.ui 1.0.0.v200806180305 org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.python.pydev 1.3.9 org.eclipse.emf.search.common.ui 0.7.0.v200806130939 org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 org.eclipse.uml2.diagram.csd 0.8.0.v200806112132 org.python.pydev.parser 1.3.7 org.eclipse.team.svn.ui 0.7.1.I20080612-1500 org.python.pydev.core 1.3.12 org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 com.instantiations.packager.core 2.5.1 com.windowtester.swing.runtime 3.5.0.200806270034 org.eclipse.update.ui 3.2.100.v20080318 org.apache.commons.codec 1.2.0.v20080530-1550 org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x org.eclipse.m2m.qvt.oml.editor.ui 1.0.0.v20080611-1330 org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.xsd.source 2.4.0.v200806091234 org.eclipse.gmf.runtime.diagram.core 1.1.0.v20080425-1959 org.eclipse.m2m.atl.drivers.uml24atl 2.0.0.v200806101117 com.instantiations.eclipse.util 5.3.2.200809042027 org.eclipse.emf.ecore.sdo 2.4.0.v200806091234 com.instantiations.eclipse.startup 5.3.2.200809042027 org.eclipse.gmf 1.0.0.v20080425-1959 org.python.pydev 0.9.2 org.apache.batik.util.gui 1.6.0.v200805290154 org.python.pydev.ast 0.9.8.7 com.nordea.cd.dev.plugin.wsdl2java 1.0.2 org.eclipse.datatools.enablement.sybase.models 1.0.0.v200805152355 org.python.pydev.ast 1.0.1 org.eclipse.emf.compare.diff 0.8.0.v200806180301 org.eclipse.birt.report.designer 2.3.0.v200806102 org.eclipse.equinox.http.registry 1.0.100.v20080427-0830 ch.ethz.iks.r_osgi.remote 1.0.0.RC2_v20080623-0046 org.eclipse.gmf.graphdef.codegen.ui 1.0.100.v20080425-1959 org.eclipse.m2m.qvt.oml.editor.source 1.0.0.v20080611-1330-1--7w3119172202441 org.sat4j.pb 2.0.0.v20080602 org.eclipse.wst.validation 1.2.1.v200807292117 org.apache.batik.util 1.6.0.v200805290154 org.eclipse.equinox.transforms.hook 1.0.0.v20080610 org.eclipse.emf.teneo.hibernate 1.0.0.v200806111928 org.eclipse.uml2.examples 2.1.0.v200805131030 org.eclipse.mylyn.java.tasks 3.0.2.v20080918-1100-e3x org.eclipse.equinox.preferences 3.2.200.v20080421-2006 com.instantiations.assist.eclipse.fragment.swt 5.5.0 org.eclipse.ocl.doc 1.2.0.v200805130238 org.eclipse.jdt.apt.core 3.3.100.v20080513-1235 org.eclipse.birt.report.engine.fonts 2.3.0.v20080606 org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.gmf.tooldef.edit 2.0.0.v20080610-1132 org.eclipse.gmf.runtime.draw2d.ui.render 1.1.0.v20080507-2230 com.windowtester.swt.platform.ext 3.5.0.200806270034 org.eclipse.ecf.example.clients 1.3.0.v20080623-0046 org.eclipse.core.net 1.1.0.I20080604 org.eclipse.wst.xsd.core 1.1.301.v200807240448 org.eclipse.datatools.connectivity.oda.flatfile 3.0.6.v200805261930 org.python.pydev.refactoring 1.3.20 org.python.pydev.parser 1.0.1 org.python.pydev.ast 1.3.19 org.eclipse.equinox.registry.jmx 1.0.0.v20080610-1530 com.instantiations.eclipse.model.jsp 5.5.0 org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.python.pydev.core 1.0.5 org.eclipse.hyades.lta.resources.database 4.5.0.v200805271330 org.python.pydev 0.6.1 org.python.pydev.parser 1.3.12 org.eclipse.equinox.p2.console 1.0.0.v20080514-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x org.eclipse.net4j.jms.api 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.1.v200805152355 org.python.pydev.ast 1.3.4 org.python.pydev 1.3.4 org.python.pydev.jython 1.2.8 org.python.pydev 0.8.5 org.python.pydev 0.5.3 org.eclipse.wst.sse.ui 1.1.1.v200808141919 org.eclipse.emf.query 1.2.0.v200805130238 org.eclipse.core.runtime.compatibility 3.2.0.v20071008 org.eclipse.gmf.runtime.notation 1.1.0.v20080507-1326 org.eclipse.birt.report.data.oda.sampledb.ui 2.3.0.v20080606 org.python.pydev.ast 1.2.6 com.instantiations.eclipse.mail.ui 5.5.1 org.eclipse.zest.layouts 1.0.0.v20080226 org.python.pydev.jython 1.3.6 org.eclipse.net4j.jms.admin 1.0.0.v200806180305 org.eclipse.core.databinding.beans 1.1.0.I20080508-2000a org.python.pydev 1.1.0 org.python.pydev.core 1.3.20 org.eclipse.gmf.runtime.emf.commands.core 1.1.0.v20080425-1959 org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.1.0.v20080425-1959 org.eclipse.datatools.connectivity.apache.derby 1.0.1.v200805152355 org.python.pydev.core 1.2.9 org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.equinox.p2.artifact.repository 1.0.0.v20080609-0850 org.eclipse.gef 3.4.0.v20080526 org.eclipse.gmf.runtime.common.ui 1.1.0.v20080512-1200 org.eclipse.emf.ecoretools.tabbedproperties 0.8.0.v200806130600 com.instantiations.assist.eclipse.core.ant 5.5.1 org.eclipse.emf.ecore.change 2.4.0.v200806091234 org.eclipse.jet.doc 0.9.0.v20080522 org.eclipse.emf.transaction.examples 1.2.0.v200806051817 org.eclipse.gmf.runtime.draw2d.ui 1.1.0.v20080610-1132 org.eclipse.equinox.jmx.server.rmi 1.0.0.v20070510 org.eclipse.ecf.examples.remoteservices.common 1.0.100.v20080623-0046 org.eclipse.wst.standard.schemas 1.0.102.v200807220733 org.eclipse.equinox.p2.jarprocessor 1.0.0.v20080514-1900 org.eclipse.birt.report.data.oda.jdbc 2.3.0.v20080610 com.windowtester.runner 3.5.0.200806270034 com.windowtester.swt.codegen 3.5.1.200809042232 org.eclipse.emf.cdo.tests.model2.edit 1.0.0.v200806180411 javax.wsdl 1.5.1.v200806030408 org.eclipse.datatools.enablement.sap.maxdb.ui 1.0.0.v200805152355 org.eclipse.equinox.launcher.win32.win32.x86 1.0.100.v20080509-1800 org.eclipse.birt.core 2.3.0.v20080606 javax.servlet 2.5.0.v200806031605 org.eclipse.uml2.codegen.ecore.ui 1.4.0.v200805131030 com.windowtester.swt.recorder 3.5.0.200806270034 org.eclipse.mylyn 3.0.1.v20080721-2100-e3x org.eclipse.uml2.search.ocl 0.7.0.v200806130939 org.python.pydev.core 1.3.3 org.eclipse.core.jobs 3.4.0.v20080512 org.python.pydev.core 0.9.5 org.eclipse.emf.validation.ui.ide 1.2.0.v200805130238 org.python.pydev 1.0.2 org.eclipse.wst.validation.ui 1.2.0.v200805262011 com.windowtester.swing.recorder 3.5.1.200809042232 com.instantiations.helpeditor.help 1.3.4.200809042225 org.eclipse.gmf.map.edit 2.1.0.v20080610-1132 org.eclipse.emf.ecore.edit 2.4.0.v200806091234 org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0.v200805152355 org.mortbay.jetty.util 6.1.7.v200806031612 org.eclipse.datatools.sqltools.parsers.sql 1.0.1.v200805152355 org.eclipse.xsd.doc 2.4.0.v200806091234 org.eclipse.jdt.doc.isv 3.4.0.v20080612-1340 org.eclipse.jdt.apt.pluggable.core 1.0.100.v20080407-1345 org.eclipse.ecf.provider.bittorrent 0.3.0.v20080623-0046 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x org.python.pydev.jython 1.0.4 org.eclipse.wst.common.project.facet.ui 1.3.1.v200807301432 javax.xml.bind 2.0.0.v20080604-1500 org.apache.derby.core 10.3.1.4 org.eclipse.birt.report.debug.core 2.3.0.v200806102 org.python.pydev.parser 1.3.4 org.eclipse.jdt.debug.ui 3.3.0.v20080603 org.python.pydev.help 1.3.20 org.python.pydev 1.3.12 org.eclipse.gef.examples.ui.pde 3.4.0.v20080226 org.eclipse.ecf.provider.jmdns 2.0.0.v20080623-0046 org.eclipse.xsd.editor 2.4.0.v200806091234 org.python.pydev 1.2.6 org.eclipse.buckminster.generic.ui 1.0.0.r09319 org.eclipse.emf.ocl 1.1.100.v200805130238 org.eclipse.emf.search.ecore 0.7.0.v200806130939 org.eclipse.wst.common.frameworks.ui 1.1.200.v200805221400 org.eclipse.emf.ecoretools.doc 0.8.0.v200806130600 org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 org.eclipse.tptp.platform.common.ui.trace 4.3.200.v200805290100 org.eclipse.net4j.jms.server 1.0.0.v200806180305 org.eclipse.ecf.filetransfer.ui 1.4.0.v20080623-0046 org.eclipse.birt.chart.device.swt 2.3.0.v20080522 org.eclipse.wst.xsd.ui 1.2.101.v200806051910 org.eclipse.emf.cdo.examples.source 1.0.0.v200806180411 org.eclipse.birt.report.designer.ui.lib.explorer 2.3.0.v20080606 org.mozilla.rhino 1.6.7.v20080214 org.python.pydev 1.3.16 org.eclipse.buckminster.ant 1.1.0.r09351 org.eclipse.equinox.metatype 1.0.0.v20070827 org.eclipse.m2m.atl.adt.wizard 2.0.0.v200806101117 org.eclipse.wst.command.env 1.0.305.v200805281530 org.eclipse.swt.jmx 1.0.0.v20070510 org.eclipse.emf.cdo.common 1.0.0.v200806180411 org.eclipse.ecf.examples.remoteservices.client 1.0.100.v20080623-0046 org.python.pydev.jython 1.3.14 org.python.pydev.parser 1.2.6 org.eclipse.emf.ecoretools.diagram.ui.outline 0.8.0.v200806130600 org.eclipse.emf.teneo.eclipse 1.0.0.v200806111928 org.eclipse.emf.cdo.tests.mango 1.0.0.v200806180411 org.eclipse.net4j.buddies.common 1.0.0.v200806180305 org.eclipse.net4j.buddies.chat 1.0.0.v200806180305 org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.ide 5.5.0 org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0.v200805240040 org.apache.ant 1.7.0.v200803061910 org.eclipse.datatools.connectivity.oda.design 3.0.6.v200805152355 org.eclipse.emf.ocl.doc 1.1.100.v200805130238 org.eclipse.tptp.lta.gla.ui.epi 4.5.0.v200805160100 org.eclipse.equinox.jmx.server 1.0.0.v20071015 org.eclipse.wst.xml.core 1.1.300.v200806051910 org.eclipse.datatools.connectivity.oda.template.ui 3.0.6.v200805152355 org.python.pydev.ast 1.0.2 org.eclipse.birt.report.data.adapter 2.3.0.v20080606 org.eclipse.birt.chart.runtime 2.3.0.v20080304 org.eclipse.net4j.ui.source 1.0.0.v200806180305 org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.1 org.eclipse.wst.dtd.ui 1.0.300.v200805152207 org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x org.eclipse.datatools.connectivity.oda.design.ui 3.0.6.v200805152355 org.eclipse.birt.report.designer.core 2.3.0.v200806102 org.eclipse.buckminster.jdt 1.0.0.r09319 org.eclipse.buckminster.p4 1.0.0.r09319 org.eclipse.ecf.core.source 2.0.0.v20080623-0046 org.eclipse.birt.report.runtime 2.3.0.v20080304 org.python.pydev.ast 1.1.0 com.windowtester.swt.runtime 3.5.1.200809042232 org.eclipse.uml2.doc 2.2.0.v200805201350 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x org.eclipse.gmf.runtime.notation.providers 1.1.0.v20080425-1959 org.eclipse.tptp.platform.lta.log.doc.user 4.5.0.v200805132041 org.eclipse.team.svn.help 0.7.1.I20080612-1500 org.python.pydev 0.9.3 com.windowtester.swt.runtime.win32 3.5.1.200809042232 org.eclipse.m2m.qvt.oml.ocl.emf.libraries 1.0.0.v20080611-1330 org.eclipse.hyades.lta.analysis.engine 4.5.0.v200805271330 org.python.pydev.core 1.3.11 org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 org.eclipse.equinox.jmx.server.xmlrpc 1.0.0.v20070608 org.eclipse.platform 3.3.100.v200806172000 org.eclipse.ui 3.4.0.I20080610-1200 org.eclipse.net4j.buddies.chat.ui 1.0.0.v200806180305 org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 org.eclipse.gmf.codegen 2.1.0.v20080610-1132 org.eclipse.emf.teneo 1.0.0.v200806111928 org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.6.v200805261930 org.python.pydev.core 1.0.4 org.eclipse.equinox.p2.extensionlocation 1.0.0.v20080523-0001 org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 org.python.pydev.ast 1.3.18 org.eclipse.birt.report.engine.dataextraction.csv 2.3.0.v200806102 org.eclipse.equinox.log 1.1.0.v20080414 org.python.pydev.parser 1.3.13 org.python.pydev 1.3.3 com.windowtester.eclipse.help 3.5.0.200806270034 org.python.pydev.jython 1.2.7 org.eclipse.m2m.qvt.oml.emf.util.ui 1.0.0.v20080611-1330 org.eclipse.gmf.runtime.common.ui.printing 1.1.0.v20080425-1959 org.python.pydev.ast 1.3.5 org.eclipse.uml2.uml.ecore.exporter 2.2.0.v200805131030 org.eclipse.equinox.event 1.1.0.v20080225 org.eclipse.epp.usagedata.gathering 1.0.0.R200806162215 com.instantiations.assist.eclipse.fragment.swt 5.5.1 org.eclipse.emf.cdo.server 1.0.0.v200806180411 org.eclipse.core.filesystem.win32.x86 1.1.0.v20080604-1400 org.eclipse.datatools.enablement.ibm.db2.zseries 1.0.0.v200805152355 com.windowtester.swt.platform.ext 3.5.1.200809042232 org.eclipse.birt.chart.examples 2.3.0.v20080612 org.eclipse.gmf.bridge.ui 1.1.100.v20080417-1610 org.eclipse.emf.doc 2.4.0.v200806091234 org.eclipse.emf.ecoretools.diagram 0.8.0.v200806130600 org.eclipse.ecf.provider.filetransfer.efs 1.5.0.v20080623-0046 org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.python.pydev.core 1.2.8 org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 javax.management.remote 1.0.0.v200803061811 org.eclipse.net4j.util 1.0.0.v200806180305 com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 org.apache.lucene.analysis 1.9.1.v20080530-1600 org.python.pydev.jython 1.3.5 org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.python.pydev.ast 1.2.7 com.instantiations.eclipse.mail.ui 5.5.0 org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.team.svn.nl1 0.7.1.I20080612-1500 org.eclipse.birt.report.data.oda.jdbc.dbprofile.ui 2.3.0.v20080606 org.eclipse.pde 3.4.0.v20080603 org.eclipse.net4j.jms.server.jdbc 1.0.0.v200806180305 org.eclipse.pde.doc.user 3.3.0.v20080611-1530 org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 org.eclipse.emf.importer.ecore 2.4.0.v200806091234 org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 org.eclipse.equinox.jmx.common 1.0.0.v20070510 org.eclipse.datatools.enablement.ibm.informix.ui 1.0.0.v200805160737 com.instantiations.installer 2.5.1 org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 org.eclipse.uml2.diagram.profile 0.8.0.v200806112132 org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 org.eclipse.emf.validation.ocl.source 1.2.0.v200805130238-11-7w311916241349 org.eclipse.net4j.buddies 1.0.0.v200806180305 net.sourceforge.lpg.lpgjavaruntime 1.1.0.v200803061910 org.eclipse.emf.ecore.editor 2.4.0.v200806091234 org.apache.commons.lang 2.3.0.v200803061910 org.eclipse.ocl.uml 1.2.0.v200805130238 org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 org.eclipse.ecf.provider.xmpp 2.0.0.v20080623-0046 org.eclipse.wst.common.modulecore 1.1.201.v200808071700 org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x org.eclipse.draw2d.doc.isv 3.4.0.v20080606 org.python.pydev.core 1.3.2 org.eclipse.mylyn.compatibility 3.0.0.v20080619-1900 org.eclipse.buckminster.maven 1.1.0.r09319 org.eclipse.buckminster.cmdline 1.0.0.r09319 org.apache.batik.css 1.6.0.v200805290154 org.eclipse.ecf.telephony.call.ui 1.2.0.v20080623-0046 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 org.python.pydev 1.0.1 org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0.v200805152355 org.eclipse.team.svn.resource.ignore.rules.jdt.source 0.7.1.I20080612-1500 org.eclipse.ecf.server 1.3.0.v20080623-0046 org.python.pydev 1.2.5 org.python.pydev.core 1.2.1 org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0.v200806021003 org.eclipse.birt.chart.reportitem 2.3.0.v20080610 org.eclipse.uml2.diagram.codegen 0.8.0.v200806112132 org.eclipse.xsd.edit 2.4.0.v200806091234 org.eclipse.buckminster.opml 1.0.0.r09319 org.python.pydev.parser 1.3.5 org.eclipse.gmf.runtime.diagram.ui 1.1.0.v20080610-1132 org.eclipse.ocl.source 1.2.0.v200805130238-34-9oA55S5I6M7JBK com.windowtester.eclipse.ui 3.5.0.200806270034 org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 org.python.pydev 1.3.11 org.eclipse.datatools.connectivity.apache.derby.ui 1.0.0.v200805160737 org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 org.eclipse.wst.xsd.ui 1.2.102.v200808141745 org.eclipse.equinox.http 1.0.200.v20080421-2006 org.jivesoftware.smack 2.2.1 org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.core.variables 3.2.100.v20080529-1300 org.python.pydev.jython 1.3.13 org.python.pydev.parser 1.3.20 org.eclipse.tptp.platform.models.hierarchy 4.5.0.v200806120100 org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 org.eclipse.jdt.debug 3.4.0.v20080604 org.antlr.runtime 3.0.0.v200803061811 org.python.pydev.parser 1.2.7 org.eclipse.hyades.execution 4.4.200.v200806120100 org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 org.eclipse.birt.chart.cshelp 2.3.0.v20080616 org.eclipse.buckminster.p4.ui 1.0.0.r09319 org.python.pydev 1.3.15 org.eclipse.datatools.enablement.ibm.ui 1.0.0.v200805152355 org.eclipse.buckminster.sax 1.0.0.r09175 org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.wst.common.frameworks 1.1.200.v200805140020 org.eclipse.mylyn 3.0.2.v20080918-1100-e3x org.eclipse.gmf.map 2.1.0.v20080521 org.eclipse.wst.standard.schemas 1.0.101.v200806010600 org.python.pydev.ast 1.0.3 org.eclipse.m2m.qvt.oml.runtime 1.0.0.v20080611-1330 org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 com.instantiations.eclipse.analysis.expression 5.5.0 org.eclipse.emf.compare.ui 0.8.0.v200806180301 org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 org.eclipse.uml2.search.ocl.ui 0.7.0.v200806130939 org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.python.pydev.templates 1.3.20 org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.1.0.v20080425-1959 org.eclipse.gmf.examples.ui.pde 1.0.200.v20080425-1959 org.eclipse.buckminster.installer 1.0.0.r09319 org.eclipse.m2m.atl.examples 2.0.0.v200806101117 org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 org.eclipse.emf.search.doc 0.7.0.v200806130939 org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0.v200805152355 com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 javax.xml.bind 2.0.0.v200803061811 org.apache.xmlrpc 3.0.0.v20080530-1550 org.eclipse.ui.views.log 1.0.0.v20080522-2200 org.python.pydev.core 1.3.10 org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 org.eclipse.birt.core.ui 2.3.0.v20080515 org.eclipse.core.filebuffers 3.4.0.v20080603-2000 org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x org.eclipse.wst.command.env 1.0.306.v200807231700 org.eclipse.team.cvs.ssh2 3.2.200.I20080604 org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 org.eclipse.ecf.example.collab.editor 1.0.200.v20080623-0046 org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 com.instantiations.eclipse.ast.editor 5.5.0 org.eclipse.mylyn.tasks.bugs 3.0.2.v20080918-1100-e3x org.eclipse.jsch.core 1.1.100.I20080604 org.eclipse.pde.core 3.4.0.v20080604-2000 org.python.pydev 0.9.4 org.python.pydev.jython 1.3.0 

--1 x2962 +1 x16 +1 x528 +1 x118 +1 x17 +1 x21 +1 x34 +1 x599 +1 x658 +1 x659 +1 x35 +1 x660 +1 x40 +1 x44 +1 x661 +1 x50 +1 x662 +1 x51 +1 x101 +1 x103 +1 x112 +1 x663 +1 x125 +1 x191 +1 x53 +1 x664 +1 x665 +1 x666 +1 x162 +1 x167 +1 x667 +1 x326 +1 x188 +1 x187 +1 x173 +1 x203 +1 x192 +1 x190 +1 x668 +1 x578 +1 x669 +1 x670 +1 x208 +1 x213 +1 x671 +1 x223 +1 x672 +1 x229 +1 x230 +1 x231 +1 x673 +1 x674 +1 x675 +1 x676 +1 x248 +1 x251 +1 x252 +1 x677 +1 x678 +1 x253 +1 x260 +1 x87 +1 x264 +1 x267 +1 x272 +1 x291 +1 x679 +1 x680 +1 x681 +1 x46 +1 x682 +1 x297 +1 x298 +1 x313 +1 x683 +1 x684 +1 x314 +1 x685 +1 x686 +1 x333 +1 x498 +1 x334 +1 x687 +1 x339 +1 x688 +1 x348 +1 x350 +1 x689 +1 x355 +1 x357 +1 x690 +1 x185 +1 x691 +1 x360 +1 x692 +1 x693 +1 x694 +1 x366 +1 x695 +1 x18 +1 x367 +1 x382 +1 x696 +1 x392 +1 x697 +1 x461 +1 x698 +1 x95 +1 x617 +1 x699 +1 x114 +1 x413 +1 x464 +1 x700 +1 x80 +1 x65 +1 x701 +1 x702 +1 x422 +1 x703 +1 x423 +1 x704 +1 x427 +1 x705 +1 x429 +1 x706 +1 x707 +1 x708 +1 x432 +1 x433 +1 x709 +1 x710 +1 x159 +1 x711 +1 x712 +1 x434 +1 x331 +1 x713 +1 x714 +1 x715 +1 x436 +1 x444 +1 x451 +1 x501 +1 x519 +1 x197 +1 x513 +1 x512 +1 x716 +1 x514 +1 x717 +1 x516 +1 x47 +1 x718 +1 x719 +1 x534 +1 x720 +1 x721 +1 x722 +1 x530 +1 x723 +1 x724 +1 x532 +1 x531 +1 x533 +1 x725 +1 x726 +1 x402 +1 x26 +1 x727 +1 x552 +1 x41 +1 x728 +1 x729 +1 x560 +1 x730 +1 x168 +1 x731 +1 x582 +1 x592 +1 x586 +1 x593 +1 x595 +1 x732 +1 x733 +1 x596 +1 x734 +1 x735 +1 x597 +1 x602 +1 x610 +1 x129 +1 x460 +1 x736 +1 x623 +1 x737 +1 x738 +1 x739 +1 x634 +1 x740 +1 x635 +1 x636 +1 x204 +1 x645 +1 x741 +1 x647 +1 x648 +1 x38 +1 x649 +1 x652 +1 x742 +1 x380 +1 x88 +1 x653 +1 x655 +1 x743 +1 x477 +1 x744 +1 x745 +1 x198 +1 x746 +1 x747 +1 x175 +1 x303 +1 x748 +1 x220 +1 x749 +1 x750 +1 x751 +1 x752 +1 x753 +1 x340 +1 x217 +1 x754 +1 x755 +1 x756 +1 x757 +1 x758 +1 x759 +1 x492 +1 x760 +1 x408 +1 x761 +1 x72 +1 x762 +1 x763 +1 x764 +1 x765 +1 x184 +1 x766 +1 x510 +1 x73 +1 x767 +1 x768 +1 x769 +1 x374 +1 x770 +1 x771 +1 x14 +1 x772 +1 x773 +1 x774 +1 x775 +1 x776 +1 x454 +1 x777 +1 x344 +1 x178 +1 x778 +1 x779 +1 x186 +1 x347 +1 x780 +1 x781 +1 x782 +1 x783 +1 x784 +1 x785 +1 x786 +1 x787 +1 x788 +1 x789 +1 x790 +1 x791 +1 x792 +1 x625 +1 x793 +1 x794 +1 x472 +1 x795 +1 x796 +1 x797 +1 x798 +1 x521 +1 x799 +1 x800 +1 x801 +1 x802 +1 x525 +1 x91 +1 x803 +1 x804 +1 x805 +1 x806 +1 x807 +1 x587 +1 x808 +1 x315 +1 x809 +1 x810 +1 x811 +1 x812 +1 x813 +1 x814 +1 x815 +1 x816 +1 x68 +1 x817 +1 x179 +1 x486 +1 x818 +1 x410 +1 x819 +1 x820 +1 x821 +1 x822 +1 x823 +1 x824 +1 x825 +1 x826 +1 x827 +1 x638 +1 x828 +1 x829 +1 x830 +1 x372 +1 x831 +1 x832 +1 x9 +1 x263 +1 x324 +1 x411 +1 x833 +1 x834 +1 x835 +1 x836 +1 x837 +1 x838 +1 x839 +1 x430 +1 x840 +1 x381 +1 x89 +1 x518 +1 x328 +1 x841 +1 x621 +1 x842 +1 x843 +1 x330 +1 x844 +1 x57 +1 x153 +1 x845 +1 x846 +1 x48 +1 x847 +1 x70 +1 x848 +1 x849 +1 x850 +1 x467 +1 x851 +1 x852 +1 x853 +1 x854 +1 x855 +1 x856 +1 x857 +1 x858 +1 x447 +1 x83 +1 x859 +1 x860 +1 x861 +1 x82 +1 x862 +1 x863 +1 x74 +1 x864 +1 x632 +1 x865 +1 x866 +1 x867 +1 x5 +1 x868 +1 x869 +1 x870 +1 x871 +1 x872 +1 x361 +1 x873 +1 x604 +1 x874 +1 x875 +1 x876 +1 x594 +1 x877 +1 x183 +1 x289 +1 x495 +1 x138 +1 x194 +1 x143 +1 x878 +1 x879 +1 x85 +1 x36 +1 x880 +1 x881 +1 x177 +1 x882 +1 x883 +1 x884 +1 x885 +1 x886 +1 x887 +1 x888 +1 x889 +1 x370 +1 x219 +1 x890 +1 x891 +1 x892 +1 x893 +1 x894 +1 x895 +1 x24 +1 x896 +1 x897 +1 x898 +1 x899 +1 x900 +1 x901 +1 x902 +1 x180 +1 x903 +1 x904 +1 x349 +1 x905 +1 x906 +1 x221 +1 x10 +1 x907 +1 x908 +1 x193 +1 x909 +1 x910 +1 x911 +1 x912 +1 x913 +1 x474 +1 x914 +1 x915 +1 x244 +1 x916 +1 x917 +1 x176 +1 x918 +1 x919 +1 x920 +1 x921 +1 x75 +1 x922 +1 x923 +1 x924 +1 x925 +1 x926 +1 x927 +1 x928 +1 x929 +1 x930 +1 x931 +1 x932 +1 x343 +1 x933 +1 x327 +1 x934 +1 x935 +1 x936 +1 x937 +1 x90 +1 x938 +1 x939 +1 x940 +1 x941 +1 x643 +1 x942 +1 x943 +1 x147 +1 x944 +1 x945 +1 x946 +1 x947 +1 x948 +1 x949 +1 x950 +1 x165 +1 x951 +1 x952 +1 x953 +1 x954 +1 x955 +1 x956 +1 x249 +1 x957 +1 x401 +1 x958 +1 x959 +1 x132 +1 x304 +1 x960 +1 x961 +1 x962 +1 x963 +1 x964 +1 x371 +1 x965 +1 x966 +1 x967 +1 x968 +1 x969 +1 x970 +1 x971 +1 x972 +1 x973 +1 x974 +1 x470 +1 x975 +1 x976 +1 x590 +1 x977 +1 x978 +1 x473 +1 x523 +1 x579 +1 x979 +1 x97 +1 x61 +1 x980 +1 x981 +1 x982 +1 x478 +1 x983 +1 x984 +1 x985 +1 x986 +1 x987 +1 x988 +1 x155 +1 x989 +1 x59 +1 x990 +1 x991 +1 x992 +1 x993 +1 x345 +1 x201 +1 x994 +1 x995 +1 x481 +1 x996 +1 x215 +1 x151 +1 x482 +1 x407 +1 x484 +1 x483 +1 x997 +1 x998 +1 x485 +1 x488 +1 x999 +1 x1000 +1 x489 +1 x490 +1 x1001 +1 x1002 +1 x1003 +1 x1004 +1 x511 +1 x1005 +1 x1006 +1 x1007 +1 x1008 +1 x1009 +1 x1010 +1 x1011 +1 x1012 +1 x1013 +1 x1014 +1 x1015 +1 x1016 +1 x1017 +1 x1018 +1 x1019 +1 x1020 +1 x1021 +1 x136 +1 x1022 +1 x216 +1 x1023 +1 x1024 +1 x1025 +1 x1026 +1 x1027 +1 x384 +1 x325 +1 x1028 +1 x657 +1 x1029 +1 x1030 +1 x368 +1 x250 +1 x1031 +1 x520 +1 x1032 +1 x266 +1 x1033 +1 x1034 +1 x1035 +1 x1036 +1 x1037 +1 x466 +1 x149 +1 x1038 +1 x1039 +1 x1040 +1 x1041 +1 x258 +1 x1042 +1 x1043 +1 x1044 +1 x1045 +1 x1046 +1 x1047 +1 x1048 +1 x1049 +1 x152 +1 x1050 +1 x1051 +1 x305 +1 x1052 +1 x1053 +1 x1054 +1 x1055 +1 x1056 +1 x1057 +1 x1058 +1 x1059 +1 x553 +1 x1060 +1 x1061 +1 x224 +1 x1062 +1 x1063 +1 x1064 +1 x1065 +1 x1066 +1 x1067 +1 x1068 +1 x195 +1 x259 +1 x399 +1 x86 +1 x1069 +1 x1070 +1 x494 +1 x1071 +1 x84 +1 x1072 +1 x140 +1 x256 +1 x1073 +1 x1074 +1 x146 +1 x1075 +1 x1076 +1 x1077 +1 x1078 +1 x1079 +1 x1080 +1 x628 +1 x1081 +1 x1082 +1 x1083 +1 x562 +1 x1084 +1 x239 +1 x458 +1 x1085 +1 x1086 +1 x241 +1 x462 +1 x1087 +1 x1088 +1 x1089 +1 x78 +1 x1090 +1 x1091 +1 x1092 +1 x1093 +1 x1094 +1 x1095 +1 x1096 +1 x469 +1 x631 +1 x1097 +1 x12 +1 x1098 +1 x1099 +1 x81 +1 x1100 +1 x1101 +1 x1102 +1 x1103 +1 x1104 +1 x406 +1 x1105 +1 x1106 +1 x1107 +1 x169 +1 x1108 +1 x476 +1 x1109 +1 x1110 +1 x1111 +1 x1112 +1 x49 +1 x1113 +1 x150 +1 x1114 +1 x1115 +1 x1116 +1 x1117 +1 x1118 +1 x28 +1 x1119 +1 x1120 +1 x137 +1 x409 +1 x1121 +1 x1122 +1 x99 +1 x1123 +1 x145 +1 x1124 +1 x1125 +1 x1126 +1 x1127 +1 x1128 +1 x11 +1 x373 +1 x1129 +1 x308 +1 x358 +1 x1130 +1 x1131 +1 x1132 +1 x600 +1 x1133 +1 x424 +1 x1134 +1 x1135 +1 x1136 +1 x1137 +1 x561 +1 x1138 +1 x1139 +1 x603 +1 x1140 +1 x456 +1 x1141 +1 x1142 +1 x1143 +1 x1144 +1 x1145 +1 x1146 +1 x425 +1 x1147 +1 x115 +1 x1148 +1 x1149 +1 x1150 +1 x1151 +1 x1152 +1 x23 +1 x1153 +1 x76 +1 x1154 +1 x1155 +1 x300 +1 x1156 +1 x1157 +1 x1158 +1 x1159 +1 x1160 +1 x1161 +1 x1162 +1 x1163 +1 x1164 +1 x1165 +1 x575 +1 x1166 +1 x583 +1 x1167 +1 x1168 +1 x200 +1 x71 +1 x1169 +1 x1170 +1 x322 +1 x1171 +1 x1172 +1 x1173 +1 x397 +1 x480 +1 x1174 +1 x1175 +1 x1176 +1 x576 +1 x209 +1 x1177 +1 x403 +1 x1178 +1 x1179 +1 x416 +1 x1180 +1 x13 +1 x1181 +1 x1182 +1 x1183 +1 x1184 +1 x1185 +1 x1186 +1 x1187 +1 x1188 +1 x1189 +1 x310 +1 x1190 +1 x1191 +1 x1192 +1 x524 +1 x1193 +1 x1194 +1 x202 +1 x1195 +1 x102 +1 x1196 +1 x1197 +1 x452 +1 x1198 +1 x386 +1 x1199 +1 x1200 +1 x1201 +1 x1202 +1 x457 +1 x1203 +1 x79 +1 x1204 +1 x1205 +1 x1206 +1 x1207 +1 x1208 +1 x1209 +1 x1210 +1 x160 +1 x527 +1 x1211 +1 x1212 +1 x1213 +1 x1214 +1 x1215 +1 x463 +1 x1216 +1 x1217 +1 x1218 +1 x7 +1 x1219 +1 x1220 +1 x1221 +1 x642 +1 x1222 +1 x1223 +1 x1224 +1 x1225 +1 x1226 +1 x605 +1 x1227 +1 x301 +1 x1228 +1 x449 +1 x1229 +1 x353 +1 x396 +1 x1230 +1 x174 +1 x98 +1 x1231 +1 x1232 +1 x1233 +1 x1234 +1 x1235 +1 x479 +1 x598 +1 x1236 +1 x1237 +1 x63 +1 x1238 +1 x1239 +1 x1240 +1 x1241 +1 x1242 +1 x1243 +1 x1244 +1 x1245 +1 x1246 +1 x170 +1 x1247 +1 x1248 +1 x1249 +1 x317 +1 x226 +1 x1250 +1 x1251 +1 x1252 +1 x37 +1 x1253 +1 x1254 +1 x1255 +1 x1256 +1 x601 +1 x1257 +1 x142 +1 x446 +1 x1258 +1 x1259 +1 x1260 +1 x1261 +1 x1262 +1 x1263 +1 x182 +1 x1264 +1 x1265 +1 x1266 +1 x1267 +1 x1268 +1 x1269 +1 x139 +1 x1270 +1 x1271 +1 x133 +1 x1272 +1 x1273 +1 x1274 +1 x1275 +1 x1276 +1 x1277 +1 x1278 +1 x1279 +1 x1280 +1 x1281 +1 x1282 +1 x1283 +1 x1284 +1 x1285 +1 x32 +1 x1286 +1 x1287 +1 x1288 +1 x1289 +1 x275 +1 x1290 +1 x1291 +1 x1292 +1 x1293 +1 x1294 +1 x1295 +1 x1296 +1 x1297 +1 x131 +1 x1298 +1 x262 +1 x1299 +1 x1300 +1 x503 +1 x1301 +1 x1302 +1 x629 +1 x475 +1 x1303 +1 x1304 +1 x1305 +1 x1306 +1 x1307 +1 x1308 +1 x1309 +1 x1310 +1 x319 +1 x1311 +1 x1312 +1 x1313 +1 x96 +1 x1314 +1 x94 +1 x1315 +1 x1316 +1 x1317 +1 x1318 +1 x1319 +1 x1320 +1 x1321 +1 x1322 +1 x1323 +1 x431 +1 x1324 +1 x1325 +1 x1326 +1 x1327 +1 x218 +1 x1328 +1 x1329 +1 x1330 +1 x1331 +1 x1332 +1 x27 +1 x1333 +1 x1334 +1 x398 +1 x1335 +1 x321 +1 x1336 +1 x1337 +1 x1338 +1 x1339 +1 x316 +1 x1340 +1 x1341 +1 x1342 +1 x1343 +1 x1344 +1 x1345 +1 x1346 +1 x1347 +1 x459 +1 x135 +1 x1348 +1 x1349 +1 x1350 +1 x277 +1 x1351 +1 x1352 +1 x1353 +1 x1354 +1 x1355 +1 x1356 +1 x1357 +1 x196 +1 x1358 +1 x52 +1 x1359 +1 x1360 +1 x1361 +1 x92 +1 x1362 +1 x1363 +1 x1364 +1 x1365 +1 x1366 +1 x468 +1 x448 +1 x1367 +1 x619 +1 x471 +1 x318 +1 x1368 +1 x254 +1 x265 +1 x242 +1 x1369 +1 x20 +1 x1370 +1 x1371 +1 x1372 +1 x1373 +1 x1374 +1 x1375 +1 x1376 +1 x1377 +1 x1378 +1 x1379 +1 x1380 +1 x1381 +1 x1382 +1 x1383 +1 x299 +1 x45 +1 x1384 +1 x1385 +1 x1386 +1 x1387 +1 x491 +1 x25 +1 x493 +1 x1388 +1 x1389 +1 x1390 +1 x369 +1 x1391 +1 x1392 +1 x19 +1 x1393 +1 x1394 +1 x1395 +1 x589 +1 x1396 +1 x400 +1 x1397 +1 x323 +1 x1398 +1 x8 +1 x1399 +1 x1400 +1 x1401 +1 x1402 +1 x404 +1 x1403 +1 x1404 +1 x1405 +1 x1406 +1 x1407 +1 x1408 +1 x1409 +1 x1410 +1 x1411 +1 x6 +1 x1412 +1 x1413 +1 x144 +1 x1414 +1 x1415 +1 x1416 +1 x1417 +1 x1418 +1 x302 +1 x1419 +1 x1420 +1 x1421 +1 x1422 +1 x1423 +1 x1424 +1 x1425 +1 x1426 +1 x1427 +1 x1428 +1 x1429 +1 x243 +1 x1430 +1 x1431 +1 x1432 +1 x1433 +1 x1434 +1 x1435 +1 x1436 +1 x1437 +1 x113 +1 x1438 +1 x1439 +1 x1440 +1 x1441 +1 x199 +1 x1442 +1 x1443 +1 x1444 +1 x1445 +1 x1446 +1 x1447 +1 x1448 +1 x1449 +1 x1450 +1 x257 +1 x255 +1 x1451 +1 x1452 +1 x1453 +1 x1454 +1 x1455 +1 x1456 +1 x1457 +1 x320 +1 x1458 +1 x154 +1 x1459 +1 x1460 +1 x1461 +1 x1462 +1 x134 +1 x497 +1 x181 +1 x1463 +1 x148 +1 x54 +1 x1464 +1 x1465 +1 x1466 +1 x1467 +1 x1468 +1 x453 +1 x1469 +1 x1470 +1 x1471 +1 x1472 +1 x1473 +1 x1474 +1 x1475 +1 x1476 +1 x1477 +1 x522 +1 x1478 +1 x1479 +1 x1480 +1 x1481 +1 x1482 +1 x1483 +1 x1484 +1 x1485 +1 x335 +1 x1486 +1 x1487 +1 x1488 +1 x1489 +1 x240 +1 x1490 +1 x276 +1 x465 +1 x1491 +1 x1492 +1 x1493 +1 x1494 +1 x1495 +1 x1496 +1 x1497 +1 x1498 +1 x329 +1 x1499 +1 x93 +1 x130 +1 x261 +1 x630 +1 x1500 +1 x1501 +1 x1502 +1 x1503 +1 x31 +1 x1504 +1 x1505 +1 x1506 +1 x1507 +1 x1508 +1 x1509 +1 x141 +1 x1510 +1 x1511 +1 x1512 +1 x1513 +1 x1514 +1 x225 +1 x1515 +1 x1516 +1 x205 +1 x1517 +1 x1518 +1 x1519 +1 x1520 +1 x1521 +1 x496 +1 x1522 +1 x387 +1 x1523 +1 x1524 +1 x1525 +1 x1526 +1 x1527 +1 x1528 +1 x1529 +1 x1530 +1 x1531 +1 x455 +1 x1532 +1 x577 +1 x1533 +1 x1534 +1 x1535 +1 x1536 +1 x445 +1 x1537 +1 x1538 +1 x1539 +1 x1540 +1 x618 +1 x1541 +1 x1542 +1 x1543 +1 x1544 +1 x1545 +1 x1546 +1 x414 +1 x1547 +1 x1548 +1 x1549 +1 x1550 +1 x1551 +1 x515 +1 x405 +1 x1552 +1 x1553 +1 x1554 +1 x1555 +1 x1556 +1 x1557 +1 x1558 +1 x336 +1 x385 +1 x39 +1 x214 +1 x1559 +1 x1560 +1 x1561 +1 x1562 +1 x526 +1 x1563 +1 x1564 +1 x620 +1 x1565 +1 x1566 +1 x1567 +1 x1568 +1 x1569 +1 x1570 +1 x1571 +1 x1572 +1 x1573 +1 x504 +1 x1574 +1 x1575 +1 x1576 +1 x1577 +1 x1578 +1 x1579 +1 x1580 +1 x487 +1 x1581 +1 x1582 +1 x639 +1 x1583 +1 x1584 +1 x1585 +1 x1586 +1 x1587 +1 x1588 +1 x1589 +1 x1590 +1 x1591 +1 x1592 +1 x1593 +1 x1594 +1 x637 +1 x1595 +1 x1596 >= 0;

-* org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1491 +1 x132 >= 0;

-* org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1491 +1 x1435 >= 0;

-* org.eclipse.emf.workspace.doc.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.help 3.3.100.v20080610 

--1 x3154 +1 x76 >= 0;

-* org.eclipse.emf.workspace.doc.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.workspace.doc 1.2.0.v200805130238 

--1 x3154 +1 x635 >= 0;

-* org.eclipse.emf.workspace.doc.feature.group 1.2.0.v200805130238-11-7w311916241349 requires either org.eclipse.emf.workspace.doc.feature.jar 1.2.0.v200805130238-11-7w311916241349 

--1 x3154 +1 x2003 >= 0;

-* org.eclipse.net4j.util 1.0.0.v200806180305 requires optionaly either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3265 -1 x3264>= -1 ;

- -1 x3264 1 x21 >= 0;

-* org.eclipse.net4j.util 1.0.0.v200806180305 requires optionaly either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3265 -1 x3266>= -1 ;

- -1 x3266 1 x39 1 x23 >= 0;

-* org.eclipse.net4j.util 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3265 -1 x3267>= -1 ;

- -1 x3267 1 x23 >= 0;

-* org.eclipse.net4j.util 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x3265 -1 x3268>= -1 ;

- -1 x3268 1 x49 >= 0;

-* org.eclipse.net4j.util 1.0.0.v200806180305 requires optionaly either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x3265 -1 x3269>= -1 ;

- -1 x3269 1 x23 >= 0;

- -1 x1493 1 x3265 1 x3264 1 x3266 1 x3267 1 x3268 1 x3269 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.workbench 5.5.0 requires either org.eclipse.ui.workbench 3.4.0.I20080606-1300 

--1 x1494 +1 x65 >= 0;

-* org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1498 +1 x54 >= 0;

-* org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1498 +1 x53 >= 0;

-* org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1498 +1 x132 >= 0;

-* org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1498 +1 x21 >= 0;

-* org.eclipse.m2m.atl.adt.builder 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x1498 +1 x168 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x93 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.assist.eclipse.core.ui 5.5.0 com.instantiations.assist.eclipse.core.ui 5.5.1 

--1 x93 +1 x90 +1 x91 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.common.core 5.3.2.200809042027 com.instantiations.common.core 5.3.2.200806270030 

--1 x93 +1 x82 +1 x83 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.common.ui 5.3.2.200809042027 com.instantiations.common.ui 5.3.2.200806270030 

--1 x93 +1 x84 +1 x85 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x93 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either com.instantiations.eclipse.mail 5.5.0 com.instantiations.eclipse.mail 5.5.1 

--1 x93 +1 x732 +1 x663 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x93 +1 x21 >= 0;

-* com.instantiations.eclipse.mail.ui 5.5.0 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x93 +1 x54 >= 0;

-* org.eclipse.uml2.doc.feature.group 2.2.0.v200805201350 requires either org.eclipse.help 3.3.100.v20080610 

--1 x2384 +1 x76 >= 0;

-* org.eclipse.uml2.doc.feature.group 2.2.0.v200805201350 requires either org.eclipse.uml2.doc 2.2.0.v200805201350 

--1 x2384 +1 x1457 >= 0;

-* org.eclipse.uml2.doc.feature.group 2.2.0.v200805201350 requires either org.eclipse.uml2.doc.feature.jar 2.2.0.v200805201350 

--1 x2384 +1 x2027 >= 0;

-* org.eclipse.pde 3.4.0.v20080603 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1501 +1 x21 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x31 +1 x24 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x31 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x31 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x31 +1 x39 +1 x23 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x31 +1 x23 >= 0;

-* org.eclipse.core.runtime.compatibility.auth 3.2.100.v20070502 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x31 +1 x23 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either javax.management 1.2.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1506 +1 x1123 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either javax.management.remote 1.0.0.v200803061811 org.mx4j.jmx 3.0.3.v200802291451 a.jre 1.6.0 

--1 x1506 +1 x1492 +1 x1129 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either a.jre 1.6.0 

--1 x1506 +1 x210 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x1506 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.apache.xmlrpc 3.0.0.v20080530-1550 

--1 x1506 +1 x1579 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.client 1.0.0.v20070515 

--1 x1506 +1 x1108 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.client 1.0.0.v20070515 

--1 x1506 +1 x1108 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1506 +1 x1507 >= 0;

-* org.eclipse.equinox.jmx.client.xmlrpc 1.0.0.v20070515 requires either org.eclipse.equinox.jmx.common 1.0.0.v20070510 

--1 x1506 +1 x1507 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1505 +1 x21 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1505 +1 x53 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires either org.eclipse.emf.importer 2.4.0.v200806091234 

--1 x1505 +1 x605 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.codegen.ecore.ui 2.4.0.v200806091234 

--1 x3271 -1 x3270>= -1 ;

- -1 x3270 1 x516 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3271 -1 x3272>= -1 ;

- -1 x3272 1 x113 >= 0;

-* org.eclipse.emf.importer.ecore 2.4.0.v200806091234 requires optionaly either org.eclipse.emf.ant 2.4.0.v200806091234 

--1 x3271 -1 x3273>= -1 ;

- -1 x3273 1 x112 >= 0;

- -1 x1505 1 x3271 1 x3270 1 x3272 1 x3273 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either org.eclipse.hyades.logging.core 4.3.200.v200804110100 

--1 x141 +1 x149 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either org.eclipse.hyades.lta.logging.adapter 4.5.0.v200806121215 

--1 x141 +1 x150 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x141 +1 x72 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x141 +1 x53 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either com.ibm.icu 3.8.1.v20080530 

--1 x141 +1 x142 >= 0;

-* org.eclipse.hyades.lta.logging.parsers 4.5.0.v200805271330 requires either org.eclipse.tptp.platform.models.lta 4.5.0.v200805132041 

--1 x141 +1 x130 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1511 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1511 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1511 +1 x70 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1511 +1 x71 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1511 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.jdt.classpath 1.0.1.v200805152355 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1511 +1 x175 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x2463 +1 x54 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2463 +1 x21 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x2463 +1 x53 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x2463 +1 x41 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x2463 +1 x140 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x2463 +1 x63 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x2463 +1 x57 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.pde.ui 3.4.0.v20080530 

--1 x2463 +1 x308 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.pde.api.tools.ui 1.0.0.v20080603 

--1 x2463 +1 x863 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x2463 +1 x74 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x2463 +1 x61 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x2463 +1 x81 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x2463 +1 x70 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.java.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.java.ui 3.0.1.v20080721-2100-e3x 

--1 x2463 +1 x1546 +1 x878 +1 x1450 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.launching 3.4.0.v20080529-1300 

--1 x2463 +1 x73 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.junit 3.4.0.v20080603-2000 

--1 x2463 +1 x406 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jdt.debug.ui 3.3.0.v20080603 

--1 x2463 +1 x404 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x2463 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x2463 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.ide.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.ide.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.ide.ui 3.0.0.v20080619-1900 

--1 x2463 +1 x1563 +1 x670 +1 x976 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x2463 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.monitor.ui 3.0.1.v20080721-2100-e3x 

--1 x2463 +1 x321 +1 x322 +1 x323 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x2463 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x2463 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.java_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x2463 +1 x2462 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.pde.feature.group 3.4.0.v20080603-7T7U-E_EkMNrNKb39WcMC 

--1 x2463 +1 x164 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.pde.ui 3.0.2.v20080918-1100-e3x 

--1 x2463 +1 x933 >= 0;

-* org.eclipse.mylyn.pde_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.pde_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x2463 +1 x555 >= 0;

-* org.eclipse.draw2d.source.feature.group 3.4.0.v20080115-33-7w3119163_ requires either org.eclipse.draw2d.doc.isv 3.4.0.v20080606 

--1 x558 +1 x1521 >= 0;

-* org.eclipse.draw2d.source.feature.group 3.4.0.v20080115-33-7w3119163_ requires either org.eclipse.draw2d.source 3.4.0.v20080115-33-7w3119163_ 

--1 x558 +1 x1166 >= 0;

-* org.eclipse.draw2d.source.feature.group 3.4.0.v20080115-33-7w3119163_ requires either org.eclipse.draw2d.source.feature.jar 3.4.0.v20080115-33-7w3119163_ 

--1 x558 +1 x2070 >= 0;

-* org.eclipse.ocl.uml 1.2.0.v200805130238 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1516 +1 x21 >= 0;

-* org.eclipse.ocl.uml 1.2.0.v200805130238 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1516 +1 x132 >= 0;

-* org.eclipse.ocl.uml 1.2.0.v200805130238 requires either org.eclipse.uml2.uml 2.2.0.v200805141133 

--1 x1516 +1 x603 >= 0;

-* org.eclipse.ocl.uml 1.2.0.v200805130238 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1516 +1 x358 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x205 +1 x21 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x205 +1 x132 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x205 +1 x19 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x205 +1 x170 >= 0;

-* org.eclipse.emf.mapping.ecore2ecore 2.4.0.v200806091234 requires either org.eclipse.emf.mapping 2.4.0.v200806091234 

--1 x205 +1 x642 >= 0;

-* com.swtdesigner.fragment.jdt.core 6.7.0.200806270151 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1517 +1 x70 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1520 +1 x53 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1520 +1 x21 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1520 +1 x63 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.search 3.4.0.v20080603-2000 

--1 x1520 +1 x81 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1520 +1 x54 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1520 +1 x61 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1520 +1 x140 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x1520 +1 x59 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1520 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.jira.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.jira.core 3.0.1.v20080721-2100-e3x 

--1 x1520 +1 x597 +1 x1289 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1520 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1520 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1520 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x1520 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.jira.ui 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1520 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1519 +1 x21 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.frameworks 1.1.200.v200805140020 

--1 x1519 +1 x214 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1519 +1 x53 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1519 +1 x132 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.emfworkbench.integration 1.1.201.v200808071700 org.eclipse.wst.common.emfworkbench.integration 1.1.200.v200805140020 

--1 x1519 +1 x213 +1 x1526 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.emf 1.1.200.v200805140020 org.eclipse.wst.common.emf 1.1.201.v200808071700 

--1 x1519 +1 x216 +1 x217 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1519 +1 x170 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x1519 +1 x1012 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1519 +1 x145 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x1519 +1 x215 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.uriresolver 1.1.301.v200805140415 

--1 x1519 +1 x202 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.project.facet.core 1.3.1.v200807031821 org.eclipse.wst.common.project.facet.core 1.3.0.v200805140020 

--1 x1519 +1 x220 +1 x221 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x1519 +1 x861 +1 x101 >= 0;

-* org.eclipse.wst.common.modulecore 1.1.201.v200808071700 requires either org.eclipse.wst.validation 1.2.1.v200807292117 org.eclipse.wst.validation 1.2.0.v200806051402 

--1 x1519 +1 x218 +1 x219 >= 0;

-* org.eclipse.buckminster.cmdline 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1523 +1 x386 >= 0;

-* org.eclipse.buckminster.cmdline 1.0.0.r09319 requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x1523 +1 x316 >= 0;

-* org.eclipse.buckminster.cmdline 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1523 +1 x21 >= 0;

-* org.eclipse.tptp.platform.commons.logging.feature.group 4.4.0.v200802291616-1-37w3119171602_41 requires either org.apache.commons.logging 1.0.4.v20080605-1930 

--1 x2872 +1 x331 >= 0;

-* org.eclipse.tptp.platform.commons.logging.feature.group 4.4.0.v200802291616-1-37w3119171602_41 requires either org.eclipse.tptp.platform.commons.logging.feature.jar 4.4.0.v200802291616-1-37w3119171602_41 

--1 x2872 +1 x1972 >= 0;

-* org.eclipse.ecf.server 1.3.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1530 +1 x23 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3109 +1 x235 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.ocl.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3109 +1 x1904 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.doc.feature.group 1.2.0.v200805130238-23-8s733I3C59379I 

--1 x3109 +1 x2231 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.source.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3109 +1 x1946 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.ocl.source.feature.group 1.2.0.v200805130238-11-7w311916241349 

--1 x3109 +1 x2356 >= 0;

-* org.eclipse.emf.query.sdk.feature.group 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K requires either org.eclipse.emf.query.sdk.feature.jar 1.2.0.v200805130238-579-91H6X3LNFpDbNfBNRhHt955K 

--1 x3109 +1 x2031 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.chart.engine 2.3.0.v20080606 

--1 x577 +1 x191 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.data 2.3.0.v20080606 

--1 x577 +1 x256 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.report.model 2.3.0.v20080605 

--1 x577 +1 x300 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.report.engine 2.3.0.v20080616 

--1 x577 +1 x258 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.report.item.crosstab.core 2.3.0.v20080606 

--1 x577 +1 x974 >= 0;

-* org.eclipse.birt.chart.reportitem 2.3.0.v20080610 requires either org.eclipse.birt.data.aggregation 2.3.0.v20080606 

--1 x577 +1 x1092 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.common.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2888 +1 x2273 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2888 +1 x2393 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.runtime.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 

--1 x2888 +1 x517 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.editor.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2888 +1 x2419 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2888 +1 x3274 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.doc.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2888 +1 x2301 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.common.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2888 +1 x3275 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x2888 +1 x1935 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.runtime.source.feature.group 1.0.0.v20080611-1330-5--AgI99m9cDD4DNN9 

--1 x2888 +1 x2317 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.editor.source.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x2888 +1 x2970 >= 0;

-* org.eclipse.m2m.qvt.oml.sdk.feature.group 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW requires either org.eclipse.m2m.qvt.oml.sdk.feature.jar 1.0.0.v20080611-1330-7_--AAKDAeC4okgF98SvgNel8wUW 

--1 x2888 +1 x2094 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1541 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1541 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x1541 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1541 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1541 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1541 +1 x175 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x1541 +1 x1491 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1541 +1 x1435 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1541 +1 x1290 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.sqltools.sql 1.0.0.v200805152355 

--1 x1541 +1 x1200 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1541 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x1541 +1 x75 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.debug.ui 3.4.0.v20080529-1300 

--1 x1541 +1 x74 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1541 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1541 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1541 +1 x183 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.connectivity.sqm.core.ui 1.1.0.v200806070326 

--1 x1541 +1 x179 >= 0;

-* org.eclipse.datatools.sqltools.routineeditor 1.0.0.v200805261703 requires either org.eclipse.datatools.sqltools.plan 1.0.0.v200805152355 

--1 x1541 +1 x1291 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1545 +1 x21 >= 0;

-* org.eclipse.mylyn.compatibility 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1545 +1 x54 >= 0;

-* org.python.pydev.parser 1.3.20 requires optionaly either org.junit 3.8.2.v20080602-1318 

--1 x3277 -1 x3276>= -1 ;

- -1 x3276 1 x409 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1548 +1 x54 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1548 +1 x57 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1548 +1 x21 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1548 +1 x53 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1548 +1 x63 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.python.pydev.core 0.9.7 org.python.pydev.core 1.3.19 org.python.pydev.core 1.0.4 org.python.pydev.core 1.3.16 org.python.pydev.core 1.2.1 org.python.pydev.core 1.1.0 org.python.pydev.core 1.3.9 org.python.pydev.core 1.2.6 org.python.pydev.core 1.3.18 org.python.pydev.core 1.0.5 org.python.pydev.core 1.3.8 org.python.pydev.core 1.3.17 org.python.pydev.core 1.2.7 org.python.pydev.core 1.0.2 org.python.pydev.core 1.3.0 org.python.pydev.core 1.2.8 org.python.pydev.core 1.3.14 org.python.pydev.core 1.3.7 org.python.pydev.core 1.3.20 org.python.pydev.core 1.0.3 org.python.pydev.core 0.9.8 org.python.pydev.core 1.2.9 org.python.pydev.core 1.3.1 org.python.pydev.core 1.3.6 org.python.pydev.core 1.3.15 org.python.pydev.core 1.3.12 org.python.pydev.core 1.3.5 org.python.pydev.core 1.2.2 org.python.pydev.core 1.0.8 org.python.pydev.core 1.3.4 org.python.pydev.core 1.3.13 org.python.pydev.core 1.2.3 org.python.pydev.core 0.9.8.3 org.python.pydev.core 0.9.8.2 org.python.pydev.core 0.9.8.1 org.python.pydev.core 1.2.4 org.python.pydev.core 0.9.8.7 org.python.pydev.core 0.9.7.99 org.python.pydev.core 1.3.10 org.python.pydev.core 0.9.8.6 org.python.pydev.core 0.9.8.5 org.python.pydev.core 0.9.8.4 org.python.pydev.core 1.3.3 org.python.pydev.core 1.0.6 org.python.pydev.core 0.9.5 org.python.pydev.core 1.0.1 org.python.pydev.core 1.2.5 org.python.pydev.core 1.3.2 org.python.pydev.core 1.3.11 org.python.pydev.core 1.0.7 

--1 x1548 +1 x16 +1 x452 +1 x453 +1 x454 +1 x455 +1 x456 +1 x34 +1 x457 +1 x458 +1 x459 +1 x460 +1 x461 +1 x462 +1 x463 +1 x464 +1 x465 +1 x466 +1 x467 +1 x468 +1 x469 +1 x470 +1 x471 +1 x472 +1 x473 +1 x474 +1 x475 +1 x476 +1 x477 +1 x478 +1 x479 +1 x480 +1 x252 +1 x481 +1 x482 +1 x483 +1 x484 +1 x485 +1 x486 +1 x487 +1 x488 +1 x489 +1 x490 +1 x491 +1 x492 +1 x493 +1 x494 +1 x495 +1 x496 +1 x497 +1 x498 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1548 +1 x61 >= 0;

-* org.python.pydev.parser 1.3.20 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1548 +1 x41 >= 0;

- -1 x1548 1 x3277 1 x3276 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1551 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1551 +1 x174 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.connectivity.ui 1.1.0.v200806040132 

--1 x1551 +1 x175 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1551 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.msft.sqlserver.ui 1.0.0.v200805160737 requires either org.eclipse.datatools.enablement.msft.sqlserver 1.0.1.v200805152355 

--1 x1551 +1 x828 >= 0;

-* org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1550 +1 x21 >= 0;

-* org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1550 +1 x997 >= 0;

-* org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery.ui 2.0.0.v20080623-0046 

--1 x1550 +1 x1141 >= 0;

-* org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 requires either org.eclipse.update.ui 3.2.100.v20080318 

--1 x1550 +1 x1306 >= 0;

-* org.eclipse.ecf.examples.updatesite.client 1.0.100.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1550 +1 x54 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x515 +1 x132 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x515 +1 x21 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either com.ibm.icu 3.8.1.v20080530 

--1 x515 +1 x142 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.dbdefinition 1.0.0.v200805152355 

--1 x515 +1 x1491 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x515 +1 x1435 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity.sqm.core 1.0.1.v200806041052 

--1 x515 +1 x181 >= 0;

-* org.eclipse.datatools.enablement.mysql 1.0.0.v200805152355 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x515 +1 x174 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1554 +1 x53 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x1554 +1 x52 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1554 +1 x21 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.tptp.platform.agentcontroller 4.2.200.v200806162043 

--1 x1554 +1 x1539 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1554 +1 x561 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1554 +1 x54 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires optionaly either org.apache.ant 1.7.0.v200803061910 

--1 x3279 -1 x3278>= -1 ;

- -1 x3278 1 x113 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either org.junit 3.8.2.v20080602-1318 

--1 x1554 +1 x409 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1554 +1 x142 >= 0;

-* org.eclipse.hyades.execution 4.4.200.v200806120100 requires optionaly either org.eclipse.tptp.platform.iac.administrator 4.4.100.v200806120100 

--1 x3279 -1 x3280>= -1 ;

- -1 x3280 1 x1504 >= 0;

- -1 x1554 1 x3279 1 x3278 1 x3280 >= 0;

-* org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1555 +1 x54 >= 0;

-* org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1555 +1 x21 >= 0;

-* org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1555 +1 x36 >= 0;

-* org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 requires either org.eclipse.ecf.ui 2.0.0.v20080623-0046 

--1 x1555 +1 x583 >= 0;

-* org.eclipse.ecf.provider.ui 1.3.0.v20080623-0046 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1555 +1 x63 >= 0;

-* org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 requires either org.eclipse.help 3.3.100.v20080610 

--1 x572 +1 x76 >= 0;

-* org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x572 +1 x21 >= 0;

-* org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 requires either org.eclipse.core.runtime.compatibility 3.2.0.v20071008 

--1 x572 +1 x52 >= 0;

-* org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 requires either org.eclipse.birt.chart.cshelp 2.3.0.v20080616 

--1 x572 +1 x1556 >= 0;

-* org.eclipse.birt.chart.cshelp.feature.group 2.3.0.v200805131-22-7w31191727 requires either org.eclipse.birt.chart.cshelp.feature.jar 2.3.0.v200805131-22-7w31191727 

--1 x572 +1 x1997 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.buckminster.p4 1.0.0.r09319 

--1 x1557 +1 x1452 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.buckminster.ui 1.0.0.r09319 

--1 x1557 +1 x896 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x1557 +1 x384 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x1557 +1 x385 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x1557 +1 x386 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1557 +1 x21 >= 0;

-* org.eclipse.buckminster.p4.ui 1.0.0.r09319 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1557 +1 x54 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x214 +1 x53 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x214 +1 x21 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.core.commands 3.4.0.I20080509-2000 

--1 x214 +1 x1012 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.jem.util 2.0.100.v200805140020 

--1 x214 +1 x215 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.wst.common.environment 1.0.202.v200807161459 org.eclipse.wst.common.environment 1.0.201.v200805140020 

--1 x214 +1 x861 +1 x101 >= 0;

-* org.eclipse.wst.common.frameworks 1.1.200.v200805140020 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x214 +1 x132 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.core 1.1.0.r09336 

--1 x2910 +1 x384 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.runtime 1.1.0.r09338 

--1 x2910 +1 x386 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.sax 1.0.0.r09175 

--1 x2910 +1 x385 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x2910 +1 x21 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.remote 1.0.0.r09326 

--1 x2910 +1 x820 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.slf4j 1.0.0 

--1 x2910 +1 x980 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.slf4j.extendable 1.4.3 

--1 x2910 +1 x1037 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.apache.commons.codec 1.3.0.v20080530-1600 

--1 x2910 +1 x349 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x2910 +1 x1003 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.remote.cloudsmith 1.0.0.r09319 

--1 x2910 +1 x1470 >= 0;

-* org.eclipse.buckminster.remote.feature.feature.group 1.0.0.r09326 requires either org.eclipse.buckminster.remote.feature.feature.jar 1.0.0.r09326 

--1 x2910 +1 x2126 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1564 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1564 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1564 +1 x147 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.gef 3.4.0.v20080526 

--1 x1564 +1 x254 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1564 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.modelbase.sql.query.edit 1.0.0.v200806070329 

--1 x1564 +1 x1303 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 

--1 x1564 +1 x1574 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.sqltools.editor.core 1.0.0.v200805152355 

--1 x1564 +1 x954 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.sqltools.parsers.sql.query 1.0.1.v200805152355 

--1 x1564 +1 x1447 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1564 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.datatools.sqltools.sqleditor 1.0.0.v200805152355 

--1 x1564 +1 x1114 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1564 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1564 +1 x140 >= 0;

-* org.eclipse.datatools.sqltools.sqlbuilder 1.0.0.v200806070500 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1564 +1 x54 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3158 +1 x21 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3158 +1 x53 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3158 +1 x57 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.edit 2.4.0.v200806091234 

--1 x3158 +1 x866 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x3158 +1 x170 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x3158 +1 x147 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x3158 +1 x19 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.codegen.ecore 2.4.0.v200806091234 

--1 x3158 +1 x118 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.editor 2.4.0.v200806091234 

--1 x3158 +1 x823 >= 0;

-* org.eclipse.emf.ecore.sdo.editor.feature.group 2.4.0.v200806091234 requires either org.eclipse.emf.ecore.sdo.editor.feature.jar 2.4.0.v200806091234 

--1 x3158 +1 x2157 >= 0;

-* org.eclipse.datatools.modelbase.derby 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x620 +1 x1435 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.common_ui.feature.feature.group 3.0.1.v200807220139-7C78ELWE8VrRVorIr-jb1AsOaXHW 

--1 x2912 +1 x1 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xml_userdoc.feature.feature.group 3.0.1.v200807310230-40EGl_kE77c7TAO9EFP 

--1 x2912 +1 x1906 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xml_core.feature.feature.group 3.0.1.v200807220139-7A7NEGuE7QYGHNH_NuKhUl 

--1 x2912 +1 x2400 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.platform.feature.group 3.4.0.v20080610-9I96EhtEm-T_5LxIsybz-3MdGZmOA3uwv7Ka_M 

--1 x2912 +1 x4 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.emf.common.feature.group 2.4.0.v200806091234 

--1 x2912 +1 x2401 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.emf.ecore.edit.feature.group 2.4.0.v200806091234 

--1 x2912 +1 x2792 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.emf.edit.ui.feature.group 2.4.0.v200806091234 

--1 x2912 +1 x2446 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.gef.feature.group 3.4.0.v20080115-677-8082A5696H274A 

--1 x2912 +1 x3 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.xsd.edit.feature.group 2.4.0.v200806091234 

--1 x2912 +1 x1602 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.dtd.ui 1.0.301.v200808072012 

--1 x2912 +1 x192 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.dtd.ui.infopop 1.0.300.v200805140200 

--1 x2912 +1 x727 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.sse.ui.infopop 1.0.200.v200805301545 

--1 x2912 +1 x1413 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xml.ui.infopop 1.0.300.v200805140200 

--1 x2912 +1 x413 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.sse.ui 1.1.1.v200808141919 

--1 x2912 +1 x196 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xml.ui 1.0.401.v200807240448 

--1 x2912 +1 x201 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xsd.ui 1.2.102.v200808141745 

--1 x2912 +1 x1542 >= 0;

-* org.eclipse.wst.xml_ui.feature.feature.group 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY requires either org.eclipse.wst.xml_ui.feature.feature.jar 3.0.1.v200807220139-7F2EN7Cwum5N6894QkL-QahXCXJY 

--1 x2912 +1 x2108 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1567 +1 x24 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1567 +1 x36 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.provider.filetransfer 2.0.0.v20080611-1715 

--1 x1567 +1 x796 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.filetransfer 2.0.0.v20080611-1715 

--1 x1567 +1 x655 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1567 +1 x893 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1567 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1567 +1 x23 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1567 +1 x49 >= 0;

-* org.eclipse.ecf.provider.filetransfer.scp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1567 +1 x23 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1566 +1 x315 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1566 +1 x53 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1566 +1 x21 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.emf.compare 0.8.0.v200806180301 

--1 x1566 +1 x766 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.emf.compare.diff 0.8.0.v200806180301 

--1 x1566 +1 x1322 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.emf.compare.match 0.8.0.v200806180301 

--1 x1566 +1 x723 >= 0;

-* org.eclipse.emf.compare.ui 0.8.0.v200806180301 requires either org.eclipse.emf.ecore.editor 2.4.0.v200806091234 

--1 x1566 +1 x225 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x504 +1 x114 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine 2.0.0.v200806101117 

--1 x504 +1 x168 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.engine.emfvm 2.0.0.v200806101117 

--1 x504 +1 x503 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x504 +1 x21 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x504 +1 x53 >= 0;

-* org.eclipse.m2m.atl.examples 2.0.0.v200806101117 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x504 +1 x170 >= 0;

-* org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1574 +1 x21 >= 0;

-* org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql.query 1.0.1.v200805152355 

--1 x1574 +1 x1290 >= 0;

-* org.eclipse.datatools.modelbase.sql.xml.query 1.0.0.v200805152355 requires either org.eclipse.datatools.modelbase.sql 1.0.0.v200805152355 

--1 x1574 +1 x1435 >= 0;

-* org.eclipse.emf.search.doc 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1575 +1 x54 >= 0;

-* org.eclipse.emf.search.doc 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1575 +1 x21 >= 0;

-* org.eclipse.emf.search.doc 0.7.0.v200806130939 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1575 +1 x76 >= 0;

-* com.instantiations.assist.eclipse.fragment.ui.workbench.texteditor 5.5.0 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1577 +1 x41 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either javax.xml.bind 2.0.0.v20080604-1500 javax.xml.bind 2.0.0.v200803061811 org.apache.ws.jaxme 0.5.1.v20080530-1550 

--1 x1579 +1 x1399 +1 x1578 +1 x768 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.ws.jaxme 0.5.1.v20080530-1550 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1579 +1 x371 +1 x162 +1 x768 +1 x380 +1 x381 +1 x210 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1579 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x1579 +1 x1003 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x1579 +1 x1003 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x1579 +1 x1003 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.commons.httpclient 3.1.0.v20080605-1935 

--1 x1579 +1 x1003 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1579 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.ws.commons.util 1.0.0.v20080530-1550 

--1 x1579 +1 x967 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either org.apache.ws.commons.util 1.0.0.v20080530-1550 

--1 x1579 +1 x967 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.nordea.cd.dev.plugin.builderruntime 1.0.0 com.windowtester.swing.recorder 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.windowtester.runtime 3.5.0.200806270034 com.nordea.cd.dev.plugin.builderruntime 1.0.2 a.jre 1.6.0 

--1 x1579 +1 x369 +1 x370 +1 x371 +1 x162 +1 x372 +1 x380 +1 x373 +1 x381 +1 x210 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1579 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.apache.xmlrpc 3.0.0.v20080530-1550 requires either com.windowtester.swing.recorder 3.5.1.200809042232 com.windowtester.runtime 3.5.1.200809042232 javax.xml 1.3.4.v200806030440 com.windowtester.swing.recorder 3.5.0.200806270034 com.windowtester.runtime 3.5.0.200806270034 a.jre 1.6.0 

--1 x1579 +1 x369 +1 x370 +1 x371 +1 x372 +1 x373 +1 x210 >= 0;

-* org.eclipse.birt.core.ui 2.3.0.v20080515 requires either org.eclipse.swt 3.4.0.v3448f 

--1 x1582 +1 x72 >= 0;

-* org.eclipse.birt.core.ui 2.3.0.v20080515 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1582 +1 x561 >= 0;

-* org.eclipse.birt.core.ui 2.3.0.v20080515 requires either org.eclipse.birt.core 2.3.0.v20080606 

--1 x1582 +1 x299 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either javax.servlet 2.5.0.v200806031605 javax.servlet 2.4.0.v200806031604 

--1 x1581 +1 x45 +1 x46 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1581 +1 x36 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1581 +1 x997 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.equinox.app 1.1.0.v20080421-2006 

--1 x1581 +1 x32 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1581 +1 x24 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3282 -1 x3281>= -1 ;

- -1 x3281 1 x88 1 x45 1 x89 1 x46 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires optionaly either com.instantiations.assist.eclipse.core 5.5.0 javax.servlet 2.5.0.v200806031605 com.instantiations.assist.eclipse.core 5.5.1 javax.servlet 2.4.0.v200806031604 

--1 x3282 -1 x3283>= -1 ;

- -1 x3283 1 x88 1 x45 1 x89 1 x46 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either a.jre 1.6.0 

--1 x1581 +1 x210 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either javax.servlet 2.4.0.v200806031604 

--1 x1581 +1 x46 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1581 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1581 +1 x23 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.osgi.services 3.1.200.v20071203 

--1 x1581 +1 x49 >= 0;

-* org.eclipse.ecf.examples.updatesite.server 1.0.100.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1581 +1 x23 >= 0;

- -1 x1581 1 x3282 1 x3281 1 x3283 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x1583 +1 x315 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1583 +1 x53 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1583 +1 x21 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1583 +1 x971 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.team.ui 3.4.0.I20080604 

--1 x1583 +1 x984 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x1583 +1 x140 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1583 +1 x54 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator 3.3.100.I20080606-1300 

--1 x1583 +1 x183 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.ui.navigator.resources 3.3.100.I20080606-1300 

--1 x1583 +1 x1495 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.core 3.0.0.v20080619-1900 org.eclipse.mylyn.context.core 3.0.1.v20080721-2100-e3x 

--1 x1583 +1 x318 +1 x319 +1 x320 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.context.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.context.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.context.ui 3.0.0.v20080619-1900 

--1 x1583 +1 x1347 +1 x1569 +1 x703 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x1583 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.resources.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.resources.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.resources.ui 3.0.1.v20080721-2100-e3x 

--1 x1583 +1 x793 +1 x870 +1 x687 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x1583 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x1583 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x1583 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.team.ui 3.0.1.v20080721-2100-e3x requires either org.eclipse.mylyn.monitor.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.monitor.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.monitor.core 3.0.0.v20080619-1900 

--1 x1583 +1 x329 +1 x260 +1 x330 >= 0;

-* org.eclipse.core.filebuffers 3.4.0.v20080603-2000 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x639 +1 x21 >= 0;

-* org.eclipse.core.filebuffers 3.4.0.v20080603-2000 requires optionaly either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x3285 -1 x3284>= -1 ;

- -1 x3284 1 x53 >= 0;

-* org.eclipse.core.filebuffers 3.4.0.v20080603-2000 requires either org.eclipse.text 3.4.0.v20080605-1800 

--1 x639 +1 x68 >= 0;

-* org.eclipse.core.filebuffers 3.4.0.v20080603-2000 requires either org.eclipse.core.filesystem 1.2.0.v20080604-1400 

--1 x639 +1 x160 >= 0;

-* org.eclipse.core.filebuffers 3.4.0.v20080603-2000 requires either com.ibm.icu.base 3.8.1.v20080530 com.ibm.icu 3.8.1.v20080530 

--1 x639 +1 x553 +1 x142 >= 0;

- -1 x639 1 x3285 1 x3284 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1585 +1 x21 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either org.eclipse.team.cvs.core 3.3.100.I20080605 

--1 x1585 +1 x1294 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either org.eclipse.team.core 3.4.0.I20080605 

--1 x1585 +1 x971 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either org.eclipse.team.cvs.ssh 3.2.100.I20080604 

--1 x1585 +1 x799 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either com.jcraft.jsch 0.1.37.v200803061811 

--1 x1585 +1 x893 >= 0;

-* org.eclipse.team.cvs.ssh2 3.2.200.I20080604 requires either org.eclipse.jsch.core 1.1.100.I20080604 

--1 x1585 +1 x1594 >= 0;

-* org.eclipse.m2m.qvt.oml.common.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common.source 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x3275 +1 x1049 >= 0;

-* org.eclipse.m2m.qvt.oml.common.source.feature.group 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 requires either org.eclipse.m2m.qvt.oml.common.source.feature.jar 1.0.0.v20080611-1330-4--_kE77c7UAA3AII7 

--1 x3275 +1 x2090 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x286 +1 x21 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.core 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.core 3.0.0.v20080619-1900 

--1 x286 +1 x324 +1 x325 +1 x326 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.net 1.1.0.I20080604 

--1 x286 +1 x316 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x286 +1 x54 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x286 +1 x53 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.compare 3.4.0.I20080604 

--1 x286 +1 x315 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.views 3.3.0.I20080509-2000 

--1 x286 +1 x59 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.forms 3.3.100.v20080611 

--1 x286 +1 x140 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x286 +1 x63 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x286 +1 x61 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x286 +1 x41 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.tasks.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.tasks.ui 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.tasks.ui 3.0.0.v20080619-1900 

--1 x286 +1 x433 +1 x314 +1 x767 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn_feature.feature.group 3.0.2.v20080918-1100-e3x 

--1 x286 +1 x281 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.net 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.net 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.net 3.0.1.v20080721-2100-e3x 

--1 x286 +1 x275 +1 x276 +1 x277 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.core 3.0.1.v20080721-2100-e3x org.eclipse.mylyn.commons.core 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.core 3.0.2.v20080918-1100-e3x 

--1 x286 +1 x261 +1 x262 +1 x263 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.commons.ui 3.0.2.v20080918-1100-e3x org.eclipse.mylyn.commons.ui 3.0.0.v20080619-1900 org.eclipse.mylyn.commons.ui 3.0.1.v20080721-2100-e3x 

--1 x286 +1 x272 +1 x327 +1 x328 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.bugzilla.core 3.0.2.v20080918-1100-e3x 

--1 x286 +1 x1308 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.bugzilla.ui 3.0.2.v20080918-1100-e3x 

--1 x286 +1 x1434 >= 0;

-* org.eclipse.mylyn.bugzilla_feature.feature.group 3.0.2.v20080918-1100-e3x requires either org.eclipse.mylyn.bugzilla_feature.feature.jar 3.0.2.v20080918-1100-e3x 

--1 x286 +1 x1915 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x3274 +1 x21 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x3274 +1 x57 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x3274 +1 x132 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x3274 +1 x170 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x3274 +1 x147 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.debug.core 3.4.0.v20080612 

--1 x3274 +1 x75 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.common 1.0.0.v20080611-1330 

--1 x3274 +1 x519 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.samples 1.0.0.v20080611-1330 

--1 x3274 +1 x1310 >= 0;

-* org.eclipse.m2m.qvt.oml.examples.feature.group 1.0.0.v20080611-1330-1--7w3119172202441 requires either org.eclipse.m2m.qvt.oml.examples.feature.jar 1.0.0.v20080611-1330-1--7w3119172202441 

--1 x3274 +1 x2109 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1586 +1 x54 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1586 +1 x21 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search 0.7.0.v200806130939 

--1 x1586 +1 x969 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ui 0.7.0.v200806130939 

--1 x1586 +1 x776 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ui 0.7.0.v200806130939 

--1 x1586 +1 x1033 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore 0.7.0.v200806130939 

--1 x1586 +1 x1411 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.common 0.7.0.v200806130939 

--1 x1586 +1 x1094 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1586 +1 x561 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1586 +1 x63 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1586 +1 x132 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.ecore.edit 2.4.0.v200806091234 

--1 x1586 +1 x19 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.edit.ui 2.4.0.v200806091234 

--1 x1586 +1 x147 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ecore.ocl 0.7.0.v200806130939 

--1 x1586 +1 x1465 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl 0.7.0.v200806130939 

--1 x1586 +1 x902 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.emf.search.ocl.ui 0.7.0.v200806130939 

--1 x1586 +1 x990 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl 1.2.0.v200806091438 

--1 x1586 +1 x358 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl.ecore 1.2.0.v200805130238 

--1 x1586 +1 x710 >= 0;

-* org.eclipse.emf.search.ecore.ocl.ui 0.7.0.v200806130939 requires either org.eclipse.ocl.uml 1.2.0.v200805130238 

--1 x1586 +1 x1516 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.ecf.discovery 2.0.0.v20080623-0046 

--1 x1588 +1 x997 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.ecf 2.0.0.v20080611-1715 

--1 x1588 +1 x36 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 

--1 x1588 +1 x24 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either ch.ethz.iks.slp 1.0.0.RC4_v200806091030 

--1 x1588 +1 x992 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.common 3.4.0.v20080421-2006 org.eclipse.equinox.registry 3.4.0.v20080516-0950 org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1588 +1 x24 +1 x26 +1 x21 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.core.jobs 3.4.0.v20080512 

--1 x1588 +1 x25 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.equinox.supplement 1.1.0.v20080421-2006 org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1588 +1 x39 +1 x23 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1588 +1 x23 >= 0;

-* org.eclipse.ecf.provider.jslp 2.0.0.v20080623-0046 requires either org.eclipse.osgi 3.4.0.v20080605-1900 

--1 x1588 +1 x23 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.ui 3.4.0.I20080610-1200 

--1 x1589 +1 x54 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1589 +1 x21 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.jface.text 3.4.0.v20080603-2000 

--1 x1589 +1 x63 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1589 +1 x53 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.ui.console 3.3.0.v20080529-1300 

--1 x1589 +1 x133 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.ui.workbench.texteditor 3.4.0.v20080603-2000 

--1 x1589 +1 x41 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.ui.editors 3.4.0.v20080603-2000 

--1 x1589 +1 x61 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.ui.ide 3.4.0.I20080606-1300 

--1 x1589 +1 x57 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.datatools.connectivity 1.1.0.v200805160228 

--1 x1589 +1 x174 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.apache.lucene 1.9.1.v20080530-1600 

--1 x1589 +1 x1241 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1589 +1 x142 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.datatools.sqltools.common.ui 1.0.0.v200805152355 

--1 x1589 +1 x1161 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.help 3.3.100.v20080610 

--1 x1589 +1 x76 >= 0;

-* org.eclipse.datatools.sqltools.result 1.0.0.v200805301309 requires either org.eclipse.datatools.help 1.5.0.v200805152355 

--1 x1589 +1 x177 >= 0;

-* org.eclipse.m2m.atl.source.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.source 2.0.0.v200806101117 

--1 x3127 +1 x432 >= 0;

-* org.eclipse.m2m.atl.source.feature.group 2.0.0.v200806101117 requires either org.eclipse.m2m.atl.source.feature.jar 2.0.0.v200806101117 

--1 x3127 +1 x1971 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.eclipse.emf.common 2.4.0.v200806091234 

--1 x1590 +1 x114 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1590 +1 x132 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1590 +1 x170 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.eclipse.emf.teneo 1.0.0.v200806111928 

--1 x1590 +1 x1467 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.eclipse.emf.teneo.annotations 1.0.0.v200806111928 

--1 x1590 +1 x1276 >= 0;

-* org.eclipse.emf.teneo.jpox 1.0.0.v200806111928 requires either org.apache.commons.logging 1.0.4.v20080605-1930 com.instantiations.eclipse.ui 5.3.2.200806270030 com.instantiations.eclipse.ui 5.3.2.200809042027 com.nordea.cd.dev.plugin.builderruntime 1.0.0 org.apache.batik.pdf 1.6.0.v200806031500 com.nordea.cd.dev.plugin.builderruntime 1.0.1 com.nordea.cd.dev.plugin.builderruntime 1.0.2 

--1 x1590 +1 x331 +1 x1237 +1 x649 +1 x162 +1 x1061 +1 x380 +1 x381 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either com.instantiations.assist.eclipse.core 5.5.0 com.instantiations.assist.eclipse.core 5.5.1 

--1 x1592 +1 x88 +1 x89 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either com.instantiations.eclipse.debug 5.3.2.200809042027 com.instantiations.eclipse.debug 5.3.2.200806270030 

--1 x1592 +1 x86 +1 x87 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either org.eclipse.core.resources 3.4.0.v20080604-1400 

--1 x1592 +1 x53 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1592 +1 x21 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either org.eclipse.jdt.core 3.4.0.v_874 

--1 x1592 +1 x70 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either org.eclipse.jdt.ui 3.4.0.v20080603-2000 

--1 x1592 +1 x71 >= 0;

-* com.instantiations.eclipse.ast.editor 5.5.0 requires either org.eclipse.jface 3.4.0.I20080606-1300 

--1 x1592 +1 x561 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either org.eclipse.core.runtime 3.4.0.v20080512 

--1 x1591 +1 x21 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore 2.4.0.v200806091234 

--1 x1591 +1 x132 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.ecore.xmi 2.4.0.v200806091234 

--1 x1591 +1 x170 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either org.eclipse.emf.edit 2.4.0.v200806091234 

--1 x1591 +1 x145 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either org.eclipse.gmf.runtime.common.core 1.1.0.v20080425-1959 

--1 x1591 +1 x1085 >= 0;

-* org.eclipse.gmf.runtime.emf.clipboard.core 1.1.0.v20080425-1959 requires either com.ibm.icu 3.8.1.v20080530 

--1 x1591 +1 x142 >= 0;

- -1 x468 -1 x34 >= -1;

- -1 x468 -1 x455 >= -1;

- -1 x468 -1 x464 >= -1;

- -1 x468 -1 x465 >= -1;

- -1 x468 -1 x458 >= -1;

- -1 x468 -1 x469 >= -1;

- -1 x468 -1 x470 >= -1;

- -1 x468 -1 x472 >= -1;

- -1 x468 -1 x471 >= -1;

- -1 x468 -1 x460 >= -1;

- -1 x468 -1 x452 >= -1;

- -1 x468 -1 x463 >= -1;

- -1 x468 -1 x456 >= -1;

- -1 x468 -1 x478 >= -1;

- -1 x468 -1 x494 >= -1;

- -1 x468 -1 x454 >= -1;

- -1 x468 -1 x497 >= -1;

- -1 x468 -1 x252 >= -1;

- -1 x468 -1 x496 >= -1;

- -1 x468 -1 x461 >= -1;

- -1 x468 -1 x491 >= -1;

- -1 x468 -1 x487 >= -1;

- -1 x468 -1 x477 >= -1;

- -1 x468 -1 x481 >= -1;

- -1 x468 -1 x482 >= -1;

- -1 x468 -1 x483 >= -1;

- -1 x468 -1 x485 >= -1;

- -1 x468 -1 x488 >= -1;

- -1 x468 -1 x489 >= -1;

- -1 x468 -1 x490 >= -1;

- -1 x468 -1 x493 >= -1;

- -1 x468 -1 x486 >= -1;

- -1 x468 -1 x480 >= -1;

- -1 x468 -1 x495 >= -1;

- -1 x468 -1 x479 >= -1;

- -1 x468 -1 x498 >= -1;

- -1 x468 -1 x476 >= -1;

- -1 x468 -1 x475 >= -1;

- -1 x468 -1 x484 >= -1;

- -1 x468 -1 x492 >= -1;

- -1 x468 -1 x16 >= -1;

- -1 x468 -1 x459 >= -1;

- -1 x468 -1 x474 >= -1;

- -1 x468 -1 x462 >= -1;

- -1 x468 -1 x473 >= -1;

- -1 x468 -1 x453 >= -1;

- -1 x468 -1 x467 >= -1;

- -1 x468 -1 x466 >= -1;

- -1 x468 -1 x457 >= -1;

- -1 x468 >= -1;

- -1 x213 -1 x1526 >= -1;

- -1 x90 -1 x91 >= -1;

- -1 x1992 -1 x1982 -1 x1915 >= -1;

- -1 x427 -1 x1135 >= -1;

- -1 x323 -1 x322 -1 x321 >= -1;

- -1 x1548 -1 x1055 >= -1;

- -1 x1548 -1 x852 >= -1;

- -1 x1548 -1 x648 >= -1;

- -1 x1548 -1 x715 >= -1;

- -1 x1548 -1 x1098 >= -1;

- -1 x1548 -1 x313 >= -1;

- -1 x1548 -1 x1087 >= -1;

- -1 x1548 -1 x125 >= -1;

- -1 x1548 -1 x798 >= -1;

- -1 x1548 -1 x914 >= -1;

- -1 x1548 -1 x1218 >= -1;

- -1 x1548 -1 x759 >= -1;

- -1 x1548 -1 x1205 >= -1;

- -1 x1548 -1 x1189 >= -1;

- -1 x1548 -1 x867 >= -1;

- -1 x1548 -1 x1343 >= -1;

- -1 x1548 -1 x829 >= -1;

- -1 x1548 -1 x50 >= -1;

- -1 x1548 -1 x957 >= -1;

- -1 x1548 -1 x979 >= -1;

- -1 x1548 -1 x837 >= -1;

- -1 x1548 -1 x722 >= -1;

- -1 x1548 -1 x592 >= -1;

- -1 x1548 -1 x1110 >= -1;

- -1 x1548 -1 x1111 >= -1;

- -1 x1548 -1 x1112 >= -1;

- -1 x1548 -1 x1115 >= -1;

- -1 x1548 -1 x1116 >= -1;

- -1 x1548 -1 x1118 >= -1;

- -1 x1548 -1 x1120 >= -1;

- -1 x1548 -1 x743 >= -1;

- -1 x1548 -1 x882 >= -1;

- -1 x1548 -1 x1474 >= -1;

- -1 x1548 -1 x1266 >= -1;

- -1 x1548 -1 x1402 >= -1;

- -1 x1548 -1 x1026 >= -1;

- -1 x1548 -1 x1536 >= -1;

- -1 x1548 -1 x1349 >= -1;

- -1 x1548 -1 x1150 >= -1;

- -1 x1548 -1 x894 >= -1;

- -1 x1548 -1 x996 >= -1;

- -1 x1548 -1 x789 >= -1;

- -1 x1548 -1 x1226 >= -1;

- -1 x1548 -1 x1553 >= -1;

- -1 x1548 -1 x1159 >= -1;

- -1 x1548 -1 x705 >= -1;

- -1 x1548 -1 x1302 >= -1;

- -1 x1548 -1 x1103 >= -1;

- -1 x1548 -1 x1429 >= -1;

- -1 x1548 >= -1;

- -1 x1121 -1 x942 >= -1;

- -1 x98 -1 x99 >= -1;

- -1 x767 -1 x314 -1 x433 >= -1;

- -1 x15 -1 x2041 >= -1;

- -1 x194 -1 x195 >= -1;

- -1 x1000 -1 x1476 >= -1;

- -1 x1379 -1 x779 >= -1;

- -1 x51 -1 x961 >= -1;

- -1 x793 -1 x687 -1 x870 >= -1;

- -1 x391 -1 x2108 >= -1;

- -1 x93 -1 x92 >= -1;

- -1 x197 -1 x196 >= -1;

- -1 x219 -1 x218 >= -1;

- -1 x326 -1 x325 -1 x324 >= -1;

- -1 x1256 -1 x1369 >= -1;

- -1 x769 -1 x784 -1 x1434 >= -1;

- -1 x2078 -1 x247 >= -1;

- -1 x199 -1 x198 >= -1;

- -1 x320 -1 x319 -1 x318 >= -1;

- -1 x1569 -1 x703 -1 x1347 >= -1;

- -1 x1390 -1 x12 >= -1;

- -1 x262 -1 x261 -1 x263 >= -1;

- -1 x930 -1 x1299 >= -1;

- -1 x930 -1 x994 >= -1;

- -1 x930 -1 x872 >= -1;

- -1 x930 -1 x1163 >= -1;

- -1 x930 -1 x708 >= -1;

- -1 x930 -1 x1239 >= -1;

- -1 x930 -1 x964 >= -1;

- -1 x930 -1 x1263 >= -1;

- -1 x930 -1 x1171 >= -1;

- -1 x930 -1 x1220 >= -1;

- -1 x930 -1 x1052 >= -1;

- -1 x930 -1 x918 >= -1;

- -1 x930 -1 x1389 >= -1;

- -1 x930 -1 x1072 >= -1;

- -1 x930 -1 x1045 >= -1;

- -1 x930 -1 x1366 >= -1;

- -1 x930 -1 x382 >= -1;

- -1 x930 -1 x1527 >= -1;

- -1 x930 -1 x1420 >= -1;

- -1 x930 -1 x1540 >= -1;

- -1 x930 -1 x770 >= -1;

- -1 x930 -1 x1101 >= -1;

- -1 x930 -1 x1460 >= -1;

- -1 x930 -1 x814 >= -1;

- -1 x930 -1 x1475 >= -1;

- -1 x930 -1 x1158 >= -1;

- -1 x930 -1 x864 >= -1;

- -1 x930 -1 x1005 >= -1;

- -1 x930 -1 x1015 >= -1;

- -1 x930 -1 x1016 >= -1;

- -1 x930 -1 x1316 >= -1;

- -1 x930 -1 x1001 >= -1;

- -1 x930 -1 x1011 >= -1;

- -1 x930 -1 x1008 >= -1;

- -1 x930 -1 x1007 >= -1;

- -1 x930 -1 x661 >= -1;

- -1 x930 -1 x1233 >= -1;

- -1 x930 -1 x1285 >= -1;

- -1 x930 -1 x1531 >= -1;

- -1 x930 -1 x1354 >= -1;

- -1 x930 -1 x772 >= -1;

- -1 x930 -1 x1595 >= -1;

- -1 x930 -1 x1356 >= -1;

- -1 x930 -1 x826 >= -1;

- -1 x930 -1 x1404 >= -1;

- -1 x930 -1 x681 >= -1;

- -1 x930 -1 x909 >= -1;

- -1 x930 -1 x965 >= -1;

- -1 x930 -1 x1357 >= -1;

- -1 x930 -1 x532 >= -1;

- -1 x930 -1 x855 >= -1;

- -1 x930 -1 x1034 >= -1;

- -1 x930 -1 x1558 >= -1;

- -1 x930 -1 x1287 >= -1;

- -1 x930 -1 x719 >= -1;

- -1 x930 -1 x1348 >= -1;

- -1 x930 -1 x1113 >= -1;

- -1 x930 -1 x1059 >= -1;

- -1 x930 -1 x1142 >= -1;

- -1 x930 -1 x1408 >= -1;

- -1 x930 >= -1;

- -1 x1943 -1 x1994 -1 x2092 >= -1;

- -1 x1908 -1 x2111 >= -1;

- -1 x8 -1 x1009 >= -1;

- -1 x976 -1 x670 -1 x1563 >= -1;

- -1 x2103 -1 x2006 >= -1;

- -1 x1907 -1 x2073 >= -1;

- -1 x1584 -1 x1424 >= -1;

- -1 x451 -1 x1013 >= -1;

- -1 x451 -1 x888 >= -1;

- -1 x451 -1 x1596 >= -1;

- -1 x451 -1 x1355 >= -1;

- -1 x451 -1 x938 >= -1;

- -1 x451 -1 x1547 >= -1;

- -1 x451 -1 x1221 >= -1;

- -1 x451 -1 x1044 >= -1;

- -1 x451 -1 x501 >= -1;

- -1 x451 -1 x355 >= -1;

- -1 x451 -1 x756 >= -1;

- -1 x451 -1 x1083 >= -1;

- -1 x451 -1 x800 >= -1;

- -1 x451 -1 x1497 >= -1;

- -1 x451 -1 x673 >= -1;

- -1 x451 -1 x787 >= -1;

- -1 x451 -1 x1065 >= -1;

- -1 x451 -1 x665 >= -1;

- -1 x451 -1 x801 >= -1;

- -1 x451 -1 x1152 >= -1;

- -1 x451 -1 x749 >= -1;

- -1 x451 -1 x422 >= -1;

- -1 x451 -1 x778 >= -1;

- -1 x451 -1 x939 >= -1;

- -1 x451 -1 x1268 >= -1;

- -1 x451 -1 x1477 >= -1;

- -1 x451 -1 x1363 >= -1;

- -1 x451 -1 x1064 >= -1;

- -1 x451 -1 x901 >= -1;

- -1 x451 -1 x876 >= -1;

- -1 x451 -1 x1022 >= -1;

- -1 x451 -1 x1398 >= -1;

- -1 x451 -1 x1212 >= -1;

- -1 x451 -1 x1428 >= -1;

- -1 x451 -1 x1102 >= -1;

- -1 x451 >= -1;

- -1 x201 -1 x200 >= -1;

- -1 x1519 -1 x854 >= -1;

- -1 x1545 -1 x1522 -1 x1006 >= -1;

- -1 x1449 -1 x192 >= -1;

- -1 x370 -1 x373 >= -1;

- -1 x853 -1 x5 >= -1;

- -1 x946 -1 x1385 >= -1;

- -1 x1248 -1 x1134 >= -1;

- -1 x1289 -1 x597 >= -1;

- -1 x1456 -1 x986 >= -1;

- -1 x1036 -1 x1296 >= -1;

- -1 x1561 -1 x1375 >= -1;

- -1 x366 -1 x922 >= -1;

- -1 x977 -1 x1340 >= -1;

- -1 x832 -1 x981 >= -1;

- -1 x832 -1 x802 >= -1;

- -1 x832 -1 x916 >= -1;

- -1 x832 -1 x230 >= -1;

- -1 x832 -1 x1562 >= -1;

- -1 x832 -1 x1471 >= -1;

- -1 x832 -1 x1295 >= -1;

- -1 x832 -1 x1060 >= -1;

- -1 x832 -1 x753 >= -1;

- -1 x832 -1 x871 >= -1;

- -1 x832 -1 x1344 >= -1;

- -1 x832 -1 x1443 >= -1;

- -1 x832 -1 x1455 >= -1;

- -1 x832 -1 x1127 >= -1;

- -1 x832 -1 x1216 >= -1;

- -1 x832 -1 x1321 >= -1;

- -1 x832 -1 x757 >= -1;

- -1 x832 -1 x1066 >= -1;

- -1 x832 -1 x718 >= -1;

- -1 x832 -1 x1095 >= -1;

- -1 x832 -1 x827 >= -1;

- -1 x832 -1 x297 >= -1;

- -1 x832 -1 x936 >= -1;

- -1 x832 -1 x1279 >= -1;

- -1 x832 -1 x1282 >= -1;

- -1 x832 -1 x1284 >= -1;

- -1 x832 -1 x1318 >= -1;

- -1 x832 -1 x1274 >= -1;

- -1 x832 -1 x1275 >= -1;

- -1 x832 -1 x1277 >= -1;

- -1 x832 -1 x552 >= -1;

- -1 x832 -1 x1147 >= -1;

- -1 x832 -1 x685 >= -1;

- -1 x832 -1 x1215 >= -1;

- -1 x832 -1 x1353 >= -1;

- -1 x832 -1 x958 >= -1;

- -1 x832 -1 x1479 >= -1;

- -1 x832 -1 x761 >= -1;

- -1 x832 -1 x1081 >= -1;

- -1 x832 -1 x839 >= -1;

- -1 x832 -1 x924 >= -1;

- -1 x832 -1 x653 >= -1;

- -1 x832 -1 x873 >= -1;

- -1 x832 -1 x1499 >= -1;

- -1 x832 -1 x1099 >= -1;

- -1 x832 -1 x188 >= -1;

- -1 x832 -1 x1224 >= -1;

- -1 x832 -1 x983 >= -1;

- -1 x832 -1 x1361 >= -1;

- -1 x832 >= -1;

- -1 x329 -1 x330 -1 x260 >= -1;

- -1 x221 -1 x220 >= -1;

- -1 x94 -1 x95 >= -1;

- -1 x1138 -1 x1071 >= -1;

- -1 x1177 -1 x889 >= -1;

- -1 x1583 -1 x1089 -1 x786 >= -1;

- -1 x1996 -1 x2058 -1 x2000 >= -1;

- -1 x649 -1 x1237 >= -1;

- -1 x249 -1 x250 >= -1;

- -1 x1450 -1 x1546 -1 x878 >= -1;

- -1 x217 -1 x216 >= -1;

- -1 x690 -1 x1056 >= -1;

- -1 x1043 -1 x1109 -1 x1308 >= -1;

- -1 x1417 -1 x1542 >= -1;

- -1 x842 -1 x1252 >= -1;

- +1 x2458 = 1;

diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/sdkpatchingtest/SDKPatchingTest.profile/1228337371455.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/sdkpatchingtest/SDKPatchingTest.profile/1228337371455.profile.gz
deleted file mode 100644
index e29b7e8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/sdkpatchingtest/SDKPatchingTest.profile/1228337371455.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/3.4.bundles.info b/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/3.4.bundles.info
deleted file mode 100644
index 46996e1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/3.4.bundles.info
+++ /dev/null
@@ -1,2 +0,0 @@
-a,1.0.0,file:plugins/a_1.0.0.jar,4,false
-b,1.0.0,file:plugins/b_1.0.0.jar,-1,true
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar b/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
deleted file mode 100644
index 60b2b76..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/bundlesTxt/org.eclipse.equinox.common_3.4.0.v20070910.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/myBundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/myBundle_1.0.0.jar
deleted file mode 100644
index 011368b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/simpleConfiguratorTest/myBundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/siteBookmarks/siteexport33.xml b/bundles/org.eclipse.equinox.p2.tests/testData/siteBookmarks/siteexport33.xml
deleted file mode 100644
index be98a38..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/siteBookmarks/siteexport33.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bookmarks>
-   <site name="Eclemma" url="http://update.eclemma.org" web="false" selected="false" local="false"/>
-   <site name="Install Handler Test" url="http://www.developer.com/img/2007/03/upd-install-site.xml" web="false" selected="false" local="false"/>
-   <site name="FindBugs" url="http://findbugs.cs.umd.edu/eclipse" web="false" selected="false" local="false"/>
-   <site name="Testing" url="http://www.eclipse.org/equinox/p2/testing/updateSite" web="false" selected="false" local="false"/>
-</bookmarks>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/profileRegistry/SDKProfile.profile/1235623122589.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/profileRegistry/SDKProfile.profile/1235623122589.profile.gz
deleted file mode 100644
index bf800e9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/profileRegistry/SDKProfile.profile/1235623122589.profile.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo1/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo1/content.jar
deleted file mode 100644
index 48ef2dc..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo1/content.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo2/content.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo2/content.jar
deleted file mode 100644
index 69d18ea..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testLargeConflict/repo2/content.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/artifacts.xml
deleted file mode 100644
index 178af16..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/artifacts.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository version='1.1.0'?>
-<repository name='file:/C:/Dev/Platform/Workspaces/junit-workspace/pde.build/PublishFeature_rootFiles/buildRepo - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1253801881640'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='binary' id='f_root' version='1.0.0'>
-      <properties size='1'>
-        <property name='download.size' value='382'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/binary/f_root_1.0.0 b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/binary/f_root_1.0.0
deleted file mode 100644
index 44a8013..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/binary/f_root_1.0.0
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/content.xml
deleted file mode 100644
index 4ff1b64..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/binary.repo/content.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository version='1.1.0'?>
-<repository name='file:/C:/Dev/Platform/Workspaces/junit-workspace/pde.build/PublishFeature_rootFiles/buildRepo - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.timestamp' value='1253801881656'/>
-    <property name='p2.compressed' value='false'/>
-  </properties>
-  <units size='2'>
-    <unit id='f_root' version='1.0.0'>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='f_root' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='binary' id='f_root' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='3'>
-        <instructions size='2'>
-          <instruction key='install'>
-            unzip(source:@artifact, target:${installFolder});
-          </instruction>
-          <instruction key='uninstall'>
-            cleanupzip(source:@artifact, target:${installFolder});
-          </instruction>
-        </instructions>
-        <instructions size='1'>
-          <instruction key='install'>
-             chmod(targetDir:${installFolder}, targetFile:contents/file, permissions:766);
-          </instruction>
-        </instructions>
-        <instructions size='1'>
-          <instruction key='install'>
-             chmod(targetDir:${installFolder}, targetFile:second, permissions:755);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='f.feature.group' version='1.0.0' singleton='false'>
-      <update id='f.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='f.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='f_root' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/artifacts.xml
deleted file mode 100644
index 15ee487..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/artifacts.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Test Artifact Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1232060468755'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='osgi.bundle' id='aBundle' version='1.0.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='319'/>
-        <property name='download.size' value='319'/>
-        <property name='download.md5' value='1977e840df1f69b5392120a653ebbcd1'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/content.xml
deleted file mode 100644
index a6241b0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/content.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Test Metadata Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1232060468765'/>
-  </properties>
-  <units size='1'>
-    <unit id='aBundle' version='1.0.0' singleton='false'>
-      <update id='aBundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='ABundle Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='aBundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='aBundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='aBundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-SymbolicName: aBundle&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.0.0&#xA;Bundle-Name: ABundle Plug-in&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/plugins/aBundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/plugins/aBundle_1.0.0.jar
deleted file mode 100644
index 6050d4e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.1/plugins/aBundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/artifacts.xml
deleted file mode 100644
index 06ae218..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/artifacts.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Test Artifact Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1232060468755'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='1'>
-    <artifact classifier='osgi.bundle' id='aBundle' version='1.0.1'>
-      <properties size='4'>
-        <property name='artifact.size' value='319'/>
-        <property name='download.size' value='319'/>
-        <property name='download.md5' value='1977e840df1f69b5392120a653ebbcd1'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/content.xml
deleted file mode 100644
index 07a8fba..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/content.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Test Metadata Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1232060468765'/>
-  </properties>
-  <units size='1'>
-    <unit id='aBundle' version='1.0.1' singleton='false'>
-      <update id='aBundle' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='ABundle Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='aBundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='aBundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='aBundle' version='1.0.1'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-SymbolicName: aBundle&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Version: 1.0.1&#xA;Bundle-Name: ABundle Plug-in&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/plugins/aBundle_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/plugins/aBundle_1.0.1.jar
deleted file mode 100644
index 9e1c615..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/simple.2/plugins/aBundle_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff.nested_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff.nested_1.0.0.jar
deleted file mode 100644
index 3532fba..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff.nested_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff_1.0.0.jar
deleted file mode 100644
index 3ca89ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/features/fff_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/aaa_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/aaa_1.0.0.jar
deleted file mode 100644
index 0e4860c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/aaa_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/ccc_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/ccc_1.0.0.jar
deleted file mode 100644
index bc8c115..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/plugins/ccc_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/site.xml
deleted file mode 100644
index 2cabb4d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/sitewithnestedfeatures/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/fff_1.0.0.jar" id="fff" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/artifacts.xml
deleted file mode 100644
index 950498b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/artifacts.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='file:/C:/_workspaces/p2/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1231201567218'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='19'>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.fieldassist' version='1.1.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='39221'/>
-        <property name='download.size' value='39221'/>
-        <property name='download.md5' value='8e97c8bb9e3a2b431162d9c67afef078'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Better Undo_Example' version='1.0.2'>
-      <properties size='3'>
-        <property name='artifact.size' value='753'/>
-        <property name='download.size' value='753'/>
-        <property name='download.md5' value='3a52d0a41473246dacd498b2762194e3'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='847'/>
-        <property name='download.size' value='847'/>
-        <property name='download.md5' value='09b08be1cd9e34f5ea5d7451065df2cb'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Multi_Page_Editor_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='718'/>
-        <property name='download.size' value='718'/>
-        <property name='download.md5' value='ac5df2a37deef9f304e18fe69953c366'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='1.0.1'>
-      <properties size='3'>
-        <property name='artifact.size' value='746'/>
-        <property name='download.size' value='746'/>
-        <property name='download.md5' value='09e83b86fbb767cd5b4f1b126b4cd8f5'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.undo' version='3.2.100.200810301029'>
-      <properties size='4'>
-        <property name='artifact.size' value='44677'/>
-        <property name='download.size' value='44677'/>
-        <property name='download.md5' value='280fc157f94029b90dad42163cf3686a'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.undo' version='3.2.100.200901051626'>
-      <properties size='4'>
-        <property name='artifact.size' value='44683'/>
-        <property name='download.size' value='44683'/>
-        <property name='download.md5' value='42aae45e3f7ade4c6fcff6bc3c2ec765'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Jobs_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='688'/>
-        <property name='download.size' value='688'/>
-        <property name='download.md5' value='2d55ce55ac3478dd8bb928642e325579'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Undo_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='710'/>
-        <property name='download.size' value='710'/>
-        <property name='download.md5' value='ce00a7a12c58e1cf1b62787e48ed6800'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='1058'/>
-        <property name='download.size' value='1058'/>
-        <property name='download.md5' value='7bc376309632cd0ce3ab6306057453fc'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='2.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='745'/>
-        <property name='download.size' value='745'/>
-        <property name='download.md5' value='038379d58a3d259f4bf7714c24674b4c'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Readme_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='702'/>
-        <property name='download.size' value='702'/>
-        <property name='download.md5' value='b9d0539ef51e21a1686b9f39917cfe3e'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.job' version='3.0.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='43554'/>
-        <property name='download.size' value='43554'/>
-        <property name='download.md5' value='f022d23017c4afbbaacda5fb02328683'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.rcp.browser' version='3.3.0.200810301035'>
-      <properties size='4'>
-        <property name='artifact.size' value='140110'/>
-        <property name='download.size' value='140110'/>
-        <property name='download.md5' value='7ab5522cc2682c58e9331d1c57a9249b'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='RCP_Browser_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='781'/>
-        <property name='download.size' value='781'/>
-        <property name='download.md5' value='056d8b1dd18ca43f2429637b4ebb141f'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'>
-      <properties size='4'>
-        <property name='artifact.size' value='386'/>
-        <property name='download.size' value='386'/>
-        <property name='download.md5' value='071049d1f00b42c663c1bab433dc5baf'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='706'/>
-        <property name='download.size' value='706'/>
-        <property name='download.md5' value='d93b5ce0841d81c4c088f9c0dcef7bc3'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.readmetool' version='3.3.0.200810301029'>
-      <properties size='4'>
-        <property name='artifact.size' value='70229'/>
-        <property name='download.size' value='70229'/>
-        <property name='download.md5' value='784a02413c9336ccc9f9ebd739bf36f4'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.multipageeditor' version='3.2.100.200810301029'>
-      <properties size='4'>
-        <property name='artifact.size' value='10760'/>
-        <property name='download.size' value='10760'/>
-        <property name='download.md5' value='5c20a82db1ed79eb570dc0f2d162f97b'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/content.xml
deleted file mode 100644
index 385115e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/content.xml
+++ /dev/null
@@ -1,1262 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='file:/C:/_workspaces/p2/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1231201567234'/>
-  </properties>
-  <units size='37'>
-    <unit id='RCP_Browser_Example.feature.jar' version='1.0.0'>
-      <update id='RCP_Browser_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='RCP_Browser_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='Browser Example, but it has dependencies that it won&apos;t find.'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='RCP_Browser_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='RCP_Browser_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='RCP_Browser_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Undo_Example.feature.jar' version='1.0.0'>
-      <update id='Undo_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Undo_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Undo_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Undo_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Undo_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.examples.readmetool' version='3.3.0.200810301029'>
-      <update id='org.eclipse.ui.examples.readmetool' range='[0.0.0,3.3.0.200810301029)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Plugin.name' value='Readme File Editing Tool'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.readmetool' version='3.3.0.200810301029'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.readmetool' version='3.3.0.200810301029'/>
-        <provided namespace='java.package' name='org.eclipse.ui.examples.readmetool' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='9'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.views' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.readmetool' version='3.3.0.200810301029'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.examples.readmetool&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.resources,org.eclipse.core.runtime,org.eclipse.ui.views,org.eclipse.ui.ide,org.eclipse.jface.text,org.eclipse.text,org.eclipse.ui.workbench.texteditor,org.eclipse.ui.editors&#xA;Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.3.0.200810301029&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true&#xA;Bundle-ClassPath: readmetool.jar&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.source.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.source.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='source' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            addSourceBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            removeSourceBundle(bundle:${artifact})
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.examples.multipageeditor' version='3.2.100.200810301029'>
-      <update id='org.eclipse.ui.examples.multipageeditor' range='[0.0.0,3.2.100.200810301029)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Plugin.name' value='Multi-Page Editor Example'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-      </properties>
-      <provides size='5'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.multipageeditor' version='3.2.100.200810301029'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.multipageeditor' version='3.2.100.200810301029'/>
-        <provided namespace='java.package' name='org.eclipse.ui.examples.multipageeditor' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='8'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime.compatibility' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.multipageeditor' version='3.2.100.200810301029'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Export-Package: org.eclipse.ui.examples.multipageeditor&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.resources,org.eclipse.core.runtime.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.ui.editors,org.eclipse.ui.ide,org.eclipse.jface.text,org.eclipse.text&#xA;Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 3.2.100.200810301029&#xA;Bundle-Vendor: %Plugin.providerName&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.multipageeditor; singleton:=true&#xA;Bundle-ClassPath: multipageeditor.jar&#xA;Manifest-Version: 1.0&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='tooling.org.eclipse.update.feature.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.org.eclipse.update.feature.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' range='0.0.0' optional='true' multiple='true' greedy='false'/>
-      </requires>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='install'>
-            installFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Readme_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='Readme_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Readme_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Readme_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.readmetool' range='[3.3.0.200810301029,3.3.0.200810301029]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Readme_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.examples.undo' version='3.2.100.200901051626'>
-      <update id='org.eclipse.ui.examples.undo' range='[0.0.0,3.2.100.200901051626)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Plugin.name' value='Undo Example'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.undo' version='3.2.100.200901051626'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.undo' version='3.2.100.200901051626'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.undo' version='3.2.100.200901051626'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jface.text&#xA;Bundle-Activator: org.eclipse.ui.examples.undo.UndoPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.2.100.200901051626&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.undo; singleton:=true&#xA;Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Vendor: %Plugin.providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='RCP_Browser_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='RCP_Browser_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='RCP_Browser_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='Browser Example, but it has dependencies that it won&apos;t find.'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='RCP_Browser_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Presentation_Example.feature.group' range='[1.0.0,2.0.0)'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.rcp.browser' range='[3.3.0.200810301035,3.3.0.200810301035]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='RCP_Browser_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Fragment Fragment'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='osgi.fragment' name='test.bundle' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='osgi.bundle' name='test.bundle' range='1.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-Name: Fragment Fragment&#xA;Bundle-Version: 1.0.0&#xA;Bundle-SymbolicName: test.fragment&#xA;Manifest-Version: 1.0&#xA;Fragment-Host: test.bundle;bundle-version=&quot;1.0.0&quot;&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-RequiredExecutionEnvironment: JavaSE-1.6&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Jobs_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='Jobs_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Jobs_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Jobs_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.job' range='[3.0.0,3.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Jobs_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <update id='test.feature.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='More Examples' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='More Fine Examples'/>
-        <property name='org.eclipse.equinox.p2.description' value='This is another category'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='More Examples' version='0.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='RCP_Browser_Example.feature.group' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Jobs_Example.feature.group' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Undo_Example.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-    <unit id='Jobs_Example.feature.jar' version='1.0.0'>
-      <update id='Jobs_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Jobs_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Jobs_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Jobs_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Jobs_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.examples.rcp.browser' version='3.3.0.200810301035'>
-      <update id='org.eclipse.ui.examples.rcp.browser' range='[0.0.0,3.3.0.200810301035)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.providerName' value='Eclipse.org'/>
-        <property name='df_LT.pluginName' value='Browser Example'/>
-        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.rcp.browser' version='3.3.0.200810301035'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.rcp.browser' version='3.3.0.200810301035'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.rcp.browser' version='3.3.0.200810301035'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-Vendor: %providerName&#xA;Bundle-ManifestVersion: 2&#xA;Bundle-Activator: org.eclipse.ui.examples.rcp.browser.BrowserPlugin&#xA;Bundle-ClassPath: browser.jar&#xA;Require-Bundle: org.eclipse.core.runtime,org.eclipse.ui&#xA;Bundle-Name: %pluginName&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.rcp.browser; singleton:=true&#xA;Bundle-Version: 3.3.0.200810301035&#xA;Eclipse-LazyStart: true&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Field_Assist_Example.feature.jar' version='1.0.1'>
-      <update id='Field_Assist_Example.feature.jar' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='New and improved descriptions, tougher licenses!'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' version='1.0.1'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Field_Assist_Example' version='1.0.1'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='1.0.1'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          This is a unique license agreement, new to this version
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        Copyright 2008
-      </copyright>
-    </unit>
-    <unit id='Better Undo_Example.feature.group' version='1.0.2' singleton='false'>
-      <update id='Better Undo_Example.feature.group' range='[0.0.0,1.0.2)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Better Undo Example'/>
-        <property name='org.eclipse.equinox.p2.description' value='This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Better Undo_Example.feature.group' version='1.0.2'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.undo' range='[3.2.100.200901051626,3.2.100.200901051626]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Better Undo_Example.feature.jar' range='[1.0.2,1.0.2]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml
-      </copyright>
-    </unit>
-    <unit id='org.eclipse.ui.examples.undo' version='3.2.100.200810301029'>
-      <update id='org.eclipse.ui.examples.undo' range='[0.0.0,3.2.100.200810301029)' severity='0'/>
-      <properties size='4'>
-        <property name='df_LT.Plugin.name' value='Undo Example'/>
-        <property name='df_LT.Plugin.providerName' value='Eclipse.org'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-        <property name='org.eclipse.equinox.p2.provider' value='%Plugin.providerName'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.undo' version='3.2.100.200810301029'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.undo' version='3.2.100.200810301029'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.undo' version='3.2.100.200810301029'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.jface.text&#xA;Bundle-Activator: org.eclipse.ui.examples.undo.UndoPlugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Version: 3.2.100.200810301029&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.undo; singleton:=true&#xA;Bundle-Localization: plugin&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Vendor: %Plugin.providerName&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Multi_Page_Editor_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='Multi_Page_Editor_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Multi_Page_Editor_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Multi_Page_Editor_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.multipageeditor' range='[3.2.100.200810301029,3.2.100.200810301029]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Multi_Page_Editor_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.fragment.translated_host_properties' version='1.0.0'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='1.0.0' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='1.0.0' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-    <unit id='org.eclipse.ui.examples.fieldassist' version='1.1.0'>
-      <update id='org.eclipse.ui.examples.fieldassist' range='[0.0.0,1.1.0)' severity='0'/>
-      <properties size='2'>
-        <property name='df_LT.Plugin.name' value='Field Assist Example'/>
-        <property name='org.eclipse.equinox.p2.name' value='%Plugin.name'/>
-      </properties>
-      <provides size='4'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.fieldassist' version='1.1.0'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.fieldassist' version='1.1.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.fieldassist' version='1.1.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Bundle-ActivationPolicy: lazy&#xA;Bundle-Name: %Plugin.name&#xA;Bundle-Version: 1.1.0&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.fieldassist; singleton:=true&#xA;Bundle-Localization: plugin&#xA;Manifest-Version: 1.0&#xA;Bundle-Activator: org.eclipse.ui.examples.fieldassist.FieldAssistPlugin&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Field_Assist_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='Field_Assist_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.fieldassist' range='[1.1.0,1.1.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='tooling.osgi.bundle.default' version='1.0.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='tooling.osgi.bundle.default' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.flavor' name='tooling' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' range='0.0.0' multiple='true' greedy='false'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='4'>
-          <instruction key='install'>
-            installBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='uninstall'>
-            uninstallBundle(bundle:${artifact})
-          </instruction>
-          <instruction key='unconfigure'>
-
-          </instruction>
-          <instruction key='configure'>
-            setStartLevel(startLevel:4);
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.name' value='Bundle Plug-in'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='java.package' name='org.osgi.framework' range='1.3.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Import-Package: org.osgi.framework;version=&quot;1.3.0&quot;&#xA;Bundle-Version: 1.0.0&#xA;Bundle-Activator: test.bundle.Activator&#xA;Manifest-Version: 1.0&#xA;Bundle-SymbolicName: test.bundle&#xA;Bundle-Name: Bundle Plug-in&#xA;Bundle-RequiredExecutionEnvironment: JavaSE-1.6&#xA;
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='Field_Assist_Example.feature.jar' version='1.0.0'>
-      <update id='Field_Assist_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Field_Assist_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Undo_Example.feature.group' version='1.0.0' singleton='false'>
-      <update id='Undo_Example.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='4'>
-        <property name='org.eclipse.equinox.p2.name' value='Undo_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Undo_Example.feature.group' version='1.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.undo' range='[3.2.100.200810301029,3.2.100.200810301029]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Undo_Example.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='a.jre' version='1.6.0' singleton='false'>
-      <provides size='157'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre' version='1.6.0'/>
-        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.annotation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.annotation.processing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.interfaces' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.crypto.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.metadata' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.bmp' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.plugins.jpeg' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.imageio.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.jws' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.jws.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.lang.model' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.lang.model.element' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.lang.model.type' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.lang.model.util' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.loading' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.modelmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.monitor' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.openmbean' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.relation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.remote.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.management.timer' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.directory' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.ldap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.naming.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.net.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.attribute.standard' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.print.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.rmi.ssl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.script' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.callback' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.kerberos' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.login' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.auth.x500' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.cert' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.security.sasl' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.midi.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sound.sampled.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.serial' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.sql.rowset.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.border' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.colorchooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.event' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.filechooser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.basic' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.metal' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.multi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.plaf.synth' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.table' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.html.parser' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.text.rtf' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.tree' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.swing.undo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.tools' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.transaction.xa' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.annotation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.annotation.adapters' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.attachment' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.helpers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.bind.util' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto.dsig' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto.dsig.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto.dsig.keyinfo' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.crypto.dsig.spec' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.datatype' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.namespace' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.parsers' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.stream.events' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.stream.util' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stax' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.transform.stream' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.validation' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.handler' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.handler.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.http' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.soap' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.ws.spi' version='0.0.0'/>
-        <provided namespace='java.package' name='javax.xml.xpath' version='0.0.0'/>
-        <provided namespace='java.package' name='org.ietf.jgss' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA_2_3.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.ORBPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CORBA.TypeCodePackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextExtPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.CosNaming.NamingContextPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Dynamic' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.DynamicAny.DynAnyPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecFactoryPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.IOP.CodecPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.Messaging' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableInterceptor.ORBInitInfoPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.CurrentPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAManagerPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.POAPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.portable' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.PortableServer.ServantLocatorPackage' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.SendingContext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.omg.stub.java.rmi' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.bootstrap' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.css' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.events' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.html' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ls' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.ranges' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.stylesheets' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.traversal' version='0.0.0'/>
-        <provided namespace='java.package' name='org.w3c.dom.views' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.ext' version='0.0.0'/>
-        <provided namespace='java.package' name='org.xml.sax.helpers' version='0.0.0'/>
-      </provides>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-    </unit>
-    <unit id='Field_Assist_Example.feature.group' version='2.0.0' singleton='false'>
-      <update id='Field_Assist_Example.feature.group' range='[0.0.0,2.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='Even better than the last one!'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' version='2.0.0'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.fieldassist' range='[1.1.0,1.1.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' range='[2.0.0,2.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          We can&apos;t make up our mind on this license agreement!
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        Copyright 2008
-      </copyright>
-    </unit>
-    <unit id='Better Undo_Example.feature.jar' version='1.0.2'>
-      <update id='Better Undo_Example.feature.jar' range='[0.0.0,1.0.2)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Better Undo Example'/>
-        <property name='org.eclipse.equinox.p2.description' value='This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Better Undo_Example.feature.jar' version='1.0.2'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Better Undo_Example' version='1.0.2'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Better Undo_Example' version='1.0.2'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        This feature should not be visible, as it is not categorized and&#xA;      is not referenced in the site.xml
-      </copyright>
-    </unit>
-    <unit id='Field_Assist_Example.feature.group' version='1.0.1' singleton='false'>
-      <update id='Field_Assist_Example.feature.group' range='[0.0.0,1.0.1)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='New and improved descriptions, tougher licenses!'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' version='1.0.1'/>
-      </provides>
-      <requires size='2'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.fieldassist' range='[1.1.0,1.1.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' range='[1.0.1,1.0.1]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          This is a unique license agreement, new to this version
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        Copyright 2008
-      </copyright>
-    </unit>
-    <unit id='Readme_Example.feature.jar' version='1.0.0'>
-      <update id='Readme_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Readme_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Readme_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Readme_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Readme_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Multi_Page_Editor_Example.feature.jar' version='1.0.0'>
-      <update id='Multi_Page_Editor_Example.feature.jar' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Multi_Page_Editor_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Multi_Page_Editor_Example.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Multi_Page_Editor_Example' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Multi_Page_Editor_Example' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Field_Assist_Example.feature.jar' version='2.0.0'>
-      <update id='Field_Assist_Example.feature.jar' range='[0.0.0,2.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='Field_Assist_Example Feature'/>
-        <property name='org.eclipse.equinox.p2.description' value='Even better than the last one!'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.jar' version='2.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='Field_Assist_Example' version='2.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='Field_Assist_Example' version='2.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license uri='http://www.example.com/license'>
-          We can&apos;t make up our mind on this license agreement!
-        </license>
-      </licenses>
-      <copyright uri='http://www.example.com/copyright'>
-        Copyright 2008
-      </copyright>
-    </unit>
-    <unit id='Examples' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Platform Examples'/>
-        <property name='org.eclipse.equinox.p2.description' value='Some of the examples'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Examples' version='0.0.0'/>
-      </provides>
-      <requires size='5'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Multi_Page_Editor_Example.feature.group' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' range='[2.0.0,2.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' range='[1.0.1,1.0.1]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Field_Assist_Example.feature.group' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='Readme_Example.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-    <unit id='config.a.jre' version='1.6.0' singleton='false'>
-      <hostRequirements size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </hostRequirements>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.type.fragment' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='config.a.jre' version='1.6.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='a.jre' range='1.6.0'/>
-      </requires>
-      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='install'>
-
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='org.eclipse.ui.examples.job' version='3.0.0'>
-      <update id='org.eclipse.ui.examples.job' range='[0.0.0,3.0.0)' severity='0'/>
-      <properties size='2'>
-        <property name='org.eclipse.equinox.p2.name' value='Progress Examples Plug-in'/>
-        <property name='org.eclipse.equinox.p2.provider' value='Eclipse.org'/>
-      </properties>
-      <provides size='6'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.examples.job' version='3.0.0'/>
-        <provided namespace='osgi.bundle' name='org.eclipse.ui.examples.job' version='3.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.examples.jobs' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.examples.jobs.actions' version='0.0.0'/>
-        <provided namespace='java.package' name='org.eclipse.ui.examples.jobs.views' version='0.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <requires size='7'>
-        <required namespace='osgi.bundle' name='org.eclipse.ui' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.resources' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.core.runtime' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.ide' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.jface.text' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.workbench.texteditor' range='0.0.0'/>
-        <required namespace='osgi.bundle' name='org.eclipse.ui.editors' range='0.0.0'/>
-      </requires>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='org.eclipse.ui.examples.job' version='3.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='2'>
-          <instruction key='manifest'>
-            Bundle-ManifestVersion: 2&#xA;Eclipse-AutoStart: true&#xA;Export-Package: org.eclipse.ui.examples.jobs,org.eclipse.ui.examples.jobs.actions,org.eclipse.ui.examples.jobs.views&#xA;Bundle-Localization: plugin&#xA;Require-Bundle: org.eclipse.ui,org.eclipse.core.resources,org.eclipse.core.runtime,org.eclipse.ui.ide,org.eclipse.jface.text,org.eclipse.ui.workbench.texteditor,org.eclipse.ui.editors&#xA;Bundle-Activator: org.eclipse.ui.examples.jobs.ProgressExamplesPlugin&#xA;Bundle-Name: Progress Examples Plug-in&#xA;Bundle-Version: 3.0.0&#xA;Bundle-Vendor: Eclipse.org&#xA;Bundle-SymbolicName: org.eclipse.ui.examples.job; singleton:=true&#xA;Bundle-ClassPath: ProgressExamples.jar&#xA;Manifest-Version: 1.0&#xA;
-          </instruction>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Better Undo_Example_1.0.2.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Better Undo_Example_1.0.2.jar
deleted file mode 100644
index d5a5663..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Better Undo_Example_1.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.0.jar
deleted file mode 100644
index 362aea0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.1.jar
deleted file mode 100644
index ebc0a41..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_2.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_2.0.0.jar
deleted file mode 100644
index 850f634..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Field_Assist_Example_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Jobs_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Jobs_Example_1.0.0.jar
deleted file mode 100644
index 13e0032..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Jobs_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Multi_Page_Editor_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Multi_Page_Editor_Example_1.0.0.jar
deleted file mode 100644
index 53cc41d..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Multi_Page_Editor_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/RCP_Browser_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/RCP_Browser_Example_1.0.0.jar
deleted file mode 100644
index b362923..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/RCP_Browser_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Readme_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Readme_Example_1.0.0.jar
deleted file mode 100644
index aaa97ee..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Readme_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Undo_Example_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Undo_Example_1.0.0.jar
deleted file mode 100644
index c8b689a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/Undo_Example_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.fieldassist_1.1.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.fieldassist_1.1.0.jar
deleted file mode 100644
index ba14aaf..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.fieldassist_1.1.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.job_3.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.job_3.0.0.jar
deleted file mode 100644
index b11f43e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.job_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.multipageeditor_3.2.100.200810301029.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.multipageeditor_3.2.100.200810301029.jar
deleted file mode 100644
index 2b83885..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.multipageeditor_3.2.100.200810301029.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.rcp.browser_3.3.0.200810301035.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.rcp.browser_3.3.0.200810301035.jar
deleted file mode 100644
index 5f44cfd..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.rcp.browser_3.3.0.200810301035.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.readmetool_3.3.0.200810301029.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.readmetool_3.3.0.200810301029.jar
deleted file mode 100644
index 05e831c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.readmetool_3.3.0.200810301029.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200810301029.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200810301029.jar
deleted file mode 100644
index f33f312..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200810301029.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200901051626.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200901051626.jar
deleted file mode 100644
index 4bc56b2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/org.eclipse.ui.examples.undo_3.2.100.200901051626.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/site.xml
deleted file mode 100644
index a5152be..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/testRepos/updateSite/site.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-   <feature url="features/Field_Assist_Example_1.0.0.jar" id="Field_Assist_Example" version="1.0.0">
-      <category name="Examples"/>
-   </feature>
-   <feature url="features/Multi_Page_Editor_Example_1.0.0.jar" id="Multi_Page_Editor_Example" version="1.0.0">
-      <category name="Examples"/>
-   </feature>
-   <feature url="features/Jobs_Example_1.0.0.jar" id="Jobs_Example" version="1.0.0">
-      <category name="More Examples"/>
-   </feature>
-   <feature url="features/Undo_Example_1.0.0.jar" id="Undo_Example" version="1.0.0">
-      <category name="More Examples"/>
-   </feature>
-   <feature url="features/Readme_Example_1.0.0.jar" id="Readme_Example" version="1.0.0">
-      <category name="Examples"/>
-   </feature>
-   <feature url="features/Field_Assist_Example_1.0.1.jar" id="Field_Assist_Example" version="1.0.1">
-      <category name="Examples"/>
-   </feature>
-   <feature url="features/Field_Assist_Example_2.0.0.jar" id="Field_Assist_Example" version="2.0.0">
-      <category name="Examples"/>
-   </feature>
-   <feature url="features/RCP_Browser_Example_1.0.0.jar" id="RCP_Browser_Example" version="1.0.0">
-      <category name="More Examples"/>
-   </feature>
-   <category-def name="Examples" label="Platform Examples">
-      <description>
-         Some of the examples
-      </description>
-   </category-def>
-   <category-def name="More Examples" label="More Fine Examples">
-      <description>
-         This is another category
-      </description>
-   </category-def>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
deleted file mode 100644
index 6113ec7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>Feature240121</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
deleted file mode 100644
index 6c5a8ad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/Feature240121/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="Feature240121"
-      label="Feature240121 Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="Plugin240121"
-         download-size="0"
-         install-size="0"
-         version="0.94"
-         unpack="false"/>
-
-</feature>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
deleted file mode 100644
index b68ffd3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>UpdateSite240121</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
deleted file mode 100644
index 8810c66..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/features/Feature240121_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
deleted file mode 100644
index ca2004b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/plugins/Plugin240121_0.94.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
deleted file mode 100644
index d408b0a..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/240121/UpdateSite240121/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/Feature240121_1.0.0.jar" id="Feature240121" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/associateSites.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/associateSites.xml
deleted file mode 100644
index 1238ec3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/associateSites.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<associateSites>
-<associateSite url="http://download.eclipse.org/eclipse/updates/3.5" label="Eclipse Project Update Site"/>
-<associateSite url="This is a bogus URI" label="broken"/>
-</associateSites>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/category.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/category.xml
deleted file mode 100644
index dc12863..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/category.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site associateSitesURL="associateSites.xml" mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/eclipse/updates/3.4&amp;format=xml">
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0">
-     <category name="Test Category"/>
-   </feature>
-   <category-def label="Test Category Label" name="Test Category">
-      <description>Test Category Description</description>
-   </category-def>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/CategoryXMLActionTest/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/associateSites.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/associateSites.xml
deleted file mode 100644
index 1238ec3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/associateSites.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<associateSites>
-<associateSite url="http://download.eclipse.org/eclipse/updates/3.5" label="Eclipse Project Update Site"/>
-<associateSite url="This is a bogus URI" label="broken"/>
-</associateSites>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/site.xml
deleted file mode 100644
index dc12863..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/SiteXMLActionTest/site.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site associateSitesURL="associateSites.xml" mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/eclipse/updates/3.4&amp;format=xml">
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0">
-     <category name="Test Category"/>
-   </feature>
-   <category-def label="Test Category Label" name="Test Category">
-      <description>Test Category Description</description>
-   </category-def>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
deleted file mode 100644
index 6beb68f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/features/org.eclipse.jdt.astview.feature_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
deleted file mode 100644
index 3c1c8d3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/plugins/org.eclipse.jdt.astview_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
deleted file mode 100644
index 5ff2ef2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/UpdateSite243422/site.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <description url="http://www.eclipse.org/jdt/ui/update-site">
-      Update site for JDT UI
-   </description>
-   <feature url="features/org.eclipse.jdt.astview.feature_1.0.1.jar" id="org.eclipse.jdt.astview.feature" version="1.0.1">
-      <category name="ast-view-for-3.0"/>
-   </feature>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
deleted file mode 100644
index ac2ec19..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badSiteXML/site.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
deleted file mode 100644
index 35a4c23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/digest/digest.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>

-<body>file not found - bad digest test</body>

-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
deleted file mode 100644
index b39e2c5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestbadsite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site -- BADBAD
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
deleted file mode 100644
index 35a4c23..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/digest/digest.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>

-<body>file not found - bad digest test</body>

-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/baddigestgoodsite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
deleted file mode 100644
index 3007bad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badfeatureurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="featuresx/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
deleted file mode 100644
index 05dd053..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/badincludedfeaturearchive/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
-   <archive path="features/test.feature_1.0.0.jar" url="featuresx/test.feature_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/digest.zip
deleted file mode 100644
index 2c7d942..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/corruptdigestgoodsite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
deleted file mode 100644
index c7e8ff1..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.zip
deleted file mode 100644
index eb2978f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digest/site.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
deleted file mode 100644
index 71fab71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/digesturl/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
deleted file mode 100644
index 8112702..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site digestURL="digesturl/">
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
deleted file mode 100644
index 71fab71..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/digesturl/digest.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/features-usedigestinstead/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/digesturl2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/featuresx/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
deleted file mode 100644
index 3007bad..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="featuresx/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.zip b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.zip
deleted file mode 100644
index c03a735..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/goodfeatureurl/site.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
deleted file mode 100644
index a0c959e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeature/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index c086ab2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
deleted file mode 100644
index fbef2c7..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/featuresx/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index e057d92..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 9a78500..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
deleted file mode 100644
index 05dd053..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/includedfeaturearchive/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.featureincluder_1.0.0.jar" id="test.featureincluder" version="1.0.0"/>
-   <archive path="features/test.feature_1.0.0.jar" url="featuresx/test.feature_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/features/test.featurewithmissingupdateurl_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/features/test.featurewithmissingupdateurl_1.0.0.jar
deleted file mode 100644
index 3f3f9d9..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/features/test.featurewithmissingupdateurl_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/site.xml
deleted file mode 100644
index afae471..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/missingUpdateURLFeature/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.featurewithmissingupdateurl_1.0.0.jar" id="test.featurewithmissingupdateurl" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
deleted file mode 100644
index e51708c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
deleted file mode 100644
index 9bab88b..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
deleted file mode 100644
index 842f9da..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/features/test.featureincluder_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 31f55a5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index 5b99b87..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
deleted file mode 100644
index fbd1439..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/nofeatureidandversion/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar"/>
-   <feature url="features/test.feature2_1.0.0.jar"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar.pack.gz
deleted file mode 100644
index cf6c6f5..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/features/test.feature_1.0.0.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/mirrors.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/mirrors.xml
deleted file mode 100644
index cc877d8..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/mirrors.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mirrors>
-	<mirror url="mirror-one" label="MirrorOne" />
-</mirrors>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar.pack.gz
deleted file mode 100644
index 5f42935..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.bundle_1.0.0.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar.pack.gz
deleted file mode 100644
index 1908199..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/plugins/test.fragment_1.0.0.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/site.xml
deleted file mode 100644
index 16c618f..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/packedSiteWithMirror/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site pack200="true"
-      mirrorsURL="mirrors.xml">
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site with spaces/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/site/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/features/test.feature_1.0.0.jar
deleted file mode 100644
index 61ae471..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteFeatureReferences/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
deleted file mode 100644
index 7056cac..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url="siteurl">
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl/siteurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/siteurl2/siteurl/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml b/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/updatesite/xxxsitexxx/xxxsitexxx.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.txt b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.txt
deleted file mode 100644
index 97896a0..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.txt
+++ /dev/null
@@ -1 +0,0 @@
-nothing
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.zip b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.zip
deleted file mode 100644
index 0929268..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/a.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa.zip b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa.zip
deleted file mode 100644
index 3eae9a3..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa2.zip b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa2.zip
deleted file mode 100644
index ccf1330..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/bogusa2.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.equinox.p2.updatechecker.source_1.0.0.v20080427-2136.jar.pack.gz b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.equinox.p2.updatechecker.source_1.0.0.v20080427-2136.jar.pack.gz
deleted file mode 100644
index 034ae0c..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.equinox.p2.updatechecker.source_1.0.0.v20080427-2136.jar.pack.gz
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.mylyn.bugzilla.core_2.3.2.v20080402-2100.jar b/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.mylyn.bugzilla.core_2.3.2.v20080402-2100.jar
deleted file mode 100644
index fbf83f2..0000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/zipValidation/org.eclipse.mylyn.bugzilla.core_2.3.2.v20080402-2100.jar
+++ /dev/null
@@ -1,7 +0,0 @@
-<HTML><HEAD><TITLE>Authentication Proxy Login Page</TITLE><script language="JavaScript"><!-- Begin
-var pxypromptwindow1;var pxysubmitted = false;function doreload() {if(pxypromptwindow1.closed) {window.location.reload(true);} else {reloadtimeout=setTimeout("doreload()", 500);}}function submitreload() {if(pxysubmitted == false) {pxypromptwindow1=window.open('', 'pxywindow1','resizable=no,width=300,height=300,scrollbars=yes');reloadtimeout=setTimeout("doreload()", 1000);pxysubmitted = true;return true;} else {alert("This page can not be submitted twice.");return false;}}// -->
-</script>
-</HEAD>
-<BODY onLoad="document.AuthenForm.uname.focus()" BGCOLOR="#FFFFFF" LINK="#ffcc00" ALINK="#ffffff" VLINK="#ffcc00" ><H1>SWG RTP B500 BSO: Enter your IBM intranet credentials  <BR><BR>  HTTPS Authentication<BR><BR><p><FORM name="AuthenForm" method=post action="https://9.42.96.226:443" target="pxywindow1"><input type=hidden name=au_pxytimetag value="281014010">Username: <input type=text name=uname><BR><BR>Password: <input type=password name=pwd><BR><BR><input type=submit name=ok value=OK onClick="return submitreload()"></H1></FORM></script></BODY></HTML>

-

-

diff --git a/bundles/org.eclipse.equinox.p2.testserver/.classpath b/bundles/org.eclipse.equinox.p2.testserver/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/.project b/bundles/org.eclipse.equinox.p2.testserver/.project
deleted file mode 100644
index b31ab45..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.testserver</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6b94707..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,353 +0,0 @@
-#Thu Apr 23 14:57:34 CEST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9cdad0e..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-#Thu Apr 23 14:20:17 CEST 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=20
-org.eclipse.jdt.ui.staticondemandthreshold=20
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.testserver/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.testserver/META-INF/MANIFEST.MF
deleted file mode 100644
index 415da60..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Testserver
-Bundle-SymbolicName: org.eclipse.equinox.p2.testserver;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.equinox.p2.testserver.Activator
-Bundle-Vendor: Eclipse
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Import-Package: org.eclipse.equinox.http,
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: javax.servlet;bundle-version="2.4.0",
- org.eclipse.equinox.http.registry,
- org.eclipse.equinox.http.servlet;bundle-version="1.0.200",
- org.eclipse.osgi.services;bundle-version="3.2.0",
- org.eclipse.osgi.util;bundle-version="3.2.0",
- org.eclipse.osgi;bundle-version="3.5.0"
diff --git a/bundles/org.eclipse.equinox.p2.testserver/build.properties b/bundles/org.eclipse.equinox.p2.testserver/build.properties
deleted file mode 100644
index e9863e2..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/bundles/org.eclipse.equinox.p2.testserver/p2 test server.launch b/bundles/org.eclipse.equinox.p2.testserver/p2 test server.launch
deleted file mode 100644
index 9038d39..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/p2 test server.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="true"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/p2 test server"/>
-<booleanAttribute key="default_auto_start" value="true"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.platform.doc.user,org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.ui,org.eclipse.jface,org.eclipse.equinox.p2.examples.rcp.sdkui,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.text,org.eclipse.equinox.p2.tests.ui,org.eclipse.jface.text,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.concurrent,org.eclipse.jdt.core,org.eclipse.equinox.p2.artifact.repository,org.sat4j.core*2.1.1.v20090825,org.eclipse.equinox.frameworkadmin.equinox,org.sat4j.pb*2.1.1.v20090825,org.eclipse.update.scheduler,org.eclipse.equinox.p2.updatesite,org.eclipse.core.databinding.beans,org.eclipse.core.filebuffers,org.eclipse.ui.examples.undo,org.eclipse.equinox.p2.metadata.repository,org.eclipse.ui,org.apache.xml.resolver,org.eclipse.search,org.eclipse.equinox.p2.sar,org.eclipse.equinox.p2.repository,org.eclipse.ui.tests,org.eclipse.ui.examples.fieldassist,org.eclipse.test.performance,org.eclipse.core.databinding,org.eclipse.core.tests.harness,org.eclipse.platform.doc.isv,org.eclipse.ui.examples.job,org.eclipse.equinox.frameworkadmin,org.eclipse.core.expressions,org.eclipse.equinox.p2.selfhosting,org.eclipse.equinox.p2.jarprocessor,org.eclipse.ui.forms,org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates,org.eclipse.equinox.p2.examples.rcp.cloud*1.0.0.qualifier,org.sat4j.pb*2.1.0.v20090520,org.eclipse.equinox.p2.tests,Snippets,org.easymock,org.eclipse.core.commands,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.examples.rcp.prestartupdate,org.eclipse.equinox.p2.publisher,org.eclipse.jface.databinding,ie.wombat.jbdiff,test271339,org.eclipse.ui.console,org.eclipse.equinox.preferences,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.ui.sdk,org.sat4j.core*2.1.0.v20090520,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.tests.optimizers,JobTest,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.ui.tests.harness,org.eclipse.equinox.p2.tests.verifier,org.eclipse.equinox.p2.repository.tools,org.eclipse.ui.workbench,org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.p2.console,org.eclipse.core.databinding.observable,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.p2.artifact.processors,RCPMail,org.eclipse.ui.ide,org.eclipse.equinox.p2.installer,org.eclipse.update.ui,org.eclipse.core.databinding.property,org.eclipse.equinox.p2.tools,org.eclipse.equinox.p2.examples.rcp.cloud*1.0.0.qualifier,org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,org.eclipse.core.runtime,org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.frameworkadmin.test,org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.p2.updatechecker,org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.osgi.service.http.port=8080 -Dorg.osgi.service.http.port.secure=8443"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="javax.servlet@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.registry@default:default,javax.xml@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.http@default:default,org.eclipse.osgi,org.eclipse.equinox.common@default:default,org.eclipse.equinox.p2.testserver@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/plugin.xml b/bundles/org.eclipse.equinox.p2.testserver/plugin.xml
deleted file mode 100644
index 2b35d93..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.equinox.http.registry.servlets">
-      <servlet
-            alias="/helloworld"
-            class="org.eclipse.equinox.p2.testserver.servlets.HelloWorld">
-      </servlet>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/Activator.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/Activator.java
deleted file mode 100644
index 3a9860e..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/Activator.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import java.net.URI;
-import javax.servlet.ServletException;
-import org.eclipse.equinox.p2.testserver.servlets.BasicResourceDelivery;
-import org.eclipse.equinox.p2.testserver.servlets.ChopAndDelay;
-import org.eclipse.equinox.p2.testserver.servlets.ContentLengthLier;
-import org.eclipse.equinox.p2.testserver.servlets.FileMolester;
-import org.eclipse.equinox.p2.testserver.servlets.LastModifiedLier;
-import org.eclipse.equinox.p2.testserver.servlets.Redirector;
-import org.eclipse.equinox.p2.testserver.servlets.StatusCodeResponse;
-import org.eclipse.equinox.p2.testserver.servlets.TimeOut;
-import org.eclipse.equinox.p2.testserver.servlets.Truncator;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.http.HttpService;
-import org.osgi.service.http.NamespaceException;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator, ServiceTrackerCustomizer {
-	private static BundleContext context;
-	private ServiceTracker httpTracker;
-	private SecureContext secureHttpContext;
-	private SecuredArtifactsContext artifactSecuredHttpContext;
-	private static Activator instance;
-	private HttpService httpService;
-	private AlwaysFailContext alwaysFail;
-	private FlipFlopFailContext flipFlop;
-
-	private static final String SITE = "http://download.eclipse.org/eclipse/updates/3.4"; //$NON-NLS-1$
-	private static final String SITE2 = "http://www.eclipse.org/equinox/p2/testing/updateSite"; //$NON-NLS-1$
-	private static final String SITE3 = "http://download.eclipse.org/eclipse/updates/3.5-I-builds/"; //$NON-NLS-1$
-
-	public void start(BundleContext aContext) throws Exception {
-		context = aContext;
-
-		httpTracker = new ServiceTracker(context, HttpService.class.getName(), this);
-		httpTracker.open();
-		instance = this;
-	}
-
-	public void stop(BundleContext aContext) throws Exception {
-		httpTracker.close();
-		context = null;
-	}
-
-	public Object addingService(ServiceReference reference) {
-		httpService = (HttpService) context.getService(reference);
-		secureHttpContext = new SecureContext(httpService.createDefaultHttpContext());
-		artifactSecuredHttpContext = new SecuredArtifactsContext(httpService.createDefaultHttpContext());
-		alwaysFail = new AlwaysFailContext(httpService.createDefaultHttpContext());
-		flipFlop = new FlipFlopFailContext(httpService.createDefaultHttpContext());
-
-		try {
-			httpService.registerResources("/public", "/webfiles", null); //$NON-NLS-1$ //$NON-NLS-2$
-			httpService.registerResources("/private", "/webfiles", secureHttpContext); //$NON-NLS-1$ //$NON-NLS-2$
-			httpService.registerResources("/never", "/webfiles", alwaysFail); //$NON-NLS-1$ //$NON-NLS-2$
-			httpService.registerResources("/flipflop", "/webfiles", flipFlop); //$NON-NLS-1$ //$NON-NLS-2$
-
-			httpService.registerServlet("/status", new StatusCodeResponse(), null, null); //$NON-NLS-1$
-			httpService.registerServlet("/timeout", new TimeOut(), null, null); //$NON-NLS-1$
-			httpService.registerServlet("/redirect", new Redirector(), null, null); //$NON-NLS-1$
-
-			httpService.registerServlet("/truncated", new Truncator("/truncated", URI.create("/webfiles"), 50), null, null); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-			httpService.registerServlet("/molested", new FileMolester("/molested", URI.create("/webfiles"), 40), null, null); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-			// 8 bytes at a time, delay from 0 to 100 ms, in steps of 5
-			httpService.registerServlet("/decelerate", new ChopAndDelay("/decelerate", URI.create("/webfiles"), 3, 0, new LinearChange(0, 5, 100, 0)), null, null); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-
-			addProxyServices(httpService, SITE, "/proxy/"); //$NON-NLS-1$
-			addProxyServices(httpService, SITE2, "/proxy2/"); //$NON-NLS-1$
-
-			httpService.registerServlet("/proxy3/aprivate", new BasicResourceDelivery("/proxy3/aprivate", URI.create(SITE2)), null, artifactSecuredHttpContext); //$NON-NLS-1$//$NON-NLS-2$
-			httpService.registerServlet("/proxy4/aprivate", new BasicResourceDelivery("/proxy4/aprivate", URI.create(SITE3)), null, artifactSecuredHttpContext); //$NON-NLS-1$//$NON-NLS-2$
-
-		} catch (NamespaceException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (ServletException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return httpService;
-	}
-
-	/**
-	 * Adds services to a location
-	 * @param site
-	 * @param root the "mount dir" e.g. "/proxy/" "/proxy2/" etc.
-	 * @throws NamespaceException 
-	 * @throws ServletException 
-	 */
-	private void addProxyServices(HttpService httpService, String site, String root) throws ServletException, NamespaceException {
-		httpService.registerServlet(root + "truncated", new Truncator(root + "truncated", URI.create(site), 50), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "public", new BasicResourceDelivery(root + "public", URI.create(site)), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "private", new BasicResourceDelivery(root + "private", URI.create(site)), null, secureHttpContext); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "never", new BasicResourceDelivery(root + "private", URI.create(site)), null, alwaysFail); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "flipFlop", new BasicResourceDelivery(root + "private", URI.create(site)), null, flipFlop); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "molested", new FileMolester(root + "molested", URI.create(site), 40), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "decelerate", new ChopAndDelay(root + "decelerate", URI.create(site), 3, 0, new LinearChange(0, 5, 100, 0)), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "decelerate2", new ChopAndDelay(root + "decelerate2", URI.create(site), 3, 80, new LinearChange(100, 5, 105, 0)), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "readtimeout", new ChopAndDelay(root + "readtimeout", URI.create(site), 3, 10, new LinearChange(10 * 60 * 1000, 5, 5 + 10 * 60 * 1000, 0)), null, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		// lie about modified time
-		httpService.registerServlet(root + "modified/zero", new LastModifiedLier(root + "modified/zero", URI.create(site), LastModifiedLier.TYPE_ZERO), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "modified/old", new LastModifiedLier(root + "modified/old", URI.create(site), LastModifiedLier.TYPE_OLD), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "modified/now", new LastModifiedLier(root + "modified/now", URI.create(site), LastModifiedLier.TYPE_NOW), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "modified/future", new LastModifiedLier(root + "modified/future", URI.create(site), LastModifiedLier.TYPE_FUTURE), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "modified/bad", new LastModifiedLier(root + "modified/bad", URI.create(site), LastModifiedLier.TYPE_BAD), null, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		// lie about length
-		httpService.registerServlet(root + "length/zero", new ContentLengthLier(root + "length/zero", URI.create(site), 0), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "length/less", new ContentLengthLier(root + "length/less", URI.create(site), 90), null, null); //$NON-NLS-1$//$NON-NLS-2$
-		httpService.registerServlet(root + "length/more", new ContentLengthLier(root + "length/more", URI.create(site), 200), null, null); //$NON-NLS-1$//$NON-NLS-2$
-
-	}
-
-	public static Activator getInstance() {
-		return instance;
-	}
-
-	public HttpService getHttp() {
-		return httpService;
-	}
-
-	public void modifiedService(ServiceReference reference, Object service) {
-		// do nothing 
-	}
-
-	public void removedService(ServiceReference reference, Object service) {
-		httpService = (HttpService) service;
-		httpService.unregister("/public"); //$NON-NLS-1$
-		httpService.unregister("/private"); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/AlwaysFailContext.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/AlwaysFailContext.java
deleted file mode 100644
index 6d47118..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/AlwaysFailContext.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import java.net.URL;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.osgi.service.http.HttpContext;
-
-/**
- * The AlwaysFailContext can be used to add basic authentication to a path.
- * This implementation will always fail (easier to test failure logic) this way.
- */
-public class AlwaysFailContext implements HttpContext {
-	private HttpContext theDefaultContext;
-
-	public AlwaysFailContext(HttpContext defaultContext) {
-		theDefaultContext = defaultContext;
-	}
-
-	public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) {
-		// always fail
-		response.setHeader("WWW-Authenticate", "BASIC realm=\"p2 Http Testing Server (Aladdin, open sesame)\""); //$NON-NLS-1$//$NON-NLS-2$
-		response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-		return false;
-
-	}
-
-	public String getMimeType(String name) {
-		return theDefaultContext.getMimeType(name);
-	}
-
-	public URL getResource(String name) {
-		return theDefaultContext.getResource(name);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/FlipFlopFailContext.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/FlipFlopFailContext.java
deleted file mode 100644
index 2ac9e7d..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/FlipFlopFailContext.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import java.net.URL;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.osgi.service.http.HttpContext;
-
-/**
- * The SecureContext can be used to add basic authentication to a path.
- * It will fail on every other request to enable flaky server, or authentication testing.
- * This implementation requires the user "Aladdin" to log in with the password "open sesame".
- */
-public class FlipFlopFailContext implements HttpContext {
-	private HttpContext theDefaultContext;
-	public static int flipFlop = 0;
-
-	public FlipFlopFailContext(HttpContext defaultContext) {
-		theDefaultContext = defaultContext;
-	}
-
-	public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) {
-		String auth = request.getHeader("Authorization"); //$NON-NLS-1$
-		// Response is Aladdin:open sesame in Base64 encoding (from RFC example)
-		if (auth != null && "QWxhZGRpbjpvcGVuIHNlc2FtZQ==".equals(auth.substring(6))) //$NON-NLS-1$
-			return (flipFlop ^= 1) == 1 ? true : false;
-
-		// if not authorized or wrong user/password
-		response.setHeader("WWW-Authenticate", "BASIC realm=\"p2 Http Testing Server (Aladdin, open sesame)\""); //$NON-NLS-1$//$NON-NLS-2$
-		response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-		return false;
-
-	}
-
-	public String getMimeType(String name) {
-		return theDefaultContext.getMimeType(name);
-	}
-
-	public URL getResource(String name) {
-		return theDefaultContext.getResource(name);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/HttpConstants.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/HttpConstants.java
deleted file mode 100644
index 810ab5e..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/HttpConstants.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.testserver;
-
-public interface HttpConstants {
-	public static final String LAST_MODIFIED = "Last-Modified"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/LinearChange.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/LinearChange.java
deleted file mode 100644
index a203a1d..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/LinearChange.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.testserver;
-
-import java.util.NoSuchElementException;
-
-public class LinearChange {
-	boolean started;
-	long startValue;
-	long current;
-	long step;
-	long max;
-	long min;
-	public static final LinearChange NoChange = new LinearChange(0, 0);
-
-	public LinearChange() {
-		started = false;
-		startValue = 0;
-		current = 0;
-		step = 1;
-		max = Long.MAX_VALUE;
-		min = Long.MIN_VALUE;
-	}
-
-	public void reset() {
-		started = false;
-		current = startValue;
-	}
-
-	public LinearChange fork() {
-		LinearChange forked = new LinearChange();
-		forked.started = started;
-		forked.startValue = startValue;
-		forked.current = current;
-		forked.step = step;
-		forked.max = max;
-		forked.min = min;
-		return forked;
-	}
-
-	public LinearChange(long firstValue, long step) {
-		this();
-		current = startValue = firstValue;
-		this.step = step;
-	}
-
-	public LinearChange(long firstValue, long step, long max, long min) {
-		this(firstValue, step);
-		this.max = max;
-		this.min = min;
-	}
-
-	public long next() {
-		if (!hasNext())
-			throw new NoSuchElementException();
-		if (started)
-			current += step;
-		started = true;
-
-		return current;
-	}
-
-	public boolean hasNext() {
-		if (step == 0)
-			return false;
-		if (step > 0 && current + step > max)
-			return false;
-		if (step < 0 && current + step < min)
-			return false;
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/MimeLookup.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/MimeLookup.java
deleted file mode 100644
index 71c09f8..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/MimeLookup.java
+++ /dev/null
@@ -1,738 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.testserver;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MimeLookup {
-
-	public static final String JAR_PACK_GZ = "jar.pack.gz"; //$NON-NLS-1$
-
-	public static String getMimeType(String name) {
-		if (extMap == null)
-			initNameToMime();
-
-		// treat names with multiple "." in a special way (currently only one)
-		if (name.endsWith(JAR_PACK_GZ))
-			return (String) extMap.get(JAR_PACK_GZ);
-		int dot = name.lastIndexOf("."); //$NON-NLS-1$
-		// get the suffix, use "a" for empty as this gives the default "application/octet-stream"
-		String tmp = dot == -1 ? "a" : name.substring(dot + 1); //$NON-NLS-1$
-		tmp = (String) extMap.get(tmp);
-		return tmp == null ? "application/octet-stream" : tmp; //$NON-NLS-1$
-	}
-
-	private static Map extMap;
-	private static Map mimeMap;
-
-	public static void initNameToMime() {
-		extMap = new HashMap(data.length);
-		for (int i = 0; i < data.length; i += 2) {
-			Object key = data[i];
-			Object val = extMap.get(key);
-			if (val == null)
-				extMap.put(key, data[i]);
-		}
-
-	}
-
-	public static void initMimeToExt() {
-		mimeMap = new HashMap(data.length);
-		for (int i = 0; i < data.length; i += 2) {
-			Object key = data[i + 1];
-			Object val = mimeMap.get(key);
-			if (val == null)
-				mimeMap.put(key, data[i]);
-		}
-
-	}
-
-	public final static String[] data = { //
-	//--- typical java related mime types - higher priority
-			"bat", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"batfrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"class", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"css", "text/css", //$NON-NLS-1$ //$NON-NLS-2$
-			"cssfrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"exe", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"gif", "image/gif", //$NON-NLS-1$ //$NON-NLS-2$
-			"html", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"htmlfrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"jad", "text/vnd.sun.j2me.app-descriptor", //$NON-NLS-1$ //$NON-NLS-2$
-			"jar", "application/java-archive", //$NON-NLS-1$ //$NON-NLS-2$
-			"jar.pack.gz", "application/x-java-pack200", //$NON-NLS-1$ //$NON-NLS-2$
-			"jardiff", "application/x-java-archive-diff", //$NON-NLS-1$ //$NON-NLS-2$
-			"java", "text/x-java-source", //$NON-NLS-1$ //$NON-NLS-2$
-			"javafrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"jnlp", "application/x-java-jnlp-file", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpg", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"js", "application/x-javascript", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp3", "audio/mp3", //$NON-NLS-1$ //$NON-NLS-2$
-			"png", "image/png", //$NON-NLS-1$ //$NON-NLS-2$
-			"rss", "application/rss+xml", //$NON-NLS-1$ //$NON-NLS-2$
-			"ser", "application/x-java-serialized-object", //$NON-NLS-1$ //$NON-NLS-2$
-			"sql", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"sqlfrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"swf", "application/x-shockwave-flash", //$NON-NLS-1$ //$NON-NLS-2$
-			"txt", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"wav", "audio/wav", //$NON-NLS-1$ //$NON-NLS-2$
-			"xml", "application/xml", //$NON-NLS-1$ //$NON-NLS-2$
-			"xmlfrag", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"zip", "application/zip", //$NON-NLS-1$ //$NON-NLS-2$
-
-			//--- misc definitions
-			"3dm", "x-world/x-3dmf", //$NON-NLS-1$ //$NON-NLS-2$
-			"3dmf", "x-world/x-3dmf", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"a", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"aab", "application/x-authorware-bin", //$NON-NLS-1$ //$NON-NLS-2$
-			"aam", "application/x-authorware-map", //$NON-NLS-1$ //$NON-NLS-2$
-			"aas", "application/x-authorware-seg", //$NON-NLS-1$ //$NON-NLS-2$
-			"abc", "text/vnd.abc", //$NON-NLS-1$ //$NON-NLS-2$
-			"acgi", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"afl", "video/animaflex", //$NON-NLS-1$ //$NON-NLS-2$
-			"ai", "application/postscript", //$NON-NLS-1$ //$NON-NLS-2$
-			"aif", "audio/aiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"aif", "audio/x-aiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"aifc", "audio/aiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"aifc", "audio/x-aiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"aiff", "audio/aiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"aiff", "audio/x-aiff", //$NON-NLS-1$ //$NON-NLS-2$			
-			"aim", "application/x-aim", //$NON-NLS-1$ //$NON-NLS-2$
-			"aip", "text/x-audiosoft-intra", //$NON-NLS-1$ //$NON-NLS-2$
-			"ani", "application/x-navi-animation", //$NON-NLS-1$ //$NON-NLS-2$
-			"aps", "application/mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"arc", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"arj", "application/arj", //$NON-NLS-1$ //$NON-NLS-2$
-			"arj", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"art", "image/x-jg", //$NON-NLS-1$ //$NON-NLS-2$
-			"asf", "video/x-ms-asf", //$NON-NLS-1$ //$NON-NLS-2$
-			"asm", "text/x-asm", //$NON-NLS-1$ //$NON-NLS-2$
-			"asp", "text/asp", //$NON-NLS-1$ //$NON-NLS-2$
-			"asx", "application/x-mplayer2", //$NON-NLS-1$ //$NON-NLS-2$
-			"asx", "video/x-ms-asf", //$NON-NLS-1$ //$NON-NLS-2$
-			"asx", "video/x-ms-asf-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"au", "audio/basic", //$NON-NLS-1$ //$NON-NLS-2$
-			"au", "audio/x-au", //$NON-NLS-1$ //$NON-NLS-2$
-			"avi", "video/avi", //$NON-NLS-1$ //$NON-NLS-2$
-			"avi", "application/x-troff-msvideo", //$NON-NLS-1$ //$NON-NLS-2$
-			"avi", "video/msvideo", //$NON-NLS-1$ //$NON-NLS-2$
-			"avi", "video/x-msvideo", //$NON-NLS-1$ //$NON-NLS-2$
-			"avs", "video/avs-video", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"bcpio", "application/x-bcpio", //$NON-NLS-1$ //$NON-NLS-2$
-			"bin", "application/mac-binary", //$NON-NLS-1$ //$NON-NLS-2$
-			"bin", "application/macbinary", //$NON-NLS-1$ //$NON-NLS-2$
-			"bin", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"bin", "application/x-binary", //$NON-NLS-1$ //$NON-NLS-2$
-			"bin", "application/x-macbinary", //$NON-NLS-1$ //$NON-NLS-2$
-			"bm", "image/bmp", //$NON-NLS-1$ //$NON-NLS-2$
-			"bmp", "image/bmp", //$NON-NLS-1$ //$NON-NLS-2$
-			"bmp", "image/x-windows-bmp", //$NON-NLS-1$ //$NON-NLS-2$
-			"boo", "application/book", //$NON-NLS-1$ //$NON-NLS-2$
-			"book", "application/book", //$NON-NLS-1$ //$NON-NLS-2$
-			"boz", "application/x-bzip2", //$NON-NLS-1$ //$NON-NLS-2$
-			"bsh", "application/x-bsh", //$NON-NLS-1$ //$NON-NLS-2$
-			"bz", "application/x-bzip", //$NON-NLS-1$ //$NON-NLS-2$
-			"bz2", "application/x-bzip2", //$NON-NLS-1$ //$NON-NLS-2$
-			"c", "text/x-c", //$NON-NLS-1$ //$NON-NLS-2$
-			"c", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"c++", "text/x-c", //$NON-NLS-1$ //$NON-NLS-2$
-			"c++", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"cat", "application/vnd.ms-pki.seccat", //$NON-NLS-1$ //$NON-NLS-2$
-			"cc", "text/x-c", //$NON-NLS-1$ //$NON-NLS-2$
-			"cc", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"ccad", "application/clariscad", //$NON-NLS-1$ //$NON-NLS-2$
-			"cco", "application/x-cocoa", //$NON-NLS-1$ //$NON-NLS-2$
-			"cdf", "application/cdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"cdf", "application/x-cdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"cdf", "application/x-netcdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"cer", "application/pkix-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"cer", "application/x-x509-ca-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"cha", "application/x-chat", //$NON-NLS-1$ //$NON-NLS-2$
-			"chat", "application/x-chat", //$NON-NLS-1$ //$NON-NLS-2$
-			"class", "application/java", //$NON-NLS-1$ //$NON-NLS-2$
-			"class", "application/java-byte-code", //$NON-NLS-1$ //$NON-NLS-2$
-			"class", "application/x-java-class", //$NON-NLS-1$ //$NON-NLS-2$
-			"com", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"com", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"conf", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"cpio", "application/x-cpio", //$NON-NLS-1$ //$NON-NLS-2$
-			"cpp", "text/x-c", //$NON-NLS-1$ //$NON-NLS-2$
-			"cpt", "application/mac-compactpro", //$NON-NLS-1$ //$NON-NLS-2$
-			"cpt", "application/x-compactpro", //$NON-NLS-1$ //$NON-NLS-2$
-			"cpt", "application/x-cpt", //$NON-NLS-1$ //$NON-NLS-2$
-			"crl", "application/pkcs-crl", //$NON-NLS-1$ //$NON-NLS-2$
-			"crl", "application/pkix-crl", //$NON-NLS-1$ //$NON-NLS-2$
-			"crt", "application/pkix-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"crt", "application/x-x509-ca-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"crt", "application/x-x509-user-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"csh", "application/x-csh", //$NON-NLS-1$ //$NON-NLS-2$
-			"csh", "text/x-script.csh", //$NON-NLS-1$ //$NON-NLS-2$
-			"css", "text/css", //$NON-NLS-1$ //$NON-NLS-2$
-			"cxx", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"css", "application/x-pointplus", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"dcr", "application/x-director", //$NON-NLS-1$ //$NON-NLS-2$
-			"deepv", "application/x-deepv", //$NON-NLS-1$ //$NON-NLS-2$
-			"der", "application/x-x509-ca-cert", //$NON-NLS-1$ //$NON-NLS-2$
-			"def", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"dif", "video/x-dv", //$NON-NLS-1$ //$NON-NLS-2$
-			"dir", "application/x-director", //$NON-NLS-1$ //$NON-NLS-2$
-			"dl", "video/dl", //$NON-NLS-1$ //$NON-NLS-2$
-			"dl", "video/x-dl", //$NON-NLS-1$ //$NON-NLS-2$
-			"doc", "application/msword", //$NON-NLS-1$ //$NON-NLS-2$
-			"dot", "application/msword", //$NON-NLS-1$ //$NON-NLS-2$
-			"dp", "application/commonground", //$NON-NLS-1$ //$NON-NLS-2$
-			"drw", "application/drafting", //$NON-NLS-1$ //$NON-NLS-2$
-			"dump", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"dv", "video/x-dv", //$NON-NLS-1$ //$NON-NLS-2$
-			"dvi", "application/x-dvi", //$NON-NLS-1$ //$NON-NLS-2$
-			"dwf", "model/vnd.dwf", //$NON-NLS-1$ //$NON-NLS-2$
-			"dwg", "application/acad", //$NON-NLS-1$ //$NON-NLS-2$
-			"dwg", "image/vnd.dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"dwg", "image/x-dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"dxf", "application/dxf", //$NON-NLS-1$ //$NON-NLS-2$
-			"dxf", "image/vnd.dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"dxf", "image/x-dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"dxr", "application/x-director", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"elc", "application/x-elc", //$NON-NLS-1$ //$NON-NLS-2$
-			"env", "application/x-envoy", //$NON-NLS-1$ //$NON-NLS-2$
-			"eps", "application/postscript", //$NON-NLS-1$ //$NON-NLS-2$
-			"es", "application/x-esrehber", //$NON-NLS-1$ //$NON-NLS-2$
-			"etx", "text/x-setext", //$NON-NLS-1$ //$NON-NLS-2$
-			"exe", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"f", "text/x-fortran", //$NON-NLS-1$ //$NON-NLS-2$
-			"f", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"f77", "text/x-fortran", //$NON-NLS-1$ //$NON-NLS-2$
-			"f90", "text/x-fortran", //$NON-NLS-1$ //$NON-NLS-2$
-			"f90", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"fdf", "application/vnd.fdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"fli", "video/fli", //$NON-NLS-1$ //$NON-NLS-2$
-			"fli", "video/x-fli", //$NON-NLS-1$ //$NON-NLS-2$
-			"for", "text/x-fortran", //$NON-NLS-1$ //$NON-NLS-2$
-			"for", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"fpx", "image/vnd.fpx", //$NON-NLS-1$ //$NON-NLS-2$
-			"fpx", "image/vnd.net-fpx", //$NON-NLS-1$ //$NON-NLS-2$
-			"frl", "application/freeloader", //$NON-NLS-1$ //$NON-NLS-2$
-			"funk", "audio/make", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"g", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"g3", "image/g3fax", //$NON-NLS-1$ //$NON-NLS-2$
-			"gif", "image/gif", //$NON-NLS-1$ //$NON-NLS-2$
-			"gl", "video/gl", //$NON-NLS-1$ //$NON-NLS-2$
-			"gl", "video/x-gl", //$NON-NLS-1$ //$NON-NLS-2$
-			"gsd", "audio/x-gsm", //$NON-NLS-1$ //$NON-NLS-2$
-			"gsm", "audio/x-gsm", //$NON-NLS-1$ //$NON-NLS-2$
-			"gsp", "application/x-gsp", //$NON-NLS-1$ //$NON-NLS-2$
-			"gss", "application/x-gss", //$NON-NLS-1$ //$NON-NLS-2$
-			"gtar", "application/x-gtar", //$NON-NLS-1$ //$NON-NLS-2$
-			"gz", "application/x-compressed", //$NON-NLS-1$ //$NON-NLS-2$
-			"gz", "application/x-gzip", //$NON-NLS-1$ //$NON-NLS-2$
-			"gzip", "application/x-gzip", //$NON-NLS-1$ //$NON-NLS-2$
-			"gzip", "multipart/x-gzip", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"h", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"h", "text/x-h", //$NON-NLS-1$ //$NON-NLS-2$
-			"hdf", "application/x-hdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"help", "application/x-helpfile", //$NON-NLS-1$ //$NON-NLS-2$
-			"hgl", "application/vnd.hp-hpgl", //$NON-NLS-1$ //$NON-NLS-2$
-			"hh", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"hh", "text/x-h", //$NON-NLS-1$ //$NON-NLS-2$
-			"hlb", "text/x-script", //$NON-NLS-1$ //$NON-NLS-2$
-			"hlp", "application/hlp", //$NON-NLS-1$ //$NON-NLS-2$
-			"hlp", "application/x-helpfile", //$NON-NLS-1$ //$NON-NLS-2$
-			"hlp", "application/x-winhelp", //$NON-NLS-1$ //$NON-NLS-2$
-			"hpg", "application/vnd.hp-hpgl", //$NON-NLS-1$ //$NON-NLS-2$
-			"hpgl", "application/vnd.hp-hpgl", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/binhex", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/binhex4", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/mac-binhex", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/mac-binhex40", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/x-binhex40", //$NON-NLS-1$ //$NON-NLS-2$
-			"hqx", "application/x-mac-binhex40", //$NON-NLS-1$ //$NON-NLS-2$
-			"hta", "application/hta", //$NON-NLS-1$ //$NON-NLS-2$
-			"htc", "text/x-component", //$NON-NLS-1$ //$NON-NLS-2$
-			"htm", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"html", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"htmls", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"htt", "text/webviewhtml", //$NON-NLS-1$ //$NON-NLS-2$
-			"htx", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"ice", "x-conference/x-cooltalk", //$NON-NLS-1$ //$NON-NLS-2$
-			"ico", "image/x-icon", //$NON-NLS-1$ //$NON-NLS-2$
-			"idc", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"ief", "image/ief", //$NON-NLS-1$ //$NON-NLS-2$
-			"iefs", "image/ief", //$NON-NLS-1$ //$NON-NLS-2$
-			"iges", "application/iges", //$NON-NLS-1$ //$NON-NLS-2$
-			"iges", "model/iges", //$NON-NLS-1$ //$NON-NLS-2$
-			"igs", "application/iges", //$NON-NLS-1$ //$NON-NLS-2$
-			"igs", "model/iges", //$NON-NLS-1$ //$NON-NLS-2$
-			"ima", "application/x-ima", //$NON-NLS-1$ //$NON-NLS-2$
-			"imap", "application/x-httpd-imap", //$NON-NLS-1$ //$NON-NLS-2$
-			"inf", "application/inf", //$NON-NLS-1$ //$NON-NLS-2$
-			"ins", "application/x-internett-signup", //$NON-NLS-1$ //$NON-NLS-2$
-			"ip", "application/x-ip2", //$NON-NLS-1$ //$NON-NLS-2$
-			"isu", "video/x-isvideo", //$NON-NLS-1$ //$NON-NLS-2$
-			"it", "audio/it", //$NON-NLS-1$ //$NON-NLS-2$
-			"iv", "application/x-inventor", //$NON-NLS-1$ //$NON-NLS-2$
-			"ivr", "i-world/i-vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"ivy", "application/x-livescreen", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"jam", "audio/x-jam", //$NON-NLS-1$ //$NON-NLS-2$
-			"jav", "text/x-java-source", //$NON-NLS-1$ //$NON-NLS-2$
-			"jav", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"java", "text/x-java-source", //$NON-NLS-1$ //$NON-NLS-2$
-			"java", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"jcm", "application/x-java-commerce", //$NON-NLS-1$ //$NON-NLS-2$
-			"jfif", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jfif", "image/pjpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jfif-tbnl", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpe", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpe", "image/pjpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpeg", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpeg", "image/pjpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpg", "image/jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jpg", "image/pjpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"jps", "image/x-jps", //$NON-NLS-1$ //$NON-NLS-2$
-			"js", "application/x-javascript", //$NON-NLS-1$ //$NON-NLS-2$
-			"jut", "image/jutvision", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"kar", "audio/midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"kar", "music/x-karaoke", //$NON-NLS-1$ //$NON-NLS-2$
-			"ksh", "application/x-ksh", //$NON-NLS-1$ //$NON-NLS-2$
-			"ksh", "text/x-script.ksh", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"la", "audio/nspaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"la", "audio/x-nspaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"lam", "audio/x-liveaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"latex", "application/x-latex", //$NON-NLS-1$ //$NON-NLS-2$
-			"lha", "application/lha", //$NON-NLS-1$ //$NON-NLS-2$
-			"lha", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"lha", "application/x-lha", //$NON-NLS-1$ //$NON-NLS-2$
-			"lhx", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"list", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"lma", "audio/nspaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"lma", "audio/x-nspaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"log", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"lsp", "application/x-lisp", //$NON-NLS-1$ //$NON-NLS-2$
-			"lsp", "text/x-script.lisp", //$NON-NLS-1$ //$NON-NLS-2$
-			"lst", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"lsx", "text/x-la-asf", //$NON-NLS-1$ //$NON-NLS-2$
-			"ltx", "application/x-latex", //$NON-NLS-1$ //$NON-NLS-2$
-			"lzh", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"lzh", "application/x-lzh", //$NON-NLS-1$ //$NON-NLS-2$
-			"lzx", "application/lzx", //$NON-NLS-1$ //$NON-NLS-2$
-			"lzx", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"lzx", "application/x-lzx", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"m", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"m", "text/x-m", //$NON-NLS-1$ //$NON-NLS-2$
-			"m1v", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"m2a", "audio/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"m2v", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"m3u", "audio/x-mpequrl", //$NON-NLS-1$ //$NON-NLS-2$
-			"man", "application/x-troff-man", //$NON-NLS-1$ //$NON-NLS-2$
-			"map", "application/x-navimap", //$NON-NLS-1$ //$NON-NLS-2$
-			"mar", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"mbd", "application/mbedlet", //$NON-NLS-1$ //$NON-NLS-2$
-			"mcd", "application/mcad", //$NON-NLS-1$ //$NON-NLS-2$
-			"mcd", "application/x-mathcad", //$NON-NLS-1$ //$NON-NLS-2$
-			"mcf", "image/vasa", //$NON-NLS-1$ //$NON-NLS-2$
-			"mcf", "text/mcf", //$NON-NLS-1$ //$NON-NLS-2$
-			"mcp", "application/netmc", //$NON-NLS-1$ //$NON-NLS-2$
-			"me", "application/x-troff-me", //$NON-NLS-1$ //$NON-NLS-2$
-			"mht", "message/rfc822", //$NON-NLS-1$ //$NON-NLS-2$
-			"mhtml", "message/rfc822", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "audio/midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "application/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "audio/x-mid", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "audio/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "music/crescendo", //$NON-NLS-1$ //$NON-NLS-2$
-			"mid", "x-music/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "audio/midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "application/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "audio/x-mid", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "audio/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "music/crescendo", //$NON-NLS-1$ //$NON-NLS-2$
-			"midi", "x-music/x-midi", //$NON-NLS-1$ //$NON-NLS-2$
-			"mif", "application/x-frame", //$NON-NLS-1$ //$NON-NLS-2$
-			"mif", "application/x-mif", //$NON-NLS-1$ //$NON-NLS-2$
-			"mime", "www/mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"mime", "message/rfc822", //$NON-NLS-1$ //$NON-NLS-2$
-			"mjpg", "video/x-motion-jpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mm", "application/base64", //$NON-NLS-1$ //$NON-NLS-2$
-			"mm", "application/x-meme", //$NON-NLS-1$ //$NON-NLS-2$
-			"mme", "application/base64", //$NON-NLS-1$ //$NON-NLS-2$
-			"mod", "audio/mod", //$NON-NLS-1$ //$NON-NLS-2$
-			"mod", "audio/x-mod", //$NON-NLS-1$ //$NON-NLS-2$
-			"moov", "video/quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"mov", "video/quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"movie", "video/x-sgi-movie", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp2", "audio/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp2", "audio/x-mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp2", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp2", "video/x-mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp2", "video/x-mpeq2a", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp3", "audio/mpeg3", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp3", "audio/x-mpeg-3", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp3", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mp3", "video/x-mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpa", "audio/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpa", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpc", "application/x-project", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpe", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpeg", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpg", "audio/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpg", "video/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpga", "audio/mpeg", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpp", "application/vnd.ms-project", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpt", "application/x-project", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpv", "application/x-project", //$NON-NLS-1$ //$NON-NLS-2$
-			"mpx", "application/x-project", //$NON-NLS-1$ //$NON-NLS-2$
-			"mrc", "application/marc", //$NON-NLS-1$ //$NON-NLS-2$
-			"ms", "application/x-troff-ms", //$NON-NLS-1$ //$NON-NLS-2$
-			"mv", "video/x-sgi-movie", //$NON-NLS-1$ //$NON-NLS-2$
-			"my", "audio/make", //$NON-NLS-1$ //$NON-NLS-2$
-			"mzz", "application/x-vnd.audioexplosion.mzz", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"nap", "image/naplps", //$NON-NLS-1$ //$NON-NLS-2$
-			"naplps", "image/naplps", //$NON-NLS-1$ //$NON-NLS-2$
-			"nc", "application/x-netcdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"ncm", "application/vnd.nokia.configuration-message", //$NON-NLS-1$ //$NON-NLS-2$
-			"nif", "image/x-niff", //$NON-NLS-1$ //$NON-NLS-2$
-			"niff", "image/x-niff", //$NON-NLS-1$ //$NON-NLS-2$
-			"nix", "application/x-mix-transfer", //$NON-NLS-1$ //$NON-NLS-2$
-			"nsc", "application/x-conference", //$NON-NLS-1$ //$NON-NLS-2$
-			"nvd", "application/x-navidoc", //$NON-NLS-1$ //$NON-NLS-2$
-			"o", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"oda", "application/oda", //$NON-NLS-1$ //$NON-NLS-2$
-			"omc", "application/x-omc", //$NON-NLS-1$ //$NON-NLS-2$
-			"omcd", "application/x-omcdatamaker", //$NON-NLS-1$ //$NON-NLS-2$
-			"omcr", "application/x-omcregerator", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"p", "text/x-pascal", //$NON-NLS-1$ //$NON-NLS-2$
-			"p10", "application/pkcs10", //$NON-NLS-1$ //$NON-NLS-2$
-			"p10", "application/x-pkcs10", //$NON-NLS-1$ //$NON-NLS-2$
-			"p12", "application/pkcs-12", //$NON-NLS-1$ //$NON-NLS-2$
-			"p12", "application/x-pkcs12", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7a", "application/x-pkcs7-signature", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7c", "application/pkcs7-mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7c", "application/x-pkcs7-mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7m", "application/pkcs7-mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7m", "application/x-pkcs7-mime", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7r", "application/x-pkcs7-certreqresp", //$NON-NLS-1$ //$NON-NLS-2$
-			"p7s", "application/pkcs7-signature", //$NON-NLS-1$ //$NON-NLS-2$
-			"part", "application/pro_eng", //$NON-NLS-1$ //$NON-NLS-2$
-			"pas", "text/pascal", //$NON-NLS-1$ //$NON-NLS-2$
-			"pbm", "image/x-portable-bitmap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pcl", "application/vnd.hp-pcl", //$NON-NLS-1$ //$NON-NLS-2$
-			"pcl", "application/x-pcl", //$NON-NLS-1$ //$NON-NLS-2$
-			"pct", "image/x-pict", //$NON-NLS-1$ //$NON-NLS-2$
-			"pcx", "image/x-pcx", //$NON-NLS-1$ //$NON-NLS-2$
-			"pdb", "chemical/x-pdb", //$NON-NLS-1$ //$NON-NLS-2$
-			"pdf", "application/pdf", //$NON-NLS-1$ //$NON-NLS-2$
-			"pfunk", "audio/make", //$NON-NLS-1$ //$NON-NLS-2$
-			"pfunk", "audio/make.my.funk", //$NON-NLS-1$ //$NON-NLS-2$
-			"pgm", "image/x-portable-graymap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pgm", "image/x-portable-greymap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pic", "image/pict", //$NON-NLS-1$ //$NON-NLS-2$
-			"pict", "image/pict", //$NON-NLS-1$ //$NON-NLS-2$
-			"pkg", "application/x-newton-compatible-pkg", //$NON-NLS-1$ //$NON-NLS-2$
-			"pko", "application/vnd.ms-pki.pko", //$NON-NLS-1$ //$NON-NLS-2$
-			"pl", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"pl", "text/x-script.perl", //$NON-NLS-1$ //$NON-NLS-2$
-			"plx", "application/x-pixclscript", //$NON-NLS-1$ //$NON-NLS-2$
-			"pm", "image/x-xpixmap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pm", "text/x-script.perl-module", //$NON-NLS-1$ //$NON-NLS-2$
-			"pm4", "application/x-pagemaker", //$NON-NLS-1$ //$NON-NLS-2$
-			"pm5", "application/x-pagemaker", //$NON-NLS-1$ //$NON-NLS-2$
-			"png", "image/png", //$NON-NLS-1$ //$NON-NLS-2$
-			"pnm", "application/x-portable-anymap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pnm", "image/x-portable-anymap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pot", "application/mspowerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"pot", "application/vnd.ms-powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"pov", "model/x-pov", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppa", "application/vnd.ms-powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppm", "image/x-portable-pixmap", //$NON-NLS-1$ //$NON-NLS-2$
-			"pps", "application/mspowerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"pps", "application/vnd.ms-powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppt", "application/mspowerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppt", "application/powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppt", "application/vnd.ms-powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppt", "application/x-mspowerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"ppz", "application/mspowerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"pre", "application/x-freelance", //$NON-NLS-1$ //$NON-NLS-2$
-			"prt", "application/pro_eng", //$NON-NLS-1$ //$NON-NLS-2$
-			"ps", "application/postscript", //$NON-NLS-1$ //$NON-NLS-2$
-			"psd", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"pvu", "paleovu/x-pv", //$NON-NLS-1$ //$NON-NLS-2$
-			"pwz", "application/vnd.ms-powerpoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"py", "text/x-script.phyton", //$NON-NLS-1$ //$NON-NLS-2$
-			"pyc", "applicaiton/x-bytecode.python", //$NON-NLS-1$ //$NON-NLS-2$
-			"qcp", "audio/vnd.qcelp", //$NON-NLS-1$ //$NON-NLS-2$
-			"qd3", "x-world/x-3dmf", //$NON-NLS-1$ //$NON-NLS-2$
-			"qd3d", "x-world/x-3dmf", //$NON-NLS-1$ //$NON-NLS-2$
-			"qif", "image/x-quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"qt", "video/quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"qtc", "video/x-qtc", //$NON-NLS-1$ //$NON-NLS-2$
-			"qti", "image/x-quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"qtif", "image/x-quicktime", //$NON-NLS-1$ //$NON-NLS-2$
-			"ra", "audio/x-pn-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"ra", "audio/x-pn-realaudio-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"ra", "audio/x-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"ram", "audio/x-pn-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"ras", "application/x-cmu-raster", //$NON-NLS-1$ //$NON-NLS-2$
-			"ras", "image/cmu-raster", //$NON-NLS-1$ //$NON-NLS-2$
-			"ras", "image/x-cmu-raster", //$NON-NLS-1$ //$NON-NLS-2$
-			"rast", "image/cmu-raster", //$NON-NLS-1$ //$NON-NLS-2$
-			"rexx", "text/x-script.rexx", //$NON-NLS-1$ //$NON-NLS-2$
-			"rf", "image/vnd.rn-realflash", //$NON-NLS-1$ //$NON-NLS-2$
-			"rgb", "image/x-rgb", //$NON-NLS-1$ //$NON-NLS-2$
-			"rm", "application/vnd.rn-realmedia", //$NON-NLS-1$ //$NON-NLS-2$
-			"rm", "audio/x-pn-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"rmi", "audio/mid", //$NON-NLS-1$ //$NON-NLS-2$
-			"rmm", "audio/x-pn-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"rmp", "audio/x-pn-realaudio", //$NON-NLS-1$ //$NON-NLS-2$
-			"rmp", "audio/x-pn-realaudio-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"rng", "application/ringing-tones", //$NON-NLS-1$ //$NON-NLS-2$
-			"rng", "application/vnd.nokia.ringing-tone", //$NON-NLS-1$ //$NON-NLS-2$
-			"rnx", "application/vnd.rn-realplayer", //$NON-NLS-1$ //$NON-NLS-2$
-			"roff", "application/x-troff", //$NON-NLS-1$ //$NON-NLS-2$
-			"rp", "image/vnd.rn-realpix", //$NON-NLS-1$ //$NON-NLS-2$
-			"rpm", "audio/x-pn-realaudio-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"rt", "text/richtext", //$NON-NLS-1$ //$NON-NLS-2$
-			"rt", "text/vnd.rn-realtext", //$NON-NLS-1$ //$NON-NLS-2$
-			"rtf", "application/rtf", //$NON-NLS-1$ //$NON-NLS-2$
-			"rtf", "application/x-rtf", //$NON-NLS-1$ //$NON-NLS-2$
-			"rtf", "text/richtext", //$NON-NLS-1$ //$NON-NLS-2$
-			"rtx", "application/rtf", //$NON-NLS-1$ //$NON-NLS-2$
-			"rtx", "text/richtext", //$NON-NLS-1$ //$NON-NLS-2$
-			"rv", "video/vnd.rn-realvideo", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"s", "text/x-asm", //$NON-NLS-1$ //$NON-NLS-2$
-			"s3m", "audio/s3m", //$NON-NLS-1$ //$NON-NLS-2$
-			"saveme", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"sbk", "application/x-tbook", //$NON-NLS-1$ //$NON-NLS-2$
-			"scm", "application/x-lotusscreencam", //$NON-NLS-1$ //$NON-NLS-2$
-			"scm", "text/x-script.guile", //$NON-NLS-1$ //$NON-NLS-2$
-			"scm", "text/x-script.scheme", //$NON-NLS-1$ //$NON-NLS-2$
-			"scm", "video/x-scm", //$NON-NLS-1$ //$NON-NLS-2$
-			"sdml", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"sdp", "application/sdp", //$NON-NLS-1$ //$NON-NLS-2$
-			"sdp", "application/x-sdp", //$NON-NLS-1$ //$NON-NLS-2$
-			"sdr", "application/sounder", //$NON-NLS-1$ //$NON-NLS-2$
-			"sea", "application/sea", //$NON-NLS-1$ //$NON-NLS-2$
-			"sea", "application/x-sea", //$NON-NLS-1$ //$NON-NLS-2$
-			"set", "application/set", //$NON-NLS-1$ //$NON-NLS-2$
-			"sgm", "text/sgml", //$NON-NLS-1$ //$NON-NLS-2$
-			"sgm", "text/x-sgml", //$NON-NLS-1$ //$NON-NLS-2$
-			"sgml", "text/sgml", //$NON-NLS-1$ //$NON-NLS-2$
-			"sgml", "text/x-sgml", //$NON-NLS-1$ //$NON-NLS-2$
-			"sh", "application/x-bsh", //$NON-NLS-1$ //$NON-NLS-2$
-			"sh", "application/x-sh", //$NON-NLS-1$ //$NON-NLS-2$
-			"sh", "application/x-shar", //$NON-NLS-1$ //$NON-NLS-2$
-			"sh", "text/x-script.sh", //$NON-NLS-1$ //$NON-NLS-2$
-			"shar", "application/x-bsh", //$NON-NLS-1$ //$NON-NLS-2$
-			"shar", "application/x-shar", //$NON-NLS-1$ //$NON-NLS-2$
-			"shtml", "text/html", //$NON-NLS-1$ //$NON-NLS-2$
-			"shtml", "text/x-server-parsed-html", //$NON-NLS-1$ //$NON-NLS-2$
-			"sid", "audio/x-psid", //$NON-NLS-1$ //$NON-NLS-2$
-			"sit", "application/x-sit", //$NON-NLS-1$ //$NON-NLS-2$
-			"sit", "application/x-stuffit", //$NON-NLS-1$ //$NON-NLS-2$
-			"skd", "application/x-koan", //$NON-NLS-1$ //$NON-NLS-2$
-			"skm", "application/x-koan", //$NON-NLS-1$ //$NON-NLS-2$
-			"skp", "application/x-koan", //$NON-NLS-1$ //$NON-NLS-2$
-			"skt", "application/x-koan", //$NON-NLS-1$ //$NON-NLS-2$
-			"sl", "application/x-seelogo", //$NON-NLS-1$ //$NON-NLS-2$
-			"smi", "application/smil", //$NON-NLS-1$ //$NON-NLS-2$
-			"smil", "application/smil", //$NON-NLS-1$ //$NON-NLS-2$
-			"snd", "audio/basic", //$NON-NLS-1$ //$NON-NLS-2$
-			"snd", "audio/x-adpcm", //$NON-NLS-1$ //$NON-NLS-2$
-			"sol", "application/solids", //$NON-NLS-1$ //$NON-NLS-2$
-			"spc", "application/x-pkcs7-certificates", //$NON-NLS-1$ //$NON-NLS-2$
-			"spc", "text/x-speech", //$NON-NLS-1$ //$NON-NLS-2$
-			"spl", "application/futuresplash", //$NON-NLS-1$ //$NON-NLS-2$
-			"spr", "application/x-sprite", //$NON-NLS-1$ //$NON-NLS-2$
-			"sprite", "application/x-sprite", //$NON-NLS-1$ //$NON-NLS-2$
-			"src", "application/x-wais-source", //$NON-NLS-1$ //$NON-NLS-2$
-			"ssi", "text/x-server-parsed-html", //$NON-NLS-1$ //$NON-NLS-2$
-			"ssm", "application/streamingmedia", //$NON-NLS-1$ //$NON-NLS-2$
-			"sst", "application/vnd.ms-pki.certstore", //$NON-NLS-1$ //$NON-NLS-2$
-			"step", "application/step", //$NON-NLS-1$ //$NON-NLS-2$
-			"stl", "application/sla", //$NON-NLS-1$ //$NON-NLS-2$
-			"stl", "application/vnd.ms-pki.stl", //$NON-NLS-1$ //$NON-NLS-2$
-			"stl", "application/x-navistyle", //$NON-NLS-1$ //$NON-NLS-2$
-			"stp", "application/step", //$NON-NLS-1$ //$NON-NLS-2$
-			"sv4cpio", "application/x-sv4cpio", //$NON-NLS-1$ //$NON-NLS-2$
-			"sv4crc", "application/x-sv4crc", //$NON-NLS-1$ //$NON-NLS-2$
-			"svf", "image/vnd.dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"svf", "image/x-dwg", //$NON-NLS-1$ //$NON-NLS-2$
-			"svr", "application/x-world", //$NON-NLS-1$ //$NON-NLS-2$
-			"svr", "x-world/x-svr", //$NON-NLS-1$ //$NON-NLS-2$
-			"swf", "application/x-shockwave-flash", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"t", "application/x-troff", //$NON-NLS-1$ //$NON-NLS-2$
-			"talk", "text/x-speech", //$NON-NLS-1$ //$NON-NLS-2$
-			"tar", "application/x-tar", //$NON-NLS-1$ //$NON-NLS-2$
-			"tbk", "application/toolbook", //$NON-NLS-1$ //$NON-NLS-2$
-			"tbk", "application/x-tbook", //$NON-NLS-1$ //$NON-NLS-2$
-			"tcl", "application/x-tcl", //$NON-NLS-1$ //$NON-NLS-2$
-			"tcl", "text/x-script.tcl", //$NON-NLS-1$ //$NON-NLS-2$
-			"tcsh", "text/x-script.tcsh", //$NON-NLS-1$ //$NON-NLS-2$
-			"tex", "application/x-tex", //$NON-NLS-1$ //$NON-NLS-2$
-			"texi", "application/x-texinfo", //$NON-NLS-1$ //$NON-NLS-2$
-			"texinfo", "application/x-texinfo", //$NON-NLS-1$ //$NON-NLS-2$
-			"text", "application/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"text", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-			"tgz", "application/gnutar", //$NON-NLS-1$ //$NON-NLS-2$
-			"tgz", "application/x-compressed", //$NON-NLS-1$ //$NON-NLS-2$
-			"tif", "image/tiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"tif", "image/x-tiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"tiff", "image/tiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"tiff", "image/x-tiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"tr", "application/x-troff", //$NON-NLS-1$ //$NON-NLS-2$
-			"tsi", "audio/tsp-audio", //$NON-NLS-1$ //$NON-NLS-2$
-			"tsp", "application/dsptype", //$NON-NLS-1$ //$NON-NLS-2$
-			"tsp", "audio/tsplayer", //$NON-NLS-1$ //$NON-NLS-2$
-			"tsv", "text/tab-separated-values", //$NON-NLS-1$ //$NON-NLS-2$
-			"turbot", "image/florian", //$NON-NLS-1$ //$NON-NLS-2$
-			"txt", "text/plain", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"uil", "text/x-uil", //$NON-NLS-1$ //$NON-NLS-2$
-			"uni", "text/uri-list", //$NON-NLS-1$ //$NON-NLS-2$
-			"unis", "text/uri-list", //$NON-NLS-1$ //$NON-NLS-2$
-			"unv", "application/i-deas", //$NON-NLS-1$ //$NON-NLS-2$
-			"uri", "text/uri-list", //$NON-NLS-1$ //$NON-NLS-2$
-			"uris", "text/uri-list", //$NON-NLS-1$ //$NON-NLS-2$
-			"ustar", "application/x-ustar", //$NON-NLS-1$ //$NON-NLS-2$
-			"ustar", "multipart/x-ustar", //$NON-NLS-1$ //$NON-NLS-2$
-			"uu", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"uu", "text/x-uuencode", //$NON-NLS-1$ //$NON-NLS-2$
-			"uue", "text/x-uuencode", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"vcd", "application/x-cdlink", //$NON-NLS-1$ //$NON-NLS-2$
-			"vcs", "text/x-vcalendar", //$NON-NLS-1$ //$NON-NLS-2$
-			"vda", "application/vda", //$NON-NLS-1$ //$NON-NLS-2$
-			"vdo", "video/vdo", //$NON-NLS-1$ //$NON-NLS-2$
-			"vew", "application/groupwise", //$NON-NLS-1$ //$NON-NLS-2$
-			"viv", "video/vivo", //$NON-NLS-1$ //$NON-NLS-2$
-			"viv", "video/vnd.vivo", //$NON-NLS-1$ //$NON-NLS-2$
-			"vivo", "video/vivo", //$NON-NLS-1$ //$NON-NLS-2$
-			"vivo", "video/vnd.vivo", //$NON-NLS-1$ //$NON-NLS-2$
-			"vmd", "application/vocaltec-media-desc", //$NON-NLS-1$ //$NON-NLS-2$
-			"vmf", "application/vocaltec-media-file", //$NON-NLS-1$ //$NON-NLS-2$
-			"voc", "audio/voc", //$NON-NLS-1$ //$NON-NLS-2$
-			"voc", "audio/x-voc", //$NON-NLS-1$ //$NON-NLS-2$
-			"vos", "video/vosaic", //$NON-NLS-1$ //$NON-NLS-2$
-			"vox", "audio/voxware", //$NON-NLS-1$ //$NON-NLS-2$
-			"vqe", "audio/x-twinvq-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"vqf", "audio/x-twinvq", //$NON-NLS-1$ //$NON-NLS-2$
-			"vql", "audio/x-twinvq-plugin", //$NON-NLS-1$ //$NON-NLS-2$
-			"vrml", "application/x-vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"vrml", "model/vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"vrml", "x-world/x-vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"vrt", "x-world/x-vrt", //$NON-NLS-1$ //$NON-NLS-2$
-			"vsd", "application/x-visio", //$NON-NLS-1$ //$NON-NLS-2$
-			"vst", "application/x-visio", //$NON-NLS-1$ //$NON-NLS-2$
-			"vsw", "application/x-visio", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"w60", "application/wordperfect6.0", //$NON-NLS-1$ //$NON-NLS-2$
-			"w61", "application/wordperfect6.1", //$NON-NLS-1$ //$NON-NLS-2$
-			"w6w", "application/msword", //$NON-NLS-1$ //$NON-NLS-2$
-			"wav", "audio/wav", //$NON-NLS-1$ //$NON-NLS-2$
-			"wav", "audio/x-wav", //$NON-NLS-1$ //$NON-NLS-2$
-			"wb1", "application/x-qpro", //$NON-NLS-1$ //$NON-NLS-2$
-			"wbmp", "image/vnd.wap.wbmp", //$NON-NLS-1$ //$NON-NLS-2$
-			"web", "application/vnd.xara", //$NON-NLS-1$ //$NON-NLS-2$
-			"wiz", "application/msword", //$NON-NLS-1$ //$NON-NLS-2$
-			"wk1", "application/x-123", //$NON-NLS-1$ //$NON-NLS-2$
-			"wmf", "windows/metafile", //$NON-NLS-1$ //$NON-NLS-2$
-			"wml", "text/vnd.wap.wml", //$NON-NLS-1$ //$NON-NLS-2$
-			"wmlc", "application/vnd.wap.wmlc", //$NON-NLS-1$ //$NON-NLS-2$
-			"wmls", "text/vnd.wap.wmlscript", //$NON-NLS-1$ //$NON-NLS-2$
-			"wmlsc", "application/vnd.wap.wmlscriptc", //$NON-NLS-1$ //$NON-NLS-2$
-			"word", "application/msword", //$NON-NLS-1$ //$NON-NLS-2$
-			"wpd", "application/x-wpwin", //$NON-NLS-1$ //$NON-NLS-2$
-			"wq1", "application/x-lotus", //$NON-NLS-1$ //$NON-NLS-2$
-			"wri", "application/mswrite", //$NON-NLS-1$ //$NON-NLS-2$
-			"wri", "application/x-wri", //$NON-NLS-1$ //$NON-NLS-2$
-			"wrl", "application/x-world", //$NON-NLS-1$ //$NON-NLS-2$
-			"wrl", "model/vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"wrl", "x-world/x-vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"wrz", "model/vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"wrz", "x-world/x-vrml", //$NON-NLS-1$ //$NON-NLS-2$
-			"wsc", "text/scriplet", //$NON-NLS-1$ //$NON-NLS-2$
-			"wsrc", "application/x-wais-source", //$NON-NLS-1$ //$NON-NLS-2$
-			"wtk", "application/x-wintalk", //$NON-NLS-1$ //$NON-NLS-2$
-			"xbm", "image/x-xbitmap", //$NON-NLS-1$ //$NON-NLS-2$
-			"xbm", "image/x-xbm", //$NON-NLS-1$ //$NON-NLS-2$
-			"xbm", "image/xbm", //$NON-NLS-1$ //$NON-NLS-2$
-			"xdr", "video/x-amt-demorun", //$NON-NLS-1$ //$NON-NLS-2$
-			"xgz", "xgl/drawing", //$NON-NLS-1$ //$NON-NLS-2$
-			"xif", "image/vnd.xiff", //$NON-NLS-1$ //$NON-NLS-2$
-			"xl", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xla", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xla", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xla", "application/x-msexcel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlb", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlb", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlb", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlc", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlc", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlc", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xld", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xld", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlk", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlk", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xll", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xll", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xll", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlm", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlm", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlm", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xls", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xls", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xls", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xls", "application/x-msexcel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlt", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlt", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlv", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlv", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlw", "application/excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlw", "application/vnd.ms-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlw", "application/x-excel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xlw", "application/x-msexcel", //$NON-NLS-1$ //$NON-NLS-2$
-			"xm", "audio/xm", //$NON-NLS-1$ //$NON-NLS-2$
-			"xml", "application/xml", //$NON-NLS-1$ //$NON-NLS-2$
-			"xml", "text/xml", //$NON-NLS-1$ //$NON-NLS-2$
-			"xmz", "xgl/movie", //$NON-NLS-1$ //$NON-NLS-2$
-			"xpix", "application/x-vnd.ls-xpix", //$NON-NLS-1$ //$NON-NLS-2$
-			"xpm", "image/x-xpixmap", //$NON-NLS-1$ //$NON-NLS-2$
-			"xpm", "image/xpm", //$NON-NLS-1$ //$NON-NLS-2$
-			"x-png", "image/png", //$NON-NLS-1$ //$NON-NLS-2$
-			"xsr", "video/x-amt-showrun", //$NON-NLS-1$ //$NON-NLS-2$
-			"xwd", "image/x-xwd", //$NON-NLS-1$ //$NON-NLS-2$
-			"xwd", "image/x-xwindowdump", //$NON-NLS-1$ //$NON-NLS-2$
-			"xyz", "chemical/x-pdb", //$NON-NLS-1$ //$NON-NLS-2$
-
-			"z", "application/x-compress", //$NON-NLS-1$ //$NON-NLS-2$
-			"z", "application/x-compressed", //$NON-NLS-1$ //$NON-NLS-2$
-			"zip", "application/x-compressed", //$NON-NLS-1$ //$NON-NLS-2$
-			"zip", "application/x-zip-compressed", //$NON-NLS-1$ //$NON-NLS-2$
-			"zip", "application/zip", //$NON-NLS-1$ //$NON-NLS-2$
-			"zip", "multipart/x-zip", //$NON-NLS-1$ //$NON-NLS-2$
-			"zoo", "application/octet-stream", //$NON-NLS-1$ //$NON-NLS-2$
-			"zsh", "text/x-script.zsh", //$NON-NLS-1$ //$NON-NLS-2$
-	};
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureAction.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureAction.java
deleted file mode 100755
index 93a536d..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import java.io.IOException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.AccessControlContext;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import org.osgi.framework.Bundle;
-
-/**
- * Utility class to execute common privileged code.
- */
-public class SecureAction {
-	// make sure we use the correct controlContext;
-	private AccessControlContext controlContext;
-
-	/**
-	 * Constructs a new SecureAction object.  The constructed SecureAction object 
-	 * uses the caller's AccessControlContext to perform security checks 
-	 */
-	public SecureAction() {
-		// save the control context to be used.
-		this.controlContext = AccessController.getContext();
-	}
-
-	/**
-	 * Gets a resource from a bundle.
-	 * @param bundle the bundle to get the resource from
-	 * @param name The name of the resource
-	 * @return The URL of the resource
-	 */
-	
-	public URL getBundleResource(final Bundle bundle, final String name) {
-		if (System.getSecurityManager() == null)
-		     return bundle.getResource(name);
-		return (URL) AccessController.doPrivileged(new PrivilegedAction() {
-			public Object run() {
-				return bundle.getResource(name);
-			}
-		}, controlContext);
-	}
-	
-	public URLConnection openURL(final URL url) throws IOException {
-		if (System.getSecurityManager() == null)
-		    return open(url);
-		try {	
-			return (URLConnection) AccessController.doPrivileged(new PrivilegedExceptionAction() {
-				public Object run() throws IOException {
-					return open(url);
-				}
-			}, controlContext);  
-		} catch(PrivilegedActionException ex) {
-			throw (IOException) ex.getException();
-		}
-	}  
-	
-	URLConnection open(final URL url)throws IOException
-	{
-		URLConnection connection = url.openConnection();
-        connection.connect(); /* establish connection to check permissions */
-        return connection;
-	}
-	
-	/**
-	 * Returns a system property.  Same as calling
-	 * System.getProperty(String,String).
-	 * @param property the property key.
-	 * @param def the default value if the property key does not exist.
-	 * @return the value of the property or the def value if the property
-	 * does not exist.
-	 */
-	public String getProperty(final String property, final String def) {
-		if (System.getSecurityManager() == null)
-			return System.getProperty(property, def);
-		return (String) AccessController.doPrivileged(new PrivilegedAction() {
-			public Object run() {
-				return System.getProperty(property, def);
-			}
-		}, controlContext);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureContext.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureContext.java
deleted file mode 100644
index a9fc4e5..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecureContext.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import java.net.URL;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.osgi.service.http.HttpContext;
-
-/**
- * The SecureContext can be used to add basic authentication to a path.
- * This implementation requires the user "Aladdin" to log in with the password "open sesame".
- */
-public class SecureContext implements HttpContext {
-	private HttpContext theDefaultContext;
-
-	public SecureContext(HttpContext defaultContext) {
-		theDefaultContext = defaultContext;
-	}
-
-	public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) {
-		String auth = request.getHeader("Authorization"); //$NON-NLS-1$
-		// Response is Aladdin:open sesame in Base64 encoding (from RFC example)
-		if (auth != null && "QWxhZGRpbjpvcGVuIHNlc2FtZQ==".equals(auth.substring(6))) //$NON-NLS-1$
-			return true;
-
-		// if not authorized or wrong user/password
-		response.setHeader("WWW-Authenticate", "BASIC realm=\"p2 Http Testing Server (Aladdin, open sesame)\""); //$NON-NLS-1$//$NON-NLS-2$
-		response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-		return false;
-
-	}
-
-	public String getMimeType(String name) {
-		return theDefaultContext.getMimeType(name);
-	}
-
-	public URL getResource(String name) {
-		return theDefaultContext.getResource(name);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecuredArtifactsContext.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecuredArtifactsContext.java
deleted file mode 100644
index 4b627f6..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/SecuredArtifactsContext.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.osgi.service.http.HttpContext;
-
-/**
- * The SecureContext can be used to add basic authentication to a path.
- * This implementation requires the user "Aladdin" to log in with the password "open sesame".
- */
-public class SecuredArtifactsContext extends SecureContext {
-
-	public SecuredArtifactsContext(HttpContext defaultContext) {
-		super(defaultContext);
-	}
-
-	public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) {
-		String path = request.getRequestURI();
-		if (path == null)
-			return true;
-
-		if (path.indexOf("features/") != -1 //$NON-NLS-1$
-				|| path.indexOf("plugins/") != -1 //$NON-NLS-1$
-				|| path.indexOf("binaries/") != -1) //$NON-NLS-1$
-			return super.handleSecurity(request, response);
-
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/BasicResourceDelivery.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/BasicResourceDelivery.java
deleted file mode 100644
index 13dc0cf..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/BasicResourceDelivery.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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
- *  Cloudsmith Inc. - this copy and adaption to abstract servlet
- *******************************************************************************/
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.equinox.p2.testserver.Activator;
-import org.eclipse.equinox.p2.testserver.HttpConstants;
-import org.eclipse.equinox.p2.testserver.MimeLookup;
-import org.eclipse.equinox.p2.testserver.SecureAction;
-import org.osgi.service.http.HttpService;
-
-public class BasicResourceDelivery extends HttpServlet {
-	private static final long serialVersionUID = 1L;
-	// private static final String CHARSET = "utf-8"; //$NON-NLS-1$
-	private SecureAction secureAction;
-	private String alias;
-	private URI path;
-	protected static final String defaultMimeType = "application/octet-stream"; //$NON-NLS-1$
-
-	/**
-	 * Delivers resources from the bundle, or from an absolute URI
-	 */
-	public BasicResourceDelivery(String theAlias, URI thePath) {
-		secureAction = new SecureAction();
-		alias = theAlias;
-		path = thePath;
-	}
-
-	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-		URI resource = null;
-		try {
-			resource = getFilename(request.getRequestURI());
-		} catch (URISyntaxException e) {
-			/* ignore - just leave resource == null */
-		}
-
-		URL url = null;
-		if (resource != null) {
-			if (!resource.isAbsolute())
-				url = getServletContext().getResource(resource.getPath());
-			else
-				url = resource.toURL();
-		}
-
-		if (url == null) {
-			fileNotFound(resource, request, response);
-			return;
-		}
-
-		// process cache control
-		URLConnection conn = secureAction.openURL(url);
-
-		long modifiedSince = request.getDateHeader("If-Modified-Since"); //$NON-NLS-1$
-		if (modifiedSince >= 0) {
-			long modified = getLastModified(conn);
-			if ((modified > 0) && (modifiedSince >= modified)) {
-				response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
-				return;
-			}
-		}
-		InputStream in;
-		try {
-			in = conn.getInputStream();
-		} catch (IOException ex) {
-			fileNotFound(resource, request, response);
-			return;
-		}
-		try {
-			// always set the default charset
-			// not in Servlet 2.1 // response.setCharacterEncoding(CHARSET);
-			deliver(conn, in, resource.toString(), request, response); // TODO: modify to resource==URI ?
-		} finally {
-			in.close();
-		}
-	}
-
-	protected void deliver(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		this.doDeliver(conn, in, filename, request, response);
-	}
-
-	/** 
-	 * Default method delivering content from a file. Subclasses should override this method
-	 * to deliver "broken content" (e.g. truncated, mismatched content length etc.).
-	 * This default method performs the same delivery as the default "register resource" in the
-	 * http service.
-	 * @param conn - The URLConnection to the resource
-	 * @param in - InputStream to read from
-	 * @param filename - the filename being read
-	 * @param request - the servlet request
-	 * @param response - the servlet response
-	 * @throws IOException - on errors
-	 */
-	protected void doDeliver(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		// set when the resource was modified
-		addDateHeader(response, HttpConstants.LAST_MODIFIED, getLastModified(conn));
-		int statusCode = HttpHeaderToStatus(conn.getHeaderField(0));
-
-		response.setStatus(statusCode != -1 ? HttpServletResponse.SC_OK : statusCode);
-
-		int contentlength = getContentLength(conn);
-		if (contentlength >= 0) {
-			response.setContentLength(contentlength);
-
-			String mimeType = computeMimeType(filename, conn);
-			response.setContentType(mimeType);
-
-			// We want to use a writer if we are sending text
-			if (mimeType.startsWith("text/")) //$NON-NLS-1$
-			{
-				PrintWriter writer = response.getWriter();
-
-				writer.flush(); /* write the headers and unbuffer the output */
-
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-
-				char buffer[] = new char[4096];
-				int read;
-				while ((read = reader.read(buffer, 0, buffer.length)) != -1) {
-					writer.write(buffer, 0, read);
-				}
-			} else {
-				ServletOutputStream out = response.getOutputStream();
-
-				out.flush(); /* write the headers and unbuffer the output */
-
-				byte buffer[] = new byte[4096];
-				int read;
-				while ((read = in.read(buffer, 0, buffer.length)) != -1) {
-					out.write(buffer, 0, read);
-					out.flush();
-				}
-			}
-		}
-	}
-
-	protected void fileNotFound(URI file, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		response.sendError(HttpServletResponse.SC_NOT_FOUND, (file == null ? "<no file>" : file.toString()) + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-		URI resource = null;
-		try {
-			resource = getFilename(request.getRequestURI());
-		} catch (URISyntaxException e) {
-			/* ignore - just leave resource == null */
-		}
-
-		URL url = null;
-		if (resource != null) {
-			if (!resource.isAbsolute())
-				url = getServletContext().getResource(resource.getPath());
-			else
-				url = resource.toURL();
-		}
-
-		if (url == null) {
-			fileNotFound(resource, request, response);
-			return;
-		}
-		URLConnection conn = secureAction.openURL(url);
-		// always set default charset
-		// Not in Servlet 2.1 // response.setCharacterEncoding(CHARSET);
-		doDeliverHead(resource.toString(), conn, request, response); // TODO: change API to use URI?
-	}
-
-	protected void deliverHead(String filename, URLConnection conn, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-		this.doDeliverHead(filename, conn, request, response);
-	}
-
-	protected void doDeliverHead(String filename, URLConnection conn, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-		int contentlength = getContentLength(conn);
-		int statusCode = HttpHeaderToStatus(conn.getHeaderField(0));
-		// set status = ok if there was no http header...
-		response.setStatus(statusCode == -1 ? HttpServletResponse.SC_OK : statusCode);
-		if (contentlength >= 0) {
-			response.setContentLength(contentlength);
-
-			String mimeType = computeMimeType(filename, conn);
-			response.setContentType(mimeType);
-			long modified = getLastModified(conn);
-			addDateHeader(response, HttpConstants.LAST_MODIFIED, modified);
-		} else {
-			super.doHead(request, response);
-		}
-
-	}
-
-	public int HttpHeaderToStatus(String httpHeader) {
-		if (httpHeader == null)
-			return -1;
-		try {
-			return Integer.valueOf((httpHeader.substring(9, 12))).intValue();
-		} catch (IndexOutOfBoundsException e) {
-			return -1;
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	/**
-	 * Override to lie about last modified
-	 * @param conn
-	 * @return time in ms
-	 */
-	protected long getLastModified(URLConnection conn) {
-		return conn.getLastModified();
-	}
-
-	/**
-	 * Override to lie about content length
-	 * @param conn
-	 * @return length in bytes
-	 */
-	protected int getContentLength(URLConnection conn) {
-		return conn.getContentLength();
-	}
-
-	protected URI getFilename(String filename) throws URISyntaxException {
-		//If the requested URI is equal to the Registeration's alias, send the file
-		//corresponding to the alias.  Otherwise, we have request for a file in an
-		//registered directory (the file was not directly registered itself).
-		if (filename.equals(alias)) {
-			filename = path.getPath();
-		} else {
-			// The file we re looking for is the registered resource (alias) + the rest of the
-			// filename that is not part of the registered resource.  For example, if we export
-			// /a to /tmp and we have a request for /a/b/foo.txt, then /tmp is our directory
-			// (file.toString()) and /b/foo.txt is the rest.
-			// The result is that we open the file /tmp/b/foo.txt.
-
-			int aliaslen = alias.length();
-			int pathlen = path.getPath().length();
-
-			if (pathlen == 1) /* path == "/" */
-			{
-				if (aliaslen > 1) /* alias != "/" */
-				{
-					filename = filename.substring(aliaslen);
-				}
-			} else /* path != "/" */
-			{
-				StringBuffer buf = new StringBuffer(aliaslen + pathlen);
-				buf.append(path.getPath());
-
-				if (aliaslen == 1) /* alias == "/" */
-				{
-					buf.append(filename);
-				} else /* alias != "/" */
-				{
-					buf.append(filename.substring(aliaslen));
-				}
-
-				filename = buf.toString();
-			}
-		}
-		return new URI(path.getScheme(), path.getUserInfo(), path.getHost(), path.getPort(), filename, path.getQuery(), path.getFragment());
-		// return (filename);
-	}
-
-	/**
-	 * This method returns the correct MIME type of a given URI by first checking
-	 * the HttpContext::getMimeType and, if null, checking the httpservice's MIMETypes table.
-	 * return mimetype with charset=utf-8 for all text/... types
-	 */
-	protected String computeMimeType(String name, URLConnection conn) {
-		String mimeType = computeMimeType2(name, conn);
-		if (mimeType.startsWith("text/")) //$NON-NLS-1$
-			return mimeType + "; charset=utf-8"; //$NON-NLS-1$
-		return mimeType;
-	}
-
-	protected String computeMimeType2(String name, URLConnection conn) {
-		// use type set in connection if it is available
-		String mimeType = conn.getContentType();
-		if (mimeType != null) {
-			return (mimeType);
-		}
-		// use type from context
-		mimeType = getServletContext().getMimeType(name);
-		if (mimeType != null) {
-			return (mimeType);
-		}
-		// try the "extras"
-		return MimeLookup.getMimeType(name);
-	}
-
-	public HttpService getHttpService() {
-		return Activator.getInstance().getHttp();
-	}
-
-	public static final DateFormat PATTERN_RFC1123 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); //$NON-NLS-1$
-
-	/**
-	 * Support setting date header - in servlet > 2.1 it is possible to call this method directly on the HttpResponse.
-	 * @param response
-	 * @param name
-	 * @param timestamp
-	 */
-	public void addDateHeader(HttpServletResponse response, String name, long timestamp) {
-		DateFormat df = PATTERN_RFC1123;
-		// must always be GMT
-		df.setTimeZone(TimeZone.getTimeZone("GMT")); //$NON-NLS-1$
-		response.setHeader(name, df.format(new Date(timestamp)));
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ChopAndDelay.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ChopAndDelay.java
deleted file mode 100644
index c8e823c..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ChopAndDelay.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.net.URLConnection;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.equinox.p2.testserver.LinearChange;
-
-/**
- * The ChopAndDelay deliver the content chopped up in smaller packets and adds delay
- * between packets.
- * 
- */
-public class ChopAndDelay extends BasicResourceDelivery {
-
-	int chopFactor;
-	private LinearChange delayFunction;
-	private long msDelay;
-	private int fastPercent;
-
-	/**
-	 * Create a file molester that turns content into gibberish.
-	 * 
-	 * @param theAlias the path this servlet is registered under
-	 * @param thePath the path to use as root for the alias
-	 * @param chopFactor - a value between 1 and 12 where 1 is one byte, and 12 is 4k bytes at a time.
-	 * @param delayFunction - function returning a series of delay values
-	 */
-	public ChopAndDelay(String theAlias, URI thePath, int chopFactor, int fastPercent, LinearChange delayFunction) {
-		super(theAlias, thePath);
-		if (chopFactor < 1 || chopFactor > 12)
-			throw new IllegalArgumentException("chopFactor must be between 1 and 12 (inclusive) - was:" + Integer.valueOf(chopFactor)); //$NON-NLS-1$
-		this.chopFactor = chopFactor;
-		if (fastPercent < 0 || fastPercent > 100)
-			throw new IllegalArgumentException("fastPercent must be 0-100 - was:" + Integer.valueOf(fastPercent)); //$NON-NLS-1$
-		this.fastPercent = fastPercent;
-		this.delayFunction = delayFunction;
-		msDelay = 0L;
-		this.delayFunction = delayFunction;
-		if (this.delayFunction.hasNext())
-			msDelay = delayFunction.next();
-	}
-
-	private static final long serialVersionUID = 1L;
-
-	protected void deliver(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		// chop up all files
-		doChop(conn, in, filename, request, response);
-	}
-
-	protected void doChop(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		LinearChange delayer = delayFunction.fork();
-		int contentlength = conn.getContentLength();
-		if (contentlength >= 0) {
-			response.setContentLength(contentlength);
-
-			String mimeType = computeMimeType(filename, conn);
-			response.setContentType(mimeType);
-
-			// We want to use a writer if we are sending text
-			if (mimeType.startsWith("text/")) //$NON-NLS-1$
-			{
-				PrintWriter writer = response.getWriter();
-
-				writer.flush(); /* write the headers and unbuffer the output */
-
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-
-				int chunksize = 1 << chopFactor;
-				char buffer[] = new char[4096];
-				int read;
-				int totalRead = 0;
-				boolean delay = fastPercent == 0 ? true : false;
-				while ((read = reader.read(buffer, 0, buffer.length)) != -1) {
-					int nChunks = read / chunksize + (read % chunksize > 0 ? 1 : 0);
-					for (int i = 0; i < nChunks; i++) {
-						writer.write(buffer, i * chunksize, Math.min(chunksize, read - i * chunksize));
-						writer.flush();
-						if (delay && msDelay > 0)
-							try {
-								Thread.sleep(msDelay);
-							} catch (InterruptedException e) {
-								// ignore
-							}
-						if (delay && delayer.hasNext())
-							msDelay = delayer.next();
-					}
-					totalRead += read;
-					if (totalRead > contentlength * fastPercent / 100)
-						delay = true;
-				}
-			} else {
-				ServletOutputStream out = response.getOutputStream();
-
-				out.flush(); /* write the headers and unbuffer the output */
-
-				int chunksize = 1 << chopFactor;
-				byte buffer[] = new byte[4096];
-				int read;
-				int totalRead = 0;
-				boolean delay = fastPercent == 0 ? true : false;
-				while ((read = in.read(buffer, 0, buffer.length)) != -1) {
-					int nChunks = read / chunksize + (read % chunksize > 0 ? 1 : 0);
-					for (int i = 0; i < nChunks; i++) {
-						out.write(buffer, i * chunksize, Math.min(chunksize, read - i * chunksize));
-						out.flush();
-						if (delay && msDelay > 0)
-							try {
-								Thread.sleep(msDelay);
-							} catch (InterruptedException e) {
-								// ignore
-							}
-						if (delay && delayer.hasNext())
-							msDelay = delayer.next();
-					}
-					totalRead += read;
-					if (totalRead > contentlength * fastPercent / 100)
-						delay = true;
-				}
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ContentLengthLier.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ContentLengthLier.java
deleted file mode 100644
index 98a0377..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/ContentLengthLier.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.net.URI;
-import java.net.URLConnection;
-
-public class ContentLengthLier extends BasicResourceDelivery {
-
-	double keepFactor;
-
-	/**
-	 * The ContentLengthLier sets the content length to a percentage of the original length.
-	 * Values between 0 and 200 can be used (to lie about files being both smaller < 100, or larger > 100).
-	 * 
-	 * @param theAlias
-	 * @param thePath
-	 * @param keepPercent - how much to lie between 0 and 200 (inclusive)
-	 */
-	public ContentLengthLier(String theAlias, URI thePath, int keepPercent) {
-		super(theAlias, thePath);
-		if (keepPercent < 0 || keepPercent > 200)
-			throw new IllegalArgumentException("keepPercent must be between 0 and 200 - was:" + Integer.valueOf(keepPercent)); //$NON-NLS-1$
-		keepFactor = keepPercent / 100.0;
-	}
-
-	private static final long serialVersionUID = 1L;
-
-	protected int getContentLength(URLConnection conn) {
-		int contentLength = conn.getContentLength();
-		return (contentLength >= 0) ? (int) (contentLength * keepFactor) : contentLength;
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/FileMolester.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/FileMolester.java
deleted file mode 100644
index 3a54852..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/FileMolester.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.net.URLConnection;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * The FileMolester will keep a certain amount of the file from the beginning, and return
- * garbage/gibberish for the rest of the file's content. The garbage is produced by shifting every
- * byte 1 bit to the left.
- * 
- * The idea for keeping some percentage is to support keeping xml headers / doctype etc.
- */
-public class FileMolester extends BasicResourceDelivery {
-
-	int keepLength;
-
-	/**
-	 * Create a file molester that turns content into gibberish.
-	 * 
-	 * @param theAlias the path this servlet is registered under
-	 * @param thePath the path to use as root for the alias
-	 * @param keepLength - how many bytes in the beginning that will be unmolested
-	 */
-	public FileMolester(String theAlias, URI thePath, int keepLength) {
-		super(theAlias, thePath);
-		if (keepLength < 0)
-			throw new IllegalArgumentException("keepLength must be >= 0 - was:" + Integer.valueOf(keepLength)); //$NON-NLS-1$
-		this.keepLength = keepLength;
-	}
-
-	private static final long serialVersionUID = 1L;
-
-	protected void deliver(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		// molest all files
-		doMolest(conn, in, filename, request, response);
-	}
-
-	protected void doMolest(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		int contentlength = conn.getContentLength();
-		if (contentlength >= 0) {
-			response.setContentLength(contentlength);
-
-			String mimeType = computeMimeType(filename, conn);
-			response.setContentType(mimeType);
-
-			// We want to use a writer if we are sending text
-			if (mimeType.startsWith("text/")) //$NON-NLS-1$
-			{
-				PrintWriter writer = response.getWriter();
-
-				writer.flush(); /* write the headers and unbuffer the output */
-
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-
-				char buffer[] = new char[4096];
-				int read;
-				int written = 0;
-				while ((read = reader.read(buffer, 0, buffer.length)) != -1) {
-					if (written + read > keepLength)
-						molest(buffer, written, read);
-					writer.write(buffer, 0, read);
-					written += read;
-				}
-			} else {
-				ServletOutputStream out = response.getOutputStream();
-
-				out.flush(); /* write the headers and unbuffer the output */
-
-				byte buffer[] = new byte[4096];
-				int read;
-				int written = 0;
-				while ((read = in.read(buffer, 0, buffer.length)) != -1) {
-					if (written + read > keepLength)
-						molest(buffer, written, read);
-					out.write(buffer, 0, read);
-					written += read;
-				}
-			}
-		}
-	}
-
-	/** Molest a char buffer */
-	private void molest(char[] buffer, int written, int read) {
-		int start = keepLength - written;
-		if (start > read)
-			return;
-		for (int i = start < 0 ? 0 : start; i < read; i++)
-			buffer[i] = (char) (buffer[i] << 1);
-	}
-
-	/** Molest a byte buffer */
-	private void molest(byte[] buffer, int written, int read) {
-		int start = keepLength - written;
-		if (start > read)
-			return;
-		for (int i = start < 0 ? 0 : start; i < read; i++)
-			buffer[i] = (byte) (buffer[i] << 1);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/HelloWorld.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/HelloWorld.java
deleted file mode 100644
index 7bc6828..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/HelloWorld.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Simple "smoke test" servlet - for manual testing that the http server is running and is
- * capable of running servlets. 
- */
-public class HelloWorld extends HttpServlet {
-
-	private static final long serialVersionUID = 1L;
-
-	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-		response.setContentType("text/html"); //$NON-NLS-1$
-		PrintWriter writer = response.getWriter();
-		writer.println("<html>"); //$NON-NLS-1$
-		writer.println("<body>"); //$NON-NLS-1$
-		writer.println("Hello, Equinox Embedded HTTP World"); //$NON-NLS-1$
-		writer.println("<br/>"); //$NON-NLS-1$
-		writer.println("</body>"); //$NON-NLS-1$
-		writer.println("</html>"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/LastModifiedLier.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/LastModifiedLier.java
deleted file mode 100644
index 84d568c..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/LastModifiedLier.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.net.URI;
-import java.net.URLConnection;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Manipulates the last modified time of serviced files.
- * The manipulator will set all modified times to 0 if TYPE_ZERO is used, to 1 if TYPE_OLD is used,
- * to the current time if TYPE_NOW is used, and a value 24 hours into the future if TYPE_FUTURE is used.
- * (Future values are not allowed in HTTP - the server should guard against them and force the value
- * to be no bigger than the response date).
- * The TYPE_BAD will produce a HTTP header with wrong format for the date value (fails date parsing).
- *
- */
-public class LastModifiedLier extends BasicResourceDelivery {
-
-	public static final int TYPE_ZERO = 1;
-	public static final int TYPE_OLD = 2;
-	public static final int TYPE_NOW = 3;
-	public static final int TYPE_FUTURE = 4;
-	public static final int TYPE_BAD = 5;
-	private static final int TYPE_LAST = TYPE_BAD;
-
-	private int type;
-
-	/**
-	 * The LastModifiedLier returns a last modified time according to the parameter timeType.
-	 * It can be TYPE_ZERO, TYPE_OLD, TYPE_NOW, TYPE_FUTURE, or TYPE_BAD.
-	 * 
-	 * @param theAlias
-	 * @param thePath
-	 * @param timeType - a TYPE_XXX constant defining what time to return
-	 */
-	public LastModifiedLier(String theAlias, URI thePath, int timeType) {
-		super(theAlias, thePath);
-		if (timeType < TYPE_ZERO || timeType > TYPE_LAST)
-			throw new IllegalArgumentException("unknown timeType, was:" + Integer.valueOf(timeType)); //$NON-NLS-1$
-		type = timeType;
-	}
-
-	private static final long serialVersionUID = 1L;
-
-	protected long getLastModified(URLConnection conn) {
-		// ignore real value and lie based on constant
-		return getLastModified();
-	}
-
-	private long getLastModified() {
-		switch (type) {
-			case TYPE_ZERO :
-				return 0L;
-			case TYPE_OLD :
-				return 1000L;
-			case TYPE_NOW :
-				return System.currentTimeMillis();
-			case TYPE_FUTURE :
-				return System.currentTimeMillis() + 24 * 60 * 60 * 1000;
-		}
-		// should not happen
-		return 0L;
-	}
-
-	public void addDateHeader(HttpServletResponse response, String name, long timestamp) {
-		if (type != TYPE_BAD)
-			super.addDateHeader(response, name, timestamp);
-		else
-			response.setHeader(name, "intentionally-bad-date"); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Redirector.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Redirector.java
deleted file mode 100644
index ab875af..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Redirector.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.net.URISyntaxException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Redirects n times, before redirecting to final location (a path on same server).
- * 
- */
-public class Redirector extends HttpServlet {
-
-	private static final long serialVersionUID = 1L;
-
-	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-		response.setContentType("text/html"); //$NON-NLS-1$
-		PrintWriter writer = response.getWriter();
-		doStatus(request, response, writer);
-	}
-
-	protected void doStatus(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) {
-		String requestPath = request.getRequestURI();
-		String[] result = requestPath.split("/"); //$NON-NLS-1$
-		if (result.length < 3 && !"redirect".equalsIgnoreCase(result[1])) //$NON-NLS-1$
-		{
-			getServletContext().log("Error Servlet requires being configured to get /redirect/count paths. Example /redirect/500, got" + requestPath); //$NON-NLS-1$
-			return;
-		}
-		// get the error code
-		int iterations = 0;
-		try {
-			iterations = Integer.parseInt(result[2]);
-		} catch (NumberFormatException e) {
-			response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-			getServletContext().log("Number format exception in /redirect/count path.", e); //$NON-NLS-1$
-			return;
-		}
-		String redirectPath;
-		if (iterations == 0) {
-			if (result.length > 3)
-				redirectPath = requestPath.substring("/redirect/0".length()); //$NON-NLS-1$
-			else
-				redirectPath = null;
-		} else {
-			redirectPath = "/redirect/" + Integer.valueOf(iterations - 1); //$NON-NLS-1$
-			for (int i = 3; i < result.length; i++)
-				redirectPath += "/" + result[i]; //$NON-NLS-1$
-		}
-
-		if (redirectPath != null) {
-			// perform a redirect
-			URI location = null;
-			try {
-				location = new URI(request.getScheme(), null, request.getServerName(), request.getServerPort(), //
-						redirectPath, null, null);
-			} catch (URISyntaxException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-				response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-				htmlPage(writer, "Internal error constructing redirect URL", false); //$NON-NLS-1$
-				return;
-			}
-
-			response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
-			response.setHeader("Location", location.toString()); //$NON-NLS-1$
-		} else {
-			// set the errorCode as the response and write a message
-			if (writer != null)
-				htmlPage(writer, "Redirected Successfully", false); //$NON-NLS-1$
-		}
-	}
-
-	public void doHead(HttpServletRequest request, HttpServletResponse response) {
-		// produce same response as for GET, but no content (writer == null)
-		doStatus(request, response, null);
-	}
-
-	private void htmlPage(PrintWriter writer, String body, boolean consoleOutput) {
-		if (consoleOutput)
-			System.err.println(body);
-
-		writer.println("<html>"); //$NON-NLS-1$
-		writer.println("<body>"); //$NON-NLS-1$
-		writer.println(body);
-		writer.println("<br/>"); //$NON-NLS-1$
-		writer.println("</body>"); //$NON-NLS-1$
-		writer.println("</html>"); //$NON-NLS-1$
-		writer.flush();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/StatusCodeResponse.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/StatusCodeResponse.java
deleted file mode 100644
index d162dcd..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/StatusCodeResponse.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Produces a response with a status code specified in the request URI.
- * Requires to be registered for "/status" path. The request is made on the format
- * "/status/code/" where code is the HTTP integer status code. The path after /code/ can be
- * anything - it is always ignored.
- * The response to GET produces HTML text "Requested status: code".
- * The response to HEAD just produces the status header response.
- * 
- */
-public class StatusCodeResponse extends HttpServlet {
-
-	private static final long serialVersionUID = 1L;
-
-	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-		response.setContentType("text/html"); //$NON-NLS-1$
-		PrintWriter writer = response.getWriter();
-		doStatus(request, response, writer);
-	}
-
-	protected void doStatus(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) {
-		String requestPath = request.getRequestURI();
-		String[] result = requestPath.split("/"); //$NON-NLS-1$
-		if (result.length < 3 && !"status".equalsIgnoreCase(result[1])) //$NON-NLS-1$
-		{
-			getServletContext().log("Error Servlet requires being configured to get /status/statuscode paths. Example /status/500, got" + requestPath); //$NON-NLS-1$
-			return;
-		}
-		// get the error code
-		int errorCode = 0;
-		try {
-			errorCode = Integer.parseInt(result[2]);
-		} catch (NumberFormatException e) {
-			response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-			getServletContext().log("Number format exception in /status/statuscode path.", e); //$NON-NLS-1$
-			return;
-		}
-
-		// set the errorCode as the response and write a message
-		response.setStatus(errorCode);
-		if (writer != null)
-			htmlPage(writer, "Requested Status: " + Integer.valueOf(errorCode), false); //$NON-NLS-1$
-	}
-
-	public void doHead(HttpServletRequest request, HttpServletResponse response) {
-		// produce same reponse as for GET, but no content (writer == null)
-		doStatus(request, response, null);
-	}
-
-	private void htmlPage(PrintWriter writer, String body, boolean consoleOutput) {
-		if (consoleOutput)
-			System.err.println(body);
-
-		writer.println("<html>"); //$NON-NLS-1$
-		writer.println("<body>"); //$NON-NLS-1$
-		writer.println(body);
-		writer.println("<br/>"); //$NON-NLS-1$
-		writer.println("</body>"); //$NON-NLS-1$
-		writer.println("</html>"); //$NON-NLS-1$
-		writer.flush();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/TimeOut.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/TimeOut.java
deleted file mode 100644
index e5544cd..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/TimeOut.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * This servlet is a "black hole" - it just sleeps for an hour on any request.
- *
- */
-public class TimeOut extends HttpServlet {
-
-	private static final long serialVersionUID = 1L;
-	private static long MINUTES_MS = 1000 * 60; // minutes in ms
-
-	protected void doGet(HttpServletRequest request, HttpServletResponse response) {
-		doDelay();
-	}
-
-	private void doDelay() {
-		// Do nothing...
-		try {
-			Thread.sleep(10 * MINUTES_MS); // sleep 10 minutes
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected void doHead(HttpServletRequest request, HttpServletResponse response) {
-		doDelay();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Truncator.java b/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Truncator.java
deleted file mode 100644
index 17c4bf6..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/src/org/eclipse/equinox/p2/testserver/servlets/Truncator.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, Cloudsmith Inc 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.testserver.servlets;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.net.URLConnection;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class Truncator extends BasicResourceDelivery {
-
-	double keepFactor;
-
-	public Truncator(String theAlias, URI thePath, int keepPercent) {
-		super(theAlias, thePath);
-		if (keepPercent < 0 || keepPercent > 100)
-			throw new IllegalArgumentException("keepPercent must be between 0 and 100 - was:" + Integer.valueOf(keepPercent)); //$NON-NLS-1$
-		keepFactor = keepPercent / 100.0;
-	}
-
-	private static final long serialVersionUID = 1L;
-
-	protected void deliver(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		// truncate all files
-		doTruncate(conn, in, filename, request, response);
-	}
-
-	protected void doTruncate(URLConnection conn, InputStream in, String filename, HttpServletRequest request, HttpServletResponse response) throws IOException {
-		int contentlength = conn.getContentLength();
-		if (contentlength >= 0) {
-			response.setContentLength(contentlength);
-
-			String mimeType = computeMimeType(filename, conn);
-			response.setContentType(mimeType);
-
-			// We want to use a writer if we are sending text
-			if (mimeType.startsWith("text/")) //$NON-NLS-1$
-			{
-				PrintWriter writer = response.getWriter();
-
-				writer.flush(); /* write the headers and unbuffer the output */
-
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-
-				char buffer[] = new char[4096];
-				int read;
-				int written = 0;
-				while ((read = reader.read(buffer, 0, buffer.length)) != -1) {
-					read = cap(contentlength, written, read);
-					writer.write(buffer, 0, read);
-					written += read;
-				}
-			} else {
-				ServletOutputStream out = response.getOutputStream();
-
-				out.flush(); /* write the headers and unbuffer the output */
-
-				byte buffer[] = new byte[4096];
-				int read;
-				int written = 0;
-				while ((read = in.read(buffer, 0, buffer.length)) != -1) {
-					read = cap(contentlength, written, read);
-					out.write(buffer, 0, read);
-					written += read;
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns read if entire amount should be read. Returns a lower number if
-	 * written + read > keepPercent of total
-	 * @param total
-	 * @param written
-	 * @param read
-	 * @return read, or a lower number if cap is reached
-	 */
-	private int cap(int total, int written, int read) {
-		int cap = (int) (keepFactor * total);
-		return (read + written) > cap ? cap - written : read;
-	}
-
-	protected void deliverHead(String filename, URLConnection conn, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-		// deliver normal head response
-		super.doDeliverHead(filename, conn, request, response);
-
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/artifacts.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/artifacts.xml
deleted file mode 100644
index 19e55d7..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/artifacts.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?artifactRepository class='org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1218734853468'/>
-    <property name='p2.system' value='false'/>
-  </properties>
-  <mappings size='3'>
-    <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
-    <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
-    <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
-  </mappings>
-  <artifacts size='2'>
-    <artifact classifier='osgi.bundle' id='aaPlugin' version='1.0.0'>
-      <properties size='3'>
-        <property name='artifact.size' value='469'/>
-        <property name='download.size' value='469'/>
-        <property name='download.contentType' value='application/zip'/>
-      </properties>
-    </artifact>
-    <artifact classifier='org.eclipse.update.feature' id='aaFeature' version='1.0.0'>
-      <properties size='2'>
-        <property name='artifact.size' value='670'/>
-        <property name='download.size' value='670'/>
-      </properties>
-    </artifact>
-  </artifacts>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/features/aaFeature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/features/aaFeature_1.0.0.jar
deleted file mode 100644
index f800a9a..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/features/aaFeature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/plugins/aaPlugin_1.0.0.jar b/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/plugins/aaPlugin_1.0.0.jar
deleted file mode 100644
index 65ff62b..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/plugins/aaPlugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/readme.txt b/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/readme.txt
deleted file mode 100644
index 6fcc19b..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/ar/simple/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a very simple artifact repository containing a single group IU (a feature), and
-a single bundle IU. This repository is used by ArtifactRepositoryManagerTest
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.html b/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.html
deleted file mode 100644
index c07f8d2..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<body>
-<h1>Welcome to the p2 test server</h1>
-<p>You can access all files under the "webfiles" folder in this bundle via either a "public" or "private"
-pseudoroot. Try the public link <a href="http://localhost:8080/public/index.html">here</a></p>
-<p>To access using a login, password, you simply use the pseudoroot "/private", and you will be asked to
-log in. The credentials are: user: <b>Aladdin</b>, password: <b>open sesame</b>. Try it
-<a href="http://localhost:8080/private/index.html">here</a></p>
-<p>The following real content is registered:</p>
-<ul>
-<li>/proxy/private/ - goes to http://http://download.eclipse.org/eclipse/updates/3.4, but requires authentication.</li>
-<li>/proxy/public/ - goes to http://http://download.eclipse.org/eclipse/updates/3.4, (useful in redirects).</li>
-<li>/proxy/never/ - goes to http://http://download.eclipse.org/eclipse/updates/3.4, but always fail authentication.</li>
-<li>/proxy/flipFlop/ - goes to http://http://download.eclipse.org/eclipse/updates/3.4, but fails authentication every second attempt.</li>
-<li>/proxy/truncated - goes to updates/3.4, but truncates all files</li>
-<li>/proxy/molested - goes to updates/3.4, but generates gibberish for all files</li>
-<li>/proxy/decelerate - goes to updates/3.4, but delivers files in very small delayed packets - delay increases.</li>
-<li>/proxy/decelerate2 - like /proxy/decelerate, but does not start delay until 80% of file has been processed. Good for progress bar testing.</li>
-<li>/proxy/readtimeout - When 10% of file has been processed, it delays deliver 10 minutes. Good for progress bar/cancel testing.</li>
-<li>/proxy/modified/... - goes to updates/3.4, but delivers various errors in "last modified" (see below)
-	<ul><li>.../zero - all times are returned as 0</li>
-		<li>.../old - all times are very old</li>
-		<li>.../now - all times are the same as the request time</li>
-		<li>.../future - all times are in the future (which is illegal in HTTP)</li>
-		<li>.../bad - the time is not a date at all - the client should throw an error</li>
-	</ul>
-</li>
-<li>/proxy/length/... - goes to updates/3.4, but delivers various content length errors (see below)
-	<ul><li>.../zero - length is reported as 0 (but all content written to stream)</li>
-		<li>.../less - less than the correct size is reported (all content written)</li>
-		<li>.../more - double the correct size is reported (but only available content is written)</li>
-	</ul>
-</li>
-</li>/proxy2/... - goes to http://www.eclipse.org/equinox/p2/testing/updateSite - the same
-paths as for /proxy/... are available.
-</li>
-</li>/proxy3/aprivate/... - goes to http://www.eclipse.org/equinox/p2/testing/updateSite. This proxy makes
-the subpaths .../plugins, and .../features, private.
-</li>
-</ul>
-<p>The content listed below is also available and can be accessed under:
-<ul><li>/public</li>
-<li>/private</li>
-<li>/never</li>
-<li>/flipFlop</li>
-<li>/truncated</li>
-<li>/molested</li>
-</ul>
-<p>Content</p>
-<ul>
-<li>.../ar/simple - a simple artifact repo with a feature and a plugin, uses artifact.xml</li>
-<li>.../mdr/composite - a composite meta data repository - consisting of two mdrs</li>
-<li>.../mdr/composite/one - a regular meta data repostory, uses content.xml</li>
-<li>.../updatesite - a classic update site with site.xml, features and plugins subdirectory</li>
-</ul>
-<p>The following two URL's are also available</p>
-<ul>
-<li>/timeout/ - a black hole - sleeps 10 minutes and produces no response.</li>
-<li>/status/nnn/xxxxx - returns the status-code "nnn", and text/html
-content, The xxxxx part is ignored. e.g. http://localhost:8080/status/500/ignored/part</li>
-<li>/redirect/nnn[/location] - redirects nnn times before redirecting to "location" - if no
-location is stated, a final page with message 'Redirected Successfully' is displayed.
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.xml
deleted file mode 100644
index 9e25031..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/index.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<body>
-<h1>Welcome to the p2 test server</h1>
-<p>You can access all files under the "webfiles" folder in this bundle via either a "public" or "private"
-pseudoroot. Try the public link <a href="http://localhost:8080/public/index.html">here</a></p>
-<p>To access using a login, password, you simply use the pseudoroot "/private", and you will be asked to
-log in. The credentials are: user: <b>Aladdin</b>, password: <b>open sesame</b>. Try it
-<a href="http://localhost:8080/private/index.html">here</a></p>
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/compositeContent.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/compositeContent.xml
deleted file mode 100644
index af4be35..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/compositeContent.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeMetadataRepository version='1.0.0'?>
-<repository name='metadata name' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
-  <properties size='2'>
-    <property name='p2.compressed' value='false'/>
-    <property name='p2.timestamp' value='1234'/>
-  </properties>
-  <children size='2'>
-    <child location='one'/>
-    <child location='two'/>
-  </children>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/one/content.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/one/content.xml
deleted file mode 100644
index 41f172f..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/one/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='Good Test Repository' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1' description='Good test repository description'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/two/content.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/two/content.xml
deleted file mode 100644
index fd315db..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/mdr/composite/two/content.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
-<repository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
-  <properties size='3'>
-    <property name='p2.system' value='true'/>
-    <property name='p2.timestamp' value='1221680367875'/>
-    <property name='site.checksum' value='2404093275'/>
-  </properties>
-  <units size='5'>
-    <unit id='test.feature.feature.jar' version='1.0.0'>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
-        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
-      </provides>
-      <filter>
-        (org.eclipse.update.install.features=true)
-      </filter>
-      <artifacts size='1'>
-        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='zipped'>
-            true
-          </instruction>
-        </instructions>
-      </touchpointData>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='test.bundle' version='1.0.0' singleton='false'>
-      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.fragment' version='1.0.0' singleton='false'>
-      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='1'>
-        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
-      </properties>
-      <provides size='3'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
-        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
-      </provides>
-      <artifacts size='1'>
-        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
-      </artifacts>
-      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
-      <touchpointData size='1'>
-        <instructions size='1'>
-          <instruction key='manifest'>
-          </instruction>
-        </instructions>
-      </touchpointData>
-    </unit>
-    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
-      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
-      <properties size='5'>
-        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
-        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
-        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
-        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
-        <property name='df_LT.featurename' value='j the feature'/>
-      </properties>
-      <provides size='2'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
-        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
-      </provides>
-      <requires size='3'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
-          <filter>
-            (org.eclipse.update.install.features=true)
-          </filter>
-        </required>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-      <licenses size='1'>
-        <license url='http://www.example.com/license'>
-          [Enter License Description here.]
-        </license>
-      </licenses>
-      <copyright url='http://www.example.com/copyright'>
-        [Enter Copyright Description here.]
-      </copyright>
-    </unit>
-    <unit id='Default' version='0.0.0'>
-      <properties size='3'>
-        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
-        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
-        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
-      </properties>
-      <provides size='1'>
-        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
-      </provides>
-      <requires size='1'>
-        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
-      </requires>
-      <touchpoint id='null' version='0.0.0'/>
-    </unit>
-  </units>
-</repository>
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/features/test.feature_1.0.0.jar b/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/features/test.feature_1.0.0.jar
deleted file mode 100644
index 80bbc69..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/features/test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.bundle_1.0.0.jar b/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.bundle_1.0.0.jar
deleted file mode 100644
index 00dd829..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.bundle_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.fragment_1.0.0.jar b/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.fragment_1.0.0.jar
deleted file mode 100644
index d033e2e..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/plugins/test.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/site.xml b/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/site.xml
deleted file mode 100644
index 4e61977..0000000
--- a/bundles/org.eclipse.equinox.p2.testserver/webfiles/updatesite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/test.feature_1.0.0.jar" id="test.feature" version="1.0.0"/>
-</site>
diff --git a/bundles/org.eclipse.equinox.p2.tools/.project b/bundles/org.eclipse.equinox.p2.tools/.project
deleted file mode 100644
index a0af601..0000000
--- a/bundles/org.eclipse.equinox.p2.tools/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
deleted file mode 100644
index 18fa42e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.touchpoint.eclipse</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2daa5df..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Fri Feb 22 11:24:21 EST 2008
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8bc0190..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:03 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
deleted file mode 100644
index 50f723f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,48 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.eclipse;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 2.0.0.qualifier
-Import-Package: javax.xml.parsers,
- org.eclipse.core.runtime.preferences;version="3.2.0",
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.garbagecollector,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.director;resolution:=optional,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.simpleconfigurator.manipulator,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.spi,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.publisher;resolution:=optional,
- org.eclipse.equinox.p2.publisher.eclipse;resolution:=optional,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.osgi.service.environment;version="1.0.0",
- org.eclipse.osgi.service.resolver;version="1.2.0";resolution:=optional,
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.prefs;version="1.1.1",
- org.osgi.util.tracker;version="1.3.0",
- org.w3c.dom,
- org.xml.sax
-Export-Package: org.eclipse.equinox.internal.p2.touchpoint.eclipse;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation",
- org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;x-internal:=true,
- org.eclipse.equinox.internal.p2.update;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.directorywatcher",
- org.eclipse.equinox.p2.touchpoint.eclipse.query
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
deleted file mode 100644
index 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
deleted file mode 100644
index 079bdd8..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Eclipse Touchpoint
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
deleted file mode 100644
index 0194025..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/plugin.xml
+++ /dev/null
@@ -1,234 +0,0 @@
-<plugin>
-	<extension point="org.eclipse.equinox.p2.engine.touchpoints" id="eclipse" name="Eclipse Touchpoint">
-		<touchpoint 
-			type="org.eclipse.equinox.p2.osgi" 
-			class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint"
-			version="1.0.0"/>
-	</extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddJVMArgumentAction"
-          name="addJvmArg"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddProgramArgumentAction"
-          name="addProgramArg"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddRepositoryAction"
-          name="addRepository"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddSourceBundleAction"
-          name="addSourceBundle"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.CheckTrustAction"
-          name="checkTrust"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.ChmodAction"
-          name="chmod"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.LinkAction"
-          name="ln"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.CollectAction"
-          name="collect"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction"
-          name="installBundle"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallFeatureAction"
-          name="installFeature"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.MarkStartedAction"
-          name="markStarted"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveJVMArgumentAction"
-          name="removeJvmArg"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveProgramArgumentAction"
-          name="removeProgramArg"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveRepositoryAction"
-          name="removeRepository"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.RemoveSourceBundleAction"
-          name="removeSourceBundle"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction"
-          name="setFrameworkDependentProperty"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction"
-          name="setFrameworkIndependentProperty"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetLauncherNameAction"
-          name="setLauncherName"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetProgramPropertyAction"
-          name="setProgramProperty"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.SetStartLevelAction"
-          name="setStartLevel"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.UninstallBundleAction"
-          name="uninstallBundle"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.UninstallFeatureAction"
-          name="uninstallFeature"
-          touchpointType="org.eclipse.equinox.p2.osgi"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
-	<extension
-			point="org.eclipse.equinox.p2.garbagecollector.marksetproviders"
-			id="EclipseTouchpoint">
-			<run 
-				class="org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseMarkSetProvider"/>
-	</extension>
-	</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
deleted file mode 100644
index 77f5529..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Activator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.touchpoint.eclipse"; //$NON-NLS-1$
-	private static BundleContext context = null;
-
-	public void start(BundleContext ctx) throws Exception {
-		Activator.context = ctx;
-	}
-
-	public void stop(BundleContext ctx) throws Exception {
-		Activator.context = null;
-	}
-
-	public static BundleContext getContext() {
-		return Activator.context;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
deleted file mode 100644
index 08c3b8e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/AggregatedBundleRepository.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.OutputStream;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.AbstractArtifactRepository;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-public class AggregatedBundleRepository extends AbstractArtifactRepository implements IFileArtifactRepository {
-
-	private static final String REPOSITORY_TYPE = AggregatedBundleRepository.class.getName();
-	private final Collection bundleRepositories;
-
-	public AggregatedBundleRepository(Collection bundleRepositories) {
-		super(REPOSITORY_TYPE, REPOSITORY_TYPE, "1.0", null, null, null, null); //$NON-NLS-1$
-		this.bundleRepositories = bundleRepositories;
-	}
-
-	public File getArtifactFile(IArtifactKey key) {
-		for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
-			IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
-			File artifactFile = repository.getArtifactFile(key);
-			if (artifactFile != null)
-				return artifactFile;
-		}
-		return null;
-	}
-
-	public File getArtifactFile(IArtifactDescriptor descriptor) {
-		for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
-			IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
-			File artifactFile = repository.getArtifactFile(descriptor);
-			if (artifactFile != null)
-				return artifactFile;
-		}
-		return null;
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
-			IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
-			if (repository.contains(descriptor))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean contains(IArtifactKey key) {
-		for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
-			IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
-			if (repository.contains(key))
-				return true;
-		}
-		return false;
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		Set artifactDescriptors = new HashSet();
-		for (Iterator it = bundleRepositories.iterator(); it.hasNext();) {
-			IFileArtifactRepository repository = (IFileArtifactRepository) it.next();
-			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
-			if (descriptors != null)
-				artifactDescriptors.addAll(Arrays.asList(descriptors));
-		}
-		return (IArtifactDescriptor[]) artifactDescriptors.toArray(new IArtifactDescriptor[artifactDescriptors.size()]);
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException(Messages.artifact_retrieval_unsupported);
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException(Messages.artifact_retrieval_unsupported);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException(Messages.artifact_retrieval_unsupported);
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException(Messages.artifact_write_unsupported);
-	}
-
-	/**
-	 * Exposed for testing and debugging purposes.
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	public Collection testGetBundleRepositories() {
-		return bundleRepositories;
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		// Query all the all the repositories
-		CompoundQueryable queryable = new CompoundQueryable((IQueryable[]) bundleRepositories.toArray(new IQueryable[bundleRepositories.size()]));
-		return queryable.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/DirectorUtil.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/DirectorUtil.java
deleted file mode 100644
index 7b0513c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/DirectorUtil.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.net.URI;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.ProvisioningContext;
-
-public class DirectorUtil {
-
-	public static IStatus validateProfile(IProfile profile) {
-		ProfileChangeRequest pcr = new ProfileChangeRequest(profile);
-		ProvisioningContext ctx = new ProvisioningContext(new URI[0]);
-		IPlanner planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-		return planner.getProvisioningPlan(pcr, ctx, null).getStatus();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseMarkSetProvider.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseMarkSetProvider.java
deleted file mode 100644
index 2cc00a3..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseMarkSetProvider.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.internal.p2.garbagecollector.MarkSet;
-import org.eclipse.equinox.internal.p2.garbagecollector.MarkSetProvider;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.osgi.framework.ServiceReference;
-
-/**
- * MarkSetProvider implementation for the Eclipse touchpoint.
- */
-public class EclipseMarkSetProvider extends MarkSetProvider {
-	private static final String ARTIFACT_CLASSIFIER_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$
-	private static final String ARTIFACT_CLASSIFIER_FEATURE = "org.eclipse.update.feature"; //$NON-NLS-1$
-
-	private Collection artifactKeyList = null;
-
-	public MarkSet[] getMarkSets(IProvisioningAgent agent, IProfile inProfile) {
-		artifactKeyList = new HashSet();
-		IArtifactRepository repositoryToGC = Util.getBundlePoolRepository(agent, inProfile);
-		if (repositoryToGC == null)
-			return new MarkSet[0];
-		addArtifactKeys(inProfile);
-		IProfile currentProfile = getCurrentProfile();
-		if (currentProfile != null && inProfile.getProfileId().equals(currentProfile.getProfileId())) {
-			addRunningBundles(repositoryToGC);
-			addRunningFeatures(inProfile, repositoryToGC);
-		}
-		return new MarkSet[] {new MarkSet((IArtifactKey[]) artifactKeyList.toArray(new IArtifactKey[0]), repositoryToGC)};
-	}
-
-	private void addRunningFeatures(IProfile profile, IArtifactRepository repositoryToGC) {
-		try {
-			List allFeatures = getAllFeatures(Configuration.load(new File(Util.getConfigurationFolder(profile), "org.eclipse.update/platform.xml"), null)); //$NON-NLS-1$
-			for (Iterator iterator = allFeatures.iterator(); iterator.hasNext();) {
-				Feature f = (Feature) iterator.next();
-				IArtifactKey match = searchArtifact(f.getId(), Version.create(f.getVersion()), ARTIFACT_CLASSIFIER_FEATURE, repositoryToGC);
-				if (match != null)
-					artifactKeyList.add(match);
-			}
-		} catch (ProvisionException e) {
-			//Ignore the exception
-		}
-	}
-
-	private List getAllFeatures(Configuration cfg) {
-		if (cfg == null)
-			return Collections.EMPTY_LIST;
-		List sites = cfg.getSites();
-		ArrayList result = new ArrayList();
-		for (Iterator iterator = sites.iterator(); iterator.hasNext();) {
-			Site object = (Site) iterator.next();
-			Feature[] features = object.getFeatures();
-			for (int i = 0; i < features.length; i++) {
-				result.add(features[i]);
-			}
-		}
-		return result;
-	}
-
-	private IProfile getCurrentProfile() {
-		ServiceReference sr = Activator.getContext().getServiceReference(IProfileRegistry.SERVICE_NAME);
-		if (sr == null)
-			return null;
-		IProfileRegistry pr = (IProfileRegistry) Activator.getContext().getService(sr);
-		if (pr == null)
-			return null;
-		Activator.getContext().ungetService(sr);
-		return pr.getProfile(IProfileRegistry.SELF);
-	}
-
-	private void addArtifactKeys(IProfile aProfile) {
-		Iterator installableUnits = aProfile.query(InstallableUnitQuery.ANY, null).iterator();
-		while (installableUnits.hasNext()) {
-			IArtifactKey[] keys = ((IInstallableUnit) installableUnits.next()).getArtifacts();
-			if (keys == null)
-				continue;
-			for (int i = 0; i < keys.length; i++) {
-				artifactKeyList.add(keys[i]);
-			}
-		}
-	}
-
-	public IArtifactRepository getRepository(IProvisioningAgent agent, IProfile aProfile) {
-		return Util.getBundlePoolRepository(agent, aProfile);
-	}
-
-	private void addRunningBundles(IArtifactRepository repo) {
-		artifactKeyList.addAll(findCorrespondinArtifacts(new WhatIsRunning().getBundlesBeingRun(), repo));
-	}
-
-	private IArtifactKey searchArtifact(String searchedId, Version searchedVersion, String classifier, IArtifactRepository repo) {
-		//This is somewhat cheating since normally we should get the artifact key from the IUs that were representing the running system (e.g. we could get that info from the rollback repo)
-		VersionRange range = searchedVersion != null ? new VersionRange(searchedVersion, true, searchedVersion, true) : null;
-		ArtifactKeyQuery query = new ArtifactKeyQuery(classifier, searchedId, range);
-		//TODO short-circuit the query when we find one?
-		Collector keys = repo.query(query, null);
-		if (!keys.isEmpty())
-			return (IArtifactKey) keys.iterator().next();
-		return null;
-	}
-
-	//Find for each bundle info a corresponding artifact in repo 
-	private ArrayList findCorrespondinArtifacts(BundleInfo[] bis, IArtifactRepository repo) {
-		ArrayList toRetain = new ArrayList();
-		for (int i = 0; i < bis.length; i++) {
-			IArtifactKey match = searchArtifact(bis[i].getSymbolicName(), Version.create(bis[i].getVersion()), ARTIFACT_CLASSIFIER_OSGI_BUNDLE, repo);
-			if (match != null)
-				toRetain.add(match);
-		}
-		return toRetain;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
deleted file mode 100644
index 0da1efd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/EclipseTouchpoint.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Code 9 - ongoing development
- *     Eclipse Source - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.FrameworkAdminRuntimeException;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.Operand;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class EclipseTouchpoint extends Touchpoint {
-	public static final String PROFILE_PROP_LAUNCHER_NAME = "eclipse.touchpoint.launcherName"; //$NON-NLS-1$
-	public static final String PARM_MANIPULATOR = "manipulator"; //$NON-NLS-1$
-	public static final String PARM_PLATFORM_CONFIGURATION = "platformConfiguration"; //$NON-NLS-1$
-	public static final String PARM_SOURCE_BUNDLES = "sourceBundles"; //$NON-NLS-1$
-	public static final String PARM_IU = "iu"; //$NON-NLS-1$
-	public static final String PARM_ARTIFACT = "artifact"; //$NON-NLS-1$
-	public static final String PARM_ARTIFACT_LOCATION = "artifact.location"; //$NON-NLS-1$
-	private static final Object PARM_AGENT = "agent"; //$NON-NLS-1$
-
-	private static final String NATIVE_TOUCHPOINT_ID = "org.eclipse.equinox.p2.touchpoint.natives"; //$NON-NLS-1$
-	private static List NATIVE_ACTIONS = Arrays.asList(new String[] {"mkdir", "rmdir"}); //$NON-NLS-1$//$NON-NLS-2$
-	private static final String VALIDATE_PROFILE = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.validateProfile"; //$NON-NLS-1$
-
-	private static Map manipulators = new WeakHashMap();
-	private static Map wrappers = new WeakHashMap();
-	private static Map sourceManipulators = new WeakHashMap();
-	private static Map preparedIUs = new WeakHashMap();
-
-	private static synchronized LazyManipulator getManipulator(IProvisioningAgent agent, IProfile profile) {
-		LazyManipulator manipulator = (LazyManipulator) manipulators.get(profile);
-		if (manipulator == null) {
-			manipulator = new LazyManipulator(agent, profile);
-			manipulators.put(profile, manipulator);
-		}
-		return manipulator;
-	}
-
-	private static synchronized void saveManipulator(IProfile profile) throws FrameworkAdminRuntimeException, IOException {
-		LazyManipulator manipulator = (LazyManipulator) manipulators.remove(profile);
-		if (manipulator != null)
-			manipulator.save(false);
-	}
-
-	private static synchronized PlatformConfigurationWrapper getPlatformConfigurationWrapper(IProvisioningAgent agent, IProfile profile, LazyManipulator manipulator) {
-		PlatformConfigurationWrapper wrapper = (PlatformConfigurationWrapper) wrappers.get(profile);
-		if (wrapper == null) {
-			File configLocation = Util.getConfigurationFolder(profile);
-			URI poolURI = Util.getBundlePoolLocation(agent, profile);
-			wrapper = new PlatformConfigurationWrapper(configLocation, poolURI, manipulator);
-			wrappers.put(profile, wrapper);
-		}
-		return wrapper;
-	}
-
-	private static synchronized void savePlatformConfigurationWrapper(IProfile profile) throws ProvisionException {
-		PlatformConfigurationWrapper wrapper = (PlatformConfigurationWrapper) wrappers.remove(profile);
-		if (wrapper != null)
-			wrapper.save();
-	}
-
-	private static synchronized SourceManipulator getSourceManipulator(IProfile profile) {
-		SourceManipulator sourceManipulator = (SourceManipulator) sourceManipulators.get(profile);
-		if (sourceManipulator == null) {
-			sourceManipulator = new SourceManipulator(profile);
-			sourceManipulators.put(profile, sourceManipulator);
-		}
-		return sourceManipulator;
-	}
-
-	private static synchronized void saveSourceManipulator(IProfile profile) throws IOException {
-		SourceManipulator sourceManipulator = (SourceManipulator) sourceManipulators.remove(profile);
-		if (sourceManipulator != null)
-			sourceManipulator.save();
-	}
-
-	private static synchronized IInstallableUnit getPreparedIU(IProfile profile, IInstallableUnit iu) {
-		Map preparedProfileIUs = (Map) preparedIUs.get(profile);
-		if (preparedProfileIUs == null)
-			return null;
-
-		return (IInstallableUnit) preparedProfileIUs.get(iu);
-	}
-
-	private static synchronized void savePreparedIU(IProfile profile, IInstallableUnit iu) {
-		Map preparedProfileIUs = (Map) preparedIUs.get(profile);
-		if (preparedProfileIUs == null) {
-			preparedProfileIUs = new HashMap();
-			preparedIUs.put(profile, preparedProfileIUs);
-		}
-		preparedProfileIUs.put(iu, iu);
-	}
-
-	private static synchronized boolean hasPreparedIUs(IProfile profile) {
-		return preparedIUs.get(profile) != null;
-	}
-
-	private static synchronized void clearProfileState(IProfile profile) {
-		manipulators.remove(profile);
-		wrappers.remove(profile);
-		sourceManipulators.remove(profile);
-		preparedIUs.remove(profile);
-	}
-
-	public IStatus prepare(IProfile profile) {
-		try {
-			if (hasPreparedIUs(profile))
-				return validateProfile(profile);
-		} catch (RuntimeException e) {
-			return Util.createError(NLS.bind(Messages.error_validating_profile, profile.getProfileId()), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus commit(IProfile profile) {
-		MultiStatus status = new MultiStatus(Activator.ID, IStatus.OK, null, null);
-		try {
-			saveManipulator(profile);
-		} catch (RuntimeException e) {
-			status.add(Util.createError(Messages.error_saving_manipulator, e));
-		} catch (IOException e) {
-			status.add(Util.createError(Messages.error_saving_manipulator, e));
-		}
-		try {
-			savePlatformConfigurationWrapper(profile);
-		} catch (RuntimeException e) {
-			status.add(Util.createError(Messages.error_saving_platform_configuration, e));
-		} catch (ProvisionException pe) {
-			status.add(Util.createError(Messages.error_saving_platform_configuration, pe));
-		}
-
-		try {
-			saveSourceManipulator(profile);
-		} catch (RuntimeException e) {
-			status.add(Util.createError(Messages.error_saving_source_bundles_list, e));
-		} catch (IOException e) {
-			status.add(Util.createError(Messages.error_saving_source_bundles_list, e));
-		}
-		return status;
-	}
-
-	public IStatus rollback(IProfile profile) {
-		clearProfileState(profile);
-		return Status.OK_STATUS;
-	}
-
-	public String qualifyAction(String actionId) {
-		String touchpointQualifier = NATIVE_ACTIONS.contains(actionId) ? NATIVE_TOUCHPOINT_ID : Activator.ID;
-		return touchpointQualifier + "." + actionId; //$NON-NLS-1$
-	}
-
-	public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) touchpointParameters.get(PARM_AGENT);
-		LazyManipulator manipulator = getManipulator(agent, profile);
-		touchpointParameters.put(PARM_MANIPULATOR, manipulator);
-		touchpointParameters.put(PARM_SOURCE_BUNDLES, getSourceManipulator(profile));
-		touchpointParameters.put(PARM_PLATFORM_CONFIGURATION, getPlatformConfigurationWrapper(agent, profile, manipulator));
-		return null;
-	}
-
-	public IStatus initializeOperand(IProfile profile, Operand operand, Map parameters) {
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(PARM_IU);
-		IArtifactKey artifactKey = (IArtifactKey) parameters.get(PARM_ARTIFACT);
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(PARM_AGENT);
-		if (iu != null && Boolean.valueOf(iu.getProperty(IInstallableUnit.PROP_PARTIAL_IU)).booleanValue()) {
-			IInstallableUnit preparedIU = prepareIU(agent, profile, iu, artifactKey);
-			if (preparedIU == null)
-				return Util.createError(NLS.bind(Messages.failed_prepareIU, iu));
-
-			parameters.put(PARM_IU, preparedIU);
-		}
-
-		if (!parameters.containsKey(PARM_ARTIFACT_LOCATION) && artifactKey != null) {
-			File fileLocation = Util.getArtifactFile(agent, artifactKey, profile);
-			if (fileLocation != null && fileLocation.exists())
-				parameters.put(PARM_ARTIFACT_LOCATION, fileLocation.getAbsolutePath());
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IInstallableUnit prepareIU(IProvisioningAgent agent, IProfile profile, IInstallableUnit iu, IArtifactKey artifactKey) {
-		IInstallableUnit preparedIU = getPreparedIU(profile, iu);
-		if (preparedIU != null)
-			return preparedIU;
-
-		Class c = null;
-		try {
-			c = Class.forName("org.eclipse.equinox.p2.publisher.eclipse.BundlesAction"); //$NON-NLS-1$
-			if (c != null)
-				c = Class.forName("org.eclipse.osgi.service.resolver.PlatformAdmin"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			LogHelper.log(Util.createError(NLS.bind(Messages.publisher_not_available, e.getMessage())));
-			return null;
-		}
-
-		if (c != null) {
-			if (artifactKey == null)
-				return iu;
-
-			File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-			if (bundleFile == null) {
-				LogHelper.log(Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey.toString())));
-				return null;
-			}
-			preparedIU = PublisherUtil.createBundleIU(artifactKey, bundleFile);
-			if (preparedIU == null) {
-				LogHelper.log(Util.createError("The bundle manifest could not be read: " + bundleFile.toString())); //$NON-NLS-1$
-				return null;
-			}
-			savePreparedIU(profile, preparedIU);
-			return preparedIU;
-		}
-
-		// should not occur
-		throw new IllegalStateException(Messages.unexpected_prepareiu_error);
-	}
-
-	private IStatus validateProfile(IProfile profile) {
-		// by default we validate
-		if (Boolean.FALSE.toString().equals(profile.getProperty(VALIDATE_PROFILE)))
-			return Status.OK_STATUS;
-
-		Class c = null;
-		try {
-			c = Class.forName("org.eclipse.equinox.internal.provisional.p2.director.IPlanner"); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-			//ignore and proceed without validation
-			return null;
-		}
-
-		if (c != null) {
-			return DirectorUtil.validateProfile(profile);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
deleted file mode 100644
index 6869eb2..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.IOException;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class LazyManipulator implements Manipulator {
-
-	private final static String FILTER_OBJECTCLASS = "(" + Constants.OBJECTCLASS + '=' + FrameworkAdmin.class.getName() + ')'; //$NON-NLS-1$
-	private final static String filterFwName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_FW_NAME + "=Equinox)"; //$NON-NLS-1$ //$NON-NLS-2$
-	private final static String filterLauncherName = "(" + FrameworkAdmin.SERVICE_PROP_KEY_LAUNCHER_NAME + "=Eclipse.exe)"; //$NON-NLS-1$ //$NON-NLS-2$
-	private final static String filterFwAdmin = "(&" + FILTER_OBJECTCLASS + filterFwName + filterLauncherName + ')'; //$NON-NLS-1$;
-
-	private Manipulator manipulator;
-	private final IProfile profile;
-	private final IProvisioningAgent agent;
-
-	public LazyManipulator(IProvisioningAgent agent, IProfile profile) {
-		this.profile = profile;
-		this.agent = agent;
-	}
-
-	private void loadDelegate() {
-		if (manipulator != null)
-			return;
-
-		manipulator = getFrameworkManipulator();
-		if (manipulator == null)
-			throw new IllegalStateException(Messages.failed_acquire_framework_manipulator);
-
-		LauncherData launcherData = manipulator.getLauncherData();
-		launcherData.setFwConfigLocation(Util.getConfigurationFolder(profile));
-		launcherData.setLauncher(Util.getLauncherPath(profile));
-		launcherData.setLauncherConfigLocation(Util.getLauncherConfigLocation(profile));
-		launcherData.setOS(Util.getOSFromProfile(profile));
-
-		try {
-			manipulator.load();
-		} catch (IllegalStateException e) {
-			//if fwJar is not included, this exception will be thrown. But ignore it.
-			LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
-			throw new IllegalStateException(Messages.error_loading_manipulator);
-		} catch (FrameworkAdminRuntimeException e) {
-			LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
-		} catch (IOException e) {
-			LogHelper.log(Util.createError(Messages.error_loading_manipulator, e));
-			throw new IllegalStateException(Messages.error_loading_manipulator);
-		}
-		//TODO These values should be inserted by a configuration unit (bug 204124)
-		manipulator.getConfigData().setProperty("eclipse.p2.profile", profile.getProfileId()); //$NON-NLS-1$
-		manipulator.getConfigData().setProperty("eclipse.p2.data.area", Util.getAgentLocation(agent).getRootLocation().toString()); //$NON-NLS-1$
-	}
-
-	public static FrameworkAdmin getFrameworkAdmin() {
-		ServiceTracker fwAdminTracker = null;
-		try {
-			Filter filter = Activator.getContext().createFilter(filterFwAdmin);
-			fwAdminTracker = new ServiceTracker(Activator.getContext(), filter, null);
-			fwAdminTracker.open();
-			FrameworkAdmin fwAdmin = (FrameworkAdmin) fwAdminTracker.getService();
-			return fwAdmin;
-		} catch (InvalidSyntaxException e) {
-			//Can't happen we are writing the filter ourselves
-			return null;
-		} finally {
-			if (fwAdminTracker != null)
-				fwAdminTracker.close();
-		}
-	}
-
-	private Manipulator getFrameworkManipulator() {
-		FrameworkAdmin fwAdmin = getFrameworkAdmin();
-		if (fwAdmin != null)
-			return fwAdmin.getManipulator();
-		return null;
-	}
-
-	public void save(boolean backup) throws IOException, FrameworkAdminRuntimeException {
-		if (manipulator != null)
-			manipulator.save(backup);
-	}
-
-	// DELEGATE METHODS
-
-	public BundlesState getBundlesState() throws FrameworkAdminRuntimeException {
-		loadDelegate();
-		return manipulator.getBundlesState();
-	}
-
-	public ConfigData getConfigData() throws FrameworkAdminRuntimeException {
-		loadDelegate();
-		return manipulator.getConfigData();
-	}
-
-	public BundleInfo[] getExpectedState() throws IllegalStateException, IOException, FrameworkAdminRuntimeException {
-		loadDelegate();
-		return manipulator.getExpectedState();
-	}
-
-	public LauncherData getLauncherData() throws FrameworkAdminRuntimeException {
-		loadDelegate();
-		return manipulator.getLauncherData();
-	}
-
-	public long getTimeStamp() {
-		loadDelegate();
-		return manipulator.getTimeStamp();
-	}
-
-	public void initialize() {
-		loadDelegate();
-		manipulator.initialize();
-	}
-
-	public void load() throws IllegalStateException, FrameworkAdminRuntimeException {
-		loadDelegate();
-	}
-
-	public void setConfigData(ConfigData configData) {
-		loadDelegate();
-		manipulator.setConfigData(configData);
-	}
-
-	public void setLauncherData(LauncherData launcherData) {
-		loadDelegate();
-		manipulator.setLauncherData(launcherData);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
deleted file mode 100644
index 22f91b5..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.messages"; //$NON-NLS-1$
-	public static String error_loading_manipulator;
-	public static String BundlePool;
-	public static String failed_acquire_framework_manipulator;
-	public static String failed_prepareIU;
-	public static String error_saving_manipulator;
-	public static String error_saving_platform_configuration;
-	public static String error_saving_source_bundles_list;
-	public static String error_parsing_configuration;
-	public static String publisher_not_available;
-	public static String artifact_write_unsupported;
-	public static String iu_contains_no_arifacts;
-	public static String artifact_file_not_found;
-	public static String artifact_retrieval_unsupported;
-	public static String bundle_pool_not_writeable;
-	public static String cannot_calculate_extension_location;
-	public static String parent_dir_features;
-	public static String platform_config_unavailable;
-	public static String unexpected_prepareiu_error;
-	public static String error_validating_profile;
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
deleted file mode 100644
index 5dcf1ab..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PlatformConfigurationWrapper.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.net.*;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.update.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**	
- * 	This class provides a wrapper for reading and writing platform.xml.
- * 
- * 	Only a minimal set of operations is exposed.
- */
-public class PlatformConfigurationWrapper {
-
-	private Configuration configuration = null;
-	private Site poolSite = null;
-	private File configFile;
-	private URI poolURI;
-	private Manipulator manipulator;
-
-	private static String FEATURES = "features/"; //$NON-NLS-1$
-
-	private static URL getOSGiInstallArea(Manipulator manipulator) {
-		final String OSGI = "org.eclipse.osgi"; //$NON-NLS-1$
-		BundleInfo[] bis = manipulator.getConfigData().getBundles();
-		String searchFor = "org.eclipse.equinox.launcher"; //$NON-NLS-1$
-		for (int i = 0; i < bis.length; i++) {
-			if (bis[i].getSymbolicName().equals(searchFor)) {
-				if (bis[i].getLocation() != null) {
-					try {
-						if (bis[i].getLocation().getScheme().equals("file")) //$NON-NLS-1$
-							return fromOSGiJarToOSGiInstallArea(bis[i].getLocation().getPath()).toURL();
-					} catch (MalformedURLException e) {
-						//do nothing
-					}
-				}
-				if (searchFor.equals(OSGI))
-					return null;
-				searchFor = OSGI;
-				i = -1;
-			}
-		}
-		return null;
-	}
-
-	private static File fromOSGiJarToOSGiInstallArea(String path) {
-		IPath parentFolder = new Path(path).removeLastSegments(1);
-		if (parentFolder.lastSegment().equals("plugins")) //$NON-NLS-1$
-			return parentFolder.removeLastSegments(1).toFile();
-		return parentFolder.toFile();
-	}
-
-	public PlatformConfigurationWrapper(File configDir, URI featurePool, Manipulator manipulator) {
-		this.configuration = null;
-		this.configFile = new File(configDir, "/org.eclipse.update/platform.xml"); //$NON-NLS-1$
-		this.poolURI = featurePool;
-		this.manipulator = manipulator;
-	}
-
-	private void loadDelegate() {
-		if (configuration != null)
-			return;
-
-		try {
-			if (configFile.exists()) {
-				configuration = Configuration.load(configFile, getOSGiInstallArea(manipulator));
-			} else {
-				configuration = new Configuration();
-			}
-		} catch (ProvisionException pe) {
-			// TODO: Make this a real message
-			throw new IllegalStateException(Messages.error_parsing_configuration);
-		}
-		if (poolURI == null)
-			throw new IllegalStateException("Error creating platform configuration. No bundle pool defined."); //$NON-NLS-1$
-
-		poolSite = getSite(poolURI);
-		if (poolSite == null) {
-			poolSite = createSite(poolURI, getDefaultPolicy());
-			configuration.add(poolSite);
-		}
-	}
-
-	/*
-	 * Return the default policy to use when creating a new site. If there are
-	 * any sites with the MANAGED-ONLY policy, then that is the default.
-	 * Otherwise the default is USER-EXCLUDE.
-	 */
-	private String getDefaultPolicy() {
-		for (Iterator iter = configuration.getSites().iterator(); iter.hasNext();) {
-			Site site = (Site) iter.next();
-			if (Site.POLICY_MANAGED_ONLY.equals(site.getPolicy()))
-				return Site.POLICY_MANAGED_ONLY;
-		}
-		return Site.POLICY_USER_EXCLUDE;
-	}
-
-	/*
-	 * Create and return a site object based on the given location.
-	 */
-	private Site createSite(URI location, String policy) {
-		Site result = new Site();
-		try {
-			result.setUrl(URIUtil.toURL(location).toExternalForm());
-		} catch (MalformedURLException e) {
-			// TODO
-			result.setUrl(location.toString());
-		}
-		result.setPolicy(policy);
-		result.setEnabled(true);
-		return result;
-	}
-
-	/*
-	 * Look in the configuration and return the site object whose location matches
-	 * the given URL. Return null if there is no match.
-	 */
-	private Site getSite(URI url) {
-		List sites = configuration.getSites();
-		File file = URIUtil.toFile(url);
-		for (Iterator iter = sites.iterator(); iter.hasNext();) {
-			Site nextSite = (Site) iter.next();
-			try {
-				File nextFile = URLUtil.toFile(new URL(nextSite.getUrl()));
-				if (nextFile == null)
-					continue;
-				if (nextFile.equals(file))
-					return nextSite;
-			} catch (MalformedURLException e) {
-				//ignore incorrectly formed site
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * Look in the configuration and return the site which contains the feature
-	 * with the given identifier and version. Return null if there is none.
-	 */
-	private Site getSite(String id, String version) {
-		List sites = configuration.getSites();
-		for (Iterator iter = sites.iterator(); iter.hasNext();) {
-			Site site = (Site) iter.next();
-			Feature[] features = site.getFeatures();
-			for (int i = 0; i < features.length; i++) {
-				if (id.equals(features[i].getId()) && version.equals(features[i].getVersion()))
-					return site;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.update.configurator.IPlatformConfiguration#createFeatureEntry(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String, java.net.URL[])
-	 */
-	public IStatus addFeatureEntry(File file, String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root, String linkFile) {
-		loadDelegate();
-		if (configuration == null)
-			return new Status(IStatus.WARNING, Activator.ID, Messages.platform_config_unavailable, null);
-
-		URI fileURL = null;
-		File featureDir = file.getParentFile();
-		if (featureDir == null || !featureDir.getName().equals("features")) //$NON-NLS-1$
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.parent_dir_features, file.getAbsolutePath()), null);
-		File locationDir = featureDir.getParentFile();
-		if (locationDir == null)
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.cannot_calculate_extension_location, file.getAbsolutePath()), null);
-
-		fileURL = locationDir.toURI();
-		Site site = getSite(fileURL);
-		if (site == null) {
-			site = createSite(fileURL, getDefaultPolicy());
-			if (linkFile != null)
-				site.setLinkFile(linkFile);
-			configuration.add(site);
-		} else {
-			// check to see if the feature already exists in this site
-			if (site.getFeature(id, version) != null)
-				return Status.OK_STATUS;
-		}
-		Feature addedFeature = new Feature(site);
-		addedFeature.setId(id);
-		addedFeature.setVersion(version);
-		addedFeature.setUrl(makeFeatureURL(id, version));
-		addedFeature.setApplication(application);
-		addedFeature.setPluginIdentifier(pluginIdentifier);
-		addedFeature.setPluginVersion(pluginVersion);
-		addedFeature.setRoots(root);
-		addedFeature.setPrimary(primary);
-		site.addFeature(addedFeature);
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * @see org.eclipse.update.configurator.IPlatformConfiguration#findConfiguredFeatureEntry(java.lang.String)
-	 */
-	public IStatus removeFeatureEntry(String id, String version) {
-		loadDelegate();
-		if (configuration == null)
-			return new Status(IStatus.WARNING, Activator.ID, Messages.platform_config_unavailable, null);
-
-		Site site = getSite(id, version);
-		if (site == null)
-			site = poolSite;
-		site.removeFeature(makeFeatureURL(id, version));
-		// if we weren't able to remove the feature from the site because it
-		// didn't exist, then someone already did our job for us and it is ok.
-		return Status.OK_STATUS;
-	}
-
-	public boolean containsFeature(URI siteURI, String featureId, String featureVersion) {
-		loadDelegate();
-		if (configuration == null)
-			return false;
-
-		Site site = getSite(siteURI);
-		if (site == null)
-			return false;
-
-		return site.getFeature(featureId, featureVersion) != null;
-	}
-
-	/*
-	 * @see org.eclipse.update.configurator.IPlatformConfiguration#save()
-	 */
-	public void save() throws ProvisionException {
-		if (configuration != null) {
-			configFile.getParentFile().mkdirs();
-			configuration.save(configFile, getOSGiInstallArea(manipulator));
-		}
-	}
-
-	private static String makeFeatureURL(String id, String version) {
-		return FEATURES + id + "_" + version + "/"; //$NON-NLS-1$ //$NON-NLS-2$;
-	}
-
-	//	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PublisherUtil.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PublisherUtil.java
deleted file mode 100644
index 0a8f242..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/PublisherUtil.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009 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
- *      EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.PublisherInfo;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-
-public class PublisherUtil {
-
-	/**
-	 * Returns an IU corresponding to the given artifact key and bundle, or <code>null</code>
-	 * if an IU could not be created.
-	 */
-	public static IInstallableUnit createBundleIU(IArtifactKey artifactKey, File bundleFile) {
-		BundleDescription bundleDescription = BundlesAction.createBundleDescription(bundleFile);
-		if (bundleDescription == null)
-			return null;
-		PublisherInfo info = new PublisherInfo();
-		Version version = Version.create(bundleDescription.getVersion().toString());
-		AdviceFileAdvice advice = new AdviceFileAdvice(bundleDescription.getSymbolicName(), version, new Path(bundleFile.getAbsolutePath()), AdviceFileAdvice.BUNDLE_ADVICE_FILE);
-		if (advice.containsAdvice())
-			info.addAdvice(advice);
-		String shape = bundleFile.isDirectory() ? IBundleShapeAdvice.DIR : IBundleShapeAdvice.JAR;
-		info.addAdvice(new BundleShapeAdvice(bundleDescription.getSymbolicName(), version, shape));
-		return BundlesAction.createBundleIU(bundleDescription, artifactKey, info);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
deleted file mode 100644
index fae3e80..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/SourceManipulator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-import org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorImpl;
-import org.eclipse.equinox.p2.engine.IProfile;
-
-//This class deals with source bundles and how their addition to the source.info
-public class SourceManipulator {
-	private List sourceBundles;
-	private IProfile profile;
-	boolean changed = false;
-	private SimpleConfiguratorManipulatorImpl manipulator;
-
-	public SourceManipulator(IProfile profile) {
-		this.profile = profile;
-		this.manipulator = new SimpleConfiguratorManipulatorImpl();
-	}
-
-	public BundleInfo[] getBundles() throws IOException {
-		if (sourceBundles == null)
-			load();
-		return (BundleInfo[]) sourceBundles.toArray(new BundleInfo[sourceBundles.size()]);
-	}
-
-	public void addBundle(File bundleFile, String bundleId, Version bundleVersion) throws IOException {
-		if (sourceBundles == null)
-			load();
-		BundleInfo sourceInfo = new BundleInfo(bundleFile.toURI());
-		sourceInfo.setSymbolicName(bundleId);
-		sourceInfo.setVersion(bundleVersion.toString());
-		sourceBundles.add(sourceInfo);
-	}
-
-	public void removeBundle(File bundleFile, String bundleId, Version bundleVersion) throws MalformedURLException, IOException {
-		if (sourceBundles == null)
-			load();
-
-		BundleInfo sourceInfo = new BundleInfo();
-		if (bundleFile != null)
-			sourceInfo.setLocation(bundleFile.toURI());
-		sourceInfo.setSymbolicName(bundleId);
-		sourceInfo.setVersion(bundleVersion.toString());
-		sourceBundles.remove(sourceInfo);
-	}
-
-	public void save() throws IOException {
-		if (sourceBundles != null)
-			manipulator.saveConfiguration((BundleInfo[]) sourceBundles.toArray(new BundleInfo[sourceBundles.size()]), getFileLocation(), getLauncherLocation());
-	}
-
-	private void load() throws MalformedURLException, IOException {
-		if (getFileLocation().exists())
-			sourceBundles = new ArrayList(Arrays.asList(manipulator.loadConfiguration(getFileLocation().toURL(), getLauncherLocation())));
-		else
-			sourceBundles = new ArrayList();
-	}
-
-	private File getFileLocation() {
-		return new File(Util.getConfigurationFolder(profile), "org.eclipse.equinox.source/source.info"); //$NON-NLS-1$
-	}
-
-	private File getLauncherLocation() {
-		return Util.getInstallFolder(profile);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
deleted file mode 100644
index 8014c3a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *     Red Hat Incorporated - fix for bug 225145
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.environment.EnvironmentInfo;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-public class Util {
-
-	/**
-	 * TODO "cache" is probably not the right term for this location
-	 */
-	private static final String REPOSITORY_TYPE = IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY;
-	private static final String CACHE_EXTENSIONS = "org.eclipse.equinox.p2.cache.extensions"; //$NON-NLS-1$
-	private static final String PIPE = "|"; //$NON-NLS-1$
-
-	/**
-	 * Bit-mask value representing this profile's bundle pool
-	 */
-	public static final int AGGREGATE_CACHE = 0x01;
-	/**
-	 * Bit-mask value representing the shared profile's bundle pool in a shared install
-	 */
-	public static final int AGGREGATE_SHARED_CACHE = 0x02;
-	/**
-	 * Bit-mask value representing the extension locations, such as the dropins folder.
-	 */
-	public static final int AGGREGATE_CACHE_EXTENSIONS = 0x04;
-
-	public static IAgentLocation getAgentLocation(IProvisioningAgent agent) {
-		return (IAgentLocation) agent.getService(IAgentLocation.class.getName());
-	}
-
-	public static IArtifactRepositoryManager getArtifactRepositoryManager(IProvisioningAgent agent) {
-		return (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	public static URI getBundlePoolLocation(IProvisioningAgent agent, IProfile profile) {
-		String path = profile.getProperty(IProfile.PROP_CACHE);
-		if (path != null)
-			return new File(path).toURI();
-		IAgentLocation location = getAgentLocation(agent);
-		if (location == null)
-			return null;
-		return location.getDataArea(Activator.ID);
-	}
-
-	public static synchronized IFileArtifactRepository getBundlePoolRepository(IProvisioningAgent agent, IProfile profile) {
-		URI location = getBundlePoolLocation(agent, profile);
-		if (location == null)
-			return null;
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager(agent);
-		try {
-			return (IFileArtifactRepository) manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			//the repository doesn't exist, so fall through and create a new one
-		}
-		try {
-			String repositoryName = Messages.BundlePool;
-			Map properties = new HashMap(1);
-			properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-			return (IFileArtifactRepository) manager.createRepository(location, repositoryName, REPOSITORY_TYPE, properties);
-		} catch (ProvisionException e) {
-			LogHelper.log(e);
-			throw new IllegalArgumentException(NLS.bind(Messages.bundle_pool_not_writeable, location));
-		}
-	}
-
-	public static IFileArtifactRepository getAggregatedBundleRepository(IProvisioningAgent agent, IProfile profile) {
-		return getAggregatedBundleRepository(agent, profile, AGGREGATE_CACHE | AGGREGATE_SHARED_CACHE | AGGREGATE_CACHE_EXTENSIONS);
-	}
-
-	public static IFileArtifactRepository getAggregatedBundleRepository(IProvisioningAgent agent, IProfile profile, int repoFilter) {
-		List bundleRepositories = new ArrayList();
-
-		// we check for a shared bundle pool first as it should be preferred over the user bundle pool in a shared install
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager(agent);
-		if ((repoFilter & AGGREGATE_SHARED_CACHE) != 0) {
-			String sharedCache = profile.getProperty(IProfile.PROP_SHARED_CACHE);
-			if (sharedCache != null) {
-				try {
-					URI repoLocation = new File(sharedCache).toURI();
-					IArtifactRepository repository = manager.loadRepository(repoLocation, null);
-					if (repository != null && repository instanceof IFileArtifactRepository && !bundleRepositories.contains(repository))
-						bundleRepositories.add(repository);
-				} catch (ProvisionException e) {
-					//skip repository if it could not be read
-				}
-			}
-		}
-
-		if ((repoFilter & AGGREGATE_CACHE) != 0) {
-			IFileArtifactRepository bundlePool = Util.getBundlePoolRepository(agent, profile);
-			if (bundlePool != null)
-				bundleRepositories.add(bundlePool);
-		}
-
-		if ((repoFilter & AGGREGATE_CACHE_EXTENSIONS) != 0) {
-			List repos = getListProfileProperty(profile, CACHE_EXTENSIONS);
-			for (Iterator iterator = repos.iterator(); iterator.hasNext();) {
-				try {
-					String repo = (String) iterator.next();
-					URI repoLocation;
-					try {
-						repoLocation = new URI(repo);
-					} catch (URISyntaxException e) {
-						//in 1.0 we wrote unencoded URL strings, so try as an unencoded string
-						repoLocation = URIUtil.fromString(repo);
-					}
-					IArtifactRepository repository = manager.loadRepository(repoLocation, null);
-					if (repository != null && repository instanceof IFileArtifactRepository && !bundleRepositories.contains(repository))
-						bundleRepositories.add(repository);
-				} catch (ProvisionException e) {
-					//skip repositories that could not be read
-				} catch (URISyntaxException e) {
-					// unexpected, URLs should be pre-checked
-					LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
-				}
-			}
-		}
-		return new AggregatedBundleRepository(bundleRepositories);
-	}
-
-	private static List getListProfileProperty(IProfile profile, String key) {
-		List listProperty = new ArrayList();
-		String dropinRepositories = profile.getProperty(key);
-		if (dropinRepositories != null) {
-			StringTokenizer tokenizer = new StringTokenizer(dropinRepositories, PIPE);
-			while (tokenizer.hasMoreTokens()) {
-				listProperty.add(tokenizer.nextToken());
-			}
-		}
-		return listProperty;
-	}
-
-	public static BundleInfo createBundleInfo(File bundleFile, String manifest) {
-		BundleInfo bundleInfo = new BundleInfo();
-		if (bundleFile != null)
-			bundleInfo.setLocation(bundleFile.toURI());
-
-		bundleInfo.setManifest(manifest);
-		try {
-			Map headers = ManifestElement.parseBundleManifest(new ByteArrayInputStream(manifest.getBytes("UTF-8")), new HashMap()); //$NON-NLS-1$
-			ManifestElement[] element = ManifestElement.parseHeader("bsn", (String) headers.get(Constants.BUNDLE_SYMBOLICNAME)); //$NON-NLS-1$
-			if (element == null || element.length == 0)
-				return null;
-			bundleInfo.setSymbolicName(element[0].getValue());
-
-			String version = (String) headers.get(Constants.BUNDLE_VERSION);
-			if (version == null)
-				return null;
-			// convert to a Version object first to ensure we are consistent with our version number w.r.t.
-			// padding zeros at the end
-			bundleInfo.setVersion(Version.parseVersion(version).toString());
-
-			String fragmentHost = (String) headers.get(Constants.FRAGMENT_HOST);
-			if (fragmentHost != null)
-				bundleInfo.setFragmentHost(fragmentHost.trim());
-
-		} catch (BundleException e) {
-			// unexpected
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
-			return null;
-		} catch (IOException e) {
-			// unexpected
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
-			return null;
-		}
-		return bundleInfo;
-	}
-
-	public static File getArtifactFile(IProvisioningAgent agent, IArtifactKey artifactKey, IProfile profile) {
-		IFileArtifactRepository aggregatedView = getAggregatedBundleRepository(agent, profile);
-		File bundleJar = aggregatedView.getArtifactFile(artifactKey);
-		return bundleJar;
-	}
-
-	public static File getConfigurationFolder(IProfile profile) {
-		String config = profile.getProperty(IProfile.PROP_CONFIGURATION_FOLDER);
-		if (config != null)
-			return new File(config);
-		return new File(getInstallFolder(profile), "configuration"); //$NON-NLS-1$
-	}
-
-	/*
-	 * Do a look-up and return the OSGi install area if it is set.
-	 */
-	public static URL getOSGiInstallArea() {
-		Location location = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.INSTALL_FILTER);
-		if (location == null)
-			return null;
-		if (!location.isSet())
-			return null;
-		return location.getURL();
-	}
-
-	/*
-	 * Helper method to return the eclipse.home location. Return
-	 * null if it is unavailable.
-	 */
-	public static File getEclipseHome() {
-		Location eclipseHome = (Location) ServiceHelper.getService(Activator.getContext(), Location.class.getName(), Location.ECLIPSE_HOME_FILTER);
-		if (eclipseHome == null || !eclipseHome.isSet())
-			return null;
-		URL url = eclipseHome.getURL();
-		if (url == null)
-			return null;
-		return URLUtil.toFile(url);
-	}
-
-	/**
-	 * Returns the install folder for the profile, or <code>null</code>
-	 * if no install folder is defined.
-	 */
-	public static File getInstallFolder(IProfile profile) {
-		String folder = profile.getProperty(IProfile.PROP_INSTALL_FOLDER);
-		return folder == null ? null : new File(folder);
-	}
-
-	public static File getLauncherPath(IProfile profile) {
-		String name = profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME);
-		if (name == null || name.length() == 0)
-			name = "eclipse"; //$NON-NLS-1$
-		String launcherName = getLauncherName(name, getOSFromProfile(profile));
-		return launcherName == null ? null : new File(getInstallFolder(profile), launcherName);
-	}
-
-	/**
-	 * Returns the name of the Eclipse application launcher.
-	 */
-	private static String getLauncherName(String name, String os) {
-		if (os == null) {
-			EnvironmentInfo info = (EnvironmentInfo) ServiceHelper.getService(Activator.getContext(), EnvironmentInfo.class.getName());
-			if (info == null)
-				return null;
-			os = info.getOS();
-		}
-
-		if (os.equals(org.eclipse.osgi.service.environment.Constants.OS_WIN32)) {
-			IPath path = new Path(name);
-			if ("exe".equals(path.getFileExtension())) //$NON-NLS-1$
-				return name;
-			return name + ".exe"; //$NON-NLS-1$
-		}
-		if (os.equals(org.eclipse.osgi.service.environment.Constants.OS_MACOSX)) {
-			IPath path = new Path(name);
-			if ("app".equals(path.getFileExtension())) //$NON-NLS-1$
-				return name;
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(name.substring(0, 1).toUpperCase());
-			buffer.append(name.substring(1));
-			buffer.append(".app/Contents/MacOS/"); //$NON-NLS-1$
-			buffer.append(name.toLowerCase());
-			return buffer.toString();
-		}
-		return name;
-	}
-
-	public static String getOSFromProfile(IProfile profile) {
-		String environments = profile.getProperty(IProfile.PROP_ENVIRONMENTS);
-		if (environments == null)
-			return null;
-		for (StringTokenizer tokenizer = new StringTokenizer(environments, ","); tokenizer.hasMoreElements();) { //$NON-NLS-1$
-			String entry = tokenizer.nextToken();
-			int i = entry.indexOf('=');
-			String key = entry.substring(0, i).trim();
-			if (!key.equals("osgi.os")) //$NON-NLS-1$
-				continue;
-			return entry.substring(i + 1).trim();
-		}
-		return null;
-	}
-
-	public static String getManifest(ITouchpointData[] data) {
-		for (int i = 0; i < data.length; i++) {
-			ITouchpointInstruction manifestInstruction = data[i].getInstruction("manifest"); //$NON-NLS-1$
-			if (manifestInstruction == null)
-				return null;
-			String manifest = manifestInstruction.getBody();
-			if (manifest != null && manifest.length() > 0)
-				return manifest;
-		}
-		return null;
-	}
-
-	public static IStatus createError(String message) {
-		return createError(message, null);
-	}
-
-	public static IStatus createError(String message, Exception e) {
-		return new Status(IStatus.ERROR, Activator.ID, message, e);
-	}
-
-	public static File getLauncherConfigLocation(IProfile profile) {
-		String launcherConfig = profile.getProperty(IProfile.PROP_LAUNCHER_CONFIGURATION);
-		return launcherConfig == null ? null : new File(launcherConfig);
-	}
-
-	public static String resolveArtifactParam(Map parameters) throws CoreException {
-		String artifactLocation = (String) parameters.get(EclipseTouchpoint.PARM_ARTIFACT_LOCATION);
-		if (artifactLocation != null)
-			return artifactLocation;
-
-		IArtifactKey artifactKey = (IArtifactKey) parameters.get(EclipseTouchpoint.PARM_ARTIFACT);
-		if (artifactKey == null) {
-			IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-			throw new CoreException(Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu)));
-		}
-
-		throw new CoreException(Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey)));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
deleted file mode 100644
index 1b9aa8e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/WhatIsRunning.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse;
-
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-
-public class WhatIsRunning {
-	public BundleInfo[] getBundlesBeingRun() {
-		return getFrameworkManipulator().getConfigData().getBundles();
-	}
-
-	private Manipulator getFrameworkManipulator() {
-		FrameworkAdmin fwAdmin = LazyManipulator.getFrameworkAdmin();
-		if (fwAdmin != null)
-			return fwAdmin.getRunningManipulator();
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
deleted file mode 100644
index 1a5c2d1..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ActionConstants.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-public class ActionConstants {
-
-	public static final String PARM_AGENT = "agent"; //$NON-NLS-1$
-	public static final String PARM_AT_ARTIFACT = "@artifact"; //$NON-NLS-1$
-	public static final String PARM_ARTIFACT_FILES = "artifactFiles"; //$NON-NLS-1$
-	public static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
-	public static final String PARM_BUNDLE = "bundle"; //$NON-NLS-1$
-	public static final String PARM_FEATURE = "feature"; //$NON-NLS-1$
-	public static final String PARM_FEATURE_ID = "featureId"; //$NON-NLS-1$
-	public static final String PARM_FEATURE_VERSION = "featureVersion"; //$NON-NLS-1$
-	public static final String PARM_IGNORE = "@ignore"; //$NON-NLS-1$
-	public static final String PARM_JVM_ARG = "jvmArg"; //$NON-NLS-1$
-	public static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
-	public static final String PARM_PREVIOUS_START_LEVEL = "previousStartLevel"; //$NON-NLS-1$
-	public static final String PARM_PREVIOUS_STARTED = "previousStarted"; //$NON-NLS-1$
-	public static final String PARM_PREVIOUS_VALUE = "previousValue"; //$NON-NLS-1$
-	public static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
-	public static final String PARM_PROGRAM_ARG = "programArg"; //$NON-NLS-1$
-	public static final String PARM_PROGRAM_ARG_VALUE = "programArgValue"; //$NON-NLS-1$
-	public static final String PARM_PROP_NAME = "propName"; //$NON-NLS-1$
-	public static final String PARM_PROP_VALUE = "propValue"; //$NON-NLS-1$
-	public static final String PARM_START_LEVEL = "startLevel"; //$NON-NLS-1$
-	public static final String PARM_STARTED = "started"; //$NON-NLS-1$
-	public static final String PARM_DEFAULT_VALUE = "default"; //$NON-NLS-1$
-	public static final String PARM_LAUNCHERNAME = "name"; //$NON-NLS-1$
-	public static final String PARM_PATH = "path"; //$NON-NLS-1$
-	public static final String PARM_TARGET_DIR = "targetDir"; //$NON-NLS-1$
-	public static final String PARM_LINK_NAME = "linkName"; //$NON-NLS-1$
-	public static final String PARM_LINK_FORCE = "force"; //$NON-NLS-1$
-	public static final String PARM_LINK_TARGET = "linkTarget"; //$NON-NLS-1$
-	public static final String PARM_TARGET_FILE = "targetFile"; //$NON-NLS-1$
-	public static final String PARM_PERMISSIONS = "permissions"; //$NON-NLS-1$
-	public static final String PARM_PROFILE_DATA_DIRECTORY = "profileDataDirectory"; //$NON-NLS-1$
-
-	public static final String PARM_REPOSITORY_LOCATION = "location"; //$NON-NLS-1$
-	public static final String PARM_REPOSITORY_TYPE = "type"; //$NON-NLS-1$
-	public static final String PARM_REPOSITORY_ENABLEMENT = "enabled"; //$NON-NLS-1$
-	public static final String PARM_REPOSITORY_NICKNAME = "name"; //$NON-NLS-1$
-	public static final Object PARM_OPTIONS = "options"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
deleted file mode 100644
index 9855bb7..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddJVMArgumentAction.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class AddJVMArgumentAction extends ProvisioningAction {
-	public static final String ID = "addJvmArg"; //$NON-NLS-1$
-	protected static final String STORAGE = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions" + File.separator + "jvmargs"; //$NON-NLS-1$//$NON-NLS-2$
-
-	protected static final String XMX = "-Xmx"; //$NON-NLS-1$
-	protected static final String XMS = "-Xms"; //$NON-NLS-1$
-	protected static final String XX_MAX_PERM_SIZE = "-XX:MaxPermSize="; //$NON-NLS-1$
-	protected static final String PREFIX_USER_VALUE = "eclipse.userDefined:"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
-		if (jvmArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
-		return addArg(jvmArg, parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
-		if (jvmArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
-		return RemoveJVMArgumentAction.removeArg(jvmArg, parameters);
-	}
-
-	protected static String getUserArg(Properties storedValues, String flag) {
-		return storedValues.getProperty(PREFIX_USER_VALUE + flag);
-	}
-
-	protected static IStatus addArg(String arg, Map parameters) {
-		LauncherData launcherData = ((Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR)).getLauncherData();
-		File storageArea = (File) parameters.get(ActionConstants.PARM_PROFILE_DATA_DIRECTORY);
-		try {
-			if (arg.startsWith(XMS))
-				addByteArg(arg, XMS, launcherData, storageArea);
-			else if (arg.startsWith(XMX))
-				addByteArg(arg, XMX, launcherData, storageArea);
-			else if (arg.startsWith(XX_MAX_PERM_SIZE))
-				addByteArg(arg, XX_MAX_PERM_SIZE, launcherData, storageArea);
-			else
-				// Argument with a non-byte value, no special handling
-				launcherData.addJvmArg(arg);
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.error_processing_vmargs, e);
-		} catch (IllegalArgumentException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.error_processing_vmargs, e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	protected static void addByteArg(String arg, String flag, LauncherData launcherData, File storageArea) throws IOException {
-		Properties storedValues = load(storageArea);
-		String currentArg = getCurrentArg(flag, launcherData.getJvmArgs());
-
-		// Check for user changes
-		detectUserValue(currentArg, flag, storedValues);
-		validateValue(arg.substring(flag.length()));
-
-		rememberArg(storedValues, arg.substring(flag.length()), flag);
-		launcherData.removeJvmArg(currentArg);
-
-		// Set the argument to use & save stored values
-		setToMax(flag, storedValues, launcherData);
-		save(storedValues, storageArea);
-	}
-
-	// Throws exception if the argument is not a valid byte argument 
-	protected static void validateValue(String arg) {
-		getByteValue(arg, getBytePower(arg));
-	}
-
-	// Determine if the user has changed config, if so save their value
-	protected static void detectUserValue(String currentValue, String flag, Properties storedValues) {
-		String maxValue = getMaxValue(getArgs(storedValues, flag));
-
-		if (currentValue == null)
-			// User has removed value from file
-			setUserArg(storedValues, flag, null);
-		else if (maxValue == null || !maxValue.equals(currentValue.substring(flag.length())))
-			// User has set an initial value, or modified the file 
-			setUserArg(storedValues, flag, currentValue.substring(flag.length()));
-	}
-
-	protected static String getMaxValue(String[] values) {
-		if (values == null || values.length == 0)
-			return null;
-
-		int max = 0;
-		for (int i = 1; i < values.length; i++)
-			if (compareSize(values[max], values[i]) < 0)
-				max = i;
-		return values[max];
-	}
-
-	protected static void setToMax(String flag, Properties storedValues, LauncherData launcherData) {
-		String maxStored = getMaxValue(getArgs(storedValues, flag));
-		String userDefined = AddJVMArgumentAction.getUserArg(storedValues, flag);
-
-		if (maxStored != null || userDefined != null) {
-			// Replacement is available either stored, or user defined
-			if (maxStored == null)
-				launcherData.addJvmArg(flag + userDefined);
-			else if (userDefined == null)
-				launcherData.addJvmArg(flag + maxStored);
-			else if (AddJVMArgumentAction.compareSize(maxStored, userDefined) > 0)
-				launcherData.addJvmArg(flag + maxStored);
-			else
-				launcherData.addJvmArg(flag + userDefined);
-		}
-	}
-
-	// Returns:  1 when a>b, 0 when a=b, -1 when a<b
-	protected static int compareSize(String a, String b) {
-		double aVal, bVal;
-		int aPower = getBytePower(a);
-		int bPower = getBytePower(b);
-
-		aVal = getByteValue(a, aPower);
-		bVal = getByteValue(b, bPower);
-		// Ensure a value is expressed with the highest power (e.g. 2G not 2048M) 
-		while (aVal > 1024) {
-			aVal /= 1024;
-			aPower += 10;
-		}
-		while (bVal > 1024) {
-			bVal /= 1024;
-			bPower += 10;
-		}
-
-		if (aPower > bPower && aVal != 0)
-			return 1;
-		else if (aPower < bPower && bVal != 0)
-			return -1;
-		// Both have same power, so direct comparison 
-		else if (aVal > bVal)
-			return 1;
-		else if (aVal < bVal)
-			return -1;
-		else
-			return 0;
-	}
-
-	// Parse the numeric portion of an argument
-	private static double getByteValue(String arg, int power) {
-		try {
-			if (power == 0)
-				return Integer.parseInt(arg);
-			return Integer.parseInt(arg.substring(0, arg.length() - 1));
-		} catch (NumberFormatException e) {
-			throw new IllegalArgumentException(NLS.bind(Messages.invalid_byte_format, arg));
-		}
-	}
-
-	private static int getBytePower(String arg) {
-		// If last digit determines if the value is in bytes, 
-		// kilobytes, megabytes, or gigabytes 
-		switch (arg.charAt(arg.length() - 1)) {
-			case 'k' :
-			case 'K' :
-				return 10;
-			case 'm' :
-			case 'M' :
-				return 20;
-			case 'g' :
-			case 'G' :
-				return 30;
-			default :
-				return 0;
-		}
-	}
-
-	// Get the current used argument if there is one 
-	protected static String getCurrentArg(String flag, String[] jvmArgs) {
-		for (int i = 0; i < jvmArgs.length; i++)
-			if (jvmArgs[i] != null && jvmArgs[i].startsWith(flag))
-				return jvmArgs[i];
-		return null;
-	}
-
-	// Add one new value to those stored
-	protected static void rememberArg(Properties storedValues, String value, String flag) {
-		String argString = storedValues.getProperty(flag);
-
-		if (argString == null)
-			argString = ""; //$NON-NLS-1$
-		else if (argString.length() > 0)
-			argString += ',';
-
-		argString += value;
-
-		if (argString.length() != 0)
-			storedValues.put(flag, argString);
-	}
-
-	protected static String[] getArgs(Properties storage, String flag) {
-		String argString = storage.getProperty(flag);
-		if (argString == null || argString.length() == 0)
-			return new String[0];
-
-		List list = new ArrayList();
-		int i = 0;
-		String arg = ""; //$NON-NLS-1$
-
-		// Split comma-separated list into a List
-		while (i < argString.length()) {
-			char c = argString.charAt(i++);
-			if (c == ',') {
-				list.add(arg);
-				arg = ""; //$NON-NLS-1$
-			} else
-				arg += c;
-		}
-
-		list.add(arg);
-		String[] argList = new String[list.size()];
-		list.toArray(argList);
-
-		return argList;
-	}
-
-	// Store a single user argument, null removes stored values
-	private static void setUserArg(Properties storage, String flag, String value) {
-		if (value == null)
-			storage.remove(PREFIX_USER_VALUE + flag);
-		else
-			storage.setProperty(PREFIX_USER_VALUE + flag, value);
-	}
-
-	protected static Properties load(File storageArea) throws IOException {
-		Properties args = new Properties();
-		File file = new File(storageArea, STORAGE);
-		if (file.exists()) {
-			// Only load if file already exists
-			FileInputStream in = null;
-			try {
-				try {
-					in = new FileInputStream(file);
-					args.load(in);
-				} finally {
-					if (in != null)
-						in.close();
-				}
-			} catch (FileNotFoundException e) {
-				// Should not occur as we check to see if it exists
-			}
-		}
-		return args;
-	}
-
-	protected static void save(Properties args, File storageArea) throws IOException {
-		FileOutputStream out = null;
-		File file = new File(storageArea, STORAGE);
-		if (!file.exists())
-			// Ensure parent directory exists 
-			file.getParentFile().mkdirs();
-
-		try {
-			try {
-				out = new FileOutputStream(file);
-				args.store(out, null);
-			} finally {
-				if (out != null)
-					out.close();
-			}
-		} catch (FileNotFoundException e) {
-			throw new IllegalStateException(NLS.bind(Messages.unable_to_open_file, file));
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
deleted file mode 100644
index 913fa01..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddProgramArgumentAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class AddProgramArgumentAction extends ProvisioningAction {
-	public static final String ID = "addProgramArg"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
-		if (programArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
-		String programArgValue = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG_VALUE);
-		if (ActionConstants.PARM_IGNORE.equals(programArgValue))
-			return Status.OK_STATUS;
-
-		if (programArg.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			try {
-				programArg = Util.resolveArtifactParam(parameters);
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-		}
-		manipulator.getLauncherData().addProgramArg(programArg);
-
-		if (programArgValue != null) {
-			if (programArgValue.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-				try {
-					programArgValue = Util.resolveArtifactParam(parameters);
-				} catch (CoreException e) {
-					return e.getStatus();
-				}
-			}
-			manipulator.getLauncherData().addProgramArg(programArgValue);
-		}
-
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
-		if (programArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
-		String programArgValue = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG_VALUE);
-		if (ActionConstants.PARM_IGNORE.equals(programArgValue))
-			return Status.OK_STATUS;
-
-		if (programArg.startsWith("-")) //$NON-NLS-1$
-			manipulator.getLauncherData().removeProgramArg(programArg);
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddRepositoryAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddRepositoryAction.java
deleted file mode 100644
index e64266e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddRepositoryAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-
-/**
- * An action that adds a repository to the list of known repositories.
- */
-public class AddRepositoryAction extends RepositoryAction {
-	public static final String ID = "addRepository"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		try {
-			IProvisioningAgent agent = getAgent(parameters);
-			IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-			IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-			final RepositoryEvent event = createEvent(parameters);
-			Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-			if (profile != null)
-				addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled());
-			//if provisioning into the current profile, broadcast an event to add this repository directly to the current repository managers.
-			if (isSelfProfile(registry, profile))
-				addToSelf(agentLocation, event);
-			return Status.OK_STATUS;
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-	}
-
-	protected String getId() {
-		return ID;
-	}
-
-	public IStatus undo(Map parameters) {
-		try {
-			IProvisioningAgent agent = getAgent(parameters);
-			IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-			IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-			final RepositoryEvent event = createEvent(parameters);
-			Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-			if (profile != null)
-				removeRepositoryFromProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryType());
-			//if provisioning into the current profile, broadcast an event to add this repository directly to the current repository managers.
-			if (isSelfProfile(registry, profile))
-				removeFromSelf(agentLocation, event);
-			return Status.OK_STATUS;
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
deleted file mode 100644
index 5815e72..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/AddSourceBundleAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class AddSourceBundleAction extends ProvisioningAction {
-	public static final String ID = "addSourceBundle"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return AddSourceBundleAction.addSourceBundle(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return RemoveSourceBundleAction.removeSourceBundle(parameters);
-	}
-
-	public static IStatus addSourceBundle(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
-		String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
-		if (bundleId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(bundleId)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-		if (artifactKey == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-		if (bundleFile == null || !bundleFile.exists())
-			return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
-		try {
-			manipulator.addBundle(bundleFile, artifactKey.getId(), artifactKey.getVersion());
-		} catch (IOException e) {
-			return Util.createError(NLS.bind(Messages.cannot_configure_source_bundle, artifactKey));
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
deleted file mode 100644
index d1768ff..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CheckTrustAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * This action collects the set of bundle files on which the signature trust check
- * should be performed. The actual trust checking is done by the CheckTrust phase.
- */
-public class CheckTrustAction extends ProvisioningAction {
-
-	public static final String ID = "checkTrust"; //$NON-NLS-1$
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction#execute(java.util.Map)
-	 */
-	public IStatus execute(Map parameters) {
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		if (iu == null)
-			return null;
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		//if the IU is already in the profile there is nothing to do
-		if (!profile.available(new InstallableUnitQuery(iu), null).isEmpty())
-			return null;
-		Collection bundleFiles = (Collection) parameters.get(ActionConstants.PARM_ARTIFACT_FILES);
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null)
-			return null;
-		for (int i = 0; i < artifacts.length; i++) {
-			File bundleFile = Util.getArtifactFile(agent, artifacts[i], profile);
-			if (!bundleFiles.contains(bundleFile))
-				bundleFiles.add(bundleFile);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction#undo(java.util.Map)
-	 */
-	public IStatus undo(Map parameters) {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
deleted file mode 100644
index c5bab23..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/ChmodAction.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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:
- *     Red Hat Incorporated - initial API and implementation
- *     IBM Corporation - ongoing development
- *     Cloudsmith Inc - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-// This basically a copy of the chmod action in the native touchpoint only it provides @artifact support.
-// We should just use the native touchpoint copy when we have a replacement for the use of @artifact in parameters
-public class ChmodAction extends ProvisioningAction {
-	private static final String ACTION_CHMOD = "chmod"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
-		if (targetDir == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_DIR, ACTION_CHMOD));
-		if (targetDir.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			try {
-				targetDir = Util.resolveArtifactParam(parameters);
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-
-			File dir = new File(targetDir);
-			if (!dir.isDirectory()) {
-				return Util.createError(NLS.bind(Messages.artifact_not_directory, dir));
-			}
-		}
-
-		String targetFile = (String) parameters.get(ActionConstants.PARM_TARGET_FILE);
-		if (targetFile == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_FILE, ACTION_CHMOD));
-		String permissions = (String) parameters.get(ActionConstants.PARM_PERMISSIONS);
-		if (permissions == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PERMISSIONS, ACTION_CHMOD));
-		String optionsString = (String) parameters.get(ActionConstants.PARM_OPTIONS);
-
-		// Check that file exist
-		File probe = new File(targetDir + IPath.SEPARATOR + targetFile);
-		if (!probe.exists())
-			return Util.createError(NLS.bind(Messages.action_0_failed_file_1_doesNotExist, ACTION_CHMOD, probe.toString()));
-
-		String options[] = null;
-		if (optionsString != null) {
-			ArrayList collect = new ArrayList();
-			String r = optionsString.trim();
-			while (r.length() > 0) {
-				int spaceIdx = r.indexOf(' ');
-				if (spaceIdx < 0) {
-					collect.add(r);
-					r = ""; //$NON-NLS-1$
-				} else {
-					collect.add(r.substring(0, spaceIdx));
-					r = r.substring(spaceIdx + 1);
-					r = r.trim();
-				}
-			}
-			if (collect.size() > 0) {
-				options = new String[collect.size()];
-				collect.toArray(options);
-			}
-		}
-
-		chmod(targetDir, targetFile, permissions, options);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		//TODO: implement undo ??
-		return Status.OK_STATUS;
-	}
-
-	public void chmod(String targetDir, String targetFile, String perms, String[] options) {
-		Runtime r = Runtime.getRuntime();
-		try {
-			// Note: 3 is from chmod, permissions, and target
-			String[] args = new String[3 + (options == null ? 0 : options.length)];
-			int i = 0;
-			args[i++] = "chmod"; //$NON-NLS-1$
-			if (options != null) {
-				for (int j = 0; j < options.length; j++)
-					args[i++] = options[j];
-			}
-			args[i++] = perms;
-			args[i] = targetDir + IPath.SEPARATOR + targetFile;
-			Process process = r.exec(args);
-			readOffStream(process.getErrorStream());
-			readOffStream(process.getInputStream());
-			try {
-				process.waitFor();
-			} catch (InterruptedException e) {
-				// mark thread interrupted and continue
-				Thread.currentThread().interrupt();
-			}
-		} catch (IOException e) {
-			// ignore
-		}
-	}
-
-	private void readOffStream(InputStream inputStream) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
-		try {
-			while (reader.readLine() != null) {
-				// do nothing
-			}
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
deleted file mode 100644
index 13693fd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.util.NLS;
-
-public class CollectAction extends ProvisioningAction {
-	public static final String ID = "collect"; //$NON-NLS-1$
-	public static final String ARTIFACT_FOLDER = "artifact.folder"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(ActionConstants.PARM_OPERAND);
-		IArtifactRequest[] requests;
-		try {
-			requests = CollectAction.collect(agent, profile, operand.second());
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-
-		Collection artifactRequests = (Collection) parameters.get(ActionConstants.PARM_ARTIFACT_REQUESTS);
-		artifactRequests.add(requests);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		// nothing to do for now
-		return Status.OK_STATUS;
-	}
-
-	public static boolean isZipped(ITouchpointData[] data) {
-		if (data == null || data.length == 0)
-			return false;
-		for (int i = 0; i < data.length; i++) {
-			if (data[i].getInstruction("zipped") != null) //$NON-NLS-1$
-				return true;
-		}
-		return false;
-	}
-
-	public static Properties createArtifactDescriptorProperties(IInstallableUnit installableUnit) {
-		Properties descriptorProperties = null;
-		if (CollectAction.isZipped(installableUnit.getTouchpointData())) {
-			descriptorProperties = new Properties();
-			descriptorProperties.setProperty(CollectAction.ARTIFACT_FOLDER, Boolean.TRUE.toString());
-		}
-		return descriptorProperties;
-	}
-
-	// TODO: Here we may want to consult multiple caches
-	static IArtifactRequest[] collect(IProvisioningAgent agent, IProfile profile, IInstallableUnit installableUnit) throws ProvisionException {
-		IArtifactKey[] toDownload = installableUnit.getArtifacts();
-		if (toDownload == null || toDownload.length == 0)
-			return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-
-		IArtifactRepository aggregatedRepositoryView = Util.getAggregatedBundleRepository(agent, profile);
-		IArtifactRepository bundlePool = Util.getBundlePoolRepository(agent, profile);
-		if (bundlePool == null)
-			throw new ProvisionException(Util.createError(NLS.bind(Messages.no_bundle_pool, profile.getProfileId())));
-
-		List requests = new ArrayList();
-		for (int i = 0; i < toDownload.length; i++) {
-			IArtifactKey key = toDownload[i];
-			if (!aggregatedRepositoryView.contains(key)) {
-				Properties repositoryProperties = CollectAction.createArtifactDescriptorProperties(installableUnit);
-				requests.add(Util.getArtifactRepositoryManager(agent).createMirrorRequest(key, bundlePool, null, repositoryProperties));
-			}
-		}
-
-		if (requests.isEmpty())
-			return IArtifactRepositoryManager.NO_ARTIFACT_REQUEST;
-
-		IArtifactRequest[] result = (IArtifactRequest[]) requests.toArray(new IArtifactRequest[requests.size()]);
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
deleted file mode 100644
index 909f839..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.osgi.util.NLS;
-
-public class InstallBundleAction extends ProvisioningAction {
-	public static final String ID = "installBundle"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return InstallBundleAction.installBundle(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return UninstallBundleAction.uninstallBundle(parameters);
-	}
-
-	public static IStatus installBundle(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
-		if (bundleId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
-		//TODO: eventually remove this. What is a fragment doing here??
-		if (FragmentQuery.isFragment(iu)) {
-			System.out.println("What is a fragment doing here!!! -- " + iu); //$NON-NLS-1$
-			return Status.OK_STATUS;
-		}
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(bundleId)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-		if (artifactKey == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-		if (bundleFile == null || !bundleFile.exists())
-			return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-
-		//By now we always have the manifest in the touchpoint data
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-		manipulator.getConfigData().addBundle(bundleInfo);
-
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
deleted file mode 100644
index 4524b97..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallFeatureAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.p2.update.Site;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class InstallFeatureAction extends ProvisioningAction {
-	public static final String ID = "installFeature"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_APPLICATION_PROP = "org.eclipse.update.feature.application"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PLUGIN_PROP = "org.eclipse.update.feature.plugin"; //$NON-NLS-1$
-	private static final String UPDATE_FEATURE_PRIMARY_PROP = "org.eclipse.update.feature.primary"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return InstallFeatureAction.installFeature(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return UninstallFeatureAction.uninstallFeature(parameters);
-	}
-
-	public static IStatus installFeature(Map parameters) {
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
-		String feature = (String) parameters.get(ActionConstants.PARM_FEATURE);
-		String featureId = (String) parameters.get(ActionConstants.PARM_FEATURE_ID);
-		String featureVersion = (String) parameters.get(ActionConstants.PARM_FEATURE_VERSION);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(feature)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-
-		if (featureId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_ID, ID));
-		else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureId)) {
-			featureId = artifactKey.getId();
-		}
-
-		if (featureVersion == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_VERSION, ID));
-		else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureVersion)) {
-			featureVersion = artifactKey.getVersion().toString();
-		}
-
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		File file = Util.getArtifactFile(agent, artifactKey, profile);
-		if (file == null || !file.exists()) {
-			return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey));
-		}
-		String pluginId = iu.getProperty(UPDATE_FEATURE_PLUGIN_PROP);
-		boolean isPrimary = Boolean.valueOf(iu.getProperty(UPDATE_FEATURE_PRIMARY_PROP)).booleanValue();
-		String application = iu.getProperty(UPDATE_FEATURE_APPLICATION_PROP);
-		// TODO this isn't right... but we will leave it for now because we don't actually use the value in the install
-		String pluginVersion = artifactKey.getVersion().toString();
-		return configuration.addFeatureEntry(file, featureId, featureVersion, pluginId, pluginVersion, isPrimary, application, /*root*/null, iu.getProperty(Site.PROP_LINK_FILE));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
deleted file mode 100644
index 1cf493b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/LinkAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.*;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-//This is basically a copy of the ln action in the native touchpoint only it provides @artifact support and does not support the backup store.
-//We should just use the native touchpoint copy when we have a replacement for the use of @artifact in parameters
-public class LinkAction extends ProvisioningAction {
-	public static final String ID = "ln"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
-		if (targetDir == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_TARGET_DIR, ID));
-
-		if (targetDir.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			try {
-				targetDir = Util.resolveArtifactParam(parameters);
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-			File dir = new File(targetDir);
-			if (!dir.isDirectory()) {
-				return Util.createError(NLS.bind(Messages.artifact_not_directory, dir));
-			}
-		}
-
-		String linkTarget = (String) parameters.get(ActionConstants.PARM_LINK_TARGET);
-		if (linkTarget == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_LINK_TARGET, ID));
-
-		String linkName = (String) parameters.get(ActionConstants.PARM_LINK_NAME);
-		if (linkName == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_LINK_NAME, ID));
-
-		String force = (String) parameters.get(ActionConstants.PARM_LINK_FORCE);
-
-		ln(targetDir, linkTarget, linkName, Boolean.valueOf(force).booleanValue());
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		return null;
-	}
-
-	/**
-	 * Creates a link to the source file linkTarget - the created link is targetDir/linkName. 
-	 * TODO: Only runs on systems with a "ln -s" command supported.
-	 * TODO: Does not report errors if the "ln -s" fails
-	 * @param targetDir the directory where the link is created
-	 * @param linkTarget the source
-	 * @param linkName the name of the created link
-	 * @param force if overwrite of existing file should be performed.
-	 */
-	private void ln(String targetDir, String linkTarget, String linkName, boolean force) {
-
-		Runtime r = Runtime.getRuntime();
-		try {
-			Process process = r.exec(new String[] {"ln", "-s" + (force ? "f" : ""), linkTarget, targetDir + IPath.SEPARATOR + linkName}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			readOffStream(process.getErrorStream());
-			readOffStream(process.getInputStream());
-			try {
-				process.waitFor();
-			} catch (InterruptedException e) {
-				// mark thread interrupted and continue
-				Thread.currentThread().interrupt();
-			}
-		} catch (IOException e) {
-			// ignore
-		}
-	}
-
-	private void readOffStream(InputStream inputStream) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
-		try {
-			while (reader.readLine() != null) {
-				// do nothing
-			}
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
deleted file mode 100644
index 6cb4d75..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/MarkStartedAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class MarkStartedAction extends ProvisioningAction {
-	public static final String ID = "markStarted"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		String started = (String) parameters.get(ActionConstants.PARM_STARTED);
-		if (started == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_STARTED, ID));
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = artifacts[0];
-
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
-		if (bundleInfo.getFragmentHost() != null)
-			return Status.OK_STATUS;
-
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].equals(bundleInfo)) {
-				getMemento().put(ActionConstants.PARM_PREVIOUS_STARTED, new Boolean(bundles[i].isMarkedAsStarted()));
-				bundles[i].setMarkedAsStarted(Boolean.valueOf(started).booleanValue());
-				break;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		Boolean previousStarted = (Boolean) getMemento().get(ActionConstants.PARM_PREVIOUS_STARTED);
-		if (previousStarted == null)
-			return Status.OK_STATUS;
-
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = artifacts[0];
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].equals(bundleInfo)) {
-				bundles[i].setMarkedAsStarted(previousStarted.booleanValue());
-				break;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
deleted file mode 100644
index 7e8bddf..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/Messages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.messages"; //$NON-NLS-1$
-	public static String artifact_file_not_found;
-	public static String parameter_not_set;
-	public static String iu_contains_no_arifacts;
-	public static String no_matching_artifact;
-	public static String missing_manifest;
-	public static String failed_bundleinfo;
-	public static String cannot_configure_source_bundle;
-	public static String error_parsing_startlevel;
-	public static String artifact_not_directory;
-	public static String no_bundle_pool;
-	public static String error_processing_vmargs;
-	public static String invalid_byte_format;
-	public static String unable_to_open_file;
-	public static String action_0_failed_file_1_doesNotExist;
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
deleted file mode 100644
index 9ebd394..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveJVMArgumentAction.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveJVMArgumentAction extends ProvisioningAction {
-	public static final String ID = "removeJvmArg"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
-		if (jvmArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
-		removeArg(jvmArg, parameters);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		String jvmArg = (String) parameters.get(ActionConstants.PARM_JVM_ARG);
-		if (jvmArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_JVM_ARG, ID));
-		AddJVMArgumentAction.addArg(jvmArg, parameters);
-		return Status.OK_STATUS;
-	}
-
-	public static IStatus removeArg(String arg, Map parameters) {
-		LauncherData launcherData = ((Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR)).getLauncherData();
-		File storageArea = (File) parameters.get(ActionConstants.PARM_PROFILE_DATA_DIRECTORY);
-
-		try {
-			if (arg.startsWith(AddJVMArgumentAction.XMS))
-				removeByteArg(arg, AddJVMArgumentAction.XMS, launcherData, storageArea);
-			else if (arg.startsWith(AddJVMArgumentAction.XMX))
-				removeByteArg(arg, AddJVMArgumentAction.XMX, launcherData, storageArea);
-			else if (arg.startsWith(AddJVMArgumentAction.XX_MAX_PERM_SIZE))
-				removeByteArg(arg, AddJVMArgumentAction.XX_MAX_PERM_SIZE, launcherData, storageArea);
-			else
-				// Argument with a non-byte value, no special handling
-				launcherData.removeJvmArg(arg);
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.error_processing_vmargs, e);
-		} catch (IllegalArgumentException e) {
-			return new Status(IStatus.ERROR, Activator.ID, Messages.error_processing_vmargs, e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	private static void removeByteArg(String arg, String flag, LauncherData launcherData, File storageArea) throws IOException {
-		Properties storedValues = AddJVMArgumentAction.load(storageArea);
-
-		String argValue = arg.substring(flag.length());
-		String currentArg = AddJVMArgumentAction.getCurrentArg(flag, launcherData.getJvmArgs());
-		// Check for user changes
-		AddJVMArgumentAction.detectUserValue(currentArg, flag, storedValues);
-		AddJVMArgumentAction.validateValue(arg.substring(flag.length()));
-
-		removeArg(storedValues, argValue, flag);
-		launcherData.removeJvmArg(currentArg);
-
-		// Set the argument to use & save stored values
-		AddJVMArgumentAction.setToMax(flag, storedValues, launcherData);
-		AddJVMArgumentAction.save(storedValues, storageArea);
-	}
-
-	private static void removeArg(Properties storage, String value, String flag) {
-		String[] args = AddJVMArgumentAction.getArgs(storage, flag);
-		for (int i = 0; i < args.length; i++)
-			if (args[i].equals(value)) {
-				args[i] = null;
-				// Stop now that we've removed a matching argument
-				break;
-			}
-		setArgs(storage, flag, args);
-	}
-
-	private static void setArgs(Properties storedValues, String flag, String[] args) {
-		if (args == null || args.length == 0)
-			// Null or empty list, unset flag
-			storedValues.remove(flag);
-		else {
-			// Build a comma separated list of values for this flag
-			String argString = ""; //$NON-NLS-1$
-			for (int i = 0; i < args.length; i++)
-				if (args[i] != null)
-					argString += args[i] + ',';
-
-			if (argString.length() > 0)
-				// Strip the trailing comma
-				storedValues.setProperty(flag, argString.substring(0, argString.length() - 1));
-			else
-				// Array was full of null values, unset flag
-				storedValues.remove(flag);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
deleted file mode 100644
index b6a8900..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveProgramArgumentAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveProgramArgumentAction extends ProvisioningAction {
-	public static final String ID = "removeProgramArg"; //$NON-NLS-1$
-	public static final String EMPTY_ARGUMENT = ""; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
-		if (programArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
-		if (programArg.startsWith("-")) {//$NON-NLS-1$
-			List programArgs = Arrays.asList(manipulator.getLauncherData().getProgramArgs());
-
-			int index = programArgs.indexOf(programArg);
-			if (index == -1)
-				return Status.OK_STATUS;
-
-			index++; // move index to potential programArgValue
-			if (programArgs.size() > index) {
-				String programArgValue = (String) programArgs.get(index);
-				if (!programArgValue.startsWith("-")) //$NON-NLS-1$
-					getMemento().put(ActionConstants.PARM_PROGRAM_ARG_VALUE, programArgValue);
-			}
-			manipulator.getLauncherData().removeProgramArg(programArg);
-		}
-
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String programArg = (String) parameters.get(ActionConstants.PARM_PROGRAM_ARG);
-		if (programArg == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROGRAM_ARG, ID));
-
-		if (programArg.startsWith("-")) {//$NON-NLS-1$ {
-			manipulator.getLauncherData().addProgramArg(programArg);
-
-			String programArgValue = (String) getMemento().get(ActionConstants.PARM_PROGRAM_ARG_VALUE);
-			if (programArgValue != null)
-				manipulator.getLauncherData().addProgramArg(programArgValue);
-		}
-		return Status.OK_STATUS;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveRepositoryAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveRepositoryAction.java
deleted file mode 100644
index e7c7e2a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveRepositoryAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-
-/**
- * An action that adds a repository to the list of known repositories.
- */
-public class RemoveRepositoryAction extends RepositoryAction {
-	public static final String ID = "removeRepository"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		try {
-			IProvisioningAgent agent = getAgent(parameters);
-			IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-			IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-			RepositoryEvent event = createEvent(parameters);
-			Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-			if (profile != null)
-				removeRepositoryFromProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryType());
-			//if we are provisioning into the self profile, update the current set of repositories in this configuration
-			if (isSelfProfile(registry, profile))
-				removeFromSelf(agentLocation, event);
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		try {
-			IProvisioningAgent agent = getAgent(parameters);
-			IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
-			IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME);
-			RepositoryEvent event = createEvent(parameters);
-			Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-			if (profile != null)
-				addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled());
-			//if we are provisioning into the self profile, update the current set of repositories in this configuration
-			if (isSelfProfile(registry, profile))
-				addToSelf(agentLocation, event);
-			return Status.OK_STATUS;
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-	}
-
-	protected String getId() {
-		return ID;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
deleted file mode 100644
index 5b84184..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RemoveSourceBundleAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveSourceBundleAction extends ProvisioningAction {
-	public static final String ID = "removeSourceBundle"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return RemoveSourceBundleAction.removeSourceBundle(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return AddSourceBundleAction.addSourceBundle(parameters);
-	}
-
-	public static IStatus removeSourceBundle(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		SourceManipulator manipulator = (SourceManipulator) parameters.get(EclipseTouchpoint.PARM_SOURCE_BUNDLES);
-		String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
-		if (bundleId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(bundleId)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-		if (artifactKey == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		try {
-			manipulator.removeBundle(bundleFile, artifactKey.getId(), artifactKey.getVersion());
-		} catch (IOException e) {
-			return Util.createError(NLS.bind(Messages.cannot_configure_source_bundle, artifactKey));
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RepositoryAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RepositoryAction.java
deleted file mode 100644
index 33ee6be..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/RepositoryAction.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Helper base class for dealing with repositories associated with profiles. Repositories
- * are associated with a profile by encoding the repository locations in a comma-delimited
- * list in a profile property.
- * @see AddRepositoryAction
- * @see RemoveRepositoryAction
- */
-abstract class RepositoryAction extends ProvisioningAction {
-
-	private static final String METADATA_REPOSITORY = "org.eclipse.equinox.p2.metadata.repository"; //$NON-NLS-1$
-	private static final String ARTIFACT_REPOSITORY = "org.eclipse.equinox.p2.artifact.repository"; //$NON-NLS-1$
-
-	private static final String NODE_REPOSITORIES = "repositories"; //$NON-NLS-1$
-	private static final String REPOSITORY_COUNT = "count"; //$NON-NLS-1$
-	private static final String KEY_URI = "uri"; //$NON-NLS-1$
-	private static final String KEY_ENABLED = "enabled"; //$NON-NLS-1$
-	private static final String KEY_NICKNAME = "nickname"; //$NON-NLS-1$
-
-	/**
-	 * Returns the repository manager of the given type, or <code>null</code>
-	 * if not available.
-	 */
-	private static IRepositoryManager getRepositoryManager(int type) {
-		if (type == IRepository.TYPE_METADATA) {
-			return (IRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		} else if (type == IRepository.TYPE_ARTIFACT) {
-			return (IRepositoryManager) ServiceHelper.getService(Activator.getContext(), IArtifactRepositoryManager.SERVICE_NAME);
-		}
-		return null;
-	}
-
-	/**
-	 * Associates the repository described by the given event with the given profile.
-	 * Has no effect if the repository is already associated with this profile.
-	 */
-	protected void addRepositoryToProfile(IAgentLocation agentLocation, Profile profile, URI location, String nickname, int type, boolean enabled) {
-		Preferences node = getRepositoryPreferenceNode(agentLocation, profile, location, type);
-		int count = 0;
-
-		if (repositoryExists(node)) {
-			count = getRepositoryCount(node);
-			// If a user has added a repository we need to set the initial count manually
-			if (count == 0)
-				count = 1;
-		}
-		node.put(KEY_URI, location.toString());
-		node.put(KEY_ENABLED, Boolean.toString(enabled));
-		if (nickname != null)
-			node.put(KEY_NICKNAME, nickname);
-		count++;
-		setRepositoryCount(node, count);
-		try {
-			node.flush();
-		} catch (BackingStoreException e) {
-			// TODO: perhaps an Exception should be passed backwards and associated with State
-		}
-	}
-
-	/**
-	 * Adds the repository corresponding to the given event to the currently running instance.
-	 */
-	protected void addToSelf(IAgentLocation agentLocation, RepositoryEvent event) {
-		IRepositoryManager manager = getRepositoryManager(event.getRepositoryType());
-		final URI location = event.getRepositoryLocation();
-		Preferences node = getRepositoryPreferenceNode(agentLocation, null, location, event.getRepositoryType());
-
-		int count = getRepositoryCount(node);
-		if (manager.contains(location)) {
-			// If a user as added a repository we need to set the initial count manually
-			if (count == 0)
-				count = 1;
-		} else {
-			if (manager != null)
-				manager.addRepository(location);
-		}
-		// increment the counter & send to preferences
-		count++;
-		setRepositoryCount(node, count);
-
-		if (!event.isRepositoryEnabled())
-			manager.setEnabled(location, false);
-		final String name = event.getRepositoryNickname();
-		if (name != null)
-			manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, name);
-	}
-
-	protected RepositoryEvent createEvent(Map parameters) throws CoreException {
-		String parm = (String) parameters.get(ActionConstants.PARM_REPOSITORY_LOCATION);
-		if (parm == null)
-			throw new CoreException(Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_REPOSITORY_LOCATION, getId())));
-		URI location = null;
-		try {
-			location = new URI(parm);
-		} catch (URISyntaxException e) {
-			throw new CoreException(Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_REPOSITORY_LOCATION, getId()), e));
-		}
-		parm = (String) parameters.get(ActionConstants.PARM_REPOSITORY_TYPE);
-		if (parm == null)
-			throw new CoreException(Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_REPOSITORY_TYPE, getId())));
-		int type = 0;
-		try {
-			type = Integer.parseInt(parm);
-		} catch (NumberFormatException e) {
-			throw new CoreException(Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_REPOSITORY_TYPE, getId()), e));
-		}
-		String name = (String) parameters.get(ActionConstants.PARM_REPOSITORY_NICKNAME);
-		//default is to be enabled
-		String enablement = (String) parameters.get(ActionConstants.PARM_REPOSITORY_ENABLEMENT);
-		boolean enabled = enablement == null ? true : Boolean.valueOf(enablement).booleanValue();
-		return RepositoryEvent.newDiscoveryEvent(location, name, type, enabled);
-	}
-
-	/**
-	 * Returns the id of this action.
-	 */
-	protected abstract String getId();
-
-	/**
-	 * Return <code>true</code> if the given profile is the currently running profile,
-	 * and <code>false</code> otherwise.
-	 */
-	protected boolean isSelfProfile(IProfileRegistry registry, Profile profile) {
-		//if we can't determine the current profile, assume we are running on self
-		if (profile == null)
-			return true;
-		if (registry == null)
-			return false;
-		final IProfile selfProfile = registry.getProfile(IProfileRegistry.SELF);
-		//if we can't determine the self profile, assume we are running on self
-		if (selfProfile == null)
-			return true;
-		return profile.getProfileId().equals(selfProfile.getProfileId());
-	}
-
-	/**
-	 * Removes the repository corresponding to the given event from the currently running instance.
-	 */
-	protected void removeFromSelf(IAgentLocation agentLocation, RepositoryEvent event) {
-		IRepositoryManager manager = getRepositoryManager(event.getRepositoryType());
-		Preferences node = getRepositoryPreferenceNode(agentLocation, null, event.getRepositoryLocation(), event.getRepositoryType());
-		int count = getRepositoryCount(node);
-		if (--count < 1 && manager != null)
-			manager.removeRepository(event.getRepositoryLocation());
-		setRepositoryCount(node, count);
-	}
-
-	/**
-	 * Removes the association between the repository described by the given event
-	 * and the given profile. Has no effect if the location is not already associated with
-	 * this profile.
-	 */
-	protected void removeRepositoryFromProfile(IAgentLocation agentLocation, Profile profile, URI location, int type) {
-		Preferences node = getRepositoryPreferenceNode(agentLocation, profile, location, type);
-
-		int count = getRepositoryCount(node);
-		if (--count < 1) {
-			// TODO: Remove all associated values
-			try {
-				String[] keys = node.keys();
-
-				for (int i = 0; i < keys.length; i++)
-					node.remove(keys[i]);
-			} catch (BackingStoreException e) {
-				// TODO: Should this be passed back to be associated with State?
-			}
-
-		} else
-			setRepositoryCount(node, count);
-
-		try {
-			node.flush();
-		} catch (BackingStoreException e) {
-			// TODO: perhaps an Exception should be passed backwards and associated with State
-		}
-	}
-
-	/*
-	 * Get the counter associated with a repository 
-	 */
-	protected int getRepositoryCount(Preferences node) {
-		return node.getInt(REPOSITORY_COUNT, 0);
-	}
-
-	/*
-	 * Sets the counter associated with this repository to a specific value
-	 */
-	protected void setRepositoryCount(Preferences node, int count) {
-		if (count < 1)
-			node.remove(REPOSITORY_COUNT);
-		else
-			node.putInt(REPOSITORY_COUNT, count);
-	}
-
-	/*
-	 * Determine if a repository is already known
-	 */
-	protected boolean repositoryExists(Preferences node) {
-		if (node.get(KEY_URI, null) == null)
-			return false;
-		return true;
-	}
-
-	/*
-	 * Get the preference node associated with profile & location 
-	 */
-	protected Preferences getRepositoryPreferenceNode(IAgentLocation agentLocation, Profile profile, URI location, int type) {
-		String key = type == IRepository.TYPE_METADATA ? METADATA_REPOSITORY : ARTIFACT_REPOSITORY;
-		String profileId = profile == null ? IProfileRegistry.SELF : profile.getProfileId();
-		return new ProfileScope(agentLocation, profileId).getNode(key + '/' + NODE_REPOSITORIES + '/' + getKey(location));
-	}
-
-	/*
-	 * Copied from AbstractRepositoryManager
-	 */
-	private String getKey(URI location) {
-		String key = location.toString().replace('/', '_');
-		//remove trailing slash
-		if (key.endsWith("_")) //$NON-NLS-1$
-			key = key.substring(0, key.length() - 1);
-		return key;
-	}
-
-	protected IProvisioningAgent getAgent(Map parameters) throws CoreException {
-		//We shouldn't really know about the session parameter
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get("agent"); //$NON-NLS-1$
-		if (agent == null)
-			throw new CoreException(Util.createError(NLS.bind(Messages.parameter_not_set, "agent", getId()))); //$NON-NLS-1$
-		return agent;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
deleted file mode 100644
index 922ce38..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetLauncherNameAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-
-public class SetLauncherNameAction extends ProvisioningAction {
-	public static final String ID = "setLauncherName"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-		getMemento().put(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME, profile.getProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME));
-		String launcherName = (String) parameters.get(ActionConstants.PARM_LAUNCHERNAME);
-		setLauncher(manipulator, profile, launcherName);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-		String previousLauncherName = (String) getMemento().get(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME);
-		setLauncher(manipulator, profile, previousLauncherName);
-		return Status.OK_STATUS;
-	}
-
-	private static void setLauncher(Manipulator manipulator, Profile profile, String launcherName) {
-		//Get the launcherData before changing the name so we don't lose anything from the old launcher.ini
-		LauncherData launcherData = manipulator.getLauncherData();
-		profile.setProperty(EclipseTouchpoint.PROFILE_PROP_LAUNCHER_NAME, launcherName);
-		launcherData.setLauncher(Util.getLauncherPath(profile));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
deleted file mode 100644
index 1cfee2a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetProgramPropertyAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class SetProgramPropertyAction extends ProvisioningAction {
-	public static final String ID = "setProgramProperty"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
-		if (propName == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
-		String propValue = (String) parameters.get(ActionConstants.PARM_PROP_VALUE);
-		if (propValue != null && propValue.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			try {
-				propValue = Util.resolveArtifactParam(parameters);
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-		}
-
-		getMemento().put(ActionConstants.PARM_PREVIOUS_VALUE, manipulator.getConfigData().getProperty(propName));
-		manipulator.getConfigData().setProperty(propName, propValue);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String propName = (String) parameters.get(ActionConstants.PARM_PROP_NAME);
-		if (propName == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_PROP_NAME, ID));
-		String previousValue = (String) getMemento().get(ActionConstants.PARM_PREVIOUS_VALUE);
-		manipulator.getConfigData().setProperty(propName, previousValue);
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
deleted file mode 100644
index 1da5f54..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/SetStartLevelAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class SetStartLevelAction extends ProvisioningAction {
-	public static final String ID = "setStartLevel"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		String startLevel = (String) parameters.get(ActionConstants.PARM_START_LEVEL);
-		if (startLevel == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_START_LEVEL, ID));
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = artifacts[0];
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
-		if (bundleInfo.getFragmentHost() != null)
-			return Status.OK_STATUS;
-
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].equals(bundleInfo)) {
-				getMemento().put(ActionConstants.PARM_PREVIOUS_START_LEVEL, new Integer(bundles[i].getStartLevel()));
-				try {
-					bundles[i].setStartLevel(Integer.parseInt(startLevel));
-				} catch (NumberFormatException e) {
-					return Util.createError(NLS.bind(Messages.error_parsing_startlevel, startLevel, bundles[i].getSymbolicName()), e);
-				}
-				break;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		Integer previousStartLevel = (Integer) getMemento().get(ActionConstants.PARM_PREVIOUS_START_LEVEL);
-		if (previousStartLevel == null)
-			return Status.OK_STATUS;
-
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = artifacts[0];
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-
-		BundleInfo[] bundles = manipulator.getConfigData().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			if (bundles[i].equals(bundleInfo)) {
-				bundles[i].setStartLevel(previousStartLevel.intValue());
-				break;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
deleted file mode 100644
index 2ad51ae..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallBundleAction.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.FragmentQuery;
-import org.eclipse.osgi.util.NLS;
-
-
-public class UninstallBundleAction extends ProvisioningAction {
-	public static final String ID = "uninstallBundle"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return UninstallBundleAction.uninstallBundle(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return InstallBundleAction.installBundle(parameters);
-	}
-
-	public static IStatus uninstallBundle(Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR);
-		String bundleId = (String) parameters.get(ActionConstants.PARM_BUNDLE);
-		if (bundleId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID));
-
-		//TODO: eventually remove this. What is a fragment doing here??
-		if (FragmentQuery.isFragment(iu)) {
-			System.out.println("What is a fragment doing here!!! -- " + iu); //$NON-NLS-1$
-			return Status.OK_STATUS;
-		}
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(bundleId)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-		if (artifactKey == null)
-			throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId));
-
-		// the bundleFile might be null here, that's OK.
-		File bundleFile = Util.getArtifactFile(agent, artifactKey, profile);
-
-		String manifest = Util.getManifest(iu.getTouchpointData());
-		if (manifest == null)
-			return Util.createError(NLS.bind(Messages.missing_manifest, iu));
-
-		BundleInfo bundleInfo = Util.createBundleInfo(bundleFile, manifest);
-		if (bundleInfo == null)
-			return Util.createError(NLS.bind(Messages.failed_bundleinfo, iu));
-		manipulator.getConfigData().removeBundle(bundleInfo);
-
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
deleted file mode 100644
index e91cf7f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/UninstallFeatureAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class UninstallFeatureAction extends ProvisioningAction {
-	public static final String ID = "uninstallFeature"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return UninstallFeatureAction.uninstallFeature(parameters);
-	}
-
-	public IStatus undo(Map parameters) {
-		return InstallFeatureAction.installFeature(parameters);
-	}
-
-	public static IStatus uninstallFeature(Map parameters) {
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU);
-		PlatformConfigurationWrapper configuration = (PlatformConfigurationWrapper) parameters.get(EclipseTouchpoint.PARM_PLATFORM_CONFIGURATION);
-		String feature = (String) parameters.get(ActionConstants.PARM_FEATURE);
-		String featureId = (String) parameters.get(ActionConstants.PARM_FEATURE_ID);
-		String featureVersion = (String) parameters.get(ActionConstants.PARM_FEATURE_VERSION);
-
-		IArtifactKey[] artifacts = iu.getArtifacts();
-		if (artifacts == null || artifacts.length == 0)
-			return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu));
-
-		IArtifactKey artifactKey = null;
-		for (int i = 0; i < artifacts.length; i++) {
-			if (artifacts[i].toString().equals(feature)) {
-				artifactKey = artifacts[i];
-				break;
-			}
-		}
-
-		if (featureId == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_ID, ID));
-		else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureId)) {
-			featureId = artifactKey.getId();
-		}
-
-		if (featureVersion == null)
-			return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_FEATURE_VERSION, ID));
-		else if (ActionConstants.PARM_DEFAULT_VALUE.equals(featureVersion)) {
-			featureVersion = artifactKey.getVersion().toString();
-		}
-
-		return configuration.removeFeatureEntry(featureId, featureVersion);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
deleted file mode 100644
index 74c1907..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/messages.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-
-artifact_file_not_found=The artifact file for {0} was not found.
-artifact_not_directory=The artifact {0} is not a directory.
-parameter_not_set=The \"{0}\" parameter was not set in the \"{1}\" action.
-iu_contains_no_arifacts=Installable unit contains no artifacts: {0}.
-no_matching_artifact=No matching artifact found for: {0}.
-missing_manifest=The manifest is missing for: {0}.
-failed_bundleinfo=Failed to create bundleInfo for: {0}.
-cannot_configure_source_bundle=Cannot configure {0} as a source bundle.
-error_parsing_startlevel=Error parsing start level: {0} for bundle: {1}.
-no_bundle_pool=No bundle pool defined for profile: {0}.
-error_processing_vmargs=An error occurred while processing the JVM argument.
-invalid_byte_format=Invalid format for byte argument: {0}.
-unable_to_open_file=Unable to open file: {0}.
-action_0_failed_file_1_doesNotExist=The action {0} failed - file {1} does not exist.
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
deleted file mode 100644
index 81f1ab0..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-
-error_loading_manipulator=Error while loading manipulator.
-failed_acquire_framework_manipulator=Could not acquire the framework manipulator service.
-failed_prepareIU=Failed to prepare partial IU: {0}.
-error_saving_manipulator=Error saving manipulator.
-error_saving_platform_configuration=Error saving platform configuration.
-error_saving_source_bundles_list=Error saving source bundles list.
-error_parsing_configuration=Error parsing platform configuration.
-publisher_not_available=The partial IU could not be updated. Publisher not available: {0}.
-artifact_write_unsupported=Repository not writeable.
-artifact_file_not_found=The artifact file for {0} was not found.
-artifact_retrieval_unsupported=Repository does not support artifact retrieval
-bundle_pool_not_writeable=Bundle pool repository not writeable: {0}
-BundlePool=Bundle pool
-cannot_calculate_extension_location=Unable to calculate extension location for: {0}.
-parent_dir_features=Parent directory should be "features": {0}.
-platform_config_unavailable=Platform configuration not available.
-unexpected_prepareiu_error=Unexpected state: prepareIU
-error_validating_profile=Error validating profile {0}.
-iu_contains_no_arifacts=Installable unit contains no artifacts: {0}.
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
deleted file mode 100644
index c3285ce..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Configuration.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-
-/**
- * @since 1.0
- */
-public class Configuration {
-
-	private List sites = new ArrayList();
-	String date;
-	boolean transientProperty;
-	String version;
-	String shared_ur;
-
-	public static Configuration load(File location, URL osgiInstallArea) throws ProvisionException {
-		return ConfigurationParser.parse(location, osgiInstallArea);
-	}
-
-	public Configuration() {
-		super();
-	}
-
-	public void save(File location, URL osgiInstallArea) throws ProvisionException {
-		ConfigurationWriter.save(this, location, osgiInstallArea);
-	}
-
-	public String getSharedUR() {
-		return shared_ur;
-	}
-
-	public void setSharedUR(String value) {
-		shared_ur = value;
-	}
-
-	public List getSites() {
-		return internalGetSites(true);
-	}
-
-	List internalGetSites(boolean includeParent) {
-		if (!includeParent)
-			return sites;
-		String shared = getSharedUR();
-		if (shared == null)
-			return sites;
-		List result = new ArrayList(sites);
-		try {
-			URL url = new URL(shared);
-			File location = URLUtil.toFile(url);
-			if (location == null)
-				return result;
-
-			if (!location.isAbsolute()) {
-				File eclipseHome = Util.getEclipseHome();
-				if (eclipseHome == null)
-					return null;
-
-				location = new File(eclipseHome, location.getPath());
-			}
-			Configuration parent = Configuration.load(location, Util.getOSGiInstallArea());
-			if (parent == null)
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Unable to load parent configuration from: " + location)); //$NON-NLS-1$
-			else
-				result.addAll(parent.getSites());
-		} catch (MalformedURLException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while getting parent configuration location.", e)); //$NON-NLS-1$
-		} catch (ProvisionException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while loading parent configuratin from: " + shared, e)); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	public void add(Site site) {
-		sites.add(site);
-	}
-
-	public boolean removeSite(Site site) {
-		return sites.remove(site);
-	}
-
-	public String getDate() {
-		return date;
-	}
-
-	public void setDate(String date) {
-		this.date = date;
-	}
-
-	public void setVersion(String value) {
-		version = value;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public void setTransient(boolean value) {
-		transientProperty = value;
-	}
-
-	public boolean isTransient() {
-		return transientProperty;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationCache.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationCache.java
deleted file mode 100644
index 7e95e10..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationCache.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * TODO ensure thread safety
- *
- */
-public class ConfigurationCache {
-	private static Map cache = new HashMap();
-
-	// class used to represent cache values
-	static class CacheEntry {
-		long timestamp;
-		Configuration config;
-	}
-
-	// helper method to convert the file to a cache key. convert to an absolute
-	// path to ensure equality between relative and absolute comparisons
-	private static String toKey(File file) {
-		try {
-			return file.getCanonicalPath();
-		} catch (IOException e) {
-			// ignore and return the absolute value instead
-		}
-		return file.getAbsolutePath();
-	}
-
-	/*
-	 * Return the configuration object in the cache which is represented
-	 * by the given file. Do a check on disk to see if the cache is up-to-date.
-	 * If not, then treat it as a cache miss.
-	 */
-	public static Configuration get(File file) {
-		String key = toKey(file);
-		CacheEntry entry = (CacheEntry) cache.get(key);
-		if (entry == null)
-			return null;
-		return file.lastModified() == entry.timestamp ? entry.config : null;
-	}
-
-	/*
-	 * Store the given configuration in the cache.
-	 */
-	public static void put(File file, Configuration config) {
-		String key = toKey(file);
-		if (config == null) {
-			cache.remove(key);
-			return;
-		}
-		CacheEntry entry = new CacheEntry();
-		entry.config = config;
-		entry.timestamp = file.lastModified();
-		cache.put(key, entry);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
deleted file mode 100644
index 04fa2b3..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationConstants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-/**
- * @since 1.0
- */
-public interface ConfigurationConstants {
-
-	final String ELEMENT_CONFIG = "config"; //$NON-NLS-1$
-	final String ELEMENT_FEATURE = "feature"; //$NON-NLS-1$
-	final String ELEMENT_SITE = "site"; //$NON-NLS-1$
-
-	final String ATTRIBUTE_APPLICATION = "application"; //$NON-NLS-1$
-	final String ATTRIBUTE_DATE = "date"; //$NON-NLS-1$
-	final String ATTRIBUTE_ENABLED = "enabled"; //$NON-NLS-1$
-	final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	final String ATTRIBUTE_LINKFILE = "linkfile"; //$NON-NLS-1$
-	final String ATTRIBUTE_LIST = "list"; //$NON-NLS-1$
-	final String ATTRIBUTE_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
-	final String ATTRIBUTE_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
-	final String ATTRIBUTE_PRIMARY = "primary"; //$NON-NLS-1$
-	final String ATTRIBUTE_POLICY = "policy"; //$NON-NLS-1$
-	final String ATTRIBUTE_ROOT = "root"; //$NON-NLS-1$
-	final String ATTRIBUTE_SHARED_UR = "shared_ur"; //$NON-NLS-1$
-	final String ATTRIBUTE_TRANSIENT = "transient"; //$NON-NLS-1$
-	final String ATTRIBUTE_UPDATEABLE = "updateable"; //$NON-NLS-1$
-	final String ATTRIBUTE_URL = "url"; //$NON-NLS-1$
-	final String ATTRIBUTE_VERSION = "version"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
deleted file mode 100644
index 7582f56..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationParser.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import javax.xml.parsers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-/**
- * Parser for platform.xml files. 
- * 
- * @since 1.0
- */
-public class ConfigurationParser implements ConfigurationConstants {
-	static final String PLATFORM_BASE = "platform:/base/"; //$NON-NLS-1$
-	private URL osgiInstallArea;
-
-	/*
-	 * Parse the given file handle which points to a platform.xml file and a configuration object.
-	 * Returns null if the file doesn't exist.
-	 */
-	public static Configuration parse(File file, URL osgiInstallArea) throws ProvisionException {
-		return new ConfigurationParser(osgiInstallArea).internalParse(file);
-	}
-
-	private ConfigurationParser(URL osgiInstallArea) {
-		this.osgiInstallArea = osgiInstallArea;
-	}
-
-	/*
-	 * Create a feature object based on the given DOM node. 
-	 * Return the new feature.
-	 */
-	private Feature createFeature(Node node, Site site) {
-		Feature result = new Feature(site);
-		String id = getAttribute(node, ATTRIBUTE_ID);
-		if (id != null)
-			result.setId(id);
-		String url = getAttribute(node, ATTRIBUTE_URL);
-		if (url != null)
-			result.setUrl(url);
-		String version = getAttribute(node, ATTRIBUTE_VERSION);
-		if (version != null)
-			result.setVersion(version);
-		String pluginIdentifier = getAttribute(node, ATTRIBUTE_PLUGIN_IDENTIFIER);
-		if (pluginIdentifier != null)
-			result.setPluginIdentifier(pluginIdentifier);
-		String pluginVersion = getAttribute(node, ATTRIBUTE_PLUGIN_VERSION);
-		// plug-in version is the same as the feature version if it is missing
-		if (pluginVersion == null)
-			pluginVersion = version;
-		if (pluginVersion != null)
-			result.setPluginVersion(pluginVersion);
-		String application = getAttribute(node, ATTRIBUTE_APPLICATION);
-		if (application != null)
-			result.setApplication(application);
-
-		// get primary flag
-		String flag = getAttribute(node, ATTRIBUTE_PRIMARY);
-		if (flag != null && Boolean.valueOf(flag).booleanValue())
-			result.setPrimary(true);
-
-		// get install locations
-		String locations = getAttribute(node, ATTRIBUTE_ROOT);
-		if (locations != null) {
-			StringTokenizer tokenizer = new StringTokenizer(locations, ","); //$NON-NLS-1$
-			ArrayList rootList = new ArrayList();
-			while (tokenizer.hasMoreTokens()) {
-				try {
-					URL rootEntry = new URL(tokenizer.nextToken().trim());
-					rootList.add(rootEntry);
-				} catch (MalformedURLException e) {
-					// skip bad entries ...
-				}
-			}
-			URL[] roots = (URL[]) rootList.toArray(new URL[rootList.size()]);
-			result.setRoots(roots);
-		}
-
-		return result;
-	}
-
-	/*
-	 * Create the features from the given DOM node.
-	 */
-	private void createFeatures(Node node, Site site) {
-		NodeList children = node.getChildNodes();
-		int size = children.getLength();
-		for (int i = 0; i < size; i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() != Node.ELEMENT_NODE)
-				continue;
-			if (!ELEMENT_FEATURE.equalsIgnoreCase(child.getNodeName()))
-				continue;
-			Feature feature = createFeature(child, site);
-			if (feature != null)
-				site.addFeature(feature);
-		}
-	}
-
-	/*
-	 * Create a site based on the given DOM node.
-	 */
-	private Site createSite(Node node) {
-		Site result = new Site();
-		String policy = getAttribute(node, ATTRIBUTE_POLICY);
-		if (policy != null)
-			result.setPolicy(policy);
-		String enabled = getAttribute(node, ATTRIBUTE_ENABLED);
-		if (enabled != null)
-			result.setEnabled(Boolean.valueOf(enabled).booleanValue());
-		String updateable = getAttribute(node, ATTRIBUTE_UPDATEABLE);
-		if (updateable != null)
-			result.setUpdateable(Boolean.valueOf(updateable).booleanValue());
-		String url = getAttribute(node, ATTRIBUTE_URL);
-		if (url != null)
-			result.setUrl(getLocation(url));
-		String linkFile = getAttribute(node, ATTRIBUTE_LINKFILE);
-		if (linkFile != null)
-			result.setLinkFile(linkFile);
-		String list = getAttribute(node, ATTRIBUTE_LIST);
-		if (list != null)
-			for (StringTokenizer tokenizer = new StringTokenizer(list, ","); tokenizer.hasMoreTokens();) //$NON-NLS-1$
-				result.addPlugin(tokenizer.nextToken());
-		createFeatures(node, result);
-		return result;
-	}
-
-	/*
-	 * Convert the given url string to an absolute url. If the string is 
-	 * platform:/base/ then return a string which represents the osgi
-	 * install area.
-	 */
-	private String getLocation(String urlString) {
-		if (osgiInstallArea == null)
-			return urlString;
-		if (PLATFORM_BASE.equals(urlString))
-			return osgiInstallArea.toExternalForm();
-		return PathUtil.makeAbsolute(urlString, osgiInstallArea);
-	}
-
-	/*
-	 * Return the attribute with the given name, or null if it does
-	 * not exist.
-	 */
-	private String getAttribute(Node node, String name) {
-		NamedNodeMap attributes = node.getAttributes();
-		Node temp = attributes.getNamedItem(name);
-		return temp == null ? null : temp.getNodeValue();
-	}
-
-	/*
-	 * Load the given file into a DOM document.
-	 */
-	private Document load(InputStream input) throws ParserConfigurationException, IOException, SAXException {
-		// load the feature xml
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder builder = factory.newDocumentBuilder();
-		input = new BufferedInputStream(input);
-		try {
-			return builder.parse(input);
-		} finally {
-			if (input != null)
-				try {
-					input.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	/*
-	 * Parse the given file handle which points to a platform.xml file and a configuration object.
-	 * Returns null if the file doesn't exist.
-	 */
-	private Configuration internalParse(File file) throws ProvisionException {
-		if (!file.exists()) {
-			// remove from cache since it doesn't exist anymore on disk
-			ConfigurationCache.put(file, null);
-			return null;
-		}
-		// have we read this before?
-		Configuration result = ConfigurationCache.get(file);
-		if (result != null)
-			return result;
-		try {
-			InputStream input = new BufferedInputStream(new FileInputStream(file));
-			Document document = load(input);
-			result = process(document);
-			// save for future use
-			ConfigurationCache.put(file, result);
-			return result;
-		} catch (IOException e) {
-			throw new ProvisionException(NLS.bind(Messages.error_reading_config, file), e);
-		} catch (ParserConfigurationException e) {
-			throw new ProvisionException(Messages.error_parsing_config, e);
-		} catch (SAXException e) {
-			throw new ProvisionException(Messages.error_parsing_config, e);
-		}
-	}
-
-	/*
-	 * Process the given DOM document and create the appropriate
-	 * site objects.
-	 */
-	private Configuration process(Document document) {
-		Node node = getConfigElement(document);
-		if (node == null)
-			return null;
-		Configuration configuration = createConfiguration(node);
-		NodeList children = node.getChildNodes();
-		int size = children.getLength();
-		for (int i = 0; i < size; i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() != Node.ELEMENT_NODE)
-				continue;
-			if (!ELEMENT_SITE.equalsIgnoreCase(child.getNodeName()))
-				continue;
-			Site site = createSite(child);
-			if (site != null)
-				configuration.add(site);
-		}
-		return configuration;
-	}
-
-	private Configuration createConfiguration(Node node) {
-		Configuration result = new Configuration();
-		String value = getAttribute(node, ATTRIBUTE_DATE);
-		if (value != null)
-			result.setDate(value);
-		value = getAttribute(node, ATTRIBUTE_TRANSIENT);
-		if (value != null)
-			result.setTransient(Boolean.valueOf(value).booleanValue());
-		value = getAttribute(node, ATTRIBUTE_SHARED_UR);
-		if (value != null)
-			result.setSharedUR(value);
-		value = getAttribute(node, ATTRIBUTE_VERSION);
-		if (value != null)
-			result.setVersion(value);
-		return result;
-	}
-
-	private Node getConfigElement(Document doc) {
-		NodeList children = doc.getChildNodes();
-		int size = children.getLength();
-		for (int i = 0; i < size; i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() != Node.ELEMENT_NODE)
-				continue;
-			if (ELEMENT_CONFIG.equalsIgnoreCase(child.getNodeName()))
-				return child;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
deleted file mode 100644
index b54ea6f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/ConfigurationWriter.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Activator;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class ConfigurationWriter implements ConfigurationConstants {
-
-	/*
-	 * Save the given configuration to the specified location.
-	 */
-	public static void save(Configuration configuration, File location, URL osgiInstallArea) throws ProvisionException {
-		XMLWriter writer = null;
-		try {
-			OutputStream output = new BufferedOutputStream(new FileOutputStream(location));
-			writer = new XMLWriter(output);
-			Map args = new HashMap();
-
-			String value = configuration.getDate();
-			if (value != null)
-				args.put(ATTRIBUTE_DATE, value);
-
-			value = configuration.getSharedUR();
-			if (value != null)
-				args.put(ATTRIBUTE_SHARED_UR, value);
-
-			value = configuration.getVersion();
-			if (value != null)
-				args.put(ATTRIBUTE_VERSION, value);
-
-			args.put(ATTRIBUTE_TRANSIENT, Boolean.toString(configuration.isTransient()));
-
-			writer.startTag(ELEMENT_CONFIG, args);
-
-			for (Iterator iter = configuration.internalGetSites(false).iterator(); iter.hasNext();) {
-				Site site = (Site) iter.next();
-				write(writer, site, osgiInstallArea);
-			}
-
-			writer.endTag(ELEMENT_CONFIG);
-		} catch (UnsupportedEncodingException e) {
-			throw new ProvisionException(NLS.bind(Messages.error_saving_config, location), e);
-		} catch (FileNotFoundException e) {
-			throw new ProvisionException(NLS.bind(Messages.error_saving_config, location), e);
-		} finally {
-			if (writer != null) {
-				writer.flush();
-				writer.close();
-			}
-		}
-		// put the config in the cache in case someone in the same session wants to read it
-		ConfigurationCache.put(location, configuration);
-	}
-
-	/*
-	 * Write out the given site.
-	 */
-	private static void write(XMLWriter writer, Site site, URL osgiInstallArea) {
-		Map args = new HashMap();
-
-		String value = site.getLinkFile();
-		if (value != null)
-			args.put(ATTRIBUTE_LINKFILE, value);
-
-		value = site.getPolicy();
-		if (value != null)
-			args.put(ATTRIBUTE_POLICY, value);
-
-		value = site.getUrl();
-		if (value != null)
-			args.put(ATTRIBUTE_URL, getLocation(value, osgiInstallArea));
-
-		value = toString(site.getList());
-		if (value != null)
-			args.put(ATTRIBUTE_LIST, value);
-
-		args.put(ATTRIBUTE_UPDATEABLE, Boolean.toString(site.isUpdateable()));
-		args.put(ATTRIBUTE_ENABLED, Boolean.toString(site.isEnabled()));
-
-		writer.startTag(ELEMENT_SITE, args);
-		write(writer, site.getFeatures());
-		writer.endTag(ELEMENT_SITE);
-	}
-
-	/*
-	 * Return the location for the given location which is a url string. Take into account 
-	 * the specified osgi install area. This method should make the path relative if 
-	 * possible and could potentially return platform:/base/.
-	 */
-	private static String getLocation(String value, URL osgiInstallArea) {
-		if (osgiInstallArea == null || !value.startsWith("file:")) //$NON-NLS-1$
-			return value;
-		try {
-			// if our site represents the osgi install area, then write out platform:/base/
-			File installArea = URLUtil.toFile(osgiInstallArea);
-			File path = URLUtil.toFile(new URL(value));
-			if (installArea.getAbsoluteFile().equals(path.getAbsoluteFile()))
-				return ConfigurationParser.PLATFORM_BASE;
-		} catch (MalformedURLException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Error occurred while writing configuration.", e)); //$NON-NLS-1$
-		}
-		return PathUtil.makeRelative(value, osgiInstallArea);
-	}
-
-	/*
-	 * Convert the given list to a comma-separated string.
-	 */
-	private static String toString(Object[] list) {
-		if (list == null || list.length == 0)
-			return null;
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < list.length; i++) {
-			buffer.append(list[i].toString());
-			if (i + 1 < list.length)
-				buffer.append(',');
-		}
-		return buffer.toString();
-	}
-
-	/*
-	 * Write out the given list of features.
-	 */
-	private static void write(XMLWriter writer, Feature[] features) {
-		if (features == null || features.length == 0)
-			return;
-		for (int i = 0; i < features.length; i++) {
-			Feature feature = features[i];
-			Map args = new HashMap();
-			String value = feature.getId();
-			if (value != null)
-				args.put(ATTRIBUTE_ID, value);
-			value = feature.getUrl();
-			if (value != null)
-				args.put(ATTRIBUTE_URL, value);
-			value = feature.getVersion();
-			if (value != null)
-				args.put(ATTRIBUTE_VERSION, value);
-			value = feature.getPluginIdentifier();
-			// only write out the plug-in identifier if it is different from the feature id
-			if (value != null && !value.equals(feature.getId()))
-				args.put(ATTRIBUTE_PLUGIN_IDENTIFIER, value);
-			value = feature.getPluginVersion();
-			// only write out the plug-in version if it is different from the feature version
-			if (value != null && !value.equals(feature.getVersion()))
-				args.put(ATTRIBUTE_PLUGIN_VERSION, value);
-			if (feature.isPrimary())
-				args.put(ATTRIBUTE_PRIMARY, "true"); //$NON-NLS-1$
-			value = feature.getApplication();
-			if (value != null)
-				args.put(ATTRIBUTE_APPLICATION, value);
-
-			// collect the roots
-			URL[] roots = feature.getRoots();
-			if (roots != null && roots.length > 0)
-				args.put(ATTRIBUTE_ROOT, toString(roots));
-
-			writer.startTag(ELEMENT_FEATURE, args);
-			writer.endTag(ELEMENT_FEATURE);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
deleted file mode 100644
index 0866b2b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Feature.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2005, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.net.URL;
-
-/*
- * Represents a feature entry in a platform.xml file.
- */
-public class Feature {
-
-	private String id;
-	private String url;
-	private String version;
-	private Site site;
-	private String pluginIdentifier;
-	private String pluginVersion;
-	private String application;
-	private URL[] roots;
-	private boolean primary = false;
-
-	public Feature(Site site) {
-		super();
-		if (site == null)
-			throw new IllegalArgumentException(Messages.empty_feature_site);
-		this.site = site;
-	}
-
-	public String getApplication() {
-		return application;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getPluginIdentifier() {
-		return pluginIdentifier;
-	}
-
-	public String getPluginVersion() {
-		return pluginVersion;
-	}
-
-	public URL[] getRoots() {
-		return roots;
-	}
-
-	public Site getSite() {
-		return site;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public boolean isPrimary() {
-		return primary;
-	}
-
-	public void setApplication(String application) {
-		this.application = application;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	public void setPluginIdentifier(String pluginIdentifier) {
-		this.pluginIdentifier = pluginIdentifier;
-	}
-
-	public void setPluginVersion(String pluginVersion) {
-		this.pluginVersion = pluginVersion;
-	}
-
-	public void setPrimary(boolean primary) {
-		this.primary = primary;
-	}
-
-	public void setRoots(URL[] roots) {
-		this.roots = roots;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	public void setVersion(String version) {
-		this.version = version;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Feature))
-			return false;
-		Feature other = (Feature) obj;
-		if (!equals(getId(), other.getId()))
-			return false;
-		// shallow equals here. sites should never be null
-		if (!equals(getSite().getUrl(), other.getSite().getUrl()))
-			return false;
-		if (!equals(getUrl(), other.getUrl()))
-			return false;
-		if (!equals(getVersion(), other.getVersion()))
-			return false;
-		return true;
-	}
-
-	private boolean equals(Object one, Object two) {
-		return one == null ? two == null : one.equals(two);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return id.hashCode() + version.hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
deleted file mode 100644
index 845e206..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Messages.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.update.messages"; //$NON-NLS-1$
-	public static String empty_feature_site;
-	public static String error_saving_config;
-	public static String error_reading_config;
-	public static String error_parsing_config;
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/PathUtil.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/PathUtil.java
deleted file mode 100644
index 1a98b00..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/PathUtil.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.File;
-import java.net.URL;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-/**
- * 
- * @since 1.0
- */
-public class PathUtil {
-	public static boolean isWindows = System.getProperty("os.name").startsWith("Win"); //$NON-NLS-1$ //$NON-NLS-2$	
-
-	private static final String FILE_PROTOCOL = "file:"; //$NON-NLS-1$
-
-	public static String makeRelative(String urlString, URL rootURL) {
-		// we only traffic in file: URLs
-		int index = urlString.indexOf(FILE_PROTOCOL);
-		if (index == -1)
-			return urlString;
-		index = index + 5;
-
-		// ensure we have an absolute path to start with
-		boolean done = false;
-		URL url = null;
-		String file = urlString;
-		while (!done) {
-			try {
-				url = new URL(file);
-				file = url.getFile();
-			} catch (java.net.MalformedURLException e) {
-				done = true;
-			}
-		}
-		if (url == null || !new File(url.getFile()).isAbsolute())
-			return urlString;
-
-		String rootString = rootURL.toExternalForm();
-		return urlString.substring(0, index) + makeRelative(urlString.substring(index), rootString.substring(rootString.indexOf(FILE_PROTOCOL) + 5));
-	}
-
-	public static String makeRelative(String original, String rootPath) {
-		IPath path = new Path(original);
-		// ensure we have an absolute path to start with
-		if (!path.isAbsolute())
-			return original;
-
-		//Returns the original string if no relativization has been done
-		String result = makeRelative(path, new Path(rootPath));
-		return path.toOSString().equals(result) ? original : result;
-	}
-
-	/*
-	 * Make the given path relative to the specified root, if applicable. If not, then
-	 * return the path as-is.
-	 * 
-	 * Method similar to one from SimpleConfigurationManipulatorImpl.
-	 */
-	private static String makeRelative(IPath toRel, IPath base) {
-		int i = base.matchingFirstSegments(toRel);
-		if (i == 0) {
-			return toRel.toOSString();
-		}
-		String result = ""; //$NON-NLS-1$
-		for (int j = 0; j < base.segmentCount() - i; j++) {
-			result += ".." + IPath.SEPARATOR; //$NON-NLS-1$
-		}
-		if (i == toRel.segmentCount())
-			return "."; //$NON-NLS-1$
-		result += toRel.setDevice(null).removeFirstSegments(i).toOSString();
-		return result;
-	}
-
-	/*
-	 * Make the given path absolute to the specified root, if applicable. If not, then
-	 * return the path as-is.
-	 * 
-	 * Method similar to one from SimpleConfigurationManipulatorImpl.
-	 */
-	public static String makeAbsolute(String original, String rootPath) {
-		IPath path = new Path(original);
-		// ensure we have a relative path to start with
-		if (path.isAbsolute())
-			return original;
-		IPath root = new Path(rootPath);
-		return root.addTrailingSeparator().append(original.replace(':', '}')).toOSString().replace('}', ':');
-	}
-
-	public static String makeAbsolute(String urlString, URL rootURL) {
-		// we only traffic in file: URLs
-		int index = urlString.indexOf(FILE_PROTOCOL);
-		if (index == -1)
-			return urlString;
-		index = index + 5;
-
-		// ensure we have a relative path to start with
-		boolean done = false;
-		URL url = null;
-		String file = urlString;
-		while (!done) {
-			try {
-				url = new URL(file);
-				file = url.getFile();
-			} catch (java.net.MalformedURLException e) {
-				done = true;
-			}
-		}
-		if (url == null || new File(url.getFile()).isAbsolute())
-			return urlString;
-
-		return urlString.substring(0, index - 5) + makeAbsolute(urlString.substring(index), rootURL.toExternalForm());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
deleted file mode 100644
index c4404f1..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/Site.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.util.*;
-
-/*
- * Represents a site in a platform.xml file.
- */
-public class Site {
-
-	public final static String POLICY_MANAGED_ONLY = "MANAGED-ONLY"; //$NON-NLS-1$
-	public final static String POLICY_USER_EXCLUDE = "USER-EXCLUDE"; //$NON-NLS-1$
-	public final static String POLICY_USER_INCLUDE = "USER-INCLUDE"; //$NON-NLS-1$
-	public final static String PROP_LINK_FILE = "org.eclipse.update.site.linkFile"; //$NON-NLS-1$
-
-	private String policy;
-	private boolean enabled = true;
-	private boolean updateable = true;
-	private String url;
-	private String linkFile;
-	private Collection features = new HashSet();
-	private List list = new ArrayList();
-
-	public void addFeature(Feature feature) {
-		this.features.add(feature);
-	}
-
-	public void addPlugin(String plugin) {
-		this.list.add(plugin);
-	}
-
-	public Feature[] getFeatures() {
-		return (Feature[]) features.toArray(new Feature[features.size()]);
-	}
-
-	/*
-	 * Return the feature object with the specific id and version. Return null 
-	 * if there is no match or the id is null. If the version is null then return the
-	 * first feature with a matching id.
-	 */
-	public Feature getFeature(String id, String version) {
-		if (id == null)
-			return null;
-		for (Iterator iter = features.iterator(); iter.hasNext();) {
-			Feature feature = (Feature) iter.next();
-			if (id.equals(feature.getId())) {
-				if (version == null || version.equals(feature.getVersion()))
-					return feature;
-			}
-		}
-		return null;
-	}
-
-	public Feature removeFeature(String featureURL) {
-		for (Iterator iter = features.iterator(); iter.hasNext();) {
-			Feature feature = (Feature) iter.next();
-			String nextURL = feature.getUrl();
-			if (nextURL != null && nextURL.equals(featureURL))
-				return features.remove(feature) ? feature : null;
-		}
-		return null;
-	}
-
-	public String getLinkFile() {
-		return linkFile;
-	}
-
-	public String[] getList() {
-		return (String[]) list.toArray(new String[list.size()]);
-	}
-
-	public String getPolicy() {
-		return policy;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public boolean isEnabled() {
-		return enabled;
-	}
-
-	public boolean isUpdateable() {
-		return updateable;
-	}
-
-	public void setEnabled(boolean enabled) {
-		this.enabled = enabled;
-	}
-
-	public void setLinkFile(String linkFile) {
-		this.linkFile = linkFile;
-	}
-
-	public void setPolicy(String policy) {
-		this.policy = policy;
-	}
-
-	public void setUpdateable(boolean updateable) {
-		this.updateable = updateable;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getUrl().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Site))
-			return false;
-		Site other = (Site) obj;
-		if (isEnabled() != other.isEnabled())
-			return false;
-		if (isUpdateable() != other.isUpdateable())
-			return false;
-		if (!getUrl().equals(other.getUrl()))
-			return false;
-		if (!Site.equals(getLinkFile(), other.getLinkFile()))
-			return false;
-		if (!Site.equals(getPolicy(), other.getPolicy()))
-			return false;
-		if (!Site.equals(getList(), other.getList()))
-			return false;
-		if (!Site.equals(getFeatures(), other.getFeatures()))
-			return false;
-		return true;
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given
-	 * objects are considered equal.
-	 */
-	public static boolean equals(Object one, Object two) {
-		return one == null ? two == null : one.equals(two);
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given
-	 * lists are considered equal.
-	 */
-	public static boolean equals(Object[] one, Object[] two) {
-		if (one == null && two == null)
-			return true;
-		if (one == null || two == null)
-			return false;
-		if (one.length != two.length)
-			return false;
-		for (int i = 0; i < one.length; i++) {
-			boolean found = false;
-			for (int j = 0; !found && j < two.length; j++)
-				found = one[i].equals(two[j]);
-			if (!found)
-				return false;
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
deleted file mode 100644
index 9b86646..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/XMLWriter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.update;
-
-import java.io.*;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A simple XML writer.
- * 
- * Copied from the org.eclipse.core.resources bundle.
- */
-public class XMLWriter extends PrintWriter {
-	protected int tab;
-
-	/* constants */
-	protected static final String XML_VERSION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; //$NON-NLS-1$
-
-	public XMLWriter(OutputStream output) throws UnsupportedEncodingException {
-		super(new OutputStreamWriter(output, "UTF8")); //$NON-NLS-1$
-		tab = 0;
-		println(XML_VERSION);
-	}
-
-	public void endTag(String name) {
-		tab--;
-		printTag('/' + name, null);
-	}
-
-	public void printSimpleTag(String name, Object value) {
-		if (value != null) {
-			printTag(name, null, true, false);
-			print(getEscaped(String.valueOf(value)));
-			printTag('/' + name, null, false, true);
-		}
-	}
-
-	public void printTabulation() {
-		for (int i = 0; i < tab; i++)
-			super.print('\t');
-	}
-
-	public void printTag(String name, Map parameters) {
-		printTag(name, parameters, true, true);
-	}
-
-	public void printTag(String name, Map parameters, boolean shouldTab, boolean newLine) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<"); //$NON-NLS-1$
-		sb.append(name);
-		if (parameters != null)
-			for (Iterator it = parameters.keySet().iterator(); it.hasNext();) {
-				sb.append(" "); //$NON-NLS-1$
-				String key = (String) it.next();
-				sb.append(key);
-				sb.append("=\""); //$NON-NLS-1$
-				sb.append(getEscaped(String.valueOf(parameters.get(key))));
-				sb.append("\""); //$NON-NLS-1$
-			}
-		sb.append(">"); //$NON-NLS-1$
-		if (shouldTab)
-			printTabulation();
-		if (newLine)
-			println(sb.toString());
-		else
-			print(sb.toString());
-	}
-
-	public void startTag(String name, Map parameters) {
-		startTag(name, parameters, true);
-	}
-
-	public void startTag(String name, Map parameters, boolean newLine) {
-		printTag(name, parameters, true, newLine);
-		tab++;
-	}
-
-	private static void appendEscapedChar(StringBuffer buffer, char c) {
-		String replacement = getReplacement(c);
-		if (replacement != null) {
-			buffer.append('&');
-			buffer.append(replacement);
-			buffer.append(';');
-		} else {
-			buffer.append(c);
-		}
-	}
-
-	public static String getEscaped(String s) {
-		StringBuffer result = new StringBuffer(s.length() + 10);
-		for (int i = 0; i < s.length(); ++i)
-			appendEscapedChar(result, s.charAt(i));
-		return result.toString();
-	}
-
-	private static String getReplacement(char c) {
-		// Encode special XML characters into the equivalent character references.
-		// These five are defined by default for all XML documents.
-		switch (c) {
-			case '<' :
-				return "lt"; //$NON-NLS-1$
-			case '>' :
-				return "gt"; //$NON-NLS-1$
-			case '"' :
-				return "quot"; //$NON-NLS-1$
-			case '\'' :
-				return "apos"; //$NON-NLS-1$
-			case '&' :
-				return "amp"; //$NON-NLS-1$
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
deleted file mode 100644
index d32135e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/update/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-#  Copyright (c) 2005, 2008 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
-###############################################################################
-empty_feature_site=Features should not have an empty site.
-error_parsing_config=An error occurred parsing the platform configuration
-error_reading_config=An error occurred reading the platform configuration file: {0}.
-error_saving_config=Exception when saving configuration to: {0}.
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/OSGiBundleQuery.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/OSGiBundleQuery.java
deleted file mode 100644
index 91130a4..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/OSGiBundleQuery.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.touchpoint.eclipse.query;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * A query matching every {@link IInstallableUnit} that describes an OSGi bundle. 
- * @since 2.0
- */
-public class OSGiBundleQuery extends MatchQuery {
-
-	public boolean isMatch(Object candidate) {
-		if (candidate instanceof IInstallableUnit) {
-			return isOSGiBundle((IInstallableUnit) candidate);
-		}
-		return false;
-	}
-
-	/**
-	 * Test if the {@link IInstallableUnit} describes an OSGi bundle. 
-	 * @param iu the element being tested.
-	 * @return <tt>true</tt> if the parameter describes an OSGi bundle.
-	 */
-	public static boolean isOSGiBundle(IInstallableUnit iu) {
-		IProvidedCapability[] provided = iu.getProvidedCapabilities();
-		for (int i = 0; i < provided.length; i++) {
-			if (provided[i].getNamespace().equals("osgi.bundle")) { //$NON-NLS-1$
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/package.html b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/package.html
deleted file mode 100644
index 1af2a84..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/p2/touchpoint/eclipse/query/package.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides query utilities specific to provisioning of OSGi bundles
-<h2>
-Package Specification</h2>
-<p>
-This package specifies API for querying and manipulating provisioning metadata that
-is specific to OSGi bundles or Eclipse-specific constructs such as features.
-<p>
-@since 2.0
-<p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
deleted file mode 100644
index 7cdeb73..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
deleted file mode 100644
index 854172c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.touchpoint.natives</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6eacd08..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:07 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
deleted file mode 100644
index 5348a1a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.natives;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.0.200.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.touchpoint.natives.Activator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.spi,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.osgi.util;version="1.0.0",
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.touchpoint.natives;x-internal:=true,
- org.eclipse.equinox.internal.p2.touchpoint.natives.actions;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html b/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
deleted file mode 100644
index 4bbd9bd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
deleted file mode 100644
index 31cfe1f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Native Touchpoint
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml b/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
deleted file mode 100644
index 690324f..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/plugin.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<plugin>
-	<extension point="org.eclipse.equinox.p2.engine.touchpoints" id="native" name="Native Touchpoint">
-		<touchpoint 
-			type="org.eclipse.equinox.p2.native" 
-			class="org.eclipse.equinox.internal.p2.touchpoint.natives.NativeTouchpoint"
-			version="1.0.0"/>
-	</extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ChmodAction"
-          name="chmod"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CleanupzipAction"
-          name="cleanupzip"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CollectAction"
-          name="collect"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.LinkAction"
-          name="ln"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.MkdirAction"
-          name="mkdir"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.RmdirAction"
-          name="rmdir"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.UnzipAction"
-          name="unzip"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CopyAction"
-          description="copy(source,target[,overwrite])"
-          name="copy"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CleanupcopyAction"
-          description="cleanupcopy(source,target)"
-          name="cleanupcopy"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
- <extension
-       point="org.eclipse.equinox.p2.engine.actions">
-    <action
-          class="org.eclipse.equinox.internal.p2.touchpoint.natives.actions.RemoveAction"
-          description="remove(path)"
-          name="remove"
-          touchpointType="org.eclipse.equinox.p2.native"
-          touchpointVersion="1.0.0"
-          version="1.0.0">
-    </action>
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
deleted file mode 100644
index e3c7010..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.touchpoint.natives"; //$NON-NLS-1$
-	private static BundleContext context = null;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext aContext) throws Exception {
-		Activator.context = aContext;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext aContext) throws Exception {
-		context = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupStore.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupStore.java
deleted file mode 100644
index 29fdbfd..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/BackupStore.java
+++ /dev/null
@@ -1,722 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Stores files by copying them to a uniquely named temporary directory.
- * The BackupStore remembers filenames and can recreate them in their original location.
- * 
- * <h3>Usage</h3>
- * The user of this class should instantiate the BackupStore with some prefix that is 
- * meaningful to a human. Uniqueness is obtained without the prefix - the prefix is used to 
- * be able to differentiate between different backup directories by a human (in case of crashes etc).
- * 
- * If instantiated with a directory this directory will be used to store the backup root directory. If
- * this directory is null, the users home directory is used by default.
- * 
- * Once instantiated, use the {@link #backup(File)} and {@link #backupDirectory(File)} methods
- * to move files to backup instead of deleting them. A file that
- * is backed up should not be deleted - it is simply moved out of the way. 
- * Use {@link #backupCopy(File)} to
- * move the file out of harms way, but keep a copy of it in the original location.
- * The methods {@link #backupAll(File)} and {@link #backupCopyAll(File)} backs up an entire structure.
- * 
- * When backup is finished - the user should either call {@link #restore()} to put all 
- * of the files back, or call {@link #discard()} to remove all of the backed up "copies".
- * 
- * If {@link #restore()} or {@link #discard()} is not called the backup files will never be deleted.
- * 
- * The backup store does not synchronize directories - actions that write new files are
- * responsible for removing them. Overwriting existing files should be done by first backing
- * up the file, and then creating a new file. Modifying a file, should be done by 
- * using {@link #backupCopy(File)} or 
- * first making a copy, then backing up the original, and then renaming the copy.
- *  
- * <h3>Read Only and Permissions</h3>
- * Directories that are read only (to current user) can not be backed up.
- * Backup is performed using {@link File#renameTo(File)} and handling of permissions
- * is operating system dependent. It is expected that a Un*x type system retains the
- * permissions as a file is moved to the backup store and later gets restored.
- * Backup directories are created as they are needed and will (at least on Un*x) inherit the
- * permissions from its parent directory. 
- * 
- * If a rename can not be performed, the backup store will make a copy and delete the original
- * file. This makes it possible to backup and restore across volume boundaries.
- * 
- * When restoring directories they
- * will be created with permissions in a platform specific way (on UN*IX they will inherit the permissions 
- * of the parent directory).
- * 
- * <h3>Checkpointing</h3> 
- * Checkpointing (i.e. to be able to rollback to a particular point) can be implemented by using
- * multiple instances of BackupStore. The client code will need to remember the individual order
- * among the backup stores.
- * 
- * <h3>Restartability</h3>
- * Not implemented - it is possible to obtain the name of the backup directories,
- * so manual restore is possible after a crash. An idea is to add persistence to a file, and
- * be able to read it back in again.
- * 
- * <h3>A note about exceptions</h3>
- * In general {@link IllegalArgumentException} is thrown when attempting an operation
- * that is considered "wrong use", and an {@link IllegalStateException} or subclass thereof is thrown on an overall
- * wrong use of BackupStore (i.e. attempt to backup when store has been restored). Some cases of
- * "wrong use" can not be differentiated from I/O errors (like a "file not found" as this could
- * be caused by an entire disk disappearing - in these case an {@link IOException} is thrown.
- * 
- * <h3>Implementation Note</h3>
- * The backup root directory will contain folders that reflects file system roots. These are encoded using 
- * "_" for the UNI*X root directory, "__" for a Windows network mounted directory, and single "drive letter" folders
- * corresponding to Windows drive letters. Typically, on UN*X there will only be a "_" directory in the backup root,
- * and on windows there will typically be a single directory called "C".
- * 
- *
- */
-public class BackupStore implements IBackupStore {
-
-	/**
-	 * The name to use for a directory that represents leading separator (i.e. "/" or "\").
-	 */
-	private static final String ROOTCHAR = "_"; //$NON-NLS-1$
-
-	/**
-	 * Map of directory File to backup root (File) - the backup root has 
-	 * a directory named {@link #backupName} where the backup is found.
-	 */
-	//private Map backups = new HashMap();
-	private final File backupRoot;
-
-	/**
-	 * The name of the backup directory (no path - relative to the backup root).
-	 */
-	private String backupName;
-
-	/**
-	 * The name of a dummy file used to backup empty directories
-	 */
-	private String dummyName;
-
-	/**
-	 * A server socket that is used to obtain a port (a shared resource on this machine)
-	 * and thus create a unique number. Used as part of the unique id of backup directories
-	 * and probe files.
-	 */
-	private ServerSocket socket = null;
-
-	/**
-	 * Counter of how many files where backed up. Used as a simple check mechanism if
-	 * everything was restored (a guard against manual/external tampering with the backup directories).
-	 */
-	private long backupCounter;
-
-	/**
-	 * Counter of how many files where restored. See {@link #backupCounter}.
-	 */
-	private long restoreCounter;
-
-	/**
-	 * Flag indicating if this BackupStore has been restored or canceled.
-	 */
-	private boolean closed;
-
-	/**
-	 * Generates a BackupStore with a default prefix of ".p2bu" for backup directory and
-	 * probe file. 
-	 * The full id of the store is on the format "prefix_hextime_hexIPport" 
-	 * - see {@link #genUnique()} for more info.
-	 */
-	public BackupStore() {
-		this(null, ".p2bu"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Generates a BackupStore with a specified prefix for backup directories and
-	 * probe file.
-	 * The full id of the store is on the format "prefix_hextime_hexipport" 
-	 * - see {@link #genUnique()} for more info.
-	 * 
-	 * @param buParentDirectory - name of directory where the backup directory should be created - if null, java.io.tmpdir is used
-	 * @param prefix - prefix used for human identification of backup directories
-	 */
-	public BackupStore(File buParentDirectory, String prefix) {
-		if (buParentDirectory == null)
-			buParentDirectory = new File(System.getProperty("java.io.tmpdir")); //$NON-NLS-1$
-		backupRoot = buParentDirectory;
-
-		// generate a name for the backup store and the dummy file used for empty directories
-		String unique = genUnique();
-		dummyName = prefix + "d_" + unique; //$NON-NLS-1$
-		backupName = prefix + "_" + unique; //$NON-NLS-1$
-		backupCounter = 0;
-		restoreCounter = 0;
-		closed = false;
-	}
-
-	/**
-	 * Since a socket port is used to create a unique number, the socket
-	 * must be closed if this instance is garbage collected and the user
-	 * of the instance has not either restored or discarded.
-	 */
-	protected void finalize() throws Throwable {
-		try {
-			if (socket != null && !socket.isClosed())
-				socket.close();
-		} finally {
-			super.finalize();
-		}
-	}
-
-	/**
-	 * Returns the unique backup name (this is the name of generated backup directories).
-	 * @return the backup name.
-	 */
-	public String getBackupName() {
-		return backupName;
-	}
-
-	public File getBackupRoot() {
-		return backupRoot;
-	}
-
-	/**
-	 * Backup the file by moving it to the backup store (for later (optional) restore).
-	 * Calling this method with a file that represents a directory is equivalent to calling 
-	 * {@link #backupDirectory(File)}.
-	 * 
-	 * A file (path) can only be backed up once per BackupStore instance.
-	 * When the file is backed up, it is moved to a directory under this BackupStore instance's directory 
-	 * with a relative path corresponding to the original relative path from the backup root e.g.
-	 * the file /A/B/C/foo.txt could be moved to /A/.p2bu_ffffff_ffffff/B/C/foo.txt when /A is the
-	 * backup root.
-	 * 
-	 * If a directory is first backed up, and later replaced by a regular file, and this file
-	 * is backed up (or vice versa) - an {@link IllegalArgumentException} is thrown
-	 * 
-	 * A backup can not be performed on a closed BackupStore. 
-	 * 
-	 * @param file - the file (or directory) to backup
-	 * @return true if the file was backed up, false if this file (path) has already been backed up (the file is not moved to the store).
-	 * @throws IOException - if the backup operation fails, or the file does not exist
-	 * @throws ClosedBackupStoreException - if the BackupStore has been closed
-	 * @throws IllegalArgumentException - on type mismatch (file vs. directory) of earlier backup, or if file does not exist 
-	 */
-	public boolean backup(File file) throws IOException {
-		if (closed)
-			throw new ClosedBackupStoreException("Can not perform backup()"); //$NON-NLS-1$
-		if (!file.exists())
-			throw new IOException(NLS.bind(Messages.BackupStore_file_not_found, file.getAbsolutePath()));
-		if (file.isDirectory())
-			return backupDirectory(file);
-		file = makeParentCanonical(file);
-		File buRoot = backupRoot;
-		// File buRoot = findBackupRoot(file);
-		File buDir = new File(buRoot, backupName);
-		// move the file
-		// create the relative path from root and use that in buDir
-		File buFile = new File(buDir, makeRelativeFromRoot(file).getPath());
-		// already backed up, but was a directory = wrong usage
-		if (buFile.isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_directory_file_mismatch, buFile.getAbsolutePath()));
-		// has already been backed up - can only be done once with one BackupStore
-		if (buFile.exists())
-			return false;
-
-		// make sure all of the directories exist / gets created
-		buFile.getParentFile().mkdirs();
-		if (buFile.getParentFile().exists() && !buFile.getParentFile().isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_file_directory_mismatch, buFile.getParentFile().getAbsolutePath()));
-		if (file.renameTo(buFile)) {
-			backupCounter++;
-			return true;
-		}
-		// could not move - this can happen because source and target are on different volumes, or
-		// that source is locked "in use" on a windows machine. The copy will work across volumes,
-		// but the locked file will fail on the subsequent delete.
-		//
-		Util.copyStream(new FileInputStream(file), true, new FileOutputStream(buFile), true);
-		backupCounter++;
-
-		// need to remove the backed up file
-		if (!file.delete())
-			throw new IOException(NLS.bind(Messages.BackupStore_can_not_delete_after_copy_0, file));
-
-		return true;
-	}
-
-	/**
-	 * Backs up a file, or everything under a directory.
-	 * 
-	 * @param file - file to backup or directory
-	 * @throws IOException if backup operation failed
-	 */
-	public void backupAll(File file) throws IOException {
-		if (!file.exists())
-			return;
-		file = makeParentCanonical(file);
-		if (file.isDirectory()) {
-			File[] files = file.listFiles();
-			if (files != null)
-				for (int i = 0; i < files.length; i++)
-					backupAll(files[i]);
-		}
-		backup(file);
-	}
-
-	/**
-	 * Backs up a file, or everything under a directory.
-	 * A copy of the backup is left in the original place.
-	 * @param file
-	 * @throws IOException
-	 */
-	public void backupCopyAll(File file) throws IOException {
-		if (!file.exists())
-			return;
-		file = makeParentCanonical(file);
-		if (file.isDirectory()) {
-			File[] files = file.listFiles();
-			if (files != null)
-				for (int i = 0; i < files.length; i++)
-					backupCopyAll(files[i]);
-			// if directory was empty, it needs to be backed up and then recreated
-			//
-			if (files == null || files.length == 0) {
-				backupDirectory(file);
-				file.mkdir();
-			}
-		} else
-			backupCopy(file);
-	}
-
-	/**
-	 * Backup the file by moving it to the backup store (for later (optional) restore) but leaving
-	 * a copy of the contents in the original location.
-	 * Calling this method with a file that represents a directory throws an {@link IllegalArgumentException}.
-	 * 
-	 * A file (path) can only be backed up once per BackupStore instance.
-	 * When the file is backed up, it is moved to a directory under this BackupStore instance's directory 
-	 * with a relative path corresponding to the original relative path from the backup root e.g.
-	 * the file /A/B/C/foo.txt could be moved to /A/.p2bu_ffffff_ffffff/B/C/foo.txt when /A is the
-	 * backup root.
-	 * 
-	 * If a directory is first backed up, and later replaced by a regular file, and this file
-	 * is backed up (or vice versa) - an {@link IllegalArgumentException} is thrown
-	 * 
-	 * A backup can not be performed on a closed BackupStore. 
-	 * 
-	 * @param file - the file (or directory) to backup
-	 * @return true if the file was backed up, false if this file (path) has already been backed up (the file is not moved to the store).
-	 * @throws IOException - if the backup operation fails, or the file does not exist
-	 * @throws ClosedBackupStoreException - if the BackupStore has been closed
-	 * @throws IllegalArgumentException - on type mismatch (file vs. directory) of earlier backup, or if file is a Directory
-	 */
-	public boolean backupCopy(File file) throws IOException {
-		if (closed)
-			throw new ClosedBackupStoreException(Messages.BackupStore_backupCopy_closed_store);
-		if (!file.exists())
-			throw new IOException(NLS.bind(Messages.BackupStore_file_not_found, file.getAbsolutePath()));
-		if (file.isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_can_not_copy_directory, file.getAbsolutePath()));
-		file = makeParentCanonical(file);
-		//File buRoot = backupRoot;
-		// File buRoot = findBackupRoot(file);
-		File buDir = new File(backupRoot, backupName);
-		// move the file
-		// create the relative path from root and use that in buDir
-		File buFile = new File(buDir, makeRelativeFromRoot(file).getPath());
-		// already backed up, but was a directory = wrong usage
-		if (buFile.isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_directory_file_mismatch, buFile.getAbsolutePath()));
-		// has already been backed up - can only be done once with one BackupStore
-		if (buFile.exists())
-			return false;
-
-		// make sure all of the directories exist / gets created
-		buFile.getParentFile().getCanonicalFile().mkdirs();
-		if (buFile.getParentFile().exists() && !buFile.getParentFile().isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_file_directory_mismatch, buFile.getParentFile().getAbsolutePath()));
-
-		// just make a copy - one has to be made in one direction anyway
-		// A renameTo followed by a copy is preferred as it preserves file permissions on the moved file
-		// but it is easier to just copy and keep original.
-		Util.copyStream(new FileInputStream(file), true, new FileOutputStream(buFile), true);
-		backupCounter++;
-		return true;
-	}
-
-	/**
-	 * Performs backup of an empty directory. The directory must be empty before it can be backed up (i.e.
-	 * similar to a delete of a directory). Backup the files of the directory first.
-	 * A call to backup a directory is really only needed for empty directories as a restore
-	 * of a file will also restore all of its parent directories.
-	 * @param file - the (empty) directory to back up
-	 * @return true if the directory was moved to backup. false if the directory was already backed up and remains.
-	 * @throws IllegalArgumentException if file is not a directory, or is not empty.
-	 * @throws IOException if directory can not be moved to the backup store, or if the directory is not writeable
-	 */
-	public boolean backupDirectory(File file) throws IOException {
-		if (!file.isDirectory())
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_not_a_directory, file.getAbsolutePath()));
-		file = makeParentCanonical(file);
-		if (file.list().length != 0)
-			throw new IllegalArgumentException(NLS.bind(Messages.BackupStore_directory_not_empty, file.getAbsolutePath()));
-		// the easiest is to create a dummy file and back that up (the dummy is simply ignored when restoring).
-		File dummy = new File(file, dummyName);
-		if (!dummy.createNewFile())
-			throw new IOException(NLS.bind(Messages.BackupStore_can_not_create_dummy, dummy.getAbsolutePath()));
-		boolean result = backup(dummy);
-		// if already backed up - do not delete the directory
-		if (result && !file.delete())
-			throw new IOException(NLS.bind(Messages.BackupStore_can_not_remove, dummy.getAbsolutePath()));
-		return result;
-	}
-
-	/**
-	 * Restores all backup files from backup store.
-	 * Note that restore of a (non directory) file deletes an existing file or directory found
-	 * in the restore location.
-	 * When the backup has been restored this BackupStore instance is closed and can not be
-	 * used for further backup or restore.
-	 * 
-	 * If there are unrestorable items (non writable directories, or general IO exceptions) these items
-	 * are written to the log, and the backup copies remain in the file system and can be manually restored
-	 * (using a simple zip of the backup directory, and an unzip to the buRoot once the problem has been corrected).
-	 * 
-	 * @throws IOException if the backup was not fully restored - unrestored items have been logged.
-	 * @throws ClosedBackupStoreException if the backup is already closed.
-	 */
-	public void restore() throws IOException {
-		if (closed)
-			throw new ClosedBackupStoreException(Messages.BackupStore_restore_closed_store);
-		// put back all files 
-		// collect things that could not be restored (so final status can be reported)
-		Set unrestorable = new HashSet();
-		boolean restored = true;
-		if (!backupRoot.exists()) {
-			logError(NLS.bind(Messages.BackupStore_missing_backup_directory, backupRoot.getAbsolutePath()));
-			restored = false;
-		} else
-			restoreRoots(new File(backupRoot, backupName), unrestorable);
-
-		logUnrestorables(unrestorable);
-		if (unrestorable.size() > 0)
-			restored = false;
-		close(restored);
-		closed = true;
-	}
-
-	private void logUnrestorables(Set unrestorable) {
-		// if there are unrestorable units log them
-		//
-		if (unrestorable != null && unrestorable.size() > 0) {
-			for (Iterator itor = unrestorable.iterator(); itor.hasNext();)
-				logError(NLS.bind(Messages.BackupStore_manual_restore_needed, ((File) itor.next()).getAbsolutePath()));
-		}
-	}
-
-	/**
-	 * Discards and closes this BackupStore. Does nothing if this store is already
-	 * restored or discarded.
-	 */
-	public void discard() {
-		if (closed)
-			return;
-		closeSocket();
-		removeBackups();
-		closed = true;
-	}
-
-	private void close(boolean fullyRestored) throws IOException {
-		closeSocket();
-		// check external tampering with backup store
-		if (backupCounter != restoreCounter) {
-			if (!fullyRestored)
-				logError(NLS.bind(Messages.BackupStore_0_of_1_items_restored, new Long(restoreCounter), new Long(backupCounter)));
-			else {
-				logError(NLS.bind(Messages.BackupStore_externally_modified_0_of_1_restored, new Long(restoreCounter), new Long(backupCounter)));
-				fullyRestored = false;
-			}
-		}
-		if (!fullyRestored)
-			throw new IOException(Messages.BackupStore_errors_while_restoring_see_log);
-		// everything has been restored - the backup can now be removed
-		removeBackups();
-	}
-
-	private void closeSocket() {
-		if (socket != null && !socket.isClosed())
-			try {
-				socket.close();
-			} catch (IOException e) { /* ignored */
-				logWarning(NLS.bind(Messages.BackupStore_can_not_close_tcp_port, new Integer(socket.getLocalPort())));
-			}
-	}
-
-	private void removeBackups() {
-		File buRoot = new File(backupRoot, backupName);
-		if (!fullyDelete(buRoot))
-			logWarning(NLS.bind(Messages.BackupStore_can_not_remove_bu_directory, buRoot.getAbsolutePath()));
-	}
-
-	private static void logWarning(String message) {
-		LogHelper.log(createWarning(message));
-	}
-
-	private static IStatus createWarning(String message) {
-		return new Status(IStatus.WARNING, Activator.ID, message);
-	}
-
-	private static void logError(String message) {
-		LogHelper.log(createError(message));
-	}
-
-	private static IStatus createError(String message) {
-		return new Status(IStatus.ERROR, Activator.ID, message);
-	}
-
-	/**
-	 * Deletes a file, or a directory with all of it's children.
-	 * @param file the file or directory to fully delete
-	 * @return true if, and only if the file is deleted without errors
-	 */
-	private boolean fullyDelete(File file) {
-		if (!file.exists())
-			return true;
-		if (file.isDirectory()) {
-			File[] children = file.listFiles();
-			if (children == null)
-				return false;
-			for (int i = 0; i < children.length; i++)
-				if (!fullyDelete(new File(file, children[i].getName())))
-					return false;
-		}
-		return file.delete();
-	}
-
-	private void restore(File root, File buRoot, Set unrestorable) {
-		File[] children = buRoot.listFiles();
-		if (children == null) { // error - can't read the backup directory
-			unrestorable.add(buRoot);
-			return;
-		}
-		for (int i = 0; i < children.length; i++) {
-			File bu = new File(buRoot, children[i].getName());
-			File target = new File(root, bu.getName());
-			if (bu.isDirectory()) {
-				if (!target.exists() && !target.mkdir()) {
-					unrestorable.add(bu);
-					continue; // give up on this branch
-				} else if (target.exists() && !target.isDirectory()) {
-					// ouch, there is a file where we need a directory
-					// that must be deleted.
-					target.delete();
-					if (!target.mkdir()) {
-						unrestorable.add(bu);
-						continue; // give up on branch
-					}
-				}
-				restore(target, bu, unrestorable);
-			} else {
-				// do not restore the dummies (as they are used to trigger creation of
-				// empty directories and are not wanted in the restored location.
-				if (bu.getName().equals(dummyName)) {
-					restoreCounter++; // count of the restored directory in this case.
-					continue;
-				}
-				// if the original was overwritten by something and this file was not
-				// removed, it needs to be deleted now. If it can't be deleted, the
-				// renameTo will fail, and the bu is reported as not restorable.
-				// fullyDelete will remove a directory completely - we are restoring a file so it can 
-				// not be kept.
-				if (target.exists())
-					fullyDelete(target);
-
-				// rename if possible, but must copy if not possible to just rename
-				if (!bu.renameTo(target)) {
-					// did not work to rename, probably because of volume boundaries. Try to copy instead,
-					try {
-						Util.copyStream(new FileInputStream(bu), true, new FileOutputStream(target), true);
-						restoreCounter++; // consider it restored
-					} catch (FileNotFoundException e) {
-						unrestorable.add(bu);
-						continue;
-					} catch (IOException e) {
-						unrestorable.add(bu);
-						continue;
-					}
-					if (!bu.delete()) { // cleanup
-						// could not remove the backup after copy - log, safe to remove manually
-						logWarning(NLS.bind(Messages.BackupStore_can_not_delete_tmp_file, bu.getAbsolutePath()));
-					}
-				} else
-					restoreCounter++;
-			}
-		}
-	}
-
-	/**
-	 * Restores everything backed up in the buRoot. Responsible for decoding the specially named root
-	 * target directories (i.e. _/, __/, C/, etc.) into the real system names.
-	 * @param buRoot
-	 * @param unrestorable
-	 */
-	private void restoreRoots(File buRoot, Set unrestorable) {
-		File[] children = buRoot.listFiles();
-		if (children == null) { // error - can't read the backup directory
-			unrestorable.add(buRoot);
-			return;
-		}
-		for (int i = 0; i < children.length; i++) {
-			// Names are  root-chars, or drive letters in the root bu directory 
-			String name = children[i].getName();
-			String rName = name;
-			String prefix = ""; //$NON-NLS-1$
-			while (rName.startsWith(ROOTCHAR)) {
-				prefix += File.separator;
-				rName = rName.substring(1);
-			}
-			if (prefix.length() < 1) {
-				// The name is a drive name
-				rName = rName + ":" + File.separator; //$NON-NLS-1$
-			} else
-				rName = prefix + rName;
-			// File root = new File(rName);
-			File bu = new File(buRoot, name);
-			File target = new File(rName);
-			if (!bu.isDirectory()) {
-				// the roots should all be directories - so this can only happen if someone manually
-				// stored files in the backup root - mark them as unrestorable and continue.
-				unrestorable.add(bu);
-				continue;
-			}
-			// the backup roots are system roots, and can not be created - but check root is directory and exists.
-			// (Network drives could have gone away etc).
-			//
-			if (!(target.exists() && target.isDirectory())) {
-				unrestorable.add(bu);
-				continue; // give up on this branch
-			}
-			// then perform a recursive restore
-			restore(target, bu, unrestorable);
-		}
-	}
-
-	private static long msCounter = 0;
-
-	/**
-	 * Generates a unique hex string by taking currentTimeMillis + sequence 
-	 * number at the end allowing for 32 numbers to be generated per ms.
-	 * This is sufficient uniqueness in the same VM. (And is still just a fallback solution 
-	 * if there is no access to a TCP port)
-	 * 
-	 * To make number unique over multiple VMs - the PID of the process would be enough, but
-	 * it is complicated to get hold of - a separate program must be launched and its PPID 
-	 * investigated. There is no standard API in Java to get the PID. Instead, a socket port is bound
-	 * to ensure local uniqueness.
-	 * 
-	 * To make number unique across multiple hosts (we may be provisioning over NFS), the
-	 * 48 LS bits of the IP address is used (this is more than enough for an IPv4 address). 
-	 * (If there is no IP address, the machine is not on a
-	 * network) - unfortunately the MAC address can not be used as this requires Java 6 (where 
-	 * there also is a UUID that should be used instead of this method).
-	 * 
-	 * This method needs to be modified when IPv6 addressing is the norm - at that time, the
-	 * restriction on Java 1.4 has hopefully been lifted, and it is possible to use the MAC address,
-	 * or the UUID provided since java 1.6
-	 * 
-	 * @return a unique string
-	 */
-	private String genUnique() {
-		// use 5 LSB bits for counter within ms - i.e. 32 instances can be created
-		// per millisecond.
-		long timePart = (System.currentTimeMillis() << 5) | (msCounter++ & 31);
-		// can't use the MAC address - but take IP address if provisioning across NFS
-		long ipPart = 0;
-		try {
-			// the returned address can be 32 bits IPv4, or 128 bits IPv6 (?)
-			// In any case use the LSB bits (as many as will fit
-			byte[] address = InetAddress.getLocalHost().getAddress();
-			for (int i = 0; i < address.length; i++)
-				ipPart = ((ipPart << 8) | (address[i] & 0xff));
-		} catch (UnknownHostException e) {
-			// there is no IP address, and there and hence no concurrency from other machines.
-			// use the default ip part 0
-		}
-		int port = 0;
-		try {
-			socket = new ServerSocket(0);
-			port = socket.getLocalPort();
-		} catch (IOException e) {
-			try {
-				if (socket != null)
-					socket.close();
-			} catch (IOException e1) { // ignore failure to close - 
-			}
-			// use a random number as port in this case
-			port = new Random().nextInt() & 0xffff;
-		}
-		// port is never > 0xffff
-		long aPart = (ipPart << 16) | (port & 0xffff);
-		return Long.toHexString(timePart) + "_" + Long.toHexString(aPart); //$NON-NLS-1$
-
-	}
-
-	/**
-	 * Turns a file into a "relativized" absolute file.
-	 * A leading "root" is transformed to the ROOTCHAR character. On Windows, network mapped drives starts
-	 * with two separators - and are encoded as two ROOTCHAR.
-	 * e.g.
-	 * \\Host\C$\File becomes __\Host\C$\File
-	 * /users/test/file becomes _/users/test/file
-	 * C:/somewhere/file becomes C/somewhere/file
-	 * 
-	 * @param file
-	 * @return a relativized absolute abstract file
-	 */
-	private File makeRelativeFromRoot(File file) {
-		File absolute = file.getAbsoluteFile();
-		String path = absolute.getPath();
-		String prefix = ""; //$NON-NLS-1$
-		while (path.startsWith(File.separator)) {
-			prefix += ROOTCHAR;
-			path = path.substring(1);
-		}
-		if (prefix.length() > 0) {
-			path = prefix + File.separator + path;
-			return new File(path);
-		}
-		// it is a windows drive letter first.
-		// Transform C:/foo to C/foo
-		//
-		int idx = path.indexOf(":"); //$NON-NLS-1$
-		if (idx < 1)
-			throw new InternalError("File is neither absolute nor has a drive name: " + path); //$NON-NLS-1$
-		path = path.substring(0, idx) + path.substring(idx + 1);
-
-		return new File(path);
-	}
-
-	/** 
-	 * The parent path may include ".." as a directory name - this must be made canonical. But if the file itself is
-	 * a symbolic link, it should not be resolved. 
-	 */
-	private File makeParentCanonical(File file) throws IOException {
-		return new File(file.getParentFile().getCanonicalFile(), file.getName());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/ClosedBackupStoreException.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/ClosedBackupStoreException.java
deleted file mode 100644
index 7a19da5..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/ClosedBackupStoreException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-public class ClosedBackupStoreException extends IllegalStateException {
-	private static final long serialVersionUID = -5030940685029643678L;
-
-	public ClosedBackupStoreException() {
-		super();
-	}
-
-	public ClosedBackupStoreException(String message) {
-		super(message);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/IBackupStore.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/IBackupStore.java
deleted file mode 100644
index 4b08dca..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/IBackupStore.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.File;
-import java.io.IOException;
-
-public interface IBackupStore {
-
-	/**
-	 * Backup the file.
-	 * Calling this method with a file that represents a directory is equivalent to calling 
-	 * {@link #backupDirectory(File)}.
-	 * 
-	 * A file (path) can only be backed up once per IBackupStore instance.
-	 * 
-	 * If a directory is first backed up, and later replaced by a regular file, and this file
-	 * is also backed up (or vice versa) - an {@link IllegalArgumentException} is thrown
-	 * 
-	 * A backup can not be performed on a closed IBackupStore. 
-	 * 
-	 * @param file - the file (or directory) to backup
-	 * @return true if the file was backed up, false if this file (path) has already been backed up (the file is not moved to the store).
-	 * @throws IOException - if the backup operation fails, or the file does not exist
-	 * @throws IllegalStateException - if the IBackupStore has been closed
-	 * @throws IllegalArgumentException - on type mismatch (file vs. directory) of earlier backup, or if file does not exist 
-	 */
-	public boolean backup(File file) throws IOException;
-
-	/**
-	 * Same as {@link #backup(File)} except that a copy is kept in the original location.
-	 * Can not be used to copy directories.
-	 * @param file to backup and copy
-	 * @return true if the file was backed up, false if this file (path) has already been backed up (the file is not moved to the store).
-	 * @throws IOException - if the backup operation fails, if the file does not exist, or if the copy can not be created.
-	 * @throws IllegalStateException - if the IBackupStore has been closed
-	 * @throws IllegalArgumentException - on type mismatch (file vs. directory) of earlier backup, or if file is a directory. 
-	 */
-	public boolean backupCopy(File file) throws IOException;
-
-	/**
-	 * Performs backup of an empty directory. The directory must be empty before it can be backed up (i.e.
-	 * similar to a delete of a directory). Backup the files of the directory first.
-	 * A call to backup a directory is really only needed for empty directories as a restore
-	 * of a file will also restore all of its parent directories.
-	 * @param file - the (empty) directory to back up
-	 * @return true if the directory was moved to backup. false if the directory was already backed up and remains.
-	 * @throws IllegalArgumentException if file is not a directory, or is not empty.
-	 * @throws IOException if directory can not be moved to the backup store, or if the directory is not writeable
-	 */
-	public boolean backupDirectory(File file) throws IOException;
-
-	/**
-	 * Discards and closes this BackupStore. Does nothing if this store is already
-	 * restored or discarded.
-	 */
-	public void discard();
-
-	/**
-	 * Restores all backup files from backup store.
-	 * Note that restore of a (non directory) file deletes an existing file or directory found
-	 * in the restore location.
-	 * When the backup has been restored it can not be
-	 * used for further backup or restore.
-	 * 
-	 * If there are unrestorable items (non writeable directories, or general IO exceptions) these items
-	 * should be written to the log, and the backup copies should be retained
-	 * for manual restore.
-	 * 
-	 * @throws IOException if the backup was not fully restored - unrestored items should have been logged.
-	 * @throws IllegalStateException if the backup is already closed.
-	 */
-	public void restore() throws IOException;
-
-	/**
-	 * Returns the unique backup name (this is the name of generated backup directories).
-	 * @return the backup name.
-	 */
-	public String getBackupName();
-
-	/**
-	 * Backs up a file, or everything under a directory.
-	 * 
-	 * @param file - file to backup or directory
-	 * @throws IOException if backup operation failed
-	 */
-	public void backupAll(File file) throws IOException;
-
-	/**
-	 * Backs up a file, or everything under a directory.
-	 * A copy of the backup is left in the original place.
-	 * @param file
-	 * @throws IOException
-	 */
-	public void backupCopyAll(File file) throws IOException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/LazyBackupStore.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/LazyBackupStore.java
deleted file mode 100644
index e3dbc4c..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/LazyBackupStore.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * LazyBackupStore is a BackupStore that only instantiates a real backup store
- * when needed.
- * 
- *
- */
-public class LazyBackupStore implements IBackupStore {
-	private BackupStore delegate;
-	private final String prefix;
-
-	/**
-	 * Creates a new lazy backup store
-	 * @param prefix The prefix to use in constructing the backup store directory
-	 */
-	public LazyBackupStore(String prefix) {
-		this.prefix = prefix;
-	}
-
-	public boolean backup(File file) throws IOException {
-		loadDelegate();
-		return delegate.backup(file);
-	}
-
-	public boolean backupDirectory(File file) throws IOException {
-		loadDelegate();
-		return delegate.backupDirectory(file);
-	}
-
-	public void discard() {
-		if (delegate == null)
-			return;
-		delegate.discard();
-	}
-
-	public void restore() throws IOException {
-		if (delegate == null)
-			return;
-		delegate.restore();
-	}
-
-	private void loadDelegate() {
-		if (delegate != null)
-			return;
-		delegate = new BackupStore(null, prefix);
-	}
-
-	public String getBackupName() {
-		loadDelegate();
-		return delegate.getBackupName();
-	}
-
-	public boolean backupCopy(File file) throws IOException {
-		loadDelegate();
-		return delegate.backupCopy(file);
-	}
-
-	public void backupCopyAll(File file) throws IOException {
-		loadDelegate();
-		delegate.backupCopyAll(file);
-	}
-
-	public void backupAll(File file) throws IOException {
-		loadDelegate();
-		delegate.backupAll(file);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
deleted file mode 100644
index 0d73c2a..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Messages.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.touchpoint.natives.messages"; //$NON-NLS-1$
-
-	static {
-		// load message values from bundle file and assign to fields below
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String BackupStore_0_of_1_items_restored;
-	public static String BackupStore_backupCopy_closed_store;
-	public static String BackupStore_can_not_close_tcp_port;
-	public static String BackupStore_can_not_copy_directory;
-	public static String BackupStore_can_not_create_dummy;
-	public static String BackupStore_can_not_delete_after_copy_0;
-	public static String BackupStore_can_not_delete_tmp_file;
-	public static String BackupStore_can_not_remove;
-	public static String BackupStore_can_not_remove_bu_directory;
-	public static String BackupStore_directory_file_mismatch;
-	public static String BackupStore_directory_not_empty;
-	public static String BackupStore_errors_while_restoring_see_log;
-	public static String BackupStore_externally_modified_0_of_1_restored;
-	public static String BackupStore_file_directory_mismatch;
-	public static String BackupStore_file_not_found;
-	public static String BackupStore_manual_restore_needed;
-	public static String BackupStore_missing_backup_directory;
-	public static String BackupStore_not_a_directory;
-	public static String BackupStore_restore_closed_store;
-
-	public static String action_0_failed_file_1_doesNotExist;
-	public static String artifact_not_available;
-	public static String artifact_repo_not_found;
-	public static String could_not_obtain_download_cache;
-	public static String download_cache_not_writeable;
-	public static String unzipping;
-	public static String param_not_set;
-	public static String copy_failed;
-	public static String failed_backup_restore;
-	public static String backup_file_failed;
-	public static String Error_list_children_0;
-	public static String link_failed;
-	public static String mkdir_failed;
-	public static String rmdir_failed;
-	public static String Util_Invalid_Zip_File_Format;
-	public static String Util_Error_Unzipping;
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
deleted file mode 100644
index 6e4adc8..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/NativeTouchpoint.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import java.util.WeakHashMap;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.actions.ActionConstants;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.Operand;
-import org.eclipse.equinox.p2.engine.spi.Touchpoint;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class NativeTouchpoint extends Touchpoint {
-
-	public static final String PARM_BACKUP = "backup"; //$NON-NLS-1$
-
-	public static final String PARM_ARTIFACT = "artifact"; //$NON-NLS-1$
-
-	public static final String PARM_ARTIFACT_LOCATION = "artifact.location"; //$NON-NLS-1$
-
-	private static Map backups = new WeakHashMap();
-
-	public IStatus initializeOperand(IProfile profile, Operand operand, Map parameters) {
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		IArtifactKey artifactKey = (IArtifactKey) parameters.get(PARM_ARTIFACT);
-		if (!parameters.containsKey(PARM_ARTIFACT_LOCATION) && artifactKey != null) {
-			try {
-				IFileArtifactRepository downloadCache = Util.getDownloadCacheRepo(agent);
-				File fileLocation = downloadCache.getArtifactFile(artifactKey);
-				if (fileLocation != null && fileLocation.exists())
-					parameters.put(PARM_ARTIFACT_LOCATION, fileLocation.getAbsolutePath());
-			} catch (ProvisionException e) {
-				return e.getStatus();
-			}
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus initializePhase(IProgressMonitor monitor, IProfile profile, String phaseId, Map touchpointParameters) {
-		touchpointParameters.put(PARM_BACKUP, getBackupStore(profile));
-		return null;
-	}
-
-	public String qualifyAction(String actionId) {
-		return Activator.ID + "." + actionId; //$NON-NLS-1$
-	}
-
-	public IStatus prepare(IProfile profile) {
-		// does not have to do anything - everything is already in the correct place
-		// the commit means that the backup is discarded - if that fails it is not a 
-		// terrible problem.
-		return super.prepare(profile);
-	}
-
-	public IStatus commit(IProfile profile) {
-		IBackupStore store = getBackupStore(profile);
-		store.discard();
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Converts a profile id into a string that can be used as a file name in any file system.
-	 */
-	public static String escape(String toEscape) {
-		StringBuffer buffer = new StringBuffer();
-		int length = toEscape.length();
-		for (int i = 0; i < length; ++i) {
-			char ch = toEscape.charAt(i);
-			switch (ch) {
-				case '\\' :
-				case '/' :
-				case ':' :
-				case '*' :
-				case '?' :
-				case '"' :
-				case '<' :
-				case '>' :
-				case '|' :
-				case '%' :
-					buffer.append("%" + (int) ch + ";"); //$NON-NLS-1$ //$NON-NLS-2$
-					break;
-				default :
-					buffer.append(ch);
-			}
-		}
-		return buffer.toString();
-	}
-
-	public IStatus rollback(IProfile profile) {
-		IStatus returnStatus = Status.OK_STATUS;
-		IBackupStore store = getBackupStore(profile);
-		try {
-			store.restore();
-		} catch (IOException e) {
-			returnStatus = new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.failed_backup_restore, store.getBackupName()), e);
-		} catch (ClosedBackupStoreException e) {
-			returnStatus = new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.failed_backup_restore, store.getBackupName()), e);
-		}
-		clearProfileState(profile);
-		return returnStatus;
-	}
-
-	/**
-	 * Cleans up the transactional state associated with a profile.
-	 */
-	private static synchronized void clearProfileState(IProfile profile) {
-		backups.remove(profile);
-	}
-
-	/**
-	 * Gets the transactional state associated with a profile. A transactional state is
-	 * created if it did not exist.
-	 * @param profile
-	 * @return a lazily initialized backup store
-	 */
-	private static synchronized IBackupStore getBackupStore(IProfile profile) {
-		IBackupStore store = (IBackupStore) backups.get(profile);
-		if (store == null) {
-			store = new LazyBackupStore(escape(profile.getProfileId()));
-			backups.put(profile, store);
-		}
-		return store;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
deleted file mode 100644
index 1e58b41..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/Util.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IAgentLocation;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Util {
-
-	public static void log(String message) {
-		LogHelper.log(createError(message));
-	}
-
-	public static IStatus createError(String message) {
-		return new Status(IStatus.ERROR, Activator.ID, message);
-	}
-
-	public static String getInstallFolder(IProfile profile) {
-		return profile.getProperty(IProfile.PROP_INSTALL_FOLDER);
-	}
-
-	private static IAgentLocation getAgentLocation(IProvisioningAgent agent) {
-		return (IAgentLocation) agent.getService(IAgentLocation.class.getName());
-	}
-
-	public static IArtifactRepositoryManager getArtifactRepositoryManager(IProvisioningAgent agent) {
-		return (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
-	}
-
-	public static IFileArtifactRepository getDownloadCacheRepo(IProvisioningAgent agent) throws ProvisionException {
-		URI location = getDownloadCacheLocation(agent);
-		if (location == null)
-			throw new IllegalStateException(Messages.could_not_obtain_download_cache);
-		IArtifactRepositoryManager manager = getArtifactRepositoryManager(agent);
-		if (manager == null)
-			throw new IllegalStateException(Messages.artifact_repo_not_found);
-		IArtifactRepository repository;
-		try {
-			repository = manager.loadRepository(location, null);
-		} catch (ProvisionException e) {
-			// the download cache doesn't exist or couldn't be read. Create new cache.
-			String repositoryName = location + " - Agent download cache"; //$NON-NLS-1$
-			Map properties = new HashMap(1);
-			properties.put(IRepository.PROP_SYSTEM, Boolean.TRUE.toString());
-			repository = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties);
-		}
-
-		IFileArtifactRepository downloadCache = (IFileArtifactRepository) repository.getAdapter(IFileArtifactRepository.class);
-		if (downloadCache == null)
-			throw new ProvisionException(NLS.bind(Messages.download_cache_not_writeable, location));
-		return downloadCache;
-	}
-
-	static private URI getDownloadCacheLocation(IProvisioningAgent agent) {
-		IAgentLocation location = getAgentLocation(agent);
-		if (location == null)
-			return null;
-		return URIUtil.append(location.getDataArea("org.eclipse.equinox.p2.core"), "cache/"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Unzip from a File to an output directory, with progress indication and backup.
-	 * monitor and backup store may be null.
-	 */
-	public static File[] unzipFile(File zipFile, File outputDir, IBackupStore store, String taskName, IProgressMonitor monitor) throws IOException {
-		InputStream in = new FileInputStream(zipFile);
-		try {
-			return unzipStream(in, zipFile.length(), outputDir, store, taskName, monitor);
-		} catch (IOException e) {
-			// add the file name to the message
-			throw new IOException(NLS.bind(Messages.Util_Error_Unzipping, zipFile, e.getMessage()));
-		} finally {
-			in.close();
-		}
-	}
-
-	/**
-	 * Unzip from an InputStream to an output directory using backup of overwritten files
-	 * if backup store is not null.
-	 */
-	public static File[] unzipStream(InputStream stream, long size, File outputDir, IBackupStore store, String taskName, IProgressMonitor monitor) throws IOException {
-		InputStream is = monitor == null ? stream : stream; // new ProgressMonitorInputStream(stream, size, size, taskName, monitor); TODO Commented code
-		ZipInputStream in = new ZipInputStream(new BufferedInputStream(is));
-		ZipEntry ze = in.getNextEntry();
-		if (ze == null) {
-			// There must be at least one entry in a zip file.
-			// When there isn't getNextEntry returns null.
-			in.close();
-			throw new IOException(Messages.Util_Invalid_Zip_File_Format);
-		}
-		ArrayList unzippedFiles = new ArrayList();
-		do {
-			File outFile = new File(outputDir, ze.getName());
-			unzippedFiles.add(outFile);
-			if (ze.isDirectory()) {
-				outFile.mkdirs();
-			} else {
-				if (outFile.exists()) {
-					if (store != null)
-						store.backup(outFile);
-					else
-						outFile.delete();
-				} else {
-					outFile.getParentFile().mkdirs();
-				}
-				try {
-					copyStream(in, false, new FileOutputStream(outFile), true);
-				} catch (FileNotFoundException e) {
-					// TEMP: ignore this for now in case we're trying to replace
-					// a running eclipse.exe
-				}
-				outFile.setLastModified(ze.getTime());
-			}
-			in.closeEntry();
-		} while ((ze = in.getNextEntry()) != null);
-		in.close();
-
-		return (File[]) unzippedFiles.toArray(new File[unzippedFiles.size()]);
-	}
-
-	/**
-	 * Copy an input stream to an output stream.
-	 * Optionally close the streams when done.
-	 * Return the number of bytes written.
-	 */
-	public static int copyStream(InputStream in, boolean closeIn, OutputStream out, boolean closeOut) throws IOException {
-		try {
-			int written = 0;
-			byte[] buffer = new byte[16 * 1024];
-			int len;
-			while ((len = in.read(buffer)) != -1) {
-				out.write(buffer, 0, len);
-				written += len;
-			}
-			return written;
-		} finally {
-			try {
-				if (closeIn) {
-					in.close();
-				}
-			} finally {
-				if (closeOut) {
-					out.close();
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ActionConstants.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ActionConstants.java
deleted file mode 100644
index de10738..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ActionConstants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-public class ActionConstants {
-
-	public static final String PARM_AGENT = "agent"; //$NON-NLS-1$
-	public static final String PARM_PATH = "path"; //$NON-NLS-1$
-	public static final String PARM_TARGET_FILE = "targetFile"; //$NON-NLS-1$
-	public static final String PARM_PERMISSIONS = "permissions"; //$NON-NLS-1$
-	public static final String PARM_TARGET_DIR = "targetDir"; //$NON-NLS-1$
-	public static final String PARM_TARGET = "target"; //$NON-NLS-1$
-	public static final String PARM_SOURCE = "source"; //$NON-NLS-1$
-	public static final String PARM_IU = "iu"; //$NON-NLS-1$
-	public static final String PIPE = "|"; //$NON-NLS-1$
-	public static final String PARM_AT_ARTIFACT = "@artifact"; //$NON-NLS-1$
-	public static final String PARM_ARTIFACT_REQUESTS = "artifactRequests"; //$NON-NLS-1$
-	public static final String PARM_OPERAND = "operand"; //$NON-NLS-1$
-	public static final String PARM_PROFILE = "profile"; //$NON-NLS-1$
-	public static final String PARM_LINK_NAME = "linkName"; //$NON-NLS-1$
-	public static final String PARM_LINK_TARGET = "linkTarget"; //$NON-NLS-1$
-	public static final String PARM_LINK_FORCE = "force"; //$NON-NLS-1$
-	public static final String PARM_COPY_TARGET = "target"; //$NON-NLS-1$
-	public static final String PARM_COPY_SOURCE = "source"; //$NON-NLS-1$
-	public static final String PARM_COPY_OVERWRITE = "overwrite"; //$NON-NLS-1$
-	public static final String PARM_OPTIONS = "options"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ChmodAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ChmodAction.java
deleted file mode 100644
index 36315a8..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/ChmodAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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:
- *     Red Hat Incorporated - initial API and implementation
- *     IBM Corporation - ongoing development
- *     Cloudsmith Inc - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Messages;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Util;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class ChmodAction extends ProvisioningAction {
-	private static final String ACTION_CHMOD = "chmod"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
-		if (targetDir == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET_DIR, ACTION_CHMOD));
-		String targetFile = (String) parameters.get(ActionConstants.PARM_TARGET_FILE);
-		if (targetFile == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET_FILE, ACTION_CHMOD));
-		String permissions = (String) parameters.get(ActionConstants.PARM_PERMISSIONS);
-		if (permissions == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PERMISSIONS, ACTION_CHMOD));
-		String optionsString = (String) parameters.get(ActionConstants.PARM_OPTIONS);
-
-		// Check that file exist
-		File probe = new File(targetDir + IPath.SEPARATOR + targetFile);
-		if (!probe.exists())
-			return Util.createError(NLS.bind(Messages.action_0_failed_file_1_doesNotExist, ACTION_CHMOD, probe.toString()));
-
-		String options[] = null;
-		if (optionsString != null) {
-			ArrayList collect = new ArrayList();
-			String r = optionsString.trim();
-			while (r.length() > 0) {
-				int spaceIdx = r.indexOf(' ');
-				if (spaceIdx < 0) {
-					collect.add(r);
-					r = ""; //$NON-NLS-1$
-				} else {
-					collect.add(r.substring(0, spaceIdx));
-					r = r.substring(spaceIdx + 1);
-					r = r.trim();
-				}
-			}
-			if (collect.size() > 0) {
-				options = new String[collect.size()];
-				collect.toArray(options);
-			}
-		}
-
-		chmod(targetDir, targetFile, permissions, options);
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		//TODO: implement undo ??
-		return Status.OK_STATUS;
-	}
-
-	public void chmod(String targetDir, String targetFile, String perms, String[] options) {
-		Runtime r = Runtime.getRuntime();
-		try {
-			// Note: 3 is from chmod, permissions, and target
-			String[] args = new String[3 + (options == null ? 0 : options.length)];
-			int i = 0;
-			args[i++] = "chmod"; //$NON-NLS-1$
-			if (options != null) {
-				for (int j = 0; j < options.length; j++)
-					args[i++] = options[j];
-			}
-			args[i++] = perms;
-			args[i] = targetDir + IPath.SEPARATOR + targetFile;
-			Process process = r.exec(args);
-			readOffStream(process.getErrorStream());
-			readOffStream(process.getInputStream());
-			try {
-				process.waitFor();
-			} catch (InterruptedException e) {
-				// mark thread interrupted and continue
-				Thread.currentThread().interrupt();
-			}
-		} catch (IOException e) {
-			// ignore
-		}
-	}
-
-	private void readOffStream(InputStream inputStream) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
-		try {
-			while (reader.readLine() != null) {
-				// do nothing
-			}
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupcopyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupcopyAction.java
deleted file mode 100644
index f6e51cf..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupcopyAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class CleanupcopyAction extends ProvisioningAction {
-
-	public static final String ACTION_CLEANUPCOPY = "cleanupcopy"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return cleanupcopy(parameters, true);
-	}
-
-	public IStatus undo(Map parameters) {
-		return CopyAction.copy(parameters, false);
-	}
-
-	/**
-	 * Perform a cleanup of a previously made copy action.
-	 * @param parameters action parameters
-	 * @param restoreable flag indicating if the operation should be backed up
-	 * @return status
-	 */
-	public static IStatus cleanupcopy(Map parameters, boolean restoreable) {
-		String source = (String) parameters.get(ActionConstants.PARM_SOURCE);
-		if (source == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_SOURCE, ACTION_CLEANUPCOPY));
-		String target = (String) parameters.get(ActionConstants.PARM_TARGET);
-		if (target == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET, ACTION_CLEANUPCOPY));
-		IBackupStore backupStore = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(ActionConstants.PARM_IU);
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-
-		String copied = profile.getInstallableUnitProperty(iu, "copied" + ActionConstants.PIPE + source + ActionConstants.PIPE + target); //$NON-NLS-1$
-
-		if (copied == null)
-			return Status.OK_STATUS;
-
-		StringTokenizer tokenizer = new StringTokenizer(copied, ActionConstants.PIPE);
-		List directories = new ArrayList();
-		while (tokenizer.hasMoreTokens()) {
-			String fileName = tokenizer.nextToken();
-			File file = new File(fileName);
-			if (!file.exists())
-				continue;
-
-			//directories need to be deleted from the bottom-up, but directories are listed 
-			//in traversal order during copy, so we need to reverse the directory list
-			if (file.isDirectory())
-				directories.add(0, file);
-			else {
-				if (restoreable)
-					try {
-						backupStore.backup(file);
-					} catch (IOException e) {
-						return Util.createError(NLS.bind(Messages.backup_file_failed, file));
-					}
-				else
-					file.delete();
-			}
-		}
-
-		for (Iterator it = directories.iterator(); it.hasNext();) {
-			File directory = (File) it.next();
-			File[] children = directory.listFiles();
-			if (children == null)
-				return Util.createError(NLS.bind(Messages.Error_list_children_0, directory));
-
-			if (children.length == 0) {
-				if (restoreable)
-					try {
-						backupStore.backup(directory);
-					} catch (IOException e) {
-						return Util.createError(NLS.bind(Messages.backup_file_failed, directory));
-					}
-				else
-					directory.delete();
-			}
-		}
-
-		return Status.OK_STATUS;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupzipAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupzipAction.java
deleted file mode 100644
index 60eedef..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupzipAction.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class CleanupzipAction extends ProvisioningAction {
-
-	private static final String UNZIPPED = "unzipped"; //$NON-NLS-1$
-	public static final String ACTION_CLEANUPZIP = "cleanupzip"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return cleanupzip(parameters, true);
-	}
-
-	public IStatus undo(Map parameters) {
-		return UnzipAction.unzip(parameters, false);
-	}
-
-	public static IStatus cleanupzip(Map parameters, boolean restoreable) {
-		String source = (String) parameters.get(ActionConstants.PARM_SOURCE);
-		if (source == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_SOURCE, ACTION_CLEANUPZIP));
-		String target = (String) parameters.get(ActionConstants.PARM_TARGET);
-		if (target == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET, ACTION_CLEANUPZIP));
-
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(ActionConstants.PARM_IU);
-		Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-
-		String iuPropertyKey = UNZIPPED + ActionConstants.PIPE + source + ActionConstants.PIPE + target;
-
-		String unzipped = profile.getInstallableUnitProperty(iu, iuPropertyKey);
-		if (unzipped == null) {
-			// best effort
-			// we try to substitute the current target with what was written.
-			Map iuProperties = profile.getInstallableUnitProperties(iu);
-			String sourcePrefix = UNZIPPED + ActionConstants.PIPE + source + ActionConstants.PIPE;
-			for (Iterator iterator = iuProperties.keySet().iterator(); iterator.hasNext();) {
-				String key = (String) iterator.next();
-				if (key.startsWith(sourcePrefix)) {
-					if (unzipped == null) {
-						iuPropertyKey = key;
-						String storedTarget = key.substring(sourcePrefix.length());
-						unzipped = substituteTarget(storedTarget, target, (String) iuProperties.get(key));
-					} else
-						return Status.OK_STATUS; // possible two unzips of this source - give up on best effort
-				}
-			}
-			// no match
-			if (unzipped == null)
-				return Status.OK_STATUS;
-		}
-
-		IBackupStore store = restoreable ? (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP) : null;
-		StringTokenizer tokenizer = new StringTokenizer(unzipped, ActionConstants.PIPE);
-		List directories = new ArrayList();
-		while (tokenizer.hasMoreTokens()) {
-			String fileName = tokenizer.nextToken();
-			File file = new File(fileName);
-			if (!file.exists())
-				continue;
-
-			if (file.isDirectory())
-				directories.add(file);
-			else {
-				if (store != null)
-					try {
-						store.backup(file);
-					} catch (IOException e) {
-						return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.backup_file_failed, file.getPath()), e);
-					}
-				else
-					file.delete();
-			}
-		}
-		// TODO: this will most likely leave garbage behind as directories must
-		// be empty to be deleted - there is not guarantee that this structure has
-		// the leafs first in the list of directories.
-		// Since backup will deny backup of non empty directory a check must be made
-		// 
-		for (Iterator it = directories.iterator(); it.hasNext();) {
-			File directory = (File) it.next();
-			if (store != null) {
-				File[] children = directory.listFiles();
-				if (children == null || children.length == 0)
-					try {
-						store.backupDirectory(directory);
-					} catch (IOException e) {
-						return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.backup_file_failed, directory.getPath()), e);
-					}
-			} else
-				directory.delete();
-		}
-
-		profile.removeInstallableUnitProperty(iu, iuPropertyKey);
-		return Status.OK_STATUS;
-	}
-
-	private static String substituteTarget(String oldTarget, String newTarget, String value) {
-		StringBuffer buffer = new StringBuffer();
-		StringTokenizer tokenizer = new StringTokenizer(value, ActionConstants.PIPE);
-		while (tokenizer.hasMoreTokens()) {
-			String fileName = tokenizer.nextToken().trim();
-			if (fileName.length() == 0)
-				continue;
-			if (fileName.startsWith(oldTarget))
-				fileName = newTarget + fileName.substring(oldTarget.length());
-
-			buffer.append(fileName).append(ActionConstants.PIPE);
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CollectAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CollectAction.java
deleted file mode 100644
index 73d0578..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CollectAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.util.Collection;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Util;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.InstallableUnitOperand;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.IArtifactRequest;
-
-public class CollectAction extends ProvisioningAction {
-
-	public static final String ACTION_COLLECT = "collect"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE);
-		IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT);
-		InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(ActionConstants.PARM_OPERAND);
-		try {
-			IArtifactRequest[] requests = collect(agent, operand.second(), profile);
-			Collection artifactRequests = (Collection) parameters.get(ActionConstants.PARM_ARTIFACT_REQUESTS);
-			artifactRequests.add(requests);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		// nothing to do for now
-		return Status.OK_STATUS;
-	}
-
-	IArtifactRequest[] collect(IProvisioningAgent agent, IInstallableUnit installableUnit, IProfile profile) throws ProvisionException {
-		IArtifactKey[] toDownload = installableUnit.getArtifacts();
-		if (toDownload == null)
-			return new IArtifactRequest[0];
-		IArtifactRepository destination = Util.getDownloadCacheRepo(agent);
-		IArtifactRequest[] requests = new IArtifactRequest[toDownload.length];
-		int count = 0;
-		for (int i = 0; i < toDownload.length; i++) {
-			//TODO Here there are cases where the download is not necessary again because what needs to be done is just a configuration step
-			requests[count++] = Util.getArtifactRepositoryManager(agent).createMirrorRequest(toDownload[i], destination, null, null);
-		}
-
-		if (requests.length == count)
-			return requests;
-		IArtifactRequest[] result = new IArtifactRequest[count];
-		System.arraycopy(requests, 0, result, 0, count);
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CopyAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CopyAction.java
deleted file mode 100644
index 9f273fe..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CopyAction.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Copies from PARM_COPY_SOURCE to PARAM_COPY_TARGET
- * The optional parameter PARAM_COPY_OVERWRITE overwrites and existing file if set to true, else
- * and existing file with the same name is an error. The default is false.
- * If the source is a directory, a merge copy to the target is performed.
- * Copy will copy files and directories (recursively).
- *  
- */
-public class CopyAction extends ProvisioningAction {
-	public static final String ID = "cp"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return copy(parameters, true);
-	}
-
-	/** Perform the copy.
-	 * 
-	 * @param parameters action parameters
-	 * @param restoreable  flag indicating if the operation should be backed up
-	 * @return status
-	 */
-	public static IStatus copy(Map parameters, boolean restoreable) {
-		String target = (String) parameters.get(ActionConstants.PARM_COPY_TARGET);
-		IBackupStore backupStore = restoreable ? (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP) : null;
-
-		if (target == null)
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.param_not_set, ActionConstants.PARM_COPY_TARGET, ID), null);
-
-		String source = (String) parameters.get(ActionConstants.PARM_COPY_SOURCE);
-		if (source == null)
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.param_not_set, ActionConstants.PARM_COPY_SOURCE, ID), null);
-
-		String overwrite = (String) parameters.get(ActionConstants.PARM_COPY_OVERWRITE);
-		Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(ActionConstants.PARM_IU);
-
-		String originalSource = source;
-		if (source.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			String artifactLocation = (String) parameters.get(NativeTouchpoint.PARM_ARTIFACT_LOCATION);
-			if (artifactLocation == null) {
-				IArtifactKey artifactKey = (IArtifactKey) parameters.get(NativeTouchpoint.PARM_ARTIFACT);
-				return Util.createError(NLS.bind(Messages.artifact_not_available, artifactKey));
-			}
-			source = artifactLocation;
-		}
-
-		File sourceFile = new File(source);
-		File targetFile = new File(target);
-		File[] copiedFiles = null;
-		try {
-			copiedFiles = mergeCopy(sourceFile, targetFile, Boolean.valueOf(overwrite).booleanValue(), backupStore);
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.copy_failed, sourceFile.getPath()), e);
-		}
-		// keep copied file in the profile as memento for CleanupCopy
-		StringBuffer copiedFileNameBuffer = new StringBuffer();
-		for (int i = 0; i < copiedFiles.length; i++)
-			copiedFileNameBuffer.append(copiedFiles[i].getAbsolutePath()).append(ActionConstants.PIPE);
-
-		profile.setInstallableUnitProperty(iu, "copied" + ActionConstants.PIPE + originalSource + ActionConstants.PIPE + target, copiedFileNameBuffer.toString()); //$NON-NLS-1$
-
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		return CleanupcopyAction.cleanupcopy(parameters, false);
-	}
-
-	/**
-	 * Merge-copy file or directory.
-	 * @param source
-	 * @param target
-	 * @param overwrite
-	 * @throws IOException
-	 */
-	private static File[] mergeCopy(File source, File target, boolean overwrite, IBackupStore backupStore) throws IOException {
-		ArrayList copiedFiles = new ArrayList();
-		xcopy(copiedFiles, source, target, overwrite, backupStore);
-		return (File[]) copiedFiles.toArray(new File[copiedFiles.size()]);
-	}
-
-	/**
-	 * Merge-copy file or directory.
-	 * @param copiedFiles - ArrayList where copied files are collected
-	 * @param source
-	 * @param target
-	 * @param overwrite
-	 * @throws IOException
-	 */
-	private static void xcopy(ArrayList copiedFiles, File source, File target, boolean overwrite, IBackupStore backupStore) throws IOException {
-		if (!source.exists())
-			throw new IOException("Source: " + source + "does not exists"); //$NON-NLS-1$//$NON-NLS-2$
-
-		if (source.isDirectory()) {
-			if (target.exists() && target.isFile()) {
-				if (!overwrite)
-					throw new IOException("Target: " + target + " already exists"); //$NON-NLS-1$//$NON-NLS-2$
-				if (backupStore != null)
-					backupStore.backup(target);
-				else
-					target.delete();
-			}
-			if (!target.exists())
-				target.mkdirs();
-			copiedFiles.add(target);
-			File[] children = source.listFiles();
-			if (children == null)
-				throw new IOException("Error while retrieving children of directory: " + source); //$NON-NLS-1$
-			for (int i = 0; i < children.length; i++)
-				xcopy(copiedFiles, children[i], new File(target, children[i].getName()), overwrite, backupStore);
-			return;
-		}
-		if (target.exists() && !overwrite)
-			throw new IOException("Target: " + target + " already exists"); //$NON-NLS-1$//$NON-NLS-2$
-
-		if (!target.getParentFile().exists() && !target.getParentFile().mkdirs())
-			throw new IOException("Target: Path " + target.getParent() + " could not be created"); //$NON-NLS-1$//$NON-NLS-2$
-
-		try {
-			Util.copyStream(new FileInputStream(source), true, new FileOutputStream(target), true);
-		} catch (IOException e) {
-			// get the original IOException to the log
-			e.printStackTrace();
-			throw new IOException("Error while copying:" + source.getAbsolutePath()); //$NON-NLS-1$
-		}
-		copiedFiles.add(target);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
deleted file mode 100644
index 415451e..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/LinkAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.*;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class LinkAction extends ProvisioningAction {
-	public static final String ID = "ln"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
-		if (targetDir == null)
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET_DIR, ID), null);
-
-		String linkTarget = (String) parameters.get(ActionConstants.PARM_LINK_TARGET);
-		if (linkTarget == null)
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.param_not_set, ActionConstants.PARM_LINK_TARGET, ID), null);
-
-		String linkName = (String) parameters.get(ActionConstants.PARM_LINK_NAME);
-		if (linkName == null)
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.param_not_set, ActionConstants.PARM_LINK_NAME, ID), null);
-
-		String force = (String) parameters.get(ActionConstants.PARM_LINK_FORCE);
-
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-
-		try {
-			ln(targetDir, linkTarget, linkName, Boolean.valueOf(force).booleanValue(), store);
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.link_failed, linkName, ID), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		String targetDir = (String) parameters.get(ActionConstants.PARM_TARGET_DIR);
-		String linkName = (String) parameters.get(ActionConstants.PARM_LINK_NAME);
-
-		if (targetDir != null && linkName != null) {
-			File linkFile = new File(targetDir, linkName);
-			linkFile.delete(); // ok since if something was overwritten - it is restored from backup
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Creates a link to the source file linkTarget - the created link is targetDir/linkName. 
-	 * TODO: Only runs on systems with a "ln -s" command supported.
-	 * TODO: Does not report errors if the "ln -s" fails
-	 * @param targetDir the directory where the link is created
-	 * @param linkTarget the source
-	 * @param linkName the name of the created link
-	 * @param force if overwrite of existing file should be performed.
-	 * @param store an (optional - set to null) backup store to use
-	 * @throws IOException if backup of existing file fails
-	 */
-	private void ln(String targetDir, String linkTarget, String linkName, boolean force, IBackupStore store) throws IOException {
-		// backup a file that would be overwritten using "force == true"
-		if (force && store != null) {
-			File xFile = new File(targetDir, linkName);
-			if (xFile.exists())
-				store.backup(xFile);
-		}
-		Runtime r = Runtime.getRuntime();
-		try {
-			Process process = r.exec(new String[] {"ln", "-s" + (force ? "f" : ""), linkTarget, targetDir + IPath.SEPARATOR + linkName}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			readOffStream(process.getErrorStream());
-			readOffStream(process.getInputStream());
-			try {
-				process.waitFor();
-			} catch (InterruptedException e) {
-				// mark thread interrupted and continue
-				Thread.currentThread().interrupt();
-			}
-		} catch (IOException e) {
-			// ignore
-		}
-	}
-
-	private void readOffStream(InputStream inputStream) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
-		try {
-			while (reader.readLine() != null) {
-				// do nothing
-			}
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/MkdirAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/MkdirAction.java
deleted file mode 100644
index df19ad9..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/MkdirAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Messages;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.Util;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class MkdirAction extends ProvisioningAction {
-	public static final String ID = "mkdir"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String path = (String) parameters.get(ActionConstants.PARM_PATH);
-		if (path == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PATH, ID));
-		File dir = new File(path);
-		// A created or existing directory is ok
-		dir.mkdir();
-		if (dir.isDirectory())
-			return Status.OK_STATUS;
-		// mkdir could have failed because of permissions, or because of an existing file
-		return Util.createError(NLS.bind(Messages.mkdir_failed, path, ID));
-	}
-
-	public IStatus undo(Map parameters) {
-		String path = (String) parameters.get(ActionConstants.PARM_PATH);
-		if (path == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PATH, ID));
-		File dir = new File(path);
-		// although not perfect, it at least prevents a faulty mkdir to delete a file on undo
-		// worst case is that an empty directory could be deleted
-		if (dir.isDirectory())
-			dir.delete();
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RemoveAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RemoveAction.java
deleted file mode 100644
index 8a2bf5b..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RemoveAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Cloudsmith Inc. 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:
- *     Cloudsmith Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoveAction extends ProvisioningAction {
-	public static final String ID = "remove"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String path = (String) parameters.get(ActionConstants.PARM_PATH);
-		if (path == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PATH, ID));
-		File file = new File(path);
-		// ignore if the file is already removed
-		if (!file.exists())
-			return Status.OK_STATUS;
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		if (store == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, NativeTouchpoint.PARM_BACKUP, ID));
-		try {
-			store.backupAll(file);
-		} catch (IOException e) {
-			return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.backup_file_failed, file.getPath()), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		// Does not have to do anything as the backup will restore what was deleted
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RmdirAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RmdirAction.java
deleted file mode 100644
index 565e100..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/RmdirAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.osgi.util.NLS;
-
-public class RmdirAction extends ProvisioningAction {
-	public static final String ID = "rmdir"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		String path = (String) parameters.get(ActionConstants.PARM_PATH);
-		if (path == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PATH, ID));
-
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-
-		File dir = new File(path);
-		if (!dir.isDirectory())
-			return Util.createError(NLS.bind(Messages.rmdir_failed, path, ID));
-		if (store != null)
-			try {
-				store.backupDirectory(dir);
-			} catch (IOException e) {
-				return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.rmdir_failed, path, ID), e);
-			} catch (IllegalArgumentException e) {
-				// Ignore the delete/backup if the directory was not empty as this preserves the
-				// the original semantics.
-				// See Bug 272312 for more detail.
-				// return new Status(IStatus.ERROR, Activator.ID, IStatus.OK, NLS.bind(Messages.rmdir_failed, ActionConstants.PARM_PATH, ID), e);
-				//
-			}
-		else
-			dir.delete();
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(Map parameters) {
-		String path = (String) parameters.get(ActionConstants.PARM_PATH);
-		IBackupStore store = (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP);
-		if (path == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_PATH, ID));
-		// only need to create a dir if backup was not used
-		if (store == null)
-			new File(path).mkdir();
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/UnzipAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/UnzipAction.java
deleted file mode 100644
index 85d66a8..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/UnzipAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.touchpoint.natives.actions;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.engine.Profile;
-import org.eclipse.equinox.internal.p2.touchpoint.natives.*;
-import org.eclipse.equinox.p2.engine.spi.ProvisioningAction;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public class UnzipAction extends ProvisioningAction {
-
-	public static final String ACTION_UNZIP = "unzip"; //$NON-NLS-1$
-
-	public IStatus execute(Map parameters) {
-		return unzip(parameters, true);
-	}
-
-	public IStatus undo(Map parameters) {
-		return CleanupzipAction.cleanupzip(parameters, false);
-	}
-
-	/**
-	 * Unzip as directed by parameters.
-	 * Record what was zipped in the profile.
-	 * @param parameters
-	 * @param restoreable - if the unzip should be backed up
-	 * @return status
-	 */
-	public static IStatus unzip(Map parameters, boolean restoreable) {
-		String source = (String) parameters.get(ActionConstants.PARM_SOURCE);
-		if (source == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_SOURCE, ACTION_UNZIP));
-
-		String originalSource = source;
-		String target = (String) parameters.get(ActionConstants.PARM_TARGET);
-		if (target == null)
-			return Util.createError(NLS.bind(Messages.param_not_set, ActionConstants.PARM_TARGET, ACTION_UNZIP));
-
-		IInstallableUnit iu = (IInstallableUnit) parameters.get(ActionConstants.PARM_IU);
-		Profile profile = (Profile) parameters.get(ActionConstants.PARM_PROFILE);
-
-		if (source.equals(ActionConstants.PARM_AT_ARTIFACT)) {
-			String artifactLocation = (String) parameters.get(NativeTouchpoint.PARM_ARTIFACT_LOCATION);
-			if (artifactLocation == null) {
-				IArtifactKey artifactKey = (IArtifactKey) parameters.get(NativeTouchpoint.PARM_ARTIFACT);
-				return Util.createError(NLS.bind(Messages.artifact_not_available, artifactKey));
-			}
-			source = artifactLocation;
-		}
-		IBackupStore store = restoreable ? (IBackupStore) parameters.get(NativeTouchpoint.PARM_BACKUP) : null;
-		File[] unzippedFiles = unzip(source, target, store);
-		StringBuffer unzippedFileNameBuffer = new StringBuffer();
-		for (int i = 0; i < unzippedFiles.length; i++)
-			unzippedFileNameBuffer.append(unzippedFiles[i].getAbsolutePath()).append(ActionConstants.PIPE);
-
-		profile.setInstallableUnitProperty(iu, "unzipped" + ActionConstants.PIPE + originalSource + ActionConstants.PIPE + target, unzippedFileNameBuffer.toString()); //$NON-NLS-1$
-
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Unzips a source zip into the given destination. Any existing contents in the destination
-	 * are backed up in the provided backup store.
-	 */
-	private static File[] unzip(String source, String destination, IBackupStore store) {
-		File zipFile = new File(source);
-		if (zipFile == null || !zipFile.exists()) {
-			Util.log(UnzipAction.class.getName() + " the files to be unzipped is not here"); //$NON-NLS-1$
-		}
-		try {
-			String taskName = NLS.bind(Messages.unzipping, source);
-			return Util.unzipFile(zipFile, new File(destination), store, taskName, new NullProgressMonitor());
-		} catch (IOException e) {
-			Util.log(UnzipAction.class.getName() + " error unzipping zipfile: " + zipFile.getAbsolutePath() + "destination: " + destination); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return new File[0];
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties b/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
deleted file mode 100644
index 1dbe1a1..0000000
--- a/bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/messages.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-BackupStore_backupCopy_closed_store=Can not perform backup on closed backup store.
-BackupStore_0_of_1_items_restored={0} items out of {1} items restored.
-BackupStore_can_not_close_tcp_port=Could not close tcp socket for port: {0}
-BackupStore_can_not_copy_directory=Can not copy a directory: {0}
-BackupStore_can_not_create_dummy=Can not create dummy file: {0}
-BackupStore_can_not_delete_after_copy_0=File that was copied to backup could not be deleted: {0}
-BackupStore_can_not_delete_tmp_file=Can not delete temporary file - it is safe to delete it manually: {0}
-BackupStore_can_not_remove=Can not remove : {0}
-BackupStore_can_not_remove_bu_directory=Could not remove temporary backup directory (it is safe to manually delete it and its contents): {0}
-BackupStore_directory_file_mismatch=File already backed up as a directory: {0}
-BackupStore_directory_not_empty=Directory is not empty: {0}
-BackupStore_errors_while_restoring_see_log=Errors while restoring - see earlier logged errors
-BackupStore_externally_modified_0_of_1_restored=Backup store modified externally\! {0} items out of {1} items restored. Remaining items can not be found.
-BackupStore_file_directory_mismatch=File already backed up as a file - and is now required as a directory: {0}
-BackupStore_file_not_found=File does not exist: {0}.
-BackupStore_manual_restore_needed=Manual restore of backup needed for: {0}
-BackupStore_missing_backup_directory=Missing backup directory - can not restore: {0}
-BackupStore_not_a_directory=File is not a directory: {0}
-BackupStore_restore_closed_store=Can not perform restore on closed backup store
-
-action_0_failed_file_1_doesNotExist=The action {0} failed - file {1} does not exist
-artifact_not_available=The artifact for {0} is not available.
-unzipping=Extracting {0}
-param_not_set=The \"{0}\" parameter was not set in the \"{1}\" action.
-artifact_repo_not_found=The artifact repository manager could not be found.
-could_not_obtain_download_cache=Could not obtain the download cache location.
-download_cache_not_writeable=Agent download cache not writeable: {0}.
-copy_failed=I/O Error while copying {0} - see details.
-failed_backup_restore=Restore of backup failed - see log for details. Backup directory name: {0}.
-backup_file_failed=Backup of file {0} failed.
-Error_list_children_0=Error while retrieving children of directory: {0}
-link_failed=Could not create link {0}.
-mkdir_failed=Could not create directory {0}.
-rmdir_failed=Could not remove directory {0}.
-Util_Invalid_Zip_File_Format=Invalid zip file format
-Util_Error_Unzipping=Error unzipping {0}: {1}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
deleted file mode 100644
index 473c3a1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.ui.admin.rcp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 78523cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu Aug 16 11:00:59 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b85a368..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:25 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 0d1ef4b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jul 26 19:13:12 EDT 2007
-eclipse.preferences.version=1
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
deleted file mode 100644
index 59c799b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin.rcp; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.admin.rcp.Activator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.equinox.internal.p2.ui.admin.rcp;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
deleted file mode 100644
index 28ac8d4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/ProvAdminUI.launch
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="org.eclipse.equinox.p2.core"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ProvAdminUI"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<stringAttribute key="execEnvironment" value="CDC-1.0/Foundation-1.0"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consolelog -product org.eclipse.equinox.p2.ui.admin.rcp.product"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.profile=SDKProfile -Declipse.p2.data.area=/Applications/eclipse/p2/"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="restart" value="false"/>
-<stringAttribute key="selectedPlugin" value="org.eclipse.equinox.p2.core"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.swt@default:default,org.eclipse.osgi@-1:true,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.jface.text@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.app@default:default,com.ibm.icu@default:default,org.eclipse.ui@default:default,org.eclipse.ant.core@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.core.variables@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.compare@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.commands@default:default,org.eclipse.swt.cocoa.macosx@default:false,org.eclipse.ui.editors@default:default,org.eclipse.equinox.security@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.equinox.common@2:true,org.eclipse.help@default:default,org.eclipse.text@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.filesystem@default:default,org.apache.commons.httpclient@default:default,org.eclipse.compare.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.ui.views@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.net@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.registry@default:default"/>
-<booleanAttribute key="tracing" value="true"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
-<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/core/parseproblems" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ecf/debug" value="true"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
-<mapEntry key="org.eclipse.ecf/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
-<mapEntry key="org.eclipse.ecf/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
-<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
-<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/metadata/parsing" value="true"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
-<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/artifacts/mirrors" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
-<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
-<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.garbagecollector/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/flag" value="true"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/exceptions/throwing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/engine/installregistry" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/generator/parsing" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
-<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/flag" value="true"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.equinox.p2.core/debug" value="true"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/exceptions/catching" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug/methods/entering" value="false"/>
-<mapEntry key="org.eclipse.ecf.identity/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.ecf.filetransfer/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.ecf/debug/methods/exiting" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
-<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
-</mapAttribute>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="false"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.ecf.identity@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.ui.admin@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.apache.commons.logging@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.frameworkadmin@2:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.artifact.processors@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.p2.ui.admin.rcp@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.sar@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.frameworkadmin.equinox@2:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.engine@default:default,org.sat4j.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.ecf.filetransfer@default:default,ie.wombat.jbdiff@default:default,org.apache.commons.codec@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.equinox.p2.ui@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
deleted file mode 100644
index 3501186..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               icons/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               META-INF/
-src.includes = about.html
-source.. = src/
-
-               
-
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
deleted file mode 100644
index a709baf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/config.ini
+++ /dev/null
@@ -1,50 +0,0 @@
-osgi.bundles=\
-	com.ibm.icu,\
-	org.eclipse.core.commands,\
-	org.eclipse.core.contenttype,\
-	org.eclipse.core.databinding,\
-	org.eclipse.core.expressions,\
-	org.eclipse.core.jobs,\
-	org.eclipse.core.runtime,\
-	org.eclipse.ecf,\
-	org.eclipse.ecf.filetransfer,\
-	org.eclipse.ecf.identity,\
-	org.eclipse.ecf.provider.filetransfer,\
-	org.eclipse.equinox.app@start,\
-	org.eclipse.equinox.common,\
-	org.eclipse.equinox.frameworkadmin,\
-	org.eclipse.equinox.frameworkadmin.equinox@start,\
-	org.eclipse.equinox.launcher,\
-	org.eclipse.equinox.launcher.win32.win32.x86,\
-	org.eclipse.equinox.preferences,\
-	org.eclipse.equinox.p2.jarprocessor,\
-	org.eclipse.equinox.p2.artifact.repository,\
-	org.eclipse.equinox.p2.console,\
-	org.eclipse.equinox.p2.core,\
-	org.eclipse.equinox.p2.director,\
-	org.eclipse.equinox.p2.download,\
-	org.eclipse.equinox.p2.engine,\
-	org.eclipse.equinox.p2.exemplarysetup@start,\
-	org.eclipse.equinox.p2.metadata,\
-	org.eclipse.equinox.p2.metadata.repository,\
-	org.eclipse.equinox.p2.touchpoint.eclipse,\
-	org.eclipse.equinox.p2.touchpoint.natives,\
-	org.eclipse.equinox.p2.ui,\
-	org.eclipse.equinox.p2.ui.admin,\
-	org.eclipse.equinox.p2.ui.admin.rcp,\
-	org.eclipse.equinox.registry,\
-	org.eclipse.equinox.simpleconfigurator@1:start,\
-	org.eclipse.equinox.simpleconfigurator.manipulator@start,\
-	org.eclipse.help,\
-	org.eclipse.jface,\
-	org.eclipse.jface.databinding,\
-	org.eclipse.osgi.services,\
-	org.eclipse.swt,\
-	org.eclipse.swt.win32.win32.x86,\
-	org.eclipse.ui,\
-	org.eclipse.ui.workbench,\
-	org.sat4j.core,\
-	org.sat4j.pb
-eclipse.product=org.eclipse.equinox.p2.ui.admin.rcp.product
-org.eclipse.equinox.simpleconfigurator.useReference=true
-org.eclipse.update.reconcile=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/provision.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/icons/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
deleted file mode 100644
index f90be3c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-#
-# Provisioning Admin UI RCP app
-#
-providerName = Eclipse.org - Equinox
-bundleName=Provisioning Admin UI RCP (Incubation)
-productName=Eclipse Provisioning
-appName=Eclipse Provisioning Admin UI
-perspectiveName=Eclipse Provisioning
-Views.Progress=Progress View
-aboutText= Eclipse Provisioning Admin UI \n\n\
-(c) Copyright Eclipse contributors and others 2007-2009.  All rights reserved.\n
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
deleted file mode 100644
index aa8349e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         id="org.eclipse.equinox.p2.ui.admin.rcp.application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.internal.p2.ui.admin.rcp.Application">
-         </run>
-      </application>
-   </extension>
-      <extension
-         point="org.eclipse.core.runtime.products"
-         id="product">
-      <product
-            name="%productName"
-            application="org.eclipse.equinox.p2.ui.admin.rcp.application">
-         <property
-               name="appName"
-               value="%productName"/>
-         <property
-               name="aboutText"
-               value="%aboutText"/>
-         <property
-               name="windowImages"
-               value="platform:/plugin/org.eclipse.equinox.p2.ui.admin/icons/provision.gif"/>
-               
-    </product>
-    </extension>
-    
-       <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.Progress"
-            icon="$nl$/icons/pview.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.progress.ProgressView"
-            id="org.eclipse.ui.views.ProgressView">
-      </view>
-    </extension>
-    
-         <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            class="org.eclipse.equinox.internal.p2.ui.admin.rcp.ProvisioningRCPPerspective"
-            id="org.eclipse.equinox.p2.ui.admin.rcp.ProvisioningRCPPerspective">
-      </perspective>
-   </extension>
-   
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
deleted file mode 100644
index 939a62e..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/plugin_customization.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = false
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
deleted file mode 100644
index ae8cfb4..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="%productName" id="org.eclipse.equinox.p2.ui.admin.rcp.product" application="org.eclipse.equinox.p2.ui.admin.rcp.application" version="1.0.100.@qualifier@" useFeatures="false" includeLaunchers="true">
-
-   <aboutInfo>
-      <text>
-         %aboutText
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-      <linux>/org.eclipse.equinox.p2.ui.admin.rcp/config.ini</linux>
-      <macosx>/org.eclipse.equinox.p2.ui.admin.rcp/config.ini</macosx>
-      <solaris>/org.eclipse.equinox.p2.ui.admin.rcp/config.ini</solaris>
-      <win32>/org.eclipse.equinox.p2.ui.admin.rcp/config.ini</win32>
-   </configIni>
-
-   <launcherArgs>
-      <vmArgs>-Xms40m
--Xmx256m</vmArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Xms40m -Xmx256m</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="/org.eclipse.equinox.p2.ui.admin/icons/provision.gif"/>
-
-   <launcher name="eclipse">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <license>
-        <url>http://www.opensource.org/licenses/eclipse-1.0.txt</url>
-        <text>
-   ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT
-March 17, 2005
-
-Usage Of Content
-
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW, THEN YOU MAY NOT USE THE CONTENT.
-
-Applicable Licenses
-
-Unless otherwise indicated, all Content made available by the Eclipse Foundation
-is provided to you under the terms and conditions of the Eclipse Public
-License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.
-
-Content includes, but is not limited to, source code, object code,
-documentation and other files maintained in the Eclipse.org CVS
-repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available
-as downloadable archives (&quot;Downloads&quot;).
-
-   - Content may be structured and packaged into modules to facilitate delivering,
-     extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),
-     plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)
-     in a directory named &quot;plugins&quot;.
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
-     Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.
-     Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version
-     numbers of the Plug-ins and/or Fragments associated with that Feature.
-   - Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files
-     named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.
-
-Features may also include other Features (&quot;Included Features&quot;). Files named
-&quot;feature.xml&quot; may contain a list of the names and version numbers of
-Included Features.
-
-The terms and conditions governing Plug-ins and Fragments should be
-contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and
-conditions governing Features and Included Features should be contained
-in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature
-Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:
-
-   - The top-level (root) directory
-   - Plug-in and Fragment directories
-   - Inside Plug-ins and Fragments packaged as JARs
-   - Sub-directories of the directory named &quot;src&quot; of certain Plug-ins
-   - Feature directories
-
-Note: if a Feature made available by the Eclipse Foundation is installed using the
-Eclipse Update Manager, you must agree to a license (&quot;Feature Update
-License&quot;) during the installation process. If the Feature contains
-Included Features, the Feature Update License should either provide you
-with the terms and conditions governing the Included Features or inform
-you where you can locate them. Feature Update Licenses may be found in
-the &quot;license&quot; property of files named &quot;feature.properties&quot;. Such Abouts,
-Feature Licenses and Feature Update Licenses contain the terms and
-conditions (or references to such terms and conditions) that govern your
-use of the associated Content in that directory.
-
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
-
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
-
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License
-is provided, please contact the Eclipse Foundation to determine what terms and conditions
-govern that particular Content.
-
-Cryptography
-
-Content may contain encryption software. The country in which you are
-currently may have restrictions on the import, possession, and use,
-and/or re-export to another country, of encryption software. BEFORE
-using any encryption software, please check the country&apos;s laws,
-regulations and policies concerning the import, possession, or use,
-and re-export of encryption software, to see if this is permitted.
-
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
-         </text>
-   </license>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.net"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.launcher"/>
-      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.console"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.director.app"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.repository.tools"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
-      <plugin id="org.eclipse.equinox.p2.ui"/>
-      <plugin id="org.eclipse.equinox.p2.ui.admin"/>
-      <plugin id="org.eclipse.equinox.p2.ui.admin.rcp"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.net"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/splash.bmp b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/splash.bmp
deleted file mode 100644
index 4aed637..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
deleted file mode 100644
index 05fb82d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.ui.admin.rcp"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	public Activator() {
-		// contstructor
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		super.start(bundleContext);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		plugin = null;
-		super.stop(bundleContext);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
deleted file mode 100644
index 901a884..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/Application.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART)
-				return IApplication.EXIT_RESTART;
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 2612358..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-	IAction prefsAction, aboutAction, quitAction;
-
-	public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-		super(configurer);
-	}
-
-	protected void makeActions(IWorkbenchWindow window) {
-		quitAction = ActionFactory.QUIT.create(window);
-		prefsAction = ActionFactory.PREFERENCES.create(window);
-		aboutAction = ActionFactory.ABOUT.create(window);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		IMenuManager fileMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_FileMenuName, "file"); //$NON-NLS-1$
-		menuBar.add(fileMenu);
-		fileMenu.add(quitAction);
-
-		IMenuManager windowMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_WindowMenuName, "window"); //$NON-NLS-1$
-		menuBar.add(windowMenu);
-		windowMenu.add(prefsAction);
-
-		IMenuManager helpMenu = new MenuManager(ProvAdminUIMessages.ApplicationActionBarAdvisor_HelpMenuName, "help"); //$NON-NLS-1$
-		menuBar.add(helpMenu);
-		helpMenu.add(aboutAction);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index dc31db1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.ui.application.*;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-		return new ApplicationWorkbenchWindowAdvisor(configurer);
-	}
-
-	public String getInitialWindowPerspectiveId() {
-		return "org.eclipse.equinox.p2.ui.admin.rcp.ProvisioningRCPPerspective"; //$NON-NLS-1$
-	}
-
-	public void initialize(IWorkbenchConfigurer configurer) {
-		configurer.setSaveAndRestore(true);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 14d2236..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.*;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-	public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-		super(configurer);
-	}
-
-	public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-		return new ApplicationActionBarAdvisor(configurer);
-	}
-
-	public void preWindowOpen() {
-		IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-		// The workbench progress manager won't get initialized until I refer to it.
-		// See https://bugs.eclipse.org/bugs/show_bug.cgi?id=208963
-		PlatformUI.getWorkbench().getProgressService();
-		configurer.setInitialSize(new Point(800, 600));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(true);
-		configurer.setShowProgressIndicator(true);
-		configurer.setTitle(ProvAdminUIMessages.ApplicationWindowTitle);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
deleted file mode 100644
index c64438c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvAdminUIMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.  
- * 
- * @since 3.4
- */
-public class ProvAdminUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.admin.rcp.messages"; //$NON-NLS-1$
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ProvAdminUIMessages.class);
-	}
-	public static String ApplicationActionBarAdvisor_FileMenuName;
-	public static String ApplicationActionBarAdvisor_HelpMenuName;
-	public static String ApplicationActionBarAdvisor_WindowMenuName;
-	public static String ApplicationWindowTitle;
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
deleted file mode 100644
index 0a2e0cb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/ProvisioningRCPPerspective.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.admin.rcp;
-
-import org.eclipse.ui.*;
-
-/**
- * Perspective which makes the standard provisioning views available.
- * 
- * @since 3.4
- * 
- */
-public class ProvisioningRCPPerspective implements IPerspectiveFactory {
-
-	private IPageLayout factory;
-	private static final String METADATA_REPOSITORIES = "org.eclipse.p2.ui.admin.MetadataRepositoriesView"; //$NON-NLS-1$
-	private static final String ARTIFACT_REPOSITORIES = "org.eclipse.p2.ui.admin.ArtifactRepositoriesView"; //$NON-NLS-1$
-	private static final String PROFILES = "org.eclipse.p2.ui.admin.ProfilesView"; //$NON-NLS-1$
-
-	public ProvisioningRCPPerspective() {
-		super();
-	}
-
-	public void createInitialLayout(IPageLayout layout) {
-		this.factory = layout;
-		addViews();
-	}
-
-	private void addViews() {
-		IFolderLayout top = factory.createFolder("top", //$NON-NLS-1$
-				IPageLayout.TOP, 0.5f, factory.getEditorArea());
-		top.addView(METADATA_REPOSITORIES);
-		factory.getViewLayout(METADATA_REPOSITORIES).setCloseable(false);
-		top.addView(ARTIFACT_REPOSITORIES);
-		factory.getViewLayout(ARTIFACT_REPOSITORIES).setCloseable(false);
-		factory.addView(PROFILES, IPageLayout.BOTTOM, 0.65f, "top"); //$NON-NLS-1$
-		factory.getViewLayout(PROFILES).setCloseable(false);
-		factory.setEditorAreaVisible(false);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties b/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
deleted file mode 100644
index e5decd1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.admin.rcp/src/org/eclipse/equinox/internal/p2/ui/admin/rcp/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ApplicationWindowTitle=Eclipse Provisioning
-ApplicationActionBarAdvisor_FileMenuName=&File
-ApplicationActionBarAdvisor_WindowMenuName=&Window
-ApplicationActionBarAdvisor_HelpMenuName=&Help
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.classpath b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.cvsignore b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project
deleted file mode 100644
index 4f60938..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.ui.sdk.scheduler</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a4650cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Tue Sep 18 21:25:49 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 2ee161f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:31 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF
deleted file mode 100644
index c23af75..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk.scheduler;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdatePlugin
-Import-Package: com.ibm.icu.util;version="4.0.1",
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.engine,
- org.eclipse.equinox.internal.p2.engine.phases,
- org.eclipse.equinox.internal.p2.ui.actions,
- org.eclipse.equinox.internal.p2.ui.query,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.internal.provisional.p2.updatechecker,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.operations,
- org.eclipse.equinox.p2.ui,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0"
-Export-Package: org.eclipse.equinox.internal.p2.ui.sdk.scheduler;x-internal:=true
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.updatechecker,
- org.eclipse.equinox.p2.ui
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/about.html b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties
deleted file mode 100644
index 479f2f7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2008 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
-###############################################################################
-bin.includes = plugin.properties,\
-               icons/,\
-               .,\
-               about.html,\
-               META-INF/,\
-               plugin.xml
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close.gif b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close.gif
deleted file mode 100644
index 1aca259..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close_hot.gif b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close_hot.gif
deleted file mode 100644
index d536016..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/close_hot.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update.gif b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update.gif
deleted file mode 100644
index aa84ebe..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update_problems.gif b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update_problems.gif
deleted file mode 100644
index c0cfaca..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/icons/tool/update_problems.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.properties b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.properties
deleted file mode 100644
index 13b5161..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-#
-# Provisioning Automatic Update plugin resources
-#
-providerName = Eclipse.org - Equinox
-bundleName=Equinox Provisioning Platform Automatic Update Support
-IU.general=General Information
-IU.license=License Agreement
-IU.copyright=Copyright
-automaticUpdatesPrefPage = Automatic Updates
-preferenceKeywords.general=automatic update schedule download software install import bundle
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml
deleted file mode 100644
index 3072ef7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   	<extension 
-   		id="preferences" point="org.eclipse.core.runtime.preferences" name="%automaticUpdatesPrefPage">
-		<initializer class="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.PreferenceInitializer"/>
-	</extension>
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup class="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler">
-      </startup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-          <page
-            name="%automaticUpdatesPrefPage"
-            category="org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"
-            class="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdatesPreferencePage"
-            id="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdatesPreferencePage">
-            <keywordReference id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </page>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateMessages.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateMessages.java
deleted file mode 100644
index 18fb531..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateMessages.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.  
- * 
- * @since 3.5
- */
-public class AutomaticUpdateMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.sdk.scheduler.messages"; //$NON-NLS-1$
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, AutomaticUpdateMessages.class);
-	}
-	public static String SchedulerStartup_day;
-	public static String SchedulerStartup_Monday;
-	public static String SchedulerStartup_Tuesday;
-	public static String SchedulerStartup_Wednesday;
-	public static String SchedulerStartup_Thursday;
-	public static String SchedulerStartup_Friday;
-	public static String SchedulerStartup_Saturday;
-	public static String SchedulerStartup_Sunday;
-	public static String SchedulerStartup_1AM;
-	public static String SchedulerStartup_2AM;
-	public static String SchedulerStartup_3AM;
-	public static String SchedulerStartup_4AM;
-	public static String SchedulerStartup_5AM;
-	public static String SchedulerStartup_6AM;
-	public static String SchedulerStartup_7AM;
-	public static String SchedulerStartup_8AM;
-	public static String SchedulerStartup_9AM;
-	public static String SchedulerStartup_10AM;
-	public static String SchedulerStartup_11AM;
-	public static String SchedulerStartup_12PM;
-	public static String SchedulerStartup_1PM;
-	public static String SchedulerStartup_2PM;
-	public static String SchedulerStartup_3PM;
-	public static String SchedulerStartup_4PM;
-	public static String SchedulerStartup_5PM;
-	public static String SchedulerStartup_6PM;
-	public static String SchedulerStartup_7PM;
-	public static String SchedulerStartup_8PM;
-	public static String SchedulerStartup_9PM;
-	public static String SchedulerStartup_10PM;
-	public static String SchedulerStartup_11PM;
-	public static String SchedulerStartup_12AM;
-	public static String AutomaticUpdatesPopup_PrefLinkOnly;
-	public static String AutomaticUpdatesPopup_RemindAndPrefLink;
-	public static String AutomaticUpdatesPopup_ReminderJobTitle;
-	public static String AutomaticUpdatesPreferencePage_findUpdates;
-	public static String AutomaticUpdateScheduler_30Minutes;
-	public static String AutomaticUpdateScheduler_60Minutes;
-	public static String AutomaticUpdateScheduler_240Minutes;
-	public static String AutomaticUpdateScheduler_UpdateNotInitialized;
-	public static String AutomaticUpdatesPopup_UpdatesAvailableTitle;
-	public static String AutomaticUpdater_AutomaticDownloadOperationName;
-	public static String AutomaticUpdater_ClickToReviewUpdates;
-	public static String AutomaticUpdater_ClickToReviewUpdatesWithProblems;
-	public static String AutomaticUpdatesPreferencePage_UpdateSchedule;
-	public static String AutomaticUpdatesPreferencePage_findOnStart;
-	public static String AutomaticUpdatesPreferencePage_findOnSchedule;
-	public static String AutomaticUpdatesPreferencePage_downloadOptions;
-	public static String AutomaticUpdatesPreferencePage_searchAndNotify;
-	public static String AutomaticUpdatesPreferencePage_downloadAndNotify;
-	public static String AutomaticUpdatesPreferencePage_at;
-	public static String AutomaticUpdatesPreferencePage_RemindGroup;
-	public static String AutomaticUpdatesPreferencePage_RemindSchedule;
-	public static String AutomaticUpdatesPreferencePage_RemindOnce;
-	public static String AutomaticUpdatesPopup_ClickToReviewDownloaded;
-	public static String AutomaticUpdatesPopup_ClickToReviewNotDownloaded;
-	public static String ErrorSavingPreferences;
-	public static String ErrorSavingClassicPreferences;
-	public static String ErrorLoadingPreferenceKeys;
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatePlugin.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatePlugin.java
deleted file mode 100644
index d7b7abf..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatePlugin.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.ProfileScope;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Activator class for the automatic updates plugin
- */
-public class AutomaticUpdatePlugin extends AbstractUIPlugin {
-
-	// bundle-relative icon path
-	public final static String ICON_PATH = "$nl$/icons/"; //$NON-NLS-1$
-
-	// tool icons
-	public final static String IMG_TOOL_UPDATE = "tool/update.gif"; //$NON-NLS-1$
-	public final static String IMG_TOOL_UPDATE_PROBLEMS = "tool/update_problems.gif"; //$NON-NLS-1$
-	public final static String IMG_TOOL_CLOSE = "tool/close.gif"; //$NON-NLS-1$
-	public final static String IMG_TOOL_CLOSE_HOT = "tool/close_hot.gif"; //$NON-NLS-1$
-
-	private static AutomaticUpdatePlugin plugin;
-	private static BundleContext context;
-	private static PackageAdmin packageAdmin = null;
-	private static ServiceReference packageAdminRef = null;
-
-	private AutomaticUpdateScheduler scheduler;
-	private AutomaticUpdater updater;
-	private ScopedPreferenceStore preferenceStore;
-
-	private ProvisioningSession session;
-
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.ui.sdk.scheduler"; //$NON-NLS-1$
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public static Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		// Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the singleton plugin instance
-	 * 
-	 * @return the instance
-	 */
-	public static AutomaticUpdatePlugin getDefault() {
-		return plugin;
-	}
-
-	public AutomaticUpdatePlugin() {
-		// constructor
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
-	 * )
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		super.start(bundleContext);
-		plugin = this;
-		context = bundleContext;
-		packageAdminRef = bundleContext.getServiceReference(PackageAdmin.class.getName());
-		packageAdmin = (PackageAdmin) bundleContext.getService(packageAdminRef);
-
-		// TODO for now we need to manually start up the provisioning
-		// infrastructure and the update checker, because the Eclipse
-		// Application launch config won't let me specify bundles to start.
-		// TODO how should we react if we are unable to start one of these bundles?
-		startEarly("org.eclipse.equinox.p2.exemplarysetup"); //$NON-NLS-1$
-		startEarly("org.eclipse.equinox.p2.updatechecker"); //$NON-NLS-1$
-
-		IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(getContext(), IProvisioningAgent.class.getName());
-		session = new ProvisioningSession(agent);
-
-		PreferenceInitializer.migratePreferences();
-	}
-
-	private boolean startEarly(String bundleName) throws BundleException {
-		Bundle bundle = getBundle(bundleName);
-		if (bundle == null)
-			return false;
-		bundle.start(Bundle.START_TRANSIENT);
-		return true;
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		if (scheduler != null) {
-			scheduler.shutdown();
-			scheduler = null;
-		}
-		if (updater != null) {
-			updater.shutdown();
-			updater = null;
-		}
-		packageAdmin = null;
-		packageAdminRef = null;
-		plugin = null;
-		super.stop(bundleContext);
-		context = null;
-	}
-
-	public AutomaticUpdateScheduler getScheduler() {
-		// If the scheduler was disabled, it does not get initialized
-		if (scheduler == null)
-			scheduler = new AutomaticUpdateScheduler();
-		return scheduler;
-	}
-
-	public AutomaticUpdater getAutomaticUpdater() {
-		if (updater == null)
-			updater = new AutomaticUpdater();
-		return updater;
-	}
-
-	void setScheduler(AutomaticUpdateScheduler scheduler) {
-		this.scheduler = scheduler;
-	}
-
-	public IProvisioningEventBus getProvisioningEventBus() {
-		ServiceReference busReference = context.getServiceReference(IProvisioningEventBus.SERVICE_NAME);
-		if (busReference == null)
-			return null;
-		return (IProvisioningEventBus) context.getService(busReference);
-	}
-
-	/*
-	 * Overridden to use a profile scoped preference store. (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#getPreferenceStore()
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		// Create the preference store lazily.
-		if (preferenceStore == null) {
-			preferenceStore = new ScopedPreferenceStore(new ProfileScope(IProfileRegistry.SELF), PLUGIN_ID);
-		}
-		return preferenceStore;
-	}
-
-	public void savePreferences() {
-		if (preferenceStore != null)
-			try {
-				preferenceStore.save();
-			} catch (IOException e) {
-				StatusManager.getManager().handle(new Status(IStatus.ERROR, AutomaticUpdatePlugin.PLUGIN_ID, 0, AutomaticUpdateMessages.ErrorSavingPreferences, e), StatusManager.LOG | StatusManager.SHOW);
-			}
-	}
-
-	protected void initializeImageRegistry(ImageRegistry reg) {
-		createImageDescriptor(IMG_TOOL_UPDATE, reg);
-		createImageDescriptor(IMG_TOOL_UPDATE_PROBLEMS, reg);
-		createImageDescriptor(IMG_TOOL_CLOSE, reg);
-		createImageDescriptor(IMG_TOOL_CLOSE_HOT, reg);
-	}
-
-	/**
-	 * Creates the specified image descriptor and registers it
-	 */
-	private void createImageDescriptor(String id, ImageRegistry reg) {
-		URL url = FileLocator.find(getBundle(), new Path(ICON_PATH + id), null);
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		reg.put(id, desc);
-	}
-
-	public ProvisioningSession getSession() {
-		return session;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateScheduler.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateScheduler.java
deleted file mode 100644
index a39cc27..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateScheduler.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import com.ibm.icu.util.Calendar;
-import com.ibm.icu.util.ULocale;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.IUPropertyQuery;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.*;
-import org.eclipse.equinox.p2.engine.IProfile;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * This plug-in is loaded on startup to register with the update checker.
- * 
- * @since 3.5
- */
-public class AutomaticUpdateScheduler implements IStartup {
-	// values are to be picked up from the arrays DAYS and HOURS
-	public static final String P_DAY = "day"; //$NON-NLS-1$
-
-	public static final String P_HOUR = "hour"; //$NON-NLS-1$
-
-	public static final String[] DAYS;
-
-	public static final String[] HOURS = {AutomaticUpdateMessages.SchedulerStartup_1AM, AutomaticUpdateMessages.SchedulerStartup_2AM, AutomaticUpdateMessages.SchedulerStartup_3AM, AutomaticUpdateMessages.SchedulerStartup_4AM, AutomaticUpdateMessages.SchedulerStartup_5AM, AutomaticUpdateMessages.SchedulerStartup_6AM, AutomaticUpdateMessages.SchedulerStartup_7AM, AutomaticUpdateMessages.SchedulerStartup_8AM, AutomaticUpdateMessages.SchedulerStartup_9AM, AutomaticUpdateMessages.SchedulerStartup_10AM, AutomaticUpdateMessages.SchedulerStartup_11AM, AutomaticUpdateMessages.SchedulerStartup_12PM, AutomaticUpdateMessages.SchedulerStartup_1PM, AutomaticUpdateMessages.SchedulerStartup_2PM, AutomaticUpdateMessages.SchedulerStartup_3PM, AutomaticUpdateMessages.SchedulerStartup_4PM,
-			AutomaticUpdateMessages.SchedulerStartup_5PM, AutomaticUpdateMessages.SchedulerStartup_6PM, AutomaticUpdateMessages.SchedulerStartup_7PM, AutomaticUpdateMessages.SchedulerStartup_8PM, AutomaticUpdateMessages.SchedulerStartup_9PM, AutomaticUpdateMessages.SchedulerStartup_10PM, AutomaticUpdateMessages.SchedulerStartup_11PM, AutomaticUpdateMessages.SchedulerStartup_12AM,};
-
-	private IUpdateListener listener = null;
-	private IUpdateChecker checker = null;
-	String profileId;
-
-	static {
-		Calendar calendar = Calendar.getInstance(new ULocale(Platform.getNL()));
-		String[] daysAsStrings = {AutomaticUpdateMessages.SchedulerStartup_day, AutomaticUpdateMessages.SchedulerStartup_Sunday, AutomaticUpdateMessages.SchedulerStartup_Monday, AutomaticUpdateMessages.SchedulerStartup_Tuesday, AutomaticUpdateMessages.SchedulerStartup_Wednesday, AutomaticUpdateMessages.SchedulerStartup_Thursday, AutomaticUpdateMessages.SchedulerStartup_Friday, AutomaticUpdateMessages.SchedulerStartup_Saturday};
-		int firstDay = calendar.getFirstDayOfWeek();
-		DAYS = new String[8];
-		DAYS[0] = daysAsStrings[0];
-		int countDays = 0;
-		for (int i = firstDay; i <= 7; i++) {
-			DAYS[++countDays] = daysAsStrings[i];
-		}
-		for (int i = 1; i < firstDay; i++) {
-			DAYS[++countDays] = daysAsStrings[i];
-		}
-	}
-
-	/**
-	 * A query that searches for {@link IInstallableUnit} instances that have
-	 * a property associated with the specified profile, whose value matches the provided value.
-	 * Uses the profile id instead of the profile to reference the profile.
-	 * The profile instance is cached only during the duration of the query.
-	 * This query is used instead of IUProfilePropertyQuery because we pass
-	 * this query to the automatic update checker and it will be referenced during
-	 * the life of the platform.  
-	 */
-	private class IUProfilePropertyByIdQuery extends IUPropertyQuery {
-		private IProfile cachedProfile;
-
-		/**
-		 * Creates a new query on the given property name and value.
-		 */
-		public IUProfilePropertyByIdQuery(String propertyName, String propertyValue) {
-			super(propertyName, propertyValue);
-		}
-
-		protected String getProperty(IInstallableUnit iu, String name) {
-			IProfile profile = getProfile();
-			if (profile == null)
-				return null;
-			return profile.getInstallableUnitProperty(iu, name);
-		}
-
-		private IProfile getProfile() {
-			if (cachedProfile == null) {
-				IProfileRegistry profileRegistry = (IProfileRegistry) ServiceHelper.getService(AutomaticUpdatePlugin.getContext(), IProfileRegistry.SERVICE_NAME);
-				if (profileRegistry != null)
-					cachedProfile = profileRegistry.getProfile(profileId);
-			}
-			return cachedProfile;
-		}
-
-		// overridden to release profile cache
-		public void postPerform() {
-			cachedProfile = null;
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public AutomaticUpdateScheduler() {
-		AutomaticUpdatePlugin.getDefault().setScheduler(this);
-		checker = (IUpdateChecker) ServiceHelper.getService(AutomaticUpdatePlugin.getContext(), IUpdateChecker.SERVICE_NAME);
-		if (checker == null) {
-			// Something did not initialize properly
-			IStatus status = new Status(IStatus.ERROR, AutomaticUpdatePlugin.PLUGIN_ID, AutomaticUpdateMessages.AutomaticUpdateScheduler_UpdateNotInitialized);
-			StatusManager.getManager().handle(status, StatusManager.LOG);
-			return;
-		}
-		profileId = IProfileRegistry.SELF;
-	}
-
-	public void earlyStartup() {
-		scheduleUpdate();
-	}
-
-	public void shutdown() {
-		removeUpdateListener();
-	}
-
-	public void rescheduleUpdate() {
-		removeUpdateListener();
-		IPreferenceStore pref = AutomaticUpdatePlugin.getDefault().getPreferenceStore();
-		String schedule = pref.getString(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE);
-		// See if we have a scheduled check or startup only.  If it is
-		// startup only, there is nothing more to do now, a listener will
-		// be created on the next startup.
-		if (schedule.equals(PreferenceConstants.PREF_UPDATE_ON_STARTUP)) {
-			return;
-		}
-		scheduleUpdate();
-	}
-
-	private void scheduleUpdate() {
-		// Nothing to do if we don't know what profile we are checking
-		if (profileId == null)
-			return;
-		IPreferenceStore pref = AutomaticUpdatePlugin.getDefault().getPreferenceStore();
-		// See if automatic search is enabled at all
-		if (!pref.getBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED))
-			return;
-		String schedule = pref.getString(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE);
-		long delay = IUpdateChecker.ONE_TIME_CHECK;
-		long poll = IUpdateChecker.ONE_TIME_CHECK;
-		if (!schedule.equals(PreferenceConstants.PREF_UPDATE_ON_STARTUP)) {
-			delay = computeDelay(pref);
-			poll = computePoll(pref);
-		}
-		// We do not access the AutomaticUpdater directly when we register 
-		// the listener. This prevents the UI classes from being started up
-		// too soon.
-		// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=227582
-		listener = new IUpdateListener() {
-			public void updatesAvailable(UpdateEvent event) {
-				AutomaticUpdatePlugin.getDefault().getAutomaticUpdater().updatesAvailable(event);
-			}
-
-		};
-		checker.addUpdateCheck(profileId, getProfileQuery(), delay, poll, listener);
-
-	}
-
-	private IQuery getProfileQuery() {
-		// We specifically avoid using the default policy's root property so that we don't load all the
-		// p2 UI classes in doing so.  
-		return new IUProfilePropertyByIdQuery(IProfile.PROP_PROFILE_ROOT_IU, Boolean.toString(true));
-	}
-
-	private int getDay(IPreferenceStore pref) {
-		String day = pref.getString(P_DAY);
-		for (int d = 0; d < DAYS.length; d++)
-			if (DAYS[d].equals(day))
-				switch (d) {
-					case 0 :
-						return -1;
-					case 1 :
-						return Calendar.MONDAY;
-					case 2 :
-						return Calendar.TUESDAY;
-					case 3 :
-						return Calendar.WEDNESDAY;
-					case 4 :
-						return Calendar.THURSDAY;
-					case 5 :
-						return Calendar.FRIDAY;
-					case 6 :
-						return Calendar.SATURDAY;
-					case 7 :
-						return Calendar.SUNDAY;
-				}
-		return -1;
-	}
-
-	private int getHour(IPreferenceStore pref) {
-		String hour = pref.getString(P_HOUR);
-		for (int h = 0; h < HOURS.length; h++)
-			if (HOURS[h].equals(hour))
-				return h + 1;
-		return 1;
-	}
-
-	/*
-	 * Computes the number of milliseconds from this moment to the next
-	 * scheduled update check. If that moment has already passed, returns 0L (start
-	 * immediately).
-	 */
-	private long computeDelay(IPreferenceStore pref) {
-
-		int target_d = getDay(pref);
-		int target_h = getHour(pref);
-
-		Calendar calendar = Calendar.getInstance();
-		// may need to use the BootLoader locale
-		int current_d = calendar.get(Calendar.DAY_OF_WEEK);
-		// starts with SUNDAY
-		int current_h = calendar.get(Calendar.HOUR_OF_DAY);
-		int current_m = calendar.get(Calendar.MINUTE);
-		int current_s = calendar.get(Calendar.SECOND);
-		int current_ms = calendar.get(Calendar.MILLISECOND);
-
-		long delay = 0L; // milliseconds
-
-		if (target_d == -1) {
-			// Compute the delay for "every day at x o'clock"
-			// Is it now ?
-			if (target_h == current_h && current_m == 0 && current_s == 0)
-				return delay;
-
-			int delta_h = target_h - current_h;
-			if (target_h <= current_h)
-				delta_h += 24;
-			delay = ((delta_h * 60 - current_m) * 60 - current_s) * 1000 - current_ms;
-			return delay;
-		}
-		// Compute the delay for "every Xday at x o'clock"
-		// Is it now ?
-		if (target_d == current_d && target_h == current_h && current_m == 0 && current_s == 0)
-			return delay;
-
-		int delta_d = target_d - current_d;
-		if (target_d < current_d || target_d == current_d && (target_h < current_h || target_h == current_h && current_m > 0))
-			delta_d += 7;
-
-		delay = (((delta_d * 24 + target_h - current_h) * 60 - current_m) * 60 - current_s) * 1000 - current_ms;
-		return delay;
-	}
-
-	/*
-	 * Computes the number of milliseconds for the polling frequency.
-	 * We have already established that there is a schedule, vs. only
-	 * on startup.
-	 */
-	private long computePoll(IPreferenceStore pref) {
-
-		int target_d = getDay(pref);
-		if (target_d == -1) {
-			// Every 24 hours
-			return 24 * 60 * 60 * 1000;
-		}
-		return 7 * 24 * 60 * 60 * 1000;
-	}
-
-	private void removeUpdateListener() {
-		// Remove the current listener if there is one
-		if (listener != null && checker != null) {
-			checker.removeUpdateCheck(listener);
-			listener = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdater.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdater.java
deleted file mode 100644
index de1e4d3..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdater.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.EventObject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.ProvisioningListener;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.UpdateEvent;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.operations.*;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * @since 3.5
- */
-public class AutomaticUpdater implements IUpdateListener {
-
-	StatusLineCLabelContribution updateAffordance;
-	IStatusLineManager statusLineManager;
-	IInstallableUnit[] iusWithUpdates;
-	String profileId;
-	ProvisioningListener profileListener;
-	AutomaticUpdatesPopup popup;
-	boolean alreadyDownloaded = false;
-	UpdateOperation operation;
-	private static final String AUTO_UPDATE_STATUS_ITEM = "AutoUpdatesStatus"; //$NON-NLS-1$
-
-	public AutomaticUpdater() {
-		createProfileListener();
-	}
-
-	private void createProfileListener() {
-		profileListener = new ProvisioningListener() {
-			public void notify(EventObject o) {
-				if (o instanceof ProfileEvent) {
-					ProfileEvent event = (ProfileEvent) o;
-					if (event.getReason() == ProfileEvent.CHANGED && sameProfile(event.getProfileId())) {
-						triggerNewUpdateNotification();
-					}
-				}
-			}
-		};
-		getProvisioningUI().getSession().getProvisioningEventBus().addListener(profileListener);
-	}
-
-	private boolean sameProfile(String another) {
-		if (another.equals(IProfileRegistry.SELF)) {
-			another = getSession().getProfileRegistry().getProfile(another).getProfileId();
-		}
-		if (profileId.equals(IProfileRegistry.SELF)) {
-			profileId = getSession().getProfileRegistry().getProfile(profileId).getProfileId();
-		}
-		return profileId.equals(another);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener
-	 * #
-	 * updatesAvailable(org.eclipse.equinox.internal.provisional.p2.updatechecker
-	 * .UpdateEvent)
-	 */
-	public void updatesAvailable(final UpdateEvent event) {
-		final boolean download = getPreferenceStore().getBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY);
-		profileId = event.getProfileId();
-		iusWithUpdates = event.getIUs();
-		validateIusToUpdate();
-		alreadyDownloaded = false;
-
-		// Create an update operation to reflect the new updates that are available.
-		operation = new UpdateOperation(getSession(), iusWithUpdates);
-		operation.setProfileId(event.getProfileId());
-		//		operation.setRootMarkerKey(IProfile.PROP_PROFILE_ROOT_IU);
-		IStatus status = operation.resolveModal(new NullProgressMonitor());
-
-		if (!status.isOK() || operation.getPossibleUpdates() == null || operation.getPossibleUpdates().length == 0) {
-			clearUpdatesAvailable();
-			return;
-		}
-		// Download the items before notifying user if the
-		// preference dictates.
-
-		if (download) {
-			ProfileModificationJob job = new ProfileModificationJob(AutomaticUpdateMessages.AutomaticUpdater_AutomaticDownloadOperationName, getSession(), event.getProfileId(), operation.getProvisioningPlan(), new ProvisioningContext());
-			job.setPhaseSet(new DownloadPhaseSet());
-			job.setUser(false);
-			job.setSystem(true);
-			job.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent jobEvent) {
-					IStatus jobStatus = jobEvent.getResult();
-					if (jobStatus.isOK()) {
-						alreadyDownloaded = true;
-						PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-							public void run() {
-								setUpdateAffordanceState(operation.getResolutionResult().isOK());
-							}
-						});
-					} else if (jobStatus.getSeverity() != IStatus.CANCEL) {
-						StatusManager.getManager().handle(jobStatus, StatusManager.LOG);
-					}
-				}
-			});
-			job.schedule();
-		} else {
-			PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					setUpdateAffordanceState(operation.getResolutionResult().isOK());
-				}
-			});
-		}
-
-	}
-
-	ProvisioningSession getSession() {
-		return AutomaticUpdatePlugin.getDefault().getSession();
-	}
-
-	/*
-	 * Use with caution, as this still start the whole UI bundle.  Shouldn't be used
-	 * in any of the update checking code, only the code that presents updates when notified.
-	 */
-	ProvisioningUI getProvisioningUI() {
-		return ProvisioningUI.getDefaultUI();
-	}
-
-	/*
-	 * Filter out the ius that aren't visible to the user or are
-	 * locked for updating.
-	 */
-
-	void validateIusToUpdate() {
-		ArrayList list = new ArrayList();
-		IProfile profile = getSession().getProfileRegistry().getProfile(profileId);
-
-		for (int i = 0; i < iusWithUpdates.length; i++) {
-			try {
-				if (validToUpdate(profile, iusWithUpdates[i]))
-					list.add(iusWithUpdates[i]);
-			} catch (OperationCanceledException e) {
-				// Nothing to report
-			}
-		}
-		iusWithUpdates = (IInstallableUnit[]) list.toArray(new IInstallableUnit[list.size()]);
-	}
-
-	// A proposed update is valid if it is still visible to the user as an
-	// installed item (it is a root)
-	// and if it is not locked for updating.
-	private boolean validToUpdate(IProfile profile, IInstallableUnit iu) {
-		int lock = IProfile.LOCK_NONE;
-		boolean isRoot = false;
-		try {
-			String value = profile.getInstallableUnitProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU);
-			if (value != null)
-				lock = Integer.parseInt(value);
-			value = profile.getInstallableUnitProperty(iu, IProfile.PROP_PROFILE_ROOT_IU);
-			isRoot = value == null ? false : Boolean.valueOf(value).booleanValue();
-		} catch (NumberFormatException e) {
-			// ignore and assume no lock
-		}
-		return isRoot && (lock & IProfile.LOCK_UPDATE) == 0;
-	}
-
-	Shell getWorkbenchWindowShell() {
-		IWorkbenchWindow activeWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		return activeWindow != null ? activeWindow.getShell() : null;
-
-	}
-
-	IStatusLineManager getStatusLineManager() {
-		if (statusLineManager != null)
-			return statusLineManager;
-		IWorkbenchWindow activeWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (activeWindow == null)
-			return null;
-		// YUCK! YUCK! YUCK!
-		// IWorkbenchWindow does not define getStatusLineManager(), yet
-		// WorkbenchWindow does
-		try {
-			Method method = activeWindow.getClass().getDeclaredMethod("getStatusLineManager", new Class[0]); //$NON-NLS-1$
-			try {
-				Object statusLine = method.invoke(activeWindow, new Object[0]);
-				if (statusLine instanceof IStatusLineManager) {
-					statusLineManager = (IStatusLineManager) statusLine;
-					return statusLineManager;
-				}
-			} catch (InvocationTargetException e) {
-				// oh well
-			} catch (IllegalAccessException e) {
-				// I tried
-			}
-		} catch (NoSuchMethodException e) {
-			// can't blame us for trying.
-		}
-
-		IWorkbenchPartSite site = activeWindow.getActivePage().getActivePart().getSite();
-		if (site instanceof IViewSite) {
-			statusLineManager = ((IViewSite) site).getActionBars().getStatusLineManager();
-		} else if (site instanceof IEditorSite) {
-			statusLineManager = ((IEditorSite) site).getActionBars().getStatusLineManager();
-		}
-		return statusLineManager;
-	}
-
-	void updateStatusLine() {
-		IStatusLineManager manager = getStatusLineManager();
-		if (manager != null)
-			manager.update(true);
-	}
-
-	void createUpdateAffordance() {
-		updateAffordance = new StatusLineCLabelContribution(AUTO_UPDATE_STATUS_ITEM, 5);
-		updateAffordance.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event event) {
-				launchUpdate();
-			}
-		});
-		IStatusLineManager manager = getStatusLineManager();
-		if (manager != null) {
-			manager.add(updateAffordance);
-			manager.update(true);
-		}
-	}
-
-	void setUpdateAffordanceState(boolean isValid) {
-		if (updateAffordance == null)
-			return;
-		if (isValid) {
-			updateAffordance.setTooltip(AutomaticUpdateMessages.AutomaticUpdater_ClickToReviewUpdates);
-			updateAffordance.setImage(AutomaticUpdatePlugin.getDefault().getImageRegistry().get((AutomaticUpdatePlugin.IMG_TOOL_UPDATE)));
-		} else {
-			updateAffordance.setTooltip(AutomaticUpdateMessages.AutomaticUpdater_ClickToReviewUpdatesWithProblems);
-			updateAffordance.setImage(AutomaticUpdatePlugin.getDefault().getImageRegistry().get((AutomaticUpdatePlugin.IMG_TOOL_UPDATE_PROBLEMS)));
-		}
-		IStatusLineManager manager = getStatusLineManager();
-		if (manager != null) {
-			manager.update(true);
-		}
-	}
-
-	void checkUpdateAffordanceEnablement() {
-		// We don't currently support enablement in the affordance,
-		// so we hide it if it should not be enabled.
-		if (updateAffordance == null)
-			return;
-		boolean shouldBeVisible = getProvisioningUI().hasScheduledOperations();
-		if (updateAffordance.isVisible() != shouldBeVisible) {
-			IStatusLineManager manager = getStatusLineManager();
-			if (manager != null) {
-				updateAffordance.setVisible(shouldBeVisible);
-				manager.update(true);
-			}
-		}
-	}
-
-	void createUpdatePopup() {
-		popup = new AutomaticUpdatesPopup(getWorkbenchWindowShell(), alreadyDownloaded, getPreferenceStore());
-		popup.open();
-
-	}
-
-	void clearUpdatesAvailable() {
-		if (updateAffordance != null) {
-			IStatusLineManager manager = getStatusLineManager();
-			if (manager != null) {
-				manager.remove(updateAffordance);
-				manager.update(true);
-			}
-			updateAffordance.dispose();
-			updateAffordance = null;
-		}
-		if (popup != null) {
-			popup.close(false);
-			popup = null;
-		}
-	}
-
-	public void launchUpdate() {
-		getProvisioningUI().openUpdateWizard(getProvisioningUI().getDefaultParentShell(), true, operation, null);
-	}
-
-	/*
-	 * The profile has changed. Make sure our toUpdate list is still valid and
-	 * if there is nothing to update, get rid of the update popup and
-	 * affordance.
-	 */
-	void triggerNewUpdateNotification() {
-		Job notifyJob = new Job("Update validate job") { //$NON-NLS-1$
-			public IStatus run(IProgressMonitor monitor) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				// notify that updates are available for all roots.  We don't know for sure that
-				// there are any, but this will cause everything to be rechecked
-				updatesAvailable(new UpdateEvent(profileId, getSession().getInstalledIUs(profileId, false)));
-				return Status.OK_STATUS;
-			}
-		};
-		notifyJob.setSystem(true);
-		notifyJob.setUser(false);
-		notifyJob.setPriority(Job.LONG);
-		notifyJob.schedule();
-	}
-
-	public void shutdown() {
-		statusLineManager = null;
-		if (profileListener != null) {
-			getSession().getProvisioningEventBus().removeListener(profileListener);
-			profileListener = null;
-		}
-	}
-
-	IPreferenceStore getPreferenceStore() {
-		return AutomaticUpdatePlugin.getDefault().getPreferenceStore();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPopup.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPopup.java
deleted file mode 100644
index af7b276..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPopup.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.PopupDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * AutomaticUpdatesPopup is an async popup dialog for notifying
- * the user of updates.
- * 
- * @since 3.4
- */
-public class AutomaticUpdatesPopup extends PopupDialog {
-	public static final String[] ELAPSED = {AutomaticUpdateMessages.AutomaticUpdateScheduler_30Minutes, AutomaticUpdateMessages.AutomaticUpdateScheduler_60Minutes, AutomaticUpdateMessages.AutomaticUpdateScheduler_240Minutes};
-	private static final long MINUTE = 60 * 1000L;
-	private static final String PREFS_HREF = "PREFS"; //$NON-NLS-1$
-	private static final String DIALOG_SETTINGS_SECTION = "AutomaticUpdatesPopup"; //$NON-NLS-1$
-	private static final int POPUP_OFFSET = 20;
-
-	IPreferenceStore prefs;
-	long remindDelay = -1L;
-	IPropertyChangeListener prefListener;
-	WorkbenchJob remindJob;
-	boolean downloaded;
-	Composite dialogArea;
-	Link remindLink;
-	MouseListener clickListener;
-
-	public AutomaticUpdatesPopup(Shell parentShell, boolean alreadyDownloaded, IPreferenceStore prefs) {
-		super(parentShell, PopupDialog.INFOPOPUPRESIZE_SHELLSTYLE | SWT.MODELESS, false, true, true, false, false, AutomaticUpdateMessages.AutomaticUpdatesPopup_UpdatesAvailableTitle, null);
-		downloaded = alreadyDownloaded;
-		this.prefs = prefs;
-		remindDelay = computeRemindDelay();
-		clickListener = new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				AutomaticUpdatePlugin.getDefault().getAutomaticUpdater().launchUpdate();
-			}
-		};
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		dialogArea = new Composite(parent, SWT.NONE);
-		dialogArea.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		dialogArea.setLayout(layout);
-		dialogArea.addMouseListener(clickListener);
-
-		// The "click to update" label
-		Label infoLabel = new Label(dialogArea, SWT.NONE);
-		if (downloaded)
-			infoLabel.setText(AutomaticUpdateMessages.AutomaticUpdatesPopup_ClickToReviewDownloaded);
-		else
-			infoLabel.setText(AutomaticUpdateMessages.AutomaticUpdatesPopup_ClickToReviewNotDownloaded);
-		infoLabel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		infoLabel.addMouseListener(clickListener);
-
-		createRemindSection(dialogArea);
-
-		return dialogArea;
-
-	}
-
-	private void createRemindSection(Composite parent) {
-		remindLink = new Link(parent, SWT.MULTI | SWT.WRAP | SWT.RIGHT);
-		updateRemindText();
-		remindLink.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), PreferenceConstants.PREF_PAGE_AUTO_UPDATES, null, null);
-				dialog.open();
-
-			}
-		});
-		remindLink.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	private void updateRemindText() {
-		if (prefs.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE))
-			remindLink.setText(NLS.bind(AutomaticUpdateMessages.AutomaticUpdatesPopup_RemindAndPrefLink, new String[] {prefs.getString(PreferenceConstants.PREF_REMIND_ELAPSED), PREFS_HREF}));
-		else
-			remindLink.setText(AutomaticUpdateMessages.AutomaticUpdatesPopup_PrefLinkOnly);
-		remindLink.getParent().layout(true);
-	}
-
-	protected IDialogSettings getDialogBoundsSettings() {
-		IDialogSettings settings = AutomaticUpdatePlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(DIALOG_SETTINGS_SECTION);
-		if (section == null) {
-			section = settings.addNewSection(DIALOG_SETTINGS_SECTION);
-		}
-		return section;
-	}
-
-	public int open() {
-		prefListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				handlePreferenceChange(event);
-			}
-		};
-		prefs.addPropertyChangeListener(prefListener);
-		return super.open();
-	}
-
-	public boolean close() {
-		return close(true);
-	}
-
-	public boolean close(boolean remind) {
-		if (remind && prefs.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE))
-			scheduleRemindJob();
-		else
-			cancelRemindJob();
-		if (prefListener != null) {
-			prefs.removePropertyChangeListener(prefListener);
-			prefListener = null;
-		}
-		return super.close();
-
-	}
-
-	void scheduleRemindJob() {
-		// Cancel any pending remind job if there is one
-		if (remindJob != null)
-			remindJob.cancel();
-		// If no updates have been found, there is nothing to remind
-		if (remindDelay < 0)
-			return;
-		remindJob = new WorkbenchJob(AutomaticUpdateMessages.AutomaticUpdatesPopup_ReminderJobTitle) {
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				open();
-				return Status.OK_STATUS;
-			}
-		};
-		remindJob.setSystem(true);
-		remindJob.setPriority(Job.INTERACTIVE);
-		remindJob.schedule(remindDelay);
-
-	}
-
-	/*
-	 * Computes the number of milliseconds for the delay
-	 * in reminding the user of updates
-	 */
-	long computeRemindDelay() {
-		if (prefs.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE)) {
-			String elapsed = prefs.getString(PreferenceConstants.PREF_REMIND_ELAPSED);
-			for (int d = 0; d < ELAPSED.length; d++)
-				if (ELAPSED[d].equals(elapsed))
-					switch (d) {
-						case 0 :
-							// 30 minutes
-							return 30 * MINUTE;
-						case 1 :
-							// 60 minutes
-							return 60 * MINUTE;
-						case 2 :
-							// 240 minutes
-							return 240 * MINUTE;
-					}
-		}
-		return -1L;
-	}
-
-	void cancelRemindJob() {
-		if (remindJob != null) {
-			remindJob.cancel();
-			remindJob = null;
-		}
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(AutomaticUpdateMessages.AutomaticUpdatesPopup_UpdatesAvailableTitle);
-	}
-
-	/**
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Shell parent = getParentShell();
-		Point parentSize, parentLocation;
-
-		if (parent != null) {
-			parentSize = parent.getSize();
-			parentLocation = parent.getLocation();
-		} else {
-			Rectangle bounds = getShell().getDisplay().getBounds();
-			parentSize = new Point(bounds.width, bounds.height);
-			parentLocation = new Point(0, 0);
-		}
-		// We have to take parent location into account because SWT considers all
-		// shell locations to be in display coordinates, even if the shell is parented.
-		return new Point(parentSize.x - initialSize.x + parentLocation.x - POPUP_OFFSET, parentSize.y - initialSize.y + parentLocation.y - POPUP_OFFSET);
-	}
-
-	void handlePreferenceChange(PropertyChangeEvent event) {
-		if (PreferenceConstants.PREF_REMIND_SCHEDULE.equals(event.getProperty())) {
-			// Reminders turned on
-			if (prefs.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE)) {
-				if (remindLink == null)
-					createRemindSection(dialogArea);
-				else {
-					updateRemindText();
-					getShell().layout(true, true);
-				}
-				computeRemindDelay();
-				scheduleRemindJob();
-			} else { // reminders turned off
-				if (remindLink != null) {
-					updateRemindText();
-					getShell().layout(true, true);
-				}
-				cancelRemindJob();
-			}
-		} else if (PreferenceConstants.PREF_REMIND_ELAPSED.equals(event.getProperty())) {
-			// Reminding schedule changed
-			computeRemindDelay();
-			scheduleRemindJob();
-		}
-	}
-
-	/*
-	 * Overridden so that clicking in the title menu area closes the dialog.
-	 * Also creates a close box menu in the title area.
-	 */
-	protected Control createTitleMenuArea(Composite parent) {
-		Composite titleComposite = (Composite) super.createTitleMenuArea(parent);
-		titleComposite.addMouseListener(clickListener);
-
-		ToolBar toolBar = new ToolBar(titleComposite, SWT.FLAT);
-		ToolItem closeButton = new ToolItem(toolBar, SWT.PUSH, 0);
-
-		GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).applyTo(toolBar);
-		closeButton.setImage(AutomaticUpdatePlugin.getDefault().getImageRegistry().get((AutomaticUpdatePlugin.IMG_TOOL_CLOSE)));
-		closeButton.setHotImage(AutomaticUpdatePlugin.getDefault().getImageRegistry().get((AutomaticUpdatePlugin.IMG_TOOL_CLOSE_HOT)));
-		closeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				close();
-			}
-		});
-		// See https://bugs.eclipse.org/bugs/show_bug.cgi?id=177183
-		toolBar.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				close();
-			}
-		});
-		return titleComposite;
-	}
-
-	/*
-	 * Overridden to adjust the span of the title label.
-	 * Reachy, reachy....
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.PopupDialog#createTitleControl(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createTitleControl(Composite parent) {
-		Control control = super.createTitleControl(parent);
-		Object data = control.getLayoutData();
-		if (data instanceof GridData) {
-			((GridData) data).horizontalSpan = 1;
-		}
-		return control;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPreferencePage.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPreferencePage.java
deleted file mode 100644
index 55752f2..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdatesPreferencePage.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-/**
- * Preference page for automated updates.
- * 
- * @since 3.4
- * 
- */
-public class AutomaticUpdatesPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-
-	private Button enabledCheck;
-	private Button onStartupRadio, onScheduleRadio;
-	private Combo dayCombo;
-	private Label atLabel;
-	private Combo hourCombo;
-	private Button searchOnlyRadio, searchAndDownloadRadio;
-	private Button remindOnceRadio, remindScheduleRadio;
-	private Combo remindElapseCombo;
-	private Group updateScheduleGroup, downloadGroup, remindGroup;
-
-	public void init(IWorkbench workbench) {
-		// nothing to init
-	}
-
-	protected Control createContents(Composite parent) {
-		PlatformUI
-				.getWorkbench()
-				.getHelpSystem()
-				.setHelp(
-						parent,
-						IAutomaticUpdaterHelpContextIds.AUTOMATIC_UPDATES_PREFERENCE_PAGE);
-
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		container.setLayout(layout);
-
-		enabledCheck = new Button(container, SWT.CHECK);
-		enabledCheck
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_findUpdates);
-
-		createSpacer(container, 1);
-
-		updateScheduleGroup = new Group(container, SWT.NONE);
-		updateScheduleGroup
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_UpdateSchedule);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		updateScheduleGroup.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		updateScheduleGroup.setLayoutData(gd);
-
-		onStartupRadio = new Button(updateScheduleGroup, SWT.RADIO);
-		onStartupRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_findOnStart);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		onStartupRadio.setLayoutData(gd);
-		onStartupRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		onScheduleRadio = new Button(updateScheduleGroup, SWT.RADIO);
-		onScheduleRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_findOnSchedule);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		onScheduleRadio.setLayoutData(gd);
-		onScheduleRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		dayCombo = new Combo(updateScheduleGroup, SWT.READ_ONLY);
-		dayCombo.setItems(AutomaticUpdateScheduler.DAYS);
-		gd = new GridData();
-		gd.widthHint = 200;
-		gd.horizontalIndent = 30;
-		dayCombo.setLayoutData(gd);
-
-		atLabel = new Label(updateScheduleGroup, SWT.NULL);
-		atLabel
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_at);
-
-		hourCombo = new Combo(updateScheduleGroup, SWT.READ_ONLY);
-		hourCombo.setItems(AutomaticUpdateScheduler.HOURS);
-		gd = new GridData();
-		hourCombo.setLayoutData(gd);
-
-		createSpacer(container, 1);
-
-		downloadGroup = new Group(container, SWT.NONE);
-		downloadGroup
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_downloadOptions);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		downloadGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		downloadGroup.setLayoutData(gd);
-
-		searchOnlyRadio = new Button(downloadGroup, SWT.RADIO);
-		searchOnlyRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_searchAndNotify);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		searchOnlyRadio.setLayoutData(gd);
-		searchOnlyRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		searchAndDownloadRadio = new Button(downloadGroup, SWT.RADIO);
-		searchAndDownloadRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_downloadAndNotify);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		searchAndDownloadRadio.setLayoutData(gd);
-		searchAndDownloadRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		createSpacer(container, 1);
-
-		remindGroup = new Group(container, SWT.NONE);
-		remindGroup
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_RemindGroup);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		remindGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		remindGroup.setLayoutData(gd);
-
-		remindOnceRadio = new Button(remindGroup, SWT.RADIO);
-		remindOnceRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_RemindOnce);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		remindOnceRadio.setLayoutData(gd);
-		remindOnceRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		remindScheduleRadio = new Button(remindGroup, SWT.RADIO);
-		remindScheduleRadio
-				.setText(AutomaticUpdateMessages.AutomaticUpdatesPreferencePage_RemindSchedule);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		remindScheduleRadio.setLayoutData(gd);
-		remindScheduleRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		remindElapseCombo = new Combo(remindGroup, SWT.READ_ONLY);
-		remindElapseCombo.setItems(AutomaticUpdatesPopup.ELAPSED);
-
-		gd = new GridData();
-		gd.widthHint = 200;
-		gd.horizontalIndent = 30;
-		remindElapseCombo.setLayoutData(gd);
-
-		initialize();
-
-		enabledCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-
-	private void initialize() {
-		IPreferenceStore pref = AutomaticUpdatePlugin.getDefault()
-				.getPreferenceStore();
-		enabledCheck.setSelection(pref
-				.getBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED));
-		setSchedule(pref
-				.getString(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE));
-
-		dayCombo.setText(AutomaticUpdateScheduler.DAYS[getDay(pref, false)]);
-		hourCombo.setText(AutomaticUpdateScheduler.HOURS[getHour(pref, false)]);
-
-		remindScheduleRadio.setSelection(pref
-				.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE));
-		remindOnceRadio.setSelection(!pref
-				.getBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE));
-		remindElapseCombo.setText(pref
-				.getString(PreferenceConstants.PREF_REMIND_ELAPSED));
-		searchOnlyRadio.setSelection(!pref
-				.getBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY));
-		searchAndDownloadRadio.setSelection(pref
-				.getBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY));
-
-		pageChanged();
-	}
-
-	private void setSchedule(String value) {
-		if (value.equals(PreferenceConstants.PREF_UPDATE_ON_STARTUP))
-			onStartupRadio.setSelection(true);
-		else
-			onScheduleRadio.setSelection(true);
-	}
-
-	void pageChanged() {
-		boolean master = enabledCheck.getSelection();
-		updateScheduleGroup.setEnabled(master);
-		onStartupRadio.setEnabled(master);
-		onScheduleRadio.setEnabled(master);
-		dayCombo.setEnabled(master && onScheduleRadio.getSelection());
-		atLabel.setEnabled(master && onScheduleRadio.getSelection());
-		hourCombo.setEnabled(master && onScheduleRadio.getSelection());
-		downloadGroup.setEnabled(master);
-		searchOnlyRadio.setEnabled(master);
-		searchAndDownloadRadio.setEnabled(master);
-		remindGroup.setEnabled(master);
-		remindScheduleRadio.setEnabled(master);
-		remindOnceRadio.setEnabled(master);
-		remindElapseCombo.setEnabled(master
-				&& remindScheduleRadio.getSelection());
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		IPreferenceStore pref = AutomaticUpdatePlugin.getDefault()
-				.getPreferenceStore();
-		enabledCheck
-				.setSelection(pref
-						.getDefaultBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED));
-
-		setSchedule(pref
-				.getDefaultString(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE));
-		onScheduleRadio
-				.setSelection(pref
-						.getDefaultBoolean(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE));
-
-		dayCombo.setText(AutomaticUpdateScheduler.DAYS[getDay(pref, true)]);
-		hourCombo.setText(AutomaticUpdateScheduler.HOURS[getHour(pref, true)]);
-
-		remindOnceRadio.setSelection(!pref
-				.getDefaultBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE));
-		remindScheduleRadio.setSelection(pref
-				.getDefaultBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE));
-		remindElapseCombo.setText(pref
-				.getDefaultString(PreferenceConstants.PREF_REMIND_ELAPSED));
-
-		searchOnlyRadio.setSelection(!pref
-				.getDefaultBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY));
-		searchAndDownloadRadio.setSelection(pref
-				.getDefaultBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY));
-		pageChanged();
-	}
-
-	/**
-	 * Method declared on IPreferencePage. Subclasses should override
-	 */
-	public boolean performOk() {
-		IPreferenceStore pref = AutomaticUpdatePlugin.getDefault()
-				.getPreferenceStore();
-		pref.setValue(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED,
-				enabledCheck.getSelection());
-		if (onStartupRadio.getSelection())
-			pref.setValue(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE,
-					PreferenceConstants.PREF_UPDATE_ON_STARTUP);
-		else
-			pref.setValue(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE,
-					PreferenceConstants.PREF_UPDATE_ON_SCHEDULE);
-
-		if (remindScheduleRadio.getSelection()) {
-			pref.setValue(PreferenceConstants.PREF_REMIND_SCHEDULE, true);
-			pref.setValue(PreferenceConstants.PREF_REMIND_ELAPSED,
-					remindElapseCombo.getText());
-		} else {
-			pref.setValue(PreferenceConstants.PREF_REMIND_SCHEDULE, false);
-		}
-
-		pref.setValue(AutomaticUpdateScheduler.P_DAY, dayCombo.getText());
-		pref.setValue(AutomaticUpdateScheduler.P_HOUR, hourCombo.getText());
-
-		pref.setValue(PreferenceConstants.PREF_DOWNLOAD_ONLY,
-				searchAndDownloadRadio.getSelection());
-
-		AutomaticUpdatePlugin.getDefault().savePreferences();
-		AutomaticUpdatePlugin.getDefault().getScheduler().rescheduleUpdate();
-		return true;
-	}
-
-	private int getDay(IPreferenceStore pref, boolean useDefault) {
-		String day = useDefault ? pref
-				.getDefaultString(AutomaticUpdateScheduler.P_DAY) : pref
-				.getString(AutomaticUpdateScheduler.P_DAY);
-		for (int i = 0; i < AutomaticUpdateScheduler.DAYS.length; i++)
-			if (AutomaticUpdateScheduler.DAYS[i].equals(day))
-				return i;
-		return 0;
-	}
-
-	private int getHour(IPreferenceStore pref, boolean useDefault) {
-		String hour = useDefault ? pref
-				.getDefaultString(AutomaticUpdateScheduler.P_HOUR) : pref
-				.getString(AutomaticUpdateScheduler.P_HOUR);
-		for (int i = 0; i < AutomaticUpdateScheduler.HOURS.length; i++)
-			if (AutomaticUpdateScheduler.HOURS[i].equals(hour))
-				return i;
-		return 0;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/DownloadPhaseSet.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/DownloadPhaseSet.java
deleted file mode 100644
index 07f1b91..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/DownloadPhaseSet.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.equinox.internal.p2.engine.Phase;
-import org.eclipse.equinox.internal.p2.engine.PhaseSet;
-import org.eclipse.equinox.internal.p2.engine.phases.Collect;
-
-
-public class DownloadPhaseSet extends PhaseSet {
-	public DownloadPhaseSet() {
-		super(new Phase[] {new Collect(10)});
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/IAutomaticUpdaterHelpContextIds.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/IAutomaticUpdaterHelpContextIds.java
deleted file mode 100644
index 608b684..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/IAutomaticUpdaterHelpContextIds.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-/**
- * Help context ids for the P2 Automatic Updater.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * @since 3.5
- */
-
-public interface IAutomaticUpdaterHelpContextIds {
-	public static final String PREFIX = AutomaticUpdatePlugin.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	public static final String AUTOMATIC_UPDATES_PREFERENCE_PAGE = PREFIX + "automatic_updates_preference_page_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceConstants.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceConstants.java
deleted file mode 100644
index 0a9e74c..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceConstants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-/**
- * @since 3.5
- */
-public class PreferenceConstants {
-	public static final String PREF_PAGE_AUTO_UPDATES = "org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdatesPreferencePage"; //$NON-NLS-1$
-	public static final String PREF_AUTO_UPDATE_ENABLED = "enabled"; //$NON-NLS-1$
-	public static final String PREF_AUTO_UPDATE_SCHEDULE = "schedule"; //$NON-NLS-1$
-	public static final String PREF_UPDATE_ON_STARTUP = "on-startup"; //$NON-NLS-1$
-	public static final String PREF_UPDATE_ON_SCHEDULE = "on-schedule"; //$NON-NLS-1$  // string value defined in AutomaticUpdateScheduler 
-	public static final String PREF_DOWNLOAD_ONLY = "download"; // value is true or false, default is false //$NON-NLS-1$
-	public static final String PREF_REMIND_SCHEDULE = "remindOnSchedule"; // value is true or false //$NON-NLS-1$
-	public static final String PREF_REMIND_ELAPSED = "remindElapsedTime";//$NON-NLS-1$
-	public static final String PREF_AUTO_UPDATE_INIT = "autoUpdateInit"; //$NON-NLS-1$
-	public static final String PREF_MIGRATED_34 = "migrated34Prefs"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceInitializer.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceInitializer.java
deleted file mode 100644
index d1df0f7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreferenceInitializer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.*;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.ProfileScope;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	private static final String P_ENABLED = "enabled"; //$NON-NLS-1$
-	private static final String UPDATE_PLUGIN_ID = "org.eclipse.update.scheduler"; //$NON-NLS-1$
-	private static final String SDK_UI_PLUGIN_ID = "org.eclipse.equinox.p2.ui.sdk"; //$NON-NLS-1$
-
-	public static void migratePreferences() {
-		// Migrate preference values that were stored in alternate locations.
-		// 1) migrate from instance scope (during 3.5 development) to profile
-		// scope (final 3.5 format)
-		// 2) if applicable, migrate from 3.4 prefs kept in a different bundle
-		// 3) if applicable, migrate from 3.3 prefs known by Update Manager
-		Preferences pref = new ProfileScope(IProfileRegistry.SELF).getNode(AutomaticUpdatePlugin.PLUGIN_ID);
-		try {
-			if (pref.keys().length == 0) {
-				// migrate preferences from instance scope to profile scope
-				Preferences oldPref = new InstanceScope().getNode(AutomaticUpdatePlugin.PLUGIN_ID);
-				String[] keys = oldPref.keys();
-				for (int i = 0; i < keys.length; i++)
-					pref.put(keys[i], oldPref.get(keys[i], "")); //$NON-NLS-1$
-
-				if (keys.length > 0)
-					pref.flush();
-			}
-		} catch (BackingStoreException e) {
-			handleException(e, AutomaticUpdateMessages.ErrorLoadingPreferenceKeys);
-		}
-
-		// Have we migrated from 3.4 pref values?
-		boolean migrated34 = pref.getBoolean(PreferenceConstants.PREF_MIGRATED_34, false);
-		boolean node34exists = false;
-		if (!migrated34) {
-			// first look for the 3.4 automatic update preferences, which were
-			// located in a different bundle than now, in the instance scope.
-			Preferences instanceScope = Platform.getPreferencesService().getRootNode().node(InstanceScope.SCOPE);
-			try {
-				node34exists = instanceScope.nodeExists(SDK_UI_PLUGIN_ID);
-			} catch (BackingStoreException e1) {
-				// nothing to report, assume node does not exist
-			}
-			if (node34exists) {
-				Preferences node34 = instanceScope.node(SDK_UI_PLUGIN_ID);
-				// We only migrate the preferences associated with auto update.
-				// Other preferences still remain in that bundle and are handled
-				// there. We don't migrate if the value was never set.
-				// We use string literals rather than pref constants because we want to
-				// ensure we match the 3.4 values.
-				if (node34.get("enabled", null) == null) { //$NON-NLS-1$
-					pref.putBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED, node34.getBoolean("enabled", false)); //$NON-NLS-1$
-				}
-				if (node34.get("schedule", null) == null) { //$NON-NLS-1$
-					pref.put(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE, node34.get("schedule", //$NON-NLS-1$
-							PreferenceConstants.PREF_UPDATE_ON_STARTUP));
-				}
-				if (node34.get("download", null) == null) { //$NON-NLS-1$
-					pref.putBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY, node34.getBoolean("download", false)); //$NON-NLS-1$
-				}
-				if (node34.get("remindOnSchedule", null) == null) { //$NON-NLS-1$
-					pref.putBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE, node34.getBoolean("remindOnSchedule", false)); //$NON-NLS-1$
-				}
-				if (node34.get("remindElapsedTime", null) == null) { //$NON-NLS-1$
-
-					pref.put(PreferenceConstants.PREF_REMIND_ELAPSED, node34.get("remindElapsedTime", //$NON-NLS-1$
-							AutomaticUpdateMessages.AutomaticUpdateScheduler_30Minutes));
-				}
-			}
-			// mark the pref that says we've migrated
-			pref.putBoolean(PreferenceConstants.PREF_MIGRATED_34, true);
-			try {
-				pref.flush();
-			} catch (BackingStoreException e) {
-				handleException(e, AutomaticUpdateMessages.ErrorSavingPreferences);
-			}
-		}
-		// pref used to track 3.3 migration
-		// Have we initialized the auto update prefs from previous
-		// releases?
-		boolean autoUpdateInit = pref.getBoolean(PreferenceConstants.PREF_AUTO_UPDATE_INIT, false);
-
-		if (!migrated34 && !autoUpdateInit) {
-			// Look for the 3.3 UM automatic update preferences. We will
-			// not migrate them if we already pulled values from 3.4.
-			// However, we always want to turn off the UM automatic update
-			// checker if it is found to be on.
-			Preferences instanceScope = Platform.getPreferencesService().getRootNode().node(InstanceScope.SCOPE);
-			try {
-				boolean updateNodeExists = instanceScope.nodeExists(UPDATE_PLUGIN_ID);
-				Preferences prefUM = instanceScope.node(UPDATE_PLUGIN_ID);
-				boolean enableUpdate = prefUM.getBoolean(P_ENABLED, false);
-				// set p2 automatic update preference to match UM preference,
-				// only if we haven't already set a value.
-				if (pref.get(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED, null) == null) {
-					pref.putBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED, enableUpdate);
-				}
-				// turn off UM automatic update preference if it exists
-				if (updateNodeExists) {
-					prefUM.putBoolean(P_ENABLED, false);
-					prefUM.flush();
-				}
-				// mark the pref that says we migrated
-				pref.putBoolean(PreferenceConstants.PREF_AUTO_UPDATE_INIT, true);
-				pref.flush();
-			} catch (BackingStoreException e) {
-				handleException(e, AutomaticUpdateMessages.ErrorSavingClassicPreferences);
-			}
-		}
-	}
-
-	private static void handleException(Exception e, String message) {
-		StatusManager.getManager().handle(new Status(IStatus.ERROR, AutomaticUpdatePlugin.PLUGIN_ID, 0, message, e), StatusManager.LOG);
-	}
-
-	public void initializeDefaultPreferences() {
-		// initialize the default scope
-		Preferences node = new DefaultScope().getNode(AutomaticUpdatePlugin.PLUGIN_ID);
-		node.putBoolean(PreferenceConstants.PREF_AUTO_UPDATE_ENABLED, false);
-		node.put(PreferenceConstants.PREF_AUTO_UPDATE_SCHEDULE, PreferenceConstants.PREF_UPDATE_ON_STARTUP);
-		node.putBoolean(PreferenceConstants.PREF_DOWNLOAD_ONLY, false);
-		node.putBoolean(PreferenceConstants.PREF_REMIND_SCHEDULE, false);
-		node.put(PreferenceConstants.PREF_REMIND_ELAPSED, AutomaticUpdateMessages.AutomaticUpdateScheduler_30Minutes);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/StatusLineCLabelContribution.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/StatusLineCLabelContribution.java
deleted file mode 100644
index 224afa7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/StatusLineCLabelContribution.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.scheduler;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * @since 3.4
- */
-public class StatusLineCLabelContribution extends ContributionItem {
-
-	public final static int DEFAULT_CHAR_WIDTH = 40;
-
-	private int charWidth;
-	private CLabel label;
-	private Image image;
-	private String text = ""; //$NON-NLS-1$
-	private int widthHint = -1;
-	private int heightHint = -1;
-
-	private Listener listener;
-	private int eventType;
-	private String tooltip;
-
-	public StatusLineCLabelContribution(String id, int charWidth) {
-		super(id);
-		this.charWidth = charWidth;
-		setVisible(false); // no text to start with
-	}
-
-	public void fill(Composite parent) {
-		label = new CLabel(parent, SWT.DEFAULT);
-		StatusLineLayoutData statusLineLayoutData = new StatusLineLayoutData();
-
-		if (widthHint < 0) {
-			GC gc = new GC(parent);
-			gc.setFont(parent.getFont());
-			FontMetrics fm = gc.getFontMetrics();
-			widthHint = fm.getAverageCharWidth() * charWidth;
-			heightHint = fm.getHeight();
-			gc.dispose();
-		}
-
-		statusLineLayoutData.widthHint = widthHint;
-		label.setLayoutData(statusLineLayoutData);
-		label.setText(text);
-		label.setImage(image);
-		if (listener != null) {
-			label.addListener(eventType, listener);
-		}
-		if (tooltip != null) {
-			label.setToolTipText(tooltip);
-		}
-
-		statusLineLayoutData = new StatusLineLayoutData();
-		statusLineLayoutData.heightHint = heightHint;
-	}
-
-	public void addListener(int type, Listener labelListener) {
-		this.eventType = type;
-		this.listener = labelListener;
-	}
-
-	public void setText(String text) {
-		if (text == null)
-			throw new NullPointerException();
-
-		this.text = text;
-
-		if (label != null && !label.isDisposed())
-			label.setText(this.text);
-
-		if (this.text.length() == 0) {
-			if (isVisible()) {
-				setVisible(false);
-				IContributionManager contributionManager = getParent();
-
-				if (contributionManager != null)
-					contributionManager.update(true);
-			}
-		} else {
-			if (!isVisible()) {
-				setVisible(true);
-				IContributionManager contributionManager = getParent();
-
-				if (contributionManager != null)
-					contributionManager.update(true);
-			}
-		}
-	}
-
-	public void setTooltip(String tooltip) {
-		if (tooltip == null)
-			throw new NullPointerException();
-
-		this.tooltip = tooltip;
-
-		if (label != null && !label.isDisposed()) {
-			label.setToolTipText(this.tooltip);
-		}
-	}
-
-	public void setImage(Image image) {
-		if (image == null)
-			throw new NullPointerException();
-
-		this.image = image;
-
-		if (label != null && !label.isDisposed())
-			label.setImage(this.image);
-
-		if (!isVisible()) {
-			setVisible(true);
-			IContributionManager contributionManager = getParent();
-
-			if (contributionManager != null)
-				contributionManager.update(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/messages.properties b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/messages.properties
deleted file mode 100644
index 59ea000..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/messages.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-
-SchedulerStartup_day=Every day
-SchedulerStartup_Monday=Every Monday
-SchedulerStartup_Tuesday=Every Tuesday
-SchedulerStartup_Wednesday=Every Wednesday
-SchedulerStartup_Thursday=Every Thursday
-SchedulerStartup_Friday=Every Friday
-SchedulerStartup_Saturday=Every Saturday
-SchedulerStartup_Sunday=Every Sunday
-SchedulerStartup_1AM=1:00 AM
-SchedulerStartup_2AM=2:00 AM
-SchedulerStartup_3AM=3:00 AM
-SchedulerStartup_4AM=4:00 AM
-SchedulerStartup_5AM=5:00 AM
-SchedulerStartup_6AM=6:00 AM
-SchedulerStartup_7AM=7:00 AM
-SchedulerStartup_8AM=8:00 AM
-SchedulerStartup_9AM=9:00 AM
-SchedulerStartup_10AM=10:00 AM
-SchedulerStartup_11AM=11:00 AM
-SchedulerStartup_12PM=12:00 PM
-SchedulerStartup_1PM=1:00 PM
-SchedulerStartup_2PM=2:00 PM
-SchedulerStartup_3PM=3:00 PM
-SchedulerStartup_4PM=4:00 PM
-SchedulerStartup_5PM=5:00 PM
-SchedulerStartup_6PM=6:00 PM
-SchedulerStartup_7PM=7:00 PM
-SchedulerStartup_8PM=8:00 PM
-SchedulerStartup_9PM=9:00 PM
-SchedulerStartup_10PM=10:00 PM
-SchedulerStartup_11PM=11:00 PM
-SchedulerStartup_12AM=12:00 AM
-AutomaticUpdatesPopup_PrefLinkOnly=Set up <a>Reminder options</a>
-AutomaticUpdatesPopup_RemindAndPrefLink=You will be reminded in {0}.\nSet reminder <a href="{1}">preferences</a>
-AutomaticUpdatesPopup_ReminderJobTitle=Update reminder job
-AutomaticUpdatesPreferencePage_findUpdates=Automatically &find new updates and notify me
-AutomaticUpdateScheduler_30Minutes=30 minutes
-AutomaticUpdateScheduler_60Minutes=Hour
-AutomaticUpdateScheduler_240Minutes= 4 Hours
-AutomaticUpdateScheduler_UpdateNotInitialized=The update checker service is not initialized
-AutomaticUpdatesPopup_UpdatesAvailableTitle=Updates Available
-AutomaticUpdater_AutomaticDownloadOperationName=Automatic updates download
-AutomaticUpdater_ClickToReviewUpdates=Updates are available.  Click here to review and install them.
-AutomaticUpdater_ClickToReviewUpdatesWithProblems=Updates are available, but there may be some compatibility problems.  Click here to review them.
-AutomaticUpdatesPreferencePage_UpdateSchedule=&Update schedule
-AutomaticUpdatesPreferencePage_findOnStart=Look for updates each time &platform is started
-AutomaticUpdatesPreferencePage_findOnSchedule=Look for updates on the following &schedule:
-AutomaticUpdatesPreferencePage_downloadOptions=&Download options
-AutomaticUpdatesPreferencePage_searchAndNotify=Search for updates and &notify me when they are available
-AutomaticUpdatesPreferencePage_downloadAndNotify=Down&load new updates automatically and notify me when ready to install them
-AutomaticUpdatesPopup_ClickToReviewDownloaded=Software updates have been downloaded.\nClick to review and install updates.
-AutomaticUpdatesPopup_ClickToReviewNotDownloaded=Updates are available for your software.\nClick to review and install updates.
-AutomaticUpdatesPreferencePage_at=at
-AutomaticUpdatesPreferencePage_RemindGroup=&When updates are found
-AutomaticUpdatesPreferencePage_RemindSchedule=&Remind me about updates every:
-AutomaticUpdatesPreferencePage_RemindOnce=Notify me &once about updates
-ErrorSavingPreferences=Error saving update preferences
-ErrorSavingClassicPreferences=Error saving classic update preferences
-ErrorLoadingPreferenceKeys=Error loading preference keys
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/.classpath b/bundles/org.eclipse.equinox.p2.ui.sdk/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/.cvsignore b/bundles/org.eclipse.equinox.p2.ui.sdk/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/.project b/bundles/org.eclipse.equinox.p2.ui.sdk/.project
deleted file mode 100644
index e28ff32..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.ui.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a4650cd..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Tue Sep 18 21:25:49 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 2ee161f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:31 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.sdk/META-INF/MANIFEST.MF
deleted file mode 100644
index b9a0fa1..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,39 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.ui.sdk.ProvSDKUIActivator
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.ui.actions,
- org.eclipse.equinox.internal.p2.ui.query,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.p2.common,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.engine.query,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.operations,
- org.eclipse.osgi.service.resolver;version="1.1.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.w3c.dom,
- org.xml.sax
-Export-Package: org.eclipse.equinox.internal.p2.ui.sdk;x-internal:=true,
- org.eclipse.equinox.internal.p2.ui.sdk.prefs;x-internal:=true
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.ui
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Service-Component: OSGI-INF/policy_component.xml, OSGI-INF/licenseManager_component.xml
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/licenseManager_component.xml b/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/licenseManager_component.xml
deleted file mode 100644
index 74a5697..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/licenseManager_component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.ui.sdk.licenseManager">
-   <implementation class="org.eclipse.equinox.internal.p2.ui.sdk.SimpleLicenseManager"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.common.LicenseManager"/>
-   </service>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/policy_component.xml b/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/policy_component.xml
deleted file mode 100644
index c025007..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/OSGI-INF/policy_component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.ui.sdk">
-   <implementation class="org.eclipse.equinox.internal.p2.ui.sdk.SDKPolicy"/>
-   <service>
-      <provide interface="org.eclipse.equinox.p2.ui.Policy"/>
-   </service>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/about.html b/bundles/org.eclipse.equinox.p2.ui.sdk/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/build.properties b/bundles/org.eclipse.equinox.p2.ui.sdk/build.properties
deleted file mode 100644
index 94674cb..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-bin.includes = plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/,\
-               plugin.xml,\
-               OSGI-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.properties b/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.properties
deleted file mode 100644
index 7cc9729..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-#
-# Provisioning UI plugin resources
-#
-providerName = Eclipse.org - Equinox
-bundleName=Equinox Provisioning Platform Update Support
-IU.general=General Information
-IU.license=License Agreement
-IU.copyright=Copyright
-Update.command=Check for Updates
-Update.command.mnemonic=U
-Install.command=Install New Software...
-Install.command.mnemonic=S
-TempInstallView.command=Installation Information
-TempInstallView.mnemonic=I
-provisioningPrefPage = Install/Update
-sitesPrefPage = Available Software Sites
-installedSoftwarePage = Installed Software
-installHistoryPage = Installation History
-preferenceKeywords.general=automatic update schedule download site software install import bundle
-preferences=Update and Install Preferences
-classicCategoryName=Classic Update
-classicCategoryDesc=Enables classic update functionality
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.xml
deleted file mode 100644
index 380c825..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/plugin.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   	<extension 
-   		id="preferences" point="org.eclipse.core.runtime.preferences" name="%preferences">
-		<initializer class="org.eclipse.equinox.internal.p2.ui.sdk.prefs.PreferenceInitializer"/>
-	</extension>
-    <extension
-         point="org.eclipse.ui.preferencePages">
-              <page
-            name="%provisioningPrefPage"
-            class="org.eclipse.equinox.internal.p2.ui.sdk.prefs.ProvisioningPreferencePage"
-            id="org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage">
-            <keywordReference id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </page>
-      
-       <page
-            name="%sitesPrefPage"
-            category="org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"
-            class="org.eclipse.equinox.p2.ui.RepositoryManipulationPage"
-            id="org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage">
-            <keywordReference id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </page>
- 
-   </extension>
-
-      <extension
-   		point="org.eclipse.ui.keywords">
-      <keyword
-            label="%preferenceKeywords.general"
-            id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </extension>
-      
-      
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%Update.command"
-            id="org.eclipse.equinox.p2.ui.sdk.update">
-      </command>
-      <command
-            name="%Install.command"
-            id="org.eclipse.equinox.p2.ui.sdk.install">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.handlers">
-      <handler
-            commandId="org.eclipse.equinox.p2.ui.sdk.update"
-            class="org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler">
-      </handler>
-      <handler
-            commandId="org.eclipse.equinox.p2.ui.sdk.install"
-            class="org.eclipse.equinox.internal.p2.ui.sdk.InstallNewSoftwareHandler">
-      </handler>
-   </extension>
-   <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:help?after=additions">
-            <command
-                  commandId="org.eclipse.equinox.p2.ui.sdk.update"
-            	  mnemonic="%Update.command.mnemonic"
-                  id="org.eclipse.equinox.p2.ui.sdk.update">
-            </command>
-                        
-      </menuContribution>
-      <menuContribution
-            locationURI="menu:help?after=org.eclipse.equinox.p2.ui.sdk.update">
-            <command
-                  commandId="org.eclipse.equinox.p2.ui.sdk.install"
-            	  mnemonic="%Install.command.mnemonic"
-                  id="org.eclipse.equinox.p2.ui.sdk.install">
-            </command>
-                        
-      </menuContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.activities">
-      <activity
-            description="%classicCategoryDesc"
-            id="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
-            name="%classicCategoryName">
-      </activity>
-      <activityPatternBinding
-            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
-            isEqualityPattern="false"
-            pattern=".*org\.eclipse\.update\.internal.*">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
-            isEqualityPattern="false"
-            pattern=".*org\.eclipse\.ui\.update.*">
-      </activityPatternBinding>
-      <category
-            description="%classicCategoryDesc"
-            id="org.eclipse.equinox.p2.ui.sdk.category.classicUpdate"
-            name="%classicCategoryName">
-      </category>
-      <categoryActivityBinding
-            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
-            categoryId="org.eclipse.equinox.p2.ui.sdk.category.classicUpdate">
-      </categoryActivityBinding>
-   </extension>
-      	<extension 
-   		id="preferences" point="org.eclipse.core.runtime.preferences" name="%preferences">
-		<initializer class="org.eclipse.equinox.internal.p2.ui.sdk.prefs.PreferenceInitializer"/>
-	</extension>
-      <extension
-         point="org.eclipse.ui.installationPages">
-          <page
-            name="%installedSoftwarePage"
-            class="org.eclipse.equinox.p2.ui.InstalledSoftwarePage"
-            id="10.org.eclipse.equinox.internal.p2.ui.sdk.InstalledSoftwarePage">
-          </page>
-          <page
-            name="%installHistoryPage"
-            class="org.eclipse.equinox.p2.ui.RevertProfilePage"
-            id="11.org.eclipse.equinox.internal.p2.ui.sdk.RevertProfilePage">
-          </page>
-          
-      </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/IProvSDKHelpContextIds.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/IProvSDKHelpContextIds.java
deleted file mode 100644
index c89ab61..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/IProvSDKHelpContextIds.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-/**
- * Help context ids for the P2 SDK
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * @since 3.4
- */
-
-public interface IProvSDKHelpContextIds {
-	public static final String PREFIX = ProvSDKUIActivator.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	public static final String PROVISIONING_PREFERENCE_PAGE = PREFIX + "provisioning_preference_page_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/InstallNewSoftwareHandler.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/InstallNewSoftwareHandler.java
deleted file mode 100644
index 20f281b..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/InstallNewSoftwareHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-
-/**
- * InstallNewSoftwareHandler invokes the install wizard
- * 
- * @since 3.5
- */
-public class InstallNewSoftwareHandler extends PreloadingRepositoryHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public InstallNewSoftwareHandler() {
-		super();
-	}
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		getProvisioningUI().openInstallWizard(getShell(), null, null, job);
-	}
-
-	protected boolean waitForPreload() {
-		// If the user cannot see repositories, then we may as well wait
-		// for existing repos to load so that content is available.  
-		// If the user can manipulate the repositories, then we don't wait, 
-		// because we don't know which ones they want to work with.
-		return !getProvisioningUI().getPolicy().getRepositoriesVisible();
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		super.setLoadJobProperties(loadJob);
-		// If we are doing a background load, we do not wish to authenticate, as the
-		// user is unaware that loading was needed
-		if (!waitForPreload()) {
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_AUTHENTICATION_JOB_MARKER, Boolean.toString(true));
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_REPOSITORY_EVENTS, Boolean.toString(true));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
deleted file mode 100644
index 73655e8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/PreloadingRepositoryHandler.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * PreloadingRepositoryHandler provides background loading of
- * repositories before executing the provisioning handler.
- * 
- * @since 3.5
- */
-abstract class PreloadingRepositoryHandler extends AbstractHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public PreloadingRepositoryHandler() {
-		// constructor
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public Object execute(ExecutionEvent event) {
-		doExecuteAndLoad();
-		return null;
-	}
-
-	void doExecuteAndLoad() {
-		if (preloadRepositories()) {
-			//cancel any load that is already running
-			Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY);
-			final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI());
-			setLoadJobProperties(loadJob);
-			if (waitForPreload()) {
-				loadJob.addJobChangeListener(new JobChangeAdapter() {
-					public void done(IJobChangeEvent event) {
-						if (PlatformUI.isWorkbenchRunning())
-							if (event.getResult().isOK()) {
-								PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-									public void run() {
-										doExecute(loadJob);
-									}
-								});
-							}
-					}
-				});
-				loadJob.setUser(true);
-				loadJob.schedule();
-
-			} else {
-				loadJob.setSystem(true);
-				loadJob.setUser(false);
-				loadJob.schedule();
-				doExecute(null);
-			}
-		} else {
-			doExecute(null);
-		}
-	}
-
-	protected abstract void doExecute(LoadMetadataRepositoryJob job);
-
-	protected boolean preloadRepositories() {
-		return true;
-	}
-
-	protected boolean waitForPreload() {
-		return true;
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		loadJob.setProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS, Boolean.toString(true));
-	}
-
-	protected ProvisioningUI getProvisioningUI() {
-		return ProvisioningUI.getDefaultUI();
-	}
-
-	/**
-	 * Return a shell appropriate for parenting dialogs of this handler.
-	 * @return a Shell
-	 */
-	protected Shell getShell() {
-		return getProvisioningUI().getDefaultParentShell();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKMessages.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKMessages.java
deleted file mode 100644
index f6ad748..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKMessages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for provisioning UI messages.  
- * 
- * @since 3.4
- */
-public class ProvSDKMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.ui.sdk.messages"; //$NON-NLS-1$
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ProvSDKMessages.class);
-	}
-	public static String PreferenceInitializer_Error;
-	public static String ProvisioningPreferencePage_AlwaysOpenWizard;
-	public static String ProvisioningPreferencePage_BrowsingPrefsGroup;
-	public static String ProvisioningPreferencePage_ShowLatestVersions;
-	public static String ProvisioningPreferencePage_ShowAllVersions;
-	public static String ProvisioningPreferencePage_NeverOpenWizard;
-	public static String ProvisioningPreferencePage_OpenWizardIfInvalid;
-	public static String ProvisioningPreferencePage_PromptToOpenWizard;
-	public static String ProvSDKUIActivator_ErrorSavingPrefs;
-	public static String ProvSDKUIActivator_ErrorWritingLicenseRegistry;
-	public static String ProvSDKUIActivator_LicenseManagerReadError;
-	public static String ProvSDKUIActivator_NoSelfProfile;
-	public static String ProvSDKUIActivator_OpenWizardAnyway;
-	public static String ProvSDKUIActivator_Question;
-	public static String ProvUILicenseManager_ParsingError;
-	public static String UpdateHandler_NoSitesMessage;
-	public static String UpdateHandler_NoSitesTitle;
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKUIActivator.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKUIActivator.java
deleted file mode 100644
index f1c80c7..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/ProvSDKUIActivator.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import java.io.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.internal.p2.ui.sdk.prefs.PreferenceConstants;
-import org.eclipse.equinox.internal.p2.ui.sdk.prefs.PreferenceInitializer;
-import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
-import org.eclipse.equinox.p2.common.LicenseManager;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.ProfileScope;
-import org.eclipse.equinox.p2.ui.Policy;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Activator class for the p2 UI.
- */
-public class ProvSDKUIActivator extends AbstractUIPlugin {
-
-	private static final String LICENSE_STORAGE = "licenses.xml"; //$NON-NLS-1$
-	private static ProvSDKUIActivator plugin;
-	private static BundleContext context;
-	private ScopedPreferenceStore preferenceStore;
-
-	private IPropertyChangeListener preferenceListener;
-
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.ui.sdk"; //$NON-NLS-1$
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	/**
-	 * Returns the singleton plugin instance
-	 * 
-	 * @return the instance
-	 */
-	public static ProvSDKUIActivator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given plug-in
-	 * relative path
-	 * 
-	 * @param path
-	 *            the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-
-	public ProvSDKUIActivator() {
-		// constructor
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		super.start(bundleContext);
-		plugin = this;
-		ProvSDKUIActivator.context = bundleContext;
-		readLicenseRegistry();
-		PreferenceInitializer.migratePreferences();
-		getPreferenceStore().addPropertyChangeListener(getPreferenceListener());
-	}
-
-	private IPropertyChangeListener getPreferenceListener() {
-		if (preferenceListener == null) {
-			preferenceListener = new IPropertyChangeListener() {
-				public void propertyChange(PropertyChangeEvent event) {
-					updateWithPreferences(getPolicy());
-				}
-			};
-		}
-		return preferenceListener;
-	}
-
-	public ProvisioningUI getProvisioningUI() {
-		return ProvisioningUI.getDefaultUI();
-	}
-
-	private Policy getPolicy() {
-		return getProvisioningUI().getPolicy();
-	}
-
-	private LicenseManager getLicenseManager() {
-		return (LicenseManager) ServiceHelper.getService(getContext(), LicenseManager.class.getName());
-	}
-
-	private void readLicenseRegistry() {
-		if (getLicenseManager() == null)
-			return;
-		IPath location = getStateLocation().append(LICENSE_STORAGE);
-		File f = location.toFile();
-		BufferedInputStream stream = null;
-		if (f.exists()) {
-			try {
-				stream = new BufferedInputStream(new FileInputStream(f));
-				getLicenseManager().read(stream);
-				stream.close();
-			} catch (IOException e) {
-				StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, 0, ProvSDKMessages.ProvSDKUIActivator_LicenseManagerReadError, e), StatusManager.LOG);
-			}
-		}
-	}
-
-	private void writeLicenseRegistry() {
-		if (getLicenseManager() == null)
-			return;
-		if (!getLicenseManager().hasAcceptedLicenses())
-			return;
-		IPath location = getStateLocation().append(LICENSE_STORAGE);
-		File f = location.toFile();
-		BufferedOutputStream stream = null;
-		try {
-			stream = new BufferedOutputStream(new FileOutputStream(f, false));
-			getLicenseManager().write(stream);
-			stream.close();
-		} catch (IOException e) {
-			StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, 0, ProvSDKMessages.ProvSDKUIActivator_ErrorWritingLicenseRegistry, e), StatusManager.LOG);
-		}
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		writeLicenseRegistry();
-		plugin = null;
-		getPreferenceStore().removePropertyChangeListener(preferenceListener);
-		super.stop(bundleContext);
-	}
-
-	public IProvisioningEventBus getProvisioningEventBus() {
-		ServiceReference busReference = context.getServiceReference(IProvisioningEventBus.SERVICE_NAME);
-		if (busReference == null)
-			return null;
-		return (IProvisioningEventBus) context.getService(busReference);
-	}
-
-	static IStatus getNoSelfProfileStatus() {
-		return new Status(IStatus.WARNING, PLUGIN_ID, ProvSDKMessages.ProvSDKUIActivator_NoSelfProfile);
-	}
-
-	void updateWithPreferences(Policy policy) {
-		policy.setShowLatestVersionsOnly(getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-	}
-
-	/*
-	 * Overridden to use a profile scoped preference store.
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#getPreferenceStore()
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		// Create the preference store lazily.
-		if (preferenceStore == null) {
-			preferenceStore = new ScopedPreferenceStore(new ProfileScope(IProfileRegistry.SELF), PLUGIN_ID);
-		}
-		return preferenceStore;
-	}
-
-	public void savePreferences() {
-		if (preferenceStore != null)
-			try {
-				preferenceStore.save();
-			} catch (IOException e) {
-				StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, 0, ProvSDKMessages.ProvSDKUIActivator_ErrorSavingPrefs, e), StatusManager.LOG | StatusManager.SHOW);
-			}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SDKPolicy.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SDKPolicy.java
deleted file mode 100644
index e8c7062..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SDKPolicy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.p2.ui.sdk.prefs.PreferenceConstants;
-import org.eclipse.equinox.p2.engine.IProvisioningPlan;
-import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery;
-import org.eclipse.equinox.p2.metadata.query.GroupQuery;
-import org.eclipse.equinox.p2.operations.ProfileChangeOperation;
-import org.eclipse.equinox.p2.ui.Policy;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/**
- * SDKPolicy defines the Eclipse SDK UI policies for the
- * p2 UI.  The policy is declared as an OSGi service in
- * the policy_component.xml file.
- * 
- * @since 3.6
- */
-public class SDKPolicy extends Policy {
-
-	public SDKPolicy() {
-		// initialize for our values
-		setVisibleAvailableIUQuery(new GroupQuery());
-		// If this ever changes, we must change AutomaticUpdateSchedule.getProfileQuery()
-		setVisibleInstalledIUQuery(new UserVisibleRootQuery());
-		ProvSDKUIActivator.getDefault().updateWithPreferences(this);
-	}
-
-	public IStatus getNoProfileChosenStatus() {
-		return ProvSDKUIActivator.getNoSelfProfileStatus();
-	}
-
-	public boolean continueWorkingOperation(ProfileChangeOperation operation, Shell shell) {
-		// don't continue if superclass has already identified problem scenarios
-		boolean ok = super.continueWorkingWithOperation(operation, shell);
-		if (!ok)
-			return false;
-
-		IProvisioningPlan plan = operation.getProvisioningPlan();
-		if (plan == null)
-			return false;
-
-		// Check the preference to see whether to continue.
-		IPreferenceStore prefs = ProvSDKUIActivator.getDefault().getPreferenceStore();
-		String openPlan = prefs.getString(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN);
-		if (MessageDialogWithToggle.ALWAYS.equals(openPlan)) {
-			return true;
-		}
-		if (MessageDialogWithToggle.NEVER.equals(openPlan)) {
-			StatusManager.getManager().handle(plan.getStatus(), StatusManager.SHOW | StatusManager.LOG);
-			return false;
-		}
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(shell, ProvSDKMessages.ProvSDKUIActivator_Question, ProvSDKMessages.ProvSDKUIActivator_OpenWizardAnyway, null, false, prefs, PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN);
-
-		// Any answer but yes will stop the performance of the plan, but NO is interpreted to mean, show me the error.
-		if (dialog.getReturnCode() == IDialogConstants.NO_ID)
-			StatusManager.getManager().handle(plan.getStatus(), StatusManager.SHOW | StatusManager.LOG);
-		return dialog.getReturnCode() == IDialogConstants.YES_ID;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SimpleLicenseManager.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SimpleLicenseManager.java
deleted file mode 100644
index 0b7e253..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/SimpleLicenseManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *     Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.util.*;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense;
-import org.eclipse.equinox.p2.common.LicenseManager;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.w3c.dom.*;
-import org.xml.sax.SAXException;
-
-/**
- * SimpleLicenseManager is a license manager that keeps track of 
- * IInstallableUnit licenses by using the digests of the IU's licenses.
- * It can read and write its accepted list to a stream.
- * 
- * @since 3.4
- */
-public class SimpleLicenseManager extends LicenseManager {
-	java.util.Set accepted = new HashSet();
-
-	public boolean accept(ILicense license) {
-		accepted.add(license.getDigest());
-		return true;
-	}
-
-	public boolean reject(ILicense license) {
-		accepted.remove(license.getDigest());
-		return true;
-	}
-
-	public boolean isAccepted(ILicense license) {
-		return accepted.contains(license.getDigest());
-	}
-
-	public boolean hasAcceptedLicenses() {
-		return !accepted.isEmpty();
-	}
-
-	public void read(InputStream stream) throws IOException {
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			factory.setNamespaceAware(true);
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			Document doc = parser.parse(stream);
-			Node root = doc.getDocumentElement();
-			processRoot(root, accepted);
-		} catch (ParserConfigurationException e) {
-			handleException(e, ProvSDKMessages.ProvUILicenseManager_ParsingError, StatusManager.LOG);
-		} catch (SAXException e) {
-			handleException(e, ProvSDKMessages.ProvUILicenseManager_ParsingError, StatusManager.LOG);
-		}
-	}
-
-	private void handleException(Throwable t, String message, int style) {
-		if (message == null && t != null) {
-			message = t.getMessage();
-		}
-		IStatus status = new Status(IStatus.ERROR, ProvSDKUIActivator.PLUGIN_ID, 0, message, t);
-		StatusManager.getManager().handle(status, style);
-	}
-
-	public void write(OutputStream stream) throws IOException {
-		OutputStreamWriter osw = null;
-		PrintWriter writer = null;
-		try {
-			osw = new OutputStreamWriter(stream, "UTF8"); //$NON-NLS-1$
-			writer = new PrintWriter(osw);
-			writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
-			writer.println("<licenses>"); //$NON-NLS-1$
-			for (Iterator i = accepted.iterator(); i.hasNext();) {
-				BigInteger digest = (BigInteger) i.next();
-				writer.print("    " + "<license digest=\"" + digest.toString(16) + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
-			}
-		} finally {
-			writer.println("</licenses>"); //$NON-NLS-1$
-			writer.flush();
-			writer.close();
-			if (osw != null)
-				osw.close();
-		}
-	}
-
-	private void processRoot(Node root, Set licenses) {
-		if (root.getNodeName().equals("licenses")) { //$NON-NLS-1$
-			NodeList children = root.getChildNodes();
-			processChildren(children, licenses);
-		}
-	}
-
-	private void processChildren(NodeList children, Set licenses) {
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals("license")) { //$NON-NLS-1$
-					NamedNodeMap atts = child.getAttributes();
-					Node digestAtt = atts.getNamedItem("digest"); //$NON-NLS-1$
-					if (digestAtt != null) {
-						BigInteger digest = new BigInteger(digestAtt.getNodeValue(), 16);
-						licenses.add(digest);
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/UpdateHandler.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/UpdateHandler.java
deleted file mode 100644
index df76f1d..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/UpdateHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk;
-
-import org.eclipse.equinox.p2.operations.RepositoryTracker;
-import org.eclipse.equinox.p2.operations.UpdateOperation;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * UpdateHandler invokes the check for updates UI
- * 
- * @since 3.4
- */
-public class UpdateHandler extends PreloadingRepositoryHandler {
-
-	boolean hasNoRepos = false;
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		if (hasNoRepos) {
-			if (getProvisioningUI().getPolicy().getRepositoriesVisible()) {
-				boolean goToSites = MessageDialog.openQuestion(getShell(), ProvSDKMessages.UpdateHandler_NoSitesTitle, ProvSDKMessages.UpdateHandler_NoSitesMessage);
-				if (goToSites) {
-					getProvisioningUI().manipulateRepositories(getShell());
-				}
-			}
-			return;
-		}
-		UpdateOperation operation = getProvisioningUI().getUpdateOperation(null, null);
-		// check for updates
-		operation.resolveModal(null);
-		if (getProvisioningUI().getPolicy().continueWorkingWithOperation(operation, getShell())) {
-			getProvisioningUI().openUpdateWizard(getShell(), true, operation, job);
-		}
-	}
-
-	protected boolean preloadRepositories() {
-		hasNoRepos = false;
-		RepositoryTracker repoMan = getProvisioningUI().getRepositoryTracker();
-		if (repoMan.getKnownRepositories(getProvisioningUI().getSession()).length == 0) {
-			hasNoRepos = true;
-			return false;
-		}
-		return super.preloadRepositories();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/messages.properties b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/messages.properties
deleted file mode 100644
index 3431a70..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-
-PreferenceInitializer_Error=Error accessing preferences.
-ProvSDKUIActivator_ErrorSavingPrefs=Error saving update preferences
-ProvSDKUIActivator_ErrorWritingLicenseRegistry=Error writing license registry.  Accepted licenses will not be remembered.
-ProvSDKUIActivator_LicenseManagerReadError=Error reading license registry.  Accepted licenses will not be remembered.
-ProvSDKUIActivator_NoSelfProfile=Could not locate the running profile instance. The eclipse.p2.data.area and eclipse.p2.profile properties may not be set correctly in this application's config.ini file.
-ProvSDKUIActivator_OpenWizardAnyway=The software items you selected may not be valid with your current installation.  Do you want to open the wizard anyway to review the selections?
-ProvSDKUIActivator_Question=Question
-ProvisioningPreferencePage_AlwaysOpenWizard=&Open the wizard anyway to review or change selections
-ProvisioningPreferencePage_BrowsingPrefsGroup=Browsing for updates
-ProvisioningPreferencePage_ShowLatestVersions=Show only the &latest versions of available software
-ProvisioningPreferencePage_ShowAllVersions=Show all &versions of available software
-ProvisioningPreferencePage_NeverOpenWizard=&Report the problems and do not open the wizard
-ProvisioningPreferencePage_OpenWizardIfInvalid=When software selected for an install wizard may not be compatible
-ProvisioningPreferencePage_PromptToOpenWizard=As&k me what to do when it happens
-ProvUILicenseManager_ParsingError=Error parsing the accepted license registry
-UpdateHandler_NoSitesMessage=There are no update sites to search.  Do you wish to open the "Available Software Sites" preferences?
-UpdateHandler_NoSitesTitle=No Updates Found
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceConstants.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceConstants.java
deleted file mode 100644
index 8885ed9..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.prefs;
-
-/**
- * @since 3.4
- */
-public class PreferenceConstants {
-	public static final String PREF_PAGE_PROVISIONING = "org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"; //$NON-NLS-1$
-	public static final String PREF_PAGE_SITES = "org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage"; //$NON-NLS-1$
-	public static final String PREF_SHOW_LATEST_VERSION = "showLatestVersion"; //$NON-NLS-1$
-	public static final String PREF_OPEN_WIZARD_ON_ERROR_PLAN = "allowNonOKPlan"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceInitializer.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceInitializer.java
deleted file mode 100644
index bc0369f..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/PreferenceInitializer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.prefs;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.*;
-import org.eclipse.equinox.internal.p2.ui.sdk.ProvSDKMessages;
-import org.eclipse.equinox.internal.p2.ui.sdk.ProvSDKUIActivator;
-import org.eclipse.equinox.p2.engine.IProfileRegistry;
-import org.eclipse.equinox.p2.engine.ProfileScope;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * @since 3.4
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public static void migratePreferences() {
-		Preferences pref = new ProfileScope(IProfileRegistry.SELF).getNode(ProvSDKUIActivator.PLUGIN_ID);
-		try {
-			if (pref.keys().length == 0) {
-				// migrate preferences from instance scope to profile scope
-				Preferences oldPref = new InstanceScope().getNode(ProvSDKUIActivator.PLUGIN_ID);
-				// don't migrate everything.  Some of the preferences moved to
-				// another bundle.
-				pref.put(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, oldPref.get(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.PROMPT));
-				pref.putBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, oldPref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, true));
-				pref.flush();
-			}
-		} catch (BackingStoreException e) {
-			StatusManager.getManager().handle(new Status(IStatus.ERROR, ProvSDKUIActivator.PLUGIN_ID, 0, ProvSDKMessages.PreferenceInitializer_Error, e), StatusManager.LOG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		Preferences node = new DefaultScope().getNode("org.eclipse.equinox.p2.ui.sdk"); //$NON-NLS-1$
-		// default values
-		node.putBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, true);
-		node.put(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.PROMPT);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/ProvisioningPreferencePage.java b/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/ProvisioningPreferencePage.java
deleted file mode 100644
index 0df8aa8..0000000
--- a/bundles/org.eclipse.equinox.p2.ui.sdk/src/org/eclipse/equinox/internal/p2/ui/sdk/prefs/ProvisioningPreferencePage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.ui.sdk.prefs;
-
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.equinox.internal.p2.ui.sdk.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * Preference page for general provisioning preferences.
- * 
- * @since 3.4
- */
-
-public class ProvisioningPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Group browsingGroup, validateGroup;
-	private Button showLatestRadio, showAllRadio;
-	private Button alwaysShowFailedPlan, neverShowFailedPlan, promptOnFailedPlan;
-
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IProvSDKHelpContextIds.PROVISIONING_PREFERENCE_PAGE);
-
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		container.setLayout(layout);
-
-		// Group for show all versions vs. show latest
-		browsingGroup = new Group(container, SWT.NONE);
-		browsingGroup.setText(ProvSDKMessages.ProvisioningPreferencePage_BrowsingPrefsGroup);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		browsingGroup.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		browsingGroup.setLayoutData(gd);
-
-		showLatestRadio = new Button(browsingGroup, SWT.RADIO);
-		showLatestRadio.setText(ProvSDKMessages.ProvisioningPreferencePage_ShowLatestVersions);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		showLatestRadio.setLayoutData(gd);
-
-		showAllRadio = new Button(browsingGroup, SWT.RADIO);
-		showAllRadio.setText(ProvSDKMessages.ProvisioningPreferencePage_ShowAllVersions);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		showAllRadio.setLayoutData(gd);
-
-		//Group for validating a failed plan
-		validateGroup = new Group(container, SWT.NONE);
-		validateGroup.setText(ProvSDKMessages.ProvisioningPreferencePage_OpenWizardIfInvalid);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		validateGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		validateGroup.setLayoutData(gd);
-
-		alwaysShowFailedPlan = new Button(validateGroup, SWT.RADIO);
-		alwaysShowFailedPlan.setText(ProvSDKMessages.ProvisioningPreferencePage_AlwaysOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		alwaysShowFailedPlan.setLayoutData(gd);
-
-		neverShowFailedPlan = new Button(validateGroup, SWT.RADIO);
-		neverShowFailedPlan.setText(ProvSDKMessages.ProvisioningPreferencePage_NeverOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		neverShowFailedPlan.setLayoutData(gd);
-
-		promptOnFailedPlan = new Button(validateGroup, SWT.RADIO);
-		promptOnFailedPlan.setText(ProvSDKMessages.ProvisioningPreferencePage_PromptToOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		promptOnFailedPlan.setLayoutData(gd);
-
-		initialize();
-
-		Dialog.applyDialogFont(container);
-		return container;
-
-	}
-
-	private void initialize() {
-		IPreferenceStore pref = ProvSDKUIActivator.getDefault().getPreferenceStore();
-		showLatestRadio.setSelection(pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		showAllRadio.setSelection(!pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		String openWizard = pref.getString(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN);
-		alwaysShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.ALWAYS));
-		neverShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.NEVER));
-		promptOnFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.PROMPT));
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		Preferences pref = new DefaultScope().getNode(ProvSDKUIActivator.PLUGIN_ID);
-		showLatestRadio.setSelection(pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, false));
-		showAllRadio.setSelection(!pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, false));
-		String openWizard = pref.get(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, ""); //$NON-NLS-1$
-		alwaysShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.ALWAYS));
-		neverShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.NEVER));
-		promptOnFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.PROMPT));
-	}
-
-	public boolean performOk() {
-		IPreferenceStore pref = ProvSDKUIActivator.getDefault().getPreferenceStore();
-		pref.setValue(PreferenceConstants.PREF_SHOW_LATEST_VERSION, showLatestRadio.getSelection());
-		if (alwaysShowFailedPlan.getSelection())
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.ALWAYS);
-		else if (neverShowFailedPlan.getSelection())
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.NEVER);
-		else
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.PROMPT);
-
-		ProvSDKUIActivator.getDefault().savePreferences();
-		return true;
-	}
-
-	public void init(IWorkbench workbench) {
-		// Nothing to do
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.classpath b/bundles/org.eclipse.equinox.p2.updatechecker/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore b/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.project b/bundles/org.eclipse.equinox.p2.updatechecker/.project
deleted file mode 100644
index 2ad31f0..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.updatechecker</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5247d61..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,329 +0,0 @@
-#Thu Oct 09 08:15:31 EDT 2008
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dbe72f1..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:14 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 6904bd9..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sat Aug 11 20:17:52 EDT 2007
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
deleted file mode 100644
index 656a45c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.updatechecker.Activator
-Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.director,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.engine,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.metadata,
- org.osgi.framework;version="1.4.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Export-Package: org.eclipse.equinox.internal.p2.updatechecker;x-internal:=true,
- org.eclipse.equinox.internal.provisional.p2.updatechecker;x-friends:="org.eclipse.equinox.p2.ui.sdk.scheduler"
-Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0)"
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/about.html b/bundles/org.eclipse.equinox.p2.updatechecker/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-
-		<h4>FileInstall 1.0</h4> 
-		<p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
-		That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/build.properties b/bundles/org.eclipse.equinox.p2.updatechecker/build.properties
deleted file mode 100644
index dc77b9c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties b/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
deleted file mode 100644
index 3c8feb5..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2007, 2009 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
-###############################################################################
-pluginName = Equinox Provisioning Update Checker
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
deleted file mode 100644
index d6a6e1f..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/Activator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatechecker;
-
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker;
-import org.osgi.framework.*;
-
-/**
- * Activator class that registers the update checker service.
- */
-public class Activator implements BundleActivator {
-	public static final String ID = "org.eclipse.equinox.p2.updatechecker"; //$NON-NLS-1$
-	private static BundleContext context;
-	private ServiceRegistration registrationChecker;
-
-	public static BundleContext getContext() {
-		return context;
-	}
-
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-		registrationChecker = context.registerService(IUpdateChecker.SERVICE_NAME, new UpdateChecker(), null);
-	}
-
-	public void stop(BundleContext bundleContext) throws Exception {
-		registrationChecker.unregister();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
deleted file mode 100644
index b2ee89e..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/p2/updatechecker/UpdateChecker.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatechecker;
-
-import java.net.URI;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.director.IPlanner;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.internal.provisional.p2.updatechecker.*;
-import org.eclipse.equinox.p2.engine.*;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-
-/**
- * Default implementation of {@link IUpdateChecker}.
- * <p>
- * This implementation is not optimized.  It doesn't optimize for multiple
- * polls on the same profile, nor does it cache any info about a profile from
- * poll to poll.
- */
-public class UpdateChecker implements IUpdateChecker {
-	public static boolean DEBUG = false;
-	public static boolean TRACE = false;
-	/**
-	 * Map of IUpdateListener->UpdateCheckThread.
-	 */
-	private HashMap checkers = new HashMap();
-
-	IProfileRegistry profileRegistry;
-	IPlanner planner;
-
-	private class UpdateCheckThread extends Thread {
-		boolean done = false;
-		long poll, delay;
-		IUpdateListener listener;
-		String profileId;
-		IQuery query;
-
-		UpdateCheckThread(String profileId, IQuery query, long delay, long poll, IUpdateListener listener) {
-			this.poll = poll;
-			this.delay = delay;
-			this.profileId = profileId;
-			this.query = query;
-			this.listener = listener;
-		}
-
-		public void run() {
-			try {
-				if (delay != ONE_TIME_CHECK && delay > 0) {
-					Thread.sleep(delay);
-				}
-				while (!done) {
-
-					trace("Checking for updates for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$
-					IInstallableUnit[] iusWithUpdates = checkForUpdates(profileId, query);
-					if (iusWithUpdates.length > 0) {
-						trace("Notifying listener of available updates"); //$NON-NLS-1$
-						UpdateEvent event = new UpdateEvent(profileId, iusWithUpdates);
-						if (!done)
-							listener.updatesAvailable(event);
-					} else {
-						trace("No updates were available"); //$NON-NLS-1$
-					}
-					if (delay == ONE_TIME_CHECK || delay <= 0) {
-						done = true;
-					} else {
-						Thread.sleep(poll);
-					}
-				}
-			} catch (InterruptedException e) {
-				// nothing
-			} catch (Exception e) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Exception in update check thread", e)); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#addUpdateCheck(java.lang.String, long, long, org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener)
-	 */
-	public void addUpdateCheck(String profileId, IQuery query, long delay, long poll, IUpdateListener listener) {
-		if (checkers.containsKey(listener))
-			return;
-		trace("Adding update checker for " + profileId + " at " + getTimeStamp()); //$NON-NLS-1$ //$NON-NLS-2$
-		UpdateCheckThread thread = new UpdateCheckThread(profileId, query, delay, poll, listener);
-		checkers.put(listener, thread);
-		thread.start();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateChecker#removeUpdateCheck(org.eclipse.equinox.internal.provisional.p2.updatechecker.IUpdateListener)
-	 */
-	public void removeUpdateCheck(IUpdateListener listener) {
-		checkers.remove(listener);
-	}
-
-	/*
-	 * Return the array of ius in the profile that have updates
-	 * available.
-	 */
-	IInstallableUnit[] checkForUpdates(String profileId, IQuery query) {
-		IProfile profile = getProfileRegistry().getProfile(profileId);
-		ArrayList iusWithUpdates = new ArrayList();
-		if (profile == null)
-			return new IInstallableUnit[0];
-		ProvisioningContext context = new ProvisioningContext(getAvailableRepositories());
-		if (query == null)
-			query = InstallableUnitQuery.ANY;
-		Iterator iter = profile.query(query, null).iterator();
-		while (iter.hasNext()) {
-			IInstallableUnit iu = (IInstallableUnit) iter.next();
-			IInstallableUnit[] replacements = getPlanner().updatesFor(iu, context, null);
-			if (replacements.length > 0)
-				iusWithUpdates.add(iu);
-		}
-		return (IInstallableUnit[]) iusWithUpdates.toArray(new IInstallableUnit[iusWithUpdates.size()]);
-	}
-
-	/**
-	 * Returns the list of metadata repositories that are currently available.
-	 */
-	private URI[] getAvailableRepositories() {
-		IMetadataRepositoryManager repoMgr = (IMetadataRepositoryManager) ServiceHelper.getService(Activator.getContext(), IMetadataRepositoryManager.SERVICE_NAME);
-		URI[] repositories = repoMgr.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
-		ArrayList available = new ArrayList();
-		for (int i = 0; i < repositories.length; i++) {
-			try {
-				repoMgr.loadRepository(repositories[i], null);
-				available.add(repositories[i]);
-			} catch (ProvisionException e) {
-				LogHelper.log(e.getStatus());
-			}
-		}
-		return (URI[]) available.toArray(new URI[available.size()]);
-	}
-
-	void trace(String message) {
-		if (Tracing.DEBUG_UPDATE_CHECK)
-			Tracing.debug(message);
-	}
-
-	String getTimeStamp() {
-		Date d = new Date();
-		SimpleDateFormat df = new SimpleDateFormat("[MM/dd/yy;HH:mm:ss:SSS]"); //$NON-NLS-1$
-		return df.format(d);
-	}
-
-	IPlanner getPlanner() {
-		if (planner == null) {
-			planner = (IPlanner) ServiceHelper.getService(Activator.getContext(), IPlanner.SERVICE_NAME);
-			if (planner == null) {
-				throw new IllegalStateException("Provisioning system has not been initialized"); //$NON-NLS-1$
-			}
-		}
-		return planner;
-	}
-
-	IProfileRegistry getProfileRegistry() {
-		if (profileRegistry == null) {
-			profileRegistry = (IProfileRegistry) ServiceHelper.getService(Activator.getContext(), IProfileRegistry.SERVICE_NAME);
-			if (profileRegistry == null) {
-				throw new IllegalStateException("Provisioning system has not been initialized"); //$NON-NLS-1$
-			}
-		}
-		return profileRegistry;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
deleted file mode 100644
index f7728c7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateChecker.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-
-/**
- * An update checker periodically polls for updates to specified profiles and
- * informs listeners if updates are available.  Listeners may then determine
- * whether to retrieve the updates, inform the user, etc.
- */
-public interface IUpdateChecker {
-	public static final String SERVICE_NAME = IUpdateChecker.class.getName();
-	public static long ONE_TIME_CHECK = -1L;
-
-	/**
-	 * Adds an update listener that will be notified when updates are available for all
-	 * installable units that satisfy the given query. The listener will remain
-	 * registered until removed using the {@link #removeUpdateCheck(IUpdateListener)}
-	 * method. Adding a listener that is identical to a listener that is already registered
-	 * has no effect.
-	 * <p>
-	 * Once the listener is registered, it will continue to receive notification of updates
-	 * based on the specified polling frequency. However, if a delay value of {@link #ONE_TIME_CHECK}
-	 * is used, only a single update check will occur for that listener. If this delay value
-	 * is used, the specified polling frequency is ignored.
-	 * 
-	 * @param profileId The profile id to check for updates
-	 * @param iusToCheckQuery An installable unit query that matches the units to check for updates
-	 * @param delay The delay in milliseconds before the first query should occur, or {@link #ONE_TIME_CHECK}
-	 * to indicate that a single update check should occur immediately
-	 * @param poll The polling frequency, in milliseconds, between checks for updates
-	 * @param listener The listener to be notified of updates
-	 * @see #removeUpdateCheck(IUpdateListener)
-	 */
-	public abstract void addUpdateCheck(String profileId, IQuery iusToCheckQuery, long delay, long poll, IUpdateListener listener);
-
-	/**
-	 * Removes an update listener from the set of listeners registered with this update
-	 * checker. If an update check is currently in progress the listener may still receive
-	 * events after this method returns. Removing a listener that is not registered has
-	 * no effect.
-	 * 
-	 * @param listener The listener to remove
-	 * @see #addUpdateCheck(String, IQuery, long, long, IUpdateListener)
-	 */
-	public abstract void removeUpdateCheck(IUpdateListener listener);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
deleted file mode 100644
index 7cde636..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/IUpdateListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-/**
- * An IUpdateListener informs listeners that an update is available for
- * the specified profile.  Listeners should expect to receive this notification
- * from a background thread.
- */
-public interface IUpdateListener {
-
-	public void updatesAvailable(UpdateEvent event);
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java b/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
deleted file mode 100644
index 6a62978..0000000
--- a/bundles/org.eclipse.equinox.p2.updatechecker/src/org/eclipse/equinox/internal/provisional/p2/updatechecker/UpdateEvent.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.p2.updatechecker;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-/**
- * An UpdateEvent describes what IU's have updates for a given profile.
- */
-public class UpdateEvent {
-
-	String profileId;
-	IInstallableUnit[] iusWithUpdates;
-
-	public UpdateEvent(String profileId, IInstallableUnit[] iusWithUpdates) {
-		this.profileId = profileId;
-		this.iusWithUpdates = iusWithUpdates;
-	}
-
-	public IInstallableUnit[] getIUs() {
-		return iusWithUpdates;
-	}
-
-	public String getProfileId() {
-		return profileId;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.classpath b/bundles/org.eclipse.equinox.p2.updatesite/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore b/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.project b/bundles/org.eclipse.equinox.p2.updatesite/.project
deleted file mode 100644
index 8f375c4..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.updatesite</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9e8b47d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,352 +0,0 @@
-#Sun Dec 06 23:05:13 EST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index ff827d5..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Dec 06 23:05:15 EST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 38d7fa9..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Nov 05 17:01:21 EST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 7913d20..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
deleted file mode 100644
index c2ac536..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,55 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true
-Bundle-Localization: plugin
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.equinox.internal.p2.updatesite.Activator
-Bundle-ActivationPolicy: lazy
-Import-Package: javax.xml.parsers,
- org.eclipse.equinox.app;version="1.0.0";resolution:=optional,
- org.eclipse.equinox.internal.p2.artifact.repository.simple,
- org.eclipse.equinox.internal.p2.core.helpers,
- org.eclipse.equinox.internal.p2.metadata,
- org.eclipse.equinox.internal.p2.publisher.eclipse,
- org.eclipse.equinox.internal.p2.repository,
- org.eclipse.equinox.internal.p2.repository.helpers,
- org.eclipse.equinox.internal.provisional.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.p2.core,
- org.eclipse.equinox.internal.provisional.p2.core.eventbus,
- org.eclipse.equinox.internal.provisional.p2.metadata,
- org.eclipse.equinox.internal.provisional.p2.metadata.query,
- org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository,
- org.eclipse.equinox.internal.provisional.spi.p2.repository,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.metadata.query,
- org.eclipse.equinox.p2.publisher,
- org.eclipse.equinox.p2.publisher.actions,
- org.eclipse.equinox.p2.publisher.eclipse,
- org.eclipse.equinox.p2.repository,
- org.eclipse.equinox.p2.repository.artifact,
- org.eclipse.equinox.p2.repository.artifact.spi,
- org.eclipse.equinox.p2.repository.metadata,
- org.eclipse.equinox.security.storage,
- org.eclipse.equinox.spi.p2.publisher,
- org.eclipse.osgi.service.resolver;version="1.2.0",
- org.eclipse.osgi.signedcontent;version="1.0.0",
- org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.0",
- org.w3c.dom,
- org.xml.sax,
- org.xml.sax.helpers
-Require-Bundle: org.eclipse.ecf.filetransfer,
- org.eclipse.ecf,
- org.eclipse.equinox.common;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="0.1.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="0.1.0",
- org.eclipse.core.jobs;bundle-version="[3.2.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.1/Foundation-1.1
-Export-Package: org.eclipse.equinox.internal.p2.updatesite;x-friends:="org.eclipse.pde.build",
- org.eclipse.equinox.internal.p2.updatesite.artifact;x-internal:=true,
- org.eclipse.equinox.internal.p2.updatesite.metadata;x-internal:=true
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/UpdateSite Publisher.launch b/bundles/org.eclipse.equinox.p2.updatesite/UpdateSite Publisher.launch
deleted file mode 100644
index 03ec10c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/UpdateSite Publisher.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/UpdateSite Publisher"/>
-<booleanAttribute key="default_auto_start" value="false"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console &#13;&#10;-consolelog&#13;&#10;-application org.eclipse.equinox.p2.updatesite.UpdatesitePublisher&#13;&#10;-metadataRepository file:c:/temp/repos&#13;&#10;-source C:\build.ecf\v20080507-1345\3.3.2\updateSite&#13;&#10;-artifactRepository file:c:/temp/repos&#13;&#10;-configs win32.win32.x86&#13;&#10;-id ecf&#13;&#10;-version 2.0.0&#13;&#10;-flavor tooling&#13;&#10;-top org.eclipse.ecf.feature.group&#13;&#10;-publishArtifacts"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.equinox.app@default:true,org.eclipse.equinox.preferences@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.jobs@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.net@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.osgi@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.frameworkadmin.equinox@3:true,org.eclipse.equinox.common@default:default,org.eclipse.equinox.frameworkadmin@3:true,org.eclipse.ecf@default:default,org.eclipse.equinox.p2.jarprocessor@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.simpleconfigurator@3:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.equinox.p2.updatesite@3:true,org.eclipse.equinox.p2.metadata@default:default"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/about.html b/bundles/org.eclipse.equinox.p2.updatesite/about.html
deleted file mode 100644
index d62785d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-
-		<h4>FileInstall 1.0</h4> 
-		<p>The bundle includes derivative works of software originally developed by Peter Kriens (aQute).
-		That original work was licensed under the EPL v1.0 and this derivative work is similarly licensed.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/build.properties b/bundles/org.eclipse.equinox.p2.updatesite/build.properties
deleted file mode 100644
index f6b01e5..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties b/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
deleted file mode 100644
index 1c5d9c0..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-#  Copyright (c) 2008, 2009 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
-###############################################################################
-pluginName = Update site repository adapter bundle (Incubation)
-providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml b/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
deleted file mode 100644
index 11492b7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-      <extension
-            id="metadataRepository"
-            point="org.eclipse.equinox.p2.metadata.repository.metadataRepositories">
-      <factory
-            class="org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory">
-      </factory>
-      <filter
-            suffix="site.xml">
-      </filter>
-   </extension>
-      <extension
-            id="artifactRepository"
-            point="org.eclipse.equinox.p2.artifact.repository.artifactRepositories">
-         <factory
-               class="org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory">
-         </factory>
-         <filter
-               suffix="site.xml">
-         </filter>
-      </extension>
-   <extension id="UpdateSitePublisher" point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.updatesite.UpdateSitePublisherApplication">
-         </run>
-      </application>
-   </extension>
-   <extension id="org.eclipse.equinox.p2.publisher.UpdateSitePublisher" point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.updatesite.UpdateSitePublisherApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="org.eclipse.equinox.p2.publisher.CategoryPublisher"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any"
-            visible="true">
-         <run
-               class="org.eclipse.equinox.internal.p2.updatesite.CategoryPublisherApplication">
-         </run>
-      </application>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
deleted file mode 100644
index 79f37a3..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Activator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.File;
-import java.net.URL;
-import org.eclipse.equinox.internal.p2.core.helpers.URLUtil;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	public static String ID = "org.eclipse.equinox.p2.updatesite"; //$NON-NLS-1$
-	private static BundleContext bundleContext;
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		setBundleContext(context);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		setBundleContext(null);
-	}
-
-	public synchronized static void setBundleContext(BundleContext bundleContext) {
-		Activator.bundleContext = bundleContext;
-	}
-
-	public synchronized static BundleContext getBundleContext() {
-		return bundleContext;
-	}
-
-	/**
-	 * Returns a reasonable human-readable repository name for the given location.
-	 */
-	public static String getRepositoryName(URL location) {
-		File file = URLUtil.toFile(location);
-		return file == null ? location.toExternalForm() : file.getAbsolutePath();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryPublisherApplication.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryPublisherApplication.java
deleted file mode 100644
index bac1772..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryPublisherApplication.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 EclipseSource 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: 
- *   EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.p2.publisher.*;
-
-/**
- * <p>
- * This application categorizes the elements in a repo based on a category definition file.  The category definition
- * file is specified with <source>-categoryDefinition</source>
- * </p>
- */
-public class CategoryPublisherApplication extends AbstractPublisherApplication {
-
-	private String categoryQualifier = null;
-	private URI categoryDefinition = null;
-
-	public CategoryPublisherApplication() {
-		// nothing todo
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo pinfo) throws URISyntaxException {
-		super.processParameter(arg, parameter, pinfo);
-
-		this.append = true; // Always append, otherwise we will end up with nothing
-
-		if (arg.equalsIgnoreCase("-categoryQualifier")) //$NON-NLS-1$
-			categoryQualifier = parameter;
-
-		if (arg.equalsIgnoreCase("-categoryDefinition")) //$NON-NLS-1$
-			categoryDefinition = URIUtil.fromString(parameter);
-
-	}
-
-	protected IPublisherAction[] createActions() {
-		return new IPublisherAction[] {new CategoryXMLAction(categoryDefinition, categoryQualifier)};
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java
deleted file mode 100644
index 5321d13..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/CategoryXMLAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************* 
-* Copyright (c) 2009 EclipseSource 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:
-*   EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.net.URI;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.publisher.IPublisherInfo;
-import org.eclipse.equinox.p2.publisher.IPublisherResult;
-
-/**
- * This action parses a category file and publishes all the categories whose 
- * elements are contained in the publisher results.
- */
-public class CategoryXMLAction extends SiteXMLAction {
-
-	public CategoryXMLAction(URI location, String categoryQualifier) {
-		super(location, categoryQualifier);
-	}
-
-	public IStatus perform(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) {
-		try {
-			updateSite = UpdateSite.loadCategoryFile(location, monitor);
-		} catch (ProvisionException e) {
-			return new Status(IStatus.ERROR, Activator.ID, "Error generating category xml action.", e);
-		}
-		if (updateSite == null)
-			return new Status(IStatus.ERROR, Activator.ID, "Error generating category xml action.");
-		return super.perform(info, results, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java
deleted file mode 100644
index ac5e456..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java
+++ /dev/null
@@ -1,819 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.p2.publisher.eclipse.URLEntry;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parses a site.xml file.
- * This class was initially copied from org.eclipse.update.core.model.DefaultSiteParser.
- */
-public class DefaultSiteParser extends DefaultHandler {
-
-	private static final String ARCHIVE = "archive"; //$NON-NLS-1$
-	private static final String CATEGORY = "category"; //$NON-NLS-1$
-	private static final String CATEGORY_DEF = "category-def"; //$NON-NLS-1$
-
-	private static final String ASSOCIATE_SITES_URL = "associateSitesURL"; //$NON-NLS-1$
-	private static final String ASSOCIATE_SITE = "associateSite"; //$NON-NLS-1$
-	private static final String DEFAULT_INFO_URL = "index.html"; //$NON-NLS-1$
-	private static final String DESCRIPTION = "description"; //$NON-NLS-1$
-	private static final String FEATURE = "feature"; //$NON-NLS-1$
-	private static final String FEATURES = "features/"; //$NON-NLS-1$
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-	private static final String PLUGIN_ID = Activator.ID;
-	private static final String SITE = "site"; //$NON-NLS-1$
-
-	private static final int STATE_ARCHIVE = 3;
-	private static final int STATE_CATEGORY = 4;
-	private static final int STATE_CATEGORY_DEF = 5;
-	private static final int STATE_DESCRIPTION_CATEGORY_DEF = 7;
-	private static final int STATE_DESCRIPTION_SITE = 6;
-	private static final int STATE_FEATURE = 2;
-	private static final int STATE_IGNORED_ELEMENT = -1;
-	private static final int STATE_INITIAL = 0;
-	private static final int STATE_SITE = 1;
-
-	private int currentState;
-
-	private boolean DESCRIPTION_SITE_ALREADY_SEEN = false;
-	// Current object stack (used to hold the current object we are
-	// populating in this plugin descriptor
-	Stack objectStack = new Stack();
-
-	private SAXParser parser;
-
-	// Current State Information
-	Stack stateStack = new Stack();
-
-	// List of string keys for translated strings
-	private final List messageKeys = new ArrayList(4);
-
-	private MultiStatus status;
-	private final URI siteLocation;
-
-	/*
-	 * 
-	 */
-	private static void debug(String s) {
-		Tracing.debug("DefaultSiteParser: " + s); //$NON-NLS-1$
-	}
-
-	private static URLEntry[] getAssociateSites(String associateSitesURL) {
-
-		try {
-			DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder builder = domFactory.newDocumentBuilder();
-			Document document = builder.parse(associateSitesURL);
-			if (document == null)
-				return null;
-			NodeList mirrorNodes = document.getElementsByTagName(ASSOCIATE_SITE);
-			URLEntry[] mirrors = new URLEntry[mirrorNodes.getLength()];
-			for (int i = 0; i < mirrorNodes.getLength(); i++) {
-				Element mirrorNode = (Element) mirrorNodes.item(i);
-				mirrors[i] = new URLEntry();
-				String infoURL = mirrorNode.getAttribute("url"); //$NON-NLS-1$
-				String label = mirrorNode.getAttribute("label"); //$NON-NLS-1$
-				mirrors[i].setURL(infoURL);
-				mirrors[i].setAnnotation(label);
-
-				if (Tracing.DEBUG_GENERATOR_PARSING)
-					debug("Processed mirror: url:" + infoURL + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return mirrors;
-		} catch (Exception e) {
-			// log if absolute url
-			if (associateSitesURL != null && (associateSitesURL.startsWith("http://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("https://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("file://") //$NON-NLS-1$
-					|| associateSitesURL.startsWith("ftp://") //$NON-NLS-1$
-			|| associateSitesURL.startsWith("jar://"))) //$NON-NLS-1$
-				log(Messages.DefaultSiteParser_mirrors, e);
-			return null;
-		}
-	}
-
-	static void log(Exception e) {
-		LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Internal Error", e)); //$NON-NLS-1$
-	}
-
-	static void log(String message) {
-		LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, null));
-	}
-
-	static void log(String message, Exception e) {
-		LogHelper.log(new Status(IStatus.WARNING, Activator.ID, message, e));
-	}
-
-	/**
-	 * Constructs a site parser.
-	 */
-	public DefaultSiteParser(URI siteLocation) {
-		super();
-		this.siteLocation = siteLocation;
-		stateStack = new Stack();
-		objectStack = new Stack();
-		status = null;
-		DESCRIPTION_SITE_ALREADY_SEEN = false;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			log(e);
-		} catch (SAXException e) {
-			log(e);
-		}
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("Created"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Handle character text
-	 * @see DefaultHandler#characters(char[], int, int)
-	 * @since 2.0
-	 */
-	public void characters(char[] ch, int start, int length) {
-		String text = new String(ch, start, length);
-		//only push if description
-		int state = ((Integer) stateStack.peek()).intValue();
-		if (state == STATE_DESCRIPTION_SITE || state == STATE_DESCRIPTION_CATEGORY_DEF)
-			objectStack.push(text);
-
-	}
-
-	/**
-	 * Handle end of element tags
-	 * @see DefaultHandler#endElement(String, String, String)
-	 * @since 2.0
-	 */
-	public void endElement(String uri, String localName, String qName) {
-
-		String text = null;
-		URLEntry info = null;
-
-		int state = ((Integer) stateStack.peek()).intValue();
-		switch (state) {
-			case STATE_IGNORED_ELEMENT :
-			case STATE_ARCHIVE :
-			case STATE_CATEGORY :
-				stateStack.pop();
-				break;
-
-			case STATE_INITIAL :
-				internalError(Messages.DefaultSiteParser_ParsingStackBackToInitialState);
-				break;
-
-			case STATE_SITE :
-				stateStack.pop();
-				if (objectStack.peek() instanceof String) {
-					text = (String) objectStack.pop();
-					SiteModel site = (SiteModel) objectStack.peek();
-					site.getDescription().setAnnotation(text);
-				}
-				//do not pop the object
-				break;
-
-			case STATE_FEATURE :
-				stateStack.pop();
-				objectStack.pop();
-				break;
-
-			case STATE_CATEGORY_DEF :
-				stateStack.pop();
-				if (objectStack.peek() instanceof String) {
-					text = (String) objectStack.pop();
-					SiteCategory category = (SiteCategory) objectStack.peek();
-					category.setDescription(text);
-				}
-				objectStack.pop();
-				break;
-
-			case STATE_DESCRIPTION_SITE :
-				stateStack.pop();
-				text = ""; //$NON-NLS-1$
-				while (objectStack.peek() instanceof String) {
-					// add text, preserving at most one space between text fragments
-					String newText = (String) objectStack.pop();
-					if (trailingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-					text = newText.trim() + text;
-					if (leadingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-				}
-				text = text.trim();
-
-				info = (URLEntry) objectStack.pop();
-				if (text != null)
-					info.setAnnotation(text);
-
-				SiteModel siteModel = (SiteModel) objectStack.peek();
-				// override description.
-				// do not raise error as previous description may be default one
-				// when parsing site tag
-				if (DESCRIPTION_SITE_ALREADY_SEEN)
-					debug(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state)})));
-				siteModel.setDescription(info);
-				DESCRIPTION_SITE_ALREADY_SEEN = true;
-				break;
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				stateStack.pop();
-				text = ""; //$NON-NLS-1$
-				while (objectStack.peek() instanceof String) {
-					// add text, preserving at most one space between text fragments
-					String newText = (String) objectStack.pop();
-					if (trailingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-					text = newText.trim() + text;
-					if (leadingSpace(newText) && !leadingSpace(text)) {
-						text = " " + text; //$NON-NLS-1$
-					}
-				}
-				text = text.trim();
-
-				info = (URLEntry) objectStack.pop();
-				if (text != null)
-					info.setAnnotation(text);
-
-				SiteCategory category = (SiteCategory) objectStack.peek();
-				if (category.getDescription() != null)
-					internalError(NLS.bind(Messages.DefaultSiteParser_ElementAlreadySet, (new String[] {getState(state), category.getLabel()})));
-				else {
-					checkTranslated(info.getAnnotation());
-					category.setDescription(info.getAnnotation());
-				}
-				break;
-
-			default :
-				internalError(NLS.bind(Messages.DefaultSiteParser_UnknownEndState, (new String[] {getState(state)})));
-				break;
-		}
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End Element:" + uri + ":" + localName + ":" + qName);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/*
-	 * Handles an error state specified by the status.  The collection of all logged status
-	 * objects can be accessed using <code>getStatus()</code>.
-	 *
-	 * @param error a status detailing the error condition
-	 */
-	private void error(IStatus error) {
-
-		if (status == null) {
-			status = new MultiStatus(PLUGIN_ID, 0, Messages.DefaultSiteParser_ErrorParsingSite, null);
-		}
-
-		status.add(error);
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			LogHelper.log(error);
-	}
-
-	/**
-	 * Handle errors
-	 * @see DefaultHandler#error(SAXParseException)
-	 * @since 2.0
-	 */
-	public void error(SAXParseException ex) {
-		logStatus(ex);
-	}
-
-	/**
-	 * Handle fatal errors
-	 * @see DefaultHandler#fatalError(SAXParseException)
-	 * @exception SAXException
-	 * @since 2.0
-	 */
-	public void fatalError(SAXParseException ex) throws SAXException {
-		logStatus(ex);
-		throw ex;
-	}
-
-	/*
-	 * return the state as String
-	 */
-	private String getState(int state) {
-
-		switch (state) {
-			case STATE_IGNORED_ELEMENT :
-				return "Ignored"; //$NON-NLS-1$
-
-			case STATE_INITIAL :
-				return "Initial"; //$NON-NLS-1$
-
-			case STATE_SITE :
-				return "Site"; //$NON-NLS-1$
-
-			case STATE_FEATURE :
-				return "Feature"; //$NON-NLS-1$
-
-			case STATE_ARCHIVE :
-				return "Archive"; //$NON-NLS-1$
-
-			case STATE_CATEGORY :
-				return "Category"; //$NON-NLS-1$
-
-			case STATE_CATEGORY_DEF :
-				return "Category Def"; //$NON-NLS-1$
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				return "Description / Category Def"; //$NON-NLS-1$
-
-			case STATE_DESCRIPTION_SITE :
-				return "Description / Site"; //$NON-NLS-1$
-
-			default :
-				return Messages.DefaultSiteParser_UnknownState;
-		}
-	}
-
-	/**
-	 * Returns all status objects accumulated by the parser.
-	 *
-	 * @return multi-status containing accumulated status, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public MultiStatus getStatus() {
-		return status;
-	}
-
-	private void handleCategoryDefState(String elementName, Attributes attributes) {
-		if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_CATEGORY_DEF));
-			processInfo(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleCategoryState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(CATEGORY)) {
-			stateStack.push(new Integer(STATE_CATEGORY));
-			processCategory(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleFeatureState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else if (elementName.equals(CATEGORY)) {
-			stateStack.push(new Integer(STATE_CATEGORY));
-			processCategory(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	private void handleInitialState(String elementName, Attributes attributes) throws SAXException {
-		if (elementName.equals(SITE)) {
-			stateStack.push(new Integer(STATE_SITE));
-			processSite(attributes);
-		} else {
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-			// what we received was not a site.xml, no need to continue
-			throw new SAXException(Messages.DefaultSiteParser_InvalidXMLStream);
-		}
-
-	}
-
-	private void handleSiteState(String elementName, Attributes attributes) {
-		if (elementName.equals(DESCRIPTION)) {
-			stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
-			processInfo(attributes);
-		} else if (elementName.equals(FEATURE)) {
-			stateStack.push(new Integer(STATE_FEATURE));
-			processFeature(attributes);
-		} else if (elementName.equals(ARCHIVE)) {
-			stateStack.push(new Integer(STATE_ARCHIVE));
-			processArchive(attributes);
-		} else if (elementName.equals(CATEGORY_DEF)) {
-			stateStack.push(new Integer(STATE_CATEGORY_DEF));
-			processCategoryDef(attributes);
-		} else
-			internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {elementName, getState(currentState)})));
-	}
-
-	/*
-	 * 
-	 */
-	private void internalError(String message) {
-		error(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, message, null));
-	}
-
-	/*
-	 * 
-	 */
-	private void internalErrorUnknownTag(String msg) {
-		stateStack.push(new Integer(STATE_IGNORED_ELEMENT));
-		internalError(msg);
-	}
-
-	private boolean leadingSpace(String str) {
-		if (str.length() <= 0) {
-			return false;
-		}
-		return Character.isWhitespace(str.charAt(0));
-	}
-
-	/*
-	 * 
-	 */
-	private void logStatus(SAXParseException ex) {
-		String name = ex.getSystemId();
-		if (name == null)
-			name = ""; //$NON-NLS-1$
-		else
-			name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
-		String msg;
-		if (name.equals("")) //$NON-NLS-1$
-			msg = NLS.bind(Messages.DefaultSiteParser_ErrorParsing, (new String[] {ex.getMessage()}));
-		else {
-			String[] values = new String[] {name, Integer.toString(ex.getLineNumber()), Integer.toString(ex.getColumnNumber()), ex.getMessage()};
-			msg = NLS.bind(Messages.DefaultSiteParser_ErrorlineColumnMessage, values);
-		}
-		error(new Status(IStatus.ERROR, PLUGIN_ID, msg, ex));
-	}
-
-	/**
-	 * Parses the specified input steam and constructs a site model.
-	 * The input stream is not closed as part of this operation.
-	 * 
-	 * @param in input stream
-	 * @return site model
-	 * @exception SAXException
-	 * @exception IOException
-	 * @since 2.0
-	 */
-	public SiteModel parse(InputStream in) throws SAXException, IOException {
-		stateStack.push(new Integer(STATE_INITIAL));
-		currentState = ((Integer) stateStack.peek()).intValue();
-		parser.parse(new InputSource(in), this);
-		if (objectStack.isEmpty())
-			throw new SAXException(Messages.DefaultSiteParser_NoSiteTag);
-		if (objectStack.peek() instanceof SiteModel) {
-			SiteModel site = (SiteModel) objectStack.pop();
-			site.setMessageKeys(messageKeys);
-			return site;
-		}
-		String stack = ""; //$NON-NLS-1$
-		Iterator iter = objectStack.iterator();
-		while (iter.hasNext()) {
-			stack = stack + iter.next().toString() + "\r\n"; //$NON-NLS-1$
-		}
-		throw new SAXException(NLS.bind(Messages.DefaultSiteParser_WrongParsingStack, (new String[] {stack})));
-	}
-
-	/* 
-	 * process archive info
-	 */
-	private void processArchive(Attributes attributes) {
-		URLEntry archive = new URLEntry();
-		String id = attributes.getValue("path"); //$NON-NLS-1$
-		if (id == null || id.trim().equals("")) { //$NON-NLS-1$
-			internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"path", getState(currentState)}))); //$NON-NLS-1$
-		}
-
-		archive.setAnnotation(id);
-
-		String url = attributes.getValue("url"); //$NON-NLS-1$
-		if (url == null || url.trim().equals("")) { //$NON-NLS-1$
-			internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"archive", getState(currentState)}))); //$NON-NLS-1$
-		} else {
-			archive.setURL(url);
-
-			SiteModel site = (SiteModel) objectStack.peek();
-			site.addArchive(archive);
-		}
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing Archive: path:" + id + " url:" + url);//$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	/* 
-	 * process the Category  info
-	 */
-	private void processCategory(Attributes attributes) {
-		String category = attributes.getValue("name"); //$NON-NLS-1$
-		SiteFeature feature = (SiteFeature) objectStack.peek();
-		feature.addCategoryName(category);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing Category: name:" + category); //$NON-NLS-1$
-	}
-
-	/* 
-	 * process category def info
-	 */
-	private void processCategoryDef(Attributes attributes) {
-		SiteCategory category = new SiteCategory();
-		String name = attributes.getValue("name"); //$NON-NLS-1$
-		String label = attributes.getValue("label"); //$NON-NLS-1$
-		checkTranslated(label);
-		category.setName(name);
-		category.setLabel(label);
-
-		SiteModel site = (SiteModel) objectStack.peek();
-		site.addCategory(category);
-		objectStack.push(category);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End processing CategoryDef: name:" + name + " label:" + label); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/* 
-	 * process feature info
-	 */
-	private void processFeature(Attributes attributes) {
-		SiteFeature feature = new SiteFeature();
-
-		// feature location on the site
-		String urlInfo = attributes.getValue("url"); //$NON-NLS-1$
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		boolean noURL = (urlInfo == null || urlInfo.trim().equals("")); //$NON-NLS-1$
-		boolean noId = (id == null || id.trim().equals("")); //$NON-NLS-1$
-		boolean noVersion = (ver == null || ver.trim().equals("")); //$NON-NLS-1$
-
-		// We need to have id and version, or the url, or both.
-		if (noURL) {
-			if (noId || noVersion)
-				internalError(NLS.bind(Messages.DefaultSiteParser_Missing, (new String[] {"url", getState(currentState)}))); //$NON-NLS-1$
-			else
-				// default url
-				urlInfo = FEATURES + id + '_' + ver; // 
-		}
-
-		feature.setURLString(urlInfo);
-
-		String type = attributes.getValue("type"); //$NON-NLS-1$
-		feature.setType(type);
-
-		// if one is null, and not the other
-		if (noId ^ noVersion) {
-			String[] values = new String[] {id, ver, getState(currentState)};
-			log(NLS.bind(Messages.DefaultFeatureParser_IdOrVersionInvalid, values));
-		} else {
-			feature.setFeatureIdentifier(id);
-			feature.setFeatureVersion(ver);
-		}
-
-		// get label if it exists
-		String label = attributes.getValue("label"); //$NON-NLS-1$
-		if (label != null) {
-			if ("".equals(label.trim())) //$NON-NLS-1$
-				label = null;
-			checkTranslated(label);
-		}
-		feature.setLabel(label);
-
-		// OS
-		String os = attributes.getValue("os"); //$NON-NLS-1$
-		feature.setOS(os);
-
-		// WS
-		String ws = attributes.getValue("ws"); //$NON-NLS-1$
-		feature.setWS(ws);
-
-		// NL
-		String nl = attributes.getValue("nl"); //$NON-NLS-1$
-		feature.setNL(nl);
-
-		// arch
-		String arch = attributes.getValue("arch"); //$NON-NLS-1$
-		feature.setArch(arch);
-
-		//patch
-		String patch = attributes.getValue("patch"); //$NON-NLS-1$
-		feature.setPatch(patch);
-
-		SiteModel site = (SiteModel) objectStack.peek();
-		site.addFeature(feature);
-		feature.setSiteModel(site);
-
-		objectStack.push(feature);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End Processing DefaultFeature Tag: url:" + urlInfo + " type:" + type); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	/* 
-	 * process URL info with element text
-	 */
-	private void processInfo(Attributes attributes) {
-		URLEntry inf = new URLEntry();
-		String infoURL = attributes.getValue("url"); //$NON-NLS-1$
-		inf.setURL(infoURL);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("Processed Info: url:" + infoURL); //$NON-NLS-1$
-
-		objectStack.push(inf);
-	}
-
-	/* 
-	 * process site info
-	 */
-	private void processSite(Attributes attributes) {
-		// create site map
-		SiteModel site = new SiteModel();
-
-		// if URL is specified, it replaces the URL of the site
-		// used to calculate the location of features and archives
-		String siteURL = attributes.getValue("url"); //$NON-NLS-1$
-		if (siteURL != null && !("".equals(siteURL.trim()))) { //$NON-NLS-1$
-			if (!siteURL.endsWith("/") && !siteURL.endsWith(File.separator)) { //$NON-NLS-1$
-				siteURL += "/"; //$NON-NLS-1$
-			}
-			site.setLocationURIString(siteURL);
-		}
-
-		// provide default description URL
-		// If <description> is specified, for the site,  it takes precedence		
-		URLEntry description = new URLEntry();
-		description.setURL(DEFAULT_INFO_URL);
-		site.setDescription(description);
-
-		// verify we can parse the site ...if the site has
-		// a different type throw an exception to force reparsing
-		// with the matching parser
-		String type = attributes.getValue("type"); //$NON-NLS-1$
-		site.setType(type);
-
-		// get mirrors, if any
-		String mirrorsURL = attributes.getValue("mirrorsURL"); //$NON-NLS-1$
-		if (mirrorsURL != null && mirrorsURL.trim().length() > 0) {
-			//			URLEntry[] mirrors = getMirrors(mirrorsURL);
-			//			if (mirrors != null)
-			//				site.setMirrors(mirrors);
-			//			else
-
-			//Since we are parsing the site at p2 generation time and the 
-			//mirrors may change, there is no point doing the mirror expansion now
-			site.setMirrorsURIString(mirrorsURL);
-		}
-
-		String pack200 = attributes.getValue("pack200"); //$NON-NLS-1$
-		if (pack200 != null && new Boolean(pack200).booleanValue()) {
-			site.setSupportsPack200(true);
-		}
-
-		String digestURL = attributes.getValue("digestURL"); //$NON-NLS-1$
-		if (digestURL != null)
-			site.setDigestURIString(digestURL);
-
-		// TODO: Digest locales
-		//			if ((attributes.getValue("availableLocales") != null) && (!attributes.getValue("availableLocales").trim().equals(""))) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-		//				StringTokenizer locals = new StringTokenizer(attributes.getValue("availableLocales"), ","); //$NON-NLS-1$//$NON-NLS-2$
-		//				String[] availableLocals = new String[locals.countTokens()];
-		//				int i = 0;
-		//				while (locals.hasMoreTokens()) {
-		//					availableLocals[i++] = locals.nextToken();
-		//				}
-		//								extendedSite.setAvailableLocals(availableLocals);
-		//			}
-		//		}
-		//
-		final String associateURL = attributes.getValue(ASSOCIATE_SITES_URL);
-		if (associateURL != null) {
-			//resolve the URI relative to the site location
-			URI resolvedLocation = siteLocation.resolve(associateURL);
-			site.setAssociateSites(getAssociateSites(resolvedLocation.toString()));
-		}
-
-		objectStack.push(site);
-
-		if (Tracing.DEBUG_GENERATOR_PARSING)
-			debug("End process Site tag: siteURL:" + siteURL + " type:" + type);//$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		if (Tracing.DEBUG_GENERATOR_PARSING) {
-			debug("State: " + currentState); //$NON-NLS-1$
-			debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-		switch (currentState) {
-			case STATE_IGNORED_ELEMENT :
-				internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownElement, (new String[] {localName, getState(currentState)})));
-				break;
-			case STATE_INITIAL :
-				handleInitialState(localName, attributes);
-				break;
-
-			case STATE_SITE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_FEATURE :
-				handleFeatureState(localName, attributes);
-				break;
-
-			case STATE_ARCHIVE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_CATEGORY :
-				handleCategoryState(localName, attributes);
-				break;
-
-			case STATE_CATEGORY_DEF :
-				handleCategoryDefState(localName, attributes);
-				break;
-
-			case STATE_DESCRIPTION_SITE :
-				handleSiteState(localName, attributes);
-				break;
-
-			case STATE_DESCRIPTION_CATEGORY_DEF :
-				handleSiteState(localName, attributes);
-				break;
-
-			default :
-				internalErrorUnknownTag(NLS.bind(Messages.DefaultSiteParser_UnknownStartState, (new String[] {getState(currentState)})));
-				break;
-		}
-		int newState = ((Integer) stateStack.peek()).intValue();
-		if (newState != STATE_IGNORED_ELEMENT)
-			currentState = newState;
-
-	}
-
-	private boolean trailingSpace(String str) {
-		if (str.length() <= 0) {
-			return false;
-		}
-		return Character.isWhitespace(str.charAt(str.length() - 1));
-	}
-
-	// Add translatable strings from the site.xml
-	// to the list of message keys.
-	private void checkTranslated(String value) {
-		if (value != null && value.length() > 1 && value.startsWith("%")) //$NON-NLS-1$
-			messageKeys.add(value.substring(1));
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java
deleted file mode 100644
index af0e3ba..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DigestParser.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.*;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import javax.xml.parsers.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureManifestParser;
-import org.eclipse.equinox.p2.publisher.eclipse.Feature;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- * 
- * @since 3.0
- */
-public class DigestParser extends DefaultHandler {
-
-	private final static SAXParserFactory parserFactory = SAXParserFactory.newInstance();
-	private SAXParser parser;
-	private final List features = new ArrayList();
-	private final FeatureManifestParser featureHandler = new FeatureManifestParser(false);
-
-	public DigestParser() {
-		super();
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-
-	public void characters(char[] ch, int start, int length) throws SAXException {
-		featureHandler.characters(ch, start, length);
-	}
-
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-		if ("digest".equals(localName)) { //$NON-NLS-1$
-			return;
-		}
-		if ("feature".equals(localName)) { //$NON-NLS-1$
-			Feature feature = featureHandler.getResult();
-			features.add(feature);
-		} else
-			featureHandler.endElement(uri, localName, qName);
-	}
-
-	public Feature[] parse(File localFile, URI location) {
-		if (!localFile.exists())
-			return null;
-
-		if (location == null)
-			location = localFile.toURI();
-
-		JarFile jar = null;
-		InputStream is = null;
-		try {
-			jar = new JarFile(localFile);
-			JarEntry entry = jar.getJarEntry("digest.xml"); //$NON-NLS-1$
-			if (entry == null)
-				return null;
-			is = new BufferedInputStream(jar.getInputStream(entry));
-			parser.parse(new InputSource(is), this);
-			return (Feature[]) features.toArray(new Feature[features.size()]);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingDigest, location), e));
-		} catch (SAXException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingDigest, location), e));
-		} finally {
-			try {
-				if (is != null)
-					is.close();
-			} catch (IOException e1) {
-				//
-			}
-			try {
-				if (jar != null)
-					jar.close();
-			} catch (IOException e) {
-				//
-			}
-		}
-		return null;
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		if ("digest".equals(localName)) { //$NON-NLS-1$
-			return;
-		}
-		featureHandler.startElement(uri, localName, qName, attributes);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java
deleted file mode 100644
index 6fd9d0e..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/LocalUpdateSiteAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.actions.MergeResultsAction;
-import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A publishing action that processes a local (File-based) update site and generates
- * metadata and artifacts for the features, bundles and site index (categories etc).
- */
-public class LocalUpdateSiteAction implements IPublisherAction {
-	protected String source;
-	private UpdateSite updateSite;
-	private String categoryQualifier;
-
-	protected LocalUpdateSiteAction() {
-		// empty
-	}
-
-	/**
-	 * Creates a local updatesite publisher action from a source location
-	 * @param source The location of the directory that contains the site.xml file
-	 * @param categoryQualifier The qualifier to prepend to categories. This qualifier is used
-	 * to ensure that the category IDs are unique between update sites. If <b>null</b> a default
-	 * qualifier will be generated
-	 */
-	public LocalUpdateSiteAction(String source, String categoryQualifier) {
-		this.source = source;
-		this.categoryQualifier = categoryQualifier;
-	}
-
-	/**
-	 * Creates a local updatesite publisher action from an UpdateSite
-	 * @param updateSite The updatesite to use
-	 * @param categoryQualifier The qualifier to prepend to categories. This qualifier is used
-	 * to ensure that the category IDs are unique between update sites.  If <b>null</b> a default
-	 * qualifier will be generated
-	 */
-	public LocalUpdateSiteAction(UpdateSite updateSite, String categoryQualifier) {
-		this.updateSite = updateSite;
-		this.categoryQualifier = categoryQualifier;
-	}
-
-	public IStatus perform(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) {
-		IPublisherAction[] actions = createActions();
-		MultiStatus finalStatus = new MultiStatus(LocalUpdateSiteAction.class.getName(), 0, NLS.bind(Messages.Error_Generation, source != null ? source : (updateSite != null ? updateSite.getLocation().toString() : "Unknown")), null); //$NON-NLS-1$
-		for (int i = 0; i < actions.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			finalStatus.merge(actions[i].perform(info, results, monitor));
-		}
-		if (!finalStatus.isOK())
-			return finalStatus;
-		return Status.OK_STATUS;
-	}
-
-	protected IPublisherAction[] createActions() {
-		createAdvice();
-		ArrayList result = new ArrayList();
-		// create an action that just publishes the raw bundles and features
-		IPublisherAction action = new MergeResultsAction(new IPublisherAction[] {createFeaturesAction(), createBundlesAction()}, IPublisherResult.MERGE_ALL_NON_ROOT);
-		result.add(action);
-		result.add(createSiteXMLAction());
-		return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]);
-	}
-
-	private IPublisherAction createSiteXMLAction() {
-		if (updateSite != null)
-			return new SiteXMLAction(updateSite, categoryQualifier);
-		if (source != null) {
-			SiteXMLAction siteXmlAction = new SiteXMLAction(new File(source, "site.xml").toURI(), categoryQualifier); //$NON-NLS-1$
-			return siteXmlAction;
-		}
-		return null;
-	}
-
-	private void createAdvice() {
-		// empty
-	}
-
-	protected IPublisherAction createFeaturesAction() {
-		return new FeaturesAction(new File[] {new File(source, "features")}); //$NON-NLS-1$
-	}
-
-	protected IPublisherAction createBundlesAction() {
-		return new BundlesAction(new File[] {new File(source, "plugins")}); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
deleted file mode 100644
index 8b54170..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/Messages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.updatesite.messages"; //$NON-NLS-1$
-
-	public static String ErrorReadingDigest;
-	public static String ErrorReadingFeature;
-	public static String ErrorReadingSite;
-	public static String Error_Generation;
-
-	public static String DefaultFeatureParser_IdOrVersionInvalid;
-	public static String DefaultSiteParser_NoSiteTag;
-	public static String DefaultSiteParser_WrongParsingStack;
-	public static String DefaultSiteParser_UnknownElement;
-	public static String DefaultSiteParser_UnknownStartState;
-	public static String DefaultSiteParser_Missing;
-	public static String DefaultSiteParser_ParsingStackBackToInitialState;
-	public static String DefaultSiteParser_ElementAlreadySet;
-	public static String DefaultSiteParser_UnknownEndState;
-	public static String DefaultSiteParser_ErrorParsing;
-	public static String DefaultSiteParser_ErrorlineColumnMessage;
-	public static String DefaultSiteParser_ErrorParsingSite;
-	public static String DefaultSiteParser_UnknownState;
-	public static String DefaultSiteParser_InvalidXMLStream;
-	public static String DefaultSiteParser_mirrors;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// prevent instantiation
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java
deleted file mode 100644
index 06867d7..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteFeaturesAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.util.NLS;
-
-public class RemoteFeaturesAction extends FeaturesAction {
-	private UpdateSite updateSite;
-
-	public RemoteFeaturesAction(UpdateSite updateSite) {
-		super((Feature[]) null);
-		this.updateSite = updateSite;
-	}
-
-	public RemoteFeaturesAction(Feature[] features) {
-		super(features);
-		throw new IllegalArgumentException();
-	}
-
-	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
-		try {
-			this.info = publisherInfo;
-			features = updateSite.loadFeatures(monitor);
-			return super.perform(publisherInfo, results, monitor);
-		} catch (ProvisionException e) {
-			return new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Error_Generation, updateSite), e);
-		} catch (OperationCanceledException e) {
-			return Status.CANCEL_STATUS;
-		}
-
-	}
-
-	protected void generateFeatureIUs(Feature[] featureList, IPublisherResult result) {
-		Properties extraProperties = new Properties();
-		extraProperties.put(IInstallableUnit.PROP_PARTIAL_IU, Boolean.TRUE.toString());
-		for (int i = 0; i < featureList.length; i++) {
-			Feature feature = featureList[i];
-			FeatureEntry[] featureEntries = feature.getEntries();
-			for (int j = 0; j < featureEntries.length; j++) {
-				FeatureEntry entry = featureEntries[j];
-				if (entry.isPlugin() && !entry.isRequires()) {
-					Dictionary mockManifest = new Properties();
-					mockManifest.put("Manifest-Version", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$
-					mockManifest.put("Bundle-ManifestVersion", "2"); //$NON-NLS-1$ //$NON-NLS-2$
-					mockManifest.put("Bundle-SymbolicName", entry.getId()); //$NON-NLS-1$
-					mockManifest.put("Bundle-Version", entry.getVersion()); //$NON-NLS-1$
-					BundleDescription bundleDescription = BundlesAction.createBundleDescription(mockManifest, null);
-					IArtifactKey key = BundlesAction.createBundleArtifactKey(entry.getId(), entry.getVersion());
-					IInstallableUnit[] bundleIUs = PublisherHelper.createEclipseIU(bundleDescription, entry.isUnpack(), key, extraProperties);
-					for (int n = 0; n < bundleIUs.length; n++)
-						result.addIU(bundleIUs[n], IPublisherResult.ROOT);
-				}
-			}
-			IInstallableUnit featureIU = createFeatureJarIU(feature, new PublisherInfo());
-			List childIUs = new ArrayList();
-			childIUs.add(featureIU);
-			IInstallableUnit groupIU = createGroupIU(feature, childIUs, new PublisherInfo());
-			result.addIU(featureIU, IPublisherResult.ROOT);
-			result.addIU(groupIU, IPublisherResult.ROOT);
-			generateSiteReferences(feature, result, info);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java
deleted file mode 100644
index 428c061..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/RemoteUpdateSiteAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.Tracing;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * A publishing action that processes a remote (URL-based) update site and generates
- * metadata and artifacts for the features, bundles and site index (categories etc).  The 
- * IUs generated for the bundles are "partial" as the bundles themselves are not downloaded.
- */
-public class RemoteUpdateSiteAction implements IPublisherAction {
-	private UpdateSite updateSite;
-	private final String categoryQualifier;
-
-	/**
-	 * Creates a local remote updatesite publisher action from an UpdateSite
-	 * @param updateSite The UpdateSite to use
-	 * @param categoryQualifier The qualifier to prepend to categories. This qualifier is used
-	 * to ensure that the category IDs are unique between update sites. If <b>null</b> a default
-	 * qualifier will be generated
-	 */
-	public RemoteUpdateSiteAction(UpdateSite updateSite, String categoryQualifier) {
-		this.updateSite = updateSite;
-		this.categoryQualifier = categoryQualifier;
-	}
-
-	public IStatus perform(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) {
-		if (Tracing.DEBUG_PUBLISHING)
-			Tracing.debug("Generating metadata for update site: " + updateSite.getLocation()); //$NON-NLS-1$
-		IPublisherAction[] actions = createActions();
-		MultiStatus finalStatus = new MultiStatus(this.getClass().getName(), 0, NLS.bind(Messages.Error_Generation, updateSite != null ? updateSite.getLocation().toString() : "Unknown"), null); //$NON-NLS-1$
-		for (int i = 0; i < actions.length; i++) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			finalStatus.merge(actions[i].perform(info, results, monitor));
-		}
-		if (Tracing.DEBUG_PUBLISHING)
-			Tracing.debug("Generation for update site complete: " + updateSite.getLocation()); //$NON-NLS-1$
-		if (!finalStatus.isOK())
-			return finalStatus;
-		return Status.OK_STATUS;
-	}
-
-	protected IPublisherAction[] createActions() {
-		ArrayList result = new ArrayList();
-		result.add(new RemoteFeaturesAction(updateSite));
-		result.add(createSiteXMLAction());
-		return (IPublisherAction[]) result.toArray(new IPublisherAction[result.size()]);
-	}
-
-	private IPublisherAction createSiteXMLAction() {
-		return new SiteXMLAction(updateSite, categoryQualifier);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java
deleted file mode 100644
index 131016e..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteCategory.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Comparator;
-import java.util.Map;
-
-/**
- * A category in an update site.
- * 
- * Based on org.eclipse.update.core.model.CategoryModel.
- */
-public class SiteCategory {
-
-	private static Comparator comp;
-	private String description;
-	private String label;
-	private String name;
-	private Map localizations;
-
-	/**
-	 * Returns a comparator for category models.
-	 * 
-	 * @return comparator
-	 * @since 2.0
-	 */
-	public static Comparator getComparator() {
-		if (comp == null) {
-			comp = new Comparator() {
-				/*
-				 * @see Comparator#compare(Object,Object)
-				 * Returns 0 if versions are equal.
-				 * Returns -1 if object1 is after than object2.
-				 * Returns +1 if object1 is before than object2.
-				 */
-				public int compare(Object o1, Object o2) {
-
-					SiteCategory cat1 = (SiteCategory) o1;
-					SiteCategory cat2 = (SiteCategory) o2;
-
-					if (cat1.equals(cat2))
-						return 0;
-					return cat1.getName().compareTo(cat2.getName());
-				}
-			};
-		}
-		return comp;
-	}
-
-	/**
-	 * Creates an uninitialized model object.
-	 * 
-	 * @since 2.0
-	 */
-	public SiteCategory() {
-		super();
-	}
-
-	/**
-	 * Compare two category models for equality.
-	 * 
-	 * @see Object#equals(Object)
-	 * @since 2.0
-	 */
-	public boolean equals(Object obj) {
-		boolean result = false;
-		if (obj instanceof SiteCategory) {
-			SiteCategory otherCategory = (SiteCategory) obj;
-			result = getName().equalsIgnoreCase(otherCategory.getName());
-		}
-		return result;
-	}
-
-	/**
-	 * Retrieve the detailed category description
-	 * 
-	 * @return category description, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Retrieve the non-localized displayable label for the category.
-	 * 
-	 * @return non-localized displayable label, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Gets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @return a map from locale to property set
-	 * @since 3.4
-	 */
-	public Map getLocalizations() {
-		return this.localizations;
-	}
-
-	/**
-	 * Retrieve the name of the category.
-	 * 
-	 * @return category name, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Compute hash code for category model.
-	 * 
-	 * @see Object#hashCode()
-	 * @since 2.0
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-	/**
-	 * Resolve the model object.
-	 * Any URL strings in the model are resolved relative to the 
-	 * base URL argument. Any translatable strings in the model that are
-	 * specified as translation keys are localized using the supplied 
-	 * resource bundle.
-	 * 
-	 * @param base URL
-	 * @param bundleURL resource bundle URL
-	 * @exception MalformedURLException
-	 * @since 2.0
-	 */
-	public void resolve(URL base, URL bundleURL) throws MalformedURLException {
-		// resolve local elements
-		//		localizedLabel = resolveNLString(bundleURL, label);
-
-		// delegate to references
-		//		resolveReference(getDescriptionModel(), base, bundleURL);
-	}
-
-	/**
-	 * Sets the category description.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param description category description
-	 * @since 2.0
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the category displayable label.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param label displayable label, or resource key
-	 * @since 2.0
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Sets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @param localizations as a map from locale to property set
-	 * @since 3.4
-	 */
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-	}
-
-	/**
-	 * Sets the category name.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param name category name
-	 * @since 2.0
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java
deleted file mode 100644
index 3ad5104..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteFeature.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 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
- *     James D Miles (IBM Corp.) - bug 191783, NullPointerException in FeatureDownloader
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * A reference to a feature in an update site.xml file.
- * 
- * Based on org.eclipse.update.core.model.FeatureReferenceModel.
- */
-public class SiteFeature {
-
-	private String arch;
-	// performance
-	private URL base;
-	private List /* of String*/categoryNames;
-	private String featureId;
-	private String featureVersion;
-	private String label;
-	private String nl;
-
-	private String os;
-	private String patch;
-	private final boolean resolved = false;
-	private SiteModel site;
-	private String type;
-	private URL url;
-	private String urlString;
-	private String ws;
-
-	/*
-	 * Compares two URL for equality
-	 */
-	public static boolean sameURL(URL url1, URL url2) {
-		if (url1 == url2)
-			return true;
-		if (url1 == null ^ url2 == null)
-			return false;
-
-		// check if URL are file: URL as we may
-		// have 2 URL pointing to the same featureReference
-		// but with different representation
-		// (i.e. file:/C;/ and file:C:/)
-		final boolean isFile1 = "file".equalsIgnoreCase(url1.getProtocol());//$NON-NLS-1$
-		final boolean isFile2 = "file".equalsIgnoreCase(url2.getProtocol());//$NON-NLS-1$
-		if (isFile1 && isFile2) {
-			File file1 = new File(url1.getFile());
-			File file2 = new File(url2.getFile());
-			return file1.equals(file2);
-		}
-		// URL1 xor URL2 is a file, return false. (They either both need to be files, or neither)
-		if (isFile1 ^ isFile2)
-			return false;
-		return getExternalForm(url1).equals(getExternalForm(url2));
-	}
-
-	/**
-	 * Gets the external form of this URL. In particular, it trims any white space, 
-	 * removes a trailing slash and creates a lower case string.
-	 */
-	private static String getExternalForm(URL url) {
-		String externalForm = url.toExternalForm();
-		if (externalForm == null)
-			return ""; //$NON-NLS-1$
-		externalForm = externalForm.trim();
-		if (externalForm.endsWith("/")) { //$NON-NLS-1$
-			// Remove the trailing slash
-			externalForm = externalForm.substring(0, externalForm.length() - 1);
-		}
-		return externalForm.toLowerCase();
-
-	}
-
-	/**
-	 * Creates an uninitialized feature reference model object.
-	 */
-	public SiteFeature() {
-		super();
-	}
-
-	/**
-	 * Adds the name of a category this feature belongs to.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param categoryName category name
-	 */
-	public void addCategoryName(String categoryName) {
-		if (this.categoryNames == null)
-			this.categoryNames = new ArrayList();
-		if (!this.categoryNames.contains(categoryName))
-			this.categoryNames.add(categoryName);
-	}
-
-	private void delayedResolve() {
-
-		// PERF: delay resolution
-		if (resolved)
-			return;
-
-		// resolve local elements
-		try {
-			url = new URL(base, urlString);
-		} catch (MalformedURLException e) {
-			//			UpdateCore.warn("", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Compares 2 feature reference models for equality
-	 *  
-	 * @param object feature reference model to compare with
-	 * @return <code>true</code> if the two models are equal, 
-	 * <code>false</code> otherwise
-	 */
-	public boolean equals(Object object) {
-		if (object == null)
-			return false;
-		if (!(object instanceof SiteFeature))
-			return false;
-		SiteFeature that = (SiteFeature) object;
-		if (this.featureId == null) {
-			if (that.featureId != null)
-				return false;
-		} else if (!this.featureId.equals(that.featureId))
-			return false;
-		if (this.featureVersion == null) {
-			if (that.featureVersion != null)
-				return false;
-		} else if (!this.featureVersion.equals(that.featureVersion))
-			return false;
-		if (this.label == null) {
-			if (that.label != null)
-				return false;
-		} else if (!this.label.equals(that.label))
-			return false;
-		return sameURL(this.getURL(), that.getURL());
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + (featureId == null ? 0 : featureId.hashCode());
-		result = prime * result + (featureVersion == null ? 0 : featureVersion.hashCode());
-		if (this.getURL() == null)
-			return result;
-
-		if ("file".equalsIgnoreCase(getURL().getProtocol())) {//$NON-NLS-1$ 
-			// If the URL is a file, then create the HashCode from the file
-			File f = new File(getURL().getFile());
-			if (f != null)
-				result = prime * result + f.hashCode();
-		} else
-			// Otherwise create it from the External form of the URL (in lower case)
-			result = prime * result + getExternalForm(this.getURL()).hashCode();
-		return result;
-	}
-
-	/**
-	 * Returns the names of categories the referenced feature belongs to.
-	 * 
-	 * @return an array of names, or an empty array.
-	 */
-	public String[] getCategoryNames() {
-		if (categoryNames == null)
-			return new String[0];
-
-		return (String[]) categoryNames.toArray(new String[0]);
-	}
-
-	/**
-	 * Returns the feature identifier as a string
-	 * 
-	 * @return feature identifier
-	 */
-	public String getFeatureIdentifier() {
-		return featureId;
-	}
-
-	/**
-	 * Returns the feature version as a string
-	 * 
-	 * @return feature version 
-	 */
-	public String getFeatureVersion() {
-		return featureVersion;
-	}
-
-	/**
-	 * Retrieve the displayable label for the feature reference. If the model
-	 * object has been resolved, the label is localized.
-	 *
-	 * @return displayable label, or <code>null</code>.
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Retrieve the non-localized displayable label for the feature reference.
-	 *
-	 * @return non-localized displayable label, or <code>null</code>.
-	 */
-	public String getLabelNonLocalized() {
-		return label;
-	}
-
-	/**
-	 * Get optional locale specification as a comma-separated string.
-	 *
-	 * @return the locale specification string, or <code>null</code>.
-	 */
-	public String getNL() {
-		return nl;
-	}
-
-	/**
-	 * Get optional operating system specification as a comma-separated string.
-	 *
-	 * @return the operating system specification string, or <code>null</code>.
-	 */
-	public String getOS() {
-		return os;
-	}
-
-	/**
-	 * Get optional system architecture specification as a comma-separated string.
-	 *
-	 * @return the system architecture specification string, or <code>null</code>.
-	 */
-	public String getOSArch() {
-		return arch;
-	}
-
-	/**
-	 * Returns the patch mode.
-	 */
-	public String getPatch() {
-		return patch;
-	}
-
-	/**
-	 * Returns the site model for the reference.
-	 * 
-	 * @return site model
-	 * @since 2.0
-	 */
-	public SiteModel getSiteModel() {
-		return site;
-	}
-
-	/**
-	 * Returns the referenced feature type.
-	 * 
-	 * @return feature type, or <code>null</code> representing the default
-	 * feature type for the site
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * Returns the resolved URL for the feature reference.
-	 * 
-	 * @return url string
-	 */
-	public URL getURL() {
-		delayedResolve();
-		return url;
-	}
-
-	/**
-	 * Returns the unresolved URL string for the reference.
-	 *
-	 * @return url string
-	 */
-	public String getURLString() {
-		return urlString;
-	}
-
-	/**
-	 * Get optional windowing system specification as a comma-separated string.
-	 *
-	 * @return the windowing system specification string, or <code>null</code>.
-	 */
-	public String getWS() {
-		return ws;
-	}
-
-	/**
-	 * Resolve the model object.
-	 * Any URL strings in the model are resolved relative to the 
-	 * base URL argument. Any translatable strings in the model that are
-	 * specified as translation keys are localized using the supplied 
-	 * resource bundle.
-	 * 
-	 * @param resolveBase URL
-	 * @param bundleURL resource bundle URL
-	 * @exception MalformedURLException
-	 */
-	public void resolve(URL resolveBase, URL bundleURL) throws MalformedURLException {
-		this.base = resolveBase;
-	}
-
-	/**
-	 * Sets the system architecture specification.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param arch system architecture specification as a comma-separated list
-	 */
-	public void setArch(String arch) {
-		this.arch = arch;
-	}
-
-	/**
-	 * Sets the names of categories this feature belongs to.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param categoryNames an array of category names
-	 */
-	public void setCategoryNames(String[] categoryNames) {
-		if (categoryNames == null)
-			this.categoryNames = null;
-		else
-			this.categoryNames = new ArrayList(Arrays.asList(categoryNames));
-	}
-
-	/**
-	 * Sets the feature identifier.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param featureId feature identifier
-	 */
-	public void setFeatureIdentifier(String featureId) {
-		this.featureId = featureId;
-	}
-
-	/**
-	 * Sets the feature version.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param featureVersion feature version
-	 */
-	public void setFeatureVersion(String featureVersion) {
-		this.featureVersion = featureVersion;
-	}
-
-	/**
-	 * Sets the label.
-	 * @param label The label to set
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Sets the locale specification.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param nl locale specification as a comma-separated list
-	 */
-	public void setNL(String nl) {
-		this.nl = nl;
-	}
-
-	/**
-	 * Sets the operating system specification.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param os operating system specification as a comma-separated list
-	 */
-	public void setOS(String os) {
-		this.os = os;
-	}
-
-	/**
-	 * Sets the patch mode.
-	 */
-	public void setPatch(String patch) {
-		this.patch = patch;
-	}
-
-	/**
-	 * Sets the site for the referenced.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param site site for the reference
-	 */
-	public void setSiteModel(SiteModel site) {
-		this.site = site;
-	}
-
-	/**
-	 * Sets the referenced feature type.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param type referenced feature type
-	 */
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	/**
-	 * Sets the unresolved URL for the feature reference.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param urlString unresolved URL string
-	 */
-	public void setURLString(String urlString) {
-		this.urlString = urlString;
-		this.url = null;
-	}
-
-	/**
-	 * Sets the windowing system specification.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param ws windowing system specification as a comma-separated list
-	 */
-	public void setWS(String ws) {
-		this.ws = ws;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getClass().toString() + " :"); //$NON-NLS-1$
-		buffer.append(" at "); //$NON-NLS-1$
-		if (url != null)
-			buffer.append(url.toExternalForm());
-		return buffer.toString();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java
deleted file mode 100644
index d0bd694..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.equinox.p2.publisher.eclipse.URLEntry;
-
-/**
- * A model of an update site.
- * 
- * Copied from org.eclipse.update.core.model.SiteModel.
- */
-public class SiteModel {
-
-	private List /*of ArchiveReferenceModel*/archiveReferences;
-	/**
-	 * Map of String (category id) -> SiteCategory
-	 */
-	private Map categories;
-	private URLEntry description;
-	/**
-	 * Map of String (feature id) -> SiteFeature
-	 */
-	private List features;
-	private URI locationURI;
-	private String locationURIString;
-	private String mirrorsURIString;
-	private boolean supportsPack200;
-	private String type;
-	private URLEntry[] associateSites;
-	private String digestURIString;
-	private List messageKeys;
-	private Map localizations;
-
-	/**
-	 * Creates an uninitialized site model object.
-	 * 
-	 * @since 2.0
-	 */
-	public SiteModel() {
-		super();
-	}
-
-	/**
-	 * Adds an archive reference model to site.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param archiveReference archive reference model
-	 * @since 2.0
-	 */
-	public void addArchive(URLEntry archiveReference) {
-		if (this.archiveReferences == null)
-			this.archiveReferences = new ArrayList();
-		if (!this.archiveReferences.contains(archiveReference))
-			this.archiveReferences.add(archiveReference);
-	}
-
-	/**
-	 * Adds a category to the site.
-	 * 
-	 * @param category category model
-	 */
-	public void addCategory(SiteCategory category) {
-		if (categories == null)
-			categories = new HashMap();
-		if (!categories.containsKey(category.getName())) {
-			categories.put(category.getName(), category);
-			if (localizations != null && !localizations.isEmpty())
-				category.setLocalizations(localizations);
-		}
-	}
-
-	/**
-	 * Adds a feature reference model to site.
-	 * 
-	 * @param featureReference feature reference model
-	 */
-	public void addFeature(SiteFeature featureReference) {
-		if (this.features == null)
-			this.features = new ArrayList();
-		this.features.add(featureReference);
-	}
-
-	/**
-	 * Returns an array of plug-in and non-plug-in archive reference models
-	 * on this site
-	 * 
-	 * @return an array of archive reference models, or an empty array if there are
-	 * no archives known to this site.
-	 * @since 2.0
-	 */
-	public URLEntry[] getArchives() {
-		if (archiveReferences == null || archiveReferences.size() == 0)
-			return new URLEntry[0];
-
-		return (URLEntry[]) archiveReferences.toArray(new URLEntry[0]);
-	}
-
-	public URLEntry[] getAssociatedSites() {
-		return associateSites;
-	}
-
-	/**
-	 * Returns an array of category models for this site.
-	 * 
-	 * @return array of site category models, or an empty array.
-	 * @since 2.0
-	 */
-	public SiteCategory[] getCategories() {
-		if (categories == null || categories.size() == 0)
-			return new SiteCategory[0];
-		return (SiteCategory[]) categories.values().toArray(new SiteCategory[0]);
-	}
-
-	/**
-	 * Returns the category with the given name.
-	 * @return the category with the given name, or <code>null</code>
-	 */
-	public SiteCategory getCategory(String name) {
-		return (SiteCategory) (categories == null ? null : categories.get(name));
-	}
-
-	/**
-	 * Returns the site description.
-	 * 
-	 * @return site description, or <code>null</code>.
-	 */
-	public URLEntry getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns an array of feature reference models on this site.
-	 * 
-	 * @return an array of feature reference models, or an empty array.
-	 */
-	public SiteFeature[] getFeatures() {
-		if (features == null || features.size() == 0)
-			return new SiteFeature[0];
-		return (SiteFeature[]) features.toArray(new SiteFeature[0]);
-	}
-
-	/**
-	 * Gets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @return a map from locale to property set
-	 * @since 3.4
-	 */
-	public Map getLocalizations() {
-		return this.localizations;
-	}
-
-	/**
-	 * Returns the resolved URI for the site.
-	 * 
-	 * @return url, or <code>null</code>
-	 */
-	public URI getLocationURI() {
-		if (locationURI == null && locationURIString != null) {
-			try {
-				locationURI = new URI(locationURIString);
-			} catch (URISyntaxException e) {
-				//ignore and return null
-			}
-		}
-		return locationURI;
-	}
-
-	/**
-	 * Returns the unresolved URI string for the site.
-	 *
-	 * @return url string, or <code>null</code>
-	 */
-	public String getLocationURIString() {
-		return locationURIString;
-	}
-
-	/**
-	 * Return the keys for translatable strings
-	 *
-	 * @return the list of keys for translatable strings; may be null
-	 * @since 3.4
-	 */
-	public List getMessageKeys() {
-		return messageKeys;
-	}
-
-	/**
-	 * Returns the URI from which the list of mirrors of this site can be retrieved.
-	 * 
-	 * @since org.eclipse.equinox.p2.metadata.generator 1.0
-	 */
-	public String getMirrorsURI() {
-		return mirrorsURIString;
-	}
-
-	/** 
-	 * Returns the site type.
-	 * 
-	 * @return site type, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public String getType() {
-		return type;
-	}
-
-	public boolean isPack200Supported() {
-		return supportsPack200;
-	}
-
-	/**
-	 * Sets the site description.
-	 * 
-	 * @param description site description
-	 * @since 2.0
-	 */
-	public void setDescription(URLEntry description) {
-		this.description = description;
-	}
-
-	/**
-	 * Sets the localizations for the site as a map from locale
-	 * to the set of translated properties for that locale.
-	 * 
-	 * @param localizations as a map from locale to property set
-	 * @since 3.4
-	 */
-	public void setLocalizations(Map localizations) {
-		this.localizations = localizations;
-		if (localizations != null && !localizations.isEmpty() && //
-				categories != null && !categories.isEmpty()) {
-			for (Iterator catIter = categories.entrySet().iterator(); catIter.hasNext();) {
-				Map.Entry entry = (Map.Entry) catIter.next();
-				SiteCategory category = (SiteCategory) entry.getValue();
-				category.setLocalizations(localizations);
-			}
-		}
-	}
-
-	/**
-	 * Sets the unresolved URI for the site.
-	 * 
-	 * @param locationURIString url for the site (as a string)
-	 * @since 2.0
-	 */
-	public void setLocationURIString(String locationURIString) {
-		this.locationURIString = locationURIString;
-	}
-
-	/**
-	 * Sets keys for translatable strings
-	 * 
-	 * @param keys for translatable strings
-	 * @since 3.4
-	 */
-	public void setMessageKeys(List keys) {
-		this.messageKeys = keys;
-	}
-
-	/**
-	 * Sets the mirrors url. Mirror sites will then be obtained from this mirror url later.
-	 * This method is complementary to setMirrorsiteEntryModels(), and only one of these 
-	 * methods should be called.
-	 * 
-	 * @param mirrorsURI additional update site mirrors
-	 * @since 3.1
-	 */
-	public void setMirrorsURIString(String mirrorsURI) {
-		this.mirrorsURIString = mirrorsURI;
-	}
-
-	public void setSupportsPack200(boolean value) {
-		this.supportsPack200 = value;
-	}
-
-	/**
-	 * Sets the site type.
-	 * Throws a runtime exception if this object is marked read-only.
-	 * 
-	 * @param type site type
-	 * @since 2.0
-	 */
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	/**
-	 * Sets the associated sites for this update site.
-	 * 
-	 * @param associateSites the associated sites
-	 */
-	public void setAssociateSites(URLEntry[] associateSites) {
-		this.associateSites = associateSites;
-	}
-
-	public void setDigestURIString(String digestURIString) {
-		this.digestURIString = digestURIString;
-	}
-
-	public String getDigestURIString() {
-		return digestURIString;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
deleted file mode 100644
index b52e238..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- *   IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.metadata.LDAPQuery;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
-import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
-import org.eclipse.equinox.p2.metadata.*;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.publisher.eclipse.URLEntry;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.spi.p2.publisher.LocalizationHelper;
-import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-
-/**
- * Action which processes a site.xml and generates categories.  The categorization process
- * relies on IUs for the various features to have already been generated.
- */
-public class SiteXMLAction extends AbstractPublisherAction {
-	static final private String QUALIFIER = "qualifier"; //$NON-NLS-1$
-	protected UpdateSite updateSite;
-	private SiteCategory defaultCategory;
-	private HashSet defaultCategorySet;
-	protected URI location;
-	private String categoryQualifier = null;
-
-	/**
-	 * Creates a SiteXMLAction from a Location (URI) with an optional qualifier to use for category names
-	 * @param location The location of the update site
-	 * @param categoryQualifier The qualifier to prepend to categories. This qualifier is used
-	 * to ensure that the category IDs are unique between update sites. If <b>null</b> a default
-	 * qualifier will be generated
-	 */
-	public SiteXMLAction(URI location, String categoryQualifier) {
-		this.location = location;
-		this.categoryQualifier = categoryQualifier;
-	}
-
-	/**
-	 * Creates a SiteXMLAction from an Update site with an optional qualifier to use for category names
-	 * @param updateSite The update site 
-	 * @param categoryQualifier The qualifier to prepend to categories. This qualifier is used
-	 * to ensure that the category IDs are unique between update sites. If <b>null</b> a default
-	 * qualifier will be generated
-	 */
-	public SiteXMLAction(UpdateSite updateSite, String categoryQualifier) {
-		this.updateSite = updateSite;
-		this.categoryQualifier = categoryQualifier;
-	}
-
-	private void initialize() {
-		if (defaultCategory != null)
-			return;
-		defaultCategory = new SiteCategory();
-		defaultCategory.setDescription("Default category for otherwise uncategorized features"); //$NON-NLS-1$
-		defaultCategory.setLabel("Uncategorized"); //$NON-NLS-1$
-		defaultCategory.setName("Default"); //$NON-NLS-1$
-		defaultCategorySet = new HashSet(1);
-		defaultCategorySet.add(defaultCategory);
-	}
-
-	public IStatus perform(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) {
-		if (updateSite == null) {
-			try {
-				updateSite = UpdateSite.load(location, monitor);
-			} catch (ProvisionException e) {
-				return new Status(IStatus.ERROR, Activator.ID, "Error generating site xml action.", e);
-			} catch (OperationCanceledException e) {
-				return Status.CANCEL_STATUS;
-			}
-		}
-		initialize();
-		return generateCategories(info, results, monitor);
-	}
-
-	private IStatus generateCategories(IPublisherInfo info, IPublisherResult results, IProgressMonitor monitor) {
-		Map categoriesToFeatureIUs = new HashMap();
-		Map featuresToCategories = getFeatureToCategoryMappings(info);
-		for (Iterator i = featuresToCategories.keySet().iterator(); i.hasNext();) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			SiteFeature feature = (SiteFeature) i.next();
-			IInstallableUnit iu = getFeatureIU(feature, info, results);
-			if (iu == null)
-				continue;
-			Set categories = (Set) featuresToCategories.get(feature);
-			// if there are no categories for this feature then add it to the default category.
-			if (categories == null || categories.isEmpty())
-				categories = defaultCategorySet;
-			for (Iterator it = categories.iterator(); it.hasNext();) {
-				SiteCategory category = (SiteCategory) it.next();
-				Set featureIUs = (Set) categoriesToFeatureIUs.get(category);
-				if (featureIUs == null) {
-					featureIUs = new HashSet();
-					categoriesToFeatureIUs.put(category, featureIUs);
-				}
-				featureIUs.add(iu);
-			}
-		}
-		generateCategoryIUs(categoriesToFeatureIUs, results);
-		return Status.OK_STATUS;
-	}
-
-	private IInstallableUnit getFeatureIU(SiteFeature feature, IPublisherInfo publisherInfo, IPublisherResult results) {
-		String id = feature.getFeatureIdentifier() + ".feature.group"; //$NON-NLS-1$
-		String versionString = feature.getFeatureVersion();
-		Version version = versionString != null && versionString.length() > 0 ? Version.create(versionString) : Version.emptyVersion;
-		IQuery query = null;
-		if (version.equals(Version.emptyVersion)) {
-			query = new PipedQuery(new IQuery[] {new InstallableUnitQuery(id), new LatestIUVersionQuery()});
-		} else {
-			String qualifier;
-			try {
-				qualifier = Version.toOSGiVersion(version).getQualifier();
-			} catch (UnsupportedOperationException e) {
-				qualifier = null;
-			}
-			if (qualifier != null && qualifier.endsWith(QUALIFIER)) {
-				final String v = versionString.substring(0, versionString.indexOf(QUALIFIER));
-				IQuery qualifierQuery = new InstallableUnitQuery(id) {
-					private String qualifierVersion = v.endsWith(".") ? v.substring(0, v.length() - 1) : v; //$NON-NLS-1$
-
-					public boolean isMatch(Object object) {
-						if (super.isMatch(object)) {
-							IInstallableUnit candidate = (IInstallableUnit) object;
-							return candidate.getVersion().toString().startsWith(qualifierVersion);
-						}
-						return false;
-					}
-				};
-				query = new PipedQuery(new IQuery[] {qualifierQuery, new LatestIUVersionQuery()});
-			} else {
-				query = new LimitQuery(new InstallableUnitQuery(id, version), 1);
-			}
-		}
-
-		Collector collector = results.query(query, null);
-		if (collector.size() == 0)
-			collector.addAll(publisherInfo.getMetadataRepository().query(query, null));
-		if (collector.size() == 0 && publisherInfo.getContextMetadataRepository() != null)
-			collector.addAll(publisherInfo.getContextMetadataRepository().query(query, null));
-
-		if (collector.size() == 1)
-			return (IInstallableUnit) collector.iterator().next();
-		return null;
-	}
-
-	/**
-	 * Computes the mapping of features to categories as defined in the site.xml,
-	 * if available. Returns an empty map if there is not site.xml, or no categories.
-	 * @return A map of SiteFeature -> Set<SiteCategory>.
-	 */
-	protected Map getFeatureToCategoryMappings(IPublisherInfo info) {
-		HashMap mappings = new HashMap();
-		if (updateSite == null)
-			return mappings;
-		SiteModel site = updateSite.getSite();
-		if (site == null)
-			return mappings;
-
-		//copy mirror information from update site to p2 repositories
-		String mirrors = site.getMirrorsURI();
-		if (mirrors != null) {
-			//remove site.xml file reference
-			int index = mirrors.indexOf("site.xml"); //$NON-NLS-1$
-			if (index != -1)
-				mirrors = mirrors.substring(0, index) + mirrors.substring(index + "site.xml".length()); //$NON-NLS-1$
-			info.getMetadataRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
-			// there does not really need to be an artifact repo but if there is, setup its mirrors.
-			if (info.getArtifactRepository() != null)
-				info.getArtifactRepository().setProperty(IRepository.PROP_MIRRORS_URL, mirrors);
-		}
-
-		//publish associate sites as repository references
-		URLEntry[] associatedSites = site.getAssociatedSites();
-		if (associatedSites != null)
-			for (int i = 0; i < associatedSites.length; i++)
-				generateSiteReference(associatedSites[i].getURL(), associatedSites[i].getAnnotation(), null, info.getMetadataRepository());
-
-		File siteFile = URIUtil.toFile(updateSite.getLocation());
-		if (siteFile != null && siteFile.exists()) {
-			File siteParent = siteFile.getParentFile();
-			List messageKeys = site.getMessageKeys();
-			if (siteParent.isDirectory()) {
-				String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-				site.setLocalizations(LocalizationHelper.getDirPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
-			} else if (siteFile.getName().endsWith(".jar")) { //$NON-NLS-1$
-				String[] keyStrings = (String[]) messageKeys.toArray(new String[messageKeys.size()]);
-				site.setLocalizations(LocalizationHelper.getJarPropertyLocalizations(siteParent, "site", null, keyStrings)); //$NON-NLS-1$
-			}
-		}
-
-		SiteFeature[] features = site.getFeatures();
-		for (int i = 0; i < features.length; i++) {
-			//add a mapping for each category this feature belongs to
-			String[] categoryNames = features[i].getCategoryNames();
-			Set categories = new HashSet();
-			mappings.put(features[i], categories);
-			for (int j = 0; j < categoryNames.length; j++) {
-				SiteCategory category = site.getCategory(categoryNames[j]);
-				if (category != null)
-					categories.add(category);
-			}
-		}
-		return mappings;
-	}
-
-	/**
-	 * Generates and publishes a reference to an update site location
-	 * @param location The update site location
-	 * @param label The update site label
-	 * @param featureId the identifier of the feature where the error occurred, or null
-	 * @param metadataRepo The repository into which the references are added
-	 */
-	private void generateSiteReference(String location, String label, String featureId, IMetadataRepository metadataRepo) {
-		if (metadataRepo == null)
-			return;
-		try {
-			URI associateLocation = new URI(location);
-			metadataRepo.addReference(associateLocation, label, IRepository.TYPE_METADATA, IRepository.ENABLED);
-			metadataRepo.addReference(associateLocation, label, IRepository.TYPE_ARTIFACT, IRepository.ENABLED);
-		} catch (URISyntaxException e) {
-			String message = "Invalid site reference: " + location; //$NON-NLS-1$
-			if (featureId != null)
-				message = message + " in feature: " + featureId; //$NON-NLS-1$
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, message));
-		}
-	}
-
-	/**
-	 * Generates IUs corresponding to update site categories.
-	 * @param categoriesToFeatures Map of SiteCategory ->Set (Feature IUs in that category).
-	 * @param result The generator result being built
-	 */
-	protected void generateCategoryIUs(Map categoriesToFeatures, IPublisherResult result) {
-		for (Iterator it = categoriesToFeatures.keySet().iterator(); it.hasNext();) {
-			SiteCategory category = (SiteCategory) it.next();
-			result.addIU(createCategoryIU(category, (Set) categoriesToFeatures.get(category), null), IPublisherResult.NON_ROOT);
-		}
-	}
-
-	/**
-	 * Creates an IU corresponding to an update site category
-	 * @param category The category descriptor
-	 * @param featureIUs The IUs of the features that belong to the category
-	 * @param parentCategory The parent category, or <code>null</code>
-	 * @return an IU representing the category
-	 */
-	public IInstallableUnit createCategoryIU(SiteCategory category, Set featureIUs, IInstallableUnit parentCategory) {
-		InstallableUnitDescription cat = new MetadataFactory.InstallableUnitDescription();
-		cat.setSingleton(true);
-		String categoryId = buildCategoryId(category.getName());
-		cat.setId(categoryId);
-
-		cat.setVersion(Version.createOSGi(0, 0, 0, getDateQualifier()));
-		String label = category.getLabel();
-		cat.setProperty(IInstallableUnit.PROP_NAME, label != null ? label : category.getName());
-		cat.setProperty(IInstallableUnit.PROP_DESCRIPTION, category.getDescription());
-
-		ArrayList reqsConfigurationUnits = new ArrayList(featureIUs.size());
-		for (Iterator iterator = featureIUs.iterator(); iterator.hasNext();) {
-			IInstallableUnit iu = (IInstallableUnit) iterator.next();
-			VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
-			reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter() == null ? null : ((LDAPQuery) iu.getFilter()).getFilter(), false, false));
-		}
-		//note that update sites don't currently support nested categories, but it may be useful to add in the future
-		if (parentCategory != null) {
-			reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter() == null ? null : ((LDAPQuery) parentCategory.getFilter()).getFilter(), false, false));
-		}
-		cat.setRequiredCapabilities((IRequirement[]) reqsConfigurationUnits.toArray(new IRequirement[reqsConfigurationUnits.size()]));
-
-		// Create set of provided capabilities
-		ArrayList providedCapabilities = new ArrayList();
-		providedCapabilities.add(PublisherHelper.createSelfCapability(categoryId, cat.getVersion()));
-
-		Map localizations = category.getLocalizations();
-		if (localizations != null) {
-			for (Iterator iter = localizations.keySet().iterator(); iter.hasNext();) {
-				Locale locale = (Locale) iter.next();
-				Properties translatedStrings = (Properties) localizations.get(locale);
-				Enumeration propertyKeys = translatedStrings.propertyNames();
-				while (propertyKeys.hasMoreElements()) {
-					String nextKey = (String) propertyKeys.nextElement();
-					cat.setProperty(locale.toString() + '.' + nextKey, translatedStrings.getProperty(nextKey));
-				}
-				providedCapabilities.add(PublisherHelper.makeTranslationCapability(categoryId, locale));
-			}
-		}
-
-		cat.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]));
-
-		cat.setArtifacts(new IArtifactKey[0]);
-		cat.setProperty(InstallableUnitDescription.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$
-		return MetadataFactory.createInstallableUnit(cat);
-	}
-
-	/**
-	 * Creates a qualified category id. This action's qualifier is used if one exists 
-	 * or an existing update site's location is used.
-	 */
-	private String buildCategoryId(String categoryName) {
-		if (categoryQualifier != null) {
-			if (categoryQualifier.length() > 0)
-				return categoryQualifier + "." + categoryName; //$NON-NLS-1$
-			return categoryName;
-		}
-		if (updateSite != null)
-			return URIUtil.toUnencodedString(updateSite.getLocation()) + "." + categoryName; //$NON-NLS-1$
-		return categoryName;
-	}
-
-	/*
-	 * Returns the current date/time as a string to be used as a qualifier
-	 * replacement.  This is the default qualifier replacement.  Will
-	 * be of the form YYYYMMDDHHMM.
-	 * @return current date/time as a qualifier replacement 
-	 */
-	private static String getDateQualifier() {
-		final String empty = ""; //$NON-NLS-1$
-		Calendar calendar = Calendar.getInstance();
-		int monthNbr = calendar.get(Calendar.MONTH) + 1;
-		String month = (monthNbr < 10 ? "0" : empty) + monthNbr; //$NON-NLS-1$
-
-		int dayNbr = calendar.get(Calendar.DAY_OF_MONTH);
-		String day = (dayNbr < 10 ? "0" : empty) + dayNbr; //$NON-NLS-1$
-
-		int hourNbr = calendar.get(Calendar.HOUR_OF_DAY);
-		String hour = (hourNbr < 10 ? "0" : empty) + hourNbr; //$NON-NLS-1$
-
-		int minuteNbr = calendar.get(Calendar.MINUTE);
-		String minute = (minuteNbr < 10 ? "0" : empty) + minuteNbr; //$NON-NLS-1$
-
-		int secondNbr = calendar.get(Calendar.SECOND);
-		String second = (secondNbr < 10 ? "0" : empty) + secondNbr; //$NON-NLS-1$
-
-		return empty + calendar.get(Calendar.YEAR) + month + day + hour + minute + second;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
deleted file mode 100644
index 461d38c..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSite.java
+++ /dev/null
@@ -1,581 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.io.*;
-import java.net.*;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.zip.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
-import org.eclipse.equinox.internal.p2.publisher.eclipse.FeatureParser;
-import org.eclipse.equinox.internal.p2.repository.AuthenticationFailedException;
-import org.eclipse.equinox.internal.p2.repository.RepositoryTransport;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.SAXException;
-
-/**
- * @since 1.0
- */
-public class UpdateSite {
-
-	private static final String VERSION_SEPARATOR = "_"; //$NON-NLS-1$
-	private static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-	private static final String FEATURE_DIR = "features/"; //$NON-NLS-1$
-	private static final String PLUGIN_DIR = "plugins/"; //$NON-NLS-1$
-	private static final String FEATURE_TEMP_FILE = "feature"; //$NON-NLS-1$
-	private static final String SITE_FILE = "site.xml"; //$NON-NLS-1$
-	private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-	private static final int RETRY_COUNT = 2;
-	private static final String DOT_XML = ".xml"; //$NON-NLS-1$
-	private static final String SITE = "site"; //$NON-NLS-1$
-	private String checksum;
-	private URI location;
-	private URI rootLocation;
-	private SiteModel site;
-
-	/*
-	 * Some variables for caching.
-	 */
-	// map of String (URI.toString()) to UpdateSite
-	private static Map siteCache = new HashMap();
-	// map of String (featureID_featureVersion) to Feature
-	private Map featureCache = new HashMap();
-
-	/*
-	 * Return a URI based on the given URI, which points to a site.xml file.
-	 */
-	private static URI getSiteURI(URI baseLocation) {
-		String segment = URIUtil.lastSegment(baseLocation);
-		if (constainsUpdateSiteFileName(segment))
-			return baseLocation;
-		return URIUtil.append(baseLocation, SITE_FILE);
-	}
-
-	/**
-	 * Be lenient about accepting any location with *site*.xml at the end.
-	 */
-	private static boolean constainsUpdateSiteFileName(String segment) {
-		return segment != null && segment.endsWith(DOT_XML) && segment.indexOf(SITE) != -1;
-	}
-
-	/**
-	 * Loads and returns a category file
-	 * @param location
-	 * @param monitor
-	 * @return A CategoryFile
-	 * @throws ProvisionException
-	 */
-	public static synchronized UpdateSite loadCategoryFile(URI location, IProgressMonitor monitor) throws ProvisionException {
-		if (location == null)
-			return null;
-		UpdateSite result = (UpdateSite) siteCache.get(location.toString());
-		if (result != null)
-			return result;
-		InputStream input = null;
-		File siteFile = loadActualSiteFile(location, location, monitor);
-		try {
-			DefaultSiteParser siteParser = new DefaultSiteParser(location);
-			Checksum checksum = new CRC32();
-			input = new CheckedInputStream(new BufferedInputStream(new FileInputStream(siteFile)), checksum);
-			SiteModel siteModel = siteParser.parse(input);
-			String checksumString = Long.toString(checksum.getValue());
-			result = new UpdateSite(siteModel, location, checksumString);
-			siteCache.put(location.toString(), result);
-			return result;
-		} catch (SAXException e) {
-			String msg = NLS.bind(Messages.ErrorReadingSite, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.ErrorReadingSite, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			try {
-				if (input != null)
-					input.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			if (!PROTOCOL_FILE.equals(location.getScheme()))
-				siteFile.delete();
-		}
-	}
-
-	/*
-	 * Load and return an update site object from the given location.
-	 */
-	public static synchronized UpdateSite load(URI location, IProgressMonitor monitor) throws ProvisionException {
-		if (location == null)
-			return null;
-		UpdateSite result = (UpdateSite) siteCache.get(location.toString());
-		if (result != null)
-			return result;
-		InputStream input = null;
-		File siteFile = loadSiteFile(location, monitor);
-		try {
-			DefaultSiteParser siteParser = new DefaultSiteParser(location);
-			Checksum checksum = new CRC32();
-			input = new CheckedInputStream(new BufferedInputStream(new FileInputStream(siteFile)), checksum);
-			SiteModel siteModel = siteParser.parse(input);
-			String checksumString = Long.toString(checksum.getValue());
-			result = new UpdateSite(siteModel, getSiteURI(location), checksumString);
-			siteCache.put(location.toString(), result);
-			return result;
-		} catch (SAXException e) {
-			String msg = NLS.bind(Messages.ErrorReadingSite, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} catch (IOException e) {
-			String msg = NLS.bind(Messages.ErrorReadingSite, location);
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, e));
-		} finally {
-			try {
-				if (input != null)
-					input.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			if (!PROTOCOL_FILE.equals(location.getScheme()))
-				siteFile.delete();
-		}
-	}
-
-	private static File loadSiteFile(URI location, IProgressMonitor monitor) throws ProvisionException {
-		return loadActualSiteFile(location, getSiteURI(location), monitor);
-	}
-
-	/**
-	 * Returns a local file containing the contents of the update site at the given location.
-	 */
-	private static File loadActualSiteFile(URI location, URI actualLocation, IProgressMonitor monitor) throws ProvisionException {
-		SubMonitor submonitor = SubMonitor.convert(monitor, 1000);
-		try {
-			File siteFile = null;
-			IStatus transferResult = null;
-			boolean deleteSiteFile = false;
-			try {
-				if (PROTOCOL_FILE.equals(actualLocation.getScheme())) {
-					siteFile = URIUtil.toFile(actualLocation);
-					if (siteFile.exists())
-						transferResult = Status.OK_STATUS;
-					else {
-						String msg = NLS.bind(Messages.ErrorReadingSite, location);
-						transferResult = new Status(IStatus.ERROR, Activator.ID, ProvisionException.ARTIFACT_NOT_FOUND, msg, new FileNotFoundException(siteFile.getAbsolutePath()));
-					}
-				} else {
-					// creating a temp file. In the event of an error we want to delete it.
-					deleteSiteFile = true;
-					OutputStream destination = null;
-					try {
-						siteFile = File.createTempFile("site", ".xml"); //$NON-NLS-1$//$NON-NLS-2$
-						destination = new BufferedOutputStream(new FileOutputStream(siteFile));
-					} catch (IOException e) {
-						throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, "Can not create tempfile for site.xml", e)); //$NON-NLS-1$
-					}
-					try {
-						transferResult = getTransport().download(actualLocation, destination, submonitor.newChild(999));
-					} finally {
-						try {
-							destination.close();
-						} catch (IOException e) {
-							throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, "Failing to close tempfile for site.xml", e)); //$NON-NLS-1$
-						}
-					}
-				}
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				if (transferResult.isOK()) {
-					// successful. If the siteFile is the download of a remote site.xml it will get cleaned up later
-					deleteSiteFile = false;
-					return siteFile;
-				}
-
-				// The transferStatus from download has a well formatted message that should
-				// be used as it contains useful feedback to the user.
-				// The only thing needed is to translate the error code ARTIFACT_NOT_FOUND to
-				// REPOSITORY_NOT_FOUND as the download does not know what the file represents.
-				//
-				IStatus ms = null;
-				if (transferResult.getException() instanceof FileNotFoundException)
-					ms = new MultiStatus(Activator.ID, //
-							ProvisionException.REPOSITORY_NOT_FOUND,
-							// (code == ProvisionException.ARTIFACT_NOT_FOUND || code == ProvisionException.REPOSITORY_NOT_FOUND ? ProvisionException.REPOSITORY_NOT_FOUND : ProvisionException.REPOSITORY_FAILED_READ), //
-							new IStatus[] {transferResult}, //
-							NLS.bind(Messages.ErrorReadingSite, location), null);
-				else
-					ms = transferResult;
-				throw new ProvisionException(ms);
-
-			} finally {
-				if (deleteSiteFile && siteFile != null)
-					siteFile.delete();
-			}
-		} finally {
-			if (monitor != null)
-				monitor.done();
-		}
-	}
-
-	/*
-	 * Parse the feature.xml specified by the given input stream and return the feature object.
-	 * In case of failure, the failure is logged and null is returned
-	 */
-	private static Feature parseFeature(FeatureParser featureParser, URI featureURI, IProgressMonitor monitor) {
-		File featureFile = null;
-		if (PROTOCOL_FILE.equals(featureURI.getScheme())) {
-			featureFile = URIUtil.toFile(featureURI);
-			return featureParser.parse(featureFile);
-		}
-		try {
-			featureFile = File.createTempFile(FEATURE_TEMP_FILE, JAR_EXTENSION);
-			IStatus transferResult = null;
-			//try the download twice in case of transient network problems
-			for (int i = 0; i < RETRY_COUNT; i++) {
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				OutputStream destination = new BufferedOutputStream(new FileOutputStream(featureFile));
-				try {
-					transferResult = getTransport().download(featureURI, destination, monitor);
-				} finally {
-					try {
-						destination.close();
-					} catch (IOException e) {
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, featureURI), e));
-						return null;
-					}
-				}
-				if (transferResult.isOK())
-					break;
-			}
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-			if (!transferResult.isOK()) {
-				LogHelper.log(new ProvisionException(transferResult));
-				return null;
-			}
-			return featureParser.parse(featureFile);
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, featureURI), e));
-		} finally {
-			if (featureFile != null)
-				featureFile.delete();
-		}
-		return null;
-	}
-
-	/**
-	 * Throw an exception if the site pointed to by the given URI is not valid.
-	 * @param url the site file to check
-	 * @param monitor a monitor
-	 * @throws UserCancelledException if user canceled during authentication
-	 * @throws AuthenticationFailedException if too many attempts made to login
-	 * @throws FileNotFoundException if the remote file does not exist
-	 * @throws CoreException on errors in communication (unknown host, connection refused, etc.)
-	 */
-	public static void validate(URI url, IProgressMonitor monitor) throws UserCancelledException, AuthenticationFailedException, FileNotFoundException, CoreException {
-		URI siteURI = getSiteURI(url);
-		long lastModified = getTransport().getLastModified(siteURI, monitor);
-		if (lastModified == 0) {
-			throw new FileNotFoundException(url.toString());
-			//			String msg = NLS.bind(Messages.ErrorReadingSite, url);
-			//			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_READ, msg, null));
-		}
-	}
-
-	/*
-	 * Constructor for the class.
-	 */
-	private UpdateSite(SiteModel site, URI location, String checksum) {
-		super();
-		this.site = site;
-		this.location = location;
-		this.checksum = checksum;
-		this.rootLocation = getRootLocation();
-
-	}
-
-	private URI getRootLocation() {
-		String locationString = location.toString();
-		int slashIndex = locationString.lastIndexOf('/');
-		if (slashIndex == -1 || slashIndex == (locationString.length() - 1))
-			return location;
-
-		return URI.create(locationString.substring(0, slashIndex + 1));
-	}
-
-	/*
-	 * Iterate over the archive entries in this site and return the matching URI string for
-	 * the given identifier, if there is one.
-	 */
-	private URI getArchiveURI(URI base, String identifier) {
-		URLEntry[] archives = site.getArchives();
-		for (int i = 0; archives != null && i < archives.length; i++) {
-			URLEntry entry = archives[i];
-			if (identifier.equals(entry.getAnnotation()))
-				return internalGetURI(base, entry.getURL());
-		}
-		return null;
-	}
-
-	/*
-	 * Return the checksum for this site.
-	 */
-	public String getChecksum() {
-		return checksum;
-	}
-
-	/*
-	 * Return a URI which represents the location of the given feature.
-	 */
-	public URI getSiteFeatureURI(SiteFeature siteFeature) {
-		URL url = siteFeature.getURL();
-		try {
-			if (url != null)
-				return URIUtil.toURI(url);
-		} catch (URISyntaxException e) {
-			//fall through and resolve the URI ourselves
-		}
-		URI base = getBaseURI();
-		String featureURIString = siteFeature.getURLString();
-		return internalGetURI(base, featureURIString);
-	}
-
-	/*
-	 * Return a URI which represents the location of the given feature.
-	 */
-	public URI getFeatureURI(String id, String version) {
-		SiteFeature[] entries = site.getFeatures();
-		for (int i = 0; i < entries.length; i++) {
-			if (id.equals(entries[i].getFeatureIdentifier()) && version.equals(entries[i].getFeatureVersion())) {
-				return getSiteFeatureURI(entries[i]);
-			}
-		}
-
-		URI base = getBaseURI();
-		URI url = getArchiveURI(base, FEATURE_DIR + id + VERSION_SEPARATOR + version + JAR_EXTENSION);
-		if (url != null)
-			return url;
-		return URIUtil.append(base, FEATURE_DIR + id + VERSION_SEPARATOR + version + JAR_EXTENSION);
-	}
-
-	/*
-	 * Return the location of this site.
-	 */
-	public URI getLocation() {
-		return location;
-	}
-
-	public String getMirrorsURI() {
-		//copy mirror information from update site to p2 repositories
-		String mirrors = site.getMirrorsURI();
-		if (mirrors == null)
-			return null;
-		//remove site.xml file reference
-		int index = mirrors.indexOf("site.xml"); //$NON-NLS-1$
-		if (index != -1)
-			mirrors = mirrors.substring(0, index) + mirrors.substring(index + "site.xml".length()); //$NON-NLS-1$
-		return mirrors;
-	}
-
-	/*
-	 * Return a URI which represents the location of the given plug-in.
-	 */
-	public URI getPluginURI(FeatureEntry plugin) {
-		URI base = getBaseURI();
-		String path = PLUGIN_DIR + plugin.getId() + VERSION_SEPARATOR + plugin.getVersion() + JAR_EXTENSION;
-		URI url = getArchiveURI(base, path);
-		if (url != null)
-			return url;
-		return URIUtil.append(base, path);
-	}
-
-	private URI getBaseURI() {
-		URI base = null;
-		String siteURIString = site.getLocationURIString();
-		if (siteURIString != null) {
-			if (!siteURIString.endsWith("/")) //$NON-NLS-1$
-				siteURIString += "/"; //$NON-NLS-1$
-			base = internalGetURI(rootLocation, siteURIString);
-		}
-		if (base == null)
-			base = rootLocation;
-		return base;
-	}
-
-	/*
-	 * Return the site model.
-	 */
-	public SiteModel getSite() {
-		return site;
-	}
-
-	/*
-	 * The trailing parameter can be either null, relative or absolute. If it is null,
-	 * then return null. If it is absolute, then create a new url and return it. If it is
-	 * relative, then make it relative to the given base url.
-	 */
-	private URI internalGetURI(URI base, String trailing) {
-		if (trailing == null)
-			return null;
-		return URIUtil.makeAbsolute(URI.create(trailing), base);
-	}
-
-	/*
-	 * Load and return the features references in this update site.
-	 */
-	public synchronized Feature[] loadFeatures(IProgressMonitor monitor) throws ProvisionException {
-		if (!featureCache.isEmpty())
-			return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]);
-		Feature[] result = loadFeaturesFromDigest(monitor);
-		return result == null ? loadFeaturesFromSite(monitor) : result;
-	}
-
-	/*
-	 * Try and load the feature information from the update site's
-	 * digest file, if it exists.
-	 */
-	private Feature[] loadFeaturesFromDigest(IProgressMonitor monitor) {
-		File digestFile = null;
-		boolean local = false;
-		try {
-			URI digestURI = getDigestURI();
-			if (PROTOCOL_FILE.equals(digestURI.getScheme())) {
-				digestFile = URIUtil.toFile(digestURI);
-				if (!digestFile.exists())
-					return null;
-				local = true;
-			} else {
-				digestFile = File.createTempFile("digest", ".zip"); //$NON-NLS-1$ //$NON-NLS-2$
-				BufferedOutputStream destination = new BufferedOutputStream(new FileOutputStream(digestFile));
-				IStatus result = null;
-				try {
-					result = getTransport().download(digestURI, destination, monitor);
-				} finally {
-					try {
-						destination.close();
-					} catch (IOException e) {
-						LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, location), e));
-						return null;
-					}
-				}
-				if (result.getSeverity() == IStatus.CANCEL || monitor.isCanceled())
-					throw new OperationCanceledException();
-				if (!result.isOK())
-					return null;
-			}
-			Feature[] features = new DigestParser().parse(digestFile, digestURI);
-			if (features == null)
-				return null;
-			Map tmpFeatureCache = new HashMap(features.length);
-			for (int i = 0; i < features.length; i++) {
-				String key = features[i].getId() + VERSION_SEPARATOR + features[i].getVersion();
-				tmpFeatureCache.put(key, features[i]);
-			}
-			featureCache = tmpFeatureCache;
-			return features;
-		} catch (FileNotFoundException fnfe) {
-			// we do not track FNF exceptions as we will fall back to the 
-			// standard feature parsing from the site itself, see bug 225587.
-		} catch (IOException e) {
-			LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingDigest, location), e));
-		} finally {
-			if (!local && digestFile != null)
-				digestFile.delete();
-		}
-		return null;
-	}
-
-	private URI getDigestURI() {
-		URI digestBase = null;
-		String digestURIString = site.getDigestURIString();
-		if (digestURIString != null) {
-			if (!digestURIString.endsWith("/")) //$NON-NLS-1$
-				digestURIString += "/"; //$NON-NLS-1$
-			digestBase = internalGetURI(rootLocation, digestURIString);
-		}
-
-		if (digestBase == null)
-			digestBase = rootLocation;
-
-		return URIUtil.append(digestBase, "digest.zip"); //$NON-NLS-1$
-	}
-
-	/*
-	 * Load and return the features that are referenced by this update site. Note this
-	 * requires downloading and parsing the feature manifest locally.
-	 */
-	private Feature[] loadFeaturesFromSite(IProgressMonitor monitor) throws ProvisionException {
-		SiteFeature[] siteFeatures = site.getFeatures();
-		FeatureParser featureParser = new FeatureParser();
-		Map tmpFeatureCache = new HashMap(siteFeatures.length);
-
-		for (int i = 0; i < siteFeatures.length; i++) {
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
-			SiteFeature siteFeature = siteFeatures[i];
-			String key = null;
-			if (siteFeature.getFeatureIdentifier() != null && siteFeature.getFeatureVersion() != null) {
-				key = siteFeature.getFeatureIdentifier() + VERSION_SEPARATOR + siteFeature.getFeatureVersion();
-				if (tmpFeatureCache.containsKey(key))
-					continue;
-			}
-			URI featureURI = getSiteFeatureURI(siteFeature);
-			Feature feature = parseFeature(featureParser, featureURI, new NullProgressMonitor());
-			if (feature == null) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, featureURI)));
-			} else {
-				if (key == null) {
-					siteFeature.setFeatureIdentifier(feature.getId());
-					siteFeature.setFeatureVersion(feature.getVersion());
-					key = siteFeature.getFeatureIdentifier() + VERSION_SEPARATOR + siteFeature.getFeatureVersion();
-				}
-				tmpFeatureCache.put(key, feature);
-				loadIncludedFeatures(feature, featureParser, tmpFeatureCache, monitor);
-			}
-		}
-		featureCache = tmpFeatureCache;
-		return (Feature[]) featureCache.values().toArray(new Feature[featureCache.size()]);
-	}
-
-	/*
-	 * Load the features that are included by the given feature.
-	 */
-	private void loadIncludedFeatures(Feature feature, FeatureParser featureParser, Map features, IProgressMonitor monitor) throws ProvisionException {
-		FeatureEntry[] featureEntries = feature.getEntries();
-		for (int i = 0; i < featureEntries.length; i++) {
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-			FeatureEntry entry = featureEntries[i];
-			if (entry.isRequires() || entry.isPlugin())
-				continue;
-			String key = entry.getId() + VERSION_SEPARATOR + entry.getVersion();
-			if (features.containsKey(key))
-				continue;
-
-			URI includedFeatureURI = getFeatureURI(entry.getId(), entry.getVersion());
-			Feature includedFeature = parseFeature(featureParser, includedFeatureURI, monitor);
-			if (includedFeature == null) {
-				LogHelper.log(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.ErrorReadingFeature, includedFeatureURI)));
-			} else {
-				features.put(key, includedFeature);
-				loadIncludedFeatures(includedFeature, featureParser, features, monitor);
-			}
-		}
-	}
-
-	private static RepositoryTransport getTransport() {
-		return RepositoryTransport.getInstance();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSitePublisherApplication.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSitePublisherApplication.java
deleted file mode 100644
index 49d2010..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/UpdateSitePublisherApplication.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Code 9 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: 
- *   Code 9 - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite;
-
-import java.net.URISyntaxException;
-import org.eclipse.equinox.p2.publisher.*;
-
-/**
- * <p>
- * This application generates meta-data/artifact repositories from a local update site.
- * The -source <localdir> parameter must specify the top-level directory containing the update site.
- * </p>
- */
-public class UpdateSitePublisherApplication extends AbstractPublisherApplication {
-
-	private String categoryQualifier = null;
-
-	public UpdateSitePublisherApplication() {
-		// nothing todo
-	}
-
-	protected void processParameter(String arg, String parameter, PublisherInfo pinfo) throws URISyntaxException {
-		super.processParameter(arg, parameter, pinfo);
-
-		if (arg.equalsIgnoreCase("-categoryQualifier")) //$NON-NLS-1$
-			categoryQualifier = parameter;
-
-	}
-
-	protected IPublisherAction[] createActions() {
-		return new IPublisherAction[] {new LocalUpdateSiteAction(source, categoryQualifier)};
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
deleted file mode 100644
index 92a8842..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepository.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.artifact;
-
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.artifact.*;
-
-public class UpdateSiteArtifactRepository implements IArtifactRepository {
-
-	public static final String TYPE = "org.eclipse.equinox.p2.updatesite.artifactRepository"; //$NON-NLS-1$
-	public static final String VERSION = Integer.toString(1);
-
-	private URI location;
-	private IArtifactRepository delegate;
-
-	public UpdateSiteArtifactRepository(URI location, IArtifactRepository repository) {
-		this.location = location;
-		this.delegate = repository;
-	}
-
-	public void addDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void addDescriptors(IArtifactDescriptor[] descriptors) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public boolean contains(IArtifactDescriptor descriptor) {
-		return delegate.contains(descriptor);
-	}
-
-	public boolean contains(IArtifactKey key) {
-		return delegate.contains(key);
-	}
-
-	public IStatus getArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return delegate.getArtifact(descriptor, destination, monitor);
-	}
-
-	public IArtifactDescriptor[] getArtifactDescriptors(IArtifactKey key) {
-		return delegate.getArtifactDescriptors(key);
-	}
-
-	public IStatus getArtifacts(IArtifactRequest[] requests, IProgressMonitor monitor) {
-		return delegate.getArtifacts(requests, monitor);
-	}
-
-	public OutputStream getOutputStream(IArtifactDescriptor descriptor) throws ProvisionException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public IStatus getRawArtifact(IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
-		return delegate.getRawArtifact(descriptor, destination, monitor);
-	}
-
-	public void removeAll() {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void removeDescriptor(IArtifactDescriptor descriptor) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void removeDescriptor(IArtifactKey key) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public String getDescription() {
-		return delegate.getDescription();
-	}
-
-	public URI getLocation() {
-		return this.location;
-	}
-
-	public String getName() {
-		return delegate.getName();
-	}
-
-	public Map getProperties() {
-		return delegate.getProperties();
-	}
-
-	public String getProvider() {
-		return delegate.getProvider();
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public String getVersion() {
-		return VERSION;
-	}
-
-	public boolean isModifiable() {
-		return false;
-	}
-
-	public void setDescription(String description) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void setName(String name) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public String setProperty(String key, String value) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void setProvider(String provider) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public Object getAdapter(Class adapter) {
-		return delegate.getAdapter(adapter);
-	}
-
-	public IArtifactDescriptor createArtifactDescriptor(IArtifactKey key) {
-		return delegate.createArtifactDescriptor(key);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		return delegate.query(query, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
deleted file mode 100644
index 29cd66e..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.artifact;
-
-import java.net.URI;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactDescriptor;
-import org.eclipse.equinox.internal.p2.updatesite.Activator;
-import org.eclipse.equinox.internal.p2.updatesite.UpdateSite;
-import org.eclipse.equinox.internal.p2.updatesite.metadata.Messages;
-import org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory;
-import org.eclipse.equinox.p2.metadata.IArtifactKey;
-import org.eclipse.equinox.p2.publisher.eclipse.*;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.osgi.util.NLS;
-
-public class UpdateSiteArtifactRepositoryFactory extends ArtifactRepositoryFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
-	 */
-	public IArtifactRepository create(URI location, String name, String type, Map properties) {
-		return null;
-	}
-
-	private static final String PROP_ARTIFACT_REFERENCE = "artifact.reference"; //$NON-NLS-1$
-	private static final String PROP_FORCE_THREADING = "eclipse.p2.force.threading"; //$NON-NLS-1$
-	private static final String PROP_FORMAT_PACKED = "packed"; //$NON-NLS-1$
-	private static final String PROP_SITE_CHECKSUM = "site.checksum"; //$NON-NLS-1$
-	private static final String PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.ArtifactRepositoryFactory#load(java.net.URL, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IArtifactRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		//return null if the caller wanted a modifiable repo
-		if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-			return null;
-		}
-		IArtifactRepository repository = loadRepository(location, monitor);
-		try {
-			initializeRepository(repository, location, monitor);
-		} catch (Exception e) {
-			resetCache(repository);
-			if (e instanceof ProvisionException)
-				throw (ProvisionException) e;
-			if (e instanceof OperationCanceledException)
-				throw (OperationCanceledException) e;
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Unexpected_exception, location.toString()), e));
-		}
-		return new UpdateSiteArtifactRepository(location, repository);
-	}
-
-	private void resetCache(IArtifactRepository repository) {
-		repository.setProperty(PROP_SITE_CHECKSUM, "0"); //$NON-NLS-1$
-		repository.removeAll();
-	}
-
-	public IArtifactRepository loadRepository(URI location, IProgressMonitor monitor) {
-		URI localRepositoryURL = UpdateSiteMetadataRepositoryFactory.getLocalRepositoryLocation(location);
-		SimpleArtifactRepositoryFactory factory = new SimpleArtifactRepositoryFactory();
-		try {
-			return factory.load(localRepositoryURL, 0, monitor);
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-		String repositoryName = "update site: " + location; //$NON-NLS-1$
-		return factory.create(localRepositoryURL, repositoryName, null, null);
-	}
-
-	public void initializeRepository(IArtifactRepository repository, URI location, IProgressMonitor monitor) throws ProvisionException {
-		UpdateSite updateSite = UpdateSite.load(location, monitor);
-		String savedChecksum = (String) repository.getProperties().get(PROP_SITE_CHECKSUM);
-		if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum()))
-			return;
-
-		if (!location.getScheme().equals(PROTOCOL_FILE))
-			repository.setProperty(PROP_FORCE_THREADING, "true"); //$NON-NLS-1$
-		repository.setProperty(PROP_SITE_CHECKSUM, updateSite.getChecksum());
-		if (updateSite.getSite().getMirrorsURI() != null)
-			repository.setProperty(IRepository.PROP_MIRRORS_URL, updateSite.getSite().getMirrorsURI());
-		repository.removeAll();
-		generateArtifactDescriptors(updateSite, repository, monitor);
-	}
-
-	private void generateArtifactDescriptors(UpdateSite updateSite, IArtifactRepository repository, IProgressMonitor monitor) throws ProvisionException {
-		final String PACK_EXT = ".pack.gz"; //$NON-NLS-1$
-		Feature[] features = updateSite.loadFeatures(monitor);
-		Set allSiteArtifacts = new HashSet();
-		boolean packSupported = updateSite.getSite().isPack200Supported();
-		for (int i = 0; i < features.length; i++) {
-			Feature feature = features[i];
-			IArtifactKey featureKey = FeaturesAction.createFeatureArtifactKey(feature.getId(), feature.getVersion());
-			SimpleArtifactDescriptor featureArtifactDescriptor = new SimpleArtifactDescriptor(featureKey);
-			URI featureURL = updateSite.getFeatureURI(feature.getId(), feature.getVersion());
-			featureArtifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, featureURL.toString());
-			allSiteArtifacts.add(featureArtifactDescriptor);
-
-			if (packSupported) {
-				// Update site supports pack200, create a packed descriptor
-				featureArtifactDescriptor = new SimpleArtifactDescriptor(featureKey);
-				featureURL = updateSite.getFeatureURI(feature.getId(), feature.getVersion());
-				featureArtifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, featureURL.toString() + PACK_EXT);
-				ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-				featureArtifactDescriptor.setProcessingSteps(steps);
-				featureArtifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, PROP_FORMAT_PACKED);
-				allSiteArtifacts.add(featureArtifactDescriptor);
-			}
-
-			FeatureEntry[] featureEntries = feature.getEntries();
-			for (int j = 0; j < featureEntries.length; j++) {
-				FeatureEntry entry = featureEntries[j];
-				if (entry.isPlugin() && !entry.isRequires()) {
-					IArtifactKey key = BundlesAction.createBundleArtifactKey(entry.getId(), entry.getVersion());
-					SimpleArtifactDescriptor artifactDescriptor = new SimpleArtifactDescriptor(key);
-					URI pluginURL = updateSite.getPluginURI(entry);
-					artifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, pluginURL.toString());
-					allSiteArtifacts.add(artifactDescriptor);
-
-					if (packSupported) {
-						// Update site supports pack200, create a packed descriptor
-						key = BundlesAction.createBundleArtifactKey(entry.getId(), entry.getVersion());
-						artifactDescriptor = new SimpleArtifactDescriptor(key);
-						pluginURL = updateSite.getPluginURI(entry);
-						artifactDescriptor.setRepositoryProperty(PROP_ARTIFACT_REFERENCE, pluginURL.toString() + PACK_EXT);
-						ProcessingStepDescriptor[] steps = new ProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
-						artifactDescriptor.setProcessingSteps(steps);
-						artifactDescriptor.setProperty(IArtifactDescriptor.FORMAT, PROP_FORMAT_PACKED);
-						allSiteArtifacts.add(artifactDescriptor);
-					}
-				}
-			}
-		}
-
-		IArtifactDescriptor[] descriptors = (IArtifactDescriptor[]) allSiteArtifacts.toArray(new IArtifactDescriptor[allSiteArtifacts.size()]);
-		repository.addDescriptors(descriptors);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
deleted file mode 100644
index de4677d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/messages.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 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
-###############################################################################
-ErrorReadingDigest=Error reading site digest {0}.
-ErrorReadingFeature=Error reading feature {0}.
-ErrorReadingSite=Error reading update site {0}.
-Error_Generation=Problems generating update site metadata {0}.
-DefaultFeatureParser_IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty for the State: \"{2}\": unique identifier=\"{0}\" version=\"{1}\".
-DefaultSiteParser_NoSiteTag= Error parsing site stream. Unable to find root element \"site\" in the stream.
-DefaultSiteParser_WrongParsingStack= Internal Error parsing site stream. Unexpected Parsing Stack: \"{0}\"
-DefaultSiteParser_UnknownElement= Error parsing site stream. Unknown element \"{0}\" in parsing state \"{1}\". Check the validity of the XML file.
-DefaultSiteParser_UnknownStartState= Internal Error parsing site stream. Unknown start state \"{0}\".
-DefaultSiteParser_Missing= Error parsing site stream. The \"{0}\" tag of the element \"{1}\" is null or empty. Value is required.
-DefaultSiteParser_ParsingStackBackToInitialState= Internal Error parsing site stream. Parsing stack back to Initial State.
-DefaultSiteParser_ElementAlreadySet= Error parsing site stream. Element: \"{0}\" already set for the Site.
-DefaultSiteParser_UnknownEndState= Internal Error parsing site stream. Unknown end state \"{0}\".
-DefaultSiteParser_ErrorParsing= Error Parsing site stream. Error: \"{0}\"
-DefaultSiteParser_ErrorlineColumnMessage= Error Parsing site stream. Element \"{0}\" line: \"{1}\" column:\"{2}\". Error: \"{3}\".
-DefaultSiteParser_ErrorParsingSite= Error Parsing site stream.
-DefaultSiteParser_UnknownState= Unknown State \"{0}\".
-DefaultSiteParser_InvalidXMLStream= The XML stream is not a valid default \"site.xml\" file. The root tag is not site.
-DefaultSiteParser_mirrors = Error processing update site mirror.
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/Messages.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/Messages.java
deleted file mode 100644
index f23132d..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/Messages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.metadata;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.updatesite.metadata.messages"; //$NON-NLS-1$
-
-	public static String Unexpected_exception;
-	public static String AuthenticationFailedFor_0;
-	public static String RepositoryNotFound_0;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-		// prevent instantiation
-	}
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
deleted file mode 100644
index 6a613fd..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepository.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.metadata;
-
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.query.IQuery;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-
-public class UpdateSiteMetadataRepository implements IMetadataRepository {
-
-	public static final String TYPE = "org.eclipse.equinox.p2.updatesite.metadataRepository"; //$NON-NLS-1$
-	public static final String VERSION = Integer.toString(1);
-
-	private URI location;
-	private IMetadataRepository delegate;
-
-	public UpdateSiteMetadataRepository(URI location, IMetadataRepository repository) {
-		this.location = location;
-		this.delegate = repository;
-	}
-
-	public void addInstallableUnits(IInstallableUnit[] installableUnits) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void addReference(URI location, String nickname, int type, int options) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void removeAll() {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public boolean removeInstallableUnits(IInstallableUnit[] installableUnits, IProgressMonitor monitor) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public String getDescription() {
-		return delegate.getDescription();
-	}
-
-	public URI getLocation() {
-		return location;
-	}
-
-	public String getName() {
-		return delegate.getName();
-	}
-
-	public Map getProperties() {
-		return delegate.getProperties();
-	}
-
-	public String getProvider() {
-		return delegate.getProvider();
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public String getVersion() {
-		return VERSION;
-	}
-
-	public boolean isModifiable() {
-		return false;
-	}
-
-	public void setDescription(String description) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void setName(String name) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public String setProperty(String key, String value) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public void setProvider(String provider) {
-		throw new UnsupportedOperationException("Repository not modifiable: " + location); //$NON-NLS-1$
-	}
-
-	public Object getAdapter(Class adapter) {
-		return delegate.getAdapter(adapter);
-	}
-
-	public Collector query(IQuery query, IProgressMonitor monitor) {
-		return delegate.query(query, monitor);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
deleted file mode 100644
index df71617..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/UpdateSiteMetadataRepositoryFactory.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *     Ray Braithwood (ray@genuitec.com) - fix for bug 220605
- *     Code 9 - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.internal.p2.updatesite.metadata;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.URI;
-import java.util.Map;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.filetransfer.UserCancelledException;
-import org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository;
-import org.eclipse.equinox.internal.p2.repository.AuthenticationFailedException;
-import org.eclipse.equinox.internal.p2.updatesite.*;
-import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory;
-import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory;
-import org.eclipse.equinox.p2.publisher.*;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.osgi.util.NLS;
-
-public class UpdateSiteMetadataRepositoryFactory extends MetadataRepositoryFactory {
-	private static final String PROP_SITE_CHECKSUM = "site.checksum"; //$NON-NLS-1$
-
-	public static URI getLocalRepositoryLocation(URI location) {
-		String stateDirName = Integer.toString(location.hashCode());
-		File bundleData = Activator.getBundleContext().getDataFile(null);
-		File stateDir = new File(bundleData, stateDirName);
-		return stateDir.toURI();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.MetadataRepositoryFactory#create(java.net.URL, java.lang.String, java.lang.String, java.util.Map)
-	 */
-	public IMetadataRepository create(URI location, String name, String type, Map properties) {
-		return null;
-	}
-
-	public IStatus validate(URI location, IProgressMonitor monitor) {
-		try {
-			UpdateSite.validate(location, monitor);
-		} catch (ProvisionException e) {
-			return e.getStatus();
-		} catch (UserCancelledException e) {
-			return Status.CANCEL_STATUS;
-		} catch (AuthenticationFailedException e) {
-			return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_FAILED_AUTHENTICATION, NLS.bind(Messages.AuthenticationFailedFor_0, location.toString()), e);
-		} catch (FileNotFoundException e) {
-			return new Status(IStatus.ERROR, Activator.ID, ProvisionException.REPOSITORY_NOT_FOUND, NLS.bind(Messages.RepositoryNotFound_0, location.toString()), e);
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IMetadataRepository load(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
-		//return null if the caller wanted a modifiable repo
-		if ((flags & IRepositoryManager.REPOSITORY_HINT_MODIFIABLE) > 0) {
-			return null;
-		}
-
-		IMetadataRepository repository = loadRepository(location, monitor);
-		try {
-			initializeRepository(repository, location, monitor);
-		} catch (Exception e) {
-			resetCache(repository);
-			if (e instanceof ProvisionException)
-				throw (ProvisionException) e;
-			if (e instanceof OperationCanceledException)
-				throw (OperationCanceledException) e;
-			throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Unexpected_exception, location.toString()), e));
-		}
-		return new UpdateSiteMetadataRepository(location, repository);
-	}
-
-	private void resetCache(IMetadataRepository repository) {
-		repository.setProperty(PROP_SITE_CHECKSUM, "0"); //$NON-NLS-1$
-		repository.removeAll();
-	}
-
-	public IMetadataRepository loadRepository(URI location, IProgressMonitor monitor) {
-		URI localRepositoryURL = getLocalRepositoryLocation(location);
-		SimpleMetadataRepositoryFactory factory = new SimpleMetadataRepositoryFactory();
-		try {
-			return factory.load(localRepositoryURL, 0, monitor);
-		} catch (ProvisionException e) {
-			//fall through and create a new repository
-		}
-		String repositoryName = "update site: " + location; //$NON-NLS-1$
-		return factory.create(localRepositoryURL, repositoryName, null, null);
-	}
-
-	public void initializeRepository(IMetadataRepository repository, URI location, IProgressMonitor monitor) throws ProvisionException {
-		UpdateSite updateSite = UpdateSite.load(location, monitor);
-		String savedChecksum = (String) repository.getProperties().get(PROP_SITE_CHECKSUM);
-		if (savedChecksum != null && savedChecksum.equals(updateSite.getChecksum()))
-			return;
-		repository.setProperty(PROP_SITE_CHECKSUM, updateSite.getChecksum());
-		repository.removeAll();
-		IStatus status = generateMetadata(updateSite, repository, monitor);
-		//site references should be published on load
-		if (repository instanceof LocalMetadataRepository)
-			((LocalMetadataRepository) repository).publishRepositoryReferences();
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-		if (!status.isOK())
-			throw new ProvisionException(status);
-	}
-
-	private IStatus generateMetadata(UpdateSite updateSite, IMetadataRepository repository, IProgressMonitor monitor) {
-		PublisherInfo info = new PublisherInfo();
-		info.setMetadataRepository(repository);
-		IPublisherAction[] actions = new IPublisherAction[] {new RemoteUpdateSiteAction(updateSite, null)};
-		Publisher publisher = new Publisher(info);
-		return publisher.publish(actions, monitor);
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/messages.properties b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/messages.properties
deleted file mode 100644
index 45a312f..0000000
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/metadata/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 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
-###############################################################################
-
-UpdateSiteMetadataRepositoryFactory.Unexpected_exception=Unexpected exception while loading {0}.
-UpdateSiteMetadataRepositoryFactory.AuthenticationFailedFor_0=Authentication failed {0}.
-UpdateSiteMetadataRepositoryFactory.RepositoryNotFound_0=Repository not found {0}.
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
deleted file mode 100644
index 4de3c83..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.simpleconfigurator.manipulator</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c143032..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,265 +0,0 @@
-#Fri Nov 14 17:13:48 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=false
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index fe84d45..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Sun Sep 23 11:59:48 EDT 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
deleted file mode 100644
index ef29ba0..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator;singleton:=true
-Bundle-Version: 1.0.200.qualifier
-Bundle-Localization: plugin
-Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.equinox.internal.frameworkadmin.equinox,
- org.eclipse.equinox.internal.frameworkadmin.utils,
- org.eclipse.equinox.internal.provisional.configuratormanipulator,
- org.eclipse.equinox.internal.provisional.frameworkadmin,
- org.eclipse.equinox.internal.simpleconfigurator.utils,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: %providerName
-Export-Package: org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator;x-friends:="org.eclipse.pde.core,org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.publisher",
- org.eclipse.equinox.internal.simpleconfigurator.manipulator;x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Require-Bundle: org.eclipse.equinox.common;bundle-version="3.5.0"
-Service-Component: OSGI-INF/configurator.xml
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/OSGI-INF/configurator.xml b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/OSGI-INF/configurator.xml
deleted file mode 100644
index 181e07a..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/OSGI-INF/configurator.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.simpleconfigurator.manipulator">
-   <implementation class="org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorImpl"/>
-   <property name="org.eclipse.equinox.configurator.BundleSymbolicName" type="String" value="org.eclipse.equinox.simpleconfigurator"/>
-   <property name="service.vendor" type="String" value="Eclipse.org"/>
-   <service>
-      <provide interface="org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator"/>
-      <provide interface="org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator"/>
-   </service>
-</scr:component>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
deleted file mode 100644
index 3d8dfe4..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               OSGI-INF/
-src.includes = about.html
-qualifier = context
-source.. = src/
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
deleted file mode 100644
index 71be7bb..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-bundleName= Simple Configurator Manipulator
-providerName = Eclipse.org - Equinox
-
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/provisional/simpleconfigurator/manipulator/SimpleConfiguratorManipulator.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/provisional/simpleconfigurator/manipulator/SimpleConfiguratorManipulator.java
deleted file mode 100644
index 4a96d46..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/provisional/simpleconfigurator/manipulator/SimpleConfiguratorManipulator.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
-
-public interface SimpleConfiguratorManipulator extends ConfiguratorManipulator {
-	/**
-	 * An instance of an ISimpleConfiguratorManipulator is registered as a ConfiguratorManipulator 
-	 * service with ConfiguratorManipulator.SERVICE_PROP_KEY_CONFIGURATOR_BUNDLESYMBOLICNAME =
-	 * SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME.
-	 */
-	public static final String SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-
-	/**
-	 * 
-	 * @param url
-	 * @param launcherLocation
-	 * @return The loaded configuration
-	 * @throws IOException
-	 */
-	public BundleInfo[] loadConfiguration(URL url, File launcherLocation) throws IOException;
-
-	/**
-	 * 
-	 * @param configuration
-	 * @param outputFile
-	 * @param base
-	 * @throws IOException
-	 */
-	public void saveConfiguration(BundleInfo[] configuration, File outputFile, File base) throws IOException;
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
deleted file mode 100644
index 3819aac..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorFactoryImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulator;
-import org.eclipse.equinox.internal.provisional.configuratormanipulator.ConfiguratorManipulatorFactory;
-
-public class SimpleConfiguratorManipulatorFactoryImpl extends ConfiguratorManipulatorFactory {
-
-	protected ConfiguratorManipulator createConfiguratorManipulator() {
-		return new SimpleConfiguratorManipulatorImpl();
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
deleted file mode 100644
index 65915df..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorImpl.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.ParserUtils;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.frameworkadmin.*;
-import org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorUtils;
-import org.osgi.framework.Constants;
-
-/**
- * 
- */
-public class SimpleConfiguratorManipulatorImpl implements SimpleConfiguratorManipulator {
-	class LocationInfo {
-		URI[] prerequisiteLocations = null;
-		URI systemBundleLocation = null;
-		URI[] systemFragmentedBundleLocations = null;
-	}
-
-	private final static boolean DEBUG = false;
-
-	private static final BundleInfo[] NULL_BUNDLEINFOS = new BundleInfo[0];
-
-	public static final String PROP_KEY_EXCLUSIVE_INSTALLATION = "org.eclipse.equinox.simpleconfigurator.exclusiveInstallation"; //$NON-NLS-1$
-	public static final String CONFIG_LIST = "bundles.info"; //$NON-NLS-1$
-	public static final String CONFIGURATOR_FOLDER = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-	public static final String PROP_KEY_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-
-	private Set manipulators = new HashSet();
-
-	/**	
-	 * Return the ConfiguratorConfigFile which is determined 
-	 * by the parameters set in Manipulator. 
-	 * 
-	 * @param manipulator
-	 * @return File
-	 */
-	private static File getConfigFile(Manipulator manipulator) throws IllegalStateException {
-		File fwConfigLoc = manipulator.getLauncherData().getFwConfigLocation();
-		File baseDir = null;
-		if (fwConfigLoc == null) {
-			baseDir = manipulator.getLauncherData().getHome();
-			if (baseDir == null) {
-				if (manipulator.getLauncherData().getLauncher() != null) {
-					baseDir = manipulator.getLauncherData().getLauncher().getParentFile();
-				} else {
-					throw new IllegalStateException("All of fwConfigFile, home, launcher are not set.");
-				}
-			}
-		} else {
-			if (fwConfigLoc.exists())
-				if (fwConfigLoc.isDirectory())
-					baseDir = fwConfigLoc;
-				else
-					baseDir = fwConfigLoc.getParentFile();
-			else {
-				// TODO We need to decide whether launcher data configLocation is the location of a file or a directory 
-				if (fwConfigLoc.getName().endsWith(".ini")) //$NON-NLS-1$
-					baseDir = fwConfigLoc.getParentFile();
-				else
-					baseDir = fwConfigLoc;
-			}
-		}
-		File configuratorFolder = new File(baseDir, SimpleConfiguratorManipulatorImpl.CONFIGURATOR_FOLDER);
-		File targetFile = new File(configuratorFolder, SimpleConfiguratorManipulatorImpl.CONFIG_LIST);
-		if (!Utils.createParentDir(targetFile))
-			return null;
-		return targetFile;
-	}
-
-	static boolean isPrerequisiteBundles(URI location, LocationInfo info) {
-		boolean ret = false;
-
-		if (info.prerequisiteLocations == null)
-			return false;
-		for (int i = 0; i < info.prerequisiteLocations.length; i++)
-			if (location.equals(info.prerequisiteLocations[i])) {
-				ret = true;
-				break;
-			}
-
-		return ret;
-	}
-
-	static boolean isSystemBundle(URI location, LocationInfo info) {
-		if (info.systemBundleLocation == null)
-			return false;
-		if (location.equals(info.systemBundleLocation))
-			return true;
-		return false;
-	}
-
-	static boolean isSystemFragmentBundle(URI location, LocationInfo info) {
-		boolean ret = false;
-		if (info.systemFragmentedBundleLocations == null)
-			return false;
-		for (int i = 0; i < info.systemFragmentedBundleLocations.length; i++)
-			if (location.equals(info.systemFragmentedBundleLocations[i])) {
-				ret = true;
-				break;
-			}
-		return ret;
-	}
-
-	private static boolean isTargetConfiguratorBundle(BundleInfo[] bInfos) {
-		for (int i = 0; i < bInfos.length; i++) {
-			if (isTargetConfiguratorBundle(bInfos[i].getLocation())) {
-				return true;
-				//TODO confirm that startlevel of configurator bundle must be no larger than beginning start level of fw. However, there is no way to know the start level of cached ones.
-			}
-		}
-		return false;
-	}
-
-	private static boolean isTargetConfiguratorBundle(URI location) {
-		final String symbolic = Utils.getPathFromClause(Utils.getManifestMainAttributes(location, Constants.BUNDLE_SYMBOLICNAME));
-		return (SimpleConfiguratorManipulator.SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME.equals(symbolic));
-	}
-
-	private void algorithm(int initialSl, SortedMap bslToList, BundleInfo configuratorBInfo, List setToInitialConfig, List setToSimpleConfig, LocationInfo info) {
-		int configuratorSL = configuratorBInfo.getStartLevel();
-
-		Integer sL0 = (Integer) bslToList.keySet().iterator().next();// StartLevel == 0;
-		List list0 = (List) bslToList.get(sL0);
-		if (sL0.intValue() == 0)
-			for (Iterator ite2 = list0.iterator(); ite2.hasNext();) {
-				BundleInfo bInfo = (BundleInfo) ite2.next();
-				if (isSystemBundle(bInfo.getLocation(), info)) {
-					setToSimpleConfig.add(bInfo);
-					break;
-				}
-			}
-
-		for (Iterator ite = bslToList.keySet().iterator(); ite.hasNext();) {
-			Integer sL = (Integer) ite.next();
-			List list = (List) bslToList.get(sL);
-
-			if (sL.intValue() < configuratorSL) {
-				for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
-					BundleInfo bInfo = (BundleInfo) ite2.next();
-					if (!isSystemBundle(bInfo.getLocation(), info))
-						setToInitialConfig.add(bInfo);
-				}
-			} else if (sL.intValue() > configuratorSL) {
-				for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
-					BundleInfo bInfo = (BundleInfo) ite2.next();
-					if (isPrerequisiteBundles(bInfo.getLocation(), info) || isSystemFragmentBundle(bInfo.getLocation(), info))
-						if (!isSystemBundle(bInfo.getLocation(), info))
-							setToInitialConfig.add(bInfo);
-					setToSimpleConfig.add(bInfo);
-				}
-			} else {
-				boolean found = false;
-				for (Iterator ite2 = list.iterator(); ite2.hasNext();) {
-					BundleInfo bInfo = (BundleInfo) ite2.next();
-					if (found) {
-						if (!isSystemBundle(bInfo.getLocation(), info))
-							if (isPrerequisiteBundles(bInfo.getLocation(), info) || isSystemFragmentBundle(bInfo.getLocation(), info))
-								setToInitialConfig.add(bInfo);
-						setToSimpleConfig.add(bInfo);
-						continue;
-					}
-					if (isTargetConfiguratorBundle(bInfo.getLocation()))
-						found = true;
-					else if (!isSystemBundle(bInfo.getLocation(), info))
-						setToInitialConfig.add(bInfo);
-					setToSimpleConfig.add(bInfo);
-				}
-			}
-		}
-
-		setToInitialConfig.add(configuratorBInfo);
-	}
-
-	private boolean checkResolve(BundleInfo bInfo, BundlesState state) {//throws ManipulatorException {
-		if (bInfo == null)
-			throw new IllegalArgumentException("bInfo is null.");
-
-		if (!state.isResolved())
-			state.resolve(false);
-		//		if (DEBUG)
-		//			System.out.println(state.toString());
-
-		if (!state.isResolved(bInfo)) {
-			printoutUnsatisfiedConstraints(bInfo, state);
-			return false;
-		}
-		return true;
-	}
-
-	private boolean divideBundleInfos(Manipulator manipulator, List setToInitialConfig, List setToSimpleConfig, final int initialBSL) throws IOException {
-		BundlesState state = manipulator.getBundlesState();
-		BundleInfo[] targetBundleInfos = null;
-		if (state.isFullySupported()) {
-			targetBundleInfos = state.getExpectedState();
-		} else {
-			targetBundleInfos = manipulator.getConfigData().getBundles();
-		}
-		BundleInfo configuratorBInfo = null;
-		for (int i = 0; i < targetBundleInfos.length; i++) {
-			if (isTargetConfiguratorBundle(targetBundleInfos[i].getLocation())) {
-				if (targetBundleInfos[i].isMarkedAsStarted()) {
-					configuratorBInfo = targetBundleInfos[i];
-					break;
-				}
-			}
-		}
-		if (configuratorBInfo == null && !manipulators.contains(manipulator)) {
-			return false;
-		} else if (manipulators.contains(manipulator) && targetBundleInfos.length == 0) {
-			// Resulting state will have no bundles - so is an uninstall, including
-			// uninstall of the configurator. However, we have seen this manipulator
-			// before with a target configurator bundle, so allow uninstall to proceed,
-			// but only get one chance.
-			manipulators.remove(manipulator);
-		} else if (!manipulators.contains(manipulator)) {
-			manipulators.add(manipulator);
-		}
-
-		if (state.isFullySupported()) {
-			state.resolve(false);
-		}
-
-		LocationInfo info = new LocationInfo();
-		setSystemBundles(state, info);
-		if (configuratorBInfo != null) {
-			setPrerequisiteBundles(configuratorBInfo, state, info);
-			SortedMap bslToList = getSortedMap(initialBSL, targetBundleInfos);
-			algorithm(initialBSL, bslToList, configuratorBInfo, setToInitialConfig, setToSimpleConfig, info);
-		}
-		return true;
-	}
-
-	private SortedMap getSortedMap(int initialSl, BundleInfo[] bInfos) {
-		SortedMap bslToList = new TreeMap();
-		for (int i = 0; i < bInfos.length; i++) {
-			Integer sL = new Integer(bInfos[i].getStartLevel());
-			if (sL.intValue() == BundleInfo.NO_LEVEL)
-				sL = new Integer(initialSl);
-			List list = (List) bslToList.get(sL);
-			if (list == null) {
-				list = new LinkedList();
-				bslToList.put(sL, list);
-			}
-			list.add(bInfos[i]);
-		}
-		return bslToList;
-	}
-
-	private BundleInfo[] orderingInitialConfig(List setToInitialConfig) {
-		List notToBeStarted = new LinkedList();
-		List toBeStarted = new LinkedList();
-		for (Iterator ite2 = setToInitialConfig.iterator(); ite2.hasNext();) {
-			BundleInfo bInfo = (BundleInfo) ite2.next();
-			if (bInfo.isMarkedAsStarted())
-				toBeStarted.add(bInfo);
-			else
-				notToBeStarted.add(bInfo);
-		}
-		setToInitialConfig.clear();
-		setToInitialConfig.addAll(notToBeStarted);
-		setToInitialConfig.addAll(toBeStarted);
-		return Utils.getBundleInfosFromList(setToInitialConfig);
-
-	}
-
-	private void printoutUnsatisfiedConstraints(BundleInfo bInfo, BundlesState state) {
-		if (DEBUG) {
-			StringBuffer sb = new StringBuffer();
-			sb.append("Missing constraints:\n");
-			String[] missings = state.getUnsatisfiedConstraints(bInfo);
-			for (int i = 0; i < missings.length; i++)
-				sb.append(" " + missings[i] + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println(sb.toString());
-		}
-	}
-
-	public BundleInfo[] loadConfiguration(URL url, File base) throws IOException {
-		if (url == null)
-			return NULL_BUNDLEINFOS;
-
-		List simpleBundles = SimpleConfiguratorUtils.readConfiguration(url, base != null ? base.toURI() : null);
-
-		// convert to FrameworkAdmin BundleInfo Type
-		BundleInfo[] result = new BundleInfo[simpleBundles.size()];
-		int i = 0;
-		for (Iterator iterator = simpleBundles.iterator(); iterator.hasNext();) {
-			org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo simpleInfo = (org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo) iterator.next();
-			URI location = simpleInfo.getLocation();
-			if (!location.isAbsolute() && simpleInfo.getBaseLocation() != null)
-				location = URIUtil.makeAbsolute(location, simpleInfo.getBaseLocation());
-
-			BundleInfo bundleInfo = new BundleInfo(simpleInfo.getSymbolicName(), simpleInfo.getVersion(), location, simpleInfo.getStartLevel(), simpleInfo.isMarkedAsStarted());
-			result[i++] = bundleInfo;
-		}
-		return result;
-	}
-
-	public void saveConfiguration(BundleInfo[] configuration, File outputFile, File base) throws IOException {
-		saveConfiguration(configuration, outputFile, base, false);
-	}
-
-	private void saveConfiguration(BundleInfo[] configuration, File outputFile, File base, boolean backup) throws IOException {
-		if (backup && outputFile.exists()) {
-			File backupFile = Utils.getSimpleDataFormattedFile(outputFile);
-			if (!outputFile.renameTo(backupFile)) {
-				throw new IOException("Fail to rename from (" + outputFile + ") to (" + backupFile + ")");
-			}
-		}
-
-		// convert to SimpleConfigurator BundleInfo Type
-		org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo[] simpleInfos = new org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo[configuration.length];
-		for (int i = 0; i < configuration.length; i++) {
-			BundleInfo bundleInfo = configuration[i];
-			String symbolicName = bundleInfo.getSymbolicName();
-			String bundleVersion = bundleInfo.getVersion();
-			URI location = base != null ? URIUtil.makeRelative(bundleInfo.getLocation(), base.toURI()) : bundleInfo.getLocation();
-			if (symbolicName == null || bundleVersion == null || location == null)
-				throw new IllegalArgumentException("Cannot persist bundleinfo: " + bundleInfo.toString());
-			simpleInfos[i] = new org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo(symbolicName, bundleVersion, location, bundleInfo.getStartLevel(), bundleInfo.isMarkedAsStarted());
-		}
-		SimpleConfiguratorManipulatorUtils.writeConfiguration(simpleInfos, outputFile);
-	}
-
-	public BundleInfo[] save(Manipulator manipulator, boolean backup) throws IOException {
-		List setToInitialConfig = new LinkedList();
-		List setToSimpleConfig = new LinkedList();
-		ConfigData configData = manipulator.getConfigData();
-
-		if (!divideBundleInfos(manipulator, setToInitialConfig, setToSimpleConfig, configData.getInitialBundleStartLevel()))
-			return configData.getBundles();
-
-		File outputFile = getConfigFile(manipulator);
-		saveConfiguration((BundleInfo[]) setToSimpleConfig.toArray(new BundleInfo[setToSimpleConfig.size()]), outputFile, ParserUtils.getOSGiInstallArea(Arrays.asList(manipulator.getLauncherData().getProgramArgs()), manipulator.getConfigData().getProperties(), manipulator.getLauncherData()), backup);
-		configData.setProperty(SimpleConfiguratorManipulatorImpl.PROP_KEY_CONFIGURL, outputFile.toURL().toExternalForm());
-		return orderingInitialConfig(setToInitialConfig);
-	}
-
-	void setPrerequisiteBundles(BundleInfo configuratorBundleInfo, BundlesState state, LocationInfo info) {
-		if (state.isFullySupported())
-			if (!this.checkResolve(configuratorBundleInfo, state)) {
-				printoutUnsatisfiedConstraints(configuratorBundleInfo, state);
-				return;
-			}
-		BundleInfo[] prerequisites = state.getPrerequisteBundles(configuratorBundleInfo);
-		info.prerequisiteLocations = new URI[prerequisites.length];
-		for (int i = 0; i < prerequisites.length; i++)
-			info.prerequisiteLocations[i] = prerequisites[i].getLocation();
-		return;
-
-	}
-
-	void setSystemBundles(BundlesState state, LocationInfo info) {
-		BundleInfo systemBundleInfo = state.getSystemBundle();
-		if (systemBundleInfo == null) {
-			// TODO Log
-			//throw new IllegalStateException("There is no systemBundle.\n");
-			return;
-		}
-		if (state.isFullySupported())
-			if (!this.checkResolve(systemBundleInfo, state)) {
-				printoutUnsatisfiedConstraints(systemBundleInfo, state);
-				return;
-			}
-		info.systemBundleLocation = systemBundleInfo.getLocation();
-		BundleInfo[] fragments = state.getSystemFragmentedBundles();
-		info.systemFragmentedBundleLocations = new URI[fragments.length];
-		for (int i = 0; i < fragments.length; i++)
-			info.systemFragmentedBundleLocations[i] = fragments[i].getLocation();
-	}
-
-	public void updateBundles(Manipulator manipulator) throws IOException {
-		if (DEBUG)
-			System.out.println("SimpleConfiguratorManipulatorImpl#updateBundles()"); //$NON-NLS-1$
-
-		BundlesState bundleState = manipulator.getBundlesState();
-
-		if (bundleState == null)
-			return;
-		if (bundleState.isFullySupported())
-			bundleState.resolve(true);
-
-		BundleInfo[] currentBInfos = bundleState.getExpectedState();
-		if (!isTargetConfiguratorBundle(currentBInfos))
-			return;
-		Properties properties = new Properties();
-		String[] jvmArgs = manipulator.getLauncherData().getJvmArgs();
-		for (int i = 0; i < jvmArgs.length; i++) {
-			if (jvmArgs[i].startsWith("-D")) { //$NON-NLS-1$
-				int index = jvmArgs[i].indexOf("="); //$NON-NLS-1$
-				if (index > 0 && jvmArgs[i].length() > 2) {
-					String key = jvmArgs[i].substring(2, index);
-					String value = jvmArgs[i].substring(index + 1);
-					properties.setProperty(key, value);
-				}
-			}
-		}
-
-		Utils.appendProperties(properties, manipulator.getConfigData().getProperties());
-		boolean exclusiveInstallation = Boolean.valueOf(properties.getProperty(SimpleConfiguratorManipulatorImpl.PROP_KEY_EXCLUSIVE_INSTALLATION)).booleanValue();
-		File configFile = getConfigFile(manipulator);
-
-		BundleInfo[] toInstall = loadConfiguration(configFile.toURL(), ParserUtils.getOSGiInstallArea(Arrays.asList(manipulator.getLauncherData().getProgramArgs()), manipulator.getConfigData().getProperties(), manipulator.getLauncherData()));
-
-		List toUninstall = new LinkedList();
-		if (exclusiveInstallation)
-			for (int i = 0; i < currentBInfos.length; i++) {
-				boolean install = false;
-				for (int j = 0; j < toInstall.length; j++)
-					if (currentBInfos[i].getLocation().equals(toInstall[j].getLocation())) {
-						install = true;
-						break;
-					}
-				if (!install)
-					toUninstall.add(currentBInfos[i]);
-			}
-
-		for (int i = 0; i < toInstall.length; i++) {
-			try {
-				bundleState.installBundle(toInstall[i]);
-			} catch (RuntimeException e) {
-				//Ignore
-			}
-		}
-		if (exclusiveInstallation)
-			for (Iterator ite = toUninstall.iterator(); ite.hasNext();) {
-				BundleInfo bInfo = (BundleInfo) ite.next();
-				bundleState.uninstallBundle(bInfo);
-			}
-
-		bundleState.resolve(true);
-		manipulator.getConfigData().setBundles(bundleState.getExpectedState());
-	}
-
-	public void cleanup(Manipulator manipulator) {
-		File outputFile = getConfigFile(manipulator);
-		outputFile.delete();
-
-		if (outputFile.getParentFile().isDirectory())
-			outputFile.getParentFile().delete();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtils.java
deleted file mode 100644
index 7c3a1ba..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator.manipulator/src/org/eclipse/equinox/internal/simpleconfigurator/manipulator/SimpleConfiguratorManipulatorUtils.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.manipulator;
-
-import java.io.*;
-import java.net.URI;
-import java.util.Arrays;
-import java.util.Comparator;
-import org.eclipse.equinox.internal.frameworkadmin.equinox.Messages;
-import org.eclipse.equinox.internal.frameworkadmin.utils.Utils;
-import org.eclipse.equinox.internal.provisional.simpleconfigurator.manipulator.SimpleConfiguratorManipulator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo;
-import org.osgi.framework.Version;
-
-public class SimpleConfiguratorManipulatorUtils {
-
-	private static final String VERSION_PREFIX = "#version="; //$NON-NLS-1$
-	private static final String VERSION_1 = "1"; //$NON-NLS-1$
-	private static final Version OLD_STYLE_SIMPLE_CONFIGURATOR_VERSION = new Version("1.0.100.v20081206"); //$NON-NLS-1$
-
-	public static void writeConfiguration(BundleInfo[] simpleInfos, File outputFile) throws IOException {
-
-		// if empty remove the configuration file
-		if (simpleInfos == null || simpleInfos.length == 0) {
-			if (outputFile.exists()) {
-				outputFile.delete();
-			}
-			File parentDir = outputFile.getParentFile();
-			if (parentDir.exists()) {
-				parentDir.delete();
-			}
-			return;
-		}
-
-		// sort by symbolic name
-		Arrays.sort(simpleInfos, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				if (o1 instanceof BundleInfo && o2 instanceof BundleInfo) {
-					return ((BundleInfo) o1).getSymbolicName().compareTo(((BundleInfo) o2).getSymbolicName());
-				}
-				return 0;
-			}
-		});
-
-		if (!Utils.createParentDir(outputFile)) {
-			throw new IllegalStateException(Messages.exception_failedToCreateDir);
-		}
-		BufferedWriter writer = null;
-		IOException caughtException = null;
-		boolean oldStyle = false;
-		for (int i = 0; i < simpleInfos.length; i++) {
-			if (SimpleConfiguratorManipulator.SERVICE_PROP_VALUE_CONFIGURATOR_SYMBOLICNAME.equals(simpleInfos[i].getSymbolicName())) {
-				Version version = new Version(simpleInfos[i].getVersion());
-				if (version.compareTo(OLD_STYLE_SIMPLE_CONFIGURATOR_VERSION) < 0)
-					oldStyle = true;
-				break;
-			}
-		}
-
-		try {
-			writer = new BufferedWriter(new FileWriter(outputFile));
-			// version line
-			writer.write(createVersionLine());
-			writer.newLine();
-
-			// bundle info lines
-			for (int i = 0; i < simpleInfos.length; i++) {
-				writer.write(createBundleInfoLine(simpleInfos[i], oldStyle));
-				writer.newLine();
-			}
-		} catch (IOException e) {
-			caughtException = e;
-		} finally {
-			if (writer != null) {
-				try {
-					writer.close();
-				} catch (IOException e) {
-					// we want to avoid over-writing the original exception
-					if (caughtException != null)
-						caughtException = e;
-				}
-			}
-		}
-		if (caughtException != null)
-			throw caughtException;
-	}
-
-	public static String createVersionLine() {
-		return VERSION_PREFIX + VERSION_1;
-	}
-
-	public static String createBundleInfoLine(BundleInfo bundleInfo, boolean oldStyle) {
-		// symbolicName,version,location,startLevel,markedAsStarted
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(bundleInfo.getSymbolicName());
-		buffer.append(',');
-		buffer.append(bundleInfo.getVersion());
-		buffer.append(',');
-		buffer.append(createBundleLocation(bundleInfo.getLocation(), oldStyle));
-		buffer.append(',');
-		buffer.append(bundleInfo.getStartLevel());
-		buffer.append(',');
-		buffer.append(bundleInfo.isMarkedAsStarted());
-		return buffer.toString();
-	}
-
-	public static String createBundleLocation(URI location, boolean oldStyle) {
-		if (oldStyle) {
-			String scheme = location.getScheme();
-			if (scheme == null)
-				scheme = "file"; //$NON-NLS-1$
-			return scheme + ':' + location.getSchemeSpecificPart();
-		}
-
-		//encode comma characters because it is used as the segment delimiter in the bundle info file
-		String result = location.toString();
-		int commaIndex = result.indexOf(',');
-		while (commaIndex != -1) {
-			result = result.substring(0, commaIndex) + "%2C" + result.substring(commaIndex + 1); //$NON-NLS-1$
-			commaIndex = result.indexOf(',');
-		}
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.classpath b/bundles/org.eclipse.equinox.simpleconfigurator/.classpath
deleted file mode 100644
index 6f3b481..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore b/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
deleted file mode 100644
index e043cc4..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler...args
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch b/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
deleted file mode 100644
index b68ad48..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.simpleconfigurator"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.simpleconfigurator"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="buildDirectory" value="${build_project}/trash"/>
-<mapEntry key="targetFolder" value="${resource_loc:/org.eclipse.equinox.p2.metadata.generator}"/>
-<mapEntry key="eclipse.pdebuild.scripts" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/scripts/"/>
-<mapEntry key="eclipse.running" value="true"/>
-<mapEntry key="thisPlugin" value="${resource_loc:/org.eclipse.equinox.simpleconfigurator}"/>
-<mapEntry key="eclipse.pdebuild.templates" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/templates/"/>
-<mapEntry key="eclipse.pdebuild.home" value="/D:/eclipse/plugins/org.eclipse.pde.build_3.3.0.v20070312/./"/>
-<mapEntry key="eclipse.home" value="D:\eclipse"/>
-<mapEntry key="baseLocation" value="${target_home}"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.simpleconfigurator/localbuild.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.project b/bundles/org.eclipse.equinox.simpleconfigurator/.project
deleted file mode 100644
index b0cc0f9..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.project
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.simpleconfigurator</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Copy built version of simple configurator into metadata generator.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 34a383a..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,270 +0,0 @@
-#Wed Jan 07 13:39:09 EST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 40cde68..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,61 +0,0 @@
-#Wed Jan 07 13:39:10 EST 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
deleted file mode 100644
index c46f6d1..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator;singleton:=true
-Bundle-Version: 1.0.200.qualifier
-Bundle-Name: %bundleName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.internal.simpleconfigurator.Activator
-Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.osgi.framework.console;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.datalocation;version="1.0.0";resolution:=optional,
- org.eclipse.osgi.service.resolver;version="1.2.0";resolution:=optional,
- org.osgi.framework;version="1.3.0",
- org.osgi.service.packageadmin;version="1.2.0",
- org.osgi.service.startlevel;version="1.0.0",
- org.osgi.util.tracker;version="1.3.0"
-Export-Package: org.eclipse.equinox.internal.provisional.configurator;
-  x-friends:="org.eclipse.equinox.p2.reconciler.dropins,
-   org.eclipse.equinox.p2.console,
-   org.eclipse.equinox.p2.operations,
-   org.eclipse.equinox.p2.ui,
-   org.eclipse.equinox.p2.director",
- org.eclipse.equinox.internal.simpleconfigurator;x-internal:=true,
- org.eclipse.equinox.internal.simpleconfigurator.console;x-internal:=true,
- org.eclipse.equinox.internal.simpleconfigurator.utils;x-friends:="org.eclipse.equinox.simpleconfigurator.manipulator"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/about.html b/bundles/org.eclipse.equinox.simpleconfigurator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/build.properties b/bundles/org.eclipse.equinox.simpleconfigurator/build.properties
deleted file mode 100644
index ac72e5e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties
-qualifier=context
-src.includes = about.html
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml b/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
deleted file mode 100644
index a5d7fd7..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/localbuild.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<!-- ====================================================================== 
-     Mar 14, 2007 11:17:02 AM                                                        
-
-     project    
-     description
-                   
-     Administrator                                                                
-     ====================================================================== -->
-<project name="project" default="default">
-	<description>
-            description
-    </description>
-
-	<!-- ================================= 
-          target: default              
-         ================================= -->
-	<target name="default" description="--> description">
-		<echo message="bd is ${buildDirectory}"/>
-		<tstamp/>
-		<eclipse.buildScript elements="plugin@org.eclipse.equinox.simpleconfigurator" 
-			buildDirectory="${buildDirectory}" 
-			configInfo="*,*,*" 
-			baseLocation="${baseLocation}" 
-			buildingOSGi="true" 
-			outputUpdateJars="false"
-			pluginpath="${thisPlugin}"
-			forceContextQualifier="z${DSTAMP}${TSTAMP}"
-			/>
-		<ant antfile="build.xml" target="build.jars"/>
-		<ant antfile="build.xml" target="build.update.jar"/>
-		<move todir="${targetFolder}" includeEmptyDirs="no" failonerror="yes">
-			<fileset dir="${basedir}">
-				<include name="*.jar"/>
-			</fileset>
-			<regexpmapper from="^(.*)_.*$" to="\1.jar"/>
-		</move>
-		<ant antfile="build.xml" target="clean"/>
-		<delete file="build.xml"/>
-		<delete file="javaCompiler...args"/>
-	</target>
-
-
-</project>
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties b/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
deleted file mode 100644
index b9da99e..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 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
-###############################################################################
-bundleName= Simple Configurator
-providerName = Eclipse.org - Equinox
-
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
deleted file mode 100644
index 2291eb6..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/provisional/configurator/Configurator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.provisional.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * The implementation of this interface will be registered into a service registry
- * by a Configurator Bundle.
- * 
- * The client bundle can apply configuration which can be interpreted by referring
- * the specified location to the current running OSGi environment. In addition, 
- * the client can expect bundle state in advance .  
- * 
- * TODO: this interface might not be required to be defined.
- * 
- * 
- * **********************************************
- * Current Definition of Configurator Bundle: 
- * 
- * Configurator Bundle will do the following operation at its startup.
- * 
- * 1. Create a Configurator object.
- * 2. Register it as a service to the service registry.
- * 3. Get where to read for knowing what kinds of bundles in its implementation dependent way.
- * 4. Call {@link Configurator#applyConfiguration(URL)} with the URL.
- * 
- * At its stopping, the service registered will be unregistered.
- * 
- * @see ConfiguratorManipulator
- *
- */
-public interface Configurator {
-
-	/**
-	 * Apply configuration read from the specified url to the OSGi 
-	 * environment currently running.
-	 * 
-	 * @param url URL to be read.
-	 * @throws IOException - If reading information from the specified url fails. 
-	 */
-	void applyConfiguration(URL url) throws IOException;
-
-	/**
-	 * Apply configuration read from the previously used url to the OSGi 
-	 * environment currently running. If it is never used, do nothing.
-	 * 
-	 * @throws IOException - If reading information from the specified url fails. 
-	 */
-	void applyConfiguration() throws IOException;
-
-	/**
-	 * Return the url in use.
-	 * If it is never used, return null.
-	 * 
-	 * @return
-	 */
-	URL getUrlInUse();
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
deleted file mode 100644
index 333df29..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/Activator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.EquinoxUtils;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorConstants;
-import org.osgi.framework.*;
-
-/**
- * At its start, SimpleConfigurator bundle does the followings.
- * 
- * 1. A value will be gotten by @{link BundleContext#getProperty(key)} with 
- * {@link SimpleConfiguratorConstants#PROP_KEY_CONFIGURL} as a key.
- * The value will be used for the referal URL. Under the url, there must be a simple 
- * bundles list file to be installed with thier start level and flag of marked as started.
- * 
- * 2. If the value is null, do nothing any more.
- * 3. Otherwise, retrieve the bundles list from the url and install,
- *  set start level of and start bundles, as specified.
- * 
- * 4. A value will be gotten by @{link BundleContext#getProperty(key)} with 
- * {@link SimpleConfiguratorConstants#PROP_KEY_EXCLUSIVE_INSTALLATION} as a key.
- * 
- * 5. If it equals "false", it will do exclusive installation, which means that 
- * the bundles will not be listed in the specified url but installed at the time
- * of the method call except SystemBundle will be uninstalled. 
- * Otherwise, no uninstallation will not be done.
- * 
- */
-public class Activator implements BundleActivator {
-	public final static boolean DEBUG = false;
-	private ServiceRegistration configuratorRegistration;
-	private ServiceRegistration commandRegistration;
-
-	public void start(BundleContext context) throws Exception {
-		SimpleConfiguratorImpl bundleConfigurator = new SimpleConfiguratorImpl(context, context.getBundle());
-		bundleConfigurator.applyConfiguration();
-
-		Dictionary props = new Hashtable();
-		props.put(Constants.SERVICE_VENDOR, "Eclipse"); //$NON-NLS-1$
-		props.put(Constants.SERVICE_PID, SimpleConfiguratorConstants.TARGET_CONFIGURATOR_NAME);
-		ServiceFactory configurationFactory = new SimpleConfiguratorFactory(context);
-		configuratorRegistration = context.registerService(Configurator.class.getName(), configurationFactory, props);
-
-		try {
-			if (null != context.getBundle().loadClass("org.eclipse.osgi.framework.console.CommandProvider")) //$NON-NLS-1$
-				commandRegistration = EquinoxUtils.registerConsoleCommands(context);
-		} catch (ClassNotFoundException e) {
-			// CommandProvider is not available
-			// Ok -- optional
-		}
-
-		if (DEBUG)
-			System.out.println("registered Configurator"); //$NON-NLS-1$
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		if (configuratorRegistration != null) {
-			configuratorRegistration.unregister();
-			configuratorRegistration = null;
-		}
-		if (commandRegistration != null) {
-			commandRegistration.unregister();
-			commandRegistration = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
deleted file mode 100644
index 1da445c..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/ConfigApplier.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.*;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.service.startlevel.StartLevel;
-
-class ConfigApplier {
-	private static final String LAST_BUNDLES_INFO = "last.bundles.info"; //$NON-NLS-1$
-	private static final String PROP_DEVMODE = "osgi.dev"; //$NON-NLS-1$
-
-	private final BundleContext manipulatingContext;
-	private final PackageAdmin packageAdminService;
-	private final StartLevel startLevelService;
-	private final boolean runningOnEquinox;
-	private final boolean inDevMode;
-
-	private final Bundle callingBundle;
-	private final URI baseLocation;
-
-	ConfigApplier(BundleContext context, Bundle callingBundle) {
-		manipulatingContext = context;
-		this.callingBundle = callingBundle;
-		runningOnEquinox = "Eclipse".equals(context.getProperty(Constants.FRAMEWORK_VENDOR)); //$NON-NLS-1$
-		inDevMode = manipulatingContext.getProperty(PROP_DEVMODE) != null;
-		baseLocation = runningOnEquinox ? EquinoxUtils.getInstallLocationURI(context) : null;
-
-		ServiceReference packageAdminRef = manipulatingContext.getServiceReference(PackageAdmin.class.getName());
-		if (packageAdminRef == null)
-			throw new IllegalStateException("No PackageAdmin service is available."); //$NON-NLS-1$
-		packageAdminService = (PackageAdmin) manipulatingContext.getService(packageAdminRef);
-
-		ServiceReference startLevelRef = manipulatingContext.getServiceReference(StartLevel.class.getName());
-		if (startLevelRef == null)
-			throw new IllegalStateException("No StartLevelService service is available."); //$NON-NLS-1$
-		startLevelService = (StartLevel) manipulatingContext.getService(startLevelRef);
-	}
-
-	void install(URL url, boolean exclusiveMode) throws IOException {
-		List bundleInfoList = SimpleConfiguratorUtils.readConfiguration(url, baseLocation);
-		if (Activator.DEBUG)
-			System.out.println("applyConfiguration() bundleInfoList.size()=" + bundleInfoList.size());
-		if (bundleInfoList.size() == 0)
-			return;
-
-		BundleInfo[] expectedState = Utils.getBundleInfosFromList(bundleInfoList);
-
-		// check for an update to the system bundle
-		String systemBundleSymbolicName = manipulatingContext.getBundle(0).getSymbolicName();
-		Version systemBundleVersion = manipulatingContext.getBundle(0).getVersion();
-		if (systemBundleSymbolicName != null) {
-			for (int i = 0; i < expectedState.length; i++) {
-				String symbolicName = expectedState[i].getSymbolicName();
-				if (!systemBundleSymbolicName.equals(symbolicName))
-					continue;
-
-				Version version = Version.parseVersion(expectedState[i].getVersion());
-				if (!systemBundleVersion.equals(version))
-					throw new IllegalStateException("The System Bundle was updated. The framework must be restarted to finalize the configuration change");
-			}
-		}
-
-		HashSet toUninstall = null;
-		if (!exclusiveMode) {
-			BundleInfo[] lastInstalledBundles = getLastState();
-			if (lastInstalledBundles != null) {
-				toUninstall = new HashSet(Arrays.asList(lastInstalledBundles));
-				toUninstall.removeAll(Arrays.asList(expectedState));
-			}
-			saveStateAsLast(url);
-		}
-
-		Collection prevouslyResolved = getResolvedBundles();
-		Collection toRefresh = new ArrayList();
-		Collection toStart = new ArrayList();
-		if (exclusiveMode) {
-			toRefresh.addAll(installBundles(expectedState, toStart));
-			toRefresh.addAll(uninstallBundles(expectedState, packageAdminService));
-		} else {
-			toRefresh.addAll(installBundles(expectedState, toStart));
-			if (toUninstall != null)
-				toRefresh.addAll(uninstallBundles(toUninstall));
-		}
-		refreshPackages((Bundle[]) toRefresh.toArray(new Bundle[toRefresh.size()]), manipulatingContext);
-		if (toRefresh.size() > 0)
-			try {
-				manipulatingContext.getBundle().loadClass("org.eclipse.osgi.service.resolver.PlatformAdmin"); //$NON-NLS-1$
-				// now see if there are any currently resolved bundles with option imports which could be resolved or
-				// if there are fragments with additional constraints which conflict with an already resolved host
-				Bundle[] additionalRefresh = StateResolverUtils.getAdditionalRefresh(prevouslyResolved, manipulatingContext);
-				if (additionalRefresh.length > 0)
-					refreshPackages(additionalRefresh, manipulatingContext);
-			} catch (ClassNotFoundException cnfe) {
-				// do nothing; no resolver package available
-			}
-		startBundles((Bundle[]) toStart.toArray(new Bundle[toStart.size()]));
-	}
-
-	private Collection getResolvedBundles() {
-		Collection resolved = new HashSet();
-		Bundle[] allBundles = manipulatingContext.getBundles();
-		for (int i = 0; i < allBundles.length; i++)
-			if ((allBundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0)
-				resolved.add(allBundles[i]);
-		return resolved;
-	}
-
-	private Collection uninstallBundles(HashSet toUninstall) {
-		Collection removedBundles = new ArrayList(toUninstall.size());
-		for (Iterator iterator = toUninstall.iterator(); iterator.hasNext();) {
-			BundleInfo current = (BundleInfo) iterator.next();
-			Bundle[] matchingBundles = packageAdminService.getBundles(current.getSymbolicName(), getVersionRange(current.getVersion()));
-			for (int j = 0; matchingBundles != null && j < matchingBundles.length; j++) {
-				try {
-					removedBundles.add(matchingBundles[j]);
-					matchingBundles[j].uninstall();
-				} catch (BundleException e) {
-					//TODO log in debug mode...
-				}
-			}
-		}
-		return removedBundles;
-	}
-
-	private void saveStateAsLast(URL url) {
-		InputStream sourceStream = null;
-		OutputStream destinationStream = null;
-
-		File lastBundlesTxt = getLastBundleInfo();
-		try {
-			try {
-				destinationStream = new FileOutputStream(lastBundlesTxt);
-				sourceStream = url.openStream();
-				SimpleConfiguratorUtils.transferStreams(sourceStream, destinationStream);
-			} finally {
-				if (destinationStream != null)
-					destinationStream.close();
-				if (sourceStream != null)
-					sourceStream.close();
-			}
-		} catch (IOException e) {
-			//nothing
-		}
-	}
-
-	private File getLastBundleInfo() {
-		return manipulatingContext.getDataFile(LAST_BUNDLES_INFO);
-	}
-
-	private BundleInfo[] getLastState() {
-		File lastBundlesInfo = getLastBundleInfo();
-		if (!lastBundlesInfo.isFile())
-			return null;
-		try {
-			return (BundleInfo[]) SimpleConfiguratorUtils.readConfiguration(lastBundlesInfo.toURL(), baseLocation).toArray(new BundleInfo[1]);
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	private ArrayList installBundles(BundleInfo[] finalList, Collection toStart) {
-		ArrayList toRefresh = new ArrayList();
-
-		String useReferenceProperty = manipulatingContext.getProperty(SimpleConfiguratorConstants.PROP_KEY_USE_REFERENCE);
-		boolean useReference = useReferenceProperty == null ? runningOnEquinox : Boolean.valueOf(useReferenceProperty).booleanValue();
-
-		for (int i = 0; i < finalList.length; i++) {
-			if (finalList[i] == null)
-				continue;
-			//TODO here we do not deal with bundles that don't have a symbolic id
-			//TODO Need to handle the case where getBundles return multiple value
-
-			String symbolicName = finalList[i].getSymbolicName();
-			String version = finalList[i].getVersion();
-
-			Bundle[] matches = null;
-			if (symbolicName != null && version != null)
-				matches = packageAdminService.getBundles(symbolicName, getVersionRange(version));
-
-			String bundleLocation = SimpleConfiguratorUtils.getBundleLocation(finalList[i], useReference);
-
-			Bundle current = matches == null ? null : (matches.length == 0 ? null : matches[0]);
-			if (current == null) {
-				try {
-					current = manipulatingContext.installBundle(bundleLocation);
-					if (Activator.DEBUG)
-						System.out.println("installed bundle:" + finalList[i]); //$NON-NLS-1$
-					toRefresh.add(current);
-				} catch (BundleException e) {
-					if (Activator.DEBUG) {
-						System.err.println("Can't install " + symbolicName + '/' + version + " from location " + finalList[i].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
-						e.printStackTrace();
-					}
-					continue;
-				}
-			} else if (inDevMode && current.getBundleId() != 0 && current != manipulatingContext.getBundle() && !bundleLocation.equals(current.getLocation()) && !current.getLocation().startsWith("initial@")) {
-				// We do not do this for the system bundle (id==0), the manipulating bundle or any bundle installed from the osgi.bundles list (locations starting with "@initial"
-				// The bundle exists; but the location is different. Uninstall the current and install the new one (bug 229700)
-				try {
-					current.uninstall();
-					toRefresh.add(current);
-				} catch (BundleException e) {
-					if (Activator.DEBUG) {
-						System.err.println("Can't uninstall " + symbolicName + '/' + version + " from location " + current.getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
-						e.printStackTrace();
-					}
-					continue;
-				}
-				try {
-					current = manipulatingContext.installBundle(bundleLocation);
-					if (Activator.DEBUG)
-						System.out.println("installed bundle:" + finalList[i]); //$NON-NLS-1$
-					toRefresh.add(current);
-				} catch (BundleException e) {
-					if (Activator.DEBUG) {
-						System.err.println("Can't install " + symbolicName + '/' + version + " from location " + finalList[i].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$
-						e.printStackTrace();
-					}
-					continue;
-				}
-			}
-
-			// Mark Started
-			if (finalList[i].isMarkedAsStarted()) {
-				toStart.add(current);
-			}
-
-			// Set Start Level
-			int startLevel = finalList[i].getStartLevel();
-			if (startLevel < 1)
-				continue;
-			if (current.getBundleId() == 0)
-				continue;
-			if (packageAdminService.getBundleType(current) == PackageAdmin.BUNDLE_TYPE_FRAGMENT)
-				continue;
-			if (SimpleConfiguratorConstants.TARGET_CONFIGURATOR_NAME.equals(current.getSymbolicName()))
-				continue;
-
-			try {
-				startLevelService.setBundleStartLevel(current, startLevel);
-			} catch (IllegalArgumentException ex) {
-				Utils.log(4, null, null, "Failed to set start level of Bundle:" + finalList[i], ex); //$NON-NLS-1$
-			}
-		}
-		return toRefresh;
-	}
-
-	private void refreshPackages(Bundle[] bundles, BundleContext context) {
-		if (bundles.length == 0 || packageAdminService == null)
-			return;
-
-		final boolean[] flag = new boolean[] {false};
-		FrameworkListener listener = new FrameworkListener() {
-			public void frameworkEvent(FrameworkEvent event) {
-				if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED) {
-					synchronized (flag) {
-						flag[0] = true;
-						flag.notifyAll();
-					}
-				}
-			}
-		};
-		context.addFrameworkListener(listener);
-		packageAdminService.refreshPackages(bundles);
-		synchronized (flag) {
-			while (!flag[0]) {
-				try {
-					flag.wait();
-				} catch (InterruptedException e) {
-					//ignore
-				}
-			}
-		}
-		//		if (DEBUG) {
-		//			for (int i = 0; i < bundles.length; i++) {
-		//				System.out.println(SimpleConfiguratorUtils.getBundleStateString(bundles[i]));
-		//			}
-		//		}
-		context.removeFrameworkListener(listener);
-	}
-
-	private void startBundles(Bundle[] bundles) {
-		for (int i = 0; i < bundles.length; i++) {
-			Bundle bundle = bundles[i];
-			if (bundle.getState() == Bundle.UNINSTALLED) {
-				System.err.println("Could not start: " + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')' + ". It's state is uninstalled.");
-				continue;
-			}
-			if (bundle.getState() == Bundle.STARTING && (bundle == callingBundle || bundle == manipulatingContext.getBundle()))
-				continue;
-			if (packageAdminService.getBundleType(bundle) == PackageAdmin.BUNDLE_TYPE_FRAGMENT)
-				continue;
-
-			try {
-				bundle.start();
-				if (Activator.DEBUG)
-					System.out.println("started Bundle:" + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')'); //$NON-NLS-1$
-			} catch (BundleException e) {
-				e.printStackTrace();
-				//				FrameworkLogEntry entry = new FrameworkLogEntry(FrameworkAdaptor.FRAMEWORK_SYMBOLICNAME, NLS.bind(EclipseAdaptorMsg.ECLIPSE_STARTUP_FAILED_START, bundle.getLocation()), 0, e, null);
-				//				log.log(entry);
-			}
-		}
-	}
-
-	/**
-	 * Uninstall bundles which are not listed on finalList.  
-	 * 
-	 * @param finalList bundles list not to be uninstalled.
-	 * @param packageAdmin package admin service.
-	 * @return Collection HashSet of bundles finally installed.
-	 */
-	private Collection uninstallBundles(BundleInfo[] finalList, PackageAdmin packageAdmin) {
-		Bundle[] allBundles = manipulatingContext.getBundles();
-
-		//Build a set with all the bundles from the system
-		Set removedBundles = new HashSet(allBundles.length);
-		//		configurator.setPrerequisiteBundles(allBundles);
-		for (int i = 0; i < allBundles.length; i++) {
-			if (allBundles[i].getBundleId() == 0)
-				continue;
-			removedBundles.add(allBundles[i]);
-		}
-
-		//Remove all the bundles appearing in the final list from the set of installed bundles
-		for (int i = 0; i < finalList.length; i++) {
-			if (finalList[i] == null)
-				continue;
-			Bundle[] toAdd = packageAdmin.getBundles(finalList[i].getSymbolicName(), getVersionRange(finalList[i].getVersion()));
-			for (int j = 0; toAdd != null && j < toAdd.length; j++) {
-				removedBundles.remove(toAdd[j]);
-			}
-		}
-
-		for (Iterator iter = removedBundles.iterator(); iter.hasNext();) {
-			try {
-				Bundle bundle = ((Bundle) iter.next());
-				if (bundle.getLocation().startsWith("initial@")) {
-					if (Activator.DEBUG)
-						System.out.println("Simple configurator thinks a bundle installed by the boot strap should be uninstalled:" + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')'); //$NON-NLS-1$
-					// Avoid uninstalling bundles that the boot strap code thinks should be installed (bug 232191)
-					iter.remove();
-					continue;
-				}
-				bundle.uninstall();
-				if (Activator.DEBUG)
-					System.out.println("uninstalled Bundle:" + bundle.getSymbolicName() + '(' + bundle.getLocation() + ':' + bundle.getBundleId() + ')'); //$NON-NLS-1$
-			} catch (BundleException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		return removedBundles;
-	}
-
-	private String getVersionRange(String version) {
-		return version == null ? null : new StringBuffer().append('[').append(version).append(',').append(version).append(']').toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
deleted file mode 100644
index 7e8dbeb..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import org.osgi.framework.*;
-
-public class SimpleConfiguratorFactory implements ServiceFactory {
-	private BundleContext context;
-
-	public SimpleConfiguratorFactory(BundleContext context) {
-		this.context = context;
-	}
-
-	public Object getService(Bundle bundle, ServiceRegistration registration) {
-		return new SimpleConfiguratorImpl(context, bundle);
-	}
-
-	public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
-		// nothing to do
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
deleted file mode 100644
index 7cbc420..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/SimpleConfiguratorImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import java.util.List;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.*;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/*
- * SimpleConfigurator provides ways to install bundles listed in a file
- * accessible by the specified URL and expect states for it in advance without
- * actual application.
- * 
- * In every methods of SimpleConfiguration object,
- * 
- * 1. A value will be gotten by @{link BundleContext#getProperty(key) with
- * {@link SimpleConfiguratorConstants#PROP_KEY_EXCLUSIVE_INSTALLATION} as a key.
- * 2. If it equals "true", it will do exclusive installation, which means that
- * the bundles will not be listed in the specified url but installed at the time
- * of the method call except SystemBundle will be uninstalled. Otherwise, no
- * uninstallation will not be done.
- */
-public class SimpleConfiguratorImpl implements Configurator {
-
-	private static URL configurationURL = null;
-	private static Object configurationLock = new Object();
-
-	private BundleContext context;
-	private ConfigApplier configApplier;
-	private Bundle bundle;
-
-	public SimpleConfiguratorImpl(BundleContext context, Bundle bundle) {
-		this.context = context;
-		this.bundle = bundle;
-	}
-
-	private URL getConfigurationURL() throws IOException {
-		String specifiedURL = context.getProperty(SimpleConfiguratorConstants.PROP_KEY_CONFIGURL);
-		if (specifiedURL == null)
-			specifiedURL = "file:" + SimpleConfiguratorConstants.CONFIGURATOR_FOLDER + "/" + SimpleConfiguratorConstants.CONFIG_LIST;
-
-		try {
-			//If it is not a file URL use it as is
-			if (!specifiedURL.startsWith("file:"))
-				return new URL(specifiedURL);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-
-		try {
-			// if it is an absolute file URL, use it as is
-			boolean done = false;
-			URL url = null;
-			String file = specifiedURL;
-			while (!done) {
-				// TODO what is this while loop for?  nested file:file:file: urls?
-				try {
-					url = Utils.buildURL(file);
-					file = url.getFile();
-				} catch (java.net.MalformedURLException e) {
-					done = true;
-				}
-			}
-			if (url != null && new File(url.getFile()).isAbsolute())
-				return url;
-
-			//if it is an relative file URL, then resolve it against the configuration area
-			// TODO Support relative file URLs when not on Equinox
-			URL[] configURL = EquinoxUtils.getConfigAreaURL(context);
-			if (configURL != null) {
-				File userConfig = new File(configURL[0].getFile(), url.getFile());
-				if (configURL.length == 1)
-					return userConfig.exists() ? userConfig.toURL() : null;
-
-				File sharedConfig = new File(configURL[1].getFile(), url.getFile());
-				if (!userConfig.exists())
-					return sharedConfig.exists() ? sharedConfig.toURL() : null;
-
-				if (!sharedConfig.exists())
-					return userConfig.toURL();
-
-				URI base = EquinoxUtils.getInstallLocationURI(context);
-
-				URL sharedConfigURL = sharedConfig.toURL();
-				List sharedBundles = SimpleConfiguratorUtils.readConfiguration(sharedConfigURL, base);
-
-				URL userConfigURL = userConfig.toURL();
-				List userBundles = SimpleConfiguratorUtils.readConfiguration(userConfigURL, base);
-
-				return (userBundles.containsAll(sharedBundles)) ? userConfigURL : sharedConfigURL;
-			}
-		} catch (MalformedURLException e) {
-			return null;
-		}
-
-		//Last resort
-		try {
-			return Utils.buildURL(specifiedURL);
-		} catch (MalformedURLException e) {
-			//Ignore
-		}
-
-		return null;
-	}
-
-	public void applyConfiguration(URL url) throws IOException {
-		synchronized (configurationLock) {
-			if (Activator.DEBUG)
-				System.out.println("applyConfiguration() URL=" + url);
-			if (url == null)
-				return;
-			configurationURL = url;
-
-			if (this.configApplier == null)
-				configApplier = new ConfigApplier(context, bundle);
-			configApplier.install(url, isExclusiveInstallation());
-		}
-	}
-
-	private boolean isExclusiveInstallation() {
-		String value = context.getProperty(SimpleConfiguratorConstants.PROP_KEY_EXCLUSIVE_INSTALLATION);
-		if (value == null || value.trim().length() == 0)
-			value = "true";
-		return Boolean.valueOf(value).booleanValue();
-	}
-
-	public void applyConfiguration() throws IOException {
-		synchronized (configurationLock) {
-			configurationURL = getConfigurationURL();
-			applyConfiguration(configurationURL);
-		}
-	}
-
-	public URL getUrlInUse() {
-		synchronized (configurationLock) {
-			return configurationURL;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
deleted file mode 100644
index b4bb8b0..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ApplyCommand.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.console;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.equinox.internal.provisional.configurator.Configurator;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * An OSGi console command to apply a configuration
- */
-public class ApplyCommand {
-
-	private URL configURL;
-	private CommandInterpreter interpreter;
-	private BundleContext context;
-
-	public ApplyCommand(CommandInterpreter interpreter, BundleContext context, URL configURL) {
-		this.interpreter = interpreter;
-		this.context = context;
-		this.configURL = configURL;
-	}
-
-	/**
-	 * Runs the apply console command
-	 */
-	public void run() {
-		ServiceTracker tracker = new ServiceTracker(context, Configurator.class.getName(), null);
-		tracker.open();
-		Configurator configurator = (Configurator) tracker.getService();
-		if (configurator != null) {
-			try {
-				if (configURL != null)
-					configurator.applyConfiguration(configURL);
-				else
-					configurator.applyConfiguration();
-				
-				if (configurator.getUrlInUse() == null)
-					interpreter.println("Config URL not set.");
-			} catch (IOException e) {
-				interpreter.println(e.getMessage());
-			}
-		} else {
-			interpreter.println("No configurator registered"); //$NON-NLS-1$
-		}
-		tracker.close();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
deleted file mode 100644
index 99b1440..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/console/ConfiguratorCommandProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.console;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.equinox.internal.simpleconfigurator.utils.Utils;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.osgi.framework.BundleContext;
-
-public class ConfiguratorCommandProvider implements CommandProvider {
-	public static final String NEW_LINE = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private BundleContext context;
-
-	public ConfiguratorCommandProvider(BundleContext context) {
-		this.context = context;
-	}
-
-	/**
-	 * Returns the given string as an URL, or <code>null</code> if
-	 * the string could not be interpreted as an URL.
-	 */
-	private URL toURL(CommandInterpreter interpreter, String urlString) {
-		try {
-			return Utils.buildURL(urlString);
-		} catch (MalformedURLException e) {
-			interpreter.println(e.getMessage());
-			return null;
-		}
-	}
-
-	/**
-	 * Apply the current configuration
-	 * @param configuration URL (optional)
-	 */
-	public void _confapply(CommandInterpreter interpreter) {
-		String parameter = interpreter.nextArgument();
-		URL configURL = null;
-		if (parameter != null)
-			configURL = toURL(interpreter, parameter);
-
-		new ApplyCommand(interpreter, context, configURL).run();
-	}
-
-	public String getHelp() {
-		StringBuffer help = new StringBuffer();
-		help.append("---"); //$NON-NLS-1$
-		help.append("Configurator Commands"); //$NON-NLS-1$
-		help.append("---"); //$NON-NLS-1$
-		help.append(NEW_LINE);
-		help.append("\tconfapply [<config URL>] - Applies a configuration"); //$NON-NLS-1$
-		help.append(NEW_LINE);
-		return help.toString();
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
deleted file mode 100644
index 8f44d08..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/BundleInfo.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.net.URI;
-
-/*
- * This object represents information of a bundle.
- */
-public class BundleInfo {
-	public static final int NO_LEVEL = -1;
-
-	private String symbolicName = null;
-	private String version = null;
-	private URI location;
-	private URI baseLocation;
-
-	private boolean markedAsStarted = false;
-	private int startLevel = NO_LEVEL;
-
-	public BundleInfo(String symbolic, String version, URI location, int startLevel, boolean started) {
-		this.symbolicName = symbolic;
-		this.version = version;
-		this.location = location;
-		this.markedAsStarted = started;
-		this.startLevel = startLevel;
-	}
-
-	public URI getLocation() {
-		return location;
-	}
-
-	public int getStartLevel() {
-		return startLevel;
-	}
-
-	public String getSymbolicName() {
-		return symbolicName;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public boolean isMarkedAsStarted() {
-		return markedAsStarted;
-	}
-
-	public URI getBaseLocation() {
-		return baseLocation;
-	}
-
-	public void setBaseLocation(URI baseLocation) {
-		this.baseLocation = baseLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("BundleInfo("); //$NON-NLS-1$
-		if (symbolicName != null)
-			buffer.append(symbolicName);
-		buffer.append(", "); //$NON-NLS-1$
-		if (version != null)
-			buffer.append(version);
-		if (baseLocation != null) {
-			buffer.append(", baseLocation="); //$NON-NLS-1$
-			buffer.append(baseLocation);
-		}
-		buffer.append(", location="); //$NON-NLS-1$
-		buffer.append(location);
-		buffer.append(", startLevel="); //$NON-NLS-1$
-		buffer.append(startLevel);
-		buffer.append(", toBeStarted="); //$NON-NLS-1$
-		buffer.append(markedAsStarted);
-		buffer.append(')');
-		return buffer.toString();
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((symbolicName == null) ? 0 : symbolicName.hashCode());
-		result = prime * result + ((version == null) ? 0 : version.hashCode());
-		return result;
-	}
-
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-
-		if (obj == null)
-			return false;
-
-		if (getClass() != obj.getClass())
-			return false;
-
-		BundleInfo other = (BundleInfo) obj;
-		if (symbolicName == null) {
-			if (other.symbolicName != null)
-				return false;
-		} else if (!symbolicName.equals(other.symbolicName))
-			return false;
-
-		if (version == null) {
-			if (other.version != null)
-				return false;
-		} else if (!version.equals(other.version))
-			return false;
-
-		if (location == null || other.location == null)
-			return true;
-
-		//compare absolute location URIs
-		URI absoluteLocation = baseLocation == null ? location : URIUtil.append(baseLocation, location.toString());
-		URI otherAbsoluteLocation = other.baseLocation == null ? other.location : URIUtil.append(other.baseLocation, other.location.toString());
-		return URIUtil.sameURI(absoluteLocation, otherAbsoluteLocation);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
deleted file mode 100644
index d0ae2cc..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/EquinoxUtils.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.net.*;
-import org.eclipse.equinox.internal.simpleconfigurator.console.ConfiguratorCommandProvider;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class EquinoxUtils {
-
-	public static URL[] getConfigAreaURL(BundleContext context) {
-		Filter filter = null;
-		try {
-			filter = context.createFilter(Location.CONFIGURATION_FILTER);
-		} catch (InvalidSyntaxException e) {
-			// should not happen
-		}
-		ServiceTracker configLocationTracker = new ServiceTracker(context, filter, null);
-		configLocationTracker.open();
-		try {
-			Location configLocation = (Location) configLocationTracker.getService();
-			if (configLocation == null)
-				return null;
-
-			URL baseURL = configLocation.getURL();
-			if (configLocation.getParentLocation() != null && configLocation.getURL() != null) {
-				if (baseURL == null)
-					return new URL[] {configLocation.getParentLocation().getURL()};
-				else
-					return new URL[] {baseURL, configLocation.getParentLocation().getURL()};
-			}
-			if (baseURL != null)
-				return new URL[] {baseURL};
-
-			return null;
-		} finally {
-			configLocationTracker.close();
-		}
-	}
-
-	public static URI getInstallLocationURI(BundleContext context) {
-		try {
-			ServiceReference[] references = context.getServiceReferences(Location.class.getName(), Location.INSTALL_FILTER);
-			if (references != null && references.length > 0) {
-				ServiceReference reference = references[0];
-				Location installLocation = (Location) context.getService(reference);
-				if (installLocation != null) {
-					try {
-						if (installLocation.isSet()) {
-							URL location = installLocation.getURL();
-							return URIUtil.toURI(location);
-						}
-					} catch (URISyntaxException e) {
-						//TODO: log an error
-					} finally {
-						context.ungetService(reference);
-					}
-				}
-			}
-		} catch (InvalidSyntaxException e) {
-			//TODO: log an error
-		}
-		return null;
-	}
-
-	public static ServiceRegistration registerConsoleCommands(BundleContext context) {
-		return context.registerService(CommandProvider.class.getName(), new ConfiguratorCommandProvider(context), null);
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
deleted file mode 100644
index 425c160..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-public class SimpleConfiguratorConstants {
-	/**
-	 * If BundleContext#getProperty(PROP_KEY_EXCLUSIVE_INSTALLATION) equals "true" ignoring case, 
-	 * Configurator.applyConfiguration(url) will uninstall the installed bundles which are not 
-	 * listed in the simpleconfigurator config file after install bundles listed.
-	 * Otherwise, it never uninstall any bundles. 
-	 * 
-	 * Default: true
-	 */
-	public static final String PROP_KEY_EXCLUSIVE_INSTALLATION = "org.eclipse.equinox.simpleconfigurator.exclusiveInstallation"; //$NON-NLS-1$
-
-	/**
-	 * If BundleContext#getProperty(PROP_KEY_USE_REFERENCE) does not equal "false" ignoring case, 
-	 * when a SimpleConfigurator installs a bundle, "reference:" is added to its bundle location in order to avoid
-	 * caching its bundle jar.  Otherwise, it will add nothing to any bundle location.
-	 * 	 
-	 * Default: true
-	 */
-	public static final String PROP_KEY_USE_REFERENCE = "org.eclipse.equinox.simpleconfigurator.useReference"; //$NON-NLS-1$
-
-	/**
-	 * BundleContext#getProperty(PROP_KEY_CONFIGURL) is used for SimpleConfigurator to do life cycle control of bundles.
-	 * The file specified by the returned url is read by SimpleConfigurator and do life cycle control according to it.
-	 * If improper value or null is returned, SimpleConfigurator doesn't do it.
-	 * 
-	 * Default: null
-	 */
-	public static final String PROP_KEY_CONFIGURL = "org.eclipse.equinox.simpleconfigurator.configUrl"; //$NON-NLS-1$
-
-	public static final String CONFIG_LIST = "bundles.info"; //$NON-NLS-1$
-	public static final String CONFIGURATOR_FOLDER = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-
-	public static final String TARGET_CONFIGURATOR_NAME = "org.eclipse.equinox.simpleconfigurator"; //$NON-NLS-1$
-
-	public static final String PARAMETER_BASEURL = "org.eclipse.equinox.simpleconfigurator.baseUrl"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
deleted file mode 100644
index c355703..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- ******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-public class SimpleConfiguratorUtils {
-
-	private static final String UNC_PREFIX = "//";
-	private static final String VERSION_PREFIX = "#version=";
-	public static final Version COMPATIBLE_VERSION = new Version(1, 0, 0);
-	public static final VersionRange VERSION_TOLERANCE = new VersionRange(COMPATIBLE_VERSION, true, new Version(2, 0, 0), false);
-
-	private static final String FILE_SCHEME = "file";
-	private static final String REFERENCE_PREFIX = "reference:";
-	private static final String FILE_PREFIX = "file:";
-	private static final String COMMA = ",";
-	private static final String ENCODED_COMMA = "%2C";
-
-	public static List readConfiguration(URL url, URI base) throws IOException {
-		List bundles = new ArrayList();
-
-		BufferedReader r = null;
-		try {
-			r = new BufferedReader(new InputStreamReader(url.openStream()));
-		} catch (IOException e) {
-			// if the exception is a FNF we return an empty bundle list
-			if (e instanceof FileNotFoundException)
-				return bundles;
-			throw e;
-		}
-		try {
-			String line;
-			while ((line = r.readLine()) != null) {
-				line = line.trim();
-				//ignore any comment or empty lines
-				if (line.length() == 0)
-					continue;
-
-				if (line.startsWith("#")) {//$NON-NLS-1$
-					parseCommentLine(line);
-					continue;
-				}
-
-				BundleInfo bundleInfo = parseBundleInfoLine(line, base);
-				if (bundleInfo != null)
-					bundles.add(bundleInfo);
-			}
-		} finally {
-			try {
-				r.close();
-			} catch (IOException ex) {
-				// ignore
-			}
-		}
-		return bundles;
-	}
-
-	public static void parseCommentLine(String line) {
-		// version
-		if (line.startsWith(VERSION_PREFIX)) {
-			String version = line.substring(VERSION_PREFIX.length()).trim();
-			if (!VERSION_TOLERANCE.isIncluded(new Version(version)))
-				throw new IllegalArgumentException("Invalid version: " + version);
-		}
-	}
-
-	public static BundleInfo parseBundleInfoLine(String line, URI base) {
-		// symbolicName,version,location,startLevel,markedAsStarted
-		StringTokenizer tok = new StringTokenizer(line, COMMA);
-		int numberOfTokens = tok.countTokens();
-		if (numberOfTokens < 5)
-			throw new IllegalArgumentException("Line does not contain at least 5 tokens: " + line);
-
-		String symbolicName = tok.nextToken().trim();
-		String version = tok.nextToken().trim();
-		URI location = parseLocation(tok.nextToken().trim());
-		int startLevel = Integer.parseInt(tok.nextToken().trim());
-		boolean markedAsStarted = Boolean.valueOf(tok.nextToken()).booleanValue();
-		BundleInfo result = new BundleInfo(symbolicName, version, location, startLevel, markedAsStarted);
-		if (!location.isAbsolute())
-			result.setBaseLocation(base);
-		return result;
-	}
-
-	public static URI parseLocation(String location) {
-		// decode any commas we previously encoded when writing this line
-		int encodedCommaIndex = location.indexOf(ENCODED_COMMA);
-		while (encodedCommaIndex != -1) {
-			location = location.substring(0, encodedCommaIndex) + COMMA + location.substring(encodedCommaIndex + 3);
-			encodedCommaIndex = location.indexOf(ENCODED_COMMA);
-		}
-
-		if (File.separatorChar != '/') {
-			int colon = location.indexOf(':');
-			String scheme = colon < 0 ? null : location.substring(0, colon);
-			if (scheme == null || scheme.equals(FILE_SCHEME))
-				location = location.replace(File.separatorChar, '/');
-			//if the file is a UNC path, insert extra leading // if needed to make a valid URI (see bug 207103)
-			if (scheme == null) {
-				if (location.startsWith(UNC_PREFIX) && !location.startsWith(UNC_PREFIX, 2))
-					location = UNC_PREFIX + location;
-			} else {
-				//insert UNC prefix after the scheme
-				if (location.startsWith(UNC_PREFIX, colon + 1) && !location.startsWith(UNC_PREFIX, colon + 3))
-					location = location.substring(0, colon + 3) + location.substring(colon + 1);
-			}
-		}
-
-		try {
-			URI uri = new URI(location);
-			if (!uri.isOpaque())
-				return uri;
-		} catch (URISyntaxException e1) {
-			// this will catch the use of invalid URI characters (e.g. spaces, etc.)
-			// ignore and fall through
-		}
-
-		try {
-			return URIUtil.fromString(location);
-		} catch (URISyntaxException e) {
-			throw new IllegalArgumentException("Invalid location: " + location);
-		}
-	}
-
-	public static void transferStreams(InputStream source, OutputStream destination) throws IOException {
-		source = new BufferedInputStream(source);
-		destination = new BufferedOutputStream(destination);
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				if ((bytesRead = source.read(buffer)) == -1)
-					break;
-				destination.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			try {
-				source.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			try {
-				destination.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	// This will produce an unencoded URL string
-	public static String getBundleLocation(BundleInfo bundle, boolean useReference) {
-		URI location = bundle.getLocation();
-		String scheme = location.getScheme();
-		String host = location.getHost();
-		String path = location.getPath();
-
-		if (location.getScheme() == null) {
-			URI baseLocation = bundle.getBaseLocation();
-			if (baseLocation != null && baseLocation.getScheme() != null) {
-				scheme = baseLocation.getScheme();
-				host = baseLocation.getHost();
-			}
-		}
-
-		String bundleLocation = null;
-		try {
-			URL bundleLocationURL = new URL(scheme, host, path);
-			bundleLocation = bundleLocationURL.toExternalForm();
-
-		} catch (MalformedURLException e1) {
-			bundleLocation = location.toString();
-		}
-
-		if (useReference && bundleLocation.startsWith(FILE_PREFIX))
-			bundleLocation = REFERENCE_PREFIX + bundleLocation;
-		return bundleLocation;
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
deleted file mode 100644
index 0b1b5f9..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/StateResolverUtils.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.util.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.osgi.framework.*;
-
-public class StateResolverUtils {
-
-	public static Bundle[] getAdditionalRefresh(Collection currentResolved, BundleContext context) {
-		ServiceReference ref = context.getServiceReference(PlatformAdmin.class.getName());
-		if (ref == null)
-			return new Bundle[0];
-		PlatformAdmin platformAdmin = (PlatformAdmin) context.getService(ref);
-		if (platformAdmin == null)
-			return new Bundle[0];
-		try {
-			State state = platformAdmin.getState(false);
-			BundleDescription[] bundles = state.getBundles();
-			HashSet results = new HashSet(bundles.length);
-			getAdditionRefresh(bundles, state, currentResolved, results, context);
-			return (Bundle[]) results.toArray(new Bundle[results.size()]);
-		} finally {
-			context.ungetService(ref);
-		}
-	}
-
-	private static void getAdditionRefresh(BundleDescription[] bundleDescriptions, State state, Collection currentResolved, Set results, BundleContext context) {
-		bundles: for (int i = 0; i < bundleDescriptions.length; i++) {
-			Bundle bundle = context.getBundle(bundleDescriptions[i].getBundleId());
-			if (bundle == null)
-				continue bundles;
-			// look for a fragment which adds a conflicted constraint to an already resolved host
-			if (!bundleDescriptions[i].isResolved() && bundleDescriptions[i].getHost() != null) {
-				ResolverError[] errors = state.getResolverErrors(bundleDescriptions[i]);
-				for (int j = 0; j < errors.length; j++) {
-					if ((errors[j].getType() & ResolverError.FRAGMENT_CONFLICT) != 0) {
-						BundleDescription[] possibleHosts = state.getBundles(bundleDescriptions[i].getHost().getName());
-						for (int k = 0; k < possibleHosts.length; k++) {
-							Bundle hostBundle = context.getBundle(possibleHosts[k].getBundleId());
-							if (hostBundle != null && currentResolved.contains(hostBundle) && bundleDescriptions[i].getHost().isSatisfiedBy(possibleHosts[k]))
-								results.add(hostBundle);
-						}
-					}
-				}
-				continue bundles;
-			}
-			if (!currentResolved.contains(bundle) || !bundleDescriptions[i].isResolved())
-				continue bundles;
-			// look for optional imports which are unresolved but are resolvable
-			ImportPackageSpecification[] imports = bundleDescriptions[i].getImportPackages();
-			for (int j = 0; j < imports.length; j++)
-				if (ImportPackageSpecification.RESOLUTION_OPTIONAL.equals(imports[j].getDirective(Constants.RESOLUTION_DIRECTIVE)) && !imports[j].isResolved() && state.getStateHelper().isResolvable(imports[j])) {
-					results.add(bundle);
-					continue bundles;
-				}
-			// look for optional requires which are unresolved but are resolvable
-			BundleSpecification[] requires = bundleDescriptions[i].getRequiredBundles();
-			for (int j = 0; j < requires.length; j++)
-				if (requires[j].isOptional() && !requires[j].isResolved() && state.getStateHelper().isResolvable(requires[j])) {
-					results.add(bundle);
-					continue bundles;
-				}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/URIUtil.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/URIUtil.java
deleted file mode 100644
index 7f74610..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/URIUtil.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.io.File;
-import java.net.*;
-
-/**
- * This class copies various methods from the URIUtil class in
- * org.eclipse.equinox.common. Unless otherwise noted the implementations here
- * should mirror those in the common implementation.
- */
-public class URIUtil {
-
-	private static final String SCHEME_FILE = "file"; //$NON-NLS-1$
-	private static final String UNC_PREFIX = "//"; //$NON-NLS-1$
-
-	/**
-	 * Appends the given extension to the path of the give base URI and returns
-	 * the corresponding new path.
-	 * @param base The base URI to append to
-	 * @param extension The path extension to be added
-	 * @return The appended URI
-	 */
-	public static URI append(URI base, String extension) {
-		try {
-			String path = base.getPath();
-			if (path == null)
-				return appendOpaque(base, extension);
-			//if the base is already a directory then resolve will just do the right thing
-			if (path.endsWith("/")) {//$NON-NLS-1$
-				URI result = base.resolve(extension);
-				//Fix UNC paths that are incorrectly normalized by URI#resolve (see Java bug 4723726)
-				String resultPath = result.getPath();
-				if (path.startsWith(UNC_PREFIX) && (resultPath == null || !resultPath.startsWith(UNC_PREFIX)))
-					result = new URI(result.getScheme(), "///" + result.getSchemeSpecificPart(), result.getFragment()); //$NON-NLS-1$
-				return result;
-			}
-			path = path + "/" + extension; //$NON-NLS-1$
-			return new URI(base.getScheme(), base.getUserInfo(), base.getHost(), base.getPort(), path, base.getQuery(), base.getFragment());
-		} catch (URISyntaxException e) {
-			//shouldn't happen because we started from a valid URI
-			throw new RuntimeException(e);
-		}
-	}
-
-	/**
-	 * Special case of appending to an opaque URI. Since opaque URIs
-	 * have no path segment the best we can do is append to the scheme-specific part
-	 */
-	private static URI appendOpaque(URI base, String extension) throws URISyntaxException {
-		String ssp = base.getSchemeSpecificPart();
-		if (ssp.endsWith("/")) //$NON-NLS-1$
-			ssp += extension;
-		else
-			ssp = ssp + "/" + extension; //$NON-NLS-1$
-		return new URI(base.getScheme(), ssp, base.getFragment());
-	}
-
-	/**
-	 * Returns a URI corresponding to the given unencoded string.
-	 * @throws URISyntaxException If the string cannot be formed into a valid URI
-	 */
-	public static URI fromString(String uriString) throws URISyntaxException {
-		int colon = uriString.indexOf(':');
-		int hash = uriString.lastIndexOf('#');
-		boolean noHash = hash < 0;
-		if (noHash)
-			hash = uriString.length();
-		String scheme = colon < 0 ? null : uriString.substring(0, colon);
-		String ssp = uriString.substring(colon + 1, hash);
-		String fragment = noHash ? null : uriString.substring(hash + 1);
-		//use java.io.File for constructing file: URIs
-		if (scheme != null && scheme.equals(SCHEME_FILE)) {
-			File file = new File(uriString.substring(5));
-			if (file.isAbsolute())
-				return file.toURI();
-			scheme = null;
-			if (File.separatorChar != '/')
-				ssp = ssp.replace(File.separatorChar, '/');
-		}
-		return new URI(scheme, ssp, fragment);
-	}
-
-	/*
-	 * Compares two URI for equality.
-	 * Return false if one of them is null
-	 */
-	public static boolean sameURI(URI url1, URI url2) {
-		if (url1 == url2)
-			return true;
-		if (url1 == null || url2 == null)
-			return false;
-		if (url1.equals(url2))
-			return true;
-
-		if (url1.isAbsolute() != url2.isAbsolute())
-			return false;
-
-		// check if we have two local file references that are case variants
-		File file1 = toFile(url1);
-		return file1 == null ? false : file1.equals(toFile(url2));
-	}
-
-	/**
-	 * Returns the URI as a local file, or <code>null</code> if the given
-	 * URI does not represent a local file.
-	 * @param uri The URI to return the file for
-	 * @return The local file corresponding to the given URI, or <code>null</code>
-	 */
-	public static File toFile(URI uri) {
-		try {
-			if (!SCHEME_FILE.equalsIgnoreCase(uri.getScheme()))
-				return null;
-			//assume all illegal characters have been properly encoded, so use URI class to unencode
-			return new File(uri);
-		} catch (IllegalArgumentException e) {
-			//File constructor does not support non-hierarchical URI
-			String path = uri.getPath();
-			//path is null for non-hierarchical URI such as file:c:/tmp
-			if (path == null)
-				path = uri.getSchemeSpecificPart();
-			return new File(path);
-		}
-	}
-
-	/**
-	 * Returns a string representation of the given URI that doesn't have illegal
-	 * characters encoded. This string is suitable for later passing to {@link #fromString(String)}.
-	 * @param uri The URI to convert to string format
-	 * @return An unencoded string representation of the URI
-	 */
-	public static String toUnencodedString(URI uri) {
-		StringBuffer result = new StringBuffer();
-		String scheme = uri.getScheme();
-		if (scheme != null)
-			result.append(scheme).append(':');
-		//there is always a ssp
-		result.append(uri.getSchemeSpecificPart());
-		String fragment = uri.getFragment();
-		if (fragment != null)
-			result.append('#').append(fragment);
-		return result.toString();
-	}
-
-	/**
-	 * Returns the URL as a URI. This method will handle broken URLs that are
-	 * not properly encoded (for example they contain unencoded space characters).
-	 */
-	public static URI toURI(URL url) throws URISyntaxException {
-		//URL behaves differently across platforms so for file: URLs we parse from string form
-		if (SCHEME_FILE.equals(url.getProtocol())) {
-			String pathString = url.toExternalForm().substring(5);
-			//ensure there is a leading slash to handle common malformed URLs such as file:c:/tmp
-			if (pathString.indexOf('/') != 0)
-				pathString = '/' + pathString;
-			else if (pathString.startsWith(UNC_PREFIX) && !pathString.startsWith(UNC_PREFIX, 2)) {
-				//URL encodes UNC path with two slashes, but URI uses four (see bug 207103)
-				pathString = UNC_PREFIX + pathString;
-			}
-			return new URI(SCHEME_FILE, null, pathString, null);
-		}
-		try {
-			return new URI(url.toExternalForm());
-		} catch (URISyntaxException e) {
-			//try multi-argument URI constructor to perform encoding
-			return new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
-		}
-	}
-
-	/**
-	 * Returns a URI as a URL.
-	 * 
-	 * @throws MalformedURLException 
-	 */
-	public static URL toURL(URI uri) throws MalformedURLException {
-		return new URL(uri.toString());
-	}
-}
diff --git a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java b/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
deleted file mode 100644
index 2d21e13..0000000
--- a/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/Utils.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.internal.simpleconfigurator.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-/*
- * This class was copied from org.eclipse.equinox.internal.frameworkadmin.utils
- * package of org.eclipse.equinox.frameworkadmin plugin on March 3 2007.
- * 
- * The reason why it was copied is to make simpleconfigurator dependent on any
- * bundles(org.eclipse.equinox.framework).
- */
-
-public class Utils {
-	private final static String PATH_SEP = "/"; //$NON-NLS-1$
-
-	public static URL checkFullUrl(URL url, String urlName) throws IllegalArgumentException {//throws ManipulatorException {
-		if (url == null)
-			throw new IllegalArgumentException(urlName + " is null");
-		if (!url.getProtocol().endsWith("file"))
-			return url;
-		File file = new File(url.getFile());
-		if (!file.isAbsolute())
-			throw new IllegalArgumentException(urlName + "(" + url + ") does not have absolute path");
-		if (file.getAbsolutePath().startsWith(PATH_SEP))
-			return url;
-		try {
-			return getUrl("file", null, PATH_SEP + file.getAbsolutePath());
-		} catch (MalformedURLException e) {
-			throw new IllegalArgumentException(urlName + "(" + "file:" + PATH_SEP + file.getAbsolutePath() + ") is not fully quallified");
-		}
-	}
-
-	public static void deleteDir(File file) throws IOException {
-		if (file.isFile()) {
-			if (!file.delete())
-				throw new IOException("Fail to delete File(" + file.getAbsolutePath() + ")");
-			return;
-		}
-		File[] children = file.listFiles();
-		for (int i = 0; i < children.length; i++) {
-			deleteDir(children[i]);
-		}
-		if (!file.delete())
-			throw new IOException("Fail to delete Dir(" + file.getAbsolutePath() + ")");
-		return;
-	}
-
-	public static BundleInfo[] getBundleInfosFromList(List list) {
-		if (list == null)
-			return new BundleInfo[0];
-		BundleInfo[] ret = new BundleInfo[list.size()];
-		list.toArray(ret);
-		return ret;
-	}
-
-	public static URL getUrl(String protocol, String host, String file) throws MalformedURLException {// throws ManipulatorException {
-		file = Utils.replaceAll(file, File.separator, "/");
-		return new URL(protocol, host, file);
-	}
-
-	public static String removeLastCh(String target, char ch) {
-		while (target.charAt(target.length() - 1) == ch) {
-			target = target.substring(0, target.length() - 1);
-		}
-		return target;
-	}
-
-	public static String replaceAll(String st, String oldSt, String newSt) {
-		int index = -1;
-		while ((index = st.indexOf(oldSt)) != -1) {
-			st = st.substring(0, index) + newSt + st.substring(index + oldSt.length());
-		}
-		return st;
-	}
-
-	public static void log(int level, Object obj, String method, String message, Throwable e) {
-		String msg = "";
-		if (method == null) {
-			if (obj != null)
-				msg = "(" + obj.getClass().getName() + ")";
-		} else if (obj == null)
-			msg = "[" + method + "]" + message;
-		else
-			msg = "[" + method + "](" + obj.getClass().getName() + ")";
-		msg += message;
-
-//		if (LogService logService = Activator.getLogService();
-//		if (logService != null) {
-//			logService.log(level, msg, e);
-//		} else {
-		String levelSt = null;
-		if (level == 1)
-			levelSt = "DEBUG";
-		else if (level == 2)
-			levelSt = "INFO";
-		else if (level == 3)
-			levelSt = "WARNING";
-		else if (level == 4) {
-			levelSt = "ERROR";
-//				useLog = true;
-		}
-//			if (useLog) {
-		System.err.println("[" + levelSt + "]" + msg);
-		if (e != null)
-			e.printStackTrace();
-//			}
-	}
-
-	public static URL buildURL(String spec) throws MalformedURLException {
-		if (spec == null)
-			throw new NullPointerException("URL spec is null."); //$NON-NLS-1$
-		// Construct the URL carefully so as to preserve UNC paths etc.
-		if (spec.startsWith("file:")) { //$NON-NLS-1$
-			// need to do this for UNC paths
-			File file = new File(spec.substring(5));
-			if (file.isAbsolute())
-				return file.toURL();
-		}
-		return new URL(spec);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.cvsignore b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.cvsignore
deleted file mode 100644
index 23c798c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-repository
-buildDirectory
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.project b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.project
deleted file mode 100644
index 96fb3bc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.cloud.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/Build Cloud Example.launch b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/Build Cloud Example.launch
deleted file mode 100644
index 9da6e2c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/Build Cloud Example.launch
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.examples.rcp.cloud.releng"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml}"/>
-<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/build.properties
deleted file mode 100644
index 3f64da7..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/build.properties
+++ /dev/null
@@ -1,119 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 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
-###############################################################################
-product=/org.eclipse.equinox.p2.examples.rcp.cloud/cloud.product
-runPackager=true
-
-p2.gathering=true
-		p2.metadata.repo=file:${builder}/repository
-p2.artifact.repo=file:${builder}/repository
-
-#Set the name of the archive that will result from the product build.
-#archiveNamePrefix=
-
-# The prefix that will be used in the generated archive.
-archivePrefix=eclipse
-
-# The location underwhich all of the build output will be collected.
-collectingFolder=${archivePrefix}
-
-# The list of {os, ws, arch} configurations to build.  This 
-# value is a '&' separated list of ',' separate triples.  For example, 
-#     configs=win32,win32,x86 & linux,motif,x86
-# By default the value is *,*,*
-configs = win32, win32, x86
-#configs=win32, win32, x86 & \
-#	linux, gtk, ppc &\
-# linux, gtk, x86 & \
-#	linux, gtk, x86_64 & \
-#	linux, motif, x86 & \
-#	solaris, motif, sparc & \
-#	solaris, gtk, sparc & \
-#	aix, motif, ppc & \
-#	hpux, motif, PA_RISC & \
-#	macosx, carbon, ppc
-
-#Allow cycles involving at most one bundle that needs to be compiled with the rest being binary bundles.
-allowBinaryCycles = true
-
-# Type of build.  Used in naming the build output.  Typically this value is
-# one of I, N, M, S, ...
-buildType=I
-
-# ID of the build.  Used in naming the build output.
-buildId=TestBuild
-
-# Label for the build.  Used in naming the build output
-buildLabel=${buildType}.${buildId}
-
-# Timestamp for the build.  Used in naming the build output
-timestamp=007
-
-#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons)
-resolution.devMode=false
-
-skipBase=true
-skipMaps=true
-skipFetch=true
-
-
-############# JAVA COMPILER OPTIONS ##############
-# For this example:
-# We specify the JRE locations for CDC-1.1/Foundation-1.1 and J2SE-1.5
-# because these are the required execution environments defined for the 
-# bundles in the example. 
-
-# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
-#bootclasspath=${java.home}/lib/rt.jar
-
-# If using an IBM VM, use
-#bootclasspath=${java.home}/lib/core.jar;${java.home}/lib/vm.jar
-
-# specific JRE locations to compile against. These values are used to compile bundles specifying a 
-# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
-#CDC-1.0/Foundation-1.0= /path/to/rt.jar
-CDC-1.1/Foundation-1.1=${java.home}/lib/rt.jar
-#OSGi/Minimum-1.0=
-#OSGi/Minimum-1.1=
-#JRE-1.1=
-#J2SE-1.2=
-#J2SE-1.3=
-#J2SE-1.4=
-J2SE-1.5=${java.home}/lib/rt.jar
-#JavaSE-1.6=
-#PersonalJava-1.1=
-#PersonalJava-1.2=
-#CDC-1.0/PersonalBasis-1.0=
-#CDC-1.0/PersonalJava-1.0=
-#CDC-1.1/PersonalBasis-1.1=
-#CDC-1.1/PersonalJava-1.1=
-
-# Specify the output format of the compiler log when eclipse jdt is used
-logExtension=.log
-
-# Whether or not to include debug info in the output jars
-javacDebugInfo=false 
-
-# Whether or not to fail the build if there are compiler errors
-javacFailOnError=true
-
-# Enable or disable verbose mode of the compiler
-javacVerbose=true
-
-# Extra arguments for the compiler. These are specific to the java compiler being used.
-#compilerArg=
-
-# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
-#javacSource=1.3
-
-# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
-#javacTarget=1.1
-
-
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml
deleted file mode 100644
index 2f1b9a9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/buildProduct.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<project default="main">
-	<target name="main">
-		<property name="baseLocation" value="${eclipse.home}"/>
-		<!-- by default, check for deltapack co-located with eclipse -->
-		<property name="deltapack" value="${eclipse.home}/../deltapack/eclipse"/>
-
-		<!-- Check that we have a deltapack -->
-		<available property="haveDeltaPack" file="${deltapack}"/>
-		<fail unless="haveDeltaPack" message="The deltapack is required to build this product.  Please edit buildProduct.xml or set the &quot;deltapack&quot; property." />
-			
-		<property name="builder" value="${basedir}" />
-		<property name="buildDirectory" value="${basedir}/buildDirectory"/>
-		<property name="pluginPath" value="${basedir}/..${path.separator}${deltapack}" />
-		<property name="buildTempFolder" value="${buildDirectory}" />
-			
-		<ant antfile="${eclipse.pdebuild.scripts}/productBuild/productBuild.xml" />
-
-		<move todir="${basedir}">
-			<fileset dir="${buildDirectory}/I.TestBuild" includes="*.zip"/>
-		</move>
-
-		<!-- refresh the workspace -->
-		<eclipse.convertPath fileSystemPath="${basedir}" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/readme.txt b/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/readme.txt
deleted file mode 100644
index eb0d089..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud.releng/readme.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-This project is a releng builder for the org.eclipse.equinox.p2.examples.rcp.cloud project.
-
-1) This build requires 3.5M6 or later
-
-2) This build requires the deltapack.  By default it looks beside the eclipse install for "deltapack/eclipse/*".  
-   If your deltapack is located elsewhere, set the "deltapack" property or edit the buildProduct.xml file.  The
-   version of the deltapack used should match the version of the eclipse that is running.
-
-3) Due to bug 268867, if the buildDirectory/buildRepo is deleted/cleaned, then the repo must also be removed from 
-   the workspace Available Software Sites preferences.
-    
-4) Use the included launch config, or run buildProduct.xml as an ant build using the same JRE as the workspace
-
-5) The build.properties file specifically defines the JRE's for CDC-1.1/Foundation-1.1 and
-   J2SE-1.5 because these are the required bundle execution environments in the example.
-   The build should be run on a 1.5 VM.
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.classpath b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.project b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.project
deleted file mode 100644
index 9276cae..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.cloud</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 88da5d4..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Thu Mar 12 11:04:59 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/META-INF/MANIFEST.MF b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/META-INF/MANIFEST.MF
deleted file mode 100644
index 5796e75..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: RCP Mail (Cloud Update Example)
-Bundle-SymbolicName: org.eclipse.equinox.p2.examples.rcp.cloud; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.examples.rcp.cloud.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.operations;bundle-version="2.0.0",
- org.eclipse.equinox.p2.ui;bundle-version="2.0.0",
- org.eclipse.equinox.p2.metadata;bundle-version="1.0.0",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.extensionlocation;bundle-version="1.0.100",
- org.eclipse.equinox.p2.updatesite;bundle-version="1.0.0",
- org.eclipse.equinox.p2.director;bundle-version="1.0.100",
- org.eclipse.equinox.p2.engine;bundle-version="1.0.100",
- org.eclipse.equinox.p2.core;bundle-version="1.0.100",
- org.eclipse.ecf;bundle-version="3.0.0",
- org.eclipse.ecf.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.identity;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer.httpclient;bundle-version="3.0.0",
- org.apache.commons.codec;bundle-version="1.2.0",
- org.apache.commons.httpclient;bundle-version="3.0.1",
- org.eclipse.equinox.p2.ui.sdk.scheduler;bundle-version="1.0.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/build.properties
deleted file mode 100644
index 5c50a00..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               product_lg.gif,\
-               splash.bmp,\
-               plugin.properties
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/cloud.product b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/cloud.product
deleted file mode 100644
index 7e8413c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/cloud.product
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="RCP Mail Example (Cloud Update)" id="org.eclipse.equinox.p2.examples.rcp.cloud.product" application="org.eclipse.equinox.p2.examples.rcp.cloud.application" version="1.0.0.qualifier" useFeatures="false">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         RCP Mail template created by PDE
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/sample2.gif"/>
-
-   <splash
-      location="org.eclipse.equinox.p2.examples.rcp.cloud" />
-   <launcher name="cloud">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.cloud"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.repository"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.ui"/>
-      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-      <plugin id="org.eclipse.equinox.p2.updatechecker"/>
-      <plugin id="org.eclipse.equinox.p2.updatesite"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.ui"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/mail.ico b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.gif b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.icns b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample2.gif b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample3.gif b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/p2.inf b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/p2.inf
deleted file mode 100644
index 48f31a3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);\
-  addRepository(type:1,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.properties b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.properties
deleted file mode 100644
index cdf457c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-#
-# RCP Mail Plug-in Resources
-#
-Update.command=Check for Updates
-Update.command.mnemonic=U
-Install.command=Install New Software...
-Install.command.mnemonic=S
-installedSoftwarePage = Installed Software
-installHistoryPage = Installation History
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.xml b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.xml
deleted file mode 100644
index f708f9a..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/plugin.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.p2.examples.rcp.cloud.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="RCP Perspective"
-            class="org.eclipse.equinox.p2.examples.rcp.cloud.Perspective"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.cloud.View"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.cloud.NavigationView"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.cloud.category"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.cloud.category"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.cloud.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.cloud.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.examples.rcp.cloud.application"
-            name="RCP Mail Example (Cloud Update)">
-         <property
-               name="aboutText"
-               value="RCP Mail template created by PDE">
-         </property>
-         <property
-               name="windowImages"
-               value="icons/sample2.gif">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-      </product>
-   </extension>
-      <extension
-         point="org.eclipse.ui.installationPages">
-          <page
-            name="%installedSoftwarePage"
-            class="org.eclipse.equinox.internal.provisional.p2.ui.dialogs.InstalledSoftwarePage"
-            id="10.org.eclipse.equinox.p2.examples.rcp.cloud.InstalledSoftwarePage">
-          </page>
-          <page
-            name="%installHistoryPage"
-            class="org.eclipse.equinox.internal.provisional.p2.ui.dialogs.RevertProfilePage"
-            id="11.org.eclipse.equinox.p2.examples.rcp.cloud.RevertProfilePage">
-          </page>
-          
-      </extension>
-       <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%Update.command"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.command.update">
-      </command>
-      <command
-            name="%Install.command"
-            id="org.eclipse.equinox.p2.examples.rcp.cloud.command.install">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.handlers">
-      <handler
-            commandId="org.eclipse.equinox.p2.examples.rcp.cloud.command.update"
-            class="org.eclipse.equinox.p2.examples.rcp.cloud.p2.UpdateHandler">
-      </handler>
-      <handler
-            commandId="org.eclipse.equinox.p2.examples.rcp.cloud.command.install"
-            class="org.eclipse.equinox.p2.examples.rcp.cloud.p2.InstallNewSoftwareHandler">
-      </handler>
-   </extension>
-     <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:tools?after=additions">
-            <command
-                  commandId="org.eclipse.equinox.p2.examples.rcp.cloud.command.update"
-            	  mnemonic="%Update.command.mnemonic"
-                  id="org.eclipse.equinox.p2.examples.rcp.cloud.menu.update">
-            </command>
-                        
-      </menuContribution>
-      <menuContribution
-            locationURI="menu:tools?after=org.eclipse.equinox.p2.examples.rcp.cloud.menu.update">
-            <command
-                  commandId="org.eclipse.equinox.p2.examples.rcp.cloud.command.install"
-            	  mnemonic="%Install.command.mnemonic"
-                  id="org.eclipse.equinox.p2.examples.rcp.cloud.menu.install">
-            </command>
-      </menuContribution>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/product_lg.gif b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/splash.bmp b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Activator.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Activator.java
deleted file mode 100644
index c058947..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Activator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.equinox.p2.examples.rcp.cloud.p2.CloudPolicy;
-import org.eclipse.equinox.p2.ui.Policy;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.examples.rcp.cloud";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	ServiceRegistration policyRegistration;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		/// XXX register the p2 UI policy
-		registerP2Policy(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		// XXX unregister the UI policy
-		policyRegistration.unregister();
-		policyRegistration = null;
-		super.stop(context);
-		
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-	
-	private void registerP2Policy(BundleContext context) {
-		policyRegistration = context.registerService(Policy.class.getName(), new CloudPolicy(), null);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Application.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Application.java
deleted file mode 100644
index cf495c3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Application.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationActionBarAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 8064f40..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    // XXX we want to show preferences
-    private IWorkbenchAction preferencesAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-    public static final String M_TOOLS = "tools";
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        // XXX we want to show auto update preferences
-        preferencesAction = ActionFactory.PREFERENCES.create(window);
-        register(preferencesAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        // XXX add a tools menu
-        MenuManager toolsMenu = new MenuManager("&Tools", M_TOOLS);            
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        menuBar.add(toolsMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // XXX add preferences to tools
-        toolsMenu.add(preferencesAction);
-        // XXX add a group for new other tools contributions
-        toolsMenu.add(new Separator());
-        toolsMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 717a4fa..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return Perspective.ID;
-	} 
-	
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index a71e1b3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        // XXX Set the status line and progress indicator so that update
-        // information can be shown there
-        configurer.setShowStatusLine(true);
-		configurer.setShowProgressIndicator(true);
-
-    }
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ICommandIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ICommandIds.java
deleted file mode 100644
index 6bf884c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.equinox.p2.examples.rcp.cloud.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.equinox.p2.examples.rcp.cloud.openMessage";
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/MessagePopupAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/MessagePopupAction.java
deleted file mode 100644
index 85324ba..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.cloud.Activator.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/NavigationView.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/NavigationView.java
deleted file mode 100644
index c58a558..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.cloud.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java
deleted file mode 100644
index 317e073..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.cloud.Activator.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Perspective.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Perspective.java
deleted file mode 100644
index 63299ce..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/Perspective.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	/**
-	 * The ID of the perspective as specified in the extension.
-	 */
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.cloud.perspective";
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/View.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/View.java
deleted file mode 100644
index d215e5b..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.cloud;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.cloud.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/CloudPolicy.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/CloudPolicy.java
deleted file mode 100644
index c5b754f..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/CloudPolicy.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.cloud.p2;
-
-import org.eclipse.equinox.p2.ui.Policy;
-
-/**
- * CloudPolicy defines the RCP Cloud Example policies for the p2 UI. The policy
- * is registered as an OSGi service when the example bundle starts.
- * 
- * @since 3.5
- */
-public class CloudPolicy extends Policy {
-	public CloudPolicy() {
-		// XXX User has no visibility for repos
-		setRepositoriesVisible(false);
-		
-		// XXX Default view is by category
-		setGroupByCategory(true);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/InstallNewSoftwareHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/InstallNewSoftwareHandler.java
deleted file mode 100644
index a7e9b79..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/InstallNewSoftwareHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.cloud.p2;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-
-/**
- * InstallNewSoftwareHandler invokes the install wizard
- * 
- * @since 3.5
- */
-public class InstallNewSoftwareHandler extends PreloadingRepositoryHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public InstallNewSoftwareHandler() {
-		super();
-	}
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		getProvisioningUI().openInstallWizard(getShell(), null, null, job);
-	}
-
-	protected boolean waitForPreload() {
-		// If the user cannot see repositories, then we may as well wait
-		// for existing repos to load so that content is available.  
-		// If the user can manipulate the repositories, then we don't wait, 
-		// because we don't know which ones they want to work with.
-		return !getProvisioningUI().getPolicy().getRepositoriesVisible();
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		super.setLoadJobProperties(loadJob);
-		// If we are doing a background load, we do not wish to authenticate, as the
-		// user is unaware that loading was needed
-		if (!waitForPreload()) {
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_AUTHENTICATION_JOB_MARKER, Boolean.toString(true));
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_REPOSITORY_EVENTS, Boolean.toString(true));
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/PreloadingRepositoryHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/PreloadingRepositoryHandler.java
deleted file mode 100644
index 66aa00c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/PreloadingRepositoryHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.cloud.p2;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * PreloadingRepositoryHandler provides background loading of
- * repositories before executing the provisioning handler.
- * 
- * @since 3.5
- */
-abstract class PreloadingRepositoryHandler extends AbstractHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public PreloadingRepositoryHandler() {
-		// constructor
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public Object execute(ExecutionEvent event) {
-		doExecuteAndLoad();
-		return null;
-	}
-
-	void doExecuteAndLoad() {
-		if (preloadRepositories()) {
-			//cancel any load that is already running
-			Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY);
-			final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI());
-			setLoadJobProperties(loadJob);
-			if (waitForPreload()) {
-				loadJob.addJobChangeListener(new JobChangeAdapter() {
-					public void done(IJobChangeEvent event) {
-						if (PlatformUI.isWorkbenchRunning())
-							if (event.getResult().isOK()) {
-								PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-									public void run() {
-										doExecute(loadJob);
-									}
-								});
-							}
-					}
-				});
-				loadJob.setUser(true);
-				loadJob.schedule();
-
-			} else {
-				loadJob.setSystem(true);
-				loadJob.setUser(false);
-				loadJob.schedule();
-				doExecute(null);
-			}
-		} else {
-			doExecute(null);
-		}
-	}
-
-	protected abstract void doExecute(LoadMetadataRepositoryJob job);
-
-	protected boolean preloadRepositories() {
-		return true;
-	}
-
-	protected boolean waitForPreload() {
-		return true;
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		loadJob.setProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS, Boolean.toString(true));
-	}
-
-	protected ProvisioningUI getProvisioningUI() {
-		return ProvisioningUI.getDefaultUI();
-	}
-
-	/**
-	 * Return a shell appropriate for parenting dialogs of this handler.
-	 * @return a Shell
-	 */
-	protected Shell getShell() {
-		return getProvisioningUI().getDefaultParentShell();
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/UpdateHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/UpdateHandler.java
deleted file mode 100644
index 77db223..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.cloud/src/org/eclipse/equinox/p2/examples/rcp/cloud/p2/UpdateHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.cloud.p2;
-
-import org.eclipse.equinox.p2.operations.RepositoryTracker;
-import org.eclipse.equinox.p2.operations.UpdateOperation;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-
-/**
- * UpdateHandler invokes the check for updates UI
- * 
- * @since 3.4
- */
-public class UpdateHandler extends PreloadingRepositoryHandler {
-
-	boolean hasNoRepos = false;
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		if (hasNoRepos) {
-			return;
-		}
-		UpdateOperation operation = getProvisioningUI().getUpdateOperation(null, null);
-		// check for updates
-		operation.resolveModal(null);
-		if (getProvisioningUI().getPolicy().continueWorkingWithOperation(operation, getShell())) {
-			getProvisioningUI().openUpdateWizard(getShell(), true, operation, job);
-		}
-	}
-
-	protected boolean preloadRepositories() {
-		hasNoRepos = false;
-		RepositoryTracker repoMan = getProvisioningUI().getRepositoryTracker();
-		if (repoMan.getKnownRepositories(getProvisioningUI().getSession()).length == 0) {
-			hasNoRepos = true;
-			return false;
-		}
-		return super.preloadRepositories();
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/.project b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/.project
deleted file mode 100644
index 593704f..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/Build PrestartUpdate Example.launch b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/Build PrestartUpdate Example.launch
deleted file mode 100644
index d0ceb13..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/Build PrestartUpdate Example.launch
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml}"/>
-<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/build.properties
deleted file mode 100644
index 4435817..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/build.properties
+++ /dev/null
@@ -1,119 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 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
-###############################################################################
-product=/org.eclipse.equinox.p2.examples.rcp.prestartupdate/prestartupdate.product
-runPackager=true
-
-p2.gathering=true
-		p2.metadata.repo=file:${builder}/repository
-p2.artifact.repo=file:${builder}/repository
-
-#Set the name of the archive that will result from the product build.
-#archiveNamePrefix=
-
-# The prefix that will be used in the generated archive.
-archivePrefix=eclipse
-
-# The location underwhich all of the build output will be collected.
-collectingFolder=${archivePrefix}
-
-# The list of {os, ws, arch} configurations to build.  This 
-# value is a '&' separated list of ',' separate triples.  For example, 
-#     configs=win32,win32,x86 & linux,motif,x86
-# By default the value is *,*,*
-configs = win32, win32, x86
-#configs=win32, win32, x86 & \
-#	linux, gtk, ppc &\
-# linux, gtk, x86 & \
-#	linux, gtk, x86_64 & \
-#	linux, motif, x86 & \
-#	solaris, motif, sparc & \
-#	solaris, gtk, sparc & \
-#	aix, motif, ppc & \
-#	hpux, motif, PA_RISC & \
-#	macosx, carbon, ppc
-
-#Allow cycles involving at most one bundle that needs to be compiled with the rest being binary bundles.
-allowBinaryCycles = true
-
-# Type of build.  Used in naming the build output.  Typically this value is
-# one of I, N, M, S, ...
-buildType=I
-
-# ID of the build.  Used in naming the build output.
-buildId=TestBuild
-
-# Label for the build.  Used in naming the build output
-buildLabel=${buildType}.${buildId}
-
-# Timestamp for the build.  Used in naming the build output
-timestamp=007
-
-#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons)
-resolution.devMode=false
-
-skipBase=true
-skipMaps=true
-skipFetch=true
-
-
-############# JAVA COMPILER OPTIONS ##############
-# For this example:
-# We specify the JRE locations for CDC-1.1/Foundation-1.1 and J2SE-1.5
-# because these are the required execution environments defined for the 
-# bundles in the example. 
-
-# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
-#bootclasspath=${java.home}/lib/rt.jar
-
-# If using an IBM VM, use
-#bootclasspath=${java.home}/lib/core.jar;${java.home}/lib/vm.jar
-
-# specific JRE locations to compile against. These values are used to compile bundles specifying a 
-# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
-#CDC-1.0/Foundation-1.0= /path/to/rt.jar
-CDC-1.1/Foundation-1.1=${java.home}/lib/rt.jar
-#OSGi/Minimum-1.0=
-#OSGi/Minimum-1.1=
-#JRE-1.1=
-#J2SE-1.2=
-#J2SE-1.3=
-#J2SE-1.4=
-J2SE-1.5=${java.home}/lib/rt.jar
-#JavaSE-1.6=
-#PersonalJava-1.1=
-#PersonalJava-1.2=
-#CDC-1.0/PersonalBasis-1.0=
-#CDC-1.0/PersonalJava-1.0=
-#CDC-1.1/PersonalBasis-1.1=
-#CDC-1.1/PersonalJava-1.1=
-
-# Specify the output format of the compiler log when eclipse jdt is used
-logExtension=.log
-
-# Whether or not to include debug info in the output jars
-javacDebugInfo=false 
-
-# Whether or not to fail the build if there are compiler errors
-javacFailOnError=true
-
-# Enable or disable verbose mode of the compiler
-javacVerbose=true
-
-# Extra arguments for the compiler. These are specific to the java compiler being used.
-#compilerArg=
-
-# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
-#javacSource=1.3
-
-# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
-#javacTarget=1.1
-
-
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml
deleted file mode 100644
index 2f1b9a9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/buildProduct.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<project default="main">
-	<target name="main">
-		<property name="baseLocation" value="${eclipse.home}"/>
-		<!-- by default, check for deltapack co-located with eclipse -->
-		<property name="deltapack" value="${eclipse.home}/../deltapack/eclipse"/>
-
-		<!-- Check that we have a deltapack -->
-		<available property="haveDeltaPack" file="${deltapack}"/>
-		<fail unless="haveDeltaPack" message="The deltapack is required to build this product.  Please edit buildProduct.xml or set the &quot;deltapack&quot; property." />
-			
-		<property name="builder" value="${basedir}" />
-		<property name="buildDirectory" value="${basedir}/buildDirectory"/>
-		<property name="pluginPath" value="${basedir}/..${path.separator}${deltapack}" />
-		<property name="buildTempFolder" value="${buildDirectory}" />
-			
-		<ant antfile="${eclipse.pdebuild.scripts}/productBuild/productBuild.xml" />
-
-		<move todir="${basedir}">
-			<fileset dir="${buildDirectory}/I.TestBuild" includes="*.zip"/>
-		</move>
-
-		<!-- refresh the workspace -->
-		<eclipse.convertPath fileSystemPath="${basedir}" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/readme.txt b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/readme.txt
deleted file mode 100644
index e0ab34e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate.releng/readme.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-This project is a releng builder for the org.eclipse.equinox.p2.examples.rcp.prestartupdate project.
-
-1) This build requires 3.5M6 or later
-
-2) This build requires the deltapack.  By default it looks beside the eclipse install for "deltapack/eclipse/*".  
-   If your deltapack is located elsewhere, set the "deltapack" property or edit the buildProduct.xml file.  The
-   version of the deltapack used should match the version of the eclipse that is running.
-
-3) Due to bug 268867, if the buildDirectory/buildRepo is deleted/cleaned, then the repo must also be removed from 
-   the workspace Available Software Sites preferences.
-    
-4) Use the included launch config, or run buildProduct.xml as an ant build using the same JRE as the workspace
-
-5) The build.properties file specifically defines the JRE's for CDC-1.1/Foundation-1.1 and
-   J2SE-1.5 because these are the required bundle execution environments in the example.
-   The build should be run on a 1.5 VM.
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.classpath b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.project b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.project
deleted file mode 100644
index 1646bc9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.prestartupdate</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 337c464..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Mon Mar 16 12:12:08 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/META-INF/MANIFEST.MF b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/META-INF/MANIFEST.MF
deleted file mode 100644
index 6ee61c3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Prestartupdate
-Bundle-SymbolicName: org.eclipse.equinox.p2.examples.rcp.prestartupdate; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.examples.rcp.prestartupdate.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.core,
- org.eclipse.equinox.p2.metadata,
- org.eclipse.equinox.p2.operations,
- org.eclipse.ecf;bundle-version="3.0.0",
- org.eclipse.ecf.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.identity;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer.httpclient;bundle-version="3.0.0",
- org.apache.commons.codec;bundle-version="1.2.0",
- org.apache.commons.httpclient;bundle-version="3.0.1"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/build.properties
deleted file mode 100644
index bb09137..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               product_lg.gif,\
-               splash.bmp
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/mail.ico b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.gif b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.icns b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample2.gif b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample3.gif b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/p2.inf b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/p2.inf
deleted file mode 100644
index 24aefb4..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//www.eclipse.org/equinox/p2/demos);\
-  addRepository(type:1,location:http${#58}//www.eclipse.org/equinox/p2/demos);
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/plugin.xml b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/plugin.xml
deleted file mode 100644
index 283ed1d..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.p2.examples.rcp.prestartupdate.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="RCP Perspective"
-            class="org.eclipse.equinox.p2.examples.rcp.prestartupdate.Perspective"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.prestartupdate.View"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.prestartupdate.NavigationView"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.prestartupdate.category"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.prestartupdate.category"
-            id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.prestartupdate.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.prestartupdate.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.examples.rcp.prestartupdate.application"
-            name="RCP Product">
-         <property
-               name="aboutText"
-               value="RCP Mail template created by PDE">
-         </property>
-         <property
-               name="windowImages"
-               value="icons/sample2.gif">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/prestartupdate.product b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/prestartupdate.product
deleted file mode 100644
index 5e55b3e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/prestartupdate.product
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="RCP Mail Example (Pre-Startup Example)" id="org.eclipse.equinox.p2.examples.rcp.prestartupdate.product" application="org.eclipse.equinox.p2.examples.rcp.prestartupdate.application" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="true">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         RCP Mail Example (Pre-Startup Example)
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/sample2.gif"/>
-
-   <splash
-      location="org.eclipse.equinox.p2.examples.rcp.prestartupdate" />
-   <launcher name="prestartupdate">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="com.ibm.icu.source"/>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.prestartupdate"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.repository"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
-      <plugin id="org.eclipse.equinox.p2.updatesite"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.ui"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.prestartupdate" autoStart="true" startLevel="5" />
-   </configurations>
-
-</product>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/product_lg.gif b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/splash.bmp b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Activator.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Activator.java
deleted file mode 100644
index c08b4d7..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Activator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.examples.rcp.prestartupdate";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	// XXX Shared instance of bundle context
-	static BundleContext bundleContext;
-	
-	// XXX services for starting bundles
-	private static PackageAdmin packageAdmin = null;
-	private static ServiceReference packageAdminRef = null;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		bundleContext = context;
-		
-		packageAdminRef = bundleContext.getServiceReference(PackageAdmin.class.getName());
-		packageAdmin = (PackageAdmin) bundleContext.getService(packageAdminRef);
-
-		// XXX start up the p2 infrastructure.  Normally the p2 UI does
-		// this, but we are running without UI.
-		getBundle("org.eclipse.equinox.p2.exemplarysetup").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-		getBundle("org.eclipse.equinox.frameworkadmin.equinox").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-		getBundle("org.eclipse.equinox.simpleconfigurator.manipulator").start(Bundle.START_TRANSIENT); //$NON-NLS-1$
-
-	}
-	
-	private static Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null)
-			return null;
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-		if (bundles == null)
-			return null;
-		// Return the first bundle that is not installed or uninstalled
-		for (int i = 0; i < bundles.length; i++) {
-			if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-				return bundles[i];
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Application.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Application.java
deleted file mode 100644
index 0f180ee..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Application.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-
-	
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationActionBarAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 68f0ad7..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 2ebb4ff..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies the
- * perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-			IWorkbenchWindowConfigurer configurer) {
-		return new ApplicationWorkbenchWindowAdvisor(configurer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#preStartup()
-	 */
-	public void preStartup() {
-		// XXX check for updates before starting up.
-		// If an update is performed, restart.
-
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-				if (P2Util.checkForUpdates(monitor))
-					PlatformUI.getWorkbench().restart();
-			}
-		};
-		try {
-			new ProgressMonitorDialog(null).run(true, true, runnable);
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-		}
-	}
-
-	public String getInitialWindowPerspectiveId() {
-		return Perspective.ID;
-	}
-
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 2bb795c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        configurer.setShowStatusLine(false);
-    }
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ICommandIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ICommandIds.java
deleted file mode 100644
index 42a7455..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.equinox.p2.examples.rcp.prestartupdate.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.equinox.p2.examples.rcp.prestartupdate.openMessage";
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/MessagePopupAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/MessagePopupAction.java
deleted file mode 100644
index 2eb2ca9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.prestartupdate.Activator.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/NavigationView.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/NavigationView.java
deleted file mode 100644
index 77f69a2..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.prestartupdate.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/OpenViewAction.java
deleted file mode 100644
index b741fa9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.prestartupdate.Activator.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/P2Util.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/P2Util.java
deleted file mode 100644
index 404e33e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/P2Util.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- ******************************************************************************/
-
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.operations.ProvisioningJob;
-import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.operations.UpdateOperation;
-
-public class P2Util {
-	// XXX Check for updates to this application and return true if
-	// we have installed updates and need a restart.
-	static boolean checkForUpdates(IProgressMonitor monitor) {
-		IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper
-				.getService(Activator.bundleContext,
-						IProvisioningAgent.SERVICE_NAME);
-		if (agent == null)
-			return false;
-		ProvisioningSession session = new ProvisioningSession(agent);
-		// the default update operation looks for updates to the currently
-		// running profile, using the default profile root marker. To change
-		// which installable units are being updated, use the more detailed
-		// constructors.
-		UpdateOperation operation = new UpdateOperation(session);
-
-		SubMonitor sub = SubMonitor.convert(monitor,
-				"Checking for application updates...", 200);
-		IStatus status = operation.resolveModal(sub.newChild(100));
-		if (status.getSeverity() == IStatus.CANCEL)
-			throw new OperationCanceledException();
-		if (status.getSeverity() != IStatus.ERROR) {
-			ProvisioningJob job = operation.getProvisioningJob(null);
-			status = job.runModal(sub.newChild(100));
-			if (status.getSeverity() == IStatus.CANCEL)
-				throw new OperationCanceledException();
-			if (status.getSeverity() != IStatus.ERROR) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Perspective.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Perspective.java
deleted file mode 100644
index 244eca0..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/Perspective.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	/**
-	 * The ID of the perspective as specified in the extension.
-	 */
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.prestartupdate.perspective";
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/View.java b/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/View.java
deleted file mode 100644
index 38be316..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate/src/org/eclipse/equinox/p2/examples/rcp/prestartupdate/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.prestartupdate;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.prestartupdate.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.classpath b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.project b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.project
deleted file mode 100644
index 0b16359..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ds.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6f414e0..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Mon Mar 16 12:11:08 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/META-INF/MANIFEST.MF b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/META-INF/MANIFEST.MF
deleted file mode 100644
index 8f48754..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Sdkbundlevisibility
-Bundle-SymbolicName: org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.ds,
- org.eclipse.equinox.p2.operations;bundle-version="2.0.0",
- org.eclipse.equinox.p2.ui;bundle-version="2.0.0",
- org.eclipse.equinox.p2.metadata;bundle-version="1.0.0",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.extensionlocation;bundle-version="1.0.100",
- org.eclipse.equinox.p2.updatesite;bundle-version="1.0.0",
- org.eclipse.equinox.p2.director;bundle-version="1.0.100",
- org.eclipse.equinox.p2.engine;bundle-version="1.0.100",
- org.eclipse.equinox.p2.core;bundle-version="1.0.100",
- org.eclipse.ecf;bundle-version="3.0.0",
- org.eclipse.ecf.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.identity;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer.httpclient;bundle-version="3.0.0",
- org.apache.commons.codec;bundle-version="1.2.0",
- org.apache.commons.httpclient;bundle-version="3.0.1"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Service-Component: OSGI-INF/policy_component.xml
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/OSGI-INF/policy_component.xml b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/OSGI-INF/policy_component.xml
deleted file mode 100644
index adb20be..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/OSGI-INF/policy_component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.policy">
-   <implementation class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2.AllIUsAreVisiblePolicy"/>
-   <service>
-      <provide interface="org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy"/>
-   </service>
-   <property name="service.ranking" type="Integer" value="1000"/>
-</scr:component>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/build.properties
deleted file mode 100644
index 91db6ad..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               product_lg.gif,\
-               splash.bmp,\
-               plugin.properties,\
-               OSGI-INF/
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/mail.ico b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.icns b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample2.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample3.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/p2.inf b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/p2.inf
deleted file mode 100644
index 48f31a3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);\
-  addRepository(type:1,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.properties b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.properties
deleted file mode 100644
index 2dee9a5..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-#
-# RCP Mail Plug-in Resources
-#
-Update.command=Check for Updates
-Update.command.mnemonic=U
-Install.command=Install New Software...
-Install.command.mnemonic=S
-provisioningPrefPage = Install/Update
-sitesPrefPage = Available Software Sites
-installedSoftwarePage = Installed Software
-installHistoryPage = Installation History
-preferenceKeywords.general=automatic update schedule download site software install import bundle
-preferences=Update and Install Preferences
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.xml b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.xml
deleted file mode 100644
index 4847b0e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/plugin.xml
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="RCP Perspective"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Perspective"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.View"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.NavigationView"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.application"
-            name="RCP Product">
-         <property
-               name="aboutText"
-               value="RCP Mail template created by PDE">
-         </property>
-         <property
-               name="windowImages"
-               value="icons/sample2.gif">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-      </product>
-   </extension>
-     <extension
-         point="org.eclipse.ui.installationPages">
-          <page
-            name="%installedSoftwarePage"
-            class="org.eclipse.equinox.internal.provisional.p2.ui.dialogs.InstalledSoftwarePage"
-            id="10.org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.InstalledSoftwarePage">
-          </page>
-          <page
-            name="%installHistoryPage"
-            class="org.eclipse.equinox.internal.provisional.p2.ui.dialogs.RevertProfilePage"
-            id="11.org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.RevertProfilePage">
-          </page>
-          
-      </extension>
-       <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%Update.command"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.update">
-      </command>
-      <command
-            name="%Install.command"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.install">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.handlers">
-      <handler
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.update"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2.UpdateHandler">
-      </handler>
-      <handler
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.install"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2.InstallNewSoftwareHandler">
-      </handler>
-   </extension>
-     <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:tools?after=additions">
-            <command
-                  commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.update"
-            	  mnemonic="%Update.command.mnemonic"
-                  id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.menu.update">
-            </command>
-                        
-      </menuContribution>
-      <menuContribution
-            locationURI="menu:tools?after=org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.menu.update">
-            <command
-                  commandId="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.command.install"
-            	  mnemonic="%Install.command.mnemonic"
-                  id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.menu.install">
-            </command>
-      </menuContribution>
-   </extension>
-
-      <extension
-         point="org.eclipse.ui.preferencePages">
-              <page
-            name="%provisioningPrefPage"
-            class="org.eclipse.equinox.internal.p2.ui.sdk.prefs.ProvisioningPreferencePage"
-            id="org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage">
-            <keywordReference id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </page>
-      
-       <page
-            name="%sitesPrefPage"
-            category="org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"
-            class="org.eclipse.equinox.internal.provisional.p2.ui.dialogs.RepositoryManipulationPage"
-            id="org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage">
-            <keywordReference id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </page>
- 
-   </extension>
-
-      <extension
-   		point="org.eclipse.ui.keywords">
-      <keyword
-            label="%preferenceKeywords.general"
-            id="org.eclipse.equinox.p2.ui.sdk.updates.general"/>
-      </extension>
-      
-  	<extension 
-   		id="preferences" point="org.eclipse.core.runtime.preferences" name="%preferences">
-		<initializer class="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.PreferenceInitializer"/>
-	</extension>
-</plugin>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/product_lg.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/sdkbundlevisibility.product b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/sdkbundlevisibility.product
deleted file mode 100644
index 461b080..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/sdkbundlevisibility.product
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="RCP Mail Example (Bundle Visibility Update Example)" id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.product" application="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.application" version="1.0.0.qualifier" useFeatures="false">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         RCP Mail Example (Bundle Visibility Update Example)
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/sample2.gif"/>
-
-   <splash
-      location="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility" />
-   <launcher name="sdkbundlevisibility">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="aaa"/>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.ui"/>
-      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-      <plugin id="org.eclipse.equinox.p2.updatechecker"/>
-      <plugin id="org.eclipse.equinox.p2.updatesite"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.ui"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/splash.bmp b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Activator.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Activator.java
deleted file mode 100644
index 0141e95..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Application.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Application.java
deleted file mode 100644
index 2fb7972..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Application.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationActionBarAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 86b3594..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    // XXX we want to show preferences
-    private IWorkbenchAction preferencesAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-    public static final String M_TOOLS = "tools";
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        // XXX we want to show auto update preferences
-        preferencesAction = ActionFactory.PREFERENCES.create(window);
-        register(preferencesAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        // XXX add a tools menu
-        MenuManager toolsMenu = new MenuManager("&Tools", M_TOOLS);            
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        menuBar.add(toolsMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // XXX add preferences to tools
-        toolsMenu.add(preferencesAction);
-        toolsMenu.add(new Separator());
-        toolsMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index ce56de9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return Perspective.ID;
-	} 
-	
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 2f51293..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        // XXX Set the status line and progress indicator so that update
-        // information can be shown there
-        configurer.setShowStatusLine(true);
-		configurer.setShowProgressIndicator(true);
-
-    }
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ICommandIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ICommandIds.java
deleted file mode 100644
index 96e8172..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.openMessage";
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/MessagePopupAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/MessagePopupAction.java
deleted file mode 100644
index a9a83e9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Activator.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/NavigationView.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/NavigationView.java
deleted file mode 100644
index 87949a3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/OpenViewAction.java
deleted file mode 100644
index 162da81..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Activator.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Perspective.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Perspective.java
deleted file mode 100644
index 08aefe1..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/Perspective.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	/**
-	 * The ID of the perspective as specified in the extension.
-	 */
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.perspective";
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/View.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/View.java
deleted file mode 100644
index 66f6584..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/AllIUsAreVisiblePolicy.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/AllIUsAreVisiblePolicy.java
deleted file mode 100644
index 39dedad..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/AllIUsAreVisiblePolicy.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
-import org.eclipse.equinox.p2.ui.Policy;
-
-/**
- * AllIUsAreVisiblePolicy redefines the IU visibility.  In this
- * example, the policy is declared using OSGi declarative services.
- * The declaration is in the policy_component.xml file.
- * 
- * @since 3.5
- */
-public class AllIUsAreVisiblePolicy extends Policy {
-	public AllIUsAreVisiblePolicy() {
-		// XXX Use the pref-based repository manipulator
-		setRepositoryPreferencePageId(PreferenceConstants.PREF_PAGE_SITES);
-		
-		// XXX All available IU's should be shown, not just groups/features
-		setVisibleAvailableIUQuery(InstallableUnitQuery.ANY);
-		// XXX All installed IU's should be shown, not just the user-installed.
-		setVisibleInstalledIUQuery(InstallableUnitQuery.ANY);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/IProvSDKHelpContextIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/IProvSDKHelpContextIds.java
deleted file mode 100644
index eccbe35..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/IProvSDKHelpContextIds.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-/**
- * Help context ids for the P2 SDK
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * @since 3.4
- */
-
-public interface IProvSDKHelpContextIds {
-	// XXX Must match the id used in the help doc
-	public static final String PREFIX = "org.eclipse.equinox.p2.ui.sdk"; //$NON-NLS-1$
-
-	public static final String PROVISIONING_PREFERENCE_PAGE = PREFIX + "provisioning_preference_page_context"; //$NON-NLS-1$
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/InstallNewSoftwareHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/InstallNewSoftwareHandler.java
deleted file mode 100644
index 96e3758..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/InstallNewSoftwareHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-
-/**
- * InstallNewSoftwareHandler invokes the install wizard
- * 
- * @since 3.5
- */
-public class InstallNewSoftwareHandler extends PreloadingRepositoryHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public InstallNewSoftwareHandler() {
-		super();
-	}
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		getProvisioningUI().openInstallWizard(getShell(), null, null, job);
-	}
-
-	protected boolean waitForPreload() {
-		// If the user cannot see repositories, then we may as well wait
-		// for existing repos to load so that content is available.  
-		// If the user can manipulate the repositories, then we don't wait, 
-		// because we don't know which ones they want to work with.
-		return !getProvisioningUI().getPolicy().getRepositoriesVisible();
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		super.setLoadJobProperties(loadJob);
-		// If we are doing a background load, we do not wish to authenticate, as the
-		// user is unaware that loading was needed
-		if (!waitForPreload()) {
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_AUTHENTICATION_JOB_MARKER, Boolean.toString(true));
-			loadJob.setProperty(LoadMetadataRepositoryJob.SUPPRESS_REPOSITORY_EVENTS, Boolean.toString(true));
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/Messages.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/Messages.java
deleted file mode 100644
index 5a480f7..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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
- *******************************************************************************/
-
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2.messages"; //$NON-NLS-1$
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-	public static String UpdateHandler_NoSitesMessage;
-	public static String UpdateHandler_NoSitesTitle;
-	public static String ProvisioningPreferencePage_AlwaysOpenWizard;
-	public static String ProvisioningPreferencePage_BrowsingPrefsGroup;
-	public static String ProvisioningPreferencePage_ShowLatestVersions;
-	public static String ProvisioningPreferencePage_ShowAllVersions;
-	public static String ProvisioningPreferencePage_NeverOpenWizard;
-	public static String ProvisioningPreferencePage_OpenWizardIfInvalid;
-	public static String ProvisioningPreferencePage_PromptToOpenWizard;
-
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceConstants.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceConstants.java
deleted file mode 100644
index ea29eb8..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-/**
- * @since 3.4
- */
-public class PreferenceConstants {
-	public static final String PREF_PAGE_PROVISIONING = "org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"; //$NON-NLS-1$
-	public static final String PREF_PAGE_SITES = "org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage"; //$NON-NLS-1$
-	public static final String PREF_SHOW_LATEST_VERSION = "showLatestVersion"; //$NON-NLS-1$
-	public static final String PREF_OPEN_WIZARD_ON_ERROR_PLAN = "allowNonOKPlan"; //$NON-NLS-1$
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceInitializer.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceInitializer.java
deleted file mode 100644
index 858b04f..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreferenceInitializer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * @since 3.4
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		Preferences node = new DefaultScope().getNode("org.eclipse.equinox.p2.ui.sdk"); //$NON-NLS-1$
-		node.putBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION, true);
-		node.put(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.PROMPT);
-	}
-
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreloadingRepositoryHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreloadingRepositoryHandler.java
deleted file mode 100644
index 552bc3b..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/PreloadingRepositoryHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * PreloadingRepositoryHandler provides background loading of
- * repositories before executing the provisioning handler.
- * 
- * @since 3.5
- */
-abstract class PreloadingRepositoryHandler extends AbstractHandler {
-
-	/**
-	 * The constructor.
-	 */
-	public PreloadingRepositoryHandler() {
-		// constructor
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public Object execute(ExecutionEvent event) {
-		doExecuteAndLoad();
-		return null;
-	}
-
-	void doExecuteAndLoad() {
-		if (preloadRepositories()) {
-			//cancel any load that is already running
-			Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY);
-			final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI());
-			setLoadJobProperties(loadJob);
-			if (waitForPreload()) {
-				loadJob.addJobChangeListener(new JobChangeAdapter() {
-					public void done(IJobChangeEvent event) {
-						if (PlatformUI.isWorkbenchRunning())
-							if (event.getResult().isOK()) {
-								PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-									public void run() {
-										doExecute(loadJob);
-									}
-								});
-							}
-					}
-				});
-				loadJob.setUser(true);
-				loadJob.schedule();
-
-			} else {
-				loadJob.setSystem(true);
-				loadJob.setUser(false);
-				loadJob.schedule();
-				doExecute(null);
-			}
-		} else {
-			doExecute(null);
-		}
-	}
-
-	protected abstract void doExecute(LoadMetadataRepositoryJob job);
-
-	protected boolean preloadRepositories() {
-		return true;
-	}
-
-	protected boolean waitForPreload() {
-		return true;
-	}
-
-	protected void setLoadJobProperties(Job loadJob) {
-		loadJob.setProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS, Boolean.toString(true));
-	}
-
-	protected ProvisioningUI getProvisioningUI() {
-		return ProvisioningUI.getDefaultUI();
-	}
-
-	/**
-	 * Return a shell appropriate for parenting dialogs of this handler.
-	 * @return a Shell
-	 */
-	protected Shell getShell() {
-		return getProvisioningUI().getDefaultParentShell();
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/ProvisioningPreferencePage.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/ProvisioningPreferencePage.java
deleted file mode 100644
index b6cd2b8..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/ProvisioningPreferencePage.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.Activator;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Preference page for general provisioning preferences.
- * 
- * @since 3.4
- */
-
-public class ProvisioningPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Group browsingGroup, validateGroup;
-	private Button showLatestRadio, showAllRadio;
-	private Button alwaysShowFailedPlan, neverShowFailedPlan, promptOnFailedPlan;
-
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IProvSDKHelpContextIds.PROVISIONING_PREFERENCE_PAGE);
-
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		container.setLayout(layout);
-
-		// Group for show all versions vs. show latest
-		browsingGroup = new Group(container, SWT.NONE);
-		browsingGroup.setText(Messages.ProvisioningPreferencePage_BrowsingPrefsGroup);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		browsingGroup.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		browsingGroup.setLayoutData(gd);
-
-		showLatestRadio = new Button(browsingGroup, SWT.RADIO);
-		showLatestRadio.setText(Messages.ProvisioningPreferencePage_ShowLatestVersions);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		showLatestRadio.setLayoutData(gd);
-
-		showAllRadio = new Button(browsingGroup, SWT.RADIO);
-		showAllRadio.setText(Messages.ProvisioningPreferencePage_ShowAllVersions);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		showAllRadio.setLayoutData(gd);
-
-		//Group for validating a failed plan
-		validateGroup = new Group(container, SWT.NONE);
-		validateGroup.setText(Messages.ProvisioningPreferencePage_OpenWizardIfInvalid);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		validateGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		validateGroup.setLayoutData(gd);
-
-		alwaysShowFailedPlan = new Button(validateGroup, SWT.RADIO);
-		alwaysShowFailedPlan.setText(Messages.ProvisioningPreferencePage_AlwaysOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		alwaysShowFailedPlan.setLayoutData(gd);
-
-		neverShowFailedPlan = new Button(validateGroup, SWT.RADIO);
-		neverShowFailedPlan.setText(Messages.ProvisioningPreferencePage_NeverOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		neverShowFailedPlan.setLayoutData(gd);
-
-		promptOnFailedPlan = new Button(validateGroup, SWT.RADIO);
-		promptOnFailedPlan.setText(Messages.ProvisioningPreferencePage_PromptToOpenWizard);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		promptOnFailedPlan.setLayoutData(gd);
-
-		initialize();
-
-		Dialog.applyDialogFont(container);
-		return container;
-
-	}
-
-	private void initialize() {
-		Preferences pref = Activator.getDefault().getPluginPreferences();
-		showLatestRadio.setSelection(pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		showAllRadio.setSelection(!pref.getBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		String openWizard = pref.getString(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN);
-		alwaysShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.ALWAYS));
-		neverShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.NEVER));
-		promptOnFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.PROMPT));
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		Preferences pref = Activator.getDefault().getPluginPreferences();
-		showLatestRadio.setSelection(pref.getDefaultBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		showAllRadio.setSelection(!pref.getDefaultBoolean(PreferenceConstants.PREF_SHOW_LATEST_VERSION));
-		String openWizard = pref.getDefaultString(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN);
-		alwaysShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.ALWAYS));
-		neverShowFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.NEVER));
-		promptOnFailedPlan.setSelection(openWizard.equals(MessageDialogWithToggle.PROMPT));
-	}
-
-	public boolean performOk() {
-		Preferences pref = Activator.getDefault().getPluginPreferences();
-		pref.setValue(PreferenceConstants.PREF_SHOW_LATEST_VERSION, showLatestRadio.getSelection());
-		if (alwaysShowFailedPlan.getSelection())
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.ALWAYS);
-		else if (neverShowFailedPlan.getSelection())
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.NEVER);
-		else
-			pref.setValue(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN, MessageDialogWithToggle.PROMPT);
-
-		Activator.getDefault().savePluginPreferences();
-		return true;
-	}
-
-	public void init(IWorkbench workbench) {
-		// Nothing to do
-	}
-
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/UpdateHandler.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/UpdateHandler.java
deleted file mode 100644
index b9e2fcd..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/UpdateHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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
- *******************************************************************************/
-package org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility.p2;
-
-import org.eclipse.equinox.p2.operations.RepositoryTracker;
-import org.eclipse.equinox.p2.operations.UpdateOperation;
-import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * UpdateHandler invokes the check for updates UI
- * 
- * @since 3.4
- */
-public class UpdateHandler extends PreloadingRepositoryHandler {
-
-	boolean hasNoRepos = false;
-
-	protected void doExecute(LoadMetadataRepositoryJob job) {
-		if (hasNoRepos) {
-			if (getProvisioningUI().getPolicy().getRepositoriesVisible()) {
-				boolean goToSites = MessageDialog.openQuestion(getShell(), Messages.UpdateHandler_NoSitesTitle, Messages.UpdateHandler_NoSitesMessage);
-				if (goToSites) {
-					getProvisioningUI().manipulateRepositories(getShell());
-				}
-			}
-			return;
-		}
-		UpdateOperation operation = getProvisioningUI().getUpdateOperation(null, null);
-		// check for updates
-		operation.resolveModal(null);
-		if (getProvisioningUI().getPolicy().continueWorkingWithOperation(operation, getShell())) {
-			getProvisioningUI().openUpdateWizard(getShell(), true, operation, job);
-		}
-	}
-
-	protected boolean preloadRepositories() {
-		hasNoRepos = false;
-		RepositoryTracker repoMan = getProvisioningUI().getRepositoryTracker();
-		if (repoMan.getKnownRepositories(getProvisioningUI().getSession()).length == 0) {
-			hasNoRepos = true;
-			return false;
-		}
-		return super.preloadRepositories();
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/messages.properties b/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/messages.properties
deleted file mode 100644
index 3da5a90..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility/src/org/eclipse/equinox/p2/examples/rcp/sdkbundlevisibility/p2/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 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
-###############################################################################
-
-
-UpdateHandler_NoSitesMessage=There are no update sites to search.  Do you wish to open the "Available Software Sites" preferences?
-UpdateHandler_NoSitesTitle=No Updates Found
-ProvisioningPreferencePage_AlwaysOpenWizard=&Open the wizard anyway to review or change selections
-ProvisioningPreferencePage_BrowsingPrefsGroup=Browsing for updates
-ProvisioningPreferencePage_ShowLatestVersions=Show only the &latest versions of available software
-ProvisioningPreferencePage_ShowAllVersions=Show all &versions of available software
-ProvisioningPreferencePage_NeverOpenWizard=&Report the problems and do not open the wizard
-ProvisioningPreferencePage_OpenWizardIfInvalid=When software selected for an install wizard may not be compatible
-ProvisioningPreferencePage_PromptToOpenWizard=&Ask me what to do when it happens
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.classpath b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.project b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.project
deleted file mode 100644
index ca9f8bc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1fe1140..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Mon Mar 16 11:53:51 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/META-INF/MANIFEST.MF b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/META-INF/MANIFEST.MF
deleted file mode 100644
index d3eaf0c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Sdknoautoupdates
-Bundle-SymbolicName: org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.ui;bundle-version="1.0.100",
- org.eclipse.equinox.p2.metadata;bundle-version="1.0.0",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.extensionlocation;bundle-version="1.0.100",
- org.eclipse.equinox.p2.updatesite;bundle-version="1.0.0",
- org.eclipse.equinox.p2.director;bundle-version="1.0.100",
- org.eclipse.equinox.p2.engine;bundle-version="1.0.100",
- org.eclipse.equinox.p2.core;bundle-version="1.0.100",
- org.eclipse.ecf;bundle-version="3.0.0",
- org.eclipse.ecf.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.identity;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer.httpclient;bundle-version="3.0.0",
- org.apache.commons.codec;bundle-version="1.2.0",
- org.apache.commons.httpclient;bundle-version="3.0.1",
- org.eclipse.equinox.p2.ui.sdk;bundle-version="1.0.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/build.properties
deleted file mode 100644
index 4b6aaf2..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               product_lg.gif,\
-               splash.bmp
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/mail.ico b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.icns b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample2.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample3.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/p2.inf b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/p2.inf
deleted file mode 100644
index 48f31a3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);\
-  addRepository(type:1,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/plugin.xml b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/plugin.xml
deleted file mode 100644
index e786d29..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="RCP Perspective"
-            class="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.Perspective"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.View"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.NavigationView"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.application"
-            name="RCP Product">
-         <property
-               name="aboutText"
-               value="RCP Mail template created by PDE">
-         </property>
-         <property
-               name="windowImages"
-               value="icons/sample2.gif">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/product_lg.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/sdknoautoupdates.product b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/sdknoautoupdates.product
deleted file mode 100644
index 09e70ab..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/sdknoautoupdates.product
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="RCP Mail Example (No Automatic Updates)" id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.product" application="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.application" version="1.0.0.qualifier" useFeatures="false">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         RCP Mail Example (No Automatic Updates)
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/sample2.gif"/>
-
-   <splash
-      location="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates" />
-   <launcher name="sdknoautoupdates">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.ui"/>
-      <plugin id="org.eclipse.equinox.p2.ui.sdk"/>
-      <plugin id="org.eclipse.equinox.p2.updatesite"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.ui"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/splash.bmp b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Activator.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Activator.java
deleted file mode 100644
index c23f925..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Application.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Application.java
deleted file mode 100644
index 3279bab..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Application.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationActionBarAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 0794fc4..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    // XXX we want to show all update preferences
-    private IWorkbenchAction preferencesAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        //XXX preferences action
-        preferencesAction = ActionFactory.PREFERENCES.create(window);
-        register(preferencesAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        // XXX Window menu
-        MenuManager windowMenu = new MenuManager("&Window", IWorkbenchActionConstants.M_WINDOW);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // XXX Window menu
-        menuBar.add(windowMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // XXX Window menu
-        windowMenu.add(preferencesAction);
-        
-        // Help
-        // XXX add an additions group because this is what SDK UI expects
-        helpMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        helpMenu.add(new Separator());
-        helpMenu.add(aboutAction);
-
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 183ba01..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return Perspective.ID;
-	} 
-	
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 94a996d..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        // XXX We set the status line and progress indicator so that update
-        // information can be shown there
-        configurer.setShowStatusLine(true);
-		configurer.setShowProgressIndicator(true);
-    }
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ICommandIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ICommandIds.java
deleted file mode 100644
index 018fef1..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.openMessage";
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/MessagePopupAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/MessagePopupAction.java
deleted file mode 100644
index 09cf1f9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.Activator.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/NavigationView.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/NavigationView.java
deleted file mode 100644
index 8eeaa6e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/OpenViewAction.java
deleted file mode 100644
index e559179..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.Activator.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Perspective.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Perspective.java
deleted file mode 100644
index dbe205e..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/Perspective.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	/**
-	 * The ID of the perspective as specified in the extension.
-	 */
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.perspective";
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/View.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/View.java
deleted file mode 100644
index ec39948..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates/src/org/eclipse/equinox/p2/examples/rcp/sdknoautoupdates/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.classpath b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.project b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.project
deleted file mode 100644
index bdfbea8..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.examples.rcp.sdkui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0168ffa..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Mon Mar 16 11:26:17 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/META-INF/MANIFEST.MF b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/META-INF/MANIFEST.MF
deleted file mode 100644
index 58bab24..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: RCP Mail (SDK UI)
-Bundle-SymbolicName: org.eclipse.equinox.p2.examples.rcp.sdkui; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.equinox.p2.examples.rcp.sdkui.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.equinox.p2.ui;bundle-version="1.0.100",
- org.eclipse.equinox.p2.metadata;bundle-version="1.0.0",
- org.eclipse.equinox.p2.metadata.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.artifact.repository;bundle-version="1.0.0",
- org.eclipse.equinox.p2.extensionlocation;bundle-version="1.0.100",
- org.eclipse.equinox.p2.updatesite;bundle-version="1.0.0",
- org.eclipse.equinox.p2.director;bundle-version="1.0.100",
- org.eclipse.equinox.p2.engine;bundle-version="1.0.100",
- org.eclipse.equinox.p2.core;bundle-version="1.0.100",
- org.eclipse.ecf;bundle-version="3.0.0",
- org.eclipse.ecf.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.identity;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer;bundle-version="3.0.0",
- org.eclipse.ecf.provider.filetransfer.httpclient;bundle-version="3.0.0",
- org.apache.commons.codec;bundle-version="1.2.0",
- org.apache.commons.httpclient;bundle-version="3.0.1",
- org.eclipse.equinox.p2.ui.sdk;bundle-version="1.0.0",
- org.eclipse.equinox.p2.ui.sdk.scheduler;bundle-version="1.0.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/build.properties b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/build.properties
deleted file mode 100644
index 4b6aaf2..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               product_lg.gif,\
-               splash.bmp
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/mail.ico b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.icns b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample2.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample3.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/p2.inf b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/p2.inf
deleted file mode 100644
index 48f31a3..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/p2.inf
+++ /dev/null
@@ -1,3 +0,0 @@
-instructions.configure=\
-  addRepository(type:0,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);\
-  addRepository(type:1,location:http${#58}//www.eclipse.org/equinox/p2/testing/updateSite);
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/plugin.xml b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/plugin.xml
deleted file mode 100644
index 7dd5511..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.equinox.p2.examples.rcp.sdkui.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="RCP Perspective"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkui.Perspective"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkui.View"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.equinox.p2.examples.rcp.sdkui.NavigationView"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdkui.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.equinox.p2.examples.rcp.sdkui.category"
-            id="org.eclipse.equinox.p2.examples.rcp.sdkui.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkui.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.equinox.p2.examples.rcp.sdkui.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.equinox.p2.examples.rcp.sdkui.application"
-            name="RCP Product">
-         <property
-               name="aboutText"
-               value="RCP Mail template created by PDE">
-         </property>
-         <property
-               name="windowImages"
-               value="icons/sample2.gif">
-         </property>
-         <property
-               name="aboutImage"
-               value="product_lg.gif">
-         </property>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/product_lg.gif b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/sdkui.product b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/sdkui.product
deleted file mode 100644
index 4ce26a1..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/sdkui.product
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="RCP Mail Example (with p2 SDK UI)" id="org.eclipse.equinox.p2.examples.rcp.sdkui.product" application="org.eclipse.equinox.p2.examples.rcp.sdkui.application" version="1.0.0.qualifier" useFeatures="false">
-
-   <aboutInfo>
-      <image path="product_lg.gif"/>
-      <text>
-         RCP Mail Example (with p2 SDK UI)
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/sample2.gif"/>
-
-   <splash
-      location="org.eclipse.equinox.p2.examples.rcp.sdkui" />
-   <launcher name="sdkui">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="org.apache.commons.codec"/>
-      <plugin id="org.apache.commons.httpclient"/>
-      <plugin id="org.apache.commons.logging"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.ecf"/>
-      <plugin id="org.eclipse.ecf.filetransfer"/>
-      <plugin id="org.eclipse.ecf.identity"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
-      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin"/>
-      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-      <plugin id="org.eclipse.equinox.p2.core"/>
-      <plugin id="org.eclipse.equinox.p2.director"/>
-      <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
-      <plugin id="org.eclipse.equinox.p2.engine"/>
-      <plugin id="org.eclipse.equinox.p2.examples.rcp.sdkui"/>
-      <plugin id="org.eclipse.equinox.p2.exemplarysetup"/>
-      <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
-      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-      <plugin id="org.eclipse.equinox.p2.metadata"/>
-      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-      <plugin id="org.eclipse.equinox.p2.publisher"/>
-      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-      <plugin id="org.eclipse.equinox.p2.ui"/>
-      <plugin id="org.eclipse.equinox.p2.ui.sdk"/>
-      <plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-      <plugin id="org.eclipse.equinox.p2.updatechecker"/>
-      <plugin id="org.eclipse.equinox.p2.updatesite"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.equinox.security.ui"/>
-      <plugin id="org.eclipse.equinox.security.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
-      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.osgi.services"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.sat4j.core"/>
-      <plugin id="org.sat4j.pb"/>
-   </plugins>
-
-
-</product>
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/splash.bmp b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Activator.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Activator.java
deleted file mode 100644
index be08d5a..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.equinox.p2.examples.rcp.sdkui";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Application.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Application.java
deleted file mode 100644
index 333f4c6..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Application.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationActionBarAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 588f010..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    // XXX we want to show all update preferences
-    private IWorkbenchAction preferencesAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        //XXX preferences action
-        preferencesAction = ActionFactory.PREFERENCES.create(window);
-        register(preferencesAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        // XXX Window menu
-        MenuManager windowMenu = new MenuManager("&Window", IWorkbenchActionConstants.M_WINDOW);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // XXX Window menu
-        menuBar.add(windowMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // XXX Window menu
-        windowMenu.add(preferencesAction);
-        
-        // Help
-        // XXX add an additions group because this is what SDK UI expects
-        helpMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        helpMenu.add(new Separator());
-        helpMenu.add(aboutAction);
-
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index effefa1..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return Perspective.ID;
-	} 
-	
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 0391fe0..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        // XXX We set the status line and progress indicator so that update
-        // information can be shown there
-        configurer.setShowStatusLine(true);
-		configurer.setShowProgressIndicator(true);
-    }
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ICommandIds.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ICommandIds.java
deleted file mode 100644
index 1f4928f..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.equinox.p2.examples.rcp.sdkui.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.equinox.p2.examples.rcp.sdkui.openMessage";
-    
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/MessagePopupAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/MessagePopupAction.java
deleted file mode 100644
index 2237493..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdkui.Activator.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/NavigationView.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/NavigationView.java
deleted file mode 100644
index 5afca7c..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkui.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/OpenViewAction.java
deleted file mode 100644
index ea54ddf..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.sdkui.Activator.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Perspective.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Perspective.java
deleted file mode 100644
index d25e023..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/Perspective.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	/**
-	 * The ID of the perspective as specified in the extension.
-	 */
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkui.perspective";
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/View.java b/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/View.java
deleted file mode 100644
index 7a3b021..0000000
--- a/examples/org.eclipse.equinox.p2.examples.rcp.sdkui/src/org/eclipse/equinox/p2/examples/rcp/sdkui/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.equinox.p2.examples.rcp.sdkui;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.equinox.p2.examples.rcp.sdkui.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/features/org.eclipse.equinox.p2.sdk/.project b/features/org.eclipse.equinox.p2.sdk/.project
deleted file mode 100644
index e03ca7e..0000000
--- a/features/org.eclipse.equinox.p2.sdk/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.equinox.p2.sdk/build.properties b/features/org.eclipse.equinox.p2.sdk/build.properties
deleted file mode 100644
index 046530f..0000000
--- a/features/org.eclipse.equinox.p2.sdk/build.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 EclipseSource 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:
-#     EclipseSource - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,license.html,epl-v10.html,license.html,feature.properties
-
-generate.plugin@org.apache.commons.codec.source=org.apache.commons.codec
-generate.plugin@org.apache.commons.httpclient.source=org.apache.commons.httpclient
-generate.plugin@org.apache.commons.logging.source=org.apache.commons.logging
-generate.plugin@org.eclipse.ecf.filetransfer.source=org.eclipse.ecf.filetransfer
-generate.plugin@org.eclipse.ecf.identity.source=org.eclipse.ecf.identity
-generate.plugin@org.eclipse.ecf.provider.filetransfer.httpclient.source=org.eclipse.ecf.provider.filetransfer.httpclient
-generate.plugin@org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source=org.eclipse.ecf.provider.filetransfer.httpclient.ssl
-generate.plugin@org.eclipse.ecf.provider.filetransfer.source=org.eclipse.ecf.provider.filetransfer
-generate.plugin@org.eclipse.ecf.provider.filetransfer.ssl.source=org.eclipse.ecf.provider.filetransfer.ssl
-generate.plugin@org.eclipse.ecf.source=org.eclipse.ecf
-generate.plugin@org.eclipse.ecf.ssl.source=org.eclipse.ecf.ssl
-generate.plugin@org.eclipse.equinox.frameworkadmin.equinox.source=org.eclipse.equinox.frameworkadmin.equinox
-generate.plugin@org.eclipse.equinox.frameworkadmin.source=org.eclipse.equinox.frameworkadmin
-generate.plugin@org.eclipse.equinox.p2.artifact.repository.source=org.eclipse.equinox.p2.artifact.repository
-generate.plugin@org.eclipse.equinox.p2.console.source=org.eclipse.equinox.p2.console
-generate.plugin@org.eclipse.equinox.p2.core.source=org.eclipse.equinox.p2.core
-generate.plugin@org.eclipse.equinox.p2.director.app.source=org.eclipse.equinox.p2.director.app
-generate.plugin@org.eclipse.equinox.p2.director.source=org.eclipse.equinox.p2.director
-generate.plugin@org.eclipse.equinox.p2.directorywatcher.source=org.eclipse.equinox.p2.directorywatcher
-generate.plugin@org.eclipse.equinox.p2.engine.source=org.eclipse.equinox.p2.engine
-generate.plugin@org.eclipse.equinox.p2.exemplarysetup.source=org.eclipse.equinox.p2.exemplarysetup
-generate.plugin@org.eclipse.equinox.p2.extensionlocation.source=org.eclipse.equinox.p2.extensionlocation
-generate.plugin@org.eclipse.equinox.p2.garbagecollector.source=org.eclipse.equinox.p2.garbagecollector
-generate.plugin@org.eclipse.equinox.p2.installer.source=org.eclipse.equinox.p2.installer
-generate.plugin@org.eclipse.equinox.p2.jarprocessor.source=org.eclipse.equinox.p2.jarprocessor
-generate.plugin@org.eclipse.equinox.p2.metadata.generator.source=org.eclipse.equinox.p2.metadata.generator
-generate.plugin@org.eclipse.equinox.p2.metadata.repository.source=org.eclipse.equinox.p2.metadata.repository
-generate.plugin@org.eclipse.equinox.p2.metadata.source=org.eclipse.equinox.p2.metadata
-generate.plugin@org.eclipse.equinox.p2.publisher.source=org.eclipse.equinox.p2.publisher
-generate.plugin@org.eclipse.equinox.p2.ql.source=org.eclipse.equinox.p2.ql
-generate.plugin@org.eclipse.equinox.p2.reconciler.dropins.source=org.eclipse.equinox.p2.reconciler.dropins
-generate.plugin@org.eclipse.equinox.p2.repository.source=org.eclipse.equinox.p2.repository
-generate.plugin@org.eclipse.equinox.p2.repository.tools.source=org.eclipse.equinox.p2.repository.tools
-generate.plugin@org.eclipse.equinox.p2.touchpoint.eclipse.source=org.eclipse.equinox.p2.touchpoint.eclipse
-generate.plugin@org.eclipse.equinox.p2.touchpoint.natives.source=org.eclipse.equinox.p2.touchpoint.natives
-generate.plugin@org.eclipse.equinox.p2.ui.admin.rcp.source=org.eclipse.equinox.p2.ui.admin.rcp
-generate.plugin@org.eclipse.equinox.p2.ui.admin.source=org.eclipse.equinox.p2.ui.admin
-generate.plugin@org.eclipse.equinox.p2.ui.sdk.scheduler.source=org.eclipse.equinox.p2.ui.sdk.scheduler
-generate.plugin@org.eclipse.equinox.p2.ui.sdk.source=org.eclipse.equinox.p2.ui.sdk
-generate.plugin@org.eclipse.equinox.p2.ui.source=org.eclipse.equinox.p2.ui
-generate.plugin@org.eclipse.equinox.p2.updatechecker.source=org.eclipse.equinox.p2.updatechecker
-generate.plugin@org.eclipse.equinox.p2.updatesite.source=org.eclipse.equinox.p2.updatesite
-generate.plugin@org.eclipse.equinox.simpleconfigurator.manipulator.source=org.eclipse.equinox.simpleconfigurator.manipulator
-generate.plugin@org.eclipse.equinox.simpleconfigurator.source=org.eclipse.equinox.simpleconfigurator
diff --git a/features/org.eclipse.equinox.p2.sdk/epl-v10.html b/features/org.eclipse.equinox.p2.sdk/epl-v10.html
deleted file mode 100755
index ed4b196..0000000
--- a/features/org.eclipse.equinox.p2.sdk/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.equinox.p2.sdk/feature.properties b/features/org.eclipse.equinox.p2.sdk/feature.properties
deleted file mode 100755
index 9ab876c..0000000
--- a/features/org.eclipse.equinox.p2.sdk/feature.properties
+++ /dev/null
@@ -1,147 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 EclipseSource 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:
-#     EclipseSource - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Equinox p2 SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Equinox Project
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Equinox Project Repository
-
-# "description" property - description of the feature
-description=All of the bundles and source that comprise the Equinox p2 provisioning platform. \n\
-This feature includes the corresponding source and is intended \
-to be added to target platforms at development time rather than \
-deployed with end-user systems.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 EclipseSource and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    EclipseSource - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.equinox.p2.sdk/feature.xml b/features/org.eclipse.equinox.p2.sdk/feature.xml
deleted file mode 100644
index cecb807..0000000
--- a/features/org.eclipse.equinox.p2.sdk/feature.xml
+++ /dev/null
@@ -1,660 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.p2.sdk"
-      label="%featureName"
-      version="3.5.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.apache.commons.codec"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.codec.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.httpclient"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.httpclient.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director.app"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director.app.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.directorywatcher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.directorywatcher.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.extensionlocation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.extensionlocation.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.installer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.installer.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.generator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.generator.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.publisher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.publisher.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.reconciler.dropins"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.reconciler.dropins.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.tools"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.tools.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin.rcp"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin.rcp.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk.scheduler"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk.scheduler.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatechecker"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatechecker.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatesite"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatesite.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.ssl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.ssl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.pb"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.operations"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ql"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.equinox.p2.sdk/license.html b/features/org.eclipse.equinox.p2.sdk/license.html
deleted file mode 100755
index c6af966..0000000
--- a/features/org.eclipse.equinox.p2.sdk/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/.project b/org.eclipse.equinox.p2.releng/.project
deleted file mode 100644
index 5383151..0000000
--- a/org.eclipse.equinox.p2.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/HOW TO RUN.txt b/org.eclipse.equinox.p2.releng/HOW TO RUN.txt
deleted file mode 100644
index 4db026a..0000000
--- a/org.eclipse.equinox.p2.releng/HOW TO RUN.txt
+++ /dev/null
@@ -1 +0,0 @@
-See http://wiki.eclipse.org/Equinox_Provisioning_Getting_Started
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/Provisioning base.target b/org.eclipse.equinox.p2.releng/Provisioning base.target
deleted file mode 100644
index a2b01aa..0000000
--- a/org.eclipse.equinox.p2.releng/Provisioning base.target
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.2"?>
-
-<target name="Provisioning base">
-
-   <location path="d:\targets\provisioning-base"/>
-
-   <content>
-      <plugins>
-         <plugin id="org.eclipse.core.jobs"/>
-         <plugin id="org.eclipse.equinox.app"/>
-         <plugin id="org.eclipse.equinox.common"/>
-         <plugin id="org.eclipse.equinox.launcher"/>
-         <plugin id="org.eclipse.equinox.registry"/>
-         <plugin id="org.eclipse.osgi"/>
-         <plugin id="org.eclipse.osgi.services"/>
-         <plugin id="org.junit"/>
-      </plugins>
-      <features>
-      </features>
-      <extraLocations>
-         <location path="D:\targets\equinox\eclipse"/>
-      </extraLocations>
-   </content>
-
-</target>
diff --git a/org.eclipse.equinox.p2.releng/R3_6_api_cleanup_projectSet.psf b/org.eclipse.equinox.p2.releng/R3_6_api_cleanup_projectSet.psf
deleted file mode 100644
index 3b7dcd6..0000000
--- a/org.eclipse.equinox.p2.releng/R3_6_api_cleanup_projectSet.psf
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.frameworkadmin,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.frameworkadmin.equinox,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.test,org.eclipse.equinox.frameworkadmin.test,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/incubator/p2/bundles/org.eclipse.equinox.p2.afterthefact,org.eclipse.equinox.p2.afterthefact,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature,org.eclipse.equinox.p2.agent.feature,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.optimizers,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.processors,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.artifact.repository,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.common,org.eclipse.equinox.p2.common,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.console,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.core,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/incubator/p2/bundles/org.eclipse.equinox.p2.diagnostic,org.eclipse.equinox.p2.diagnostic,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.director.app,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.directorywatcher,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.engine,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.p2.exemplarysetup,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.extensionlocation,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.garbagecollector,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.installer,org.eclipse.equinox.p2.installer,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.jarprocessor,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.metadata.generator,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.metadata.repository,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.operations,org.eclipse.equinox.p2.operations,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/incubator/p2/bundles/org.eclipse.equinox.p2.profile.recovery,org.eclipse.equinox.p2.profile.recovery"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.reconciler.dropins,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/org.eclipse.equinox.p2.releng,org.eclipse.equinox.p2.releng,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.repository.tools,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.sar,org.eclipse.equinox.p2.sar,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests,org.eclipse.equinox.p2.tests,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.optimizers,org.eclipse.equinox.p2.tests.optimizers,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui,org.eclipse.equinox.p2.tests.ui,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.verifier,org.eclipse.equinox.p2.tests.verifier,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.testserver,org.eclipse.equinox.p2.testserver,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.eclipse,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.touchpoint.natives,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/incubator/p2/bundles/org.eclipse.equinox.p2.touchpoint.osgi,org.eclipse.equinox.p2.touchpoint.osgi,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.admin.rcp,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.ui.sdk,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler,org.eclipse.equinox.p2.ui.sdk.scheduler,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatechecker,org.eclipse.equinox.p2.updatechecker,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.updatesite,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/incubator/p2/bundles/org.eclipse.equinox.p2.weblistener,org.eclipse.equinox.p2.weblistener,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.simpleconfigurator,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.simpleconfigurator.manipulator,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ql,org.eclipse.equinox.p2.ql"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.releng,org.eclipse.releng,R3_6_api_cleanup"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.core.tests.harness,org.eclipse.core.tests.harness"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.test.performance,org.eclipse.test.performance"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http,org.eclipse.equinox.http"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff,ie.wombat.jbdiff"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff.test,ie.wombat.jbdiff.test"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.sar,org.eclipse.equinox.p2.sar"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.easymock,org.easymock,v2_4"/>
-</provider>
-</psf>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
deleted file mode 100644
index 7d1eaed..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.agent.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
deleted file mode 100644
index 40ba61a..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-bin.includes = feature.xml,epl-v10.html,feature.properties
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/epl-v10.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.properties
deleted file mode 100644
index 5080f8e..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.properties
+++ /dev/null
@@ -1,125 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Equinox p2 Agent feature 
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "description" property - description of the feature
-description=p2 Agent
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2008, 2009 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
deleted file mode 100644
index 63ec9a5..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/feature.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.p2.agent.feature"
-      label="%featureName"
-      provider-name="%providerName"
-      version="1.0.100.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-
-   <requires>
-      <import plugin="org.eclipse.ecf" version="3.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.filetransfer" version="3.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.identity" version="3.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.provider.filetransfer" version="3.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.provider.filetransfer.httpclient" version="3.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
-      <import plugin="org.apache.commons.codec" version="1.3.0" match="compatible"/>
-      <import plugin="org.apache.commons.httpclient" version="3.1.0" match="compatible"/>
-   </requires>
-   
-   <plugin
-         id="org.eclipse.equinox.p2.director"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.admin.rcp"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatechecker"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.generator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatesite"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.pb"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.publisher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.tools"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/license.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.agent.feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
deleted file mode 100644
index 8c3f5e3..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.director.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
deleted file mode 100644
index 40ba61a..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 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
-###############################################################################
-bin.includes = feature.xml,epl-v10.html,feature.properties
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/epl-v10.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.properties
deleted file mode 100644
index 42ba844..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.properties
+++ /dev/null
@@ -1,125 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Equinox p2 director feature 
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "description" property - description of the feature
-description=Equinox p2 director
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2008, 2009 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
deleted file mode 100644
index 30feb71..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/feature.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.p2.director.feature"
-      version="1.0.100.qualifier"
-       label="%featureName"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director.app"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.pb"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/license.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.director.feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
deleted file mode 100644
index f062146..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.generator.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
deleted file mode 100644
index 80e7c57..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 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
-###############################################################################
-bin.includes = feature.xml,epl-v10.html,feature.properties
-customBuildCallbacks=customBuildCallbacks.xml
-customBuildCallbacks.inheritall=true
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
deleted file mode 100644
index d04cc19..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/customBuildCallbacks.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.bin.parts                        -->
-	<!-- Available parameters :                                                -->
-	<!--  destination.temp.folder - the directory plugins will be collected to -->
-	<!--  feature.directory - the directory containing the resulting feature   -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.bin.parts">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--  destination.temp.folder - the directory plugins will be collected to -->
-	<!--  feature.directory - the directory containing the resulting feature   -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-		<!-- load the properties file to get the bundle versions -->
-		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
-		<!-- zip up the simple.configurator into the generator bundle -->
-		<zip 
-			basedir="${destination.temp.folder}/org.eclipse.equinox.simpleconfigurator_${org.eclipse.equinox.simpleconfigurator}"
-			destfile="${destination.temp.folder}/org.eclipse.equinox.p2.metadata.generator_${org.eclipse.equinox.p2.metadata.generator}/org.eclipse.equinox.simpleconfigurator.jar">
-		</zip>
-	</target>
-
-</project>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/epl-v10.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.properties
deleted file mode 100644
index d4b56fb..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.properties
+++ /dev/null
@@ -1,125 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Equinox p2 generator feature 
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "description" property - description of the feature
-description=Equinox p2 Generator feature
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2008, 2009 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
deleted file mode 100644
index 660d171..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/feature.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.p2.generator.feature"
-      version="1.0.100.qualifier"
-       label="%featureName"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.generator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.pb"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.publisher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/license.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.generator.feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/.project b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/.project
deleted file mode 100644
index 14cf063..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.equinox.p2.user.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/build.properties
deleted file mode 100644
index 9e53b4e..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-bin.includes = feature.xml,\
-               license.html,\
-               epl-v10.html,\
-               feature.properties,\
-               eclipse_update_120.jpg
-src.includes = license.html,epl-v10.html
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/eclipse_update_120.jpg b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/epl-v10.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.properties
deleted file mode 100644
index 1a8429d..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.properties
+++ /dev/null
@@ -1,128 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Equinox p2 Provisioning 
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse Provisioning Platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2008, 2009 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.xml b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.xml
deleted file mode 100644
index de53e93..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/feature.xml
+++ /dev/null
@@ -1,332 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.equinox.p2.user.ui"
-      label="%featureName"
-      version="1.2.0.qualifier"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.jarprocessor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.artifact.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.exemplarysetup"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.eclipse"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.touchpoint.natives"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.frameworkadmin.equinox"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.simpleconfigurator.manipulator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.ui.sdk.scheduler"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatechecker"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.garbagecollector"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.directorywatcher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.reconciler.dropins"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.generator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.updatesite"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.sat4j.pb"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.extensionlocation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.director.app"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.publisher"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.tools"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.codec"
-         download-size="0"
-         install-size="0"
-         version="1.3.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.httpclient"
-         download-size="0"
-         install-size="0"
-         version="3.1.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.operations"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/license.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/license.html
deleted file mode 100644
index c6af966..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/build.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/build.properties
deleted file mode 100644
index 5278417..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 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
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/eclipse_update_120.jpg b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/epl-v10.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/feature.properties b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 6fd1487..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse p2 Provisioning Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Source code for the Equinox provisioning platform
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2008, 2009 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/license.html b/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/org.eclipse.equinox.p2.releng/buildtime-features/org.eclipse.equinox.p2.user.ui/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.equinox.p2.releng/ecf.psf b/org.eclipse.equinox.p2.releng/ecf.psf
deleted file mode 100644
index 15aa7df..0000000
--- a/org.eclipse.equinox.p2.releng/ecf.psf
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf,org.eclipse.ecf"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf.filetransfer,org.eclipse.ecf.filetransfer"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf.identity,org.eclipse.ecf.identity"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/providers/bundles/org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient,org.eclipse.ecf.provider.filetransfer.httpclient"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient.ssl,org.eclipse.ecf.provider.filetransfer.httpclient.ssl"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/providers/bundles/org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.provider.filetransfer.ssl"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf.ssl,org.eclipse.ecf.ssl"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/components/bundles/org.eclipse.equinox.concurrent,org.eclipse.equinox.concurrent"/>
-
-<project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.codec,org.apache.commons.codec,v1_2_0"/>
-<project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.httpclient,org.apache.commons.httpclient,v3_0_1"/>
-<project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.logging,org.apache.commons.logging,v1_0_4"/>
-</provider>
-</psf>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/mylyn-discovery.psf b/org.eclipse.equinox.p2.releng/mylyn-discovery.psf
deleted file mode 100644
index 1f96481..0000000
--- a/org.eclipse.equinox.p2.releng/mylyn-discovery.psf
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.codec,org.apache.commons.codec,v1_3"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.discovery,org.apache.commons.discovery,v0_2_0"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.httpclient,org.apache.commons.httpclient,v3_1_0"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.lang,org.apache.commons.lang,v2_3"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.apache.commons.logging,org.apache.commons.logging,v1_0_4"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.commons.core,org.eclipse.mylyn.commons.core"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.commons.net,org.eclipse.mylyn.commons.net"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.commons.ui,org.eclipse.mylyn.commons.ui"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.discovery.core,org.eclipse.mylyn.discovery.core"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.discovery.tests,org.eclipse.mylyn.discovery.tests"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.mylyn/org.eclipse.mylyn.discovery.ui,org.eclipse.mylyn.discovery.ui"/>
-</provider>
-</psf>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/p2_users_R_3_6_api_cleanup_projectSet.psf b/org.eclipse.equinox.p2.releng/p2_users_R_3_6_api_cleanup_projectSet.psf
deleted file mode 100644
index d1774ff..0000000
--- a/org.eclipse.equinox.p2.releng/p2_users_R_3_6_api_cleanup_projectSet.psf
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,pde/ui/org.eclipse.pde.core,org.eclipse.pde.core,R3_6_p2_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,pde/ui/org.eclipse.pde.ui,org.eclipse.pde.ui,R3_6_p2_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,pde/ui/org.eclipse.pde.ui.tests,org.eclipse.pde.ui.tests,R3_6_p2_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,pde/build/org.eclipse.pde.build,org.eclipse.pde.build,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,pde/build/org.eclipse.pde.build.tests,org.eclipse.pde.build.tests,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.ui.ide,org.eclipse.ui.ide,R3_6_p2_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/examples/org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/examples/org.eclipse.equinox.p2.examples.rcp.cloud,org.eclipse.equinox.p2.examples.rcp.cloud,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/examples/org.eclipse.equinox.p2.examples.rcp.prestartupdate,org.eclipse.equinox.p2.examples.rcp.prestartupdate,R3_6_api_cleanup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/webtools,servertools/plugins/org.eclipse.wst.server.discovery,org.eclipse.wst.server.discovery,HEAD"/>
-</provider>
-</psf>
\ No newline at end of file
diff --git a/org.eclipse.equinox.p2.releng/projectSet-extssh.psf b/org.eclipse.equinox.p2.releng/projectSet-extssh.psf
deleted file mode 100644
index a97d4fa..0000000
--- a/org.eclipse.equinox.p2.releng/projectSet-extssh.psf
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.jarprocessor"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.director.app"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.directorywatcher"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.eclipse"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.engine"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.installer,org.eclipse.equinox.p2.installer"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.console"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.touchpoint.natives"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests,org.eclipse.equinox.p2.tests"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.optimizers,org.eclipse.equinox.p2.tests.optimizers"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui,org.eclipse.equinox.p2.tests.ui"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.verifier,org.eclipse.equinox.p2.tests.verifier"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.testserver,org.eclipse.equinox.p2.testserver"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.p2.exemplarysetup"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.garbagecollector"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.reconciler.dropins"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.core"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/org.eclipse.equinox.p2.releng,org.eclipse.equinox.p2.releng"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.metadata.generator"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.optimizers"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.processors"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.artifact.repository"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.metadata.repository"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ql,org.eclipse.equinox.p2.ql"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.repository.tools"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.ui.sdk"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler,org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.admin.rcp"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatechecker,org.eclipse.equinox.p2.updatechecker"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.updatesite"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.extensionlocation"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.simpleconfigurator"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.simpleconfigurator.manipulator"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.frameworkadmin"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.frameworkadmin.equinox"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.test,org.eclipse.equinox.frameworkadmin.test"/>
-
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.core.tests.harness,org.eclipse.core.tests.harness"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.test.performance,org.eclipse.test.performance"/>
-
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http,org.eclipse.equinox.http"/>
-
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff,ie.wombat.jbdiff"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff.test,ie.wombat.jbdiff.test"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.sar,org.eclipse.equinox.p2.sar"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.sat4j.core,org.sat4j.core_v2.1.1,v2_1_1"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.sat4j.pb,org.sat4j.pb_v2.1.1,v2_1_1"/>
-<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.easymock,org.easymock,v2_4"/>
-
-</provider>
-</psf>
diff --git a/org.eclipse.equinox.p2.releng/projectSet.psf b/org.eclipse.equinox.p2.releng/projectSet.psf
deleted file mode 100644
index 0258006..0000000
--- a/org.eclipse.equinox.p2.releng/projectSet.psf
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<psf version="2.0">
-<provider id="org.eclipse.team.cvs.core.cvsnature">
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.jarprocessor"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.director.app"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.directorywatcher,org.eclipse.equinox.p2.directorywatcher"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.eclipse"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.engine"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.installer,org.eclipse.equinox.p2.installer"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.console,org.eclipse.equinox.p2.console"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.touchpoint.natives"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests,org.eclipse.equinox.p2.tests"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui,org.eclipse.equinox.p2.tests.ui"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.verifier,org.eclipse.equinox.p2.tests.verifier"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.optimizers,org.eclipse.equinox.p2.tests.optimizers"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.testserver,org.eclipse.equinox.p2.testserver"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.exemplarysetup,org.eclipse.equinox.p2.exemplarysetup"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.garbagecollector"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.reconciler.dropins"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.core"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/org.eclipse.equinox.p2.releng,org.eclipse.equinox.p2.releng"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.generator,org.eclipse.equinox.p2.metadata.generator"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.optimizers"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.processors"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.artifact.repository"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.metadata.repository"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ql,org.eclipse.equinox.p2.ql"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.repository.tools"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui,org.eclipse.equinox.p2.ui"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.admin"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk,org.eclipse.equinox.p2.ui.sdk"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler,org.eclipse.equinox.p2.ui.sdk.scheduler"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.ui.admin.rcp"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatechecker,org.eclipse.equinox.p2.updatechecker"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.updatesite"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.extensionlocation,org.eclipse.equinox.p2.extensionlocation"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.frameworkadmin.equinox"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.frameworkadmin"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.test,org.eclipse.equinox.frameworkadmin.test"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.simpleconfigurator.manipulator"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.simpleconfigurator"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.core.tests.harness,org.eclipse.core.tests.harness"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.test.performance,org.eclipse.test.performance"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http,org.eclipse.equinox.http"/>
-
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff,ie.wombat.jbdiff"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/ie.wombat.jbdiff.test,ie.wombat.jbdiff.test"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.sar,org.eclipse.equinox.p2.sar"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.sat4j.core,org.sat4j.core_v2.1.1,v2_1_1"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.sat4j.pb,org.sat4j.pb_v2.1.1,v2_1_1"/>
-<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/org.easymock,org.easymock,v2_4"/>
-
-</provider>
-</psf>